@swisspost/design-system-components-angular 9.0.0-next.3 → 9.0.0-next.4

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.
@@ -10,8 +10,8 @@ let PostAccordion = class PostAccordion {
10
10
  c.detach();
11
11
  this.el = r.nativeElement;
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostAccordion, selector: "post-accordion", inputs: { headingLevel: "headingLevel", multiple: "multiple" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostAccordion, selector: "post-accordion", inputs: { headingLevel: "headingLevel", multiple: "multiple" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
15
  };
16
16
  PostAccordion = __decorate([
17
17
  ProxyCmp({
@@ -20,7 +20,7 @@ PostAccordion = __decorate([
20
20
  })
21
21
  ], PostAccordion);
22
22
  export { PostAccordion };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAccordion, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAccordion, decorators: [{
24
24
  type: Component,
25
25
  args: [{
26
26
  selector: 'post-accordion',
@@ -36,8 +36,8 @@ let PostAccordionItem = class PostAccordionItem {
36
36
  c.detach();
37
37
  this.el = r.nativeElement;
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAccordionItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostAccordionItem, selector: "post-accordion-item", inputs: { collapsed: "collapsed", headingLevel: "headingLevel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAccordionItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostAccordionItem, selector: "post-accordion-item", inputs: { collapsed: "collapsed", headingLevel: "headingLevel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
41
  };
42
42
  PostAccordionItem = __decorate([
43
43
  ProxyCmp({
@@ -46,7 +46,7 @@ PostAccordionItem = __decorate([
46
46
  })
47
47
  ], PostAccordionItem);
48
48
  export { PostAccordionItem };
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAccordionItem, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAccordionItem, decorators: [{
50
50
  type: Component,
51
51
  args: [{
52
52
  selector: 'post-accordion-item',
@@ -63,8 +63,8 @@ let PostAlert = class PostAlert {
63
63
  this.el = r.nativeElement;
64
64
  proxyOutputs(this, this.el, ['postDismissed']);
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostAlert, selector: "post-alert", inputs: { dismissLabel: "dismissLabel", dismissible: "dismissible", fixed: "fixed", icon: "icon", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostAlert, selector: "post-alert", inputs: { dismissLabel: "dismissLabel", dismissible: "dismissible", fixed: "fixed", icon: "icon", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
68
  };
69
69
  PostAlert = __decorate([
70
70
  ProxyCmp({
@@ -73,7 +73,7 @@ PostAlert = __decorate([
73
73
  })
74
74
  ], PostAlert);
75
75
  export { PostAlert };
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAlert, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAlert, decorators: [{
77
77
  type: Component,
78
78
  args: [{
79
79
  selector: 'post-alert',
@@ -89,8 +89,8 @@ let PostAvatar = class PostAvatar {
89
89
  c.detach();
90
90
  this.el = r.nativeElement;
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostAvatar, selector: "post-avatar", inputs: { email: "email", firstname: "firstname", lastname: "lastname", userid: "userid" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostAvatar, selector: "post-avatar", inputs: { email: "email", firstname: "firstname", lastname: "lastname", userid: "userid" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
94
  };
95
95
  PostAvatar = __decorate([
96
96
  ProxyCmp({
@@ -98,7 +98,7 @@ PostAvatar = __decorate([
98
98
  })
99
99
  ], PostAvatar);
100
100
  export { PostAvatar };
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostAvatar, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostAvatar, decorators: [{
102
102
  type: Component,
103
103
  args: [{
104
104
  selector: 'post-avatar',
@@ -108,6 +108,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
108
108
  inputs: ['email', 'firstname', 'lastname', 'userid'],
109
109
  }]
110
110
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
111
+ let PostBreadcrumbItem = class PostBreadcrumbItem {
112
+ constructor(c, r, z) {
113
+ this.z = z;
114
+ c.detach();
115
+ this.el = r.nativeElement;
116
+ }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostBreadcrumbItem, selector: "post-breadcrumb-item", inputs: { url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
+ };
120
+ PostBreadcrumbItem = __decorate([
121
+ ProxyCmp({
122
+ inputs: ['url']
123
+ })
124
+ ], PostBreadcrumbItem);
125
+ export { PostBreadcrumbItem };
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostBreadcrumbItem, decorators: [{
127
+ type: Component,
128
+ args: [{
129
+ selector: 'post-breadcrumb-item',
130
+ changeDetection: ChangeDetectionStrategy.OnPush,
131
+ template: '<ng-content></ng-content>',
132
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
133
+ inputs: ['url'],
134
+ }]
135
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
111
136
  let PostCardControl = class PostCardControl {
112
137
  constructor(c, r, z) {
113
138
  this.z = z;
@@ -115,8 +140,8 @@ let PostCardControl = class PostCardControl {
115
140
  this.el = r.nativeElement;
116
141
  proxyOutputs(this, this.el, ['postInput', 'postChange']);
117
142
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostCardControl, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostCardControl, selector: "post-card-control", inputs: { checked: "checked", description: "description", disabled: "disabled", icon: "icon", label: "label", name: "name", type: "type", validity: "validity", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostCardControl, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostCardControl, selector: "post-card-control", inputs: { checked: "checked", description: "description", disabled: "disabled", icon: "icon", label: "label", name: "name", type: "type", validity: "validity", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
120
145
  };
121
146
  PostCardControl = __decorate([
122
147
  ProxyCmp({
@@ -125,7 +150,7 @@ PostCardControl = __decorate([
125
150
  })
126
151
  ], PostCardControl);
127
152
  export { PostCardControl };
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostCardControl, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostCardControl, decorators: [{
129
154
  type: Component,
130
155
  args: [{
131
156
  selector: 'post-card-control',
@@ -135,6 +160,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
135
160
  inputs: ['checked', 'description', 'disabled', 'icon', 'label', 'name', 'type', 'validity', 'value'],
136
161
  }]
137
162
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
163
+ let PostClosebutton = class PostClosebutton {
164
+ constructor(c, r, z) {
165
+ this.z = z;
166
+ c.detach();
167
+ this.el = r.nativeElement;
168
+ }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostClosebutton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
170
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostClosebutton, selector: "post-closebutton", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
171
+ };
172
+ PostClosebutton = __decorate([
173
+ ProxyCmp({})
174
+ ], PostClosebutton);
175
+ export { PostClosebutton };
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostClosebutton, decorators: [{
177
+ type: Component,
178
+ args: [{
179
+ selector: 'post-closebutton',
180
+ changeDetection: ChangeDetectionStrategy.OnPush,
181
+ template: '<ng-content></ng-content>',
182
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
183
+ inputs: [],
184
+ }]
185
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
138
186
  let PostCollapsible = class PostCollapsible {
139
187
  constructor(c, r, z) {
140
188
  this.z = z;
@@ -142,8 +190,8 @@ let PostCollapsible = class PostCollapsible {
142
190
  this.el = r.nativeElement;
143
191
  proxyOutputs(this, this.el, ['postToggle']);
144
192
  }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostCollapsible, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostCollapsible, selector: "post-collapsible", inputs: { collapsed: "collapsed" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostCollapsible, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostCollapsible, selector: "post-collapsible", inputs: { collapsed: "collapsed" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
147
195
  };
148
196
  PostCollapsible = __decorate([
149
197
  ProxyCmp({
@@ -152,7 +200,7 @@ PostCollapsible = __decorate([
152
200
  })
153
201
  ], PostCollapsible);
154
202
  export { PostCollapsible };
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostCollapsible, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostCollapsible, decorators: [{
156
204
  type: Component,
157
205
  args: [{
158
206
  selector: 'post-collapsible',
@@ -168,8 +216,8 @@ let PostCollapsibleTrigger = class PostCollapsibleTrigger {
168
216
  c.detach();
169
217
  this.el = r.nativeElement;
170
218
  }
171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostCollapsibleTrigger, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostCollapsibleTrigger, selector: "post-collapsible-trigger", inputs: { for: "for" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostCollapsibleTrigger, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostCollapsibleTrigger, selector: "post-collapsible-trigger", inputs: { for: "for" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
173
221
  };
174
222
  PostCollapsibleTrigger = __decorate([
175
223
  ProxyCmp({
@@ -178,7 +226,7 @@ PostCollapsibleTrigger = __decorate([
178
226
  })
179
227
  ], PostCollapsibleTrigger);
180
228
  export { PostCollapsibleTrigger };
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostCollapsibleTrigger, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostCollapsibleTrigger, decorators: [{
182
230
  type: Component,
183
231
  args: [{
184
232
  selector: 'post-collapsible-trigger',
@@ -194,8 +242,8 @@ let PostIcon = class PostIcon {
194
242
  c.detach();
195
243
  this.el = r.nativeElement;
196
244
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostIcon, selector: "post-icon", inputs: { animation: "animation", base: "base", flipH: "flipH", flipV: "flipV", name: "name", rotate: "rotate", scale: "scale" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostIcon, selector: "post-icon", inputs: { animation: "animation", base: "base", flipH: "flipH", flipV: "flipV", name: "name", rotate: "rotate", scale: "scale" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
199
247
  };
200
248
  PostIcon = __decorate([
201
249
  ProxyCmp({
@@ -203,7 +251,7 @@ PostIcon = __decorate([
203
251
  })
204
252
  ], PostIcon);
205
253
  export { PostIcon };
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostIcon, decorators: [{
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostIcon, decorators: [{
207
255
  type: Component,
208
256
  args: [{
209
257
  selector: 'post-icon',
@@ -220,8 +268,8 @@ let PostLanguageOption = class PostLanguageOption {
220
268
  this.el = r.nativeElement;
221
269
  proxyOutputs(this, this.el, ['postChange']);
222
270
  }
223
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostLanguageOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
224
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostLanguageOption, selector: "post-language-option", inputs: { active: "active", code: "code", name: "name", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
271
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostLanguageOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostLanguageOption, selector: "post-language-option", inputs: { active: "active", code: "code", name: "name", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
225
273
  };
226
274
  PostLanguageOption = __decorate([
227
275
  ProxyCmp({
@@ -230,7 +278,7 @@ PostLanguageOption = __decorate([
230
278
  })
231
279
  ], PostLanguageOption);
232
280
  export { PostLanguageOption };
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostLanguageOption, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostLanguageOption, decorators: [{
234
282
  type: Component,
235
283
  args: [{
236
284
  selector: 'post-language-option',
@@ -240,14 +288,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
240
288
  inputs: ['active', 'code', 'name', 'url'],
241
289
  }]
242
290
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
291
+ let PostList = class PostList {
292
+ constructor(c, r, z) {
293
+ this.z = z;
294
+ c.detach();
295
+ this.el = r.nativeElement;
296
+ }
297
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
298
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostList, selector: "post-list", inputs: { horizontal: "horizontal", titleHidden: "titleHidden" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
299
+ };
300
+ PostList = __decorate([
301
+ ProxyCmp({
302
+ inputs: ['horizontal', 'titleHidden']
303
+ })
304
+ ], PostList);
305
+ export { PostList };
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostList, decorators: [{
307
+ type: Component,
308
+ args: [{
309
+ selector: 'post-list',
310
+ changeDetection: ChangeDetectionStrategy.OnPush,
311
+ template: '<ng-content></ng-content>',
312
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
313
+ inputs: ['horizontal', 'titleHidden'],
314
+ }]
315
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
316
+ let PostListItem = class PostListItem {
317
+ constructor(c, r, z) {
318
+ this.z = z;
319
+ c.detach();
320
+ this.el = r.nativeElement;
321
+ }
322
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostListItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostListItem, selector: "post-list-item", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
324
+ };
325
+ PostListItem = __decorate([
326
+ ProxyCmp({})
327
+ ], PostListItem);
328
+ export { PostListItem };
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostListItem, decorators: [{
330
+ type: Component,
331
+ args: [{
332
+ selector: 'post-list-item',
333
+ changeDetection: ChangeDetectionStrategy.OnPush,
334
+ template: '<ng-content></ng-content>',
335
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
336
+ inputs: [],
337
+ }]
338
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
243
339
  let PostLogo = class PostLogo {
244
340
  constructor(c, r, z) {
245
341
  this.z = z;
246
342
  c.detach();
247
343
  this.el = r.nativeElement;
248
344
  }
249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostLogo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
250
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostLogo, selector: "post-logo", inputs: { url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
345
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostLogo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
346
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostLogo, selector: "post-logo", inputs: { url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
251
347
  };
252
348
  PostLogo = __decorate([
253
349
  ProxyCmp({
@@ -255,7 +351,7 @@ PostLogo = __decorate([
255
351
  })
256
352
  ], PostLogo);
257
353
  export { PostLogo };
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostLogo, decorators: [{
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostLogo, decorators: [{
259
355
  type: Component,
260
356
  args: [{
261
357
  selector: 'post-logo',
@@ -271,8 +367,8 @@ let PostPopover = class PostPopover {
271
367
  c.detach();
272
368
  this.el = r.nativeElement;
273
369
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostPopover, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
275
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostPopover, selector: "post-popover", inputs: { arrow: "arrow", closeButtonCaption: "closeButtonCaption", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostPopover, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostPopover, selector: "post-popover", inputs: { arrow: "arrow", closeButtonCaption: "closeButtonCaption", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
276
372
  };
277
373
  PostPopover = __decorate([
278
374
  ProxyCmp({
@@ -281,7 +377,7 @@ PostPopover = __decorate([
281
377
  })
282
378
  ], PostPopover);
283
379
  export { PostPopover };
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostPopover, decorators: [{
380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostPopover, decorators: [{
285
381
  type: Component,
286
382
  args: [{
287
383
  selector: 'post-popover',
@@ -298,24 +394,24 @@ let PostPopovercontainer = class PostPopovercontainer {
298
394
  this.el = r.nativeElement;
299
395
  proxyOutputs(this, this.el, ['postToggle']);
300
396
  }
301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostPopovercontainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
302
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostPopovercontainer, selector: "post-popovercontainer", inputs: { arrow: "arrow", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
397
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostPopovercontainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
398
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostPopovercontainer, selector: "post-popovercontainer", inputs: { arrow: "arrow", edgeGap: "edgeGap", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
303
399
  };
304
400
  PostPopovercontainer = __decorate([
305
401
  ProxyCmp({
306
- inputs: ['arrow', 'placement'],
402
+ inputs: ['arrow', 'edgeGap', 'placement'],
307
403
  methods: ['show', 'hide', 'toggle']
308
404
  })
309
405
  ], PostPopovercontainer);
310
406
  export { PostPopovercontainer };
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostPopovercontainer, decorators: [{
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostPopovercontainer, decorators: [{
312
408
  type: Component,
313
409
  args: [{
314
410
  selector: 'post-popovercontainer',
315
411
  changeDetection: ChangeDetectionStrategy.OnPush,
316
412
  template: '<ng-content></ng-content>',
317
413
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
318
- inputs: ['arrow', 'placement'],
414
+ inputs: ['arrow', 'edgeGap', 'placement'],
319
415
  }]
320
416
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
321
417
  let PostRating = class PostRating {
@@ -325,8 +421,8 @@ let PostRating = class PostRating {
325
421
  this.el = r.nativeElement;
326
422
  proxyOutputs(this, this.el, ['postInput', 'postChange']);
327
423
  }
328
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostRating, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
329
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostRating, selector: "post-rating", inputs: { currentRating: "currentRating", label: "label", readonly: "readonly", stars: "stars" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostRating, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostRating, selector: "post-rating", inputs: { currentRating: "currentRating", label: "label", readonly: "readonly", stars: "stars" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
330
426
  };
331
427
  PostRating = __decorate([
332
428
  ProxyCmp({
@@ -334,7 +430,7 @@ PostRating = __decorate([
334
430
  })
335
431
  ], PostRating);
336
432
  export { PostRating };
337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostRating, decorators: [{
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostRating, decorators: [{
338
434
  type: Component,
339
435
  args: [{
340
436
  selector: 'post-rating',
@@ -350,8 +446,8 @@ let PostTabHeader = class PostTabHeader {
350
446
  c.detach();
351
447
  this.el = r.nativeElement;
352
448
  }
353
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTabHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
354
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostTabHeader, selector: "post-tab-header", inputs: { panel: "panel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
449
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTabHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
450
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostTabHeader, selector: "post-tab-header", inputs: { panel: "panel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
355
451
  };
356
452
  PostTabHeader = __decorate([
357
453
  ProxyCmp({
@@ -359,7 +455,7 @@ PostTabHeader = __decorate([
359
455
  })
360
456
  ], PostTabHeader);
361
457
  export { PostTabHeader };
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTabHeader, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTabHeader, decorators: [{
363
459
  type: Component,
364
460
  args: [{
365
461
  selector: 'post-tab-header',
@@ -375,8 +471,8 @@ let PostTabPanel = class PostTabPanel {
375
471
  c.detach();
376
472
  this.el = r.nativeElement;
377
473
  }
378
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTabPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
379
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostTabPanel, selector: "post-tab-panel", inputs: { name: "name" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTabPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
475
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostTabPanel, selector: "post-tab-panel", inputs: { name: "name" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
380
476
  };
381
477
  PostTabPanel = __decorate([
382
478
  ProxyCmp({
@@ -384,7 +480,7 @@ PostTabPanel = __decorate([
384
480
  })
385
481
  ], PostTabPanel);
386
482
  export { PostTabPanel };
387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTabPanel, decorators: [{
483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTabPanel, decorators: [{
388
484
  type: Component,
389
485
  args: [{
390
486
  selector: 'post-tab-panel',
@@ -401,8 +497,8 @@ let PostTabs = class PostTabs {
401
497
  this.el = r.nativeElement;
402
498
  proxyOutputs(this, this.el, ['postChange']);
403
499
  }
404
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
405
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostTabs, selector: "post-tabs", inputs: { activePanel: "activePanel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
500
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
501
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostTabs, selector: "post-tabs", inputs: { activePanel: "activePanel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
406
502
  };
407
503
  PostTabs = __decorate([
408
504
  ProxyCmp({
@@ -411,7 +507,7 @@ PostTabs = __decorate([
411
507
  })
412
508
  ], PostTabs);
413
509
  export { PostTabs };
414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTabs, decorators: [{
510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTabs, decorators: [{
415
511
  type: Component,
416
512
  args: [{
417
513
  selector: 'post-tabs',
@@ -427,8 +523,8 @@ let PostTag = class PostTag {
427
523
  c.detach();
428
524
  this.el = r.nativeElement;
429
525
  }
430
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTag, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
431
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostTag, selector: "post-tag", inputs: { icon: "icon", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
526
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTag, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
527
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostTag, selector: "post-tag", inputs: { icon: "icon", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
432
528
  };
433
529
  PostTag = __decorate([
434
530
  ProxyCmp({
@@ -436,7 +532,7 @@ PostTag = __decorate([
436
532
  })
437
533
  ], PostTag);
438
534
  export { PostTag };
439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTag, decorators: [{
535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTag, decorators: [{
440
536
  type: Component,
441
537
  args: [{
442
538
  selector: 'post-tag',
@@ -452,8 +548,8 @@ let PostTooltip = class PostTooltip {
452
548
  c.detach();
453
549
  this.el = r.nativeElement;
454
550
  }
455
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
456
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: PostTooltip, selector: "post-tooltip", inputs: { arrow: "arrow", delayed: "delayed", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
551
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
552
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: PostTooltip, selector: "post-tooltip", inputs: { arrow: "arrow", delayed: "delayed", placement: "placement" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
457
553
  };
458
554
  PostTooltip = __decorate([
459
555
  ProxyCmp({
@@ -462,7 +558,7 @@ PostTooltip = __decorate([
462
558
  })
463
559
  ], PostTooltip);
464
560
  export { PostTooltip };
465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: PostTooltip, decorators: [{
561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: PostTooltip, decorators: [{
466
562
  type: Component,
467
563
  args: [{
468
564
  selector: 'post-tooltip',
@@ -472,4 +568,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
472
568
  inputs: ['arrow', 'delayed', 'placement'],
473
569
  }]
474
570
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
475
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUV4QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLGFBQWE7a0dBQWIsYUFBYSxzSEFKZCwyQkFBMkI7O0FBSTFCLGFBQWE7SUFYekIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUNwQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQztLQUNoRCxDQUFDO0dBUVcsYUFBYSxDQU16Qjs7MkZBTlksYUFBYTtrQkFQekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDO2lCQUNyQzs7QUF3Qk0sSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFFNUIsWUFBWSxDQUFvQixFQUFFLENBQWEs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LENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxXQUFXO2tHQUFYLFdBQVcsNEhBSlosMkJBQTJCOztBQUkxQixXQUFXO0lBWHZCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO0tBQ3BDLENBQUM7R0FRVyxXQUFXLENBTXZCOzsyRkFOWSxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAc3dpc3Nwb3N0L2Rlc2lnbi1zeXN0ZW0tY29tcG9uZW50cyc7XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmdMZXZlbCcsICdtdWx0aXBsZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZScsICdleHBhbmRBbGwnLCAnY29sbGFwc2VBbGwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nTGV2ZWwnLCAnbXVsdGlwbGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdEFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RBY2NvcmRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ2hlYWRpbmdMZXZlbCddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1hY2NvcmRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ2hlYWRpbmdMZXZlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0QWNjb3JkaW9uSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0QWNjb3JkaW9uSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNtaXNzTGFiZWwnLCAnZGlzbWlzc2libGUnLCAnZml4ZWQnLCAnaWNvbicsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnZGlzbWlzcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1hbGVydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzbWlzc0xhYmVsJywgJ2Rpc21pc3NpYmxlJywgJ2ZpeGVkJywgJ2ljb24nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0QWxlcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0RGlzbWlzc2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RBbGVydCBleHRlbmRzIENvbXBvbmVudHMuUG9zdEFsZXJ0IHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYWxlcnQgZWxlbWVudCBpcyBkaXNtaXNzZWQsIGFmdGVyIHRoZSB0cmFuc2l0aW9uLlxuSXQgaGFzIG5vIHBheWxvYWQgYW5kIG9ubHkgcmVsZXZhbnQgZm9yIGRpc21pc3NpYmxlIGFsZXJ0cy5cbiAgICovXG4gIHBvc3REaXNtaXNzZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2VtYWlsJywgJ2ZpcnN0bmFtZScsICdsYXN0bmFtZScsICd1c2VyaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbWFpbCcsICdmaXJzdG5hbWUnLCAnbGFzdG5hbWUnLCAndXNlcmlkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RBdmF0YXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0QXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0QXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnaWNvbicsICdsYWJlbCcsICduYW1lJywgJ3R5cGUnLCAndmFsaWRpdHknLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydyZXNldCcsICdncm91cFJlc2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LWNhcmQtY29udHJvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdpY29uJywgJ2xhYmVsJywgJ25hbWUnLCAndHlwZScsICd2YWxpZGl0eScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0Q2FyZENvbnRyb2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0SW5wdXQnLCAncG9zdENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0Q2FyZENvbnRyb2wgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RDYXJkQ29udHJvbCB7XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb21wb25lbnRzIGNoZWNrZWQgc3RhdGUgaXMgdG9nZ2xlZC5cblRoZSBldmVudCBwYXlsb2FkIChlbWl0dGVkIHVuZGVyIGBldmVudC5kZXRhaWwuc3RhdGVgKSBpcyBhIGJvb2xlYW46IGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGNoZWNrZWQsIGBmYWxzZWAgaWYgaXQgaXMgdW5jaGVja2VkLlxuICAgKi9cbiAgcG9zdElucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzdGF0ZTogYm9vbGVhbjsgdmFsdWU6IHN0cmluZyB9Pj47XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb21wb25lbnRzIGNoZWNrZWQgc3RhdGUgaXMgdG9nZ2xlZC5cblRoZSBldmVudCBwYXlsb2FkIChlbWl0dGVkIHVuZGVyIGBldmVudC5kZXRhaWwuc3RhdGVgKSBpcyBhIGJvb2xlYW46IGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGNoZWNrZWQsIGBmYWxzZWAgaWYgaXQgaXMgdW5jaGVja2VkLlxuPHNwYW4gY2xhc3NOYW1lPVwiYWxlcnQgYWxlcnQtc20gYWxlcnQtaW5mb1wiPklmIHRoZSBjb21wb25lbnQgaXMgdXNlZCB3aXRoIHR5cGUgYHJhZGlvYCwgaXQgd2lsbCBvbmx5IGVtaXQgdGhpcyBldmVudCwgd2hlbiB0aGUgY2hlY2tlZCBzdGF0ZSBpcyBjaGFuZ2luZyB0byBgdHJ1ZWAuPC9zcGFuPlxuICAgKi9cbiAgcG9zdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc3RhdGU6IGJvb2xlYW47IHZhbHVlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xsYXBzZWQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtY29sbGFwc2libGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0Q29sbGFwc2libGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0VG9nZ2xlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RDb2xsYXBzaWJsZSBleHRlbmRzIENvbXBvbmVudHMuUG9zdENvbGxhcHNpYmxlIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29sbGFwc2UgZWxlbWVudCBpcyBzaG93biBvciBoaWRkZW4sIGJlZm9yZSB0aGUgdHJhbnNpdGlvbi5cblxuVGhlIGV2ZW50IHBheWxvYWQgaXMgYSBib29sZWFuOiBgdHJ1ZWAgaWYgdGhlIGNvbGxhcHNpYmxlIHdhcyBvcGVuZWQsIGBmYWxzZWAgaWYgaXQgd2FzIGNsb3NlZC5cbiAgICovXG4gIHBvc3RUb2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZvciddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1jb2xsYXBzaWJsZS10cmlnZ2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmb3InXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdENvbGxhcHNpYmxlVHJpZ2dlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RDb2xsYXBzaWJsZVRyaWdnZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RDb2xsYXBzaWJsZVRyaWdnZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2Jhc2UnLCAnZmxpcEgnLCAnZmxpcFYnLCAnbmFtZScsICdyb3RhdGUnLCAnc2NhbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2Jhc2UnLCAnZmxpcEgnLCAnZmxpcFYnLCAnbmFtZScsICdyb3RhdGUnLCAnc2NhbGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0SWNvbiBleHRlbmRzIENvbXBvbmVudHMuUG9zdEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvZGUnLCAnbmFtZScsICd1cmwnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtbGFuZ3VhZ2Utb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY29kZScsICduYW1lJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0TGFuZ3VhZ2VPcHRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RMYW5ndWFnZU9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuUG9zdExhbmd1YWdlT3B0aW9uIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbGFuZ3VhZ2Ugb3B0aW9uIGlzIGNsaWNrZWQuIFRoZSBwYXlsb2FkIGlzIHRoZSBJU08gNjM5IGNvZGUgb2YgdGhlIGxhbmd1YWdlLlxuICAgKi9cbiAgcG9zdENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtbG9nbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RMb2dvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdExvZ28gZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RMb2dvIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2Nsb3NlQnV0dG9uQ2FwdGlvbicsICdwbGFjZW1lbnQnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LXBvcG92ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2Nsb3NlQnV0dG9uQ2FwdGlvbicsICdwbGFjZW1lbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdFBvcG92ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0UG9wb3ZlciBleHRlbmRzIENvbXBvbmVudHMuUG9zdFBvcG92ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJyb3cnLCAncGxhY2VtZW50J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1wb3BvdmVyY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdwbGFjZW1lbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdFBvcG92ZXJjb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0VG9nZ2xlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RQb3BvdmVyY29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0UG9wb3ZlcmNvbnRhaW5lciB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuZXZlciB0aGUgcG9wb3ZlciBnZXRzIHNob3duIG9yIGhpZGRlbiwgcGFzc2luZyB0aGUgbmV3IHN0YXRlIGluIGV2ZW50LmRldGFpbHMgYXMgYSBib29sZWFuXG4gICAqL1xuICBwb3N0VG9nZ2xlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdXJyZW50UmF0aW5nJywgJ2xhYmVsJywgJ3JlYWRvbmx5JywgJ3N0YXJzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LXJhdGluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudFJhdGluZycsICdsYWJlbCcsICdyZWFkb25seScsICdzdGFycyddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0UmF0aW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncG9zdElucHV0JywgJ3Bvc3RDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdFJhdGluZyBleHRlbmRzIENvbXBvbmVudHMuUG9zdFJhdGluZyB7XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb21wb25lbnQncyB2YWx1ZSBoYXMgY2hhbmdlZCAob24gaW5wdXQpLlxuVGhlIGV2ZW50IHBheWxvYWQgY2FuIGJlIHVzZWQgbGlrZSBzbzogYGV2ZW50LmRldGFpbC52YWx1ZWAuXG4gICAqL1xuICBwb3N0SW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBudW1iZXIgfT4+O1xuICAvKipcbiAgICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuZXZlciB0aGUgY29tcG9uZW50J3MgdmFsdWUgaGFzIGNoYW5nZWQgKG9uIGJsdXIpLlxuVGhlIGV2ZW50IHBheWxvYWQgY2FuIGJlIHVzZWQgbGlrZSBzbzogYGV2ZW50LmRldGFpbC52YWx1ZWAuXG4gICAqL1xuICBwb3N0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogbnVtYmVyIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGFuZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtdGFiLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncGFuZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdFRhYkhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RUYWJIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RUYWJIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbmFtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC10YWItcGFuZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25hbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdFRhYlBhbmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdFRhYlBhbmVsIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0VGFiUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlUGFuZWwnXSxcbiAgbWV0aG9kczogWydzaG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZVBhbmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RUYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncG9zdENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0VGFicyBleHRlbmRzIENvbXBvbmVudHMuUG9zdFRhYnMge1xuICAvKipcbiAgICogQW4gZXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgYWN0aXZlIHRhYiBjaGFuZ2VzLCB3aGVuIHRoZSBmYWRlIGluIHRyYW5zaXRpb24gb2YgaXRzIGFzc29jaWF0ZWQgcGFuZWwgaXMgZmluaXNoZWQuXG5UaGUgcGF5bG9hZCBpcyB0aGUgbmFtZSBvZiB0aGUgbmV3bHkgc2hvd24gcGFuZWwuXG4gICAqL1xuICBwb3N0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTFBvc3RUYWJQYW5lbEVsZW1lbnRbJ25hbWUnXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpY29uJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RUYWcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0VGFnIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0VGFnIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2RlbGF5ZWQnLCAncGxhY2VtZW50J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdkZWxheWVkJywgJ3BsYWNlbWVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0VG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0VG9vbHRpcCB7fVxuXG5cbiJdfQ==
571
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUV4QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOytHQUxVLGFBQWE7bUdBQWIsYUFBYSxzSEFKZCwyQkFBMkI7O0FBSTFCLGFBQWE7SUFYekIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUNwQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQztLQUNoRCxDQUFDO0dBUVcsYUFBYSxDQU16Qjs7NEZBTlksYUFBYTtrQkFQekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDO2lCQUNyQzs7QUF3Qk0sSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBaUI7SUFFNUIsWUFBWSxDQUFvQixFQUFFLENBQWEs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akIsTUFBTSxXQUFXO0lBRXRCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7K0dBTFUsV0FBVzttR0FBWCxXQUFXLDRIQUpaLDJCQUEyQjs7QUFJMUIsV0FBVztJQVh2QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQztRQUN6QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztLQUNwQyxDQUFDO0dBUVcsV0FBVyxDQU12Qjs7NEZBTlksV0FBVztrQkFQdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUM7aUJBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRzIH0gZnJvbSAnQHN3aXNzcG9zdC9kZXNpZ24tc3lzdGVtLWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nTGV2ZWwnLCAnbXVsdGlwbGUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnLCAnZXhwYW5kQWxsJywgJ2NvbGxhcHNlQWxsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZ0xldmVsJywgJ211bHRpcGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0QWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0QWNjb3JkaW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZCcsICdoZWFkaW5nTGV2ZWwnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtYWNjb3JkaW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZCcsICdoZWFkaW5nTGV2ZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdEFjY29yZGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0QWNjb3JkaW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUG9zdEFjY29yZGlvbkl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzbWlzc0xhYmVsJywgJ2Rpc21pc3NpYmxlJywgJ2ZpeGVkJywgJ2ljb24nLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ2Rpc21pc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc21pc3NMYWJlbCcsICdkaXNtaXNzaWJsZScsICdmaXhlZCcsICdpY29uJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdEFsZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncG9zdERpc21pc3NlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0QWxlcnQgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RBbGVydCB7XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW4gdGhlIGFsZXJ0IGVsZW1lbnQgaXMgZGlzbWlzc2VkLCBhZnRlciB0aGUgdHJhbnNpdGlvbi5cbkl0IGhhcyBubyBwYXlsb2FkIGFuZCBvbmx5IHJlbGV2YW50IGZvciBkaXNtaXNzaWJsZSBhbGVydHMuXG4gICAqL1xuICBwb3N0RGlzbWlzc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbWFpbCcsICdmaXJzdG5hbWUnLCAnbGFzdG5hbWUnLCAndXNlcmlkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZW1haWwnLCAnZmlyc3RuYW1lJywgJ2xhc3RuYW1lJywgJ3VzZXJpZCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0QXZhdGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdEF2YXRhciBleHRlbmRzIENvbXBvbmVudHMuUG9zdEF2YXRhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtYnJlYWRjcnVtYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdEJyZWFkY3J1bWJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdEJyZWFkY3J1bWJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0QnJlYWRjcnVtYkl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdpY29uJywgJ2xhYmVsJywgJ25hbWUnLCAndHlwZScsICd2YWxpZGl0eScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0JywgJ2dyb3VwUmVzZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtY2FyZC1jb250cm9sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnbGFiZWwnLCAnbmFtZScsICd0eXBlJywgJ3ZhbGlkaXR5JywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RDYXJkQ29udHJvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Bvc3RJbnB1dCcsICdwb3N0Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RDYXJkQ29udHJvbCBleHRlbmRzIENvbXBvbmVudHMuUG9zdENhcmRDb250cm9sIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudHMgY2hlY2tlZCBzdGF0ZSBpcyB0b2dnbGVkLlxuVGhlIGV2ZW50IHBheWxvYWQgKGVtaXR0ZWQgdW5kZXIgYGV2ZW50LmRldGFpbC5zdGF0ZWApIGlzIGEgYm9vbGVhbjogYHRydWVgIGlmIHRoZSBjb21wb25lbnQgaXMgY2hlY2tlZCwgYGZhbHNlYCBpZiBpdCBpcyB1bmNoZWNrZWQuXG4gICAqL1xuICBwb3N0SW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHN0YXRlOiBib29sZWFuOyB2YWx1ZTogc3RyaW5nIH0+PjtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudHMgY2hlY2tlZCBzdGF0ZSBpcyB0b2dnbGVkLlxuVGhlIGV2ZW50IHBheWxvYWQgKGVtaXR0ZWQgdW5kZXIgYGV2ZW50LmRldGFpbC5zdGF0ZWApIGlzIGEgYm9vbGVhbjogYHRydWVgIGlmIHRoZSBjb21wb25lbnQgaXMgY2hlY2tlZCwgYGZhbHNlYCBpZiBpdCBpcyB1bmNoZWNrZWQuXG48c3BhbiBjbGFzc05hbWU9XCJhbGVydCBhbGVydC1zbSBhbGVydC1pbmZvXCI+SWYgdGhlIGNvbXBvbmVudCBpcyB1c2VkIHdpdGggdHlwZSBgcmFkaW9gLCBpdCB3aWxsIG9ubHkgZW1pdCB0aGlzIGV2ZW50LCB3aGVuIHRoZSBjaGVja2VkIHN0YXRlIGlzIGNoYW5naW5nIHRvIGB0cnVlYC48L3NwYW4+XG4gICAqL1xuICBwb3N0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzdGF0ZTogYm9vbGVhbjsgdmFsdWU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LWNsb3NlYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RDbG9zZWJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RDbG9zZWJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuUG9zdENsb3NlYnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbGxhcHNlZCddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1jb2xsYXBzaWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RDb2xsYXBzaWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Bvc3RUb2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdENvbGxhcHNpYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0Q29sbGFwc2libGUge1xuICAvKipcbiAgICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjb2xsYXBzZSBlbGVtZW50IGlzIHNob3duIG9yIGhpZGRlbiwgYmVmb3JlIHRoZSB0cmFuc2l0aW9uLlxuXG5UaGUgZXZlbnQgcGF5bG9hZCBpcyBhIGJvb2xlYW46IGB0cnVlYCBpZiB0aGUgY29sbGFwc2libGUgd2FzIG9wZW5lZCwgYGZhbHNlYCBpZiBpdCB3YXMgY2xvc2VkLlxuICAgKi9cbiAgcG9zdFRvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZm9yJ10sXG4gIG1ldGhvZHM6IFsndXBkYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LWNvbGxhcHNpYmxlLXRyaWdnZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZvciddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0Q29sbGFwc2libGVUcmlnZ2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdENvbGxhcHNpYmxlVHJpZ2dlciBleHRlbmRzIENvbXBvbmVudHMuUG9zdENvbGxhcHNpYmxlVHJpZ2dlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnYmFzZScsICdmbGlwSCcsICdmbGlwVicsICduYW1lJywgJ3JvdGF0ZScsICdzY2FsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnYmFzZScsICdmbGlwSCcsICdmbGlwVicsICduYW1lJywgJ3JvdGF0ZScsICdzY2FsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0SWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY29kZScsICduYW1lJywgJ3VybCddLFxuICBtZXRob2RzOiBbJ3NlbGVjdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1sYW5ndWFnZS1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb2RlJywgJ25hbWUnLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RMYW5ndWFnZU9wdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Bvc3RDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdExhbmd1YWdlT3B0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0TGFuZ3VhZ2VPcHRpb24ge1xuICAvKipcbiAgICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBsYW5ndWFnZSBvcHRpb24gaXMgY2xpY2tlZC4gVGhlIHBheWxvYWQgaXMgdGhlIElTTyA2MzkgY29kZSBvZiB0aGUgbGFuZ3VhZ2UuXG4gICAqL1xuICBwb3N0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hvcml6b250YWwnLCAndGl0bGVIaWRkZW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaG9yaXpvbnRhbCcsICd0aXRsZUhpZGRlbiddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0TGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0TGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdExpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdExpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0TGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LWxvZ28nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0TG9nbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RMb2dvIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0TG9nbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcnJvdycsICdjbG9zZUJ1dHRvbkNhcHRpb24nLCAncGxhY2VtZW50J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1wb3BvdmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdjbG9zZUJ1dHRvbkNhcHRpb24nLCAncGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RQb3BvdmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdFBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RQb3BvdmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2VkZ2VHYXAnLCAncGxhY2VtZW50J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC1wb3BvdmVyY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdlZGdlR2FwJywgJ3BsYWNlbWVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0UG9wb3ZlcmNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Bvc3RUb2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdFBvcG92ZXJjb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RQb3BvdmVyY29udGFpbmVyIHtcbiAgLyoqXG4gICAqIEZpcmVzIHdoZW5ldmVyIHRoZSBwb3BvdmVyIGdldHMgc2hvd24gb3IgaGlkZGVuLCBwYXNzaW5nIHRoZSBuZXcgc3RhdGUgaW4gZXZlbnQuZGV0YWlscyBhcyBhIGJvb2xlYW5cbiAgICovXG4gIHBvc3RUb2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnJlbnRSYXRpbmcnLCAnbGFiZWwnLCAncmVhZG9ubHknLCAnc3RhcnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtcmF0aW5nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdXJyZW50UmF0aW5nJywgJ2xhYmVsJywgJ3JlYWRvbmx5JywgJ3N0YXJzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RSYXRpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0SW5wdXQnLCAncG9zdENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0UmF0aW5nIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0UmF0aW5nIHtcbiAgLyoqXG4gICAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkIChvbiBpbnB1dCkuXG5UaGUgZXZlbnQgcGF5bG9hZCBjYW4gYmUgdXNlZCBsaWtlIHNvOiBgZXZlbnQuZGV0YWlsLnZhbHVlYC5cbiAgICovXG4gIHBvc3RJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IG51bWJlciB9Pj47XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb21wb25lbnQncyB2YWx1ZSBoYXMgY2hhbmdlZCAob24gYmx1cikuXG5UaGUgZXZlbnQgcGF5bG9hZCBjYW4gYmUgdXNlZCBsaWtlIHNvOiBgZXZlbnQuZGV0YWlsLnZhbHVlYC5cbiAgICovXG4gIHBvc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBudW1iZXIgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydwYW5lbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG9zdC10YWItaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwYW5lbCddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0VGFiSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdFRhYkhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUG9zdFRhYkhlYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyduYW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LXRhYi1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbmFtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3N0VGFiUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQb3N0VGFiUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RUYWJQYW5lbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmVQYW5lbCddLFxuICBtZXRob2RzOiBbJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Bvc3QtdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlUGFuZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdFRhYnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydwb3N0Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5Qb3N0VGFicyB7XG4gIC8qKlxuICAgKiBBbiBldmVudCBlbWl0dGVkIGFmdGVyIHRoZSBhY3RpdmUgdGFiIGNoYW5nZXMsIHdoZW4gdGhlIGZhZGUgaW4gdHJhbnNpdGlvbiBvZiBpdHMgYXNzb2NpYXRlZCBwYW5lbCBpcyBmaW5pc2hlZC5cblRoZSBwYXlsb2FkIGlzIHRoZSBuYW1lIG9mIHRoZSBuZXdseSBzaG93biBwYW5lbC5cbiAgICovXG4gIHBvc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MUG9zdFRhYlBhbmVsRWxlbWVudFsnbmFtZSddPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LXRhZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbicsICdzaXplJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9zdFRhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBvc3RUYWcgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RUYWcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJyb3cnLCAnZGVsYXllZCcsICdwbGFjZW1lbnQnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwb3N0LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2RlbGF5ZWQnLCAncGxhY2VtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBvc3RUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUG9zdFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlBvc3RUb29sdGlwIHt9XG5cblxuIl19