valtech-components 2.0.425 → 2.0.427
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.
- package/esm2022/lib/components/organisms/article/article.component.mjs +66 -6
- package/esm2022/lib/components/organisms/article/types.mjs +39 -1
- package/fesm2022/valtech-components.mjs +100 -5
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/article/article.component.d.ts +10 -1
- package/lib/components/organisms/article/types.d.ts +64 -2
- package/package.json +1 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component, Input } from '@angular/core';
|
|
3
3
|
import { ButtonComponent } from '../../atoms/button/button.component';
|
|
4
|
+
import { DisplayComponent } from '../../atoms/display/display.component';
|
|
4
5
|
import { ImageComponent } from '../../atoms/image/image.component';
|
|
5
6
|
import { TextComponent } from '../../atoms/text/text.component';
|
|
6
7
|
import { TitleComponent } from '../../atoms/title/title.component';
|
|
7
8
|
import { CodeDisplayComponent } from '../../molecules/code-display/code-display.component';
|
|
9
|
+
import { NotesBoxComponent } from '../../molecules/notes-box/notes-box.component';
|
|
10
|
+
import { PlainCodeBoxComponent } from '../../molecules/plain-code-box/plain-code-box.component';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
12
|
import * as i1 from "@angular/common";
|
|
10
13
|
/**
|
|
@@ -126,6 +129,32 @@ export class ArticleComponent {
|
|
|
126
129
|
tabs: [],
|
|
127
130
|
};
|
|
128
131
|
}
|
|
132
|
+
getNoteElement(element) {
|
|
133
|
+
return element;
|
|
134
|
+
}
|
|
135
|
+
getCommandElement(element) {
|
|
136
|
+
return element;
|
|
137
|
+
}
|
|
138
|
+
getNoteBoxProps(element) {
|
|
139
|
+
const noteElement = this.getNoteElement(element);
|
|
140
|
+
return {
|
|
141
|
+
text: noteElement.props.text,
|
|
142
|
+
prefix: noteElement.props.prefix || 'Nota:',
|
|
143
|
+
color: noteElement.props.color || 'warning',
|
|
144
|
+
textColor: noteElement.props.textColor || 'dark',
|
|
145
|
+
size: noteElement.props.size || 'medium',
|
|
146
|
+
rounded: noteElement.props.rounded ?? true,
|
|
147
|
+
padding: noteElement.props.padding,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
getCommandProps(element) {
|
|
151
|
+
const commandElement = this.getCommandElement(element);
|
|
152
|
+
return {
|
|
153
|
+
lines: commandElement.props.lines,
|
|
154
|
+
showCopyButton: commandElement.props.showCopyButton ?? true,
|
|
155
|
+
language: commandElement.props.language,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
129
158
|
getImageMetadata(element) {
|
|
130
159
|
const imageElement = this.getImageElement(element);
|
|
131
160
|
const props = imageElement.props;
|
|
@@ -133,13 +162,14 @@ export class ArticleComponent {
|
|
|
133
162
|
src: props.src,
|
|
134
163
|
alt: props.alt,
|
|
135
164
|
mode: props.rounded ? 'rounded' : 'box',
|
|
136
|
-
size: 'medium',
|
|
165
|
+
size: props.size || 'medium',
|
|
137
166
|
shaded: false,
|
|
138
167
|
bordered: false,
|
|
139
168
|
alignment: props.alignment || 'center',
|
|
140
169
|
caption: props.caption,
|
|
141
170
|
captionSize: 'medium',
|
|
142
171
|
width: props.maxWidth ? parseInt(props.maxWidth.replace('px', '')) : undefined,
|
|
172
|
+
previewMode: props.preview || false,
|
|
143
173
|
};
|
|
144
174
|
}
|
|
145
175
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -163,7 +193,7 @@ export class ArticleComponent {
|
|
|
163
193
|
>
|
|
164
194
|
<!-- Título -->
|
|
165
195
|
<ng-container *ngIf="element.type === 'title'">
|
|
166
|
-
<val-
|
|
196
|
+
<val-display [props]="getTitleElement(element).props"></val-display>
|
|
167
197
|
</ng-container>
|
|
168
198
|
|
|
169
199
|
<!-- Subtítulo -->
|
|
@@ -209,6 +239,16 @@ export class ArticleComponent {
|
|
|
209
239
|
<val-code-display [props]="getCodeDisplayProps(element)"></val-code-display>
|
|
210
240
|
</ng-container>
|
|
211
241
|
|
|
242
|
+
<!-- Nota destacada -->
|
|
243
|
+
<ng-container *ngIf="element.type === 'note'">
|
|
244
|
+
<val-notes-box [props]="getNoteBoxProps(element)"></val-notes-box>
|
|
245
|
+
</ng-container>
|
|
246
|
+
|
|
247
|
+
<!-- Comando de terminal -->
|
|
248
|
+
<ng-container *ngIf="element.type === 'command'">
|
|
249
|
+
<val-plain-code-box [props]="getCommandProps(element)"></val-plain-code-box>
|
|
250
|
+
</ng-container>
|
|
251
|
+
|
|
212
252
|
<!-- Lista -->
|
|
213
253
|
<ng-container *ngIf="element.type === 'list'">
|
|
214
254
|
<ul *ngIf="getListElement(element).props.listType !== 'ordered'" class="val-article__list">
|
|
@@ -295,11 +335,21 @@ export class ArticleComponent {
|
|
|
295
335
|
</ng-container>
|
|
296
336
|
</div>
|
|
297
337
|
</article>
|
|
298
|
-
`, isInline: true, styles: [".val-article{width:100%;margin:0 auto;line-height:1.6;color:var(--ion-color-dark, #1f2937);display:block;position:static}.val-article--centered{margin:0 auto}.val-article--light{background-color:var(--ion-color-light, #ffffff);color:var(--ion-color-dark, #1f2937)}.val-article--dark{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article__element{position:relative}.val-article__element:last-child{margin-bottom:0!important}.val-article__spacing-top--none{margin-top:0!important}.val-article__spacing-top--small{margin-top:.5rem!important}.val-article__spacing-top--medium{margin-top:1rem!important}.val-article__spacing-top--large{margin-top:1.5rem!important}.val-article__spacing-top--xlarge{margin-top:2.5rem!important}.val-article__spacing-bottom--none{margin-bottom:0!important}.val-article__spacing-bottom--small{margin-bottom:.5rem!important}.val-article__spacing-bottom--medium{margin-bottom:1rem!important}.val-article__spacing-bottom--large{margin-bottom:1.5rem!important}.val-article__spacing-bottom--xlarge{margin-bottom:2.5rem!important}.val-article__spacing-horizontal--none{margin-left:0!important;margin-right:0!important}.val-article__spacing-horizontal--small{margin-left:.5rem!important;margin-right:.5rem!important}.val-article__spacing-horizontal--medium{margin-left:1rem!important;margin-right:1rem!important}.val-article__spacing-horizontal--large{margin-left:1.5rem!important;margin-right:1.5rem!important}.val-article__spacing-horizontal--xlarge{margin-left:2.5rem!important;margin-right:2.5rem!important}.val-article__quote{border-left:4px solid #0969da;padding:1rem;margin:1rem 0;background-color:var(--ion-color-light-shade, #f8f9fa);border-radius:0 8px 8px 0;font-style:italic}.val-article__quote-content{margin-bottom:.5rem;font-size:1.1em}.val-article__quote-author{font-size:.9em;color:var(--ion-color-medium, #6c757d);font-style:normal;font-weight:500;text-align:right}.val-article__quote-source{font-weight:400;opacity:.8}.val-article__highlight{padding:1rem;margin:.5rem 0;background-color:var(--ion-color-warning-tint, #fff3cd);border:1px solid var(--ion-color-warning, #ffc107);border-radius:4px}.val-article__highlight--rounded{border-radius:12px}.val-article__code{margin:1rem 0;border-radius:8px;overflow:hidden;border:1px solid #e1e5e9}.val-article__code-language{background-color:var(--ion-color-medium-tint, #f8f9fa);padding:.5rem 1rem;font-size:.875em;font-weight:500;color:var(--ion-color-dark, #495057);border-bottom:1px solid #e1e5e9;text-transform:uppercase;letter-spacing:.5px}.val-article__code-content{background-color:#f6f8fa;color:#24292e;padding:1rem;margin:0;overflow-x:auto;font-family:SFMono-Regular,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;line-height:1.5}.val-article__code-content code{background:none;padding:0;font-size:inherit;color:inherit}.val-article__code-content--dark{background-color:#161b22;color:#f0f6fc}.val-article__list{margin:1rem 0;padding-left:1.5rem}.val-article__list--ordered{list-style-type:decimal}.val-article__list-item{margin-bottom:.5rem;line-height:1.6;position:relative}.val-article__list-item:last-child{margin-bottom:0}.val-article__list-check{color:var(--ion-color-success, #28a745);font-weight:700;margin-right:.5rem;position:absolute;left:-1.5rem}.val-article .val-article__list:has(.val-article__list-check){list-style:none;padding-left:1rem}.val-article__button-container{margin:1rem 0}.val-article__button-container--left{text-align:left}.val-article__button-container--center{text-align:center}.val-article__button-container--right{text-align:right}.val-article__separator{margin:1.5rem 0;text-align:center}.val-article__separator-line{border:none;height:1px;background-color:#d0d7de;margin:0}.val-article__separator-line--thin{height:1px}.val-article__separator-line--thick{height:3px}.val-article__separator-dots{color:#d0d7de;font-size:1.5em;letter-spacing:.5em;-webkit-user-select:none;user-select:none}.val-article__separator-space{height:1.5rem}.val-article__image{margin:1.5rem 0;text-align:center}.val-article__image--left{text-align:left}.val-article__image--center{text-align:center}.val-article__image--right{text-align:right}.val-article__image-content{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.val-article__image-content:hover{transform:scale(1.02)}.val-article__image-content--rounded{border-radius:12px}.val-article__image-caption{margin-top:.5rem;font-size:.875em;color:var(--ion-color-medium, #6c757d);font-style:italic;text-align:center}.val-article__video{margin:1.5rem 0;text-align:center}.val-article__video-content{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.val-article__video-title{margin-top:.5rem;font-size:.9em;color:var(--ion-color-medium, #6c757d);font-weight:500}.val-article__custom{margin:1rem 0}.val-article__custom *{max-width:100%}@media (max-width: 768px){.val-article__code-content{font-size:.8em;padding:.5rem}.val-article__image-content:hover{transform:none}.val-article__quote{padding:.5rem;margin:.5rem 0}.val-article__highlight{padding:.5rem}}@media (prefers-color-scheme: dark){.val-article--auto{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article--auto .val-article__quote{background-color:#ffffff0d}.val-article--auto .val-article__highlight{background-color:#ffc1071a;border-color:var(--ion-color-warning-shade, #e0a800)}.val-article--auto .val-article__code-content{background-color:#161b22;color:#f0f6fc}}.val-article__element{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.val-article__separator-line{background-color:currentColor;opacity:.5}.val-article__quote{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.val-article .val-article__element{animation:none}.val-article__image-content{transition:none}.val-article__image-content:hover{transform:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: CodeDisplayComponent, selector: "val-code-display", inputs: ["props"] }] }); }
|
|
338
|
+
`, isInline: true, styles: [".val-article{width:100%;margin:0 auto;line-height:1.6;color:var(--ion-color-dark, #1f2937);display:block;position:static}.val-article--centered{margin:0 auto}.val-article--light{background-color:var(--ion-color-light, #ffffff);color:var(--ion-color-dark, #1f2937)}.val-article--dark{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article__element{position:relative}.val-article__element:last-child{margin-bottom:0!important}.val-article__spacing-top--none{margin-top:0!important}.val-article__spacing-top--small{margin-top:.5rem!important}.val-article__spacing-top--medium{margin-top:1rem!important}.val-article__spacing-top--large{margin-top:1.5rem!important}.val-article__spacing-top--xlarge{margin-top:2.5rem!important}.val-article__spacing-bottom--none{margin-bottom:0!important}.val-article__spacing-bottom--small{margin-bottom:.5rem!important}.val-article__spacing-bottom--medium{margin-bottom:1rem!important}.val-article__spacing-bottom--large{margin-bottom:1.5rem!important}.val-article__spacing-bottom--xlarge{margin-bottom:2.5rem!important}.val-article__spacing-horizontal--none{margin-left:0!important;margin-right:0!important}.val-article__spacing-horizontal--small{margin-left:.5rem!important;margin-right:.5rem!important}.val-article__spacing-horizontal--medium{margin-left:1rem!important;margin-right:1rem!important}.val-article__spacing-horizontal--large{margin-left:1.5rem!important;margin-right:1.5rem!important}.val-article__spacing-horizontal--xlarge{margin-left:2.5rem!important;margin-right:2.5rem!important}.val-article__quote{border-left:4px solid #0969da;padding:1rem;margin:1rem 0;background-color:var(--ion-color-light-shade, #f8f9fa);border-radius:0 8px 8px 0;font-style:italic}.val-article__quote-content{margin-bottom:.5rem;font-size:1.1em}.val-article__quote-author{font-size:.9em;color:var(--ion-color-medium, #6c757d);font-style:normal;font-weight:500;text-align:right}.val-article__quote-source{font-weight:400;opacity:.8}.val-article__highlight{padding:1rem;margin:.5rem 0;background-color:var(--ion-color-warning-tint, #fff3cd);border:1px solid var(--ion-color-warning, #ffc107);border-radius:4px}.val-article__highlight--rounded{border-radius:12px}.val-article__code{margin:1rem 0;border-radius:8px;overflow:hidden;border:1px solid #e1e5e9}.val-article__code-language{background-color:var(--ion-color-medium-tint, #f8f9fa);padding:.5rem 1rem;font-size:.875em;font-weight:500;color:var(--ion-color-dark, #495057);border-bottom:1px solid #e1e5e9;text-transform:uppercase;letter-spacing:.5px}.val-article__code-content{background-color:#f6f8fa;color:#24292e;padding:1rem;margin:0;overflow-x:auto;font-family:SFMono-Regular,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;line-height:1.5}.val-article__code-content code{background:none;padding:0;font-size:inherit;color:inherit}.val-article__code-content--dark{background-color:#161b22;color:#f0f6fc}.val-article__list{margin:1rem 0;padding-left:1.5rem}.val-article__list--ordered{list-style-type:decimal}.val-article__list-item{margin-bottom:.5rem;line-height:1.6;position:relative}.val-article__list-item:last-child{margin-bottom:0}.val-article__list-check{color:var(--ion-color-success, #28a745);font-weight:700;margin-right:.5rem;position:absolute;left:-1.5rem}.val-article .val-article__list:has(.val-article__list-check){list-style:none;padding-left:1rem}.val-article__button-container{margin:1rem 0}.val-article__button-container--left{text-align:left}.val-article__button-container--center{text-align:center}.val-article__button-container--right{text-align:right}.val-article__separator{margin:1.5rem 0;text-align:center}.val-article__separator-line{border:none;height:1px;background-color:#d0d7de;margin:0}.val-article__separator-line--thin{height:1px}.val-article__separator-line--thick{height:3px}.val-article__separator-dots{color:#d0d7de;font-size:1.5em;letter-spacing:.5em;-webkit-user-select:none;user-select:none}.val-article__separator-space{height:1.5rem}.val-article__image{margin:1.5rem 0;text-align:center}.val-article__image--left{text-align:left}.val-article__image--center{text-align:center}.val-article__image--right{text-align:right}.val-article__image-content{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.val-article__image-content:hover{transform:scale(1.02)}.val-article__image-content--rounded{border-radius:12px}.val-article__image-caption{margin-top:.5rem;font-size:.875em;color:var(--ion-color-medium, #6c757d);font-style:italic;text-align:center}.val-article__video{margin:1.5rem 0;text-align:center}.val-article__video-content{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.val-article__video-title{margin-top:.5rem;font-size:.9em;color:var(--ion-color-medium, #6c757d);font-weight:500}.val-article__custom{margin:1rem 0}.val-article__custom *{max-width:100%}@media (max-width: 768px){.val-article__code-content{font-size:.8em;padding:.5rem}.val-article__image-content:hover{transform:none}.val-article__quote{padding:.5rem;margin:.5rem 0}.val-article__highlight{padding:.5rem}}@media (prefers-color-scheme: dark){.val-article--auto{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article--auto .val-article__quote{background-color:#ffffff0d}.val-article--auto .val-article__highlight{background-color:#ffc1071a;border-color:var(--ion-color-warning-shade, #e0a800)}.val-article--auto .val-article__code-content{background-color:#161b22;color:#f0f6fc}}.val-article__element{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.val-article__separator-line{background-color:currentColor;opacity:.5}.val-article__quote{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.val-article .val-article__element{animation:none}.val-article__image-content{transition:none}.val-article__image-content:hover{transform:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: CodeDisplayComponent, selector: "val-code-display", inputs: ["props"] }, { kind: "component", type: NotesBoxComponent, selector: "val-notes-box", inputs: ["props"] }, { kind: "component", type: PlainCodeBoxComponent, selector: "val-plain-code-box", inputs: ["props"] }] }); }
|
|
299
339
|
}
|
|
300
340
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleComponent, decorators: [{
|
|
301
341
|
type: Component,
|
|
302
|
-
args: [{ selector: 'val-article', standalone: true, imports: [
|
|
342
|
+
args: [{ selector: 'val-article', standalone: true, imports: [
|
|
343
|
+
CommonModule,
|
|
344
|
+
DisplayComponent,
|
|
345
|
+
TitleComponent,
|
|
346
|
+
TextComponent,
|
|
347
|
+
ButtonComponent,
|
|
348
|
+
ImageComponent,
|
|
349
|
+
CodeDisplayComponent,
|
|
350
|
+
NotesBoxComponent,
|
|
351
|
+
PlainCodeBoxComponent,
|
|
352
|
+
], template: `
|
|
303
353
|
<article
|
|
304
354
|
class="val-article"
|
|
305
355
|
[class]="props.cssClass"
|
|
@@ -319,7 +369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
319
369
|
>
|
|
320
370
|
<!-- Título -->
|
|
321
371
|
<ng-container *ngIf="element.type === 'title'">
|
|
322
|
-
<val-
|
|
372
|
+
<val-display [props]="getTitleElement(element).props"></val-display>
|
|
323
373
|
</ng-container>
|
|
324
374
|
|
|
325
375
|
<!-- Subtítulo -->
|
|
@@ -365,6 +415,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
365
415
|
<val-code-display [props]="getCodeDisplayProps(element)"></val-code-display>
|
|
366
416
|
</ng-container>
|
|
367
417
|
|
|
418
|
+
<!-- Nota destacada -->
|
|
419
|
+
<ng-container *ngIf="element.type === 'note'">
|
|
420
|
+
<val-notes-box [props]="getNoteBoxProps(element)"></val-notes-box>
|
|
421
|
+
</ng-container>
|
|
422
|
+
|
|
423
|
+
<!-- Comando de terminal -->
|
|
424
|
+
<ng-container *ngIf="element.type === 'command'">
|
|
425
|
+
<val-plain-code-box [props]="getCommandProps(element)"></val-plain-code-box>
|
|
426
|
+
</ng-container>
|
|
427
|
+
|
|
368
428
|
<!-- Lista -->
|
|
369
429
|
<ng-container *ngIf="element.type === 'list'">
|
|
370
430
|
<ul *ngIf="getListElement(element).props.listType !== 'ordered'" class="val-article__list">
|
|
@@ -455,4 +515,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
455
515
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
456
516
|
type: Input
|
|
457
517
|
}] } });
|
|
458
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7O0FBbUwzRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsZ0JBQWUsQ0FBQztJQUVoQixRQUFRO1FBQ04sb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBdUI7UUFDOUMsT0FBTyxPQUFPLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0IsQ0FBQyxPQUF1QjtRQUM1QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0pULGcvTEF6SlMsWUFBWSw4VkFBRSxjQUFjLHlFQUFFLGFBQWEsd0VBQUUsZUFBZSxnR0FBRSxjQUFjLHlFQUFFLG9CQUFvQjs7NEZBb0xqRyxnQkFBZ0I7a0JBdkw1QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixDQUFDLFlBQ25HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdKVDt3REFpQ0QsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL3R5cGVzJztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvZGUtZGlzcGxheS9jb2RlLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVEaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29kZS1kaXNwbGF5L3R5cGVzJztcbmltcG9ydCB7XG4gIEFydGljbGVCdXR0b25FbGVtZW50LFxuICBBcnRpY2xlQ29kZUVsZW1lbnQsXG4gIEFydGljbGVDdXN0b21FbGVtZW50LFxuICBBcnRpY2xlRWxlbWVudCxcbiAgQXJ0aWNsZUhpZ2hsaWdodEVsZW1lbnQsXG4gIEFydGljbGVJbWFnZUVsZW1lbnQsXG4gIEFydGljbGVMaXN0RWxlbWVudCxcbiAgQXJ0aWNsZU1ldGFkYXRhLFxuICBBcnRpY2xlUXVvdGVFbGVtZW50LFxuICBBcnRpY2xlU2VwYXJhdG9yRWxlbWVudCxcbiAgQXJ0aWNsZVN1YnRpdGxlRWxlbWVudCxcbiAgQXJ0aWNsZVRleHRFbGVtZW50LFxuICBBcnRpY2xlVGl0bGVFbGVtZW50LFxuICBBcnRpY2xlVmlkZW9FbGVtZW50LFxufSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWFydGljbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaXRsZUNvbXBvbmVudCwgVGV4dENvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBJbWFnZUNvbXBvbmVudCwgQ29kZURpc3BsYXlDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcnRpY2xlXG4gICAgICBjbGFzcz1cInZhbC1hcnRpY2xlXCJcbiAgICAgIFtjbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd2YWwtYXJ0aWNsZS0tY2VudGVyZWQnOiBwcm9wcy5jZW50ZXJlZCxcbiAgICAgICAgJ3ZhbC1hcnRpY2xlLS1saWdodCc6IHByb3BzLnRoZW1lID09PSAnbGlnaHQnLFxuICAgICAgICAndmFsLWFydGljbGUtLWRhcmsnOiBwcm9wcy50aGVtZSA9PT0gJ2RhcmsnLFxuICAgICAgfVwiXG4gICAgICBbc3R5bGUubWF4LXdpZHRoXT1cInByb3BzLm1heFdpZHRoXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHByb3BzLmVsZW1lbnRzOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19lbGVtZW50XCJcbiAgICAgICAgW2NsYXNzXT1cImVsZW1lbnQuY3NzQ2xhc3NcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRFbGVtZW50U3BhY2luZ0NsYXNzKGVsZW1lbnQpXCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiZWxlbWVudC52aXNpYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICdibG9jaydcIlxuICAgICAgPlxuICAgICAgICA8IS0tIFTDrXR1bG8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd0aXRsZSdcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJnZXRUaXRsZUVsZW1lbnQoZWxlbWVudCkucHJvcHNcIj48L3ZhbC10aXRsZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBTdWJ0w610dWxvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnc3VidGl0bGUnXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwiZ2V0U3VidGl0bGVFbGVtZW50KGVsZW1lbnQpLnByb3BzXCI+PC92YWwtdGl0bGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVGV4dG8vUMOhcnJhZm8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtZW50LnR5cGUgPT09ICdwYXJhZ3JhcGgnXCI+XG4gICAgICAgICAgPHZhbC10ZXh0IFtwcm9wc109XCJnZXRUZXh0RWxlbWVudChlbGVtZW50KS5wcm9wc1wiPjwvdmFsLXRleHQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ2l0YSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3F1b3RlJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGUtY29udGVudFwiPlxuICAgICAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cImdldFF1b3RlVGV4dFByb3BzKGVsZW1lbnQpXCI+PC92YWwtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5hdXRob3JcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19xdW90ZS1hdXRob3JcIj5cbiAgICAgICAgICAgICAg4oCUIHt7IGdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5hdXRob3IgfX1cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRRdW90ZUVsZW1lbnQoZWxlbWVudCkucHJvcHMuc291cmNlXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGUtc291cmNlXCI+XG4gICAgICAgICAgICAgICAgLCB7eyBnZXRRdW90ZUVsZW1lbnQoZWxlbWVudCkucHJvcHMuc291cmNlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFRleHRvIGRlc3RhY2FkbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2hpZ2hsaWdodCdcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19oaWdobGlnaHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2hpZ2hsaWdodC0tcm91bmRlZCc6IGdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCkucHJvcHMucm91bmRlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0SGlnaGxpZ2h0Q29sb3IoZWxlbWVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwiZ2V0SGlnaGxpZ2h0VGV4dFByb3BzKGVsZW1lbnQpXCI+PC92YWwtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDw7NkaWdvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY29kZSdcIj5cbiAgICAgICAgICA8dmFsLWNvZGUtZGlzcGxheSBbcHJvcHNdPVwiZ2V0Q29kZURpc3BsYXlQcm9wcyhlbGVtZW50KVwiPjwvdmFsLWNvZGUtZGlzcGxheT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBMaXN0YSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2xpc3QnXCI+XG4gICAgICAgICAgPHVsICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgIT09ICdvcmRlcmVkJ1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3RcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRMaXN0RWxlbWVudChlbGVtZW50KS5wcm9wcy5pdGVtc1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldExpc3RFbGVtZW50KGVsZW1lbnQpLnByb3BzLmxpc3RUeXBlID09PSAnY2hlY2tsaXN0J1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtY2hlY2tcIlxuICAgICAgICAgICAgICAgID7inJM8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8b2xcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgPT09ICdvcmRlcmVkJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19saXN0IHZhbC1hcnRpY2xlX19saXN0LS1vcmRlcmVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMuaXRlbXNcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAge3sgaXRlbS50ZXh0IH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvb2w+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQm90w7NuIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnYnV0dG9uJ1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLWxlZnQnOiBnZXRCdXR0b25FbGVtZW50KGVsZW1lbnQpLnByb3BzLmFsaWdubWVudCA9PT0gJ2xlZnQnLFxuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLWNlbnRlcic6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAnY2VudGVyJyxcbiAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19idXR0b24tY29udGFpbmVyLS1yaWdodCc6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAncmlnaHQnLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cImdldEJ1dHRvblByb3BzKGVsZW1lbnQpXCI+PC92YWwtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFNlcGFyYWRvciAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3NlcGFyYXRvcidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWFydGljbGVfX3NlcGFyYXRvclwiPlxuICAgICAgICAgICAgPGhyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50KS5wcm9wcy5zdHlsZSA9PT0gJ2xpbmUnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLWxpbmVcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZS0tdGhpbic6IGdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMudGhpY2tuZXNzID09PSAndGhpbicsXG4gICAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZS0tdGhpY2snOiBnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnRoaWNrbmVzcyA9PT0gJ3RoaWNrJyxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMuc3R5bGUgPT09ICdkb3RzJ1wiIGNsYXNzPVwidmFsLWFydGljbGVfX3NlcGFyYXRvci1kb3RzXCI+XG4gICAgICAgICAgICAgIOKAoiDigKIg4oCiXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnN0eWxlID09PSAnc3BhY2UnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLXNwYWNlXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBJbWFnZW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdpbWFnZSdcIj5cbiAgICAgICAgICA8dmFsLWltYWdlIFtwcm9wc109XCJnZXRJbWFnZU1ldGFkYXRhKGVsZW1lbnQpXCI+PC92YWwtaW1hZ2U+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVmlkZW8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd2aWRlbydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWFydGljbGVfX3ZpZGVvXCI+XG4gICAgICAgICAgICA8dmlkZW9cbiAgICAgICAgICAgICAgW3NyY109XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMuc3JjXCJcbiAgICAgICAgICAgICAgW3Bvc3Rlcl09XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMucG9zdGVyXCJcbiAgICAgICAgICAgICAgW2NvbnRyb2xzXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5jb250cm9scyAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgICBbYXV0b3BsYXldPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLmF1dG9wbGF5XCJcbiAgICAgICAgICAgICAgW211dGVkXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5tdXRlZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLm1heFdpZHRoXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fdmlkZW8tY29udGVudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFR1IG5hdmVnYWRvciBubyBzb3BvcnRhIGVsIGVsZW1lbnRvIHZpZGVvLlxuICAgICAgICAgICAgPC92aWRlbz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMudGl0bGVcIiBjbGFzcz1cInZhbC1hcnRpY2xlX192aWRlby10aXRsZVwiPlxuICAgICAgICAgICAgICB7eyBnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMudGl0bGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIENvbnRlbmlkbyBwZXJzb25hbGl6YWRvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY3VzdG9tJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fY3VzdG9tXCIgW2lubmVySFRNTF09XCJnZXRDdXN0b21FbGVtZW50KGVsZW1lbnQpLnByb3BzLmh0bWxDb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9hcnRpY2xlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hcnRpY2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLCAvLyBDb21lbnRhZG8gdGVtcG9yYWxtZW50ZSBwYXJhIGRlYnVnXG59KVxuLyoqXG4gKiB2YWwtYXJ0aWNsZVxuICpcbiAqIENvbXBvbmVudGUgcGFyYSBjcmVhciBhcnTDrWN1bG9zLCBibG9ncyB5IGRvY3VtZW50YWNpw7NuIGRlIGZvcm1hIGRlY2xhcmF0aXZhLlxuICogUGVybWl0ZSBjb21iaW5hciBtw7psdGlwbGVzIGVsZW1lbnRvcyAodMOtdHVsb3MsIHRleHRvLCBpbcOhZ2VuZXMsIGPDs2RpZ28sIGV0Yy4pXG4gKiBjb24gZXNwYWNpYWRvIGF1dG9tw6F0aWNvIHkgc29wb3J0ZSBtdWx0aS1pZGlvbWEuXG4gKlxuICogQGV4YW1wbGUgVXNvIGLDoXNpY286XG4gKiBgYGBodG1sXG4gKiA8dmFsLWFydGljbGUgW3Byb3BzXT1cImFydGljbGVDb25maWdcIj48L3ZhbC1hcnRpY2xlPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQ29uIEFydGljbGVCdWlsZGVyOlxuICogYGBgdHlwZXNjcmlwdFxuICogYXJ0aWNsZUNvbmZpZyA9IG5ldyBBcnRpY2xlQnVpbGRlcigpXG4gKiAgIC50aXRsZSh0aXRsZVByb3BzKVxuICogICAucGFyYWdyYXBoKHRleHRQcm9wcylcbiAqICAgLmNvZGUoJ2NvbnNvbGUubG9nKFwiSGVsbG8gV29ybGRcIiknLCAnamF2YXNjcmlwdCcpXG4gKiAgIC5idWlsZCgpO1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBBcnRpY2xlTWV0YWRhdGEgLSBDb25maWd1cmFjacOzbiBjb21wbGV0YSBkZWwgYXJ0w61jdWxvXG4gKi9cbmV4cG9ydCBjbGFzcyBBcnRpY2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYWNpw7NuIGRlbCBhcnTDrWN1bG9cbiAgICogQHR5cGUge0FydGljbGVNZXRhZGF0YX1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzITogQXJ0aWNsZU1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBWYWxpZGFjacOzbiBiw6FzaWNhXG4gICAgaWYgKCF0aGlzLnByb3BzIHx8ICF0aGlzLnByb3BzLmVsZW1lbnRzKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3ZhbC1hcnRpY2xlOiBwcm9wcy5lbGVtZW50cyBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jacOzbiBkZSB0cmFja0J5IHBhcmEgb3B0aW1pemFyIGVsIHJlbmRlcmluZyBkZSBlbGVtZW50b3NcbiAgICovXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IGFueSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuaWQgfHwgaW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBsYXMgY2xhc2VzIENTUyBwYXJhIGVsIGVzcGFjaWFkbyBkZWwgZWxlbWVudG9cbiAgICovXG4gIGdldEVsZW1lbnRTcGFjaW5nQ2xhc3MoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNwYWNpbmcgPSBlbGVtZW50LnNwYWNpbmcgfHwgdGhpcy5wcm9wcy5kZWZhdWx0U3BhY2luZztcbiAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKHNwYWNpbmc/LnRvcCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKGB2YWwtYXJ0aWNsZV9fc3BhY2luZy10b3AtLSR7c3BhY2luZy50b3B9YCk7XG4gICAgfVxuICAgIGlmIChzcGFjaW5nPy5ib3R0b20pIHtcbiAgICAgIGNsYXNzZXMucHVzaChgdmFsLWFydGljbGVfX3NwYWNpbmctYm90dG9tLS0ke3NwYWNpbmcuYm90dG9tfWApO1xuICAgIH1cbiAgICBpZiAoc3BhY2luZz8uaG9yaXpvbnRhbCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKGB2YWwtYXJ0aWNsZV9fc3BhY2luZy1ob3Jpem9udGFsLS0ke3NwYWNpbmcuaG9yaXpvbnRhbH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICAvLyA9PT0gRlVOQ0lPTkVTIERFIFRJUE8gUEFSQSBUWVBFU0NSSVBUID09PVxuXG4gIGdldFRpdGxlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVUaXRsZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVUaXRsZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRTdWJ0aXRsZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlU3VidGl0bGVFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlU3VidGl0bGVFbGVtZW50O1xuICB9XG5cbiAgZ2V0VGV4dEVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlVGV4dEVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVUZXh0RWxlbWVudDtcbiAgfVxuXG4gIGdldFF1b3RlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVRdW90ZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVRdW90ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRIaWdobGlnaHRFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUhpZ2hsaWdodEVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVIaWdobGlnaHRFbGVtZW50O1xuICB9XG5cbiAgZ2V0Q29kZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlQ29kZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVDb2RlRWxlbWVudDtcbiAgfVxuXG4gIGdldExpc3RFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUxpc3RFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlTGlzdEVsZW1lbnQ7XG4gIH1cblxuICBnZXRCdXR0b25FbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUJ1dHRvbkVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVCdXR0b25FbGVtZW50O1xuICB9XG5cbiAgZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVTZXBhcmF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlU2VwYXJhdG9yRWxlbWVudDtcbiAgfVxuXG4gIGdldEltYWdlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVJbWFnZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVJbWFnZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRWaWRlb0VsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlVmlkZW9FbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlVmlkZW9FbGVtZW50O1xuICB9XG5cbiAgZ2V0Q3VzdG9tRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVDdXN0b21FbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlQ3VzdG9tRWxlbWVudDtcbiAgfVxuXG4gIC8vID09PSBGVU5DSU9ORVMgQVVYSUxJQVJFUyBQQVJBIFBST1BTID09PVxuXG4gIGdldFF1b3RlVGV4dFByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KSB7XG4gICAgY29uc3QgcXVvdGVFbGVtZW50ID0gdGhpcy5nZXRRdW90ZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgeyBhdXRob3IsIHNvdXJjZSwgLi4udGV4dFByb3BzIH0gPSBxdW90ZUVsZW1lbnQucHJvcHM7XG4gICAgcmV0dXJuIHRleHRQcm9wcztcbiAgfVxuXG4gIGdldEhpZ2hsaWdodFRleHRQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCkge1xuICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSB0aGlzLmdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgeyBiYWNrZ3JvdW5kQ29sb3IsIHJvdW5kZWQsIC4uLnRleHRQcm9wcyB9ID0gaGlnaGxpZ2h0RWxlbWVudC5wcm9wcztcbiAgICByZXR1cm4gdGV4dFByb3BzO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0Q29sb3IoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSB0aGlzLmdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCk7XG4gICAgcmV0dXJuIGhpZ2hsaWdodEVsZW1lbnQucHJvcHMuYmFja2dyb3VuZENvbG9yIHx8ICd2YXIoLS1pb24tY29sb3ItbGlnaHQpJztcbiAgfVxuXG4gIGdldEJ1dHRvblByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KSB7XG4gICAgY29uc3QgYnV0dG9uRWxlbWVudCA9IHRoaXMuZ2V0QnV0dG9uRWxlbWVudChlbGVtZW50KTtcbiAgICBjb25zdCB7IGFsaWdubWVudCwgLi4uYnV0dG9uUHJvcHMgfSA9IGJ1dHRvbkVsZW1lbnQucHJvcHM7XG4gICAgcmV0dXJuIGJ1dHRvblByb3BzO1xuICB9XG5cbiAgZ2V0Q29kZURpc3BsYXlQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IENvZGVEaXNwbGF5TWV0YWRhdGEge1xuICAgIGNvbnN0IGNvZGVFbGVtZW50ID0gdGhpcy5nZXRDb2RlRWxlbWVudChlbGVtZW50KTtcbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogY29kZUVsZW1lbnQucHJvcHMuY29kZSxcbiAgICAgIGxhbmd1YWdlOiBjb2RlRWxlbWVudC5wcm9wcy5sYW5ndWFnZSB8fCAndHlwZXNjcmlwdCcsXG4gICAgICB0YWJzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SW1hZ2VNZXRhZGF0YShlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEltYWdlTWV0YWRhdGEge1xuICAgIGNvbnN0IGltYWdlRWxlbWVudCA9IHRoaXMuZ2V0SW1hZ2VFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IHByb3BzID0gaW1hZ2VFbGVtZW50LnByb3BzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNyYzogcHJvcHMuc3JjLFxuICAgICAgYWx0OiBwcm9wcy5hbHQsXG4gICAgICBtb2RlOiBwcm9wcy5yb3VuZGVkID8gJ3JvdW5kZWQnIDogJ2JveCcsXG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICBhbGlnbm1lbnQ6IHByb3BzLmFsaWdubWVudCB8fCAnY2VudGVyJyxcbiAgICAgIGNhcHRpb246IHByb3BzLmNhcHRpb24sXG4gICAgICBjYXB0aW9uU2l6ZTogJ21lZGl1bScgYXMgY29uc3QsXG4gICAgICB3aWR0aDogcHJvcHMubWF4V2lkdGggPyBwYXJzZUludChwcm9wcy5tYXhXaWR0aC5yZXBsYWNlKCdweCcsICcnKSkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
518
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7O0FBeU1oRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsZ0JBQWUsQ0FBQztJQUVoQixRQUFRO1FBQ04sb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBdUI7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O0lBQ0osQ0FBQzsrR0EvS1UsZ0JBQWdCO21HQUFoQixnQkFBZ0IsbUdBN0xqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0tULGcvTEE1S0MsWUFBWSw4VkFDWixnQkFBZ0IsMkVBQ2hCLGNBQWMseUVBQ2QsYUFBYSx3RUFDYixlQUFlLGdHQUNmLGNBQWMseUVBQ2Qsb0JBQW9CLGdGQUNwQixpQkFBaUIsNkVBQ2pCLHFCQUFxQjs7NEZBK0xaLGdCQUFnQjtrQkEzTTVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIscUJBQXFCO3FCQUN0QixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrS1Q7d0RBaUNELEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS90eXBlcyc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RlRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jb2RlLWRpc3BsYXkvY29kZS1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RlRGlzcGxheU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvZGUtZGlzcGxheS90eXBlcyc7XG5pbXBvcnQgeyBOb3Rlc0JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9ub3Rlcy1ib3gvbm90ZXMtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3Rlc0JveE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL25vdGVzLWJveC90eXBlcyc7XG5pbXBvcnQgeyBQbGFpbkNvZGVCb3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGxhaW4tY29kZS1ib3gvcGxhaW4tY29kZS1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWluQ29kZUJveE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3BsYWluLWNvZGUtYm94L3R5cGVzJztcbmltcG9ydCB7XG4gIEFydGljbGVCdXR0b25FbGVtZW50LFxuICBBcnRpY2xlQ29kZUVsZW1lbnQsXG4gIEFydGljbGVDb21tYW5kRWxlbWVudCxcbiAgQXJ0aWNsZUN1c3RvbUVsZW1lbnQsXG4gIEFydGljbGVFbGVtZW50LFxuICBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudCxcbiAgQXJ0aWNsZUltYWdlRWxlbWVudCxcbiAgQXJ0aWNsZUxpc3RFbGVtZW50LFxuICBBcnRpY2xlTWV0YWRhdGEsXG4gIEFydGljbGVOb3RlRWxlbWVudCxcbiAgQXJ0aWNsZVF1b3RlRWxlbWVudCxcbiAgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQsXG4gIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQsXG4gIEFydGljbGVUZXh0RWxlbWVudCxcbiAgQXJ0aWNsZVRpdGxlRWxlbWVudCxcbiAgQXJ0aWNsZVZpZGVvRWxlbWVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hcnRpY2xlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIENvZGVEaXNwbGF5Q29tcG9uZW50LFxuICAgIE5vdGVzQm94Q29tcG9uZW50LFxuICAgIFBsYWluQ29kZUJveENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXJ0aWNsZVxuICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZVwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndmFsLWFydGljbGUtLWNlbnRlcmVkJzogcHJvcHMuY2VudGVyZWQsXG4gICAgICAgICd2YWwtYXJ0aWNsZS0tbGlnaHQnOiBwcm9wcy50aGVtZSA9PT0gJ2xpZ2h0JyxcbiAgICAgICAgJ3ZhbC1hcnRpY2xlLS1kYXJrJzogcHJvcHMudGhlbWUgPT09ICdkYXJrJyxcbiAgICAgIH1cIlxuICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJwcm9wcy5tYXhXaWR0aFwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBwcm9wcy5lbGVtZW50czsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fZWxlbWVudFwiXG4gICAgICAgIFtjbGFzc109XCJlbGVtZW50LmNzc0NsYXNzXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0RWxlbWVudFNwYWNpbmdDbGFzcyhlbGVtZW50KVwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImVsZW1lbnQudmlzaWJsZSA9PT0gZmFsc2UgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgICAgID5cbiAgICAgICAgPCEtLSBUw610dWxvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAndGl0bGUnXCI+XG4gICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJnZXRUaXRsZUVsZW1lbnQoZWxlbWVudCkucHJvcHNcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFN1YnTDrXR1bG8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdzdWJ0aXRsZSdcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJnZXRTdWJ0aXRsZUVsZW1lbnQoZWxlbWVudCkucHJvcHNcIj48L3ZhbC10aXRsZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBUZXh0by9Qw6FycmFmbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3RleHQnIHx8IGVsZW1lbnQudHlwZSA9PT0gJ3BhcmFncmFwaCdcIj5cbiAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cImdldFRleHRFbGVtZW50KGVsZW1lbnQpLnByb3BzXCI+PC92YWwtdGV4dD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDaXRhIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAncXVvdGUnXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1hcnRpY2xlX19xdW90ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1hcnRpY2xlX19xdW90ZS1jb250ZW50XCI+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwiZ2V0UXVvdGVUZXh0UHJvcHMoZWxlbWVudClcIj48L3ZhbC10ZXh0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0UXVvdGVFbGVtZW50KGVsZW1lbnQpLnByb3BzLmF1dGhvclwiIGNsYXNzPVwidmFsLWFydGljbGVfX3F1b3RlLWF1dGhvclwiPlxuICAgICAgICAgICAgICDigJQge3sgZ2V0UXVvdGVFbGVtZW50KGVsZW1lbnQpLnByb3BzLmF1dGhvciB9fVxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5zb3VyY2VcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19xdW90ZS1zb3VyY2VcIj5cbiAgICAgICAgICAgICAgICAsIHt7IGdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5zb3VyY2UgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVGV4dG8gZGVzdGFjYWRvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnaGlnaGxpZ2h0J1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2hpZ2hsaWdodFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICd2YWwtYXJ0aWNsZV9faGlnaGxpZ2h0LS1yb3VuZGVkJzogZ2V0SGlnaGxpZ2h0RWxlbWVudChlbGVtZW50KS5wcm9wcy5yb3VuZGVkLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRIaWdobGlnaHRDb2xvcihlbGVtZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZhbC10ZXh0IFtwcm9wc109XCJnZXRIaWdobGlnaHRUZXh0UHJvcHMoZWxlbWVudClcIj48L3ZhbC10ZXh0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEPDs2RpZ28gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdjb2RlJ1wiPlxuICAgICAgICAgIDx2YWwtY29kZS1kaXNwbGF5IFtwcm9wc109XCJnZXRDb2RlRGlzcGxheVByb3BzKGVsZW1lbnQpXCI+PC92YWwtY29kZS1kaXNwbGF5PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIE5vdGEgZGVzdGFjYWRhIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnbm90ZSdcIj5cbiAgICAgICAgICA8dmFsLW5vdGVzLWJveCBbcHJvcHNdPVwiZ2V0Tm90ZUJveFByb3BzKGVsZW1lbnQpXCI+PC92YWwtbm90ZXMtYm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIENvbWFuZG8gZGUgdGVybWluYWwgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdjb21tYW5kJ1wiPlxuICAgICAgICAgIDx2YWwtcGxhaW4tY29kZS1ib3ggW3Byb3BzXT1cImdldENvbW1hbmRQcm9wcyhlbGVtZW50KVwiPjwvdmFsLXBsYWluLWNvZGUtYm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIExpc3RhIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnbGlzdCdcIj5cbiAgICAgICAgICA8dWwgKm5nSWY9XCJnZXRMaXN0RWxlbWVudChlbGVtZW50KS5wcm9wcy5saXN0VHlwZSAhPT0gJ29yZGVyZWQnXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fbGlzdFwiPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldExpc3RFbGVtZW50KGVsZW1lbnQpLnByb3BzLml0ZW1zXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgPT09ICdjaGVja2xpc3QnXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fbGlzdC1jaGVja1wiXG4gICAgICAgICAgICAgICAgPuKckzwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxvbFxuICAgICAgICAgICAgKm5nSWY9XCJnZXRMaXN0RWxlbWVudChlbGVtZW50KS5wcm9wcy5saXN0VHlwZSA9PT0gJ29yZGVyZWQnXCJcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QgdmFsLWFydGljbGVfX2xpc3QtLW9yZGVyZWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRMaXN0RWxlbWVudChlbGVtZW50KS5wcm9wcy5pdGVtc1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC9vbD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBCb3TDs24gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdidXR0b24nXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fYnV0dG9uLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICd2YWwtYXJ0aWNsZV9fYnV0dG9uLWNvbnRhaW5lci0tbGVmdCc6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAnbGVmdCcsXG4gICAgICAgICAgICAgICd2YWwtYXJ0aWNsZV9fYnV0dG9uLWNvbnRhaW5lci0tY2VudGVyJzogZ2V0QnV0dG9uRWxlbWVudChlbGVtZW50KS5wcm9wcy5hbGlnbm1lbnQgPT09ICdjZW50ZXInLFxuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLXJpZ2h0JzogZ2V0QnV0dG9uRWxlbWVudChlbGVtZW50KS5wcm9wcy5hbGlnbm1lbnQgPT09ICdyaWdodCcsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwiZ2V0QnV0dG9uUHJvcHMoZWxlbWVudClcIj48L3ZhbC1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gU2VwYXJhZG9yIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnc2VwYXJhdG9yJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yXCI+XG4gICAgICAgICAgICA8aHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnN0eWxlID09PSAnbGluZSdcIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAndmFsLWFydGljbGVfX3NlcGFyYXRvci1saW5lLS10aGluJzogZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50KS5wcm9wcy50aGlja25lc3MgPT09ICd0aGluJyxcbiAgICAgICAgICAgICAgICAndmFsLWFydGljbGVfX3NlcGFyYXRvci1saW5lLS10aGljayc6IGdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMudGhpY2tuZXNzID09PSAndGhpY2snLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50KS5wcm9wcy5zdHlsZSA9PT0gJ2RvdHMnXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLWRvdHNcIj5cbiAgICAgICAgICAgICAg4oCiIOKAoiDigKJcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cImdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMuc3R5bGUgPT09ICdzcGFjZSdcIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19zZXBhcmF0b3Itc3BhY2VcIlxuICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEltYWdlbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2ltYWdlJ1wiPlxuICAgICAgICAgIDx2YWwtaW1hZ2UgW3Byb3BzXT1cImdldEltYWdlTWV0YWRhdGEoZWxlbWVudClcIj48L3ZhbC1pbWFnZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBWaWRlbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3ZpZGVvJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fdmlkZW9cIj5cbiAgICAgICAgICAgIDx2aWRlb1xuICAgICAgICAgICAgICBbc3JjXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5zcmNcIlxuICAgICAgICAgICAgICBbcG9zdGVyXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5wb3N0ZXJcIlxuICAgICAgICAgICAgICBbY29udHJvbHNdPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLmNvbnRyb2xzICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgIFthdXRvcGxheV09XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMuYXV0b3BsYXlcIlxuICAgICAgICAgICAgICBbbXV0ZWRdPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLm11dGVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMubWF4V2lkdGhcIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX192aWRlby1jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgVHUgbmF2ZWdhZG9yIG5vIHNvcG9ydGEgZWwgZWxlbWVudG8gdmlkZW8uXG4gICAgICAgICAgICA8L3ZpZGVvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy50aXRsZVwiIGNsYXNzPVwidmFsLWFydGljbGVfX3ZpZGVvLXRpdGxlXCI+XG4gICAgICAgICAgICAgIHt7IGdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy50aXRsZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ29udGVuaWRvIHBlcnNvbmFsaXphZG8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdjdXN0b20nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1hcnRpY2xlX19jdXN0b21cIiBbaW5uZXJIVE1MXT1cImdldEN1c3RvbUVsZW1lbnQoZWxlbWVudCkucHJvcHMuaHRtbENvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2FydGljbGU+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2FydGljbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsIC8vIENvbWVudGFkbyB0ZW1wb3JhbG1lbnRlIHBhcmEgZGVidWdcbn0pXG4vKipcbiAqIHZhbC1hcnRpY2xlXG4gKlxuICogQ29tcG9uZW50ZSBwYXJhIGNyZWFyIGFydMOtY3Vsb3MsIGJsb2dzIHkgZG9jdW1lbnRhY2nDs24gZGUgZm9ybWEgZGVjbGFyYXRpdmEuXG4gKiBQZXJtaXRlIGNvbWJpbmFyIG3Dumx0aXBsZXMgZWxlbWVudG9zICh0w610dWxvcywgdGV4dG8sIGltw6FnZW5lcywgY8OzZGlnbywgZXRjLilcbiAqIGNvbiBlc3BhY2lhZG8gYXV0b23DoXRpY28geSBzb3BvcnRlIG11bHRpLWlkaW9tYS5cbiAqXG4gKiBAZXhhbXBsZSBVc28gYsOhc2ljbzpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiYXJ0aWNsZUNvbmZpZ1wiPjwvdmFsLWFydGljbGU+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBDb24gQXJ0aWNsZUJ1aWxkZXI6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhcnRpY2xlQ29uZmlnID0gbmV3IEFydGljbGVCdWlsZGVyKClcbiAqICAgLnRpdGxlKHRpdGxlUHJvcHMpXG4gKiAgIC5wYXJhZ3JhcGgodGV4dFByb3BzKVxuICogICAuY29kZSgnY29uc29sZS5sb2coXCJIZWxsbyBXb3JsZFwiKScsICdqYXZhc2NyaXB0JylcbiAqICAgLmJ1aWxkKCk7XG4gKiBgYGBcbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEFydGljbGVNZXRhZGF0YSAtIENvbmZpZ3VyYWNpw7NuIGNvbXBsZXRhIGRlbCBhcnTDrWN1bG9cbiAqL1xuZXhwb3J0IGNsYXNzIEFydGljbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogQ29uZmlndXJhY2nDs24gZGVsIGFydMOtY3Vsb1xuICAgKiBAdHlwZSB7QXJ0aWNsZU1ldGFkYXRhfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHMhOiBBcnRpY2xlTWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFZhbGlkYWNpw7NuIGLDoXNpY2FcbiAgICBpZiAoIXRoaXMucHJvcHMgfHwgIXRoaXMucHJvcHMuZWxlbWVudHMpIHtcbiAgICAgIGNvbnNvbGUud2FybigndmFsLWFydGljbGU6IHByb3BzLmVsZW1lbnRzIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmNpw7NuIGRlIHRyYWNrQnkgcGFyYSBvcHRpbWl6YXIgZWwgcmVuZGVyaW5nIGRlIGVsZW1lbnRvc1xuICAgKi9cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogYW55IHtcbiAgICByZXR1cm4gZWxlbWVudC5pZCB8fCBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhcyBjbGFzZXMgQ1NTIHBhcmEgZWwgZXNwYWNpYWRvIGRlbCBlbGVtZW50b1xuICAgKi9cbiAgZ2V0RWxlbWVudFNwYWNpbmdDbGFzcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3BhY2luZyA9IGVsZW1lbnQuc3BhY2luZyB8fCB0aGlzLnByb3BzLmRlZmF1bHRTcGFjaW5nO1xuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoc3BhY2luZz8udG9wKSB7XG4gICAgICBjbGFzc2VzLnB1c2goYHZhbC1hcnRpY2xlX19zcGFjaW5nLXRvcC0tJHtzcGFjaW5nLnRvcH1gKTtcbiAgICB9XG4gICAgaWYgKHNwYWNpbmc/LmJvdHRvbSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKGB2YWwtYXJ0aWNsZV9fc3BhY2luZy1ib3R0b20tLSR7c3BhY2luZy5ib3R0b219YCk7XG4gICAgfVxuICAgIGlmIChzcGFjaW5nPy5ob3Jpem9udGFsKSB7XG4gICAgICBjbGFzc2VzLnB1c2goYHZhbC1hcnRpY2xlX19zcGFjaW5nLWhvcml6b250YWwtLSR7c3BhY2luZy5ob3Jpem9udGFsfWApO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIC8vID09PSBGVU5DSU9ORVMgREUgVElQTyBQQVJBIFRZUEVTQ1JJUFQgPT09XG5cbiAgZ2V0VGl0bGVFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZVRpdGxlRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZVRpdGxlRWxlbWVudDtcbiAgfVxuXG4gIGdldFN1YnRpdGxlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVTdWJ0aXRsZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRUZXh0RWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVUZXh0RWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZVRleHRFbGVtZW50O1xuICB9XG5cbiAgZ2V0UXVvdGVFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZVF1b3RlRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZVF1b3RlRWxlbWVudDtcbiAgfVxuXG4gIGdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUhpZ2hsaWdodEVsZW1lbnQ7XG4gIH1cblxuICBnZXRDb2RlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVDb2RlRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUNvZGVFbGVtZW50O1xuICB9XG5cbiAgZ2V0TGlzdEVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlTGlzdEVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVMaXN0RWxlbWVudDtcbiAgfVxuXG4gIGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlQnV0dG9uRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUJ1dHRvbkVsZW1lbnQ7XG4gIH1cblxuICBnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVTZXBhcmF0b3JFbGVtZW50O1xuICB9XG5cbiAgZ2V0SW1hZ2VFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUltYWdlRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUltYWdlRWxlbWVudDtcbiAgfVxuXG4gIGdldFZpZGVvRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVWaWRlb0VsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVWaWRlb0VsZW1lbnQ7XG4gIH1cblxuICBnZXRDdXN0b21FbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUN1c3RvbUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVDdXN0b21FbGVtZW50O1xuICB9XG5cbiAgLy8gPT09IEZVTkNJT05FUyBBVVhJTElBUkVTIFBBUkEgUFJPUFMgPT09XG5cbiAgZ2V0UXVvdGVUZXh0UHJvcHMoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpIHtcbiAgICBjb25zdCBxdW90ZUVsZW1lbnQgPSB0aGlzLmdldFF1b3RlRWxlbWVudChlbGVtZW50KTtcbiAgICBjb25zdCB7IGF1dGhvciwgc291cmNlLCAuLi50ZXh0UHJvcHMgfSA9IHF1b3RlRWxlbWVudC5wcm9wcztcbiAgICByZXR1cm4gdGV4dFByb3BzO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0VGV4dFByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KSB7XG4gICAgY29uc3QgaGlnaGxpZ2h0RWxlbWVudCA9IHRoaXMuZ2V0SGlnaGxpZ2h0RWxlbWVudChlbGVtZW50KTtcbiAgICBjb25zdCB7IGJhY2tncm91bmRDb2xvciwgcm91bmRlZCwgLi4udGV4dFByb3BzIH0gPSBoaWdobGlnaHRFbGVtZW50LnByb3BzO1xuICAgIHJldHVybiB0ZXh0UHJvcHM7XG4gIH1cblxuICBnZXRIaWdobGlnaHRDb2xvcihlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IHN0cmluZyB7XG4gICAgY29uc3QgaGlnaGxpZ2h0RWxlbWVudCA9IHRoaXMuZ2V0SGlnaGxpZ2h0RWxlbWVudChlbGVtZW50KTtcbiAgICByZXR1cm4gaGlnaGxpZ2h0RWxlbWVudC5wcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3ZhcigtLWlvbi1jb2xvci1saWdodCknO1xuICB9XG5cbiAgZ2V0QnV0dG9uUHJvcHMoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpIHtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy5nZXRCdXR0b25FbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IHsgYWxpZ25tZW50LCAuLi5idXR0b25Qcm9wcyB9ID0gYnV0dG9uRWxlbWVudC5wcm9wcztcbiAgICByZXR1cm4gYnV0dG9uUHJvcHM7XG4gIH1cblxuICBnZXRDb2RlRGlzcGxheVByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQ29kZURpc3BsYXlNZXRhZGF0YSB7XG4gICAgY29uc3QgY29kZUVsZW1lbnQgPSB0aGlzLmdldENvZGVFbGVtZW50KGVsZW1lbnQpO1xuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiBjb2RlRWxlbWVudC5wcm9wcy5jb2RlLFxuICAgICAgbGFuZ3VhZ2U6IGNvZGVFbGVtZW50LnByb3BzLmxhbmd1YWdlIHx8ICd0eXBlc2NyaXB0JyxcbiAgICAgIHRhYnM6IFtdLFxuICAgIH07XG4gIH1cblxuICBnZXROb3RlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVOb3RlRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZU5vdGVFbGVtZW50O1xuICB9XG5cbiAgZ2V0Q29tbWFuZEVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlQ29tbWFuZEVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVDb21tYW5kRWxlbWVudDtcbiAgfVxuXG4gIGdldE5vdGVCb3hQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IE5vdGVzQm94TWV0YWRhdGEge1xuICAgIGNvbnN0IG5vdGVFbGVtZW50ID0gdGhpcy5nZXROb3RlRWxlbWVudChlbGVtZW50KTtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogbm90ZUVsZW1lbnQucHJvcHMudGV4dCxcbiAgICAgIHByZWZpeDogbm90ZUVsZW1lbnQucHJvcHMucHJlZml4IHx8ICdOb3RhOicsXG4gICAgICBjb2xvcjogbm90ZUVsZW1lbnQucHJvcHMuY29sb3IgfHwgJ3dhcm5pbmcnLFxuICAgICAgdGV4dENvbG9yOiBub3RlRWxlbWVudC5wcm9wcy50ZXh0Q29sb3IgfHwgJ2RhcmsnLFxuICAgICAgc2l6ZTogbm90ZUVsZW1lbnQucHJvcHMuc2l6ZSB8fCAnbWVkaXVtJyxcbiAgICAgIHJvdW5kZWQ6IG5vdGVFbGVtZW50LnByb3BzLnJvdW5kZWQgPz8gdHJ1ZSxcbiAgICAgIHBhZGRpbmc6IG5vdGVFbGVtZW50LnByb3BzLnBhZGRpbmcsXG4gICAgfTtcbiAgfVxuXG4gIGdldENvbW1hbmRQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IFBsYWluQ29kZUJveE1ldGFkYXRhIHtcbiAgICBjb25zdCBjb21tYW5kRWxlbWVudCA9IHRoaXMuZ2V0Q29tbWFuZEVsZW1lbnQoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVzOiBjb21tYW5kRWxlbWVudC5wcm9wcy5saW5lcyxcbiAgICAgIHNob3dDb3B5QnV0dG9uOiBjb21tYW5kRWxlbWVudC5wcm9wcy5zaG93Q29weUJ1dHRvbiA/PyB0cnVlLFxuICAgICAgbGFuZ3VhZ2U6IGNvbW1hbmRFbGVtZW50LnByb3BzLmxhbmd1YWdlLFxuICAgIH07XG4gIH1cblxuICBnZXRJbWFnZU1ldGFkYXRhKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogSW1hZ2VNZXRhZGF0YSB7XG4gICAgY29uc3QgaW1hZ2VFbGVtZW50ID0gdGhpcy5nZXRJbWFnZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgcHJvcHMgPSBpbWFnZUVsZW1lbnQucHJvcHM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3JjOiBwcm9wcy5zcmMsXG4gICAgICBhbHQ6IHByb3BzLmFsdCxcbiAgICAgIG1vZGU6IHByb3BzLnJvdW5kZWQgPyAncm91bmRlZCcgOiAnYm94JyxcbiAgICAgIHNpemU6IHByb3BzLnNpemUgfHwgJ21lZGl1bScsXG4gICAgICBzaGFkZWQ6IGZhbHNlLFxuICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgYWxpZ25tZW50OiBwcm9wcy5hbGlnbm1lbnQgfHwgJ2NlbnRlcicsXG4gICAgICBjYXB0aW9uOiBwcm9wcy5jYXB0aW9uLFxuICAgICAgY2FwdGlvblNpemU6ICdtZWRpdW0nIGFzIGNvbnN0LFxuICAgICAgd2lkdGg6IHByb3BzLm1heFdpZHRoID8gcGFyc2VJbnQocHJvcHMubWF4V2lkdGgucmVwbGFjZSgncHgnLCAnJykpIDogdW5kZWZpbmVkLFxuICAgICAgcHJldmlld01vZGU6IHByb3BzLnByZXZpZXcgfHwgZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -13,6 +13,8 @@ export const ARTICLE_SPACING = {
|
|
|
13
13
|
PARAGRAPH: { top: 'small', bottom: 'medium' },
|
|
14
14
|
QUOTE: { top: 'medium', bottom: 'medium' },
|
|
15
15
|
CODE: { top: 'medium', bottom: 'medium' },
|
|
16
|
+
NOTE: { top: 'medium', bottom: 'medium' },
|
|
17
|
+
COMMAND: { top: 'medium', bottom: 'medium' },
|
|
16
18
|
LIST: { top: 'small', bottom: 'medium' },
|
|
17
19
|
BUTTON: { top: 'medium', bottom: 'medium' },
|
|
18
20
|
IMAGE: { top: 'large', bottom: 'large' },
|
|
@@ -133,6 +135,42 @@ export class ArticleBuilder {
|
|
|
133
135
|
});
|
|
134
136
|
return this;
|
|
135
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Añade una nota destacada al artículo
|
|
140
|
+
*/
|
|
141
|
+
note(text, prefix, color, options) {
|
|
142
|
+
this.elements.push({
|
|
143
|
+
type: 'note',
|
|
144
|
+
props: {
|
|
145
|
+
text,
|
|
146
|
+
prefix: prefix || 'Nota:',
|
|
147
|
+
color: color || 'warning',
|
|
148
|
+
textColor: 'dark',
|
|
149
|
+
size: 'medium',
|
|
150
|
+
rounded: true,
|
|
151
|
+
},
|
|
152
|
+
spacing: ARTICLE_SPACING.NOTE,
|
|
153
|
+
...options,
|
|
154
|
+
});
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Añade un comando de terminal al artículo
|
|
159
|
+
* Acepta un string simple o un array de comandos
|
|
160
|
+
*/
|
|
161
|
+
command(command, options) {
|
|
162
|
+
const commands = Array.isArray(command) ? command : [command];
|
|
163
|
+
this.elements.push({
|
|
164
|
+
type: 'command',
|
|
165
|
+
props: {
|
|
166
|
+
lines: commands.map((cmd) => ({ text: cmd, type: 'command' })),
|
|
167
|
+
showCopyButton: true,
|
|
168
|
+
},
|
|
169
|
+
spacing: ARTICLE_SPACING.COMMAND,
|
|
170
|
+
...options,
|
|
171
|
+
});
|
|
172
|
+
return this;
|
|
173
|
+
}
|
|
136
174
|
/**
|
|
137
175
|
* Construye el artículo final
|
|
138
176
|
*/
|
|
@@ -154,4 +192,4 @@ export class ArticleBuilder {
|
|
|
154
192
|
return this;
|
|
155
193
|
}
|
|
156
194
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMlFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0I7SUFDdkQsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFvQjtJQUMxRCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW9CO0lBQzdELEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBb0I7SUFDMUQsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUU3RCx3Q0FBd0M7SUFDeEMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUMzRCxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQW9CO0lBQzlELFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0I7SUFDL0QsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUM1RCxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW9CO0lBQzNELElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0I7SUFDMUQsTUFBTSxF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QztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FDUCxLQUFpQyxFQUNqQyxPQUFxQztRQUVyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFDaEIsT0FBTyxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQ2xDLEdBQUcsT0FBTztTQUNnQixDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQ0gsR0FBVyxFQUNYLEdBQVcsRUFDWCxPQUFnQixFQUNoQixPQUFxQztRQUVyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxlQUFlLENBQUMsS0FBSztZQUM5QixHQUFHLE9BQU87U0FDWSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsTUFBaUM7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixjQUFjLEVBQUUsZUFBZSxDQUFDLE1BQU07WUFDdEMsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsTUFBTTtZQUNiLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IFRleHRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdHlwZXMnO1xuaW1wb3J0IHsgVGl0bGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3R5cGVzJztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG4vKipcbiAqIFRpcG9zIGRlIGNvbnRlbmlkbyBzb3BvcnRhZG9zIGVuIGVsIGNvbXBvbmVudGUgdmFsLWFydGljbGVcbiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWNsZUNvbnRlbnRUeXBlID1cbiAgfCAndGl0bGUnXG4gIHwgJ3N1YnRpdGxlJ1xuICB8ICd0ZXh0J1xuICB8ICdwYXJhZ3JhcGgnXG4gIHwgJ3F1b3RlJ1xuICB8ICdoaWdobGlnaHQnXG4gIHwgJ2NvZGUnXG4gIHwgJ2xpc3QnXG4gIHwgJ2J1dHRvbidcbiAgfCAnc2VwYXJhdG9yJ1xuICB8ICdpbWFnZSdcbiAgfCAndmlkZW8nXG4gIHwgJ2N1c3RvbSc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGUgZXNwYWNpYWRvIGVudHJlIGVsZW1lbnRvc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVTcGFjaW5nIHtcbiAgLyoqIEVzcGFjaWFkbyBzdXBlcmlvciAqL1xuICB0b3A/OiAnbm9uZScgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG4gIC8qKiBFc3BhY2lhZG8gaW5mZXJpb3IgKi9cbiAgYm90dG9tPzogJ25vbmUnIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xuICAvKiogRXNwYWNpYWRvIGxhdGVyYWwgKi9cbiAgaG9yaXpvbnRhbD86ICdub25lJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBiYXNlIHBhcmEgY3VhbHF1aWVyIGVsZW1lbnRvIGRlbCBhcnTDrWN1bG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICAvKiogVGlwbyBkZSBlbGVtZW50byAqL1xuICB0eXBlOiBBcnRpY2xlQ29udGVudFR5cGU7XG4gIC8qKiBJRCDDum5pY28gZGVsIGVsZW1lbnRvIChvcGNpb25hbCkgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBDbGFzZXMgQ1NTIGFkaWNpb25hbGVzICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICAvKiogQ29uZmlndXJhY2nDs24gZGUgZXNwYWNpYWRvICovXG4gIHNwYWNpbmc/OiBBcnRpY2xlU3BhY2luZztcbiAgLyoqIEVsZW1lbnRvIHZpc2libGUgY29uZGljaW9uYWxtZW50ZSAqL1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSB0w610dWxvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZVRpdGxlRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICd0aXRsZSc7XG4gIHByb3BzOiBUaXRsZU1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIHN1YnTDrXR1bG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlU3VidGl0bGVFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3N1YnRpdGxlJztcbiAgcHJvcHM6IFRpdGxlTWV0YWRhdGE7XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgdGV4dG8vcMOhcnJhZm9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlVGV4dEVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAndGV4dCcgfCAncGFyYWdyYXBoJztcbiAgcHJvcHM6IFRleHRNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBjaXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZVF1b3RlRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdxdW90ZSc7XG4gIHByb3BzOiBUZXh0TWV0YWRhdGEgJiB7XG4gICAgLyoqIEF1dG9yIGRlIGxhIGNpdGEgKi9cbiAgICBhdXRob3I/OiBzdHJpbmc7XG4gICAgLyoqIEZ1ZW50ZSBkZSBsYSBjaXRhICovXG4gICAgc291cmNlPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIHRleHRvIGRlc3RhY2Fkb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVIaWdobGlnaHRFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2hpZ2hsaWdodCc7XG4gIHByb3BzOiBUZXh0TWV0YWRhdGEgJiB7XG4gICAgLyoqIENvbG9yIGRlIGZvbmRvIGRlbCBoaWdobGlnaHQgKi9cbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBDb2xvcjtcbiAgICAvKiogRXNxdWluYXMgcmVkb25kZWFkYXMgKi9cbiAgICByb3VuZGVkPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBjw7NkaWdvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUNvZGVFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2NvZGUnO1xuICBwcm9wczoge1xuICAgIC8qKiBDw7NkaWdvIGEgbW9zdHJhciAqL1xuICAgIGNvZGU6IHN0cmluZztcbiAgICAvKiogTGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbiAqL1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICAgIC8qKiBNb3N0cmFyIG7Dum1lcm9zIGRlIGzDrW5lYSAqL1xuICAgIHNob3dMaW5lTnVtYmVycz86IGJvb2xlYW47XG4gICAgLyoqIFRlbWEgZGVsIGPDs2RpZ28gKi9cbiAgICB0aGVtZT86ICdsaWdodCcgfCAnZGFyayc7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgbGlzdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlTGlzdEVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnbGlzdCc7XG4gIHByb3BzOiB7XG4gICAgLyoqIEVsZW1lbnRvcyBkZSBsYSBsaXN0YSAqL1xuICAgIGl0ZW1zOiBBcnJheTx7XG4gICAgICAvKiogVGV4dG8gZGVsIGVsZW1lbnRvICovXG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICAvKiogQ29uZmlndXJhY2nDs24gZGUgY29udGVuaWRvIHJlYWN0aXZvICovXG4gICAgICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAgICAgY29udGVudENsYXNzPzogc3RyaW5nO1xuICAgICAgY29udGVudEZhbGxiYWNrPzogc3RyaW5nO1xuICAgICAgY29udGVudEludGVycG9sYXRpb24/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+O1xuICAgIH0+O1xuICAgIC8qKiBUaXBvIGRlIGxpc3RhICovXG4gICAgbGlzdFR5cGU/OiAndW5vcmRlcmVkJyB8ICdvcmRlcmVkJyB8ICdjaGVja2xpc3QnO1xuICAgIC8qKiBDb2xvciBkZSBsb3MgZWxlbWVudG9zICovXG4gICAgY29sb3I/OiBDb2xvcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBib3TDs25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlQnV0dG9uRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdidXR0b24nO1xuICBwcm9wczogQnV0dG9uTWV0YWRhdGEgJiB7XG4gICAgLyoqIEFsaW5lYWNpw7NuIGRlbCBib3TDs24gKi9cbiAgICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gc2VwYXJhZG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnc2VwYXJhdG9yJztcbiAgcHJvcHM6IHtcbiAgICAvKiogVGlwbyBkZSBzZXBhcmFkb3IgKi9cbiAgICBzdHlsZT86ICdsaW5lJyB8ICdkb3RzJyB8ICdzcGFjZSc7XG4gICAgLyoqIENvbG9yIGRlbCBzZXBhcmFkb3IgKi9cbiAgICBjb2xvcj86IENvbG9yO1xuICAgIC8qKiBHcm9zb3IgZGVsIHNlcGFyYWRvciAqL1xuICAgIHRoaWNrbmVzcz86ICd0aGluJyB8ICdtZWRpdW0nIHwgJ3RoaWNrJztcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBpbWFnZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlSW1hZ2VFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2ltYWdlJztcbiAgcHJvcHM6IHtcbiAgICAvKiogVVJMIGRlIGxhIGltYWdlbiAqL1xuICAgIHNyYzogc3RyaW5nO1xuICAgIC8qKiBUZXh0byBhbHRlcm5hdGl2byAqL1xuICAgIGFsdDogc3RyaW5nO1xuICAgIC8qKiBUw610dWxvIGRlIGxhIGltYWdlbiAqL1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIC8qKiBMZXllbmRhIGRlIGxhIGltYWdlbiAqL1xuICAgIGNhcHRpb24/OiBzdHJpbmc7XG4gICAgLyoqIENvbmZpZ3VyYWNpw7NuIGRlIGNvbnRlbmlkbyByZWFjdGl2byBwYXJhIGNhcHRpb24gKi9cbiAgICBjYXB0aW9uQ29udGVudEtleT86IHN0cmluZztcbiAgICBjYXB0aW9uQ29udGVudENsYXNzPzogc3RyaW5nO1xuICAgIGNhcHRpb25Db250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG4gICAgLyoqIEFsaW5lYWNpw7NuIGRlIGxhIGltYWdlbiAqL1xuICAgIGFsaWdubWVudD86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgICAvKiogQW5jaG8gbcOheGltbyAqL1xuICAgIG1heFdpZHRoPzogc3RyaW5nO1xuICAgIC8qKiBJbWFnZW4gY29uIGJvcmRlcyByZWRvbmRlYWRvcyAqL1xuICAgIHJvdW5kZWQ/OiBib29sZWFuO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIHZpZGVvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZVZpZGVvRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICd2aWRlbyc7XG4gIHByb3BzOiB7XG4gICAgLyoqIFVSTCBkZWwgdmlkZW8gKi9cbiAgICBzcmM6IHN0cmluZztcbiAgICAvKiogSW1hZ2VuIGRlIHBvc3RlciAqL1xuICAgIHBvc3Rlcj86IHN0cmluZztcbiAgICAvKiogVMOtdHVsbyBkZWwgdmlkZW8gKi9cbiAgICB0aXRsZT86IHN0cmluZztcbiAgICAvKiogQ29udHJvbGVzIHZpc2libGVzICovXG4gICAgY29udHJvbHM/OiBib29sZWFuO1xuICAgIC8qKiBSZXByb2R1Y2Npw7NuIGF1dG9tw6F0aWNhICovXG4gICAgYXV0b3BsYXk/OiBib29sZWFuO1xuICAgIC8qKiBTaWxlbmNpYWRvIHBvciBkZWZlY3RvICovXG4gICAgbXV0ZWQ/OiBib29sZWFuO1xuICAgIC8qKiBBbmNobyBtw6F4aW1vICovXG4gICAgbWF4V2lkdGg/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gcGVyc29uYWxpemFkb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVDdXN0b21FbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2N1c3RvbSc7XG4gIHByb3BzOiB7XG4gICAgLyoqIENvbnRlbmlkbyBIVE1MIHBlcnNvbmFsaXphZG8gKi9cbiAgICBodG1sQ29udGVudD86IHN0cmluZztcbiAgICAvKiogQ2xhc2UgZGUgY29tcG9uZW50ZSBwZXJzb25hbGl6YWRvICovXG4gICAgY29tcG9uZW50Q2xhc3M/OiBhbnk7XG4gICAgLyoqIFByb3BzIHBhcmEgZWwgY29tcG9uZW50ZSBwZXJzb25hbGl6YWRvICovXG4gICAgY29tcG9uZW50UHJvcHM/OiBhbnk7XG4gIH07XG59XG5cbi8qKlxuICogVW5pw7NuIGRlIHRvZG9zIGxvcyB0aXBvcyBkZSBlbGVtZW50b3MgcG9zaWJsZXNcbiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWNsZUVsZW1lbnQgPVxuICB8IEFydGljbGVUaXRsZUVsZW1lbnRcbiAgfCBBcnRpY2xlU3VidGl0bGVFbGVtZW50XG4gIHwgQXJ0aWNsZVRleHRFbGVtZW50XG4gIHwgQXJ0aWNsZVF1b3RlRWxlbWVudFxuICB8IEFydGljbGVIaWdobGlnaHRFbGVtZW50XG4gIHwgQXJ0aWNsZUNvZGVFbGVtZW50XG4gIHwgQXJ0aWNsZUxpc3RFbGVtZW50XG4gIHwgQXJ0aWNsZUJ1dHRvbkVsZW1lbnRcbiAgfCBBcnRpY2xlU2VwYXJhdG9yRWxlbWVudFxuICB8IEFydGljbGVJbWFnZUVsZW1lbnRcbiAgfCBBcnRpY2xlVmlkZW9FbGVtZW50XG4gIHwgQXJ0aWNsZUN1c3RvbUVsZW1lbnQ7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGVsIGFydMOtY3VsbyBjb21wbGV0b1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVNZXRhZGF0YSB7XG4gIC8qKiBFbGVtZW50b3MgZGVsIGFydMOtY3VsbyAqL1xuICBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXTtcbiAgLyoqIENvbmZpZ3VyYWNpw7NuIGRlIGVzcGFjaWFkbyBnbG9iYWwgKi9cbiAgZGVmYXVsdFNwYWNpbmc/OiBBcnRpY2xlU3BhY2luZztcbiAgLyoqIEFuY2hvIG3DoXhpbW8gZGVsIGFydMOtY3VsbyAqL1xuICBtYXhXaWR0aD86IHN0cmluZztcbiAgLyoqIENlbnRyYXIgZWwgYXJ0w61jdWxvICovXG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRlbWEgZGVsIGFydMOtY3VsbyAqL1xuICB0aGVtZT86ICdsaWdodCcgfCAnZGFyaycgfCAnYXV0byc7XG4gIC8qKiBDbGFzZXMgQ1NTIGFkaWNpb25hbGVzICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIGRlIGVzcGFjaWFkbyBwcmVkZWZpbmlkYVxuICovXG5leHBvcnQgY29uc3QgQVJUSUNMRV9TUEFDSU5HID0ge1xuICBOT05FOiB7IHRvcDogJ25vbmUnLCBib3R0b206ICdub25lJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBTTUFMTDogeyB0b3A6ICdzbWFsbCcsIGJvdHRvbTogJ3NtYWxsJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBNRURJVU06IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBMQVJHRTogeyB0b3A6ICdsYXJnZScsIGJvdHRvbTogJ2xhcmdlJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBYTEFSR0U6IHsgdG9wOiAneGxhcmdlJywgYm90dG9tOiAneGxhcmdlJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuXG4gIC8vIEVzcGFjaWFkb3MgZXNwZWPDrWZpY29zIHBhcmEgZWxlbWVudG9zXG4gIFRJVExFOiB7IHRvcDogJ2xhcmdlJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBTVUJUSVRMRTogeyB0b3A6ICdtZWRpdW0nLCBib3R0b206ICdzbWFsbCcgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgUEFSQUdSQVBIOiB7IHRvcDogJ3NtYWxsJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBRVU9URTogeyB0b3A6ICdtZWRpdW0nLCBib3R0b206ICdtZWRpdW0nIH0gYXMgQXJ0aWNsZVNwYWNpbmcsXG4gIENPREU6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBMSVNUOiB7IHRvcDogJ3NtYWxsJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBCVVRUT046IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBJTUFHRTogeyB0b3A6ICdsYXJnZScsIGJvdHRvbTogJ2xhcmdlJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBTRVBBUkFUT1I6IHsgdG9wOiAnbGFyZ2UnLCBib3R0b206ICdsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRnVuY2nDs24gaGVscGVyIHBhcmEgY3JlYXIgZWxlbWVudG9zIGRlIGFydMOtY3VsbyBkZSBmb3JtYSBmw6FjaWxcbiAqL1xuZXhwb3J0IGNsYXNzIEFydGljbGVCdWlsZGVyIHtcbiAgcHJpdmF0ZSBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gdMOtdHVsbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHRpdGxlKHByb3BzOiBUaXRsZU1ldGFkYXRhLCBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+KTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAndGl0bGUnLFxuICAgICAgcHJvcHMsXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuVElUTEUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVRpdGxlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIHN1YnTDrXR1bG8gYWwgYXJ0w61jdWxvXG4gICAqL1xuICBzdWJ0aXRsZShwcm9wczogVGl0bGVNZXRhZGF0YSwgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50Pik6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xuICAgICAgdHlwZTogJ3N1YnRpdGxlJyxcbiAgICAgIHByb3BzLFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLlNVQlRJVExFLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9IGFzIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1biBww6FycmFmbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHBhcmFncmFwaChwcm9wczogVGV4dE1ldGFkYXRhLCBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+KTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgIHByb3BzLFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLlBBUkFHUkFQSCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlVGV4dEVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgY2l0YSBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHF1b3RlKFxuICAgIHByb3BzOiBBcnRpY2xlUXVvdGVFbGVtZW50Wydwcm9wcyddLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD5cbiAgKTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAncXVvdGUnLFxuICAgICAgcHJvcHMsXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuUVVPVEUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVF1b3RlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIGPDs2RpZ28gYWwgYXJ0w61jdWxvXG4gICAqL1xuICBjb2RlKGNvZGU6IHN0cmluZywgbGFuZ3VhZ2U/OiBzdHJpbmcsIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD4pOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgIHByb3BzOiB7IGNvZGUsIGxhbmd1YWdlIH0sXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuQ09ERSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlQ29kZUVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgbGlzdGEgYWwgYXJ0w61jdWxvXG4gICAqL1xuICBsaXN0KFxuICAgIGl0ZW1zOiBBcnRpY2xlTGlzdEVsZW1lbnRbJ3Byb3BzJ11bJ2l0ZW1zJ10sXG4gICAgbGlzdFR5cGU/OiBBcnRpY2xlTGlzdEVsZW1lbnRbJ3Byb3BzJ11bJ2xpc3RUeXBlJ10sXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdsaXN0JyxcbiAgICAgIHByb3BzOiB7IGl0ZW1zLCBsaXN0VHlwZSB9LFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLkxJU1QsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZUxpc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gYm90w7NuIGFsIGFydMOtY3Vsb1xuICAgKi9cbiAgYnV0dG9uKFxuICAgIHByb3BzOiBCdXR0b25NZXRhZGF0YSxcbiAgICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgcHJvcHM6IHsgLi4ucHJvcHMsIGFsaWdubWVudCB9LFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLkJVVFRPTixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlQnV0dG9uRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIHNlcGFyYWRvciBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHNlcGFyYXRvcihcbiAgICBzdHlsZT86ICdsaW5lJyB8ICdkb3RzJyB8ICdzcGFjZScsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxuICAgICAgcHJvcHM6IHsgc3R5bGUgfSxcbiAgICAgIHNwYWNpbmc6IEFSVElDTEVfU1BBQ0lORy5TRVBBUkFUT1IsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgaW1hZ2VuIGFsIGFydMOtY3Vsb1xuICAgKi9cbiAgaW1hZ2UoXG4gICAgc3JjOiBzdHJpbmcsXG4gICAgYWx0OiBzdHJpbmcsXG4gICAgY2FwdGlvbj86IHN0cmluZyxcbiAgICBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+XG4gICk6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xuICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgIHByb3BzOiB7IHNyYywgYWx0LCBjYXB0aW9uIH0sXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuSU1BR0UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZUltYWdlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydXllIGVsIGFydMOtY3VsbyBmaW5hbFxuICAgKi9cbiAgYnVpbGQoY29uZmlnPzogUGFydGlhbDxBcnRpY2xlTWV0YWRhdGE+KTogQXJ0aWNsZU1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudHM6IHRoaXMuZWxlbWVudHMsXG4gICAgICBkZWZhdWx0U3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLk1FRElVTSxcbiAgICAgIG1heFdpZHRoOiAnODAwcHgnLFxuICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICB0aGVtZTogJ2F1dG8nLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRlYSBlbCBidWlsZGVyIHBhcmEgY3JlYXIgdW4gbnVldm8gYXJ0w61jdWxvXG4gICAqL1xuICBjbGVhcigpOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cyA9IFtdO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb1VBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0I7SUFDdkQsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFvQjtJQUMxRCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW9CO0lBQzdELEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBb0I7SUFDMUQsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUU3RCx3Q0FBd0M7SUFDeEMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUMzRCxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQW9CO0lBQzlELFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0I7SUFDL0QsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUM1RCxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW9CO0lBQzNELElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0I7SUFDM0QsT0FBTyxF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bmljL2NvcmUnO1xuaW1wb3J0IHsgVGV4dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90eXBlcyc7XG5pbXBvcnQgeyBUaXRsZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogVGlwb3MgZGUgY29udGVuaWRvIHNvcG9ydGFkb3MgZW4gZWwgY29tcG9uZW50ZSB2YWwtYXJ0aWNsZVxuICovXG5leHBvcnQgdHlwZSBBcnRpY2xlQ29udGVudFR5cGUgPVxuICB8ICd0aXRsZSdcbiAgfCAnc3VidGl0bGUnXG4gIHwgJ3RleHQnXG4gIHwgJ3BhcmFncmFwaCdcbiAgfCAncXVvdGUnXG4gIHwgJ2hpZ2hsaWdodCdcbiAgfCAnY29kZSdcbiAgfCAnbm90ZSdcbiAgfCAnY29tbWFuZCdcbiAgfCAnbGlzdCdcbiAgfCAnYnV0dG9uJ1xuICB8ICdzZXBhcmF0b3InXG4gIHwgJ2ltYWdlJ1xuICB8ICd2aWRlbydcbiAgfCAnY3VzdG9tJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gZW50cmUgZWxlbWVudG9zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZVNwYWNpbmcge1xuICAvKiogRXNwYWNpYWRvIHN1cGVyaW9yICovXG4gIHRvcD86ICdub25lJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbiAgLyoqIEVzcGFjaWFkbyBpbmZlcmlvciAqL1xuICBib3R0b20/OiAnbm9uZScgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG4gIC8qKiBFc3BhY2lhZG8gbGF0ZXJhbCAqL1xuICBob3Jpem9udGFsPzogJ25vbmUnIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIGJhc2UgcGFyYSBjdWFscXVpZXIgZWxlbWVudG8gZGVsIGFydMOtY3Vsb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIC8qKiBUaXBvIGRlIGVsZW1lbnRvICovXG4gIHR5cGU6IEFydGljbGVDb250ZW50VHlwZTtcbiAgLyoqIElEIMO6bmljbyBkZWwgZWxlbWVudG8gKG9wY2lvbmFsKSAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIENsYXNlcyBDU1MgYWRpY2lvbmFsZXMgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gKi9cbiAgc3BhY2luZz86IEFydGljbGVTcGFjaW5nO1xuICAvKiogRWxlbWVudG8gdmlzaWJsZSBjb25kaWNpb25hbG1lbnRlICovXG4gIHZpc2libGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIHTDrXR1bG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlVGl0bGVFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3RpdGxlJztcbiAgcHJvcHM6IFRpdGxlTWV0YWRhdGE7XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgc3VidMOtdHVsb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnc3VidGl0bGUnO1xuICBwcm9wczogVGl0bGVNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSB0ZXh0by9ww6FycmFmb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVUZXh0RWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICd0ZXh0JyB8ICdwYXJhZ3JhcGgnO1xuICBwcm9wczogVGV4dE1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIGNpdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlUXVvdGVFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3F1b3RlJztcbiAgcHJvcHM6IFRleHRNZXRhZGF0YSAmIHtcbiAgICAvKiogQXV0b3IgZGUgbGEgY2l0YSAqL1xuICAgIGF1dGhvcj86IHN0cmluZztcbiAgICAvKiogRnVlbnRlIGRlIGxhIGNpdGEgKi9cbiAgICBzb3VyY2U/OiBzdHJpbmc7XG4gICAgLyoqIENvbG9yIGRlbCBub21icmUgZGVsIGF1dG9yICovXG4gICAgYXV0aG9yQ29sb3I/OiBDb2xvcjtcbiAgICAvKiogQWxpbmVhY2nDs24gZGVsIHRleHRvICovXG4gICAgYWxpZ25tZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIC8qKiBNb3N0cmFyIGNvbWlsbGFzIGRlY29yYXRpdmFzICovXG4gICAgc2hvd1F1b3RlTWFyaz86IGJvb2xlYW47XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgdGV4dG8gZGVzdGFjYWRvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUhpZ2hsaWdodEVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnaGlnaGxpZ2h0JztcbiAgcHJvcHM6IFRleHRNZXRhZGF0YSAmIHtcbiAgICAvKiogQ29sb3IgZGUgZm9uZG8gZGVsIGhpZ2hsaWdodCAqL1xuICAgIGJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuICAgIC8qKiBFc3F1aW5hcyByZWRvbmRlYWRhcyAqL1xuICAgIHJvdW5kZWQ/OiBib29sZWFuO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIGPDs2RpZ29cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlQ29kZUVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnY29kZSc7XG4gIHByb3BzOiB7XG4gICAgLyoqIEPDs2RpZ28gYSBtb3N0cmFyICovXG4gICAgY29kZTogc3RyaW5nO1xuICAgIC8qKiBMZW5ndWFqZSBkZSBwcm9ncmFtYWNpw7NuICovXG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgLyoqIE1vc3RyYXIgbsO6bWVyb3MgZGUgbMOtbmVhICovXG4gICAgc2hvd0xpbmVOdW1iZXJzPzogYm9vbGVhbjtcbiAgICAvKiogVGVtYSBkZWwgY8OzZGlnbyAqL1xuICAgIHRoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBub3RhIGRlc3RhY2FkYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVOb3RlRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdub3RlJztcbiAgcHJvcHM6IHtcbiAgICAvKiogVGV4dG8gcHJpbmNpcGFsIGRlIGxhIG5vdGEgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgLyoqIFByZWZpam8gZW4gbmVncml0YSAoZWo6IFwiTm90YTpcIikgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqIENvbG9yIGRlIGZvbmRvICovXG4gICAgY29sb3I/OiBDb2xvcjtcbiAgICAvKiogQ29sb3IgZGVsIHRleHRvICovXG4gICAgdGV4dENvbG9yPzogQ29sb3I7XG4gICAgLyoqIFRhbWHDsW8gZGVsIHRleHRvICovXG4gICAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbiAgICAvKiogRXNxdWluYXMgcmVkb25kZWFkYXMgKi9cbiAgICByb3VuZGVkPzogYm9vbGVhbjtcbiAgICAvKiogUGFkZGluZyBwZXJzb25hbGl6YWRvICovXG4gICAgcGFkZGluZz86IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBjb21hbmRvIGRlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUNvbW1hbmRFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2NvbW1hbmQnO1xuICBwcm9wczoge1xuICAgIC8qKiBMw61uZWFzIGRlIGNvbWFuZG8gKi9cbiAgICBsaW5lczogQXJyYXk8e1xuICAgICAgLyoqIFRleHRvIGRlbCBjb21hbmRvICovXG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICAvKiogVGlwbyBkZSBsw61uZWEgKi9cbiAgICAgIHR5cGU/OiAnbm9ybWFsJyB8ICdjb21tYW5kJyB8ICdzdWNjZXNzJyB8ICdlcnJvcic7XG4gICAgfT47XG4gICAgLyoqIE1vc3RyYXIgYm90w7NuIGRlIGNvcGlhciAqL1xuICAgIHNob3dDb3B5QnV0dG9uPzogYm9vbGVhbjtcbiAgICAvKiogTGVuZ3VhamUgKG9wY2lvbmFsKSAqL1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIGxpc3RhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUxpc3RFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2xpc3QnO1xuICBwcm9wczoge1xuICAgIC8qKiBFbGVtZW50b3MgZGUgbGEgbGlzdGEgKi9cbiAgICBpdGVtczogQXJyYXk8e1xuICAgICAgLyoqIFRleHRvIGRlbCBlbGVtZW50byAqL1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgLyoqIENvbmZpZ3VyYWNpw7NuIGRlIGNvbnRlbmlkbyByZWFjdGl2byAqL1xuICAgICAgY29udGVudEtleT86IHN0cmluZztcbiAgICAgIGNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgICAgIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcbiAgICAgIGNvbnRlbnRJbnRlcnBvbGF0aW9uPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcbiAgICB9PjtcbiAgICAvKiogVGlwbyBkZSBsaXN0YSAqL1xuICAgIGxpc3RUeXBlPzogJ3Vub3JkZXJlZCcgfCAnb3JkZXJlZCcgfCAnY2hlY2tsaXN0JztcbiAgICAvKiogQ29sb3IgZGUgbG9zIGVsZW1lbnRvcyAqL1xuICAgIGNvbG9yPzogQ29sb3I7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgYm90w7NuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUJ1dHRvbkVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnYnV0dG9uJztcbiAgcHJvcHM6IEJ1dHRvbk1ldGFkYXRhICYge1xuICAgIC8qKiBBbGluZWFjacOzbiBkZWwgYm90w7NuICovXG4gICAgYWxpZ25tZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIHNlcGFyYWRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVTZXBhcmF0b3JFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3NlcGFyYXRvcic7XG4gIHByb3BzOiB7XG4gICAgLyoqIFRpcG8gZGUgc2VwYXJhZG9yICovXG4gICAgc3R5bGU/OiAnbGluZScgfCAnZG90cycgfCAnc3BhY2UnO1xuICAgIC8qKiBDb2xvciBkZWwgc2VwYXJhZG9yICovXG4gICAgY29sb3I/OiBDb2xvcjtcbiAgICAvKiogR3Jvc29yIGRlbCBzZXBhcmFkb3IgKi9cbiAgICB0aGlja25lc3M/OiAndGhpbicgfCAnbWVkaXVtJyB8ICd0aGljayc7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgaW1hZ2VuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUltYWdlRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdpbWFnZSc7XG4gIHByb3BzOiB7XG4gICAgLyoqIFVSTCBkZSBsYSBpbWFnZW4gKi9cbiAgICBzcmM6IHN0cmluZztcbiAgICAvKiogVGV4dG8gYWx0ZXJuYXRpdm8gKi9cbiAgICBhbHQ6IHN0cmluZztcbiAgICAvKiogVMOtdHVsbyBkZSBsYSBpbWFnZW4gKi9cbiAgICB0aXRsZT86IHN0cmluZztcbiAgICAvKiogTGV5ZW5kYSBkZSBsYSBpbWFnZW4gKi9cbiAgICBjYXB0aW9uPzogc3RyaW5nO1xuICAgIC8qKiBDb25maWd1cmFjacOzbiBkZSBjb250ZW5pZG8gcmVhY3Rpdm8gcGFyYSBjYXB0aW9uICovXG4gICAgY2FwdGlvbkNvbnRlbnRLZXk/OiBzdHJpbmc7XG4gICAgY2FwdGlvbkNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgICBjYXB0aW9uQ29udGVudEZhbGxiYWNrPzogc3RyaW5nO1xuICAgIC8qKiBBbGluZWFjacOzbiBkZSBsYSBpbWFnZW4gKi9cbiAgICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gICAgLyoqIEFuY2hvIG3DoXhpbW8gKi9cbiAgICBtYXhXaWR0aD86IHN0cmluZztcbiAgICAvKiogSW1hZ2VuIGNvbiBib3JkZXMgcmVkb25kZWFkb3MgKi9cbiAgICByb3VuZGVkPzogYm9vbGVhbjtcbiAgICAvKiogVGFtYcOxbyBkZSBsYSBpbWFnZW4gKi9cbiAgICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xuICAgIC8qKiBNb2RvIHByZXZpZXcgKGNsaWNrIHBhcmEgYW1wbGlhcikgKi9cbiAgICBwcmV2aWV3PzogYm9vbGVhbjtcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSB2aWRlb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVWaWRlb0VsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAndmlkZW8nO1xuICBwcm9wczoge1xuICAgIC8qKiBVUkwgZGVsIHZpZGVvICovXG4gICAgc3JjOiBzdHJpbmc7XG4gICAgLyoqIEltYWdlbiBkZSBwb3N0ZXIgKi9cbiAgICBwb3N0ZXI/OiBzdHJpbmc7XG4gICAgLyoqIFTDrXR1bG8gZGVsIHZpZGVvICovXG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgLyoqIENvbnRyb2xlcyB2aXNpYmxlcyAqL1xuICAgIGNvbnRyb2xzPzogYm9vbGVhbjtcbiAgICAvKiogUmVwcm9kdWNjacOzbiBhdXRvbcOhdGljYSAqL1xuICAgIGF1dG9wbGF5PzogYm9vbGVhbjtcbiAgICAvKiogU2lsZW5jaWFkbyBwb3IgZGVmZWN0byAqL1xuICAgIG11dGVkPzogYm9vbGVhbjtcbiAgICAvKiogQW5jaG8gbcOheGltbyAqL1xuICAgIG1heFdpZHRoPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIHBlcnNvbmFsaXphZG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlQ3VzdG9tRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdjdXN0b20nO1xuICBwcm9wczoge1xuICAgIC8qKiBDb250ZW5pZG8gSFRNTCBwZXJzb25hbGl6YWRvICovXG4gICAgaHRtbENvbnRlbnQ/OiBzdHJpbmc7XG4gICAgLyoqIENsYXNlIGRlIGNvbXBvbmVudGUgcGVyc29uYWxpemFkbyAqL1xuICAgIGNvbXBvbmVudENsYXNzPzogYW55O1xuICAgIC8qKiBQcm9wcyBwYXJhIGVsIGNvbXBvbmVudGUgcGVyc29uYWxpemFkbyAqL1xuICAgIGNvbXBvbmVudFByb3BzPzogYW55O1xuICB9O1xufVxuXG4vKipcbiAqIFVuacOzbiBkZSB0b2RvcyBsb3MgdGlwb3MgZGUgZWxlbWVudG9zIHBvc2libGVzXG4gKi9cbmV4cG9ydCB0eXBlIEFydGljbGVFbGVtZW50ID1cbiAgfCBBcnRpY2xlVGl0bGVFbGVtZW50XG4gIHwgQXJ0aWNsZVN1YnRpdGxlRWxlbWVudFxuICB8IEFydGljbGVUZXh0RWxlbWVudFxuICB8IEFydGljbGVRdW90ZUVsZW1lbnRcbiAgfCBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudFxuICB8IEFydGljbGVDb2RlRWxlbWVudFxuICB8IEFydGljbGVOb3RlRWxlbWVudFxuICB8IEFydGljbGVDb21tYW5kRWxlbWVudFxuICB8IEFydGljbGVMaXN0RWxlbWVudFxuICB8IEFydGljbGVCdXR0b25FbGVtZW50XG4gIHwgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnRcbiAgfCBBcnRpY2xlSW1hZ2VFbGVtZW50XG4gIHwgQXJ0aWNsZVZpZGVvRWxlbWVudFxuICB8IEFydGljbGVDdXN0b21FbGVtZW50O1xuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIGRlbCBhcnTDrWN1bG8gY29tcGxldG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlTWV0YWRhdGEge1xuICAvKiogRWxlbWVudG9zIGRlbCBhcnTDrWN1bG8gKi9cbiAgZWxlbWVudHM6IEFydGljbGVFbGVtZW50W107XG4gIC8qKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gZ2xvYmFsICovXG4gIGRlZmF1bHRTcGFjaW5nPzogQXJ0aWNsZVNwYWNpbmc7XG4gIC8qKiBBbmNobyBtw6F4aW1vIGRlbCBhcnTDrWN1bG8gKi9cbiAgbWF4V2lkdGg/OiBzdHJpbmc7XG4gIC8qKiBDZW50cmFyIGVsIGFydMOtY3VsbyAqL1xuICBjZW50ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBUZW1hIGRlbCBhcnTDrWN1bG8gKi9cbiAgdGhlbWU/OiAnbGlnaHQnIHwgJ2RhcmsnIHwgJ2F1dG8nO1xuICAvKiogQ2xhc2VzIENTUyBhZGljaW9uYWxlcyAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gcHJlZGVmaW5pZGFcbiAqL1xuZXhwb3J0IGNvbnN0IEFSVElDTEVfU1BBQ0lORyA9IHtcbiAgTk9ORTogeyB0b3A6ICdub25lJywgYm90dG9tOiAnbm9uZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgU01BTEw6IHsgdG9wOiAnc21hbGwnLCBib3R0b206ICdzbWFsbCcgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgTUVESVVNOiB7IHRvcDogJ21lZGl1bScsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgTEFSR0U6IHsgdG9wOiAnbGFyZ2UnLCBib3R0b206ICdsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgWExBUkdFOiB7IHRvcDogJ3hsYXJnZScsIGJvdHRvbTogJ3hsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcblxuICAvLyBFc3BhY2lhZG9zIGVzcGVjw61maWNvcyBwYXJhIGVsZW1lbnRvc1xuICBUSVRMRTogeyB0b3A6ICdsYXJnZScsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgU1VCVElUTEU6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnc21hbGwnIH0gYXMgQXJ0aWNsZVNwYWNpbmcsXG4gIFBBUkFHUkFQSDogeyB0b3A6ICdzbWFsbCcsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgUVVPVEU6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBDT0RFOiB7IHRvcDogJ21lZGl1bScsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgTk9URTogeyB0b3A6ICdtZWRpdW0nLCBib3R0b206ICdtZWRpdW0nIH0gYXMgQXJ0aWNsZVNwYWNpbmcsXG4gIENPTU1BTkQ6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBMSVNUOiB7IHRvcDogJ3NtYWxsJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBCVVRUT046IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBJTUFHRTogeyB0b3A6ICdsYXJnZScsIGJvdHRvbTogJ2xhcmdlJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBTRVBBUkFUT1I6IHsgdG9wOiAnbGFyZ2UnLCBib3R0b206ICdsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRnVuY2nDs24gaGVscGVyIHBhcmEgY3JlYXIgZWxlbWVudG9zIGRlIGFydMOtY3VsbyBkZSBmb3JtYSBmw6FjaWxcbiAqL1xuZXhwb3J0IGNsYXNzIEFydGljbGVCdWlsZGVyIHtcbiAgcHJpdmF0ZSBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gdMOtdHVsbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHRpdGxlKHByb3BzOiBUaXRsZU1ldGFkYXRhLCBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+KTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAndGl0bGUnLFxuICAgICAgcHJvcHMsXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuVElUTEUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVRpdGxlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIHN1YnTDrXR1bG8gYWwgYXJ0w61jdWxvXG4gICAqL1xuICBzdWJ0aXRsZShwcm9wczogVGl0bGVNZXRhZGF0YSwgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50Pik6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xuICAgICAgdHlwZTogJ3N1YnRpdGxlJyxcbiAgICAgIHByb3BzLFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLlNVQlRJVExFLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9IGFzIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1biBww6FycmFmbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHBhcmFncmFwaChwcm9wczogVGV4dE1ldGFkYXRhLCBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+KTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgIHByb3BzLFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLlBBUkFHUkFQSCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlVGV4dEVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgY2l0YSBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHF1b3RlKFxuICAgIHByb3BzOiBBcnRpY2xlUXVvdGVFbGVtZW50Wydwcm9wcyddLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD5cbiAgKTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAncXVvdGUnLFxuICAgICAgcHJvcHMsXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuUVVPVEUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVF1b3RlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIGPDs2RpZ28gYWwgYXJ0w61jdWxvXG4gICAqL1xuICBjb2RlKGNvZGU6IHN0cmluZywgbGFuZ3VhZ2U/OiBzdHJpbmcsIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD4pOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgIHByb3BzOiB7IGNvZGUsIGxhbmd1YWdlIH0sXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuQ09ERSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlQ29kZUVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgbGlzdGEgYWwgYXJ0w61jdWxvXG4gICAqL1xuICBsaXN0KFxuICAgIGl0ZW1zOiBBcnRpY2xlTGlzdEVsZW1lbnRbJ3Byb3BzJ11bJ2l0ZW1zJ10sXG4gICAgbGlzdFR5cGU/OiBBcnRpY2xlTGlzdEVsZW1lbnRbJ3Byb3BzJ11bJ2xpc3RUeXBlJ10sXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdsaXN0JyxcbiAgICAgIHByb3BzOiB7IGl0ZW1zLCBsaXN0VHlwZSB9LFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLkxJU1QsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZUxpc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gYm90w7NuIGFsIGFydMOtY3Vsb1xuICAgKi9cbiAgYnV0dG9uKFxuICAgIHByb3BzOiBCdXR0b25NZXRhZGF0YSxcbiAgICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgcHJvcHM6IHsgLi4ucHJvcHMsIGFsaWdubWVudCB9LFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLkJVVFRPTixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlQnV0dG9uRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIHNlcGFyYWRvciBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHNlcGFyYXRvcihcbiAgICBzdHlsZT86ICdsaW5lJyB8ICdkb3RzJyB8ICdzcGFjZScsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxuICAgICAgcHJvcHM6IHsgc3R5bGUgfSxcbiAgICAgIHNwYWNpbmc6IEFSVElDTEVfU1BBQ0lORy5TRVBBUkFUT1IsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgaW1hZ2VuIGFsIGFydMOtY3Vsb1xuICAgKi9cbiAgaW1hZ2UoXG4gICAgc3JjOiBzdHJpbmcsXG4gICAgYWx0OiBzdHJpbmcsXG4gICAgY2FwdGlvbj86IHN0cmluZyxcbiAgICBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+XG4gICk6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xuICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgIHByb3BzOiB7IHNyYywgYWx0LCBjYXB0aW9uIH0sXG4gICAgICBzcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuSU1BR0UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZUltYWdlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuYSBub3RhIGRlc3RhY2FkYSBhbCBhcnTDrWN1bG9cbiAgICovXG4gIG5vdGUoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgICBjb2xvcj86IENvbG9yLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD5cbiAgKTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAnbm90ZScsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0ZXh0LFxuICAgICAgICBwcmVmaXg6IHByZWZpeCB8fCAnTm90YTonLFxuICAgICAgICBjb2xvcjogY29sb3IgfHwgJ3dhcm5pbmcnLFxuICAgICAgICB0ZXh0Q29sb3I6ICdkYXJrJyxcbiAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgIHJvdW5kZWQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLk5PVEUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZU5vdGVFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gY29tYW5kbyBkZSB0ZXJtaW5hbCBhbCBhcnTDrWN1bG9cbiAgICogQWNlcHRhIHVuIHN0cmluZyBzaW1wbGUgbyB1biBhcnJheSBkZSBjb21hbmRvc1xuICAgKi9cbiAgY29tbWFuZChcbiAgICBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+XG4gICk6IEFydGljbGVCdWlsZGVyIHtcbiAgICBjb25zdCBjb21tYW5kcyA9IEFycmF5LmlzQXJyYXkoY29tbWFuZCkgPyBjb21tYW5kIDogW2NvbW1hbmRdO1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAnY29tbWFuZCcsXG4gICAgICBwcm9wczoge1xuICAgICAgICBsaW5lczogY29tbWFuZHMubWFwKChjbWQpID0+ICh7IHRleHQ6IGNtZCwgdHlwZTogJ2NvbW1hbmQnIGFzIGNvbnN0IH0pKSxcbiAgICAgICAgc2hvd0NvcHlCdXR0b246IHRydWUsXG4gICAgICB9LFxuICAgICAgc3BhY2luZzogQVJUSUNMRV9TUEFDSU5HLkNPTU1BTkQsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZUNvbW1hbmRFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1eWUgZWwgYXJ0w61jdWxvIGZpbmFsXG4gICAqL1xuICBidWlsZChjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50czogdGhpcy5lbGVtZW50cyxcbiAgICAgIGRlZmF1bHRTcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuTUVESVVNLFxuICAgICAgbWF4V2lkdGg6ICc4MDBweCcsXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgIHRoZW1lOiAnYXV0bycsXG4gICAgICAuLi5jb25maWcsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldGVhIGVsIGJ1aWxkZXIgcGFyYSBjcmVhciB1biBudWV2byBhcnTDrWN1bG9cbiAgICovXG4gIGNsZWFyKCk6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzID0gW107XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdfQ==
|