valtech-components 2.0.431 → 2.0.433

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.
@@ -42,6 +42,31 @@ export class ArticleComponent {
42
42
  console.warn('val-article: props.elements is required');
43
43
  }
44
44
  }
45
+ /**
46
+ * Obtiene los estilos de padding para el contenedor article
47
+ */
48
+ getContainerStyles() {
49
+ const spacing = this.props.containerSpacing;
50
+ if (!spacing)
51
+ return {};
52
+ const styles = {};
53
+ const spacingValues = {
54
+ none: '0',
55
+ small: '0.5rem',
56
+ medium: '1rem',
57
+ large: '1.5rem',
58
+ xlarge: '2.5rem',
59
+ };
60
+ if (spacing.top)
61
+ styles['padding-top'] = spacingValues[spacing.top];
62
+ if (spacing.bottom)
63
+ styles['padding-bottom'] = spacingValues[spacing.bottom];
64
+ if (spacing.horizontal) {
65
+ styles['padding-left'] = spacingValues[spacing.horizontal];
66
+ styles['padding-right'] = spacingValues[spacing.horizontal];
67
+ }
68
+ return styles;
69
+ }
45
70
  /**
46
71
  * Función de trackBy para optimizar el rendering de elementos
47
72
  */
@@ -73,20 +98,23 @@ export class ArticleComponent {
73
98
  }
74
99
  /**
75
100
  * Obtiene las clases CSS para el espaciado del elemento.
76
- * Prioridad: element.spacing > props.defaultSpacing > espaciado nativo por tipo
101
+ * Prioridad: element.spacing > elementSpacing > espaciado nativo por tipo
77
102
  */
78
103
  getElementSpacingClass(element) {
79
- const spacing = element.spacing || this.props.defaultSpacing || this.getDefaultSpacingForType(element.type);
104
+ const defaultForType = this.getDefaultSpacingForType(element.type);
105
+ const globalOverride = this.props.elementSpacing || this.props.defaultSpacing; // backward compat
106
+ const spacing = {
107
+ top: element.spacing?.top ?? globalOverride?.top ?? defaultForType.top,
108
+ bottom: element.spacing?.bottom ?? globalOverride?.bottom ?? defaultForType.bottom,
109
+ horizontal: element.spacing?.horizontal ?? globalOverride?.horizontal ?? defaultForType.horizontal,
110
+ };
80
111
  const classes = [];
81
- if (spacing?.top) {
112
+ if (spacing.top)
82
113
  classes.push(`val-article__spacing-top--${spacing.top}`);
83
- }
84
- if (spacing?.bottom) {
114
+ if (spacing.bottom)
85
115
  classes.push(`val-article__spacing-bottom--${spacing.bottom}`);
86
- }
87
- if (spacing?.horizontal) {
116
+ if (spacing.horizontal)
88
117
  classes.push(`val-article__spacing-horizontal--${spacing.horizontal}`);
89
- }
90
118
  return classes.join(' ');
91
119
  }
92
120
  // === FUNCIONES DE TIPO PARA TYPESCRIPT ===
@@ -208,6 +236,7 @@ export class ArticleComponent {
208
236
  'val-article--dark': props.theme === 'dark',
209
237
  }"
210
238
  [style.max-width]="props.maxWidth"
239
+ [ngStyle]="getContainerStyles()"
211
240
  >
212
241
  <div
213
242
  *ngFor="let element of props.elements; trackBy: trackByFn"
@@ -360,7 +389,7 @@ export class ArticleComponent {
360
389
  </ng-container>
361
390
  </div>
362
391
  </article>
363
- `, 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"] }] }); }
392
+ `, 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: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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"] }] }); }
364
393
  }
365
394
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleComponent, decorators: [{
366
395
  type: Component,
@@ -384,6 +413,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
384
413
  'val-article--dark': props.theme === 'dark',
385
414
  }"
386
415
  [style.max-width]="props.maxWidth"
416
+ [ngStyle]="getContainerStyles()"
387
417
  >
388
418
  <div
389
419
  *ngFor="let element of props.elements; trackBy: trackByFn"
@@ -540,4 +570,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
540
570
  }], ctorParameters: () => [], propDecorators: { props: [{
541
571
  type: Input
542
572
  }] } });
543
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUVoRyxPQUFPLEVBQ0wsZUFBZSxHQW1CaEIsTUFBTSxTQUFTLENBQUM7OztBQXNMakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUTNCLGdCQUFlLENBQUM7SUFFaEIsUUFBUTtRQUNOLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQXVCO1FBQzlDLE9BQU8sT0FBTyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCLENBQUMsSUFBd0I7UUFDdkQsTUFBTSxVQUFVLEdBQStDO1lBQzdELEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSztZQUM1QixRQUFRLEVBQUUsZUFBZSxDQUFDLFFBQVE7WUFDbEMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQy9CLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUztZQUNwQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7WUFDNUIsU0FBUyxFQUFFLGVBQWUsQ0FBQyxNQUFNO1lBQ2pDLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSTtZQUMxQixJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUk7WUFDMUIsT0FBTyxFQUFFLGVBQWUsQ0FBQyxPQUFPO1lBQ2hDLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSTtZQUMxQixNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU07WUFDOUIsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQ3BDLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSztZQUM1QixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7WUFDNUIsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNO1NBQy9CLENBQUM7UUFDRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxzQkFBc0IsQ0FBQyxPQUF1QjtRQUM1QyxNQUFNLE9BQU8sR0FDWCxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUYsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO1FBRTdCLElBQUksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsNENBQTRDO0lBRTVDLGVBQWUsQ0FBQyxPQUF1QjtRQUNyQyxPQUFPLE9BQThCLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQXVCO1FBQ3hDLE9BQU8sT0FBaUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQXVCO1FBQ3BDLE9BQU8sT0FBNkIsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQXVCO1FBQ3JDLE9BQU8sT0FBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBdUI7UUFDekMsT0FBTyxPQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBdUI7UUFDcEMsT0FBTyxPQUE2QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBdUI7UUFDcEMsT0FBTyxPQUE2QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUF1QjtRQUN0QyxPQUFPLE9BQStCLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQXVCO1FBQ3pDLE9BQU8sT0FBa0MsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQXVCO1FBQ3JDLE9BQU8sT0FBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQXVCO1FBQ3JDLE9BQU8sT0FBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBdUI7UUFDdEMsT0FBTyxPQUErQixDQUFDO0lBQ3pDLENBQUM7SUFFRCwwQ0FBMEM7SUFFMUMsaUJBQWlCLENBQUMsT0FBdUI7UUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDNUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQXVCO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELE1BQU0sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQzFFLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUF1QjtRQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksd0JBQXdCLENBQUM7SUFDNUUsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QjtRQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDMUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQXVCO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDNUIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFlBQVk7WUFDcEQsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUF1QjtRQUNwQyxPQUFPLE9BQTZCLENBQUM7SUFDdkMsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQXVCO1FBQ3ZDLE9BQU8sT0FBZ0MsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQXVCO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDNUIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLE9BQU87WUFDM0MsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVM7WUFDM0MsU0FBUyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLE1BQU07WUFDaEQsSUFBSSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLFFBQVE7WUFDeEMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDMUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTztTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUF1QjtRQUNyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsT0FBTztZQUNMLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDakMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDM0QsUUFBUSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsUUFBUTtTQUN4QyxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQXVCO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUVqQyxPQUFPO1lBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxRQUFRO1lBQzVCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxRQUFRO1lBQ3RDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixXQUFXLEVBQUUsUUFBaUI7WUFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUM5RSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLO1NBQ3BDLENBQUM7SUFDSixDQUFDOytHQXpNVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0E3TGpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrS1QsZy9MQTVLQyxZQUFZLDhWQUNaLGdCQUFnQiwyRUFDaEIsY0FBYyx5RUFDZCxhQUFhLHdFQUNiLGVBQWUsZ0dBQ2YsY0FBYyx5RUFDZCxvQkFBb0IsZ0ZBQ3BCLGlCQUFpQiw2RUFDakIscUJBQXFCOzs0RkErTFosZ0JBQWdCO2tCQTNNNUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7cUJBQ3RCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtLVDt3REFpQ0QsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL3R5cGVzJztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvZGUtZGlzcGxheS9jb2RlLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVEaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29kZS1kaXNwbGF5L3R5cGVzJztcbmltcG9ydCB7IE5vdGVzQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGVzQm94TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvbm90ZXMtYm94L3R5cGVzJztcbmltcG9ydCB7IFBsYWluQ29kZUJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wbGFpbi1jb2RlLWJveC9wbGFpbi1jb2RlLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhaW5Db2RlQm94TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGxhaW4tY29kZS1ib3gvdHlwZXMnO1xuaW1wb3J0IHtcbiAgQVJUSUNMRV9TUEFDSU5HLFxuICBBcnRpY2xlQnV0dG9uRWxlbWVudCxcbiAgQXJ0aWNsZUNvZGVFbGVtZW50LFxuICBBcnRpY2xlQ29tbWFuZEVsZW1lbnQsXG4gIEFydGljbGVDb250ZW50VHlwZSxcbiAgQXJ0aWNsZUN1c3RvbUVsZW1lbnQsXG4gIEFydGljbGVFbGVtZW50LFxuICBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudCxcbiAgQXJ0aWNsZUltYWdlRWxlbWVudCxcbiAgQXJ0aWNsZUxpc3RFbGVtZW50LFxuICBBcnRpY2xlTWV0YWRhdGEsXG4gIEFydGljbGVOb3RlRWxlbWVudCxcbiAgQXJ0aWNsZVF1b3RlRWxlbWVudCxcbiAgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQsXG4gIEFydGljbGVTcGFjaW5nLFxuICBBcnRpY2xlU3VidGl0bGVFbGVtZW50LFxuICBBcnRpY2xlVGV4dEVsZW1lbnQsXG4gIEFydGljbGVUaXRsZUVsZW1lbnQsXG4gIEFydGljbGVWaWRlb0VsZW1lbnQsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXJ0aWNsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBDb2RlRGlzcGxheUNvbXBvbmVudCxcbiAgICBOb3Rlc0JveENvbXBvbmVudCxcbiAgICBQbGFpbkNvZGVCb3hDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFydGljbGVcbiAgICAgIGNsYXNzPVwidmFsLWFydGljbGVcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3ZhbC1hcnRpY2xlLS1jZW50ZXJlZCc6IHByb3BzLmNlbnRlcmVkLFxuICAgICAgICAndmFsLWFydGljbGUtLWxpZ2h0JzogcHJvcHMudGhlbWUgPT09ICdsaWdodCcsXG4gICAgICAgICd2YWwtYXJ0aWNsZS0tZGFyayc6IHByb3BzLnRoZW1lID09PSAnZGFyaycsXG4gICAgICB9XCJcbiAgICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwicHJvcHMubWF4V2lkdGhcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgcHJvcHMuZWxlbWVudHM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2VsZW1lbnRcIlxuICAgICAgICBbY2xhc3NdPVwiZWxlbWVudC5jc3NDbGFzc1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImdldEVsZW1lbnRTcGFjaW5nQ2xhc3MoZWxlbWVudClcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJlbGVtZW50LnZpc2libGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ2Jsb2NrJ1wiXG4gICAgICA+XG4gICAgICAgIDwhLS0gVMOtdHVsbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3RpdGxlJ1wiPlxuICAgICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwiZ2V0VGl0bGVFbGVtZW50KGVsZW1lbnQpLnByb3BzXCI+PC92YWwtZGlzcGxheT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBTdWJ0w610dWxvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnc3VidGl0bGUnXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwiZ2V0U3VidGl0bGVFbGVtZW50KGVsZW1lbnQpLnByb3BzXCI+PC92YWwtdGl0bGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVGV4dG8vUMOhcnJhZm8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtZW50LnR5cGUgPT09ICdwYXJhZ3JhcGgnXCI+XG4gICAgICAgICAgPHZhbC10ZXh0IFtwcm9wc109XCJnZXRUZXh0RWxlbWVudChlbGVtZW50KS5wcm9wc1wiPjwvdmFsLXRleHQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ2l0YSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3F1b3RlJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGUtY29udGVudFwiPlxuICAgICAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cImdldFF1b3RlVGV4dFByb3BzKGVsZW1lbnQpXCI+PC92YWwtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5hdXRob3JcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19xdW90ZS1hdXRob3JcIj5cbiAgICAgICAgICAgICAg4oCUIHt7IGdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5hdXRob3IgfX1cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRRdW90ZUVsZW1lbnQoZWxlbWVudCkucHJvcHMuc291cmNlXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGUtc291cmNlXCI+XG4gICAgICAgICAgICAgICAgLCB7eyBnZXRRdW90ZUVsZW1lbnQoZWxlbWVudCkucHJvcHMuc291cmNlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFRleHRvIGRlc3RhY2FkbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2hpZ2hsaWdodCdcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19oaWdobGlnaHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2hpZ2hsaWdodC0tcm91bmRlZCc6IGdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCkucHJvcHMucm91bmRlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0SGlnaGxpZ2h0Q29sb3IoZWxlbWVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwiZ2V0SGlnaGxpZ2h0VGV4dFByb3BzKGVsZW1lbnQpXCI+PC92YWwtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDw7NkaWdvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY29kZSdcIj5cbiAgICAgICAgICA8dmFsLWNvZGUtZGlzcGxheSBbcHJvcHNdPVwiZ2V0Q29kZURpc3BsYXlQcm9wcyhlbGVtZW50KVwiPjwvdmFsLWNvZGUtZGlzcGxheT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBOb3RhIGRlc3RhY2FkYSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ25vdGUnXCI+XG4gICAgICAgICAgPHZhbC1ub3Rlcy1ib3ggW3Byb3BzXT1cImdldE5vdGVCb3hQcm9wcyhlbGVtZW50KVwiPjwvdmFsLW5vdGVzLWJveD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDb21hbmRvIGRlIHRlcm1pbmFsIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY29tbWFuZCdcIj5cbiAgICAgICAgICA8dmFsLXBsYWluLWNvZGUtYm94IFtwcm9wc109XCJnZXRDb21tYW5kUHJvcHMoZWxlbWVudClcIj48L3ZhbC1wbGFpbi1jb2RlLWJveD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBMaXN0YSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2xpc3QnXCI+XG4gICAgICAgICAgPHVsICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgIT09ICdvcmRlcmVkJ1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3RcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRMaXN0RWxlbWVudChlbGVtZW50KS5wcm9wcy5pdGVtc1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldExpc3RFbGVtZW50KGVsZW1lbnQpLnByb3BzLmxpc3RUeXBlID09PSAnY2hlY2tsaXN0J1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtY2hlY2tcIlxuICAgICAgICAgICAgICAgID7inJM8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8b2xcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgPT09ICdvcmRlcmVkJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19saXN0IHZhbC1hcnRpY2xlX19saXN0LS1vcmRlcmVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMuaXRlbXNcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAge3sgaXRlbS50ZXh0IH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvb2w+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQm90w7NuIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnYnV0dG9uJ1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLWxlZnQnOiBnZXRCdXR0b25FbGVtZW50KGVsZW1lbnQpLnByb3BzLmFsaWdubWVudCA9PT0gJ2xlZnQnLFxuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLWNlbnRlcic6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAnY2VudGVyJyxcbiAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19idXR0b24tY29udGFpbmVyLS1yaWdodCc6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAncmlnaHQnLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cImdldEJ1dHRvblByb3BzKGVsZW1lbnQpXCI+PC92YWwtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFNlcGFyYWRvciAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3NlcGFyYXRvcidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWFydGljbGVfX3NlcGFyYXRvclwiPlxuICAgICAgICAgICAgPGhyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50KS5wcm9wcy5zdHlsZSA9PT0gJ2xpbmUnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLWxpbmVcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZS0tdGhpbic6IGdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMudGhpY2tuZXNzID09PSAndGhpbicsXG4gICAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZS0tdGhpY2snOiBnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnRoaWNrbmVzcyA9PT0gJ3RoaWNrJyxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMuc3R5bGUgPT09ICdkb3RzJ1wiIGNsYXNzPVwidmFsLWFydGljbGVfX3NlcGFyYXRvci1kb3RzXCI+XG4gICAgICAgICAgICAgIOKAoiDigKIg4oCiXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnN0eWxlID09PSAnc3BhY2UnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLXNwYWNlXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBJbWFnZW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdpbWFnZSdcIj5cbiAgICAgICAgICA8dmFsLWltYWdlIFtwcm9wc109XCJnZXRJbWFnZU1ldGFkYXRhKGVsZW1lbnQpXCI+PC92YWwtaW1hZ2U+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVmlkZW8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd2aWRlbydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWFydGljbGVfX3ZpZGVvXCI+XG4gICAgICAgICAgICA8dmlkZW9cbiAgICAgICAgICAgICAgW3NyY109XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMuc3JjXCJcbiAgICAgICAgICAgICAgW3Bvc3Rlcl09XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMucG9zdGVyXCJcbiAgICAgICAgICAgICAgW2NvbnRyb2xzXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5jb250cm9scyAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgICBbYXV0b3BsYXldPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLmF1dG9wbGF5XCJcbiAgICAgICAgICAgICAgW211dGVkXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5tdXRlZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLm1heFdpZHRoXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fdmlkZW8tY29udGVudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFR1IG5hdmVnYWRvciBubyBzb3BvcnRhIGVsIGVsZW1lbnRvIHZpZGVvLlxuICAgICAgICAgICAgPC92aWRlbz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMudGl0bGVcIiBjbGFzcz1cInZhbC1hcnRpY2xlX192aWRlby10aXRsZVwiPlxuICAgICAgICAgICAgICB7eyBnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMudGl0bGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIENvbnRlbmlkbyBwZXJzb25hbGl6YWRvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY3VzdG9tJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fY3VzdG9tXCIgW2lubmVySFRNTF09XCJnZXRDdXN0b21FbGVtZW50KGVsZW1lbnQpLnByb3BzLmh0bWxDb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9hcnRpY2xlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hcnRpY2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLCAvLyBDb21lbnRhZG8gdGVtcG9yYWxtZW50ZSBwYXJhIGRlYnVnXG59KVxuLyoqXG4gKiB2YWwtYXJ0aWNsZVxuICpcbiAqIENvbXBvbmVudGUgcGFyYSBjcmVhciBhcnTDrWN1bG9zLCBibG9ncyB5IGRvY3VtZW50YWNpw7NuIGRlIGZvcm1hIGRlY2xhcmF0aXZhLlxuICogUGVybWl0ZSBjb21iaW5hciBtw7psdGlwbGVzIGVsZW1lbnRvcyAodMOtdHVsb3MsIHRleHRvLCBpbcOhZ2VuZXMsIGPDs2RpZ28sIGV0Yy4pXG4gKiBjb24gZXNwYWNpYWRvIGF1dG9tw6F0aWNvIHkgc29wb3J0ZSBtdWx0aS1pZGlvbWEuXG4gKlxuICogQGV4YW1wbGUgVXNvIGLDoXNpY286XG4gKiBgYGBodG1sXG4gKiA8dmFsLWFydGljbGUgW3Byb3BzXT1cImFydGljbGVDb25maWdcIj48L3ZhbC1hcnRpY2xlPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQ29uIEFydGljbGVCdWlsZGVyOlxuICogYGBgdHlwZXNjcmlwdFxuICogYXJ0aWNsZUNvbmZpZyA9IG5ldyBBcnRpY2xlQnVpbGRlcigpXG4gKiAgIC50aXRsZSh0aXRsZVByb3BzKVxuICogICAucGFyYWdyYXBoKHRleHRQcm9wcylcbiAqICAgLmNvZGUoJ2NvbnNvbGUubG9nKFwiSGVsbG8gV29ybGRcIiknLCAnamF2YXNjcmlwdCcpXG4gKiAgIC5idWlsZCgpO1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBBcnRpY2xlTWV0YWRhdGEgLSBDb25maWd1cmFjacOzbiBjb21wbGV0YSBkZWwgYXJ0w61jdWxvXG4gKi9cbmV4cG9ydCBjbGFzcyBBcnRpY2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYWNpw7NuIGRlbCBhcnTDrWN1bG9cbiAgICogQHR5cGUge0FydGljbGVNZXRhZGF0YX1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzITogQXJ0aWNsZU1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBWYWxpZGFjacOzbiBiw6FzaWNhXG4gICAgaWYgKCF0aGlzLnByb3BzIHx8ICF0aGlzLnByb3BzLmVsZW1lbnRzKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3ZhbC1hcnRpY2xlOiBwcm9wcy5lbGVtZW50cyBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jacOzbiBkZSB0cmFja0J5IHBhcmEgb3B0aW1pemFyIGVsIHJlbmRlcmluZyBkZSBlbGVtZW50b3NcbiAgICovXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IGFueSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuaWQgfHwgaW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBlbCBlc3BhY2lhZG8gcG9yIGRlZmVjdG8gc2Vnw7puIGVsIHRpcG8gZGUgZWxlbWVudG9cbiAgICovXG4gIHByaXZhdGUgZ2V0RGVmYXVsdFNwYWNpbmdGb3JUeXBlKHR5cGU6IEFydGljbGVDb250ZW50VHlwZSk6IEFydGljbGVTcGFjaW5nIHtcbiAgICBjb25zdCBzcGFjaW5nTWFwOiBSZWNvcmQ8QXJ0aWNsZUNvbnRlbnRUeXBlLCBBcnRpY2xlU3BhY2luZz4gPSB7XG4gICAgICB0aXRsZTogQVJUSUNMRV9TUEFDSU5HLlRJVExFLFxuICAgICAgc3VidGl0bGU6IEFSVElDTEVfU1BBQ0lORy5TVUJUSVRMRSxcbiAgICAgIHRleHQ6IEFSVElDTEVfU1BBQ0lORy5QQVJBR1JBUEgsXG4gICAgICBwYXJhZ3JhcGg6IEFSVElDTEVfU1BBQ0lORy5QQVJBR1JBUEgsXG4gICAgICBxdW90ZTogQVJUSUNMRV9TUEFDSU5HLlFVT1RFLFxuICAgICAgaGlnaGxpZ2h0OiBBUlRJQ0xFX1NQQUNJTkcuTUVESVVNLFxuICAgICAgY29kZTogQVJUSUNMRV9TUEFDSU5HLkNPREUsXG4gICAgICBub3RlOiBBUlRJQ0xFX1NQQUNJTkcuTk9URSxcbiAgICAgIGNvbW1hbmQ6IEFSVElDTEVfU1BBQ0lORy5DT01NQU5ELFxuICAgICAgbGlzdDogQVJUSUNMRV9TUEFDSU5HLkxJU1QsXG4gICAgICBidXR0b246IEFSVElDTEVfU1BBQ0lORy5CVVRUT04sXG4gICAgICBzZXBhcmF0b3I6IEFSVElDTEVfU1BBQ0lORy5TRVBBUkFUT1IsXG4gICAgICBpbWFnZTogQVJUSUNMRV9TUEFDSU5HLklNQUdFLFxuICAgICAgdmlkZW86IEFSVElDTEVfU1BBQ0lORy5JTUFHRSxcbiAgICAgIGN1c3RvbTogQVJUSUNMRV9TUEFDSU5HLk1FRElVTSxcbiAgICB9O1xuICAgIHJldHVybiBzcGFjaW5nTWFwW3R5cGVdIHx8IEFSVElDTEVfU1BBQ0lORy5NRURJVU07XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBsYXMgY2xhc2VzIENTUyBwYXJhIGVsIGVzcGFjaWFkbyBkZWwgZWxlbWVudG8uXG4gICAqIFByaW9yaWRhZDogZWxlbWVudC5zcGFjaW5nID4gcHJvcHMuZGVmYXVsdFNwYWNpbmcgPiBlc3BhY2lhZG8gbmF0aXZvIHBvciB0aXBvXG4gICAqL1xuICBnZXRFbGVtZW50U3BhY2luZ0NsYXNzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGFjaW5nID1cbiAgICAgIGVsZW1lbnQuc3BhY2luZyB8fCB0aGlzLnByb3BzLmRlZmF1bHRTcGFjaW5nIHx8IHRoaXMuZ2V0RGVmYXVsdFNwYWNpbmdGb3JUeXBlKGVsZW1lbnQudHlwZSk7XG4gICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChzcGFjaW5nPy50b3ApIHtcbiAgICAgIGNsYXNzZXMucHVzaChgdmFsLWFydGljbGVfX3NwYWNpbmctdG9wLS0ke3NwYWNpbmcudG9wfWApO1xuICAgIH1cbiAgICBpZiAoc3BhY2luZz8uYm90dG9tKSB7XG4gICAgICBjbGFzc2VzLnB1c2goYHZhbC1hcnRpY2xlX19zcGFjaW5nLWJvdHRvbS0tJHtzcGFjaW5nLmJvdHRvbX1gKTtcbiAgICB9XG4gICAgaWYgKHNwYWNpbmc/Lmhvcml6b250YWwpIHtcbiAgICAgIGNsYXNzZXMucHVzaChgdmFsLWFydGljbGVfX3NwYWNpbmctaG9yaXpvbnRhbC0tJHtzcGFjaW5nLmhvcml6b250YWx9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICB9XG5cbiAgLy8gPT09IEZVTkNJT05FUyBERSBUSVBPIFBBUkEgVFlQRVNDUklQVCA9PT1cblxuICBnZXRUaXRsZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlVGl0bGVFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlVGl0bGVFbGVtZW50O1xuICB9XG5cbiAgZ2V0U3VidGl0bGVFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZVN1YnRpdGxlRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZVN1YnRpdGxlRWxlbWVudDtcbiAgfVxuXG4gIGdldFRleHRFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZVRleHRFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlVGV4dEVsZW1lbnQ7XG4gIH1cblxuICBnZXRRdW90ZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlUXVvdGVFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlUXVvdGVFbGVtZW50O1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0RWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVIaWdobGlnaHRFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudDtcbiAgfVxuXG4gIGdldENvZGVFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUNvZGVFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlQ29kZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRMaXN0RWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVMaXN0RWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUxpc3RFbGVtZW50O1xuICB9XG5cbiAgZ2V0QnV0dG9uRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVCdXR0b25FbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlQnV0dG9uRWxlbWVudDtcbiAgfVxuXG4gIGdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlU2VwYXJhdG9yRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQ7XG4gIH1cblxuICBnZXRJbWFnZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlSW1hZ2VFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlSW1hZ2VFbGVtZW50O1xuICB9XG5cbiAgZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZVZpZGVvRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZVZpZGVvRWxlbWVudDtcbiAgfVxuXG4gIGdldEN1c3RvbUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlQ3VzdG9tRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUN1c3RvbUVsZW1lbnQ7XG4gIH1cblxuICAvLyA9PT0gRlVOQ0lPTkVTIEFVWElMSUFSRVMgUEFSQSBQUk9QUyA9PT1cblxuICBnZXRRdW90ZVRleHRQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCkge1xuICAgIGNvbnN0IHF1b3RlRWxlbWVudCA9IHRoaXMuZ2V0UXVvdGVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IHsgYXV0aG9yLCBzb3VyY2UsIC4uLnRleHRQcm9wcyB9ID0gcXVvdGVFbGVtZW50LnByb3BzO1xuICAgIHJldHVybiB0ZXh0UHJvcHM7XG4gIH1cblxuICBnZXRIaWdobGlnaHRUZXh0UHJvcHMoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpIHtcbiAgICBjb25zdCBoaWdobGlnaHRFbGVtZW50ID0gdGhpcy5nZXRIaWdobGlnaHRFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IHsgYmFja2dyb3VuZENvbG9yLCByb3VuZGVkLCAuLi50ZXh0UHJvcHMgfSA9IGhpZ2hsaWdodEVsZW1lbnQucHJvcHM7XG4gICAgcmV0dXJuIHRleHRQcm9wcztcbiAgfVxuXG4gIGdldEhpZ2hsaWdodENvbG9yKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogc3RyaW5nIHtcbiAgICBjb25zdCBoaWdobGlnaHRFbGVtZW50ID0gdGhpcy5nZXRIaWdobGlnaHRFbGVtZW50KGVsZW1lbnQpO1xuICAgIHJldHVybiBoaWdobGlnaHRFbGVtZW50LnByb3BzLmJhY2tncm91bmRDb2xvciB8fCAndmFyKC0taW9uLWNvbG9yLWxpZ2h0KSc7XG4gIH1cblxuICBnZXRCdXR0b25Qcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCkge1xuICAgIGNvbnN0IGJ1dHRvbkVsZW1lbnQgPSB0aGlzLmdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgeyBhbGlnbm1lbnQsIC4uLmJ1dHRvblByb3BzIH0gPSBidXR0b25FbGVtZW50LnByb3BzO1xuICAgIHJldHVybiBidXR0b25Qcm9wcztcbiAgfVxuXG4gIGdldENvZGVEaXNwbGF5UHJvcHMoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBDb2RlRGlzcGxheU1ldGFkYXRhIHtcbiAgICBjb25zdCBjb2RlRWxlbWVudCA9IHRoaXMuZ2V0Q29kZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IGNvZGVFbGVtZW50LnByb3BzLmNvZGUsXG4gICAgICBsYW5ndWFnZTogY29kZUVsZW1lbnQucHJvcHMubGFuZ3VhZ2UgfHwgJ3R5cGVzY3JpcHQnLFxuICAgICAgdGFiczogW10sXG4gICAgfTtcbiAgfVxuXG4gIGdldE5vdGVFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZU5vdGVFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlTm90ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRDb21tYW5kRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVDb21tYW5kRWxlbWVudCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgQXJ0aWNsZUNvbW1hbmRFbGVtZW50O1xuICB9XG5cbiAgZ2V0Tm90ZUJveFByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogTm90ZXNCb3hNZXRhZGF0YSB7XG4gICAgY29uc3Qgbm90ZUVsZW1lbnQgPSB0aGlzLmdldE5vdGVFbGVtZW50KGVsZW1lbnQpO1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0OiBub3RlRWxlbWVudC5wcm9wcy50ZXh0LFxuICAgICAgcHJlZml4OiBub3RlRWxlbWVudC5wcm9wcy5wcmVmaXggfHwgJ05vdGE6JyxcbiAgICAgIGNvbG9yOiBub3RlRWxlbWVudC5wcm9wcy5jb2xvciB8fCAnd2FybmluZycsXG4gICAgICB0ZXh0Q29sb3I6IG5vdGVFbGVtZW50LnByb3BzLnRleHRDb2xvciB8fCAnZGFyaycsXG4gICAgICBzaXplOiBub3RlRWxlbWVudC5wcm9wcy5zaXplIHx8ICdtZWRpdW0nLFxuICAgICAgcm91bmRlZDogbm90ZUVsZW1lbnQucHJvcHMucm91bmRlZCA/PyB0cnVlLFxuICAgICAgcGFkZGluZzogbm90ZUVsZW1lbnQucHJvcHMucGFkZGluZyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q29tbWFuZFByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogUGxhaW5Db2RlQm94TWV0YWRhdGEge1xuICAgIGNvbnN0IGNvbW1hbmRFbGVtZW50ID0gdGhpcy5nZXRDb21tYW5kRWxlbWVudChlbGVtZW50KTtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZXM6IGNvbW1hbmRFbGVtZW50LnByb3BzLmxpbmVzLFxuICAgICAgc2hvd0NvcHlCdXR0b246IGNvbW1hbmRFbGVtZW50LnByb3BzLnNob3dDb3B5QnV0dG9uID8/IHRydWUsXG4gICAgICBsYW5ndWFnZTogY29tbWFuZEVsZW1lbnQucHJvcHMubGFuZ3VhZ2UsXG4gICAgfTtcbiAgfVxuXG4gIGdldEltYWdlTWV0YWRhdGEoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBJbWFnZU1ldGFkYXRhIHtcbiAgICBjb25zdCBpbWFnZUVsZW1lbnQgPSB0aGlzLmdldEltYWdlRWxlbWVudChlbGVtZW50KTtcbiAgICBjb25zdCBwcm9wcyA9IGltYWdlRWxlbWVudC5wcm9wcztcblxuICAgIHJldHVybiB7XG4gICAgICBzcmM6IHByb3BzLnNyYyxcbiAgICAgIGFsdDogcHJvcHMuYWx0LFxuICAgICAgbW9kZTogcHJvcHMucm91bmRlZCA/ICdyb3VuZGVkJyA6ICdib3gnLFxuICAgICAgc2l6ZTogcHJvcHMuc2l6ZSB8fCAnbWVkaXVtJyxcbiAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICBhbGlnbm1lbnQ6IHByb3BzLmFsaWdubWVudCB8fCAnY2VudGVyJyxcbiAgICAgIGNhcHRpb246IHByb3BzLmNhcHRpb24sXG4gICAgICBjYXB0aW9uU2l6ZTogJ21lZGl1bScgYXMgY29uc3QsXG4gICAgICB3aWR0aDogcHJvcHMubWF4V2lkdGggPyBwYXJzZUludChwcm9wcy5tYXhXaWR0aC5yZXBsYWNlKCdweCcsICcnKSkgOiB1bmRlZmluZWQsXG4gICAgICBwcmV2aWV3TW9kZTogcHJvcHMucHJldmlldyB8fCBmYWxzZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
573
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUVoRyxPQUFPLEVBQ0wsZUFBZSxHQW1CaEIsTUFBTSxTQUFTLENBQUM7OztBQXVMakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUTNCLGdCQUFlLENBQUM7SUFFaEIsUUFBUTtRQUNOLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1LVCxnL0xBN0tDLFlBQVksbWJBQ1osZ0JBQWdCLDJFQUNoQixjQUFjLHlFQUNkLGFBQWEsd0VBQ2IsZUFBZSxnR0FDZixjQUFjLHlFQUNkLG9CQUFvQixnRkFDcEIsaUJBQWlCLDZFQUNqQixxQkFBcUI7OzRGQWdNWixnQkFBZ0I7a0JBNU01QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjtxQkFDdEIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1LVDt3REFpQ0QsS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL3R5cGVzJztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvZGUtZGlzcGxheS9jb2RlLWRpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVEaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29kZS1kaXNwbGF5L3R5cGVzJztcbmltcG9ydCB7IE5vdGVzQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGVzQm94TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvbm90ZXMtYm94L3R5cGVzJztcbmltcG9ydCB7IFBsYWluQ29kZUJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wbGFpbi1jb2RlLWJveC9wbGFpbi1jb2RlLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhaW5Db2RlQm94TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGxhaW4tY29kZS1ib3gvdHlwZXMnO1xuaW1wb3J0IHtcbiAgQVJUSUNMRV9TUEFDSU5HLFxuICBBcnRpY2xlQnV0dG9uRWxlbWVudCxcbiAgQXJ0aWNsZUNvZGVFbGVtZW50LFxuICBBcnRpY2xlQ29tbWFuZEVsZW1lbnQsXG4gIEFydGljbGVDb250ZW50VHlwZSxcbiAgQXJ0aWNsZUN1c3RvbUVsZW1lbnQsXG4gIEFydGljbGVFbGVtZW50LFxuICBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudCxcbiAgQXJ0aWNsZUltYWdlRWxlbWVudCxcbiAgQXJ0aWNsZUxpc3RFbGVtZW50LFxuICBBcnRpY2xlTWV0YWRhdGEsXG4gIEFydGljbGVOb3RlRWxlbWVudCxcbiAgQXJ0aWNsZVF1b3RlRWxlbWVudCxcbiAgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnQsXG4gIEFydGljbGVTcGFjaW5nLFxuICBBcnRpY2xlU3VidGl0bGVFbGVtZW50LFxuICBBcnRpY2xlVGV4dEVsZW1lbnQsXG4gIEFydGljbGVUaXRsZUVsZW1lbnQsXG4gIEFydGljbGVWaWRlb0VsZW1lbnQsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXJ0aWNsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBDb2RlRGlzcGxheUNvbXBvbmVudCxcbiAgICBOb3Rlc0JveENvbXBvbmVudCxcbiAgICBQbGFpbkNvZGVCb3hDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFydGljbGVcbiAgICAgIGNsYXNzPVwidmFsLWFydGljbGVcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3ZhbC1hcnRpY2xlLS1jZW50ZXJlZCc6IHByb3BzLmNlbnRlcmVkLFxuICAgICAgICAndmFsLWFydGljbGUtLWxpZ2h0JzogcHJvcHMudGhlbWUgPT09ICdsaWdodCcsXG4gICAgICAgICd2YWwtYXJ0aWNsZS0tZGFyayc6IHByb3BzLnRoZW1lID09PSAnZGFyaycsXG4gICAgICB9XCJcbiAgICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwicHJvcHMubWF4V2lkdGhcIlxuICAgICAgW25nU3R5bGVdPVwiZ2V0Q29udGFpbmVyU3R5bGVzKClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgcHJvcHMuZWxlbWVudHM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2VsZW1lbnRcIlxuICAgICAgICBbY2xhc3NdPVwiZWxlbWVudC5jc3NDbGFzc1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImdldEVsZW1lbnRTcGFjaW5nQ2xhc3MoZWxlbWVudClcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJlbGVtZW50LnZpc2libGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ2Jsb2NrJ1wiXG4gICAgICA+XG4gICAgICAgIDwhLS0gVMOtdHVsbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3RpdGxlJ1wiPlxuICAgICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwiZ2V0VGl0bGVFbGVtZW50KGVsZW1lbnQpLnByb3BzXCI+PC92YWwtZGlzcGxheT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBTdWJ0w610dWxvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnc3VidGl0bGUnXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwiZ2V0U3VidGl0bGVFbGVtZW50KGVsZW1lbnQpLnByb3BzXCI+PC92YWwtdGl0bGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVGV4dG8vUMOhcnJhZm8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtZW50LnR5cGUgPT09ICdwYXJhZ3JhcGgnXCI+XG4gICAgICAgICAgPHZhbC10ZXh0IFtwcm9wc109XCJnZXRUZXh0RWxlbWVudChlbGVtZW50KS5wcm9wc1wiPjwvdmFsLXRleHQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQ2l0YSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3F1b3RlJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGUtY29udGVudFwiPlxuICAgICAgICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cImdldFF1b3RlVGV4dFByb3BzKGVsZW1lbnQpXCI+PC92YWwtdGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5hdXRob3JcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19xdW90ZS1hdXRob3JcIj5cbiAgICAgICAgICAgICAg4oCUIHt7IGdldFF1b3RlRWxlbWVudChlbGVtZW50KS5wcm9wcy5hdXRob3IgfX1cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJnZXRRdW90ZUVsZW1lbnQoZWxlbWVudCkucHJvcHMuc291cmNlXCIgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fcXVvdGUtc291cmNlXCI+XG4gICAgICAgICAgICAgICAgLCB7eyBnZXRRdW90ZUVsZW1lbnQoZWxlbWVudCkucHJvcHMuc291cmNlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFRleHRvIGRlc3RhY2FkbyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2hpZ2hsaWdodCdcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19oaWdobGlnaHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2hpZ2hsaWdodC0tcm91bmRlZCc6IGdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCkucHJvcHMucm91bmRlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0SGlnaGxpZ2h0Q29sb3IoZWxlbWVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwiZ2V0SGlnaGxpZ2h0VGV4dFByb3BzKGVsZW1lbnQpXCI+PC92YWwtdGV4dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDw7NkaWdvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY29kZSdcIj5cbiAgICAgICAgICA8dmFsLWNvZGUtZGlzcGxheSBbcHJvcHNdPVwiZ2V0Q29kZURpc3BsYXlQcm9wcyhlbGVtZW50KVwiPjwvdmFsLWNvZGUtZGlzcGxheT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBOb3RhIGRlc3RhY2FkYSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ25vdGUnXCI+XG4gICAgICAgICAgPHZhbC1ub3Rlcy1ib3ggW3Byb3BzXT1cImdldE5vdGVCb3hQcm9wcyhlbGVtZW50KVwiPjwvdmFsLW5vdGVzLWJveD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDb21hbmRvIGRlIHRlcm1pbmFsIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY29tbWFuZCdcIj5cbiAgICAgICAgICA8dmFsLXBsYWluLWNvZGUtYm94IFtwcm9wc109XCJnZXRDb21tYW5kUHJvcHMoZWxlbWVudClcIj48L3ZhbC1wbGFpbi1jb2RlLWJveD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBMaXN0YSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ2xpc3QnXCI+XG4gICAgICAgICAgPHVsICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgIT09ICdvcmRlcmVkJ1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3RcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRMaXN0RWxlbWVudChlbGVtZW50KS5wcm9wcy5pdGVtc1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImdldExpc3RFbGVtZW50KGVsZW1lbnQpLnByb3BzLmxpc3RUeXBlID09PSAnY2hlY2tsaXN0J1wiIGNsYXNzPVwidmFsLWFydGljbGVfX2xpc3QtY2hlY2tcIlxuICAgICAgICAgICAgICAgID7inJM8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8b2xcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMubGlzdFR5cGUgPT09ICdvcmRlcmVkJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInZhbC1hcnRpY2xlX19saXN0IHZhbC1hcnRpY2xlX19saXN0LS1vcmRlcmVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TGlzdEVsZW1lbnQoZWxlbWVudCkucHJvcHMuaXRlbXNcIiBjbGFzcz1cInZhbC1hcnRpY2xlX19saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAge3sgaXRlbS50ZXh0IH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvb2w+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQm90w7NuIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnYnV0dG9uJ1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLWxlZnQnOiBnZXRCdXR0b25FbGVtZW50KGVsZW1lbnQpLnByb3BzLmFsaWdubWVudCA9PT0gJ2xlZnQnLFxuICAgICAgICAgICAgICAndmFsLWFydGljbGVfX2J1dHRvbi1jb250YWluZXItLWNlbnRlcic6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAnY2VudGVyJyxcbiAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19idXR0b24tY29udGFpbmVyLS1yaWdodCc6IGdldEJ1dHRvbkVsZW1lbnQoZWxlbWVudCkucHJvcHMuYWxpZ25tZW50ID09PSAncmlnaHQnLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cImdldEJ1dHRvblByb3BzKGVsZW1lbnQpXCI+PC92YWwtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFNlcGFyYWRvciAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0gJ3NlcGFyYXRvcidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWFydGljbGVfX3NlcGFyYXRvclwiPlxuICAgICAgICAgICAgPGhyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50KS5wcm9wcy5zdHlsZSA9PT0gJ2xpbmUnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLWxpbmVcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZS0tdGhpbic6IGdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMudGhpY2tuZXNzID09PSAndGhpbicsXG4gICAgICAgICAgICAgICAgJ3ZhbC1hcnRpY2xlX19zZXBhcmF0b3ItbGluZS0tdGhpY2snOiBnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnRoaWNrbmVzcyA9PT0gJ3RoaWNrJyxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdldFNlcGFyYXRvckVsZW1lbnQoZWxlbWVudCkucHJvcHMuc3R5bGUgPT09ICdkb3RzJ1wiIGNsYXNzPVwidmFsLWFydGljbGVfX3NlcGFyYXRvci1kb3RzXCI+XG4gICAgICAgICAgICAgIOKAoiDigKIg4oCiXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJnZXRTZXBhcmF0b3JFbGVtZW50KGVsZW1lbnQpLnByb3BzLnN0eWxlID09PSAnc3BhY2UnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fc2VwYXJhdG9yLXNwYWNlXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBJbWFnZW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICdpbWFnZSdcIj5cbiAgICAgICAgICA8dmFsLWltYWdlIFtwcm9wc109XCJnZXRJbWFnZU1ldGFkYXRhKGVsZW1lbnQpXCI+PC92YWwtaW1hZ2U+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gVmlkZW8gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09ICd2aWRlbydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWFydGljbGVfX3ZpZGVvXCI+XG4gICAgICAgICAgICA8dmlkZW9cbiAgICAgICAgICAgICAgW3NyY109XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMuc3JjXCJcbiAgICAgICAgICAgICAgW3Bvc3Rlcl09XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMucG9zdGVyXCJcbiAgICAgICAgICAgICAgW2NvbnRyb2xzXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5jb250cm9scyAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgICBbYXV0b3BsYXldPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLmF1dG9wbGF5XCJcbiAgICAgICAgICAgICAgW211dGVkXT1cImdldFZpZGVvRWxlbWVudChlbGVtZW50KS5wcm9wcy5tdXRlZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwiZ2V0VmlkZW9FbGVtZW50KGVsZW1lbnQpLnByb3BzLm1heFdpZHRoXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fdmlkZW8tY29udGVudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFR1IG5hdmVnYWRvciBubyBzb3BvcnRhIGVsIGVsZW1lbnRvIHZpZGVvLlxuICAgICAgICAgICAgPC92aWRlbz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMudGl0bGVcIiBjbGFzcz1cInZhbC1hcnRpY2xlX192aWRlby10aXRsZVwiPlxuICAgICAgICAgICAgICB7eyBnZXRWaWRlb0VsZW1lbnQoZWxlbWVudCkucHJvcHMudGl0bGUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIENvbnRlbmlkbyBwZXJzb25hbGl6YWRvIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSAnY3VzdG9tJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtYXJ0aWNsZV9fY3VzdG9tXCIgW2lubmVySFRNTF09XCJnZXRDdXN0b21FbGVtZW50KGVsZW1lbnQpLnByb3BzLmh0bWxDb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9hcnRpY2xlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hcnRpY2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLCAvLyBDb21lbnRhZG8gdGVtcG9yYWxtZW50ZSBwYXJhIGRlYnVnXG59KVxuLyoqXG4gKiB2YWwtYXJ0aWNsZVxuICpcbiAqIENvbXBvbmVudGUgcGFyYSBjcmVhciBhcnTDrWN1bG9zLCBibG9ncyB5IGRvY3VtZW50YWNpw7NuIGRlIGZvcm1hIGRlY2xhcmF0aXZhLlxuICogUGVybWl0ZSBjb21iaW5hciBtw7psdGlwbGVzIGVsZW1lbnRvcyAodMOtdHVsb3MsIHRleHRvLCBpbcOhZ2VuZXMsIGPDs2RpZ28sIGV0Yy4pXG4gKiBjb24gZXNwYWNpYWRvIGF1dG9tw6F0aWNvIHkgc29wb3J0ZSBtdWx0aS1pZGlvbWEuXG4gKlxuICogQGV4YW1wbGUgVXNvIGLDoXNpY286XG4gKiBgYGBodG1sXG4gKiA8dmFsLWFydGljbGUgW3Byb3BzXT1cImFydGljbGVDb25maWdcIj48L3ZhbC1hcnRpY2xlPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQ29uIEFydGljbGVCdWlsZGVyOlxuICogYGBgdHlwZXNjcmlwdFxuICogYXJ0aWNsZUNvbmZpZyA9IG5ldyBBcnRpY2xlQnVpbGRlcigpXG4gKiAgIC50aXRsZSh0aXRsZVByb3BzKVxuICogICAucGFyYWdyYXBoKHRleHRQcm9wcylcbiAqICAgLmNvZGUoJ2NvbnNvbGUubG9nKFwiSGVsbG8gV29ybGRcIiknLCAnamF2YXNjcmlwdCcpXG4gKiAgIC5idWlsZCgpO1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBBcnRpY2xlTWV0YWRhdGEgLSBDb25maWd1cmFjacOzbiBjb21wbGV0YSBkZWwgYXJ0w61jdWxvXG4gKi9cbmV4cG9ydCBjbGFzcyBBcnRpY2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYWNpw7NuIGRlbCBhcnTDrWN1bG9cbiAgICogQHR5cGUge0FydGljbGVNZXRhZGF0YX1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzITogQXJ0aWNsZU1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBWYWxpZGFjacOzbiBiw6FzaWNhXG4gICAgaWYgKCF0aGlzLnByb3BzIHx8ICF0aGlzLnByb3BzLmVsZW1lbnRzKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3ZhbC1hcnRpY2xlOiBwcm9wcy5lbGVtZW50cyBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxvcyBlc3RpbG9zIGRlIHBhZGRpbmcgcGFyYSBlbCBjb250ZW5lZG9yIGFydGljbGVcbiAgICovXG4gIGdldENvbnRhaW5lclN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBjb25zdCBzcGFjaW5nID0gdGhpcy5wcm9wcy5jb250YWluZXJTcGFjaW5nO1xuICAgIGlmICghc3BhY2luZykgcmV0dXJuIHt9O1xuXG4gICAgY29uc3Qgc3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgY29uc3Qgc3BhY2luZ1ZhbHVlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIG5vbmU6ICcwJyxcbiAgICAgIHNtYWxsOiAnMC41cmVtJyxcbiAgICAgIG1lZGl1bTogJzFyZW0nLFxuICAgICAgbGFyZ2U6ICcxLjVyZW0nLFxuICAgICAgeGxhcmdlOiAnMi41cmVtJyxcbiAgICB9O1xuXG4gICAgaWYgKHNwYWNpbmcudG9wKSBzdHlsZXNbJ3BhZGRpbmctdG9wJ10gPSBzcGFjaW5nVmFsdWVzW3NwYWNpbmcudG9wXTtcbiAgICBpZiAoc3BhY2luZy5ib3R0b20pIHN0eWxlc1sncGFkZGluZy1ib3R0b20nXSA9IHNwYWNpbmdWYWx1ZXNbc3BhY2luZy5ib3R0b21dO1xuICAgIGlmIChzcGFjaW5nLmhvcml6b250YWwpIHtcbiAgICAgIHN0eWxlc1sncGFkZGluZy1sZWZ0J10gPSBzcGFjaW5nVmFsdWVzW3NwYWNpbmcuaG9yaXpvbnRhbF07XG4gICAgICBzdHlsZXNbJ3BhZGRpbmctcmlnaHQnXSA9IHNwYWNpbmdWYWx1ZXNbc3BhY2luZy5ob3Jpem9udGFsXTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmNpw7NuIGRlIHRyYWNrQnkgcGFyYSBvcHRpbWl6YXIgZWwgcmVuZGVyaW5nIGRlIGVsZW1lbnRvc1xuICAgKi9cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogYW55IHtcbiAgICByZXR1cm4gZWxlbWVudC5pZCB8fCBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGVsIGVzcGFjaWFkbyBwb3IgZGVmZWN0byBzZWfDum4gZWwgdGlwbyBkZSBlbGVtZW50b1xuICAgKi9cbiAgcHJpdmF0ZSBnZXREZWZhdWx0U3BhY2luZ0ZvclR5cGUodHlwZTogQXJ0aWNsZUNvbnRlbnRUeXBlKTogQXJ0aWNsZVNwYWNpbmcge1xuICAgIGNvbnN0IHNwYWNpbmdNYXA6IFJlY29yZDxBcnRpY2xlQ29udGVudFR5cGUsIEFydGljbGVTcGFjaW5nPiA9IHtcbiAgICAgIHRpdGxlOiBBUlRJQ0xFX1NQQUNJTkcuVElUTEUsXG4gICAgICBzdWJ0aXRsZTogQVJUSUNMRV9TUEFDSU5HLlNVQlRJVExFLFxuICAgICAgdGV4dDogQVJUSUNMRV9TUEFDSU5HLlBBUkFHUkFQSCxcbiAgICAgIHBhcmFncmFwaDogQVJUSUNMRV9TUEFDSU5HLlBBUkFHUkFQSCxcbiAgICAgIHF1b3RlOiBBUlRJQ0xFX1NQQUNJTkcuUVVPVEUsXG4gICAgICBoaWdobGlnaHQ6IEFSVElDTEVfU1BBQ0lORy5NRURJVU0sXG4gICAgICBjb2RlOiBBUlRJQ0xFX1NQQUNJTkcuQ09ERSxcbiAgICAgIG5vdGU6IEFSVElDTEVfU1BBQ0lORy5OT1RFLFxuICAgICAgY29tbWFuZDogQVJUSUNMRV9TUEFDSU5HLkNPTU1BTkQsXG4gICAgICBsaXN0OiBBUlRJQ0xFX1NQQUNJTkcuTElTVCxcbiAgICAgIGJ1dHRvbjogQVJUSUNMRV9TUEFDSU5HLkJVVFRPTixcbiAgICAgIHNlcGFyYXRvcjogQVJUSUNMRV9TUEFDSU5HLlNFUEFSQVRPUixcbiAgICAgIGltYWdlOiBBUlRJQ0xFX1NQQUNJTkcuSU1BR0UsXG4gICAgICB2aWRlbzogQVJUSUNMRV9TUEFDSU5HLklNQUdFLFxuICAgICAgY3VzdG9tOiBBUlRJQ0xFX1NQQUNJTkcuTUVESVVNLFxuICAgIH07XG4gICAgcmV0dXJuIHNwYWNpbmdNYXBbdHlwZV0gfHwgQVJUSUNMRV9TUEFDSU5HLk1FRElVTTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhcyBjbGFzZXMgQ1NTIHBhcmEgZWwgZXNwYWNpYWRvIGRlbCBlbGVtZW50by5cbiAgICogUHJpb3JpZGFkOiBlbGVtZW50LnNwYWNpbmcgPiBlbGVtZW50U3BhY2luZyA+IGVzcGFjaWFkbyBuYXRpdm8gcG9yIHRpcG9cbiAgICovXG4gIGdldEVsZW1lbnRTcGFjaW5nQ2xhc3MoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlZmF1bHRGb3JUeXBlID0gdGhpcy5nZXREZWZhdWx0U3BhY2luZ0ZvclR5cGUoZWxlbWVudC50eXBlKTtcbiAgICBjb25zdCBnbG9iYWxPdmVycmlkZSA9IHRoaXMucHJvcHMuZWxlbWVudFNwYWNpbmcgfHwgdGhpcy5wcm9wcy5kZWZhdWx0U3BhY2luZzsgLy8gYmFja3dhcmQgY29tcGF0XG5cbiAgICBjb25zdCBzcGFjaW5nOiBBcnRpY2xlU3BhY2luZyA9IHtcbiAgICAgIHRvcDogZWxlbWVudC5zcGFjaW5nPy50b3AgPz8gZ2xvYmFsT3ZlcnJpZGU/LnRvcCA/PyBkZWZhdWx0Rm9yVHlwZS50b3AsXG4gICAgICBib3R0b206IGVsZW1lbnQuc3BhY2luZz8uYm90dG9tID8/IGdsb2JhbE92ZXJyaWRlPy5ib3R0b20gPz8gZGVmYXVsdEZvclR5cGUuYm90dG9tLFxuICAgICAgaG9yaXpvbnRhbDogZWxlbWVudC5zcGFjaW5nPy5ob3Jpem9udGFsID8/IGdsb2JhbE92ZXJyaWRlPy5ob3Jpem9udGFsID8/IGRlZmF1bHRGb3JUeXBlLmhvcml6b250YWwsXG4gICAgfTtcblxuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHNwYWNpbmcudG9wKSBjbGFzc2VzLnB1c2goYHZhbC1hcnRpY2xlX19zcGFjaW5nLXRvcC0tJHtzcGFjaW5nLnRvcH1gKTtcbiAgICBpZiAoc3BhY2luZy5ib3R0b20pIGNsYXNzZXMucHVzaChgdmFsLWFydGljbGVfX3NwYWNpbmctYm90dG9tLS0ke3NwYWNpbmcuYm90dG9tfWApO1xuICAgIGlmIChzcGFjaW5nLmhvcml6b250YWwpIGNsYXNzZXMucHVzaChgdmFsLWFydGljbGVfX3NwYWNpbmctaG9yaXpvbnRhbC0tJHtzcGFjaW5nLmhvcml6b250YWx9YCk7XG5cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICAvLyA9PT0gRlVOQ0lPTkVTIERFIFRJUE8gUEFSQSBUWVBFU0NSSVBUID09PVxuXG4gIGdldFRpdGxlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVUaXRsZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVUaXRsZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRTdWJ0aXRsZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlU3VidGl0bGVFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlU3VidGl0bGVFbGVtZW50O1xuICB9XG5cbiAgZ2V0VGV4dEVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlVGV4dEVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVUZXh0RWxlbWVudDtcbiAgfVxuXG4gIGdldFF1b3RlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVRdW90ZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVRdW90ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRIaWdobGlnaHRFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUhpZ2hsaWdodEVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVIaWdobGlnaHRFbGVtZW50O1xuICB9XG5cbiAgZ2V0Q29kZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlQ29kZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVDb2RlRWxlbWVudDtcbiAgfVxuXG4gIGdldExpc3RFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUxpc3RFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlTGlzdEVsZW1lbnQ7XG4gIH1cblxuICBnZXRCdXR0b25FbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUJ1dHRvbkVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVCdXR0b25FbGVtZW50O1xuICB9XG5cbiAgZ2V0U2VwYXJhdG9yRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVTZXBhcmF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlU2VwYXJhdG9yRWxlbWVudDtcbiAgfVxuXG4gIGdldEltYWdlRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVJbWFnZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVJbWFnZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRWaWRlb0VsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlVmlkZW9FbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlVmlkZW9FbGVtZW50O1xuICB9XG5cbiAgZ2V0Q3VzdG9tRWxlbWVudChlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEFydGljbGVDdXN0b21FbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlQ3VzdG9tRWxlbWVudDtcbiAgfVxuXG4gIC8vID09PSBGVU5DSU9ORVMgQVVYSUxJQVJFUyBQQVJBIFBST1BTID09PVxuXG4gIGdldFF1b3RlVGV4dFByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KSB7XG4gICAgY29uc3QgcXVvdGVFbGVtZW50ID0gdGhpcy5nZXRRdW90ZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgeyBhdXRob3IsIHNvdXJjZSwgLi4udGV4dFByb3BzIH0gPSBxdW90ZUVsZW1lbnQucHJvcHM7XG4gICAgcmV0dXJuIHRleHRQcm9wcztcbiAgfVxuXG4gIGdldEhpZ2hsaWdodFRleHRQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCkge1xuICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSB0aGlzLmdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgeyBiYWNrZ3JvdW5kQ29sb3IsIHJvdW5kZWQsIC4uLnRleHRQcm9wcyB9ID0gaGlnaGxpZ2h0RWxlbWVudC5wcm9wcztcbiAgICByZXR1cm4gdGV4dFByb3BzO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0Q29sb3IoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSB0aGlzLmdldEhpZ2hsaWdodEVsZW1lbnQoZWxlbWVudCk7XG4gICAgcmV0dXJuIGhpZ2hsaWdodEVsZW1lbnQucHJvcHMuYmFja2dyb3VuZENvbG9yIHx8ICd2YXIoLS1pb24tY29sb3ItbGlnaHQpJztcbiAgfVxuXG4gIGdldEJ1dHRvblByb3BzKGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KSB7XG4gICAgY29uc3QgYnV0dG9uRWxlbWVudCA9IHRoaXMuZ2V0QnV0dG9uRWxlbWVudChlbGVtZW50KTtcbiAgICBjb25zdCB7IGFsaWdubWVudCwgLi4uYnV0dG9uUHJvcHMgfSA9IGJ1dHRvbkVsZW1lbnQucHJvcHM7XG4gICAgcmV0dXJuIGJ1dHRvblByb3BzO1xuICB9XG5cbiAgZ2V0Q29kZURpc3BsYXlQcm9wcyhlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IENvZGVEaXNwbGF5TWV0YWRhdGEge1xuICAgIGNvbnN0IGNvZGVFbGVtZW50ID0gdGhpcy5nZXRDb2RlRWxlbWVudChlbGVtZW50KTtcbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogY29kZUVsZW1lbnQucHJvcHMuY29kZSxcbiAgICAgIGxhbmd1YWdlOiBjb2RlRWxlbWVudC5wcm9wcy5sYW5ndWFnZSB8fCAndHlwZXNjcmlwdCcsXG4gICAgICB0YWJzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0Tm90ZUVsZW1lbnQoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBBcnRpY2xlTm90ZUVsZW1lbnQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIEFydGljbGVOb3RlRWxlbWVudDtcbiAgfVxuXG4gIGdldENvbW1hbmRFbGVtZW50KGVsZW1lbnQ6IEFydGljbGVFbGVtZW50KTogQXJ0aWNsZUNvbW1hbmRFbGVtZW50IHtcbiAgICByZXR1cm4gZWxlbWVudCBhcyBBcnRpY2xlQ29tbWFuZEVsZW1lbnQ7XG4gIH1cblxuICBnZXROb3RlQm94UHJvcHMoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBOb3Rlc0JveE1ldGFkYXRhIHtcbiAgICBjb25zdCBub3RlRWxlbWVudCA9IHRoaXMuZ2V0Tm90ZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IG5vdGVFbGVtZW50LnByb3BzLnRleHQsXG4gICAgICBwcmVmaXg6IG5vdGVFbGVtZW50LnByb3BzLnByZWZpeCB8fCAnTm90YTonLFxuICAgICAgY29sb3I6IG5vdGVFbGVtZW50LnByb3BzLmNvbG9yIHx8ICd3YXJuaW5nJyxcbiAgICAgIHRleHRDb2xvcjogbm90ZUVsZW1lbnQucHJvcHMudGV4dENvbG9yIHx8ICdkYXJrJyxcbiAgICAgIHNpemU6IG5vdGVFbGVtZW50LnByb3BzLnNpemUgfHwgJ21lZGl1bScsXG4gICAgICByb3VuZGVkOiBub3RlRWxlbWVudC5wcm9wcy5yb3VuZGVkID8/IHRydWUsXG4gICAgICBwYWRkaW5nOiBub3RlRWxlbWVudC5wcm9wcy5wYWRkaW5nLFxuICAgIH07XG4gIH1cblxuICBnZXRDb21tYW5kUHJvcHMoZWxlbWVudDogQXJ0aWNsZUVsZW1lbnQpOiBQbGFpbkNvZGVCb3hNZXRhZGF0YSB7XG4gICAgY29uc3QgY29tbWFuZEVsZW1lbnQgPSB0aGlzLmdldENvbW1hbmRFbGVtZW50KGVsZW1lbnQpO1xuICAgIHJldHVybiB7XG4gICAgICBsaW5lczogY29tbWFuZEVsZW1lbnQucHJvcHMubGluZXMsXG4gICAgICBzaG93Q29weUJ1dHRvbjogY29tbWFuZEVsZW1lbnQucHJvcHMuc2hvd0NvcHlCdXR0b24gPz8gdHJ1ZSxcbiAgICAgIGxhbmd1YWdlOiBjb21tYW5kRWxlbWVudC5wcm9wcy5sYW5ndWFnZSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SW1hZ2VNZXRhZGF0YShlbGVtZW50OiBBcnRpY2xlRWxlbWVudCk6IEltYWdlTWV0YWRhdGEge1xuICAgIGNvbnN0IGltYWdlRWxlbWVudCA9IHRoaXMuZ2V0SW1hZ2VFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IHByb3BzID0gaW1hZ2VFbGVtZW50LnByb3BzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNyYzogcHJvcHMuc3JjLFxuICAgICAgYWx0OiBwcm9wcy5hbHQsXG4gICAgICBtb2RlOiBwcm9wcy5yb3VuZGVkID8gJ3JvdW5kZWQnIDogJ2JveCcsXG4gICAgICBzaXplOiBwcm9wcy5zaXplIHx8ICdtZWRpdW0nLFxuICAgICAgc2hhZGVkOiBmYWxzZSxcbiAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgIGFsaWdubWVudDogcHJvcHMuYWxpZ25tZW50IHx8ICdjZW50ZXInLFxuICAgICAgY2FwdGlvbjogcHJvcHMuY2FwdGlvbixcbiAgICAgIGNhcHRpb25TaXplOiAnbWVkaXVtJyBhcyBjb25zdCxcbiAgICAgIHdpZHRoOiBwcm9wcy5tYXhXaWR0aCA/IHBhcnNlSW50KHByb3BzLm1heFdpZHRoLnJlcGxhY2UoJ3B4JywgJycpKSA6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZpZXdNb2RlOiBwcm9wcy5wcmV2aWV3IHx8IGZhbHNlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -34,7 +34,6 @@ export class ArticleBuilder {
34
34
  this.elements.push({
35
35
  type: 'title',
36
36
  props,
37
- spacing: ARTICLE_SPACING.TITLE,
38
37
  ...options,
39
38
  });
40
39
  return this;
@@ -46,7 +45,6 @@ export class ArticleBuilder {
46
45
  this.elements.push({
47
46
  type: 'subtitle',
48
47
  props,
49
- spacing: ARTICLE_SPACING.SUBTITLE,
50
48
  ...options,
51
49
  });
52
50
  return this;
@@ -58,7 +56,6 @@ export class ArticleBuilder {
58
56
  this.elements.push({
59
57
  type: 'paragraph',
60
58
  props,
61
- spacing: ARTICLE_SPACING.PARAGRAPH,
62
59
  ...options,
63
60
  });
64
61
  return this;
@@ -70,7 +67,6 @@ export class ArticleBuilder {
70
67
  this.elements.push({
71
68
  type: 'quote',
72
69
  props,
73
- spacing: ARTICLE_SPACING.QUOTE,
74
70
  ...options,
75
71
  });
76
72
  return this;
@@ -82,7 +78,6 @@ export class ArticleBuilder {
82
78
  this.elements.push({
83
79
  type: 'code',
84
80
  props: { code, language },
85
- spacing: ARTICLE_SPACING.CODE,
86
81
  ...options,
87
82
  });
88
83
  return this;
@@ -94,7 +89,6 @@ export class ArticleBuilder {
94
89
  this.elements.push({
95
90
  type: 'list',
96
91
  props: { items, listType },
97
- spacing: ARTICLE_SPACING.LIST,
98
92
  ...options,
99
93
  });
100
94
  return this;
@@ -106,7 +100,6 @@ export class ArticleBuilder {
106
100
  this.elements.push({
107
101
  type: 'button',
108
102
  props: { ...props, alignment },
109
- spacing: ARTICLE_SPACING.BUTTON,
110
103
  ...options,
111
104
  });
112
105
  return this;
@@ -118,7 +111,6 @@ export class ArticleBuilder {
118
111
  this.elements.push({
119
112
  type: 'separator',
120
113
  props: { style },
121
- spacing: ARTICLE_SPACING.SEPARATOR,
122
114
  ...options,
123
115
  });
124
116
  return this;
@@ -130,7 +122,6 @@ export class ArticleBuilder {
130
122
  this.elements.push({
131
123
  type: 'image',
132
124
  props: { src, alt, caption },
133
- spacing: ARTICLE_SPACING.IMAGE,
134
125
  ...options,
135
126
  });
136
127
  return this;
@@ -149,7 +140,6 @@ export class ArticleBuilder {
149
140
  size: 'medium',
150
141
  rounded: true,
151
142
  },
152
- spacing: ARTICLE_SPACING.NOTE,
153
143
  ...options,
154
144
  });
155
145
  return this;
@@ -166,7 +156,6 @@ export class ArticleBuilder {
166
156
  lines: commands.map((cmd) => ({ text: cmd, type: 'command' })),
167
157
  showCopyButton: true,
168
158
  },
169
- spacing: ARTICLE_SPACING.COMMAND,
170
159
  ...options,
171
160
  });
172
161
  return this;
@@ -177,7 +166,6 @@ export class ArticleBuilder {
177
166
  build(config) {
178
167
  return {
179
168
  elements: this.elements,
180
- defaultSpacing: ARTICLE_SPACING.MEDIUM,
181
169
  maxWidth: 'auto',
182
170
  centered: true,
183
171
  theme: 'auto',
@@ -192,4 +180,4 @@ export class ArticleBuilder {
192
180
  return this;
193
181
  }
194
182
  }
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/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50czogdGhpcy5lbGVtZW50cyxcbiAgICAgIGRlZmF1bHRTcGFjaW5nOiBBUlRJQ0xFX1NQQUNJTkcuTUVESVVNLFxuICAgICAgbWF4V2lkdGg6ICdhdXRvJyxcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgdGhlbWU6ICdhdXRvJyxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0ZWEgZWwgYnVpbGRlciBwYXJhIGNyZWFyIHVuIG51ZXZvIGFydMOtY3Vsb1xuICAgKi9cbiAgY2xlYXIoKTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMgPSBbXTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd1VBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0I7SUFDdkQsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFvQjtJQUMxRCxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW9CO0lBQzdELEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBb0I7SUFDMUQsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUU3RCx3Q0FBd0M7SUFDeEMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUMzRCxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQW9CO0lBQzlELFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0I7SUFDL0QsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFvQjtJQUM1RCxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW9CO0lBQzNELElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0I7SUFDM0QsT0FBTyxF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QUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLENBQUMsQ0FBQztnQkFDdkUsY0FBYyxFQUFFLElBQUk7YUFDckI7WUFDRCxHQUFHLE9BQU87U0FDYyxDQUFDLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsTUFBaUM7UUFDckMsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsTUFBTTtZQUNoQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxNQUFNO1lBQ2IsR0FBRyxNQUFNO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgVGV4dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90eXBlcyc7XG5pbXBvcnQgeyBUaXRsZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogVGlwb3MgZGUgY29udGVuaWRvIHNvcG9ydGFkb3MgZW4gZWwgY29tcG9uZW50ZSB2YWwtYXJ0aWNsZVxuICovXG5leHBvcnQgdHlwZSBBcnRpY2xlQ29udGVudFR5cGUgPVxuICB8ICd0aXRsZSdcbiAgfCAnc3VidGl0bGUnXG4gIHwgJ3RleHQnXG4gIHwgJ3BhcmFncmFwaCdcbiAgfCAncXVvdGUnXG4gIHwgJ2hpZ2hsaWdodCdcbiAgfCAnY29kZSdcbiAgfCAnbm90ZSdcbiAgfCAnY29tbWFuZCdcbiAgfCAnbGlzdCdcbiAgfCAnYnV0dG9uJ1xuICB8ICdzZXBhcmF0b3InXG4gIHwgJ2ltYWdlJ1xuICB8ICd2aWRlbydcbiAgfCAnY3VzdG9tJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gZW50cmUgZWxlbWVudG9zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZVNwYWNpbmcge1xuICAvKiogRXNwYWNpYWRvIHN1cGVyaW9yICovXG4gIHRvcD86ICdub25lJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbiAgLyoqIEVzcGFjaWFkbyBpbmZlcmlvciAqL1xuICBib3R0b20/OiAnbm9uZScgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG4gIC8qKiBFc3BhY2lhZG8gbGF0ZXJhbCAqL1xuICBob3Jpem9udGFsPzogJ25vbmUnIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIGJhc2UgcGFyYSBjdWFscXVpZXIgZWxlbWVudG8gZGVsIGFydMOtY3Vsb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIC8qKiBUaXBvIGRlIGVsZW1lbnRvICovXG4gIHR5cGU6IEFydGljbGVDb250ZW50VHlwZTtcbiAgLyoqIElEIMO6bmljbyBkZWwgZWxlbWVudG8gKG9wY2lvbmFsKSAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIENsYXNlcyBDU1MgYWRpY2lvbmFsZXMgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gKi9cbiAgc3BhY2luZz86IEFydGljbGVTcGFjaW5nO1xuICAvKiogRWxlbWVudG8gdmlzaWJsZSBjb25kaWNpb25hbG1lbnRlICovXG4gIHZpc2libGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIHTDrXR1bG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlVGl0bGVFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3RpdGxlJztcbiAgcHJvcHM6IFRpdGxlTWV0YWRhdGE7XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgc3VidMOtdHVsb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnc3VidGl0bGUnO1xuICBwcm9wczogVGl0bGVNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSB0ZXh0by9ww6FycmFmb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVUZXh0RWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICd0ZXh0JyB8ICdwYXJhZ3JhcGgnO1xuICBwcm9wczogVGV4dE1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIGNpdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlUXVvdGVFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3F1b3RlJztcbiAgcHJvcHM6IFRleHRNZXRhZGF0YSAmIHtcbiAgICAvKiogQXV0b3IgZGUgbGEgY2l0YSAqL1xuICAgIGF1dGhvcj86IHN0cmluZztcbiAgICAvKiogRnVlbnRlIGRlIGxhIGNpdGEgKi9cbiAgICBzb3VyY2U/OiBzdHJpbmc7XG4gICAgLyoqIENvbG9yIGRlbCBub21icmUgZGVsIGF1dG9yICovXG4gICAgYXV0aG9yQ29sb3I/OiBDb2xvcjtcbiAgICAvKiogQWxpbmVhY2nDs24gZGVsIHRleHRvICovXG4gICAgYWxpZ25tZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIC8qKiBNb3N0cmFyIGNvbWlsbGFzIGRlY29yYXRpdmFzICovXG4gICAgc2hvd1F1b3RlTWFyaz86IGJvb2xlYW47XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgdGV4dG8gZGVzdGFjYWRvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUhpZ2hsaWdodEVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnaGlnaGxpZ2h0JztcbiAgcHJvcHM6IFRleHRNZXRhZGF0YSAmIHtcbiAgICAvKiogQ29sb3IgZGUgZm9uZG8gZGVsIGhpZ2hsaWdodCAqL1xuICAgIGJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuICAgIC8qKiBFc3F1aW5hcyByZWRvbmRlYWRhcyAqL1xuICAgIHJvdW5kZWQ/OiBib29sZWFuO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIGPDs2RpZ29cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlQ29kZUVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnY29kZSc7XG4gIHByb3BzOiB7XG4gICAgLyoqIEPDs2RpZ28gYSBtb3N0cmFyICovXG4gICAgY29kZTogc3RyaW5nO1xuICAgIC8qKiBMZW5ndWFqZSBkZSBwcm9ncmFtYWNpw7NuICovXG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgLyoqIE1vc3RyYXIgbsO6bWVyb3MgZGUgbMOtbmVhICovXG4gICAgc2hvd0xpbmVOdW1iZXJzPzogYm9vbGVhbjtcbiAgICAvKiogVGVtYSBkZWwgY8OzZGlnbyAqL1xuICAgIHRoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBub3RhIGRlc3RhY2FkYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVOb3RlRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdub3RlJztcbiAgcHJvcHM6IHtcbiAgICAvKiogVGV4dG8gcHJpbmNpcGFsIGRlIGxhIG5vdGEgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgLyoqIFByZWZpam8gZW4gbmVncml0YSAoZWo6IFwiTm90YTpcIikgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqIENvbG9yIGRlIGZvbmRvICovXG4gICAgY29sb3I/OiBDb2xvcjtcbiAgICAvKiogQ29sb3IgZGVsIHRleHRvICovXG4gICAgdGV4dENvbG9yPzogQ29sb3I7XG4gICAgLyoqIFRhbWHDsW8gZGVsIHRleHRvICovXG4gICAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAneGxhcmdlJztcbiAgICAvKiogRXNxdWluYXMgcmVkb25kZWFkYXMgKi9cbiAgICByb3VuZGVkPzogYm9vbGVhbjtcbiAgICAvKiogUGFkZGluZyBwZXJzb25hbGl6YWRvICovXG4gICAgcGFkZGluZz86IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSBjb21hbmRvIGRlIHRlcm1pbmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUNvbW1hbmRFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2NvbW1hbmQnO1xuICBwcm9wczoge1xuICAgIC8qKiBMw61uZWFzIGRlIGNvbWFuZG8gKi9cbiAgICBsaW5lczogQXJyYXk8e1xuICAgICAgLyoqIFRleHRvIGRlbCBjb21hbmRvICovXG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICAvKiogVGlwbyBkZSBsw61uZWEgKi9cbiAgICAgIHR5cGU/OiAnbm9ybWFsJyB8ICdjb21tYW5kJyB8ICdzdWNjZXNzJyB8ICdlcnJvcic7XG4gICAgfT47XG4gICAgLyoqIE1vc3RyYXIgYm90w7NuIGRlIGNvcGlhciAqL1xuICAgIHNob3dDb3B5QnV0dG9uPzogYm9vbGVhbjtcbiAgICAvKiogTGVuZ3VhamUgKG9wY2lvbmFsKSAqL1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIGRlIGxpc3RhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUxpc3RFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ2xpc3QnO1xuICBwcm9wczoge1xuICAgIC8qKiBFbGVtZW50b3MgZGUgbGEgbGlzdGEgKi9cbiAgICBpdGVtczogQXJyYXk8e1xuICAgICAgLyoqIFRleHRvIGRlbCBlbGVtZW50byAqL1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgLyoqIENvbmZpZ3VyYWNpw7NuIGRlIGNvbnRlbmlkbyByZWFjdGl2byAqL1xuICAgICAgY29udGVudEtleT86IHN0cmluZztcbiAgICAgIGNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgICAgIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcbiAgICAgIGNvbnRlbnRJbnRlcnBvbGF0aW9uPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcbiAgICB9PjtcbiAgICAvKiogVGlwbyBkZSBsaXN0YSAqL1xuICAgIGxpc3RUeXBlPzogJ3Vub3JkZXJlZCcgfCAnb3JkZXJlZCcgfCAnY2hlY2tsaXN0JztcbiAgICAvKiogQ29sb3IgZGUgbG9zIGVsZW1lbnRvcyAqL1xuICAgIGNvbG9yPzogQ29sb3I7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgYm90w7NuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUJ1dHRvbkVsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAnYnV0dG9uJztcbiAgcHJvcHM6IEJ1dHRvbk1ldGFkYXRhICYge1xuICAgIC8qKiBBbGluZWFjacOzbiBkZWwgYm90w7NuICovXG4gICAgYWxpZ25tZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIHNlcGFyYWRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVTZXBhcmF0b3JFbGVtZW50IGV4dGVuZHMgQmFzZUFydGljbGVFbGVtZW50IHtcbiAgdHlwZTogJ3NlcGFyYXRvcic7XG4gIHByb3BzOiB7XG4gICAgLyoqIFRpcG8gZGUgc2VwYXJhZG9yICovXG4gICAgc3R5bGU/OiAnbGluZScgfCAnZG90cycgfCAnc3BhY2UnO1xuICAgIC8qKiBDb2xvciBkZWwgc2VwYXJhZG9yICovXG4gICAgY29sb3I/OiBDb2xvcjtcbiAgICAvKiogR3Jvc29yIGRlbCBzZXBhcmFkb3IgKi9cbiAgICB0aGlja25lc3M/OiAndGhpbicgfCAnbWVkaXVtJyB8ICd0aGljayc7XG4gIH07XG59XG5cbi8qKlxuICogRWxlbWVudG8gZGUgaW1hZ2VuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZUltYWdlRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdpbWFnZSc7XG4gIHByb3BzOiB7XG4gICAgLyoqIFVSTCBkZSBsYSBpbWFnZW4gKi9cbiAgICBzcmM6IHN0cmluZztcbiAgICAvKiogVGV4dG8gYWx0ZXJuYXRpdm8gKi9cbiAgICBhbHQ6IHN0cmluZztcbiAgICAvKiogVMOtdHVsbyBkZSBsYSBpbWFnZW4gKi9cbiAgICB0aXRsZT86IHN0cmluZztcbiAgICAvKiogTGV5ZW5kYSBkZSBsYSBpbWFnZW4gKi9cbiAgICBjYXB0aW9uPzogc3RyaW5nO1xuICAgIC8qKiBDb25maWd1cmFjacOzbiBkZSBjb250ZW5pZG8gcmVhY3Rpdm8gcGFyYSBjYXB0aW9uICovXG4gICAgY2FwdGlvbkNvbnRlbnRLZXk/OiBzdHJpbmc7XG4gICAgY2FwdGlvbkNvbnRlbnRDbGFzcz86IHN0cmluZztcbiAgICBjYXB0aW9uQ29udGVudEZhbGxiYWNrPzogc3RyaW5nO1xuICAgIC8qKiBBbGluZWFjacOzbiBkZSBsYSBpbWFnZW4gKi9cbiAgICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gICAgLyoqIEFuY2hvIG3DoXhpbW8gKi9cbiAgICBtYXhXaWR0aD86IHN0cmluZztcbiAgICAvKiogSW1hZ2VuIGNvbiBib3JkZXMgcmVkb25kZWFkb3MgKi9cbiAgICByb3VuZGVkPzogYm9vbGVhbjtcbiAgICAvKiogVGFtYcOxbyBkZSBsYSBpbWFnZW4gKi9cbiAgICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xuICAgIC8qKiBNb2RvIHByZXZpZXcgKGNsaWNrIHBhcmEgYW1wbGlhcikgKi9cbiAgICBwcmV2aWV3PzogYm9vbGVhbjtcbiAgfTtcbn1cblxuLyoqXG4gKiBFbGVtZW50byBkZSB2aWRlb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGVWaWRlb0VsZW1lbnQgZXh0ZW5kcyBCYXNlQXJ0aWNsZUVsZW1lbnQge1xuICB0eXBlOiAndmlkZW8nO1xuICBwcm9wczoge1xuICAgIC8qKiBVUkwgZGVsIHZpZGVvICovXG4gICAgc3JjOiBzdHJpbmc7XG4gICAgLyoqIEltYWdlbiBkZSBwb3N0ZXIgKi9cbiAgICBwb3N0ZXI/OiBzdHJpbmc7XG4gICAgLyoqIFTDrXR1bG8gZGVsIHZpZGVvICovXG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgLyoqIENvbnRyb2xlcyB2aXNpYmxlcyAqL1xuICAgIGNvbnRyb2xzPzogYm9vbGVhbjtcbiAgICAvKiogUmVwcm9kdWNjacOzbiBhdXRvbcOhdGljYSAqL1xuICAgIGF1dG9wbGF5PzogYm9vbGVhbjtcbiAgICAvKiogU2lsZW5jaWFkbyBwb3IgZGVmZWN0byAqL1xuICAgIG11dGVkPzogYm9vbGVhbjtcbiAgICAvKiogQW5jaG8gbcOheGltbyAqL1xuICAgIG1heFdpZHRoPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIEVsZW1lbnRvIHBlcnNvbmFsaXphZG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlQ3VzdG9tRWxlbWVudCBleHRlbmRzIEJhc2VBcnRpY2xlRWxlbWVudCB7XG4gIHR5cGU6ICdjdXN0b20nO1xuICBwcm9wczoge1xuICAgIC8qKiBDb250ZW5pZG8gSFRNTCBwZXJzb25hbGl6YWRvICovXG4gICAgaHRtbENvbnRlbnQ/OiBzdHJpbmc7XG4gICAgLyoqIENsYXNlIGRlIGNvbXBvbmVudGUgcGVyc29uYWxpemFkbyAqL1xuICAgIGNvbXBvbmVudENsYXNzPzogYW55O1xuICAgIC8qKiBQcm9wcyBwYXJhIGVsIGNvbXBvbmVudGUgcGVyc29uYWxpemFkbyAqL1xuICAgIGNvbXBvbmVudFByb3BzPzogYW55O1xuICB9O1xufVxuXG4vKipcbiAqIFVuacOzbiBkZSB0b2RvcyBsb3MgdGlwb3MgZGUgZWxlbWVudG9zIHBvc2libGVzXG4gKi9cbmV4cG9ydCB0eXBlIEFydGljbGVFbGVtZW50ID1cbiAgfCBBcnRpY2xlVGl0bGVFbGVtZW50XG4gIHwgQXJ0aWNsZVN1YnRpdGxlRWxlbWVudFxuICB8IEFydGljbGVUZXh0RWxlbWVudFxuICB8IEFydGljbGVRdW90ZUVsZW1lbnRcbiAgfCBBcnRpY2xlSGlnaGxpZ2h0RWxlbWVudFxuICB8IEFydGljbGVDb2RlRWxlbWVudFxuICB8IEFydGljbGVOb3RlRWxlbWVudFxuICB8IEFydGljbGVDb21tYW5kRWxlbWVudFxuICB8IEFydGljbGVMaXN0RWxlbWVudFxuICB8IEFydGljbGVCdXR0b25FbGVtZW50XG4gIHwgQXJ0aWNsZVNlcGFyYXRvckVsZW1lbnRcbiAgfCBBcnRpY2xlSW1hZ2VFbGVtZW50XG4gIHwgQXJ0aWNsZVZpZGVvRWxlbWVudFxuICB8IEFydGljbGVDdXN0b21FbGVtZW50O1xuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIGRlbCBhcnTDrWN1bG8gY29tcGxldG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlTWV0YWRhdGEge1xuICAvKiogRWxlbWVudG9zIGRlbCBhcnTDrWN1bG8gKi9cbiAgZWxlbWVudHM6IEFydGljbGVFbGVtZW50W107XG4gIC8qKiBQYWRkaW5nIGludGVybm8gZGVsIGNvbnRlbmVkb3IgYXJ0aWNsZSAqL1xuICBjb250YWluZXJTcGFjaW5nPzogQXJ0aWNsZVNwYWNpbmc7XG4gIC8qKiBPdmVycmlkZSBnbG9iYWwgZGUgc3BhY2luZyBwYXJhIGVsZW1lbnRvcyAocHJpb3JpZGFkIHNvYnJlIHNwYWNpbmcgcG9yIHRpcG8pICovXG4gIGVsZW1lbnRTcGFjaW5nPzogQXJ0aWNsZVNwYWNpbmc7XG4gIC8qKiBAZGVwcmVjYXRlZCBVc2FyIGVsZW1lbnRTcGFjaW5nIGVuIHN1IGx1Z2FyICovXG4gIGRlZmF1bHRTcGFjaW5nPzogQXJ0aWNsZVNwYWNpbmc7XG4gIC8qKiBBbmNobyBtw6F4aW1vIGRlbCBhcnTDrWN1bG8gKi9cbiAgbWF4V2lkdGg/OiBzdHJpbmc7XG4gIC8qKiBDZW50cmFyIGVsIGFydMOtY3VsbyAqL1xuICBjZW50ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBUZW1hIGRlbCBhcnTDrWN1bG8gKi9cbiAgdGhlbWU/OiAnbGlnaHQnIHwgJ2RhcmsnIHwgJ2F1dG8nO1xuICAvKiogQ2xhc2VzIENTUyBhZGljaW9uYWxlcyAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZSBlc3BhY2lhZG8gcHJlZGVmaW5pZGFcbiAqL1xuZXhwb3J0IGNvbnN0IEFSVElDTEVfU1BBQ0lORyA9IHtcbiAgTk9ORTogeyB0b3A6ICdub25lJywgYm90dG9tOiAnbm9uZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgU01BTEw6IHsgdG9wOiAnc21hbGwnLCBib3R0b206ICdzbWFsbCcgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgTUVESVVNOiB7IHRvcDogJ21lZGl1bScsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgTEFSR0U6IHsgdG9wOiAnbGFyZ2UnLCBib3R0b206ICdsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgWExBUkdFOiB7IHRvcDogJ3hsYXJnZScsIGJvdHRvbTogJ3hsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcblxuICAvLyBFc3BhY2lhZG9zIGVzcGVjw61maWNvcyBwYXJhIGVsZW1lbnRvc1xuICBUSVRMRTogeyB0b3A6ICdsYXJnZScsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgU1VCVElUTEU6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnc21hbGwnIH0gYXMgQXJ0aWNsZVNwYWNpbmcsXG4gIFBBUkFHUkFQSDogeyB0b3A6ICdzbWFsbCcsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgUVVPVEU6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBDT0RFOiB7IHRvcDogJ21lZGl1bScsIGJvdHRvbTogJ21lZGl1bScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbiAgTk9URTogeyB0b3A6ICdtZWRpdW0nLCBib3R0b206ICdtZWRpdW0nIH0gYXMgQXJ0aWNsZVNwYWNpbmcsXG4gIENPTU1BTkQ6IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBMSVNUOiB7IHRvcDogJ3NtYWxsJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBCVVRUT046IHsgdG9wOiAnbWVkaXVtJywgYm90dG9tOiAnbWVkaXVtJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBJTUFHRTogeyB0b3A6ICdsYXJnZScsIGJvdHRvbTogJ2xhcmdlJyB9IGFzIEFydGljbGVTcGFjaW5nLFxuICBTRVBBUkFUT1I6IHsgdG9wOiAnbGFyZ2UnLCBib3R0b206ICdsYXJnZScgfSBhcyBBcnRpY2xlU3BhY2luZyxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRnVuY2nDs24gaGVscGVyIHBhcmEgY3JlYXIgZWxlbWVudG9zIGRlIGFydMOtY3VsbyBkZSBmb3JtYSBmw6FjaWxcbiAqL1xuZXhwb3J0IGNsYXNzIEFydGljbGVCdWlsZGVyIHtcbiAgcHJpdmF0ZSBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gdMOtdHVsbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHRpdGxlKHByb3BzOiBUaXRsZU1ldGFkYXRhLCBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+KTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAndGl0bGUnLFxuICAgICAgcHJvcHMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZVRpdGxlRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIHN1YnTDrXR1bG8gYWwgYXJ0w61jdWxvXG4gICAqL1xuICBzdWJ0aXRsZShwcm9wczogVGl0bGVNZXRhZGF0YSwgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50Pik6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xuICAgICAgdHlwZTogJ3N1YnRpdGxlJyxcbiAgICAgIHByb3BzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9IGFzIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1biBww6FycmFmbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHBhcmFncmFwaChwcm9wczogVGV4dE1ldGFkYXRhLCBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+KTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgIHByb3BzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9IGFzIEFydGljbGVUZXh0RWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuYSBjaXRhIGFsIGFydMOtY3Vsb1xuICAgKi9cbiAgcXVvdGUoXG4gICAgcHJvcHM6IEFydGljbGVRdW90ZUVsZW1lbnRbJ3Byb3BzJ10sXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdxdW90ZScsXG4gICAgICBwcm9wcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlUXVvdGVFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBw7FhZGUgY8OzZGlnbyBhbCBhcnTDrWN1bG9cbiAgICovXG4gIGNvZGUoY29kZTogc3RyaW5nLCBsYW5ndWFnZT86IHN0cmluZywgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50Pik6IEFydGljbGVCdWlsZGVyIHtcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xuICAgICAgdHlwZTogJ2NvZGUnLFxuICAgICAgcHJvcHM6IHsgY29kZSwgbGFuZ3VhZ2UgfSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlQ29kZUVsZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEHDsWFkZSB1bmEgbGlzdGEgYWwgYXJ0w61jdWxvXG4gICAqL1xuICBsaXN0KFxuICAgIGl0ZW1zOiBBcnRpY2xlTGlzdEVsZW1lbnRbJ3Byb3BzJ11bJ2l0ZW1zJ10sXG4gICAgbGlzdFR5cGU/OiBBcnRpY2xlTGlzdEVsZW1lbnRbJ3Byb3BzJ11bJ2xpc3RUeXBlJ10sXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdsaXN0JyxcbiAgICAgIHByb3BzOiB7IGl0ZW1zLCBsaXN0VHlwZSB9LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9IGFzIEFydGljbGVMaXN0RWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIGJvdMOzbiBhbCBhcnTDrWN1bG9cbiAgICovXG4gIGJ1dHRvbihcbiAgICBwcm9wczogQnV0dG9uTWV0YWRhdGEsXG4gICAgYWxpZ25tZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD5cbiAgKTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgIHByb3BzOiB7IC4uLnByb3BzLCBhbGlnbm1lbnQgfSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlQnV0dG9uRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuIHNlcGFyYWRvciBhbCBhcnTDrWN1bG9cbiAgICovXG4gIHNlcGFyYXRvcihcbiAgICBzdHlsZT86ICdsaW5lJyB8ICdkb3RzJyB8ICdzcGFjZScsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxuICAgICAgcHJvcHM6IHsgc3R5bGUgfSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlU2VwYXJhdG9yRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQcOxYWRlIHVuYSBpbWFnZW4gYWwgYXJ0w61jdWxvXG4gICAqL1xuICBpbWFnZShcbiAgICBzcmM6IHN0cmluZyxcbiAgICBhbHQ6IHN0cmluZyxcbiAgICBjYXB0aW9uPzogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPEJhc2VBcnRpY2xlRWxlbWVudD5cbiAgKTogQXJ0aWNsZUJ1aWxkZXIge1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgcHJvcHM6IHsgc3JjLCBhbHQsIGNhcHRpb24gfSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSBhcyBBcnRpY2xlSW1hZ2VFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW5hIG5vdGEgZGVzdGFjYWRhIGFsIGFydMOtY3Vsb1xuICAgKi9cbiAgbm90ZShcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICAgIGNvbG9yPzogQ29sb3IsXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8QmFzZUFydGljbGVFbGVtZW50PlxuICApOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cy5wdXNoKHtcbiAgICAgIHR5cGU6ICdub3RlJyxcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIHRleHQsXG4gICAgICAgIHByZWZpeDogcHJlZml4IHx8ICdOb3RhOicsXG4gICAgICAgIGNvbG9yOiBjb2xvciB8fCAnd2FybmluZycsXG4gICAgICAgIHRleHRDb2xvcjogJ2RhcmsnLFxuICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgcm91bmRlZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0gYXMgQXJ0aWNsZU5vdGVFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBw7FhZGUgdW4gY29tYW5kbyBkZSB0ZXJtaW5hbCBhbCBhcnTDrWN1bG9cbiAgICogQWNlcHRhIHVuIHN0cmluZyBzaW1wbGUgbyB1biBhcnJheSBkZSBjb21hbmRvc1xuICAgKi9cbiAgY29tbWFuZChcbiAgICBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBvcHRpb25zPzogUGFydGlhbDxCYXNlQXJ0aWNsZUVsZW1lbnQ+XG4gICk6IEFydGljbGVCdWlsZGVyIHtcbiAgICBjb25zdCBjb21tYW5kcyA9IEFycmF5LmlzQXJyYXkoY29tbWFuZCkgPyBjb21tYW5kIDogW2NvbW1hbmRdO1xuICAgIHRoaXMuZWxlbWVudHMucHVzaCh7XG4gICAgICB0eXBlOiAnY29tbWFuZCcsXG4gICAgICBwcm9wczoge1xuICAgICAgICBsaW5lczogY29tbWFuZHMubWFwKChjbWQpID0+ICh7IHRleHQ6IGNtZCwgdHlwZTogJ2NvbW1hbmQnIGFzIGNvbnN0IH0pKSxcbiAgICAgICAgc2hvd0NvcHlCdXR0b246IHRydWUsXG4gICAgICB9LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9IGFzIEFydGljbGVDb21tYW5kRWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydXllIGVsIGFydMOtY3VsbyBmaW5hbFxuICAgKi9cbiAgYnVpbGQoY29uZmlnPzogUGFydGlhbDxBcnRpY2xlTWV0YWRhdGE+KTogQXJ0aWNsZU1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudHM6IHRoaXMuZWxlbWVudHMsXG4gICAgICBtYXhXaWR0aDogJ2F1dG8nLFxuICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICB0aGVtZTogJ2F1dG8nLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRlYSBlbCBidWlsZGVyIHBhcmEgY3JlYXIgdW4gbnVldm8gYXJ0w61jdWxvXG4gICAqL1xuICBjbGVhcigpOiBBcnRpY2xlQnVpbGRlciB7XG4gICAgdGhpcy5lbGVtZW50cyA9IFtdO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
@@ -72,7 +72,6 @@ export class PageTemplateComponent {
72
72
  limit: props.descriptionLimit || 180,
73
73
  content: props.pageDescription,
74
74
  color: props.descriptionColor || 'dark',
75
- expandText: 'more'
76
75
  }"
77
76
  />
78
77
  </div>
@@ -138,7 +137,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
138
137
  limit: props.descriptionLimit || 180,
139
138
  content: props.pageDescription,
140
139
  color: props.descriptionColor || 'dark',
141
- expandText: 'more'
142
140
  }"
143
141
  />
144
142
  </div>
@@ -178,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
178
176
  }], onBack: [{
179
177
  type: Output
180
178
  }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL3BhZ2UtdGVtcGxhdGUvcGFnZS10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBR3RFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBOEZILE1BQU0sT0FBTyxxQkFBcUI7SUE3RmxDO1FBOEZVLFFBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFcEM7O1dBRUc7UUFDTSxVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUUxQzs7V0FFRztRQUNPLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBUzdDO0lBUEM7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xCLENBQUM7K0dBbkJVLHFCQUFxQjttR0FBckIscUJBQXFCLHdJQS9FdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRFQsb1NBOURDLFlBQVksK0JBQ1osU0FBUyxvR0FDVCxVQUFVLG1GQUNWLFFBQVEsaUZBQ1IsdUJBQXVCLG1GQUN2QixPQUFPLHdFQUNQLE1BQU0sb0RBQ04sTUFBTSxrVEFDTixlQUFlOzs0RkFpRk4scUJBQXFCO2tCQTdGakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFFBQVE7d0JBQ1IsdUJBQXVCO3dCQUN2QixPQUFPO3dCQUNQLE1BQU07d0JBQ04sTUFBTTt3QkFDTixlQUFlO3FCQUNoQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RUOzhCQWlDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBJb25Db2wsIElvbkdyaWQsIElvbkhlYWRlciwgSW9uUm93LCBJb25UaXRsZSwgSW9uVG9vbGJhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgRXhwYW5kYWJsZVRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnZVRlbXBsYXRlTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtcGFnZS10ZW1wbGF0ZVxuICpcbiAqIEEgcGFnZSB0ZW1wbGF0ZSBjb21wb25lbnQgd2l0aCB0aXRsZSwgZXhwYW5kYWJsZSBkZXNjcmlwdGlvbixcbiAqIGNvbnRlbnQgcHJvamVjdGlvbiwgYW5kIG9wdGlvbmFsIGJhY2sgbmF2aWdhdGlvbiBidXR0b24uXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtcGFnZS10ZW1wbGF0ZVxuICogICBbcHJvcHNdPVwie1xuICogICAgIHBhZ2VUaXRsZTogJ0dldHRpbmcgU3RhcnRlZCcsXG4gKiAgICAgcGFnZURlc2NyaXB0aW9uOiAnTGVhcm4gaG93IHRvIHVzZSBvdXIgY29tcG9uZW50cy4uLicsXG4gKiAgICAgc2hvd0JhY2tCdXR0b246IHRydWVcbiAqICAgfVwiXG4gKiA+XG4gKiAgIDxkaXYgZXh0cmEtZGVzY3JpcHRpb24+XG4gKiAgICAgPHA+QWRkaXRpb25hbCBpbmZvIGhlcmU8L3A+XG4gKiAgIDwvZGl2PlxuICpcbiAqICAgPCEtLSBNYWluIGNvbnRlbnQgLS0+XG4gKiAgIDxteS1jb250ZW50PjwvbXktY29udGVudD5cbiAqXG4gKiAgIDxkaXYgZXh0cmEtZm9vdGVyPlxuICogICAgIDxwPkZvb3RlciBjb250ZW50PC9wPlxuICogICA8L2Rpdj5cbiAqIDwvdmFsLXBhZ2UtdGVtcGxhdGU+XG4gKlxuICogQGlucHV0IHByb3BzIC0gUGFnZSB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uXG4gKiBAb3V0cHV0IG9uQmFjayAtIEVtaXRzIHdoZW4gYmFjayBidXR0b24gaXMgY2xpY2tlZFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGFnZS10ZW1wbGF0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uVGl0bGUsXG4gICAgRXhwYW5kYWJsZVRleHRDb21wb25lbnQsXG4gICAgSW9uR3JpZCxcbiAgICBJb25Sb3csXG4gICAgSW9uQ29sLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKHByb3BzLnBhZ2VUaXRsZSkge1xuICAgICAgPGlvbi1oZWFkZXIgW2NsYXNzLmlvbi1uby1ib3JkZXJdPVwidHJ1ZVwiPlxuICAgICAgICA8aW9uLXRvb2xiYXIgc3R5bGU9XCItLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1wiPlxuICAgICAgICAgIDxpb24tdGl0bGUgY2xhc3M9XCJwYWdlLXRpdGxlXCIgc2l6ZT1cImxhcmdlXCI+e3sgcHJvcHMucGFnZVRpdGxlIH19PC9pb24tdGl0bGU+XG4gICAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgICA8L2lvbi1oZWFkZXI+XG4gICAgfVxuICAgIDxpb24tZ3JpZD5cbiAgICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXIgZGVzY3JpcHRpb24tcm93XCI+XG4gICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUtbWQ9XCIxMFwiIHNpemUtbGc9XCI4XCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5wYWdlRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHZhbC1leHBhbmRhYmxlLXRleHRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgbGltaXQ6IHByb3BzLmRlc2NyaXB0aW9uTGltaXQgfHwgMTgwLFxuICAgICAgICAgICAgICAgICAgY29udGVudDogcHJvcHMucGFnZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IHByb3BzLmRlc2NyaXB0aW9uQ29sb3IgfHwgJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgZXhwYW5kVGV4dDogJ21vcmUnXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V4dHJhLWRlc2NyaXB0aW9uXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V4dHJhLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICBAaWYgKHByb3BzLnNob3dCYWNrQnV0dG9uKSB7XG4gICAgICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXIgYmFjay1yb3dcIj5cbiAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplLW1kPVwiMTBcIiBzaXplLWxnPVwiOFwiPlxuICAgICAgICAgICAgPHZhbC1idXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJiYWNrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgdGV4dDogcHJvcHMuYmFja0J1dHRvblRleHQgfHwgJ1ZvbHZlcicsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICAgICAgZmlsbDogJ291dGxpbmUnLFxuICAgICAgICAgICAgICAgIHNoYXBlOiAncm91bmQnLFxuICAgICAgICAgICAgICAgIGljb246IHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdhcnJvdy1iYWNrLW91dGxpbmUnLFxuICAgICAgICAgICAgICAgICAgc2xvdDogJ3N0YXJ0J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUJhY2soKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgPC9pb24tcm93PlxuICAgICAgfVxuICAgIDwvaW9uLWdyaWQ+XG4gIGAsXG4gIHN0eWxlczogYFxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5iYWNrLXJvdyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cblxuICAgIC5iYWNrLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIH1cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZVRlbXBsYXRlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBuYXYgPSBpbmplY3QoTmF2Q29udHJvbGxlcik7XG5cbiAgLyoqXG4gICAqIFBhZ2UgdGVtcGxhdGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYWdlVGVtcGxhdGVNZXRhZGF0YSA9IHt9O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uQmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogSGFuZGxlcyBiYWNrIG5hdmlnYXRpb24uXG4gICAqL1xuICBoYW5kbGVCYWNrKCk6IHZvaWQge1xuICAgIHRoaXMub25CYWNrLmVtaXQoKTtcbiAgICB0aGlzLm5hdi5iYWNrKCk7XG4gIH1cbn1cbiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL3BhZ2UtdGVtcGxhdGUvcGFnZS10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBR3RFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBNkZILE1BQU0sT0FBTyxxQkFBcUI7SUE1RmxDO1FBNkZVLFFBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFcEM7O1dBRUc7UUFDTSxVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUUxQzs7V0FFRztRQUNPLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBUzdDO0lBUEM7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xCLENBQUM7K0dBbkJVLHFCQUFxQjttR0FBckIscUJBQXFCLHdJQTlFdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVCxvU0E3REMsWUFBWSwrQkFDWixTQUFTLG9HQUNULFVBQVUsbUZBQ1YsUUFBUSxpRkFDUix1QkFBdUIsbUZBQ3ZCLE9BQU8sd0VBQ1AsTUFBTSxvREFDTixNQUFNLGtUQUNOLGVBQWU7OzRGQWdGTixxQkFBcUI7a0JBNUZqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsUUFBUTt3QkFDUix1QkFBdUI7d0JBQ3ZCLE9BQU87d0JBQ1AsTUFBTTt3QkFDTixNQUFNO3dCQUNOLGVBQWU7cUJBQ2hCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDs4QkFpQ1EsS0FBSztzQkFBYixLQUFLO2dCQUtJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgSW9uQ29sLCBJb25HcmlkLCBJb25IZWFkZXIsIElvblJvdywgSW9uVGl0bGUsIElvblRvb2xiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEV4cGFuZGFibGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2V4cGFuZGFibGUtdGV4dC9leHBhbmRhYmxlLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VUZW1wbGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogdmFsLXBhZ2UtdGVtcGxhdGVcbiAqXG4gKiBBIHBhZ2UgdGVtcGxhdGUgY29tcG9uZW50IHdpdGggdGl0bGUsIGV4cGFuZGFibGUgZGVzY3JpcHRpb24sXG4gKiBjb250ZW50IHByb2plY3Rpb24sIGFuZCBvcHRpb25hbCBiYWNrIG5hdmlnYXRpb24gYnV0dG9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXBhZ2UtdGVtcGxhdGVcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBwYWdlVGl0bGU6ICdHZXR0aW5nIFN0YXJ0ZWQnLFxuICogICAgIHBhZ2VEZXNjcmlwdGlvbjogJ0xlYXJuIGhvdyB0byB1c2Ugb3VyIGNvbXBvbmVudHMuLi4nLFxuICogICAgIHNob3dCYWNrQnV0dG9uOiB0cnVlXG4gKiAgIH1cIlxuICogPlxuICogICA8ZGl2IGV4dHJhLWRlc2NyaXB0aW9uPlxuICogICAgIDxwPkFkZGl0aW9uYWwgaW5mbyBoZXJlPC9wPlxuICogICA8L2Rpdj5cbiAqXG4gKiAgIDwhLS0gTWFpbiBjb250ZW50IC0tPlxuICogICA8bXktY29udGVudD48L215LWNvbnRlbnQ+XG4gKlxuICogICA8ZGl2IGV4dHJhLWZvb3Rlcj5cbiAqICAgICA8cD5Gb290ZXIgY29udGVudDwvcD5cbiAqICAgPC9kaXY+XG4gKiA8L3ZhbC1wYWdlLXRlbXBsYXRlPlxuICpcbiAqIEBpbnB1dCBwcm9wcyAtIFBhZ2UgdGVtcGxhdGUgY29uZmlndXJhdGlvblxuICogQG91dHB1dCBvbkJhY2sgLSBFbWl0cyB3aGVuIGJhY2sgYnV0dG9uIGlzIGNsaWNrZWRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBhZ2UtdGVtcGxhdGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvblRpdGxlLFxuICAgIEV4cGFuZGFibGVUZXh0Q29tcG9uZW50LFxuICAgIElvbkdyaWQsXG4gICAgSW9uUm93LFxuICAgIElvbkNvbCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChwcm9wcy5wYWdlVGl0bGUpIHtcbiAgICAgIDxpb24taGVhZGVyIFtjbGFzcy5pb24tbm8tYm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgPGlvbi10b29sYmFyIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcIj5cbiAgICAgICAgICA8aW9uLXRpdGxlIGNsYXNzPVwicGFnZS10aXRsZVwiIHNpemU9XCJsYXJnZVwiPnt7IHByb3BzLnBhZ2VUaXRsZSB9fTwvaW9uLXRpdGxlPlxuICAgICAgICA8L2lvbi10b29sYmFyPlxuICAgICAgPC9pb24taGVhZGVyPlxuICAgIH1cbiAgICA8aW9uLWdyaWQ+XG4gICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRlc2NyaXB0aW9uLXJvd1wiPlxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiMTJcIiBzaXplLW1kPVwiMTBcIiBzaXplLWxnPVwiOFwiPlxuICAgICAgICAgIEBpZiAocHJvcHMucGFnZURlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDx2YWwtZXhwYW5kYWJsZS10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGxpbWl0OiBwcm9wcy5kZXNjcmlwdGlvbkxpbWl0IHx8IDE4MCxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHByb3BzLnBhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBwcm9wcy5kZXNjcmlwdGlvbkNvbG9yIHx8ICdkYXJrJyxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXh0cmEtZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2lvbi1jb2w+XG4gICAgICA8L2lvbi1yb3c+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXh0cmEtZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIEBpZiAocHJvcHMuc2hvd0JhY2tCdXR0b24pIHtcbiAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlciBiYWNrLXJvd1wiPlxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemUtbWQ9XCIxMFwiIHNpemUtbGc9XCI4XCI+XG4gICAgICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICB0ZXh0OiBwcm9wcy5iYWNrQnV0dG9uVGV4dCB8fCAnVm9sdmVyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgc3RhdGU6ICdFTkFCTEVEJyxcbiAgICAgICAgICAgICAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgICAgICAgICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICAgICAgICAgICAgaWNvbjoge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ2Fycm93LWJhY2stb3V0bGluZScsXG4gICAgICAgICAgICAgICAgICBzbG90OiAnc3RhcnQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQmFjaygpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8L2lvbi1yb3c+XG4gICAgICB9XG4gICAgPC9pb24tZ3JpZD5cbiAgYCxcbiAgc3R5bGVzOiBgXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbi1yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLmJhY2stcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmJhY2stYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlVGVtcGxhdGVDb21wb25lbnQge1xuICBwcml2YXRlIG5hdiA9IGluamVjdChOYXZDb250cm9sbGVyKTtcblxuICAvKipcbiAgICogUGFnZSB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhZ2VUZW1wbGF0ZU1ldGFkYXRhID0ge307XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGJhY2sgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgb25CYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGJhY2sgbmF2aWdhdGlvbi5cbiAgICovXG4gIGhhbmRsZUJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5vbkJhY2suZW1pdCgpO1xuICAgIHRoaXMubmF2LmJhY2soKTtcbiAgfVxufVxuIl19