@paperless/angular 0.1.0-alpha.26 → 0.1.0-alpha.260

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 (98) hide show
  1. package/README.md +9 -1
  2. package/esm2020/lib/animations/index.mjs +2 -0
  3. package/esm2020/lib/animations/slide.mjs +20 -0
  4. package/esm2020/lib/base/index.mjs +2 -1
  5. package/esm2020/lib/base/upload.component.mjs +57 -0
  6. package/esm2020/lib/base/value-accessor.mjs +8 -8
  7. package/esm2020/lib/directives/index.mjs +12 -4
  8. package/esm2020/lib/directives/p-page-size-select.directive.mjs +42 -0
  9. package/esm2020/lib/directives/p-pagination.directive.mjs +42 -0
  10. package/esm2020/lib/directives/p-select.directive.mjs +38 -0
  11. package/esm2020/lib/modules/index.mjs +6 -0
  12. package/esm2020/lib/modules/table/base/form.component.mjs +105 -0
  13. package/esm2020/lib/modules/table/base/index.mjs +3 -0
  14. package/esm2020/lib/modules/table/base/table.component.mjs +201 -0
  15. package/esm2020/lib/modules/table/components/index.mjs +8 -0
  16. package/esm2020/lib/modules/table/components/table/constants.mjs +3 -0
  17. package/esm2020/lib/modules/table/components/table/table.component.mjs +620 -0
  18. package/esm2020/lib/modules/table/components/table-cell/table-cell.component.mjs +167 -0
  19. package/esm2020/lib/modules/table/components/table-column/table-column.component.mjs +37 -0
  20. package/esm2020/lib/modules/table/directives/index.mjs +18 -0
  21. package/esm2020/lib/modules/table/directives/p-table-filter-modal.directive.mjs +13 -0
  22. package/esm2020/lib/modules/table/directives/p-table-footer.directive.mjs +52 -0
  23. package/esm2020/lib/modules/table/directives/p-table-header.directive.mjs +60 -0
  24. package/esm2020/lib/modules/table/directives/p-table-ngx.directive.mjs +122 -0
  25. package/esm2020/lib/modules/table/directives/p-table.directive.mjs +78 -0
  26. package/esm2020/lib/modules/table/index.mjs +6 -0
  27. package/esm2020/lib/modules/table/table.module.mjs +28 -0
  28. package/esm2020/lib/modules/table/utils.mjs +23 -0
  29. package/esm2020/lib/modules/toast/components/index.mjs +4 -0
  30. package/esm2020/lib/modules/toast/components/toast-container/toast-container.component.mjs +36 -0
  31. package/esm2020/lib/modules/toast/directives/index.mjs +4 -0
  32. package/esm2020/lib/modules/toast/directives/toast.directive.mjs +52 -0
  33. package/esm2020/lib/modules/toast/index.mjs +6 -0
  34. package/esm2020/lib/modules/toast/services/index.mjs +4 -0
  35. package/esm2020/lib/modules/toast/services/toast.service.mjs +47 -0
  36. package/esm2020/lib/modules/toast/toast.module.mjs +22 -0
  37. package/esm2020/lib/modules/toast/types.mjs +10 -0
  38. package/esm2020/lib/paperless.module.mjs +29 -11
  39. package/esm2020/lib/pipes/currency.pipe.mjs +20 -0
  40. package/esm2020/lib/pipes/date.pipe.mjs +20 -0
  41. package/esm2020/lib/pipes/index.mjs +8 -0
  42. package/esm2020/lib/pipes/safe.pipe.mjs +33 -0
  43. package/esm2020/lib/stencil/components.mjs +976 -70
  44. package/esm2020/lib/stencil/index.mjs +37 -1
  45. package/esm2020/lib/stencil.module.mjs +17 -0
  46. package/esm2020/public-api.mjs +5 -1
  47. package/fesm2015/paperless-angular.mjs +2897 -161
  48. package/fesm2015/paperless-angular.mjs.map +1 -1
  49. package/fesm2020/paperless-angular.mjs +2911 -161
  50. package/fesm2020/paperless-angular.mjs.map +1 -1
  51. package/{paperless-angular.d.ts → index.d.ts} +0 -0
  52. package/lib/animations/index.d.ts +1 -0
  53. package/lib/animations/slide.d.ts +2 -0
  54. package/lib/base/index.d.ts +1 -0
  55. package/lib/base/upload.component.d.ts +16 -0
  56. package/lib/base/value-accessor.d.ts +6 -6
  57. package/lib/directives/index.d.ts +5 -3
  58. package/lib/directives/p-page-size-select.directive.d.ts +10 -0
  59. package/lib/directives/{pagination.directive.d.ts → p-pagination.directive.d.ts} +3 -3
  60. package/lib/directives/p-select.directive.d.ts +9 -0
  61. package/lib/modules/index.d.ts +4 -0
  62. package/lib/modules/table/base/form.component.d.ts +15 -0
  63. package/lib/modules/table/base/index.d.ts +2 -0
  64. package/lib/modules/table/base/table.component.d.ts +58 -0
  65. package/lib/modules/table/components/index.d.ts +7 -0
  66. package/lib/modules/table/components/table/constants.d.ts +2 -0
  67. package/lib/modules/table/components/table/table.component.d.ts +214 -0
  68. package/lib/modules/table/components/table-cell/table-cell.component.d.ts +45 -0
  69. package/lib/modules/table/components/table-column/table-column.component.d.ts +17 -0
  70. package/lib/modules/table/directives/index.d.ts +11 -0
  71. package/lib/modules/table/directives/p-table-filter-modal.directive.d.ts +5 -0
  72. package/lib/modules/table/directives/p-table-footer.directive.d.ts +11 -0
  73. package/lib/modules/table/directives/p-table-header.directive.d.ts +17 -0
  74. package/lib/modules/table/directives/p-table-ngx.directive.d.ts +27 -0
  75. package/lib/modules/table/directives/p-table.directive.d.ts +22 -0
  76. package/lib/modules/table/index.d.ts +5 -0
  77. package/lib/modules/table/table.module.d.ts +16 -0
  78. package/lib/modules/table/utils.d.ts +10 -0
  79. package/lib/modules/toast/components/index.d.ts +3 -0
  80. package/lib/modules/toast/components/toast-container/toast-container.component.d.ts +17 -0
  81. package/lib/modules/toast/directives/index.d.ts +3 -0
  82. package/lib/modules/toast/directives/toast.directive.d.ts +16 -0
  83. package/lib/modules/toast/index.d.ts +5 -0
  84. package/lib/modules/toast/services/index.d.ts +3 -0
  85. package/lib/modules/toast/services/toast.service.d.ts +12 -0
  86. package/lib/modules/toast/toast.module.d.ts +10 -0
  87. package/lib/modules/toast/types.d.ts +30 -0
  88. package/lib/paperless.module.d.ts +13 -3
  89. package/lib/pipes/currency.pipe.d.ts +10 -0
  90. package/lib/pipes/date.pipe.d.ts +10 -0
  91. package/lib/pipes/index.d.ts +7 -0
  92. package/lib/pipes/safe.pipe.d.ts +10 -0
  93. package/lib/stencil/components.d.ts +403 -14
  94. package/lib/stencil/index.d.ts +1 -1
  95. package/lib/stencil.module.d.ts +7 -0
  96. package/package.json +7 -6
  97. package/public-api.d.ts +4 -0
  98. package/esm2020/lib/directives/pagination.directive.mjs +0 -42
@@ -4,6 +4,32 @@ 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.0.0", 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.0.0", 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
+ defineCustomElementFn: undefined,
20
+ inputs: ['closeable', 'header', 'open', 'openable']
21
+ })
22
+ ], PAccordion);
23
+ export { PAccordion };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PAccordion, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'p-accordion',
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
29
+ template: '<ng-content></ng-content>',
30
+ inputs: ['closeable', 'header', 'open', 'openable']
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
7
33
  let PAvatar = class PAvatar {
8
34
  constructor(c, r, z) {
9
35
  this.z = z;
@@ -11,8 +37,8 @@ let PAvatar = class PAvatar {
11
37
  this.el = r.nativeElement;
12
38
  }
13
39
  };
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 });
40
+ PAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
41
+ PAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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
42
  PAvatar = __decorate([
17
43
  ProxyCmp({
18
44
  defineCustomElementFn: undefined,
@@ -20,7 +46,7 @@ PAvatar = __decorate([
20
46
  })
21
47
  ], PAvatar);
22
48
  export { PAvatar };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PAvatar, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PAvatar, decorators: [{
24
50
  type: Component,
25
51
  args: [{
26
52
  selector: 'p-avatar',
@@ -29,6 +55,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
29
55
  inputs: ['defaultImage', 'size', 'src', 'variant']
30
56
  }]
31
57
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
58
+ let PAvatarGroup = class PAvatarGroup {
59
+ constructor(c, r, z) {
60
+ this.z = z;
61
+ c.detach();
62
+ this.el = r.nativeElement;
63
+ }
64
+ };
65
+ PAvatarGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PAvatarGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
66
+ PAvatarGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PAvatarGroup, selector: "p-avatar-group", inputs: { extra: "extra" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ PAvatarGroup = __decorate([
68
+ ProxyCmp({
69
+ defineCustomElementFn: undefined,
70
+ inputs: ['extra']
71
+ })
72
+ ], PAvatarGroup);
73
+ export { PAvatarGroup };
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PAvatarGroup, decorators: [{
75
+ type: Component,
76
+ args: [{
77
+ selector: 'p-avatar-group',
78
+ changeDetection: ChangeDetectionStrategy.OnPush,
79
+ template: '<ng-content></ng-content>',
80
+ inputs: ['extra']
81
+ }]
82
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
83
+ let PBackdrop = class PBackdrop {
84
+ constructor(c, r, z) {
85
+ this.z = z;
86
+ c.detach();
87
+ this.el = r.nativeElement;
88
+ }
89
+ };
90
+ PBackdrop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PBackdrop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
91
+ PBackdrop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PBackdrop, selector: "p-backdrop", inputs: { applyBlur: "applyBlur" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ PBackdrop = __decorate([
93
+ ProxyCmp({
94
+ defineCustomElementFn: undefined,
95
+ inputs: ['applyBlur']
96
+ })
97
+ ], PBackdrop);
98
+ export { PBackdrop };
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PBackdrop, decorators: [{
100
+ type: Component,
101
+ args: [{
102
+ selector: 'p-backdrop',
103
+ changeDetection: ChangeDetectionStrategy.OnPush,
104
+ template: '<ng-content></ng-content>',
105
+ inputs: ['applyBlur']
106
+ }]
107
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
32
108
  let PButton = class PButton {
33
109
  constructor(c, r, z) {
34
110
  this.z = z;
@@ -37,22 +113,122 @@ let PButton = class PButton {
37
113
  proxyOutputs(this, this.el, ['onClick']);
38
114
  }
39
115
  };
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: { 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 });
116
+ PButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
117
+ PButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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
118
  PButton = __decorate([
43
119
  ProxyCmp({
44
120
  defineCustomElementFn: undefined,
45
- inputs: ['disabled', 'href', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading', 'size', 'target', 'variant']
121
+ inputs: ['chevron', 'chevronPosition', 'disabled', 'href', 'icon', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'loading', 'size', 'target', 'variant']
46
122
  })
47
123
  ], PButton);
48
124
  export { PButton };
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PButton, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PButton, decorators: [{
50
126
  type: Component,
51
127
  args: [{
52
128
  selector: 'p-button',
53
129
  changeDetection: ChangeDetectionStrategy.OnPush,
54
130
  template: '<ng-content></ng-content>',
55
- inputs: ['disabled', 'href', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading', 'size', 'target', 'variant']
131
+ inputs: ['chevron', 'chevronPosition', 'disabled', 'href', 'icon', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'loading', 'size', 'target', 'variant']
132
+ }]
133
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
134
+ let PCardBody = class PCardBody {
135
+ constructor(c, r, z) {
136
+ this.z = z;
137
+ c.detach();
138
+ this.el = r.nativeElement;
139
+ }
140
+ };
141
+ PCardBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCardBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
142
+ PCardBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PCardBody, selector: "p-card-body", inputs: { inheritText: "inheritText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ PCardBody = __decorate([
144
+ ProxyCmp({
145
+ defineCustomElementFn: undefined,
146
+ inputs: ['inheritText']
147
+ })
148
+ ], PCardBody);
149
+ export { PCardBody };
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCardBody, decorators: [{
151
+ type: Component,
152
+ args: [{
153
+ selector: 'p-card-body',
154
+ changeDetection: ChangeDetectionStrategy.OnPush,
155
+ template: '<ng-content></ng-content>',
156
+ inputs: ['inheritText']
157
+ }]
158
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
159
+ let PCardContainer = class PCardContainer {
160
+ constructor(c, r, z) {
161
+ this.z = z;
162
+ c.detach();
163
+ this.el = r.nativeElement;
164
+ }
165
+ };
166
+ PCardContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCardContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
167
+ PCardContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PCardContainer, selector: "p-card-container", inputs: { hoverable: "hoverable", shadow: "shadow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
+ PCardContainer = __decorate([
169
+ ProxyCmp({
170
+ defineCustomElementFn: undefined,
171
+ inputs: ['hoverable', 'shadow']
172
+ })
173
+ ], PCardContainer);
174
+ export { PCardContainer };
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCardContainer, decorators: [{
176
+ type: Component,
177
+ args: [{
178
+ selector: 'p-card-container',
179
+ changeDetection: ChangeDetectionStrategy.OnPush,
180
+ template: '<ng-content></ng-content>',
181
+ inputs: ['hoverable', 'shadow']
182
+ }]
183
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
184
+ let PCardHeader = class PCardHeader {
185
+ constructor(c, r, z) {
186
+ this.z = z;
187
+ c.detach();
188
+ this.el = r.nativeElement;
189
+ }
190
+ };
191
+ PCardHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCardHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
192
+ PCardHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PCardHeader, selector: "p-card-header", inputs: { arrow: "arrow", header: "header" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
+ PCardHeader = __decorate([
194
+ ProxyCmp({
195
+ defineCustomElementFn: undefined,
196
+ inputs: ['arrow', 'header']
197
+ })
198
+ ], PCardHeader);
199
+ export { PCardHeader };
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCardHeader, decorators: [{
201
+ type: Component,
202
+ args: [{
203
+ selector: 'p-card-header',
204
+ changeDetection: ChangeDetectionStrategy.OnPush,
205
+ template: '<ng-content></ng-content>',
206
+ inputs: ['arrow', 'header']
207
+ }]
208
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
209
+ let PContentSlider = class PContentSlider {
210
+ constructor(c, r, z) {
211
+ this.z = z;
212
+ c.detach();
213
+ this.el = r.nativeElement;
214
+ }
215
+ };
216
+ PContentSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PContentSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
217
+ PContentSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
218
+ PContentSlider = __decorate([
219
+ ProxyCmp({
220
+ defineCustomElementFn: undefined,
221
+ inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator']
222
+ })
223
+ ], PContentSlider);
224
+ export { PContentSlider };
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PContentSlider, decorators: [{
226
+ type: Component,
227
+ args: [{
228
+ selector: 'p-content-slider',
229
+ changeDetection: ChangeDetectionStrategy.OnPush,
230
+ template: '<ng-content></ng-content>',
231
+ inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator']
56
232
  }]
57
233
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
58
234
  let PCounter = class PCounter {
@@ -62,20 +238,22 @@ let PCounter = class PCounter {
62
238
  this.el = r.nativeElement;
63
239
  }
64
240
  };
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 });
241
+ PCounter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCounter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
242
+ PCounter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PCounter, selector: "p-counter", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
243
  PCounter = __decorate([
68
244
  ProxyCmp({
69
- defineCustomElementFn: undefined
245
+ defineCustomElementFn: undefined,
246
+ inputs: ['size', 'variant']
70
247
  })
71
248
  ], PCounter);
72
249
  export { PCounter };
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PCounter, decorators: [{
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PCounter, decorators: [{
74
251
  type: Component,
75
252
  args: [{
76
253
  selector: 'p-counter',
77
254
  changeDetection: ChangeDetectionStrategy.OnPush,
78
- template: '<ng-content></ng-content>'
255
+ template: '<ng-content></ng-content>',
256
+ inputs: ['size', 'variant']
79
257
  }]
80
258
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
81
259
  let PDivider = class PDivider {
@@ -85,15 +263,15 @@ let PDivider = class PDivider {
85
263
  this.el = r.nativeElement;
86
264
  }
87
265
  };
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 });
266
+ PDivider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
267
+ PDivider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PDivider, selector: "p-divider", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
268
  PDivider = __decorate([
91
269
  ProxyCmp({
92
270
  defineCustomElementFn: undefined
93
271
  })
94
272
  ], PDivider);
95
273
  export { PDivider };
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PDivider, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDivider, decorators: [{
97
275
  type: Component,
98
276
  args: [{
99
277
  selector: 'p-divider',
@@ -101,6 +279,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
101
279
  template: '<ng-content></ng-content>'
102
280
  }]
103
281
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
282
+ let PDropdown = class PDropdown {
283
+ constructor(c, r, z) {
284
+ this.z = z;
285
+ c.detach();
286
+ this.el = r.nativeElement;
287
+ proxyOutputs(this, this.el, ['isOpen']);
288
+ }
289
+ };
290
+ PDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
291
+ PDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PDropdown, selector: "p-dropdown", inputs: { 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 });
292
+ PDropdown = __decorate([
293
+ ProxyCmp({
294
+ defineCustomElementFn: undefined,
295
+ inputs: ['calculateWidth', 'chevronDirection', 'chevronPosition', 'disableTriggerClick', 'insideClick', 'placement', 'show', 'strategy']
296
+ })
297
+ ], PDropdown);
298
+ export { PDropdown };
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDropdown, decorators: [{
300
+ type: Component,
301
+ args: [{
302
+ selector: 'p-dropdown',
303
+ changeDetection: ChangeDetectionStrategy.OnPush,
304
+ template: '<ng-content></ng-content>',
305
+ inputs: ['calculateWidth', 'chevronDirection', 'chevronPosition', 'disableTriggerClick', 'insideClick', 'placement', 'show', 'strategy']
306
+ }]
307
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
308
+ let PDropdownMenuContainer = class PDropdownMenuContainer {
309
+ constructor(c, r, z) {
310
+ this.z = z;
311
+ c.detach();
312
+ this.el = r.nativeElement;
313
+ }
314
+ };
315
+ PDropdownMenuContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDropdownMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
316
+ PDropdownMenuContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PDropdownMenuContainer, selector: "p-dropdown-menu-container", inputs: { maxWidth: "maxWidth" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
317
+ PDropdownMenuContainer = __decorate([
318
+ ProxyCmp({
319
+ defineCustomElementFn: undefined,
320
+ inputs: ['maxWidth']
321
+ })
322
+ ], PDropdownMenuContainer);
323
+ export { PDropdownMenuContainer };
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDropdownMenuContainer, decorators: [{
325
+ type: Component,
326
+ args: [{
327
+ selector: 'p-dropdown-menu-container',
328
+ changeDetection: ChangeDetectionStrategy.OnPush,
329
+ template: '<ng-content></ng-content>',
330
+ inputs: ['maxWidth']
331
+ }]
332
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
333
+ let PDropdownMenuItem = class PDropdownMenuItem {
334
+ constructor(c, r, z) {
335
+ this.z = z;
336
+ c.detach();
337
+ this.el = r.nativeElement;
338
+ }
339
+ };
340
+ PDropdownMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDropdownMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
341
+ PDropdownMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
342
+ PDropdownMenuItem = __decorate([
343
+ ProxyCmp({
344
+ defineCustomElementFn: undefined,
345
+ inputs: ['active', 'enableHover', 'icon']
346
+ })
347
+ ], PDropdownMenuItem);
348
+ export { PDropdownMenuItem };
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PDropdownMenuItem, decorators: [{
350
+ type: Component,
351
+ args: [{
352
+ selector: 'p-dropdown-menu-item',
353
+ changeDetection: ChangeDetectionStrategy.OnPush,
354
+ template: '<ng-content></ng-content>',
355
+ inputs: ['active', 'enableHover', 'icon']
356
+ }]
357
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
104
358
  let PHelper = class PHelper {
105
359
  constructor(c, r, z) {
106
360
  this.z = z;
@@ -108,20 +362,22 @@ let PHelper = class PHelper {
108
362
  this.el = r.nativeElement;
109
363
  }
110
364
  };
111
- 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 });
112
- 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 });
365
+ PHelper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PHelper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
366
+ PHelper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PHelper, selector: "p-helper", inputs: { placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
367
  PHelper = __decorate([
114
368
  ProxyCmp({
115
- defineCustomElementFn: undefined
369
+ defineCustomElementFn: undefined,
370
+ inputs: ['placement']
116
371
  })
117
372
  ], PHelper);
118
373
  export { PHelper };
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PHelper, decorators: [{
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PHelper, decorators: [{
120
375
  type: Component,
121
376
  args: [{
122
377
  selector: 'p-helper',
123
378
  changeDetection: ChangeDetectionStrategy.OnPush,
124
- template: '<ng-content></ng-content>'
379
+ template: '<ng-content></ng-content>',
380
+ inputs: ['placement']
125
381
  }]
126
382
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
127
383
  let PIcon = class PIcon {
@@ -131,8 +387,8 @@ let PIcon = class PIcon {
131
387
  this.el = r.nativeElement;
132
388
  }
133
389
  };
134
- 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 });
135
- 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 });
390
+ PIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
391
+ PIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
136
392
  PIcon = __decorate([
137
393
  ProxyCmp({
138
394
  defineCustomElementFn: undefined,
@@ -140,7 +396,7 @@ PIcon = __decorate([
140
396
  })
141
397
  ], PIcon);
142
398
  export { PIcon };
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PIcon, decorators: [{
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PIcon, decorators: [{
144
400
  type: Component,
145
401
  args: [{
146
402
  selector: 'p-icon',
@@ -156,8 +412,8 @@ let PIllustration = class PIllustration {
156
412
  this.el = r.nativeElement;
157
413
  }
158
414
  };
159
- 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 });
160
- 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 });
415
+ PIllustration.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PIllustration, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
416
+ PIllustration.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PIllustration, selector: "p-illustration", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
161
417
  PIllustration = __decorate([
162
418
  ProxyCmp({
163
419
  defineCustomElementFn: undefined,
@@ -165,7 +421,7 @@ PIllustration = __decorate([
165
421
  })
166
422
  ], PIllustration);
167
423
  export { PIllustration };
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PIllustration, decorators: [{
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PIllustration, decorators: [{
169
425
  type: Component,
170
426
  args: [{
171
427
  selector: 'p-illustration',
@@ -181,8 +437,8 @@ let PInfoPanel = class PInfoPanel {
181
437
  this.el = r.nativeElement;
182
438
  }
183
439
  };
184
- 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 });
185
- 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 });
440
+ PInfoPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PInfoPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
441
+ PInfoPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
186
442
  PInfoPanel = __decorate([
187
443
  ProxyCmp({
188
444
  defineCustomElementFn: undefined,
@@ -190,7 +446,7 @@ PInfoPanel = __decorate([
190
446
  })
191
447
  ], PInfoPanel);
192
448
  export { PInfoPanel };
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PInfoPanel, decorators: [{
449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PInfoPanel, decorators: [{
194
450
  type: Component,
195
451
  args: [{
196
452
  selector: 'p-info-panel',
@@ -199,6 +455,81 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
199
455
  inputs: ['closeable', 'content', 'header', 'variant']
200
456
  }]
201
457
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
458
+ let PInputGroup = class PInputGroup {
459
+ constructor(c, r, z) {
460
+ this.z = z;
461
+ c.detach();
462
+ this.el = r.nativeElement;
463
+ }
464
+ };
465
+ PInputGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PInputGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
466
+ PInputGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
467
+ PInputGroup = __decorate([
468
+ ProxyCmp({
469
+ defineCustomElementFn: undefined,
470
+ inputs: ['disabled', 'error', 'focused', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'label', 'prefix', 'required', 'size', 'suffix']
471
+ })
472
+ ], PInputGroup);
473
+ export { PInputGroup };
474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PInputGroup, decorators: [{
475
+ type: Component,
476
+ args: [{
477
+ selector: 'p-input-group',
478
+ changeDetection: ChangeDetectionStrategy.OnPush,
479
+ template: '<ng-content></ng-content>',
480
+ inputs: ['disabled', 'error', 'focused', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'label', 'prefix', 'required', 'size', 'suffix']
481
+ }]
482
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
483
+ let PLabel = class PLabel {
484
+ constructor(c, r, z) {
485
+ this.z = z;
486
+ c.detach();
487
+ this.el = r.nativeElement;
488
+ }
489
+ };
490
+ PLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
491
+ PLabel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PLabel, selector: "p-label", inputs: { circle: "circle", icon: "icon", iconFlip: "iconFlip", iconOnly: "iconOnly", iconRotate: "iconRotate", mobileIcon: "mobileIcon", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
492
+ PLabel = __decorate([
493
+ ProxyCmp({
494
+ defineCustomElementFn: undefined,
495
+ inputs: ['circle', 'icon', 'iconFlip', 'iconOnly', 'iconRotate', 'mobileIcon', 'size', 'variant']
496
+ })
497
+ ], PLabel);
498
+ export { PLabel };
499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PLabel, decorators: [{
500
+ type: Component,
501
+ args: [{
502
+ selector: 'p-label',
503
+ changeDetection: ChangeDetectionStrategy.OnPush,
504
+ template: '<ng-content></ng-content>',
505
+ inputs: ['circle', 'icon', 'iconFlip', 'iconOnly', 'iconRotate', 'mobileIcon', 'size', 'variant']
506
+ }]
507
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
508
+ let PLayout = class PLayout {
509
+ constructor(c, r, z) {
510
+ this.z = z;
511
+ c.detach();
512
+ this.el = r.nativeElement;
513
+ }
514
+ };
515
+ PLayout.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PLayout, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
516
+ PLayout.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PLayout, selector: "p-layout", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
517
+ PLayout = __decorate([
518
+ ProxyCmp({
519
+ defineCustomElementFn: undefined,
520
+ inputs: ['variant']
521
+ })
522
+ ], PLayout);
523
+ export { PLayout };
524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PLayout, decorators: [{
525
+ type: Component,
526
+ args: [{
527
+ selector: 'p-layout',
528
+ changeDetection: ChangeDetectionStrategy.OnPush,
529
+ template: '<ng-content></ng-content>',
530
+ inputs: ['variant']
531
+ }]
532
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
202
533
  let PLoader = class PLoader {
203
534
  constructor(c, r, z) {
204
535
  this.z = z;
@@ -206,8 +537,8 @@ let PLoader = class PLoader {
206
537
  this.el = r.nativeElement;
207
538
  }
208
539
  };
209
- 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 });
210
- 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 });
540
+ PLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PLoader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
541
+ PLoader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
211
542
  PLoader = __decorate([
212
543
  ProxyCmp({
213
544
  defineCustomElementFn: undefined,
@@ -215,7 +546,7 @@ PLoader = __decorate([
215
546
  })
216
547
  ], PLoader);
217
548
  export { PLoader };
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PLoader, decorators: [{
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PLoader, decorators: [{
219
550
  type: Component,
220
551
  args: [{
221
552
  selector: 'p-loader',
@@ -224,80 +555,654 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
224
555
  inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant']
225
556
  }]
226
557
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
227
- let PNavigationItem = class PNavigationItem {
558
+ let PModal = class PModal {
228
559
  constructor(c, r, z) {
229
560
  this.z = z;
230
561
  c.detach();
231
562
  this.el = r.nativeElement;
563
+ proxyOutputs(this, this.el, ['close']);
232
564
  }
233
565
  };
234
- 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 });
235
- 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 });
236
- PNavigationItem = __decorate([
566
+ PModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
567
+ PModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PModal, selector: "p-modal", inputs: { header: "header", show: "show", showMobileClose: "showMobileClose", showMobileFooter: "showMobileFooter", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
568
+ PModal = __decorate([
237
569
  ProxyCmp({
238
570
  defineCustomElementFn: undefined,
239
- inputs: ['active', 'counter', 'href', 'icon', 'target']
571
+ inputs: ['header', 'show', 'showMobileClose', 'showMobileFooter', 'size', 'variant']
240
572
  })
241
- ], PNavigationItem);
242
- export { PNavigationItem };
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PNavigationItem, decorators: [{
573
+ ], PModal);
574
+ export { PModal };
575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModal, decorators: [{
244
576
  type: Component,
245
577
  args: [{
246
- selector: 'p-navigation-item',
578
+ selector: 'p-modal',
247
579
  changeDetection: ChangeDetectionStrategy.OnPush,
248
580
  template: '<ng-content></ng-content>',
249
- inputs: ['active', 'counter', 'href', 'icon', 'target']
581
+ inputs: ['header', 'show', 'showMobileClose', 'showMobileFooter', 'size', 'variant']
250
582
  }]
251
583
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
252
- let PPagination = class PPagination {
584
+ let PModalBody = class PModalBody {
253
585
  constructor(c, r, z) {
254
586
  this.z = z;
255
587
  c.detach();
256
588
  this.el = r.nativeElement;
257
- proxyOutputs(this, this.el, ['pageChange']);
258
589
  }
259
590
  };
260
- 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 });
261
- 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 });
262
- PPagination = __decorate([
591
+ PModalBody.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
592
+ PModalBody.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PModalBody, selector: "p-modal-body", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
593
+ PModalBody = __decorate([
263
594
  ProxyCmp({
264
595
  defineCustomElementFn: undefined,
265
- inputs: ['page', 'pageSize', 'total']
596
+ inputs: ['variant']
266
597
  })
267
- ], PPagination);
268
- export { PPagination };
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PPagination, decorators: [{
598
+ ], PModalBody);
599
+ export { PModalBody };
600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalBody, decorators: [{
270
601
  type: Component,
271
602
  args: [{
272
- selector: 'p-pagination',
603
+ selector: 'p-modal-body',
273
604
  changeDetection: ChangeDetectionStrategy.OnPush,
274
605
  template: '<ng-content></ng-content>',
275
- inputs: ['page', 'pageSize', 'total']
606
+ inputs: ['variant']
276
607
  }]
277
608
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
278
- let PPaginationItem = class PPaginationItem {
609
+ let PModalContainer = class PModalContainer {
279
610
  constructor(c, r, z) {
280
611
  this.z = z;
281
612
  c.detach();
282
613
  this.el = r.nativeElement;
283
614
  }
284
615
  };
285
- 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 });
286
- 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 });
287
- PPaginationItem = __decorate([
616
+ PModalContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
617
+ PModalContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PModalContainer, selector: "p-modal-container", inputs: { size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
618
+ PModalContainer = __decorate([
288
619
  ProxyCmp({
289
620
  defineCustomElementFn: undefined,
290
- inputs: ['active']
621
+ inputs: ['size']
291
622
  })
292
- ], PPaginationItem);
293
- export { PPaginationItem };
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PPaginationItem, decorators: [{
623
+ ], PModalContainer);
624
+ export { PModalContainer };
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalContainer, decorators: [{
295
626
  type: Component,
296
627
  args: [{
297
- selector: 'p-pagination-item',
628
+ selector: 'p-modal-container',
298
629
  changeDetection: ChangeDetectionStrategy.OnPush,
299
630
  template: '<ng-content></ng-content>',
300
- inputs: ['active']
631
+ inputs: ['size']
632
+ }]
633
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
634
+ let PModalFooter = class PModalFooter {
635
+ constructor(c, r, z) {
636
+ this.z = z;
637
+ c.detach();
638
+ this.el = r.nativeElement;
639
+ }
640
+ };
641
+ PModalFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
642
+ PModalFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PModalFooter, selector: "p-modal-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
643
+ PModalFooter = __decorate([
644
+ ProxyCmp({
645
+ defineCustomElementFn: undefined
646
+ })
647
+ ], PModalFooter);
648
+ export { PModalFooter };
649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalFooter, decorators: [{
650
+ type: Component,
651
+ args: [{
652
+ selector: 'p-modal-footer',
653
+ changeDetection: ChangeDetectionStrategy.OnPush,
654
+ template: '<ng-content></ng-content>'
655
+ }]
656
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
657
+ let PModalHeader = class PModalHeader {
658
+ constructor(c, r, z) {
659
+ this.z = z;
660
+ c.detach();
661
+ this.el = r.nativeElement;
662
+ proxyOutputs(this, this.el, ['close']);
663
+ }
664
+ };
665
+ PModalHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
666
+ PModalHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PModalHeader, selector: "p-modal-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
667
+ PModalHeader = __decorate([
668
+ ProxyCmp({
669
+ defineCustomElementFn: undefined,
670
+ inputs: ['showClose']
671
+ })
672
+ ], PModalHeader);
673
+ export { PModalHeader };
674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PModalHeader, decorators: [{
675
+ type: Component,
676
+ args: [{
677
+ selector: 'p-modal-header',
678
+ changeDetection: ChangeDetectionStrategy.OnPush,
679
+ template: '<ng-content></ng-content>',
680
+ inputs: ['showClose']
681
+ }]
682
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
683
+ let PNavbar = class PNavbar {
684
+ constructor(c, r, z) {
685
+ this.z = z;
686
+ c.detach();
687
+ this.el = r.nativeElement;
688
+ }
689
+ };
690
+ PNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PNavbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
691
+ PNavbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PNavbar, selector: "p-navbar", inputs: { closeText: "closeText", menuText: "menuText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
692
+ PNavbar = __decorate([
693
+ ProxyCmp({
694
+ defineCustomElementFn: undefined,
695
+ inputs: ['closeText', 'menuText']
696
+ })
697
+ ], PNavbar);
698
+ export { PNavbar };
699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PNavbar, decorators: [{
700
+ type: Component,
701
+ args: [{
702
+ selector: 'p-navbar',
703
+ changeDetection: ChangeDetectionStrategy.OnPush,
704
+ template: '<ng-content></ng-content>',
705
+ inputs: ['closeText', 'menuText']
706
+ }]
707
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
708
+ let PNavigationItem = class PNavigationItem {
709
+ constructor(c, r, z) {
710
+ this.z = z;
711
+ c.detach();
712
+ this.el = r.nativeElement;
713
+ }
714
+ };
715
+ PNavigationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PNavigationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
716
+ PNavigationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
717
+ PNavigationItem = __decorate([
718
+ ProxyCmp({
719
+ defineCustomElementFn: undefined,
720
+ inputs: ['active', 'counter', 'href', 'icon', 'target']
721
+ })
722
+ ], PNavigationItem);
723
+ export { PNavigationItem };
724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PNavigationItem, decorators: [{
725
+ type: Component,
726
+ args: [{
727
+ selector: 'p-navigation-item',
728
+ changeDetection: ChangeDetectionStrategy.OnPush,
729
+ template: '<ng-content></ng-content>',
730
+ inputs: ['active', 'counter', 'href', 'icon', 'target']
731
+ }]
732
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
733
+ let PPageSizeSelect = class PPageSizeSelect {
734
+ constructor(c, r, z) {
735
+ this.z = z;
736
+ c.detach();
737
+ this.el = r.nativeElement;
738
+ proxyOutputs(this, this.el, ['sizeChange']);
739
+ }
740
+ };
741
+ PPageSizeSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PPageSizeSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
742
+ PPageSizeSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
743
+ PPageSizeSelect = __decorate([
744
+ ProxyCmp({
745
+ defineCustomElementFn: undefined,
746
+ inputs: ['buttonSize', 'buttonTemplate', 'chevronPosition', 'hidden', 'itemTemplate', 'size', 'sizeOptions']
747
+ })
748
+ ], PPageSizeSelect);
749
+ export { PPageSizeSelect };
750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PPageSizeSelect, decorators: [{
751
+ type: Component,
752
+ args: [{
753
+ selector: 'p-page-size-select',
754
+ changeDetection: ChangeDetectionStrategy.OnPush,
755
+ template: '<ng-content></ng-content>',
756
+ inputs: ['buttonSize', 'buttonTemplate', 'chevronPosition', 'hidden', 'itemTemplate', 'size', 'sizeOptions']
757
+ }]
758
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
759
+ let PPagination = class PPagination {
760
+ constructor(c, r, z) {
761
+ this.z = z;
762
+ c.detach();
763
+ this.el = r.nativeElement;
764
+ proxyOutputs(this, this.el, ['pageChange']);
765
+ }
766
+ };
767
+ PPagination.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
768
+ PPagination.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
769
+ PPagination = __decorate([
770
+ ProxyCmp({
771
+ defineCustomElementFn: undefined,
772
+ inputs: ['hideOnSinglePage', 'page', 'pageSize', 'total']
773
+ })
774
+ ], PPagination);
775
+ export { PPagination };
776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PPagination, decorators: [{
777
+ type: Component,
778
+ args: [{
779
+ selector: 'p-pagination',
780
+ changeDetection: ChangeDetectionStrategy.OnPush,
781
+ template: '<ng-content></ng-content>',
782
+ inputs: ['hideOnSinglePage', 'page', 'pageSize', 'total']
783
+ }]
784
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
785
+ let PPaginationItem = class PPaginationItem {
786
+ constructor(c, r, z) {
787
+ this.z = z;
788
+ c.detach();
789
+ this.el = r.nativeElement;
790
+ }
791
+ };
792
+ PPaginationItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PPaginationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
793
+ PPaginationItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PPaginationItem, selector: "p-pagination-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
794
+ PPaginationItem = __decorate([
795
+ ProxyCmp({
796
+ defineCustomElementFn: undefined,
797
+ inputs: ['active']
798
+ })
799
+ ], PPaginationItem);
800
+ export { PPaginationItem };
801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PPaginationItem, decorators: [{
802
+ type: Component,
803
+ args: [{
804
+ selector: 'p-pagination-item',
805
+ changeDetection: ChangeDetectionStrategy.OnPush,
806
+ template: '<ng-content></ng-content>',
807
+ inputs: ['active']
808
+ }]
809
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
810
+ let PProfile = class PProfile {
811
+ constructor(c, r, z) {
812
+ this.z = z;
813
+ c.detach();
814
+ this.el = r.nativeElement;
815
+ }
816
+ };
817
+ PProfile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PProfile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
818
+ PProfile.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PProfile, selector: "p-profile", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
819
+ PProfile = __decorate([
820
+ ProxyCmp({
821
+ defineCustomElementFn: undefined,
822
+ inputs: ['size', 'variant']
823
+ })
824
+ ], PProfile);
825
+ export { PProfile };
826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PProfile, decorators: [{
827
+ type: Component,
828
+ args: [{
829
+ selector: 'p-profile',
830
+ changeDetection: ChangeDetectionStrategy.OnPush,
831
+ template: '<ng-content></ng-content>',
832
+ inputs: ['size', 'variant']
833
+ }]
834
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
835
+ let PSegmentContainer = class PSegmentContainer {
836
+ constructor(c, r, z) {
837
+ this.z = z;
838
+ c.detach();
839
+ this.el = r.nativeElement;
840
+ }
841
+ };
842
+ PSegmentContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSegmentContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
843
+ PSegmentContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PSegmentContainer, selector: "p-segment-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
844
+ PSegmentContainer = __decorate([
845
+ ProxyCmp({
846
+ defineCustomElementFn: undefined
847
+ })
848
+ ], PSegmentContainer);
849
+ export { PSegmentContainer };
850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSegmentContainer, decorators: [{
851
+ type: Component,
852
+ args: [{
853
+ selector: 'p-segment-container',
854
+ changeDetection: ChangeDetectionStrategy.OnPush,
855
+ template: '<ng-content></ng-content>'
856
+ }]
857
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
858
+ let PSegmentItem = class PSegmentItem {
859
+ constructor(c, r, z) {
860
+ this.z = z;
861
+ c.detach();
862
+ this.el = r.nativeElement;
863
+ }
864
+ };
865
+ PSegmentItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSegmentItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
866
+ PSegmentItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
867
+ PSegmentItem = __decorate([
868
+ ProxyCmp({
869
+ defineCustomElementFn: undefined,
870
+ inputs: ['active', 'icon', 'iconFlip', 'iconRotate']
871
+ })
872
+ ], PSegmentItem);
873
+ export { PSegmentItem };
874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSegmentItem, decorators: [{
875
+ type: Component,
876
+ args: [{
877
+ selector: 'p-segment-item',
878
+ changeDetection: ChangeDetectionStrategy.OnPush,
879
+ template: '<ng-content></ng-content>',
880
+ inputs: ['active', 'icon', 'iconFlip', 'iconRotate']
881
+ }]
882
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
883
+ let PSelect = class PSelect {
884
+ constructor(c, r, z) {
885
+ this.z = z;
886
+ c.detach();
887
+ this.el = r.nativeElement;
888
+ proxyOutputs(this, this.el, ['queryChange', 'valueChange']);
889
+ }
890
+ };
891
+ PSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
892
+ PSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PSelect, selector: "p-select", inputs: { asyncFilter: "asyncFilter", autoSelectFirst: "autoSelectFirst", autocompletePlaceholder: "autocompletePlaceholder", disabled: "disabled", displayKey: "displayKey", enableAutocomplete: "enableAutocomplete", error: "error", helper: "helper", items: "items", label: "label", loading: "loading", maxDisplayedItems: "maxDisplayedItems", placeholder: "placeholder", prefix: "prefix", query: "query", queryKey: "queryKey", size: "size", value: "value", valueKey: "valueKey" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
893
+ PSelect = __decorate([
894
+ ProxyCmp({
895
+ defineCustomElementFn: undefined,
896
+ inputs: ['asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'disabled', 'displayKey', 'enableAutocomplete', 'error', 'helper', 'items', 'label', 'loading', 'maxDisplayedItems', 'placeholder', 'prefix', 'query', 'queryKey', 'size', 'value', 'valueKey']
897
+ })
898
+ ], PSelect);
899
+ export { PSelect };
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSelect, decorators: [{
901
+ type: Component,
902
+ args: [{
903
+ selector: 'p-select',
904
+ changeDetection: ChangeDetectionStrategy.OnPush,
905
+ template: '<ng-content></ng-content>',
906
+ inputs: ['asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'disabled', 'displayKey', 'enableAutocomplete', 'error', 'helper', 'items', 'label', 'loading', 'maxDisplayedItems', 'placeholder', 'prefix', 'query', 'queryKey', 'size', 'value', 'valueKey']
907
+ }]
908
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
909
+ let PSliderIndicator = class PSliderIndicator {
910
+ constructor(c, r, z) {
911
+ this.z = z;
912
+ c.detach();
913
+ this.el = r.nativeElement;
914
+ }
915
+ };
916
+ PSliderIndicator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSliderIndicator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
917
+ PSliderIndicator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PSliderIndicator, selector: "p-slider-indicator", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
918
+ PSliderIndicator = __decorate([
919
+ ProxyCmp({
920
+ defineCustomElementFn: undefined,
921
+ inputs: ['active']
922
+ })
923
+ ], PSliderIndicator);
924
+ export { PSliderIndicator };
925
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PSliderIndicator, decorators: [{
926
+ type: Component,
927
+ args: [{
928
+ selector: 'p-slider-indicator',
929
+ changeDetection: ChangeDetectionStrategy.OnPush,
930
+ template: '<ng-content></ng-content>',
931
+ inputs: ['active']
932
+ }]
933
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
934
+ let PStatus = class PStatus {
935
+ constructor(c, r, z) {
936
+ this.z = z;
937
+ c.detach();
938
+ this.el = r.nativeElement;
939
+ }
940
+ };
941
+ PStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStatus, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
942
+ PStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
943
+ PStatus = __decorate([
944
+ ProxyCmp({
945
+ defineCustomElementFn: undefined,
946
+ inputs: ['icon', 'iconFlip', 'iconRotate', 'variant']
947
+ })
948
+ ], PStatus);
949
+ export { PStatus };
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStatus, decorators: [{
951
+ type: Component,
952
+ args: [{
953
+ selector: 'p-status',
954
+ changeDetection: ChangeDetectionStrategy.OnPush,
955
+ template: '<ng-content></ng-content>',
956
+ inputs: ['icon', 'iconFlip', 'iconRotate', 'variant']
957
+ }]
958
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
959
+ let PStepper = class PStepper {
960
+ constructor(c, r, z) {
961
+ this.z = z;
962
+ c.detach();
963
+ this.el = r.nativeElement;
964
+ }
965
+ };
966
+ PStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
967
+ PStepper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PStepper, selector: "p-stepper", inputs: { activeStep: "activeStep", direction: "direction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
968
+ PStepper = __decorate([
969
+ ProxyCmp({
970
+ defineCustomElementFn: undefined,
971
+ inputs: ['activeStep', 'direction']
972
+ })
973
+ ], PStepper);
974
+ export { PStepper };
975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStepper, decorators: [{
976
+ type: Component,
977
+ args: [{
978
+ selector: 'p-stepper',
979
+ changeDetection: ChangeDetectionStrategy.OnPush,
980
+ template: '<ng-content></ng-content>',
981
+ inputs: ['activeStep', 'direction']
982
+ }]
983
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
984
+ let PStepperItem = class PStepperItem {
985
+ constructor(c, r, z) {
986
+ this.z = z;
987
+ c.detach();
988
+ this.el = r.nativeElement;
989
+ }
990
+ };
991
+ PStepperItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStepperItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
992
+ PStepperItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PStepperItem, selector: "p-stepper-item", inputs: { active: "active", align: "align", direction: "direction", finished: "finished" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
993
+ PStepperItem = __decorate([
994
+ ProxyCmp({
995
+ defineCustomElementFn: undefined,
996
+ inputs: ['active', 'align', 'direction', 'finished']
997
+ })
998
+ ], PStepperItem);
999
+ export { PStepperItem };
1000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStepperItem, decorators: [{
1001
+ type: Component,
1002
+ args: [{
1003
+ selector: 'p-stepper-item',
1004
+ changeDetection: ChangeDetectionStrategy.OnPush,
1005
+ template: '<ng-content></ng-content>',
1006
+ inputs: ['active', 'align', 'direction', 'finished']
1007
+ }]
1008
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1009
+ let PStepperLine = class PStepperLine {
1010
+ constructor(c, r, z) {
1011
+ this.z = z;
1012
+ c.detach();
1013
+ this.el = r.nativeElement;
1014
+ }
1015
+ };
1016
+ PStepperLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStepperLine, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1017
+ PStepperLine.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PStepperLine, selector: "p-stepper-line", inputs: { active: "active", direction: "direction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1018
+ PStepperLine = __decorate([
1019
+ ProxyCmp({
1020
+ defineCustomElementFn: undefined,
1021
+ inputs: ['active', 'direction']
1022
+ })
1023
+ ], PStepperLine);
1024
+ export { PStepperLine };
1025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PStepperLine, decorators: [{
1026
+ type: Component,
1027
+ args: [{
1028
+ selector: 'p-stepper-line',
1029
+ changeDetection: ChangeDetectionStrategy.OnPush,
1030
+ template: '<ng-content></ng-content>',
1031
+ inputs: ['active', 'direction']
1032
+ }]
1033
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1034
+ let PTabGroup = class PTabGroup {
1035
+ constructor(c, r, z) {
1036
+ this.z = z;
1037
+ c.detach();
1038
+ this.el = r.nativeElement;
1039
+ }
1040
+ };
1041
+ PTabGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1042
+ PTabGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PTabGroup, selector: "p-tab-group", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1043
+ PTabGroup = __decorate([
1044
+ ProxyCmp({
1045
+ defineCustomElementFn: undefined
1046
+ })
1047
+ ], PTabGroup);
1048
+ export { PTabGroup };
1049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTabGroup, decorators: [{
1050
+ type: Component,
1051
+ args: [{
1052
+ selector: 'p-tab-group',
1053
+ changeDetection: ChangeDetectionStrategy.OnPush,
1054
+ template: '<ng-content></ng-content>'
1055
+ }]
1056
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1057
+ let PTabItem = class PTabItem {
1058
+ constructor(c, r, z) {
1059
+ this.z = z;
1060
+ c.detach();
1061
+ this.el = r.nativeElement;
1062
+ }
1063
+ };
1064
+ PTabItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTabItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1065
+ PTabItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PTabItem, selector: "p-tab-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1066
+ PTabItem = __decorate([
1067
+ ProxyCmp({
1068
+ defineCustomElementFn: undefined,
1069
+ inputs: ['active']
1070
+ })
1071
+ ], PTabItem);
1072
+ export { PTabItem };
1073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTabItem, decorators: [{
1074
+ type: Component,
1075
+ args: [{
1076
+ selector: 'p-tab-item',
1077
+ changeDetection: ChangeDetectionStrategy.OnPush,
1078
+ template: '<ng-content></ng-content>',
1079
+ inputs: ['active']
1080
+ }]
1081
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1082
+ let PTableContainer = class PTableContainer {
1083
+ constructor(c, r, z) {
1084
+ this.z = z;
1085
+ c.detach();
1086
+ this.el = r.nativeElement;
1087
+ }
1088
+ };
1089
+ PTableContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1090
+ PTableContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PTableContainer, selector: "p-table-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1091
+ PTableContainer = __decorate([
1092
+ ProxyCmp({
1093
+ defineCustomElementFn: undefined
1094
+ })
1095
+ ], PTableContainer);
1096
+ export { PTableContainer };
1097
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableContainer, decorators: [{
1098
+ type: Component,
1099
+ args: [{
1100
+ selector: 'p-table-container',
1101
+ changeDetection: ChangeDetectionStrategy.OnPush,
1102
+ template: '<ng-content></ng-content>'
1103
+ }]
1104
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1105
+ let PTableFooter = class PTableFooter {
1106
+ constructor(c, r, z) {
1107
+ this.z = z;
1108
+ c.detach();
1109
+ this.el = r.nativeElement;
1110
+ proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'export']);
1111
+ }
1112
+ };
1113
+ PTableFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1114
+ PTableFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PTableFooter, selector: "p-table-footer", inputs: { enableExport: "enableExport", enablePageSize: "enablePageSize", enablePagination: "enablePagination", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1115
+ PTableFooter = __decorate([
1116
+ ProxyCmp({
1117
+ defineCustomElementFn: undefined,
1118
+ inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1119
+ })
1120
+ ], PTableFooter);
1121
+ export { PTableFooter };
1122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableFooter, decorators: [{
1123
+ type: Component,
1124
+ args: [{
1125
+ selector: 'p-table-footer',
1126
+ changeDetection: ChangeDetectionStrategy.OnPush,
1127
+ template: '<ng-content></ng-content>',
1128
+ inputs: ['enableExport', 'enablePageSize', 'enablePagination', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1129
+ }]
1130
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1131
+ let PTableHeader = class PTableHeader {
1132
+ constructor(c, r, z) {
1133
+ this.z = z;
1134
+ c.detach();
1135
+ this.el = r.nativeElement;
1136
+ proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'edit']);
1137
+ }
1138
+ };
1139
+ PTableHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1140
+ PTableHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PTableHeader, selector: "p-table-header", inputs: { activeQuickFilterIdentifier: "activeQuickFilterIdentifier", canEdit: "canEdit", editButtonTemplate: "editButtonTemplate", enableEdit: "enableEdit", enableFilter: "enableFilter", enableSearch: "enableSearch", filterButtonTemplate: "filterButtonTemplate", itemsSelectedAmount: "itemsSelectedAmount", query: "query", quickFilters: "quickFilters", selectedFiltersAmount: "selectedFiltersAmount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1141
+ PTableHeader = __decorate([
1142
+ ProxyCmp({
1143
+ defineCustomElementFn: undefined,
1144
+ inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
1145
+ })
1146
+ ], PTableHeader);
1147
+ export { PTableHeader };
1148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableHeader, decorators: [{
1149
+ type: Component,
1150
+ args: [{
1151
+ selector: 'p-table-header',
1152
+ changeDetection: ChangeDetectionStrategy.OnPush,
1153
+ template: '<ng-content></ng-content>',
1154
+ inputs: ['activeQuickFilterIdentifier', 'canEdit', 'editButtonTemplate', 'enableEdit', 'enableFilter', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'query', 'quickFilters', 'selectedFiltersAmount']
1155
+ }]
1156
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1157
+ let PTableRow = class PTableRow {
1158
+ constructor(c, r, z) {
1159
+ this.z = z;
1160
+ c.detach();
1161
+ this.el = r.nativeElement;
1162
+ }
1163
+ };
1164
+ PTableRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1165
+ PTableRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: PTableRow, selector: "p-table-row", inputs: { enableHover: "enableHover", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1166
+ PTableRow = __decorate([
1167
+ ProxyCmp({
1168
+ defineCustomElementFn: undefined,
1169
+ inputs: ['enableHover', 'variant']
1170
+ })
1171
+ ], PTableRow);
1172
+ export { PTableRow };
1173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTableRow, decorators: [{
1174
+ type: Component,
1175
+ args: [{
1176
+ selector: 'p-table-row',
1177
+ changeDetection: ChangeDetectionStrategy.OnPush,
1178
+ template: '<ng-content></ng-content>',
1179
+ inputs: ['enableHover', 'variant']
1180
+ }]
1181
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1182
+ let PToast = class PToast {
1183
+ constructor(c, r, z) {
1184
+ this.z = z;
1185
+ c.detach();
1186
+ this.el = r.nativeElement;
1187
+ proxyOutputs(this, this.el, ['action']);
1188
+ }
1189
+ };
1190
+ PToast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1191
+ PToast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
1192
+ PToast = __decorate([
1193
+ ProxyCmp({
1194
+ defineCustomElementFn: undefined,
1195
+ inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant']
1196
+ })
1197
+ ], PToast);
1198
+ export { PToast };
1199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PToast, decorators: [{
1200
+ type: Component,
1201
+ args: [{
1202
+ selector: 'p-toast',
1203
+ changeDetection: ChangeDetectionStrategy.OnPush,
1204
+ template: '<ng-content></ng-content>',
1205
+ inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant']
301
1206
  }]
302
1207
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
303
1208
  let PTooltip = class PTooltip {
@@ -305,24 +1210,25 @@ let PTooltip = class PTooltip {
305
1210
  this.z = z;
306
1211
  c.detach();
307
1212
  this.el = r.nativeElement;
1213
+ proxyOutputs(this, this.el, ['isOpen']);
308
1214
  }
309
1215
  };
310
- 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 });
311
- 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 });
1216
+ PTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1217
+ PTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", 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 });
312
1218
  PTooltip = __decorate([
313
1219
  ProxyCmp({
314
1220
  defineCustomElementFn: undefined,
315
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'variant']
1221
+ inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
316
1222
  })
317
1223
  ], PTooltip);
318
1224
  export { PTooltip };
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PTooltip, decorators: [{
1225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: PTooltip, decorators: [{
320
1226
  type: Component,
321
1227
  args: [{
322
1228
  selector: 'p-tooltip',
323
1229
  changeDetection: ChangeDetectionStrategy.OnPush,
324
1230
  template: '<ng-content></ng-content>',
325
- inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'variant']
1231
+ inputs: ['canManuallyClose', 'placement', 'popover', 'show', 'strategy', 'variant']
326
1232
  }]
327
1233
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3N0ZW5jaWwvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7SUFtQjFELE9BQU8sU0FBUCxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO3FHQU5ZLE9BQU87eUZBQVAsT0FBTyx3SUFIUiwyQkFBMkI7QUFHMUIsT0FBTztJQVZuQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztLQUNuRCxDQUFDO0dBT1csT0FBTyxDQU1uQjtTQU5ZLE9BQU87NEZBQVAsT0FBTztrQkFObkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztpQkFDbkQ7O0lBNEJZLE9BQU8sU0FBUCxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxD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QTJCO0FBRzFCLGVBQWU7SUFWM0IsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7S0FDbkIsQ0FBQztHQU9XLGVBQWUsQ0FNM0I7U0FOWSxlQUFlOzRGQUFmLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDbkI7O0lBc0JZLFFBQVEsU0FBUixRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO3NHQU5ZLFFBQVE7MEZBQVIsUUFBUSxpTEFIVCwyQkFBMkI7QUFHMUIsUUFBUTtJQVZwQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUN4RSxDQUFDO0dBT1csUUFBUSxDQU1wQjtTQU5ZLFFBQVE7NEZBQVIsUUFBUTtrQkFOcEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztpQkFDeEUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRzIH0gZnJvbSAnQHBhcGVybGVzcy9jb3JlJztcblxuXG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBBdmF0YXIgZXh0ZW5kcyBDb21wb25lbnRzLlBBdmF0YXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkZWZhdWx0SW1hZ2UnLCAnc2l6ZScsICdzcmMnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2RlZmF1bHRJbWFnZScsICdzaXplJywgJ3NyYycsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUEF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlBCdXR0b24ge1xuICAvKipcbiAgICogQnV0dG9uIGNsaWNrIGV2ZW50IFxuICAgKi9cbiAgb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnbG9hZGluZycsICdzaXplJywgJ3RhcmdldCcsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUENvdW50ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBDb3VudGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jb3VudGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgUENvdW50ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuUERpdmlkZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBQRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBIZWxwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBIZWxwZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWhlbHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIFBIZWxwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSWNvbiBleHRlbmRzIENvbXBvbmVudHMuUEljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydmbGlwJywgJ3JvdGF0ZScsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZmxpcCcsICdyb3RhdGUnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSWxsdXN0cmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5QSWxsdXN0cmF0aW9uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbGx1c3RyYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQSWxsdXN0cmF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEluZm9QYW5lbCBleHRlbmRzIENvbXBvbmVudHMuUEluZm9QYW5lbCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdjb250ZW50JywgJ2hlYWRlcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWluZm8tcGFuZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdjb250ZW50JywgJ2hlYWRlcicsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUEluZm9QYW5lbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBMb2FkZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjb2xvcicsICdtb2RhbERlc2NyaXB0aW9uJywgJ21vZGFsVGl0bGUnLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxvYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sb3InLCAnbW9kYWxEZXNjcmlwdGlvbicsICdtb2RhbFRpdGxlJywgJ3Nob3cnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBMb2FkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTmF2aWdhdGlvbkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBOYXZpZ2F0aW9uSXRlbSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudGVyJywgJ2hyZWYnLCAnaWNvbicsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbmF2aWdhdGlvbi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnRlcicsICdocmVmJywgJ2ljb24nLCAndGFyZ2V0J11cbn0pXG5leHBvcnQgY2xhc3MgUE5hdmlnYXRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFBhZ2luYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdpbmF0aW9uIHtcbiAgLyoqXG4gICAqICBcbiAgICovXG4gIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ3BhZ2UnLCAncGFnZVNpemUnLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcGFnaW5hdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsncGFnZScsICdwYWdlU2l6ZScsICd0b3RhbCddXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdpbmF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvbkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdpbmF0aW9uSXRlbSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdpbmF0aW9uSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5QVG9vbHRpcCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19
1234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3N0ZW5jaWwvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUF5QmhFLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFFckIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDOzt1R0FOVSxVQUFVOzJGQUFWLFVBQVUsNklBSFgsMkJBQTJCO0FBRzFCLFVBQVU7SUFWdEIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7S0FDcEQsQ0FBQztHQU9XLFVBQVUsQ0FPdEI7U0FQWSxVQUFVOzJGQUFWLFVBQVU7a0JBTnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7aUJBQ3BEOztBQXVCTSxJQUFNLE9BQU8sR0FBYixNQUFNLE9BQU87SUFFbEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7b0dBTFUsT0FBTzt3RkFBUCxPQUFPLHdJQUhSLDJCQUEyQjtBQUcxQixPQUFPO0lBVm5CLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDO0tBQ25ELENBQUM7R0FPVyxPQUFPLENBTW5CO1NBTlksT0FBTzsyRkFBUCxPQUFPO2tCQU5uQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDO2lCQUNuRDs7QUFzQk0sSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzt5R0FMVSxZQUFZOzZGQUFaLFlBQVksa0ZBSGIsMkJBQTJCO0FBRzFCLFlBQVk7SUFWeEIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7S0FDbEIsQ0FBQztHQU9XLFlBQVksQ0FNeEI7U0FOWSxZQUFZOzJGQUFaLFlBQVk7a0JBTnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEI7O0FBc0JNLElBQU0sU0FBUyxHQUFmLE1BQU0sU0FBUztJQUVwQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOztzR0FMVSxTQUFTOzBGQUFULFNBQVMsc0ZBSFYsMkJBQTJCO0FBRzFCLFNBQVM7SUFWckIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7S0FDdEIsQ0FBQztHQU9XLFNBQVMsQ0FNckI7U0FOWSxTQUFTOzJGQUFULFNBQVM7a0JBTnJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7aUJBQ3RCOztBQTRCTSxJQUFNLE9BQU8sR0FBYixNQUFNLE9BQU87SUFFbEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDOztvR0FOVSxPQUFPO3dGQUFQLE9BQU8sOFdBSFIsMkJBQTJCO0FBRzFCLE9BQU87SUFWbkIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7S0FDaEwsQ0FBQztHQU9XLE9BQU8sQ0FPbkI7U0FQWSxPQUFPOzJGQUFQLE9BQU87a0JBTm5CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7aUJBQ2hMOztBQXVCTSxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFcEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7c0dBTFUsU0FBUzswRkFBVCxTQUFTLDJGQUhWLDJCQUEyQjtBQUcxQixTQUFTO0lBVnJCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQ3hCLENBQUM7R0FPVyxTQUFTLENBTXJCO1NBTlksU0FBUzsyRkFBVCxTQUFTO2tCQU5yQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN4Qjs7QUFzQk0sSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQUV6QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzsyR0FMVSxjQUFjOytGQUFkLGNBQWMsOEdBSGYsMkJBQTJCO0FBRzFCLGNBQWM7SUFWMUIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO0tBQ2hDLENBQUM7R0FPVyxjQUFjLENBTTFCO1NBTlksY0FBYzsyRkFBZCxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO2lCQUNoQzs7QUFzQk0sSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUV0QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzt3R0FMVSxXQUFXOzRGQUFYLFdBQVcsbUdBSFosMkJBQTJCO0FBRzFCLFdBQVc7SUFWdkIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO0tBQzVCLENBQUM7R0FPVyxXQUFXLENBTXZCO1NBTlksV0FBVzsyRkFBWCxXQUFXO2tCQU52QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztpQkFDNUI7O0FBc0JNLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7SUFFekIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7MkdBTFUsY0FBYzsrRkFBZCxjQUFjLG9PQUhmLDJCQUEyQjtBQUcxQixjQUFjO0lBVjFCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDO0tBQzdGLENBQUM7R0FPVyxjQUFjLENBTTFCO1NBTlksY0FBYzsyRkFBZCxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUM7aUJBQzdGOztBQXNCTSxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7cUdBTFUsUUFBUTt5RkFBUixRQUFRLCtGQUhULDJCQUEyQjtBQUcxQixRQUFRO0lBVnBCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUM1QixDQUFDO0dBT1csUUFBUSxDQU1wQjtTQU5ZLFFBQVE7MkZBQVIsUUFBUTtrQkFOcEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7aUJBQzVCOztBQW9CTSxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7cUdBTFUsUUFBUTt5RkFBUixRQUFRLGlEQUZULDJCQUEyQjtBQUUxQixRQUFRO0lBUnBCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7S0FDakMsQ0FBQztHQU1XLFFBQVEsQ0FNcEI7U0FOWSxRQUFROzJGQUFSLFFBQVE7a0JBTHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs7QUE0Qk0sSUFBTSxTQUFTLEdBQWYsTUFBTSxTQUFTO0lBRXBCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7c0dBTlUsU0FBUzswRkFBVCxTQUFTLDhTQUhWLDJCQUEyQjtBQUcxQixTQUFTO0lBVnJCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO0tBQ3pJLENBQUM7R0FPVyxTQUFTLENBT3JCO1NBUFksU0FBUzsyRkFBVCxTQUFTO2tCQU5yQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDO2lCQUN6STs7QUF1Qk0sSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFFakMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7bUhBTFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsbUdBSHZCLDJCQUEyQjtBQUcxQixzQkFBc0I7SUFWbEMsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDckIsQ0FBQztHQU9XLHNCQUFzQixDQU1sQztTQU5ZLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3JCOztBQXNCTSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUU1QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzs4R0FMVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvSUFIbEIsMkJBQTJCO0FBRzFCLGlCQUFpQjtJQVY3QixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDO0tBQzFDLENBQUM7R0FPVyxpQkFBaUIsQ0FNN0I7U0FOWSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUM7aUJBQzFDOztBQXNCTSxJQUFNLE9BQU8sR0FBYixNQUFNLE9BQU87SUFFbEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7b0dBTFUsT0FBTzt3RkFBUCxPQUFPLG9GQUhSLDJCQUEyQjtBQUcxQixPQUFPO0lBVm5CLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO0tBQ3RCLENBQUM7R0FPVyxPQUFPLENBTW5CO1NBTlksT0FBTzsyRkFBUCxPQUFPO2tCQU5uQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN0Qjs7QUFzQk0sSUFBTSxLQUFLLEdBQVgsTUFBTSxLQUFLO0lBRWhCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O2tHQUxVLEtBQUs7c0ZBQUwsS0FBSyw0SEFITiwyQkFBMkI7QUFHMUIsS0FBSztJQVZqQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUM5QyxDQUFDO0dBT1csS0FBSyxDQU1qQjtTQU5ZLEtBQUs7MkZBQUwsS0FBSztrQkFOakIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztpQkFDOUM7O0FBc0JNLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFFeEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7MEdBTFUsYUFBYTs4RkFBYixhQUFhLHNGQUhkLDJCQUEyQjtBQUcxQixhQUFhO0lBVnpCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO0tBQ3BCLENBQUM7R0FPVyxhQUFhLENBTXpCO1NBTlksYUFBYTsyRkFBYixhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCOztBQXNCTSxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBRXJCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O3VHQUxVLFVBQVU7MkZBQVYsVUFBVSxrSkFIWCwyQkFBMkI7QUFHMUIsVUFBVTtJQVZ0QixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztLQUN0RCxDQUFDO0dBT1csVUFBVSxDQU10QjtTQU5ZLFVBQVU7MkZBQVYsVUFBVTtrQkFOdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztpQkFDdEQ7O0FBc0JNLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFFdEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7d0dBTFUsV0FBVzs0RkFBWCxXQUFXLGlVQUhaLDJCQUEyQjtBQUcxQixXQUFXO0lBVnZCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO0tBQ3RKLENBQUM7R0FPVyxXQUFXLENBTXZCO1NBTlksV0FBVzsyRkFBWCxXQUFXO2tCQU52QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO2lCQUN0Sjs7QUFzQk0sSUFBTSxNQUFNLEdBQVosTUFBTSxNQUFNO0lBRWpCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O21HQUxVLE1BQU07dUZBQU4sTUFBTSw2TkFIUCwyQkFBMkI7QUFHMUIsTUFBTTtJQVZsQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7S0FDbEcsQ0FBQztHQU9XLE1BQU0sQ0FNbEI7U0FOWSxNQUFNOzJGQUFOLE1BQU07a0JBTmxCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO2lCQUNsRzs7QUFzQk0sSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O29HQUxVLE9BQU87d0ZBQVAsT0FBTyxnRkFIUiwyQkFBMkI7QUFHMUIsT0FBTztJQVZuQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztLQUNwQixDQUFDO0dBT1csT0FBTyxDQU1uQjtTQU5ZLE9BQU87MkZBQVAsT0FBTztrQkFObkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDcEI7O0FBc0JNLElBQU0sT0FBTyxHQUFiLE1BQU0sT0FBTztJQUVsQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOztvR0FMVSxPQUFPO3dGQUFQLE9BQU8sOEtBSFIsMkJBQTJCO0FBRzFCLE9BQU87SUFWbkIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7S0FDdkUsQ0FBQztHQU9XLE9BQU8sQ0FNbkI7U0FOWSxPQUFPOzJGQUFQLE9BQU87a0JBTm5CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7aUJBQ3ZFOztBQTRCTSxJQUFNLE1BQU0sR0FBWixNQUFNLE1BQU07SUFFakIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDOzttR0FOVSxNQUFNO3VGQUFOLE1BQU0sdU1BSFAsMkJBQTJCO0FBRzFCLE1BQU07SUFWbEIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7S0FDckYsQ0FBQztHQU9XLE1BQU0sQ0FPbEI7U0FQWSxNQUFNOzJGQUFOLE1BQU07a0JBTmxCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7aUJBQ3JGOztBQXVCTSxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBRXJCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O3VHQUxVLFVBQVU7MkZBQVYsVUFBVSxvRkFIWCwyQkFBMkI7QUFHMUIsVUFBVTtJQVZ0QixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztLQUNwQixDQUFDO0dBT1csVUFBVSxDQU10QjtTQU5ZLFVBQVU7MkZBQVYsVUFBVTtrQkFOdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDcEI7O0FBc0JNLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFFMUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7NEdBTFUsZUFBZTtnR0FBZixlQUFlLG1GQUhoQiwyQkFBMkI7QUFHMUIsZUFBZTtJQVYzQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztLQUNqQixDQUFDO0dBT1csZUFBZSxDQU0zQjtTQU5ZLGVBQWU7MkZBQWYsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO2lCQUNqQjs7QUFvQk0sSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzt5R0FMVSxZQUFZOzZGQUFaLFlBQVksc0RBRmIsMkJBQTJCO0FBRTFCLFlBQVk7SUFSeEIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztLQUNqQyxDQUFDO0dBTVcsWUFBWSxDQU14QjtTQU5ZLFlBQVk7MkZBQVosWUFBWTtrQkFMeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7O0FBNEJNLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFFdkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDOzt5R0FOVSxZQUFZOzZGQUFaLFlBQVksMEZBSGIsMkJBQTJCO0FBRzFCLFlBQVk7SUFWeEIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7S0FDdEIsQ0FBQztHQU9XLFlBQVksQ0FPeEI7U0FQWSxZQUFZOzJGQUFaLFlBQVk7a0JBTnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztpQkFDdEI7O0FBdUJNLElBQU0sT0FBTyxHQUFiLE1BQU0sT0FBTztJQUVsQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOztvR0FMVSxPQUFPO3dGQUFQLE9BQU8sMEdBSFIsMkJBQTJCO0FBRzFCLE9BQU87SUFWbkIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0tBQ2xDLENBQUM7R0FPVyxPQUFPLENBTW5CO1NBTlksT0FBTzsyRkFBUCxPQUFPO2tCQU5uQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztpQkFDbEM7O0FBc0JNLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFFMUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7NEdBTFUsZUFBZTtnR0FBZixlQUFlLHlKQUhoQiwyQkFBMkI7QUFHMUIsZUFBZTtJQVYzQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7S0FDeEQsQ0FBQztHQU9XLGVBQWUsQ0FNM0I7U0FOWSxlQUFlOzJGQUFmLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7aUJBQ3hEOztBQTRCTSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBRTFCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7NEdBTlUsZUFBZTtnR0FBZixlQUFlLGdRQUhoQiwyQkFBMkI7QUFHMUIsZUFBZTtJQVYzQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7S0FDN0csQ0FBQztHQU9XLGVBQWUsQ0FPM0I7U0FQWSxlQUFlOzJGQUFmLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUM7aUJBQzdHOztBQTZCTSxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBRXRCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7d0dBTlUsV0FBVzs0RkFBWCxXQUFXLDBKQUhaLDJCQUEyQjtBQUcxQixXQUFXO0lBVnZCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7S0FDMUQsQ0FBQztHQU9XLFdBQVcsQ0FPdkI7U0FQWSxXQUFXOzJGQUFYLFdBQVc7a0JBTnZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQztpQkFDMUQ7O0FBdUJNLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFFMUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7NEdBTFUsZUFBZTtnR0FBZixlQUFlLHVGQUhoQiwyQkFBMkI7QUFHMUIsZUFBZTtJQVYzQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQixDQUFDO0dBT1csZUFBZSxDQU0zQjtTQU5ZLGVBQWU7MkZBQWYsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUNuQjs7QUFzQk0sSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O3FHQUxVLFFBQVE7eUZBQVIsUUFBUSwrRkFIVCwyQkFBMkI7QUFHMUIsUUFBUTtJQVZwQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7S0FDNUIsQ0FBQztHQU9XLFFBQVEsQ0FNcEI7U0FOWSxRQUFROzJGQUFSLFFBQVE7a0JBTnBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO2lCQUM1Qjs7QUFvQk0sSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFFNUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7OEdBTFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkRBRmxCLDJCQUEyQjtBQUUxQixpQkFBaUI7SUFSN0IsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztLQUNqQyxDQUFDO0dBTVcsaUJBQWlCLENBTTdCO1NBTlksaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOztBQXNCTSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O3lHQUxVLFlBQVk7NkZBQVosWUFBWSxrSkFIYiwyQkFBMkI7QUFHMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksQ0FBQztLQUNyRCxDQUFDO0dBT1csWUFBWSxDQU14QjtTQU5ZLFlBQVk7MkZBQVosWUFBWTtrQkFOeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDO2lCQUNyRDs7QUFnQ00sSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBRWxCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7O29HQU5VLE9BQU87d0ZBQVAsT0FBTyxnaEJBSFIsMkJBQTJCO0FBRzFCLE9BQU87SUFWbkIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQztLQUN0USxDQUFDO0dBT1csT0FBTyxDQU9uQjtTQVBZLE9BQU87MkZBQVAsT0FBTztrQkFObkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDO2lCQUN0UTs7QUF1Qk0sSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFFM0IsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7NkdBTFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd0ZBSGpCLDJCQUEyQjtBQUcxQixnQkFBZ0I7SUFWNUIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7S0FDbkIsQ0FBQztHQU9XLGdCQUFnQixDQU01QjtTQU5ZLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQ25COztBQXNCTSxJQUFNLE9BQU8sR0FBYixNQUFNLE9BQU87SUFFbEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7b0dBTFUsT0FBTzt3RkFBUCxPQUFPLDhJQUhSLDJCQUEyQjtBQUcxQixPQUFPO0lBVm5CLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDO0tBQ3RELENBQUM7R0FPVyxPQUFPLENBTW5CO1NBTlksT0FBTzsyRkFBUCxPQUFPO2tCQU5uQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDO2lCQUN0RDs7QUFzQk0sSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7O3FHQUxVLFFBQVE7eUZBQVIsUUFBUSwrR0FIVCwyQkFBMkI7QUFHMUIsUUFBUTtJQVZwQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7S0FDcEMsQ0FBQztHQU9XLFFBQVEsQ0FNcEI7U0FOWSxRQUFROzJGQUFSLFFBQVE7a0JBTnBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2lCQUNwQzs7QUFzQk0sSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzt5R0FMVSxZQUFZOzZGQUFaLFlBQVksa0pBSGIsMkJBQTJCO0FBRzFCLFlBQVk7SUFWeEIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7S0FDckQsQ0FBQztHQU9XLFlBQVksQ0FNeEI7U0FOWSxZQUFZOzJGQUFaLFlBQVk7a0JBTnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQztpQkFDckQ7O0FBc0JNLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFFdkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7eUdBTFUsWUFBWTs2RkFBWixZQUFZLDRHQUhiLDJCQUEyQjtBQUcxQixZQUFZO0lBVnhCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQztLQUNoQyxDQUFDO0dBT1csWUFBWSxDQU14QjtTQU5ZLFlBQVk7MkZBQVosWUFBWTtrQkFOeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQztpQkFDaEM7O0FBb0JNLElBQU0sU0FBUyxHQUFmLE1BQU0sU0FBUztJQUVwQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOztzR0FMVSxTQUFTOzBGQUFULFNBQVMsbURBRlYsMkJBQTJCO0FBRTFCLFNBQVM7SUFSckIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztLQUNqQyxDQUFDO0dBTVcsU0FBUyxDQU1yQjtTQU5ZLFNBQVM7MkZBQVQsU0FBUztrQkFMckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOztBQXNCTSxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7cUdBTFUsUUFBUTt5RkFBUixRQUFRLGdGQUhULDJCQUEyQjtBQUcxQixRQUFRO0lBVnBCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ25CLENBQUM7R0FPVyxRQUFRLENBTXBCO1NBTlksUUFBUTsyRkFBUixRQUFRO2tCQU5wQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUNuQjs7QUFvQk0sSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUUxQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzs0R0FMVSxlQUFlO2dHQUFmLGVBQWUseURBRmhCLDJCQUEyQjtBQUUxQixlQUFlO0lBUjNCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7S0FDakMsQ0FBQztHQU1XLGVBQWUsQ0FNM0I7U0FOWSxlQUFlOzJGQUFmLGVBQWU7a0JBTDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOztBQW9DTSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7O3lHQU5VLFlBQVk7NkZBQVosWUFBWSxzU0FIYiwyQkFBMkI7QUFHMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztLQUNuSSxDQUFDO0dBT1csWUFBWSxDQU94QjtTQVBZLFlBQVk7MkZBQVosWUFBWTtrQkFOeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO2lCQUNuSTs7QUF5Q00sSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7O3lHQU5VLFlBQVk7NkZBQVosWUFBWSwwY0FIYiwyQkFBMkI7QUFHMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLDZCQUE2QixFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixDQUFDO0tBQ3hOLENBQUM7R0FPVyxZQUFZLENBT3hCO1NBUFksWUFBWTsyRkFBWixZQUFZO2tCQU54QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQztpQkFDeE47O0FBdUJNLElBQU0sU0FBUyxHQUFmLE1BQU0sU0FBUztJQUVwQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOztzR0FMVSxTQUFTOzBGQUFULFNBQVMsK0dBSFYsMkJBQTJCO0FBRzFCLFNBQVM7SUFWckIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO0tBQ25DLENBQUM7R0FPVyxTQUFTLENBTXJCO1NBTlksU0FBUzsyRkFBVCxTQUFTO2tCQU5yQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQztpQkFDbkM7O0FBNEJNLElBQU0sTUFBTSxHQUFaLE1BQU0sTUFBTTtJQUVqQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O21HQU5VLE1BQU07dUZBQU4sTUFBTSxxUEFIUCwyQkFBMkI7QUFHMUIsTUFBTTtJQVZsQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7S0FDN0csQ0FBQztHQU9XLE1BQU0sQ0FPbEI7U0FQWSxNQUFNOzJGQUFOLE1BQU07a0JBTmxCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO2lCQUM3Rzs7QUE2Qk0sSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7cUdBTlUsUUFBUTt5RkFBUixRQUFRLHVNQUhULDJCQUEyQjtBQUcxQixRQUFRO0lBVnBCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztLQUNwRixDQUFDO0dBT1csUUFBUSxDQU9wQjtTQVBZLFFBQVE7MkZBQVIsUUFBUTtrQkFOcEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7aUJBQ3BGIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BwYXBlcmxlc3MvY29yZSc7XG5cblxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5QQWNjb3JkaW9uIHtcbiAgLyoqXG4gICAqIE9wZW4gY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgaXNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2hlYWRlcicsICdvcGVuJywgJ29wZW5hYmxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2xvc2VhYmxlJywgJ2hlYWRlcicsICdvcGVuJywgJ29wZW5hYmxlJ11cbn0pXG5leHBvcnQgY2xhc3MgUEFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lzT3BlbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5QQXZhdGFyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZGVmYXVsdEltYWdlJywgJ3NpemUnLCAnc3JjJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0SW1hZ2UnLCAnc2l6ZScsICdzcmMnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBBdmF0YXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQXZhdGFyR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlBBdmF0YXJHcm91cCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2V4dHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWF2YXRhci1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZXh0cmEnXVxufSlcbmV4cG9ydCBjbGFzcyBQQXZhdGFyR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQmFja2Ryb3AgZXh0ZW5kcyBDb21wb25lbnRzLlBCYWNrZHJvcCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1iYWNrZHJvcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYXBwbHlCbHVyJ11cbn0pXG5leHBvcnQgY2xhc3MgUEJhY2tkcm9wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuUEJ1dHRvbiB7XG4gIC8qKlxuICAgKiBCdXR0b24gY2xpY2sgZXZlbnQgXG4gICAqL1xuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2hldnJvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Pbmx5JywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2luaGVyaXRUZXh0JywgJ2xvYWRpbmcnLCAnc2l6ZScsICd0YXJnZXQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NoZXZyb24nLCAnY2hldnJvblBvc2l0aW9uJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uT25seScsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdpbmhlcml0VGV4dCcsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZEJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLlBDYXJkQm9keSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2luaGVyaXRUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNhcmQtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaW5oZXJpdFRleHQnXVxufSlcbmV4cG9ydCBjbGFzcyBQQ2FyZEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUENhcmRDb250YWluZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydob3ZlcmFibGUnLCAnc2hhZG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNhcmQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydob3ZlcmFibGUnLCAnc2hhZG93J11cbn0pXG5leHBvcnQgY2xhc3MgUENhcmRDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUENhcmRIZWFkZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhcnJvdycsICdoZWFkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2FyZC1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2hlYWRlciddXG59KVxuZXhwb3J0IGNsYXNzIFBDYXJkSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUENvbnRlbnRTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBDb250ZW50U2xpZGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZGlzYWJsZUF1dG9DZW50ZXInLCAnZGlzYWJsZURyYWcnLCAnZGlzYWJsZUluZGljYXRvckNsaWNrJywgJ2hpZGVNb2JpbGVJbmRpY2F0b3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY29udGVudC1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVBdXRvQ2VudGVyJywgJ2Rpc2FibGVEcmFnJywgJ2Rpc2FibGVJbmRpY2F0b3JDbGljaycsICdoaWRlTW9iaWxlSW5kaWNhdG9yJ11cbn0pXG5leHBvcnQgY2xhc3MgUENvbnRlbnRTbGlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ291bnRlciBleHRlbmRzIENvbXBvbmVudHMuUENvdW50ZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY291bnRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnc2l6ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUENvdW50ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuUERpdmlkZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBQRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuUERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIE9wZW4gY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgaXNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2FsY3VsYXRlV2lkdGgnLCAnY2hldnJvbkRpcmVjdGlvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnZGlzYWJsZVRyaWdnZXJDbGljaycsICdpbnNpZGVDbGljaycsICdwbGFjZW1lbnQnLCAnc2hvdycsICdzdHJhdGVneSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2FsY3VsYXRlV2lkdGgnLCAnY2hldnJvbkRpcmVjdGlvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnZGlzYWJsZVRyaWdnZXJDbGljaycsICdpbnNpZGVDbGljaycsICdwbGFjZW1lbnQnLCAnc2hvdycsICdzdHJhdGVneSddXG59KVxuZXhwb3J0IGNsYXNzIFBEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lzT3BlbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJvcGRvd25NZW51Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd25NZW51Q29udGFpbmVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnbWF4V2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJvcGRvd24tbWVudS1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ21heFdpZHRoJ11cbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duTWVudUNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcm9wZG93bk1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJvcGRvd25NZW51SXRlbSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdlbmFibGVIb3ZlcicsICdpY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duLW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2VuYWJsZUhvdmVyJywgJ2ljb24nXVxufSlcbmV4cG9ydCBjbGFzcyBQRHJvcGRvd25NZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBIZWxwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBIZWxwZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydwbGFjZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaGVscGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydwbGFjZW1lbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQSGVscGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEljb24gZXh0ZW5kcyBDb21wb25lbnRzLlBJY29uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZmxpcCcsICdyb3RhdGUnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2ZsaXAnLCAncm90YXRlJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUElsbHVzdHJhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuUElsbHVzdHJhdGlvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaWxsdXN0cmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUElsbHVzdHJhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbmZvUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlBJbmZvUGFuZWwge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnY29udGVudCcsICdoZWFkZXInLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbmZvLXBhbmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnY29udGVudCcsICdoZWFkZXInLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBJbmZvUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSW5wdXRHcm91cCBleHRlbmRzIENvbXBvbmVudHMuUElucHV0R3JvdXAge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvcicsICdmb2N1c2VkJywgJ2hlbHBlcicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2xhYmVsJywgJ3ByZWZpeCcsICdyZXF1aXJlZCcsICdzaXplJywgJ3N1ZmZpeCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbnB1dC1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3InLCAnZm9jdXNlZCcsICdoZWxwZXInLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUG9zaXRpb24nLCAnaWNvblJvdGF0ZScsICdsYWJlbCcsICdwcmVmaXgnLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdWZmaXgnXVxufSlcbmV4cG9ydCBjbGFzcyBQSW5wdXRHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuUExhYmVsIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2lyY2xlJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblJvdGF0ZScsICdtb2JpbGVJY29uJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2lyY2xlJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblJvdGF0ZScsICdtb2JpbGVJY29uJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMYXlvdXQgZXh0ZW5kcyBDb21wb25lbnRzLlBMYXlvdXQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxheW91dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBMYXlvdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTG9hZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QTG9hZGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY29sb3InLCAnbW9kYWxEZXNjcmlwdGlvbicsICdtb2RhbFRpdGxlJywgJ3Nob3cnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1sb2FkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ21vZGFsRGVzY3JpcHRpb24nLCAnbW9kYWxUaXRsZScsICdzaG93JywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBQTG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWwge1xuICAvKipcbiAgICogQ2xvc2UgY2xpY2sgZXZlbnQgXG4gICAqL1xuICBjbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdzaG93JywgJ3Nob3dNb2JpbGVDbG9zZScsICdzaG93TW9iaWxlRm9vdGVyJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaGVhZGVyJywgJ3Nob3cnLCAnc2hvd01vYmlsZUNsb3NlJywgJ3Nob3dNb2JpbGVGb290ZXInLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUE1vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsQm9keSBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsQm9keSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTW9kYWxDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBNb2RhbENvbnRhaW5lciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgUE1vZGFsQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWxGb290ZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW1vZGFsLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBNb2RhbEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsSGVhZGVyIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50IFxuICAgKi9cbiAgY2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydzaG93Q2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydzaG93Q2xvc2UnXVxufSlcbmV4cG9ydCBjbGFzcyBQTW9kYWxIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTmF2YmFyIGV4dGVuZHMgQ29tcG9uZW50cy5QTmF2YmFyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2xvc2VUZXh0JywgJ21lbnVUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW5hdmJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2xvc2VUZXh0JywgJ21lbnVUZXh0J11cbn0pXG5leHBvcnQgY2xhc3MgUE5hdmJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUE5hdmlnYXRpb25JdGVtIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvdW50ZXInLCAnaHJlZicsICdpY29uJywgJ3RhcmdldCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1uYXZpZ2F0aW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudGVyJywgJ2hyZWYnLCAnaWNvbicsICd0YXJnZXQnXVxufSlcbmV4cG9ydCBjbGFzcyBQTmF2aWdhdGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnZVNpemVTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdlU2l6ZVNlbGVjdCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgc2l6ZSBjaGFuZ2VzIFxuICAgKi9cbiAgc2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYnV0dG9uU2l6ZScsICdidXR0b25UZW1wbGF0ZScsICdjaGV2cm9uUG9zaXRpb24nLCAnaGlkZGVuJywgJ2l0ZW1UZW1wbGF0ZScsICdzaXplJywgJ3NpemVPcHRpb25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXBhZ2Utc2l6ZS1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2J1dHRvblNpemUnLCAnYnV0dG9uVGVtcGxhdGUnLCAnY2hldnJvblBvc2l0aW9uJywgJ2hpZGRlbicsICdpdGVtVGVtcGxhdGUnLCAnc2l6ZScsICdzaXplT3B0aW9ucyddXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdlU2l6ZVNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpemVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFBhZ2luYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBQYWdpbmF0aW9uIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXMgXG4gICAqL1xuICBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcGFnaW5hdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaGlkZU9uU2luZ2xlUGFnZScsICdwYWdlJywgJ3BhZ2VTaXplJywgJ3RvdGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwYWdlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQYWdpbmF0aW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFBhZ2luYXRpb25JdGVtIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXBhZ2luYXRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5leHBvcnQgY2xhc3MgUFBhZ2luYXRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFByb2ZpbGUgZXh0ZW5kcyBDb21wb25lbnRzLlBQcm9maWxlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXByb2ZpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBQcm9maWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlZ21lbnRDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWdtZW50Q29udGFpbmVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zZWdtZW50LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlZ21lbnRJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QU2VnbWVudEl0ZW0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhY3RpdmUnLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlZ21lbnQtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblJvdGF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBTZWdtZW50SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWxlY3Qge1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgcXVlcnkgb2YgdGhlIGF1dG9jb21wbGV0ZSBjaGFuZ2VzIFxuICAgKi9cbiAgcXVlcnlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMgXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYXN5bmNGaWx0ZXInLCAnYXV0b1NlbGVjdEZpcnN0JywgJ2F1dG9jb21wbGV0ZVBsYWNlaG9sZGVyJywgJ2Rpc2FibGVkJywgJ2Rpc3BsYXlLZXknLCAnZW5hYmxlQXV0b2NvbXBsZXRlJywgJ2Vycm9yJywgJ2hlbHBlcicsICdpdGVtcycsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heERpc3BsYXllZEl0ZW1zJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdxdWVyeScsICdxdWVyeUtleScsICdzaXplJywgJ3ZhbHVlJywgJ3ZhbHVlS2V5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYXN5bmNGaWx0ZXInLCAnYXV0b1NlbGVjdEZpcnN0JywgJ2F1dG9jb21wbGV0ZVBsYWNlaG9sZGVyJywgJ2Rpc2FibGVkJywgJ2Rpc3BsYXlLZXknLCAnZW5hYmxlQXV0b2NvbXBsZXRlJywgJ2Vycm9yJywgJ2hlbHBlcicsICdpdGVtcycsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heERpc3BsYXllZEl0ZW1zJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdxdWVyeScsICdxdWVyeUtleScsICdzaXplJywgJ3ZhbHVlJywgJ3ZhbHVlS2V5J11cbn0pXG5leHBvcnQgY2xhc3MgUFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3F1ZXJ5Q2hhbmdlJywgJ3ZhbHVlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTbGlkZXJJbmRpY2F0b3IgZXh0ZW5kcyBDb21wb25lbnRzLlBTbGlkZXJJbmRpY2F0b3Ige31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhY3RpdmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc2xpZGVyLWluZGljYXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5leHBvcnQgY2xhc3MgUFNsaWRlckluZGljYXRvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTdGF0dXMgZXh0ZW5kcyBDb21wb25lbnRzLlBTdGF0dXMge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Sb3RhdGUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zdGF0dXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblJvdGF0ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFN0YXR1cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGl2ZVN0ZXAnLCAnZGlyZWN0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZVN0ZXAnLCAnZGlyZWN0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQU3RlcHBlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBTdGVwcGVySXRlbSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhbGlnbicsICdkaXJlY3Rpb24nLCAnZmluaXNoZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc3RlcHBlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxpZ24nLCAnZGlyZWN0aW9uJywgJ2ZpbmlzaGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgUFN0ZXBwZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFN0ZXBwZXJMaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5QU3RlcHBlckxpbmUge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlyZWN0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXN0ZXBwZXItbGluZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2RpcmVjdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIFBTdGVwcGVyTGluZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuUFRhYkdyb3VwIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBQVGFiR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFiSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFRhYkl0ZW0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhY3RpdmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFiLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVDb250YWluZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJsZUNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJsZUZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuUFRhYmxlRm9vdGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXMgXG4gICAqL1xuICBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgcGFnZSBjaGFuZ2VzIFxuICAgKi9cbiAgcGFnZVNpemVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXMgXG4gICAqL1xuICBleHBvcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2VuYWJsZUV4cG9ydCcsICdlbmFibGVQYWdlU2l6ZScsICdlbmFibGVQYWdpbmF0aW9uJywgJ2hpZGVPblNpbmdsZVBhZ2UnLCAncGFnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZU9wdGlvbnMnLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFibGUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydlbmFibGVFeHBvcnQnLCAnZW5hYmxlUGFnZVNpemUnLCAnZW5hYmxlUGFnaW5hdGlvbicsICdoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAncGFnZVNpemVPcHRpb25zJywgJ3RvdGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZScsICdwYWdlU2l6ZUNoYW5nZScsICdleHBvcnQnXSk7XG4gIH1cbn1cblxuaW1wb3J0IHR5cGUgeyBRdWlja0ZpbHRlciBhcyBJVGFibGVIZWFkZXJRdWlja0ZpbHRlciB9IGZyb20gJ0BwYXBlcmxlc3MvY29yZSc7XG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVIZWFkZXIge1xuICAvKipcbiAgICogRXZlbnQgd2hlbiBvbmUgb2YgdGhlIHF1aWNrIGZpbHRlcnMgaXMgY2xpY2tlZCBcbiAgICovXG4gIHF1aWNrRmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRhYmxlSGVhZGVyUXVpY2tGaWx0ZXI+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIHF1ZXJ5IGNoYW5nZXMgXG4gICAqL1xuICBxdWVyeUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgZmlsdGVyIGJ1dHRvbiBpcyBjbGlja2VkIFxuICAgKi9cbiAgZmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVsbD4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgZWRpdCBidXR0b24gaXMgY2xpY2tlZCBcbiAgICovXG4gIGVkaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudWxsPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhY3RpdmVRdWlja0ZpbHRlcklkZW50aWZpZXInLCAnY2FuRWRpdCcsICdlZGl0QnV0dG9uVGVtcGxhdGUnLCAnZW5hYmxlRWRpdCcsICdlbmFibGVGaWx0ZXInLCAnZW5hYmxlU2VhcmNoJywgJ2ZpbHRlckJ1dHRvblRlbXBsYXRlJywgJ2l0ZW1zU2VsZWN0ZWRBbW91bnQnLCAncXVlcnknLCAncXVpY2tGaWx0ZXJzJywgJ3NlbGVjdGVkRmlsdGVyc0Ftb3VudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWJsZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjdGl2ZVF1aWNrRmlsdGVySWRlbnRpZmllcicsICdjYW5FZGl0JywgJ2VkaXRCdXR0b25UZW1wbGF0ZScsICdlbmFibGVFZGl0JywgJ2VuYWJsZUZpbHRlcicsICdlbmFibGVTZWFyY2gnLCAnZmlsdGVyQnV0dG9uVGVtcGxhdGUnLCAnaXRlbXNTZWxlY3RlZEFtb3VudCcsICdxdWVyeScsICdxdWlja0ZpbHRlcnMnLCAnc2VsZWN0ZWRGaWx0ZXJzQW1vdW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncXVpY2tGaWx0ZXInLCAncXVlcnlDaGFuZ2UnLCAnZmlsdGVyJywgJ2VkaXQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlUm93IGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVSb3cge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydlbmFibGVIb3ZlcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYmxlLXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZW5hYmxlSG92ZXInLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJsZVJvdyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuUFRvYXN0IHtcbiAgLyoqXG4gICAqIEJ1dHRvbiBjbGljayBldmVudCBcbiAgICovXG4gIGFjdGlvbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uSWNvbkZsaXAnLCAnYWN0aW9uSWNvblJvdGF0ZScsICdjb250ZW50JywgJ2VuYWJsZUFjdGlvbicsICdoZWFkZXInLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10b2FzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWN0aW9uSWNvbicsICdhY3Rpb25JY29uRmxpcCcsICdhY3Rpb25JY29uUm90YXRlJywgJ2NvbnRlbnQnLCAnZW5hYmxlQWN0aW9uJywgJ2hlYWRlcicsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFRvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aW9uJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5QVG9vbHRpcCB7XG4gIC8qKlxuICAgKiBPcGVuIGNoYW5nZSBldmVudCBcbiAgICovXG4gIGlzT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICdzdHJhdGVneScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAncGxhY2VtZW50JywgJ3BvcG92ZXInLCAnc2hvdycsICdzdHJhdGVneScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgUFRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpc09wZW4nXSk7XG4gIH1cbn1cbiJdfQ==