tango-app-ui-analyse-trax 3.7.11-redodesign-10 → 3.7.11-redodesign-11

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.
@@ -127,16 +127,16 @@ export class EyeTestComponent {
127
127
  this.users = userinfo;
128
128
  if (this.users && (this.users.role === "superadmin" || this.users.role === "admin")) {
129
129
  this.typePercentageArray = [
130
- { label: "0–10%", value: "10" },
131
- { label: "10–20%", value: "20" },
132
- { label: "20–30%", value: "30" },
133
- { label: "30–40%", value: "40" },
134
- { label: "40–50%", value: "50" },
135
- { label: "50–60%", value: "60" },
136
- { label: "60–70%", value: "70" },
137
- { label: "70–80%", value: "80" },
138
- { label: "80–90%", value: "90" },
139
- { label: "90–100%", value: "100" },
130
+ { label: "0–10%", value: "0-10" },
131
+ { label: "10–20%", value: "10-20" },
132
+ { label: "20–30%", value: "20-30" },
133
+ { label: "30–40%", value: "30-40" },
134
+ { label: "40–50%", value: "40-50" },
135
+ { label: "50–60%", value: "50-60" },
136
+ { label: "60–70%", value: "60-70" },
137
+ { label: "70–80%", value: "70-80" },
138
+ { label: "80–90%", value: "80-90" },
139
+ { label: "90–100%", value: "90-100" },
140
140
  ];
141
141
  }
142
142
  else {
@@ -517,16 +517,16 @@ export class EyeTestComponent {
517
517
  let foundCluster = false;
518
518
  if (val !== "store") {
519
519
  this.typePercentageArray = [
520
- { label: "0–10%", value: "10" },
521
- { label: "10–20%", value: "20" },
522
- { label: "20–30%", value: "30" },
523
- { label: "30–40%", value: "40" },
524
- { label: "40–50%", value: "50" },
525
- { label: "50–60%", value: "60" },
526
- { label: "60–70%", value: "70" },
527
- { label: "70–80%", value: "80" },
528
- { label: "80–90%", value: "90" },
529
- { label: "90–100%", value: "100" },
520
+ { label: "0–10%", value: "0-10" },
521
+ { label: "10–20%", value: "10-20" },
522
+ { label: "20–30%", value: "20-30" },
523
+ { label: "30–40%", value: "30-40" },
524
+ { label: "40–50%", value: "40-50" },
525
+ { label: "50–60%", value: "50-60" },
526
+ { label: "60–70%", value: "60-70" },
527
+ { label: "70–80%", value: "70-80" },
528
+ { label: "80–90%", value: "80-90" },
529
+ { label: "90–100%", value: "90-100" },
530
530
  ];
531
531
  }
532
532
  else {
@@ -594,16 +594,16 @@ export class EyeTestComponent {
594
594
  this.sortedColumn = "date";
595
595
  if (val !== "store") {
596
596
  this.typePercentageArray = [
597
- { label: "0–10%", value: "10" },
598
- { label: "10–20%", value: "20" },
599
- { label: "20–30%", value: "30" },
600
- { label: "30–40%", value: "40" },
601
- { label: "40–50%", value: "50" },
602
- { label: "50–60%", value: "60" },
603
- { label: "60–70%", value: "70" },
604
- { label: "70–80%", value: "80" },
605
- { label: "80–90%", value: "90" },
606
- { label: "90–100%", value: "100" },
597
+ { label: "0–10%", value: "0-10" },
598
+ { label: "10–20%", value: "10-20" },
599
+ { label: "20–30%", value: "20-30" },
600
+ { label: "30–40%", value: "30-40" },
601
+ { label: "40–50%", value: "40-50" },
602
+ { label: "50–60%", value: "50-60" },
603
+ { label: "60–70%", value: "60-70" },
604
+ { label: "70–80%", value: "70-80" },
605
+ { label: "80–90%", value: "80-90" },
606
+ { label: "90–100%", value: "90-100" },
607
607
  ];
608
608
  }
609
609
  else {
@@ -1457,4 +1457,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1457
1457
  type: ViewChild,
1458
1458
  args: ['videoPlayer', { static: false }]
1459
1459
  }] } });
1460
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXllLXRlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9leWUtdGVzdC1hdWRpdC9leWUtdGVzdC9leWUtdGVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2V5ZS10ZXN0LWF1ZGl0L2V5ZS10ZXN0L2V5ZS10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBR3RILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBR3pCLE9BQU8sRUFBZ0Isb0JBQW9CLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBWSxHQUFHLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTlHLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3JELE1BQU0sT0FBTyxnQkFBZ0I7SUF3RWpCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFBeUI7SUFDekI7SUEvRVYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsQ0FBWTtJQUN2QixpQkFBaUIsR0FBUSxFQUFFLENBQUM7SUFDNUIsWUFBWSxDQUFNO0lBQ2xCLFlBQVksQ0FBTTtJQUNsQixhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixVQUFVLENBQU07SUFDUixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxNQUFNLEdBQVEs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RSxDQUFDO1FBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUFFO1FBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztnQkFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcs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QUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO3dHQTlpRFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsMmJDbEI3QixnOTJIQW1oRFU7OzRGRGpnREcsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7K1VBMnRDTSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDRCxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNzQixXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xyXG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgU3ViamVjdCwgdGFrZVVudGlsLE9ic2VydmFibGUsdGFwLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXllVGVzdEF1ZGl0U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leWUtdGVzdC1hdWRpdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JUb29sdGlwIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1leWUtdGVzdFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZXllLXRlc3QuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2V5ZS10ZXN0LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeWVUZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgZXllVGVzdEZvcm06IEZvcm1Hcm91cDtcclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XHJcbiAgc2VsZWN0ZWREYXRlOiBhbnk7XHJcbiAgaXNDdXN0b21EYXRlOiBhbnk7XHJcbiAgaGVhZGVyRmlsdGVyczogYW55ID0gW107XHJcbiAgQ2x1c3Rlckxpc3Q6IGFueSA9IFtdO1xyXG4gIHN0b3JlczogYW55ID0gW107XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGdyb3VwczogYW55ID0gW107XHJcbiAgc3RvcmVMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIG5vRGF0YSA9IGZhbHNlO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGV5ZVRlc3REYXRhOiBhbnk7XHJcbiAgdHlwZVZhbHVlOiBhbnk7XHJcbiAgdHlwZTogYW55ID0gW1xyXG4gICAgeyB2YWx1ZTogXCJwaHlzaWNhbFwiLCBsYWJlbDogXCJFeWUgVGVzdCBDb21wbGlhbmNlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwicmVtb3RlXCIsIGxhYmVsOiBcIlJlbW90ZSBUZXN0IENvbXBsaWFuY2VcIiB9LFxyXG4gIF07XHJcbiAgYXVkaXRUeXBlOiBhbnkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIkFsbFwiLCB2YWx1ZTogXCJhbGxcIiB9LFxyXG4gICAgeyBsYWJlbDogXCJBZHVsdFwiLCB2YWx1ZTogXCJhZHVsdFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIktpZFwiLCB2YWx1ZTogXCJraWRcIiB9LFxyXG4gIF07XHJcblxyXG4vLyAgIHN0b3JlUGVyY2VudGFnZUFycmF5ID0gW1xyXG4vLyAgIHsgbGFiZWw6IFwiMCVcIiwgdmFsdWU6IDAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjE3JVwiLCB2YWx1ZTogMTcgfSxcclxuLy8gICB7IGxhYmVsOiBcIjMzJVwiLCB2YWx1ZTogMzMgfSxcclxuLy8gICB7IGxhYmVsOiBcIjUwJVwiLCB2YWx1ZTogNTAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjY3JVwiLCB2YWx1ZTogNjcgfSxcclxuLy8gICB7IGxhYmVsOiBcIjgzJVwiLCB2YWx1ZTogODMgfSxcclxuLy8gICB7IGxhYmVsOiBcIjEwMCVcIiwgdmFsdWU6IDEwMCB9LFxyXG4vLyBdO1xyXG5cclxuLy8gb3RoZXJzUGVyY2VudGFnZUFycmF5ID0gW1xyXG4vLyAgIHsgbGFiZWw6IFwiMOKAkzEwJVwiLCB2YWx1ZTogMTAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjEw4oCTMjAlXCIsIHZhbHVlOiAyMCB9LFxyXG4vLyAgIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IDMwIH0sXHJcbi8vICAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogNDAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjQw4oCTNTAlXCIsIHZhbHVlOiA1MCB9LFxyXG4vLyAgIHsgbGFiZWw6IFwiNTDigJM2MCVcIiwgdmFsdWU6IDYwIH0sXHJcbi8vICAgeyBsYWJlbDogXCI2MOKAkzcwJVwiLCB2YWx1ZTogNzAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiA4MCB9LFxyXG4vLyAgIHsgbGFiZWw6IFwiODDigJM5MCVcIiwgdmFsdWU6IDkwIH0sXHJcbi8vICAgeyBsYWJlbDogXCI5MOKAkzEwMCVcIiwgdmFsdWU6IDEwMCB9LFxyXG4vLyBdO1xyXG4gIHR5cGVQZXJjZW50YWdlQXJyYXk6YW55ID0gW107XHJcblxyXG4gIG5lYXJBZGRpdGlvbkFycmF5OiBhbnkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIldpdGggTmVhciBBZGRpdGlvblwiLCB2YWx1ZTogXCJ3aXRoXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiV2l0aG91dCBOZWFyIEFkZGl0aW9uXCIsIHZhbHVlOiBcIndpdGhvdXRcIiB9LFxyXG4gIF07XHJcblxyXG4gIGNhdGVnb3J5QXJyYXk6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgbGFiZWw6IFwiR2VudWluZSBFeWUgVGVzdFwiLFxyXG4gICAgICB2YWx1ZTogXCJnZW51aW5lXCIsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogXCJGYWtlIEV5ZSBUZXN0XCIsIHZhbHVlOiBcImZha2VcIiB9LFxyXG4gIF07XHJcblxyXG4gIGF1ZGl0U3RhdHVzQXJyYXk6YW55ID1bXHJcbiAgICB7IGxhYmVsOiBcIlJlLUF1ZGl0ZWRcIiwgdmFsdWU6IFwiUmUtQXVkaXRlZFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIkF1ZGl0ZWRcIiwgdmFsdWU6IFwiQXVkaXRlZFwiIH0sXHJcbiAgICB7IGxhYmVsIDpcIkluLVByb2dyZXNzXCIsIHZhbHVlOiBcIkluLVByb2dyZXNzXCIgfSxcclxuICAgIHtsYWJlbCA6XCJZZXQtdG8tQXVkaXRcIiwgdmFsdWU6IFwiWWV0LXRvLUF1ZGl0XCIgfVxyXG4gIF1cclxuICBzaG93RXllVGVzdCA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgdHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBleWVTZXJ2aWNlOiBFeWVUZXN0QXVkaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHtcclxuICAgIHRoaXMudHlwZVZhbHVlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldChcInR5cGVWYWx1ZVwiKTtcclxuICB9XHJcbiAgaGVhZERhdGU6IGFueTtcclxuICBoZWFkRGF0ZUVuZDogYW55O1xyXG4gIHVzZXJzOiBhbnk7XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIGNsb3NlRXllVGVzdCgpIHtcclxuICAgIHRoaXMuc2hvd0V5ZVRlc3QgPSBmYWxzZTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBSbUxpc3ROZXc6YW55O1xyXG4gIHN0b3Jlc05ldzphbnk7XHJcbiAgZGF0YUJhY2tHZXQ6YW55O1xyXG4gIGF1ZGl0U3RhdHVzTmV3OmFueTtcclxuICBjb21wbGlhbmNlU2NvcmVBcnJheTphbnk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgdXNlcmluZm8gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwiXCIpO1xyXG4gICAgdGhpcy51c2VycyA9IHVzZXJpbmZvO1xyXG5pZiAodGhpcy51c2VycyAmJiAodGhpcy51c2Vycy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzLnJvbGUgPT09IFwiYWRtaW5cIikpIHtcclxuICB0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIjDigJMxMCVcIiwgdmFsdWU6IFwiMTBcIiB9LFxyXG4gICAgeyBsYWJlbDogXCIxMOKAkzIwJVwiLCB2YWx1ZTogXCIyMFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIjIw4oCTMzAlXCIsIHZhbHVlOiBcIjMwXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiMzDigJM0MCVcIiwgdmFsdWU6IFwiNDBcIiB9LFxyXG4gICAgeyBsYWJlbDogXCI0MOKAkzUwJVwiLCB2YWx1ZTogXCI1MFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIjUw4oCTNjAlXCIsIHZhbHVlOiBcIjYwXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiNjDigJM3MCVcIiwgdmFsdWU6IFwiNzBcIiB9LFxyXG4gICAgeyBsYWJlbDogXCI3MOKAkzgwJVwiLCB2YWx1ZTogXCI4MFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIjgw4oCTOTAlXCIsIHZhbHVlOiBcIjkwXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiOTDigJMxMDAlXCIsIHZhbHVlOiBcIjEwMFwiIH0sXHJcbiAgXTtcclxufSBlbHNlIHtcclxuICB0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIjAlXCIsIHZhbHVlOiBcIjBcIiB9LFxyXG4gICAgeyBsYWJlbDogXCIxNyVcIiwgdmFsdWU6IFwiMTdcIiB9LFxyXG4gICAgeyBsYWJlbDogXCIzMyVcIiwgdmFsdWU6IFwiMzNcIiB9LFxyXG4gICAgeyBsYWJlbDogXCI1MCVcIiwgdmFsdWU6IFwiNTBcIiB9LFxyXG4gICAgeyBsYWJlbDogXCI2NyVcIiwgdmFsdWU6IFwiNjdcIiB9LFxyXG4gICAgeyBsYWJlbDogXCI4MyVcIiwgdmFsdWU6IFwiODNcIiB9LFxyXG4gICAgeyBsYWJlbDogXCIxMDAlXCIsIHZhbHVlOiBcIjEwMFwiIH0sXHJcbiAgXTtcclxufVxyXG5cclxuICAgIGlmICghdGhpcy50eXBlVmFsdWUpIHtcclxuICAgICAgdGhpcy50eXBlVmFsdWUgPSBcInBoeXNpY2FsXCI7XHJcbiAgICB9XHJcbiAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBtID4gdGhpcy5kYXlqcygpO1xyXG4gICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcclxuICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5XCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICB9O1xyXG4gICAgbGV0IGhlYWRlckZpbHRlcnMgPSBKU09OLnBhcnNlKFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwie31cIlxyXG4gICAgKTtcclxuICAgICAgIFxyXG4gICAgaWYgKGhlYWRlckZpbHRlcnM/LmRhdGU/LnN0YXJ0RGF0ZSAmJiBoZWFkZXJGaWx0ZXJzPy5kYXRlPy5lbmREYXRlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKFxyXG4gICAgICAgICAgaGVhZGVyRmlsdGVycy5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgICAgIFwiWVlZWS1NTS1ERFwiXHJcbiAgICAgICAgKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoaGVhZGVyRmlsdGVycy5kYXRlLmVuZERhdGUsIFwiWVlZWS1NTS1ERFwiKS5mb3JtYXQoXHJcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxyXG4gICAgICAgICksXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBwYXJhbXMgJiZcclxuICAgICAgICBwYXJhbXNbXCJmcm9tRGF0ZVwiXSAmJlxyXG4gICAgICAgIHBhcmFtc1tcInRvRGF0ZVwiXSAmJlxyXG4gICAgICAgIHBhcmFtc1tcInR5cGVWYWx1ZVwiXVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnR5cGVWYWx1ZSA9IHBhcmFtc1tcInR5cGVWYWx1ZVwiXSA/IHBhcmFtc1tcInR5cGVWYWx1ZVwiXSA6IFwicGh5c2ljYWxcIjtcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKFxyXG4gICAgICAgICAgcGFyYW1zW1wiZnJvbURhdGVcIl0sXHJcbiAgICAgICAgICBcIllZWVktTU0tRERcIlxyXG4gICAgICAgICkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKFxyXG4gICAgICAgICAgcGFyYW1zW1widG9EYXRlXCJdLFxyXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcclxuICAgICAgICApLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5kYXlqcyhcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICBcIkRELU1NLVlZWVlcIlxyXG4gICAgICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5kYXlqcyhcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsXHJcbiAgICAgICAgICAgICAgXCJERC1NTS1ZWVlZXCJcclxuICAgICAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICB0eXBlVmFsdWU6IHRoaXMudHlwZVZhbHVlID8gdGhpcy50eXBlVmFsdWUgOiBcInBoeXNpY2FsXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGxldCBkYXRlVGltZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5oZWFkRGF0ZSA9IHRoaXMuZGF5anMoZGF0ZVRpbWUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJNTU0sIEREXCIpO1xyXG4gICAgdGhpcy5oZWFkRGF0ZUVuZCA9IHRoaXMuZGF5anMoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSxcclxuICAgICAgXCJERC1NTS1ZWVlZXCJcclxuICAgICkuZm9ybWF0KFwiTU1NIERELCBZWVlZXCIpO1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlR5cGVcIik/LnNldFZhbHVlKHRoaXMudHlwZVZhbHVlKTtcclxuICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSk7XHJcbiAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiYXVkaXRTdGF0dXNcIik/LnNldFZhbHVlKHRoaXMuYXVkaXRTdGF0dXNBcnJheSk7XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gbGV0IGRhdGEgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJcIilcclxuICAgICAgICBpZiAoZGF0YT8uY2xpZW50KSB7XHJcbiAgICAgICAgICB0aGlzLmhlYWRlckZpbHRlcnMgPSBkYXRhO1xyXG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50KSB7XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsUm0xKClcclxuICAgIC5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxHcm91cHMxKCkpLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxTdG9yZXMxKCkpXHJcbiAgICApXHJcbiAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIC8vIEFsbCBkb25lIOKchVxyXG4gICAgICAgIHRoaXMub25TdWJtaXQoKTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGxvYWRpbmcgZGF0YTpcIiwgZXJyKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAvLyB9LCAxMCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy51c2VycyAmJiB0aGlzLnVzZXJzPy5jbGllbnRJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQgPSB0aGlzLnVzZXJzLmNsaWVudElkO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsUm0xKClcclxuICAgIC5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxHcm91cHMxKCkpLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxTdG9yZXMxKCkpXHJcbiAgICApXHJcbiAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIC8vIEFsbCBkb25lIOKchVxyXG4gICAgICAgIHRoaXMub25TdWJtaXQoKTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGxvYWRpbmcgZGF0YTpcIiwgZXJyKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIC8vIH0sIDEwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0QWJzVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHZhbHVlICE9IG51bGwgPyBNYXRoLmFicyh2YWx1ZSkgOiAwO1xyXG4gIH1cclxuICAvLyBjbHVzdGVycyBvbGQgYXBpIHJlbW92ZWRcclxuICAvLyBnZXRBbGxHcm91cHMoKSB7XHJcbiAgLy8gICB0aGlzLnRyYXhTZXJ2aWNlLmdldGNsdXN0ZXJzKHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LCBncm91cDogW10sIGNpdHk6IFtdIH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gIC8vICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gIC8vICAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IHJlcy5kYXRhLmdyb3VwRGF0YVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gW11cclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG4gIGxvYWRpbmcxID0gdHJ1ZTtcclxuICAvLyBjbHVzdGVycyBuZXcgYXBpXHJcbiAgZ2V0QWxsR3JvdXBzMShldmVudD86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgXHJcbiAgICBsZXQgcm1MaXN0OiBhbnkgPSBbXTtcclxuICAgIHRoaXMuQ2x1c3Rlckxpc3QgPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSkge1xyXG4gICAgICB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5mb3JFYWNoKChlbDogYW55KSA9PiB7XHJcbiAgICAgICAgcm1MaXN0LnB1c2goZWw/LmVtYWlsKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBldmVudD8ubWFwKChlbDogYW55KSA9PiBlbD8uZW1haWwpIHx8IFt0aGlzLnVzZXJzPy5lbWFpbF07XHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCA/IHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQgOiBcIlwiLFxyXG4gICAgICBybUxpc3Q6IHJtTGlzdC5sZW5ndGggPiAwID8gcm1MaXN0IDogW3RoaXMudXNlcnM/LmVtYWlsXSxcclxuICAgIH07XHJcbiAgIHJldHVybiB0aGlzLmV5ZVNlcnZpY2UuZ2V0Q2x1c3RlcnMob2JqKS5waXBlKFxyXG4gICAgdGFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiQ2x1c3Rlckxpc3RcIik/LnNldFZhbHVlKHRoaXMuQ2x1c3Rlckxpc3QpO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBzID0gdGhpcy5DbHVzdGVyTGlzdC5tYXAoKGVsOiBhbnkpID0+IGVsLmNsdXN0ZXJOYW1lKTtcclxuICAgICAgICAvLyBOb3RlOiBEbyBOT1QgY2FsbCBnZXRBbGxTdG9yZXMoKSBoZXJlOyBjaGFpbiBpdCBvdXRzaWRlXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZzEgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pXHJcbiAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBjbGllbnREZXRhaWxzKCkge1xyXG4gIC8vICAgdGhpcy50cmF4U2VydmljZS5nZXRjbGllbnQoeyBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCB9KS5zdWJzY3JpYmUoe1xyXG4gIC8vICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gIC8vICAgICAgICAgdGhpcy5jbGllbnREYXRhID0gcmVzLmRhdGEucmVzdWx0XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuXHJcbiBnZXRBbGxTdG9yZXMxKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgcmV0dXJuIHRoaXMudHJheFNlcnZpY2VcclxuICAgIC5nZXRTdG9yZXNsaXN0KHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgICBjbHVzdGVyczogdGhpcy5ncm91cHMsXHJcbiAgICAgIGNpdHk6IFtdLFxyXG4gICAgfSlcclxuICAgIC5waXBlKFxyXG4gICAgICB0YXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IHJlcy5kYXRhLnN0b3Jlc0RhdGE7XHJcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcInN0b3JlTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5zdG9yZUxpc3QpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nMSA9ZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gW107XHJcbiAgICAgICAgICAgdGhpcy5sb2FkaW5nMSA9ZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICk7XHJcbn1cclxuXHJcbiAgdHlwZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlR5cGVcIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdFwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIGZyb21EYXRlOiB0aGlzLmRheWpzKFxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsXHJcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxyXG4gICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICB0b0RhdGU6IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFxyXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcclxuICAgICAgICApLFxyXG4gICAgICAgIHR5cGVWYWx1ZTogZXZlbnQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBhdWRpdFR5cGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJhdWRpdFR5cGVcIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHlwZVBlcmNlbnRhZ2VDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICB0eXBlQXVkaXRTdGF0dXNDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJhdWRpdFN0YXR1c1wiKT8uc2V0VmFsdWUoZXZlbnQpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIG5lYXJBZGRpdGlvbkNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIm5lYXJBZGRpdGlvblwiKT8uc2V0VmFsdWUoZXZlbnQpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGNhdGVnb3J5VHlwZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNhdGVnb3J5XCIpPy5zZXRWYWx1ZShldmVudCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiZcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoXHJcbiAgICAgICAgICBldmVudC5zdGFydERhdGUsXHJcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxyXG4gICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKFxyXG4gICAgICAgICAgZXZlbnQuZW5kRGF0ZSxcclxuICAgICAgICAgIFwiREQtTU0tWVlZWVwiXHJcbiAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xyXG5cclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtXHJcbiAgICAgICAgICAuZ2V0KFwiZnJvbURhdGVcIilcclxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUpO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlICYmXHJcbiAgICAgICAgICB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlKS5pc1ZhbGlkKClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuaGVhZERhdGUgPSB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlKS5mb3JtYXQoXHJcbiAgICAgICAgICAgIFwiTU1NLCBERFwiXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtXHJcbiAgICAgICAgICAuZ2V0KFwidG9EYXRlXCIpXHJcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlICYmXHJcbiAgICAgICAgICB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSkuaXNWYWxpZCgpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmhlYWREYXRlRW5kID0gdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUpLmZvcm1hdChcclxuICAgICAgICAgICAgXCJNTU0gREQsIFlZWVlcIlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgICAgICBmcm9tRGF0ZTogdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsXHJcbiAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLFxyXG4gICAgICAgICAgICB0eXBlVmFsdWU6IHRoaXMudHlwZVZhbHVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9XHJcbiAgICAgICAgICBtID4gdGhpcy5kYXlqcygpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoNjAsIFwiZGF5c1wiKSk7XHJcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRWYWxpZGF0aW9uKCkge1xyXG4gICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcclxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGdpdmVuIGRhdGUgaXMgYmVmb3JlIHllc3RlcmRheVxyXG4gICAgICByZXR1cm4gbS5pc0FmdGVyKHRoaXMuZGF5anMoKSwgXCJkYXlcIikgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRUeXBlOiBhbnk7XHJcbiAgY3JlYXRlRm9ybSgpIHtcclxuICAgIGNvbnN0IGlzUmVtb3RlID0gdGhpcy5zZWxlY3RlZFR5cGUgPT09IFwicGh5c2ljYWxcIjsgLy8gb3IgaG93ZXZlciB5b3UncmUgZGV0ZXJtaW5pbmcgaXRcclxuXHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGZyb21EYXRlOiBbXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uc3RhcnREYXRlXHJcbiAgICAgICAgPyB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxyXG4gICAgICAgIDogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5XCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgIF0sXHJcbiAgICAgIHRvRGF0ZTogW1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LmVuZERhdGVcclxuICAgICAgICA/IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxyXG4gICAgICAgIDogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5XCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgIF0sXHJcbiAgICAgIHR5cGU6IHRoaXMudHlwZVZhbHVlLFxyXG4gICAgICBjb21wbGlhbmNlU2NvcmU6IFt0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXldLFxyXG4gICAgICAuLi4oaXNSZW1vdGUgPyB7fSA6IHsgY2F0ZWdvcnk6IFtcImdlbnVpbmVcIl0gfSksXHJcbiAgICAgIG5lYXJBZGRpdGlvbjogW1wiXCJdLFxyXG4gICAgICBhdWRpdFN0YXR1czogW3RoaXMuYXVkaXRTdGF0dXNBcnJheV0sXHJcbiAgICAgIENsdXN0ZXJMaXN0OiBbdGhpcy5ncm91cHNdLFxyXG4gICAgICBzdG9yZUxpc3Q6IFt0aGlzLnN0b3Jlc10sXHJcbiAgICAgIFJtTGlzdDogW3RoaXMuUm1MaXN0XSxcclxuICAgICAgLi4uKGlzUmVtb3RlID8ge30gOiB7IGF1ZGl0VHlwZTogXCJhbGxcIiB9KSwgLy8gQ29uZGl0aW9uYWxseSBhZGQgYXVkaXRUeXBlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uZ3JvdXBTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nMSA9IHRydWU7XHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShldmVudCk7XHJcbiAgICB0aGlzLmdyb3VwcyA9IGV2ZW50Lm1hcCgoZWw6IGFueSkgPT4gZWwuY2x1c3Rlck5hbWUpO1xyXG4gICAgdGhpcy50cmF4U2VydmljZVxyXG4gICAgICAuZ2V0U3RvcmVzbGlzdCh7XHJcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICAgY2x1c3RlcnM6IHRoaXMuZ3JvdXBzLFxyXG4gICAgICAgIGNpdHk6IFtdLFxyXG4gICAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gcmVzLmRhdGEuc3RvcmVzRGF0YTtcclxuICAgICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKHRoaXMuc3RvcmVMaXN0KTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nMSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZzEgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25TdG9yZVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcInN0b3JlTGlzdFwiKT8uc2V0VmFsdWUoZXZlbnQpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHNlYXJjaFZhbHVlOiBhbnkgPSBcIlwiO1xyXG4gIHNlYXJjaERhdGEoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMub25TdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIHBhZ2luYXRpb25TaXplczogYW55W10gPSBbXTtcclxuICBwYWdlU2l6ZSA9IDEwO1xyXG4gIHNldFBhZ2luYXRpb25TaXplcygpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiAxMCkge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107IC8vIEp1c3Qgb25lIG9wdGlvbiBpZiAgMTBcclxuICAgIH1cclxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhZ2luYXRpb25TaXplc1swXTtcclxuICB9XHJcbiAgUm1MaXN0RGF0YTogYW55ID0gW107XHJcbiAga2V5VHlwZTogYW55O1xyXG4gIHJtRW1haWw6IGFueTtcclxuICAvLyB0eXBlVmFsKHZhbDogYW55LCBvYmo/OiBhbnkpIHtcclxuICAvLyAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgLy8gICB0aGlzLnNlYXJjaFZhbHVlID0gXCJcIjtcclxuICAvLyAgIHRoaXMubGltaXQgPSAxMDtcclxuICAvLyAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAvLyAgIHRoaXMucGFnZVNpemUgPSAxMDtcclxuICAvLyAgIHRoaXMua2V5VHlwZSA9IHZhbDtcclxuICAvLyAgIHRoaXMucm1FbWFpbCA9IG9iaj8uUk1FbWFpbCA/IG9iaj8uUk1FbWFpbCA6IG9iajtcclxuICAvLyAgIC8vIPCflI0gZmluZCB0aGUgUk0gb2JqZWN0IGluIHlvdXIgUm1MaXN0IGFycmF5XHJcbiAgLy8gICAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcclxuICAvLyAgIHRoaXMuUm1MaXN0Py5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAvLyAgICAgaWYgKGVsZW1lbnQ/LmVtYWlsID09PSB0aGlzLnJtRW1haWwpIHtcclxuICAvLyAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcclxuICAvLyAgICAgICB0aGlzLm9uUm1TZWxlY3QoW2VsZW1lbnRdKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG4gIC8vICAgdGhpcy5ncm91cHMgPSBvYmo/LmNsdXN0ZXJOYW1lID8gW29iaj8uY2x1c3Rlck5hbWVdIDogdGhpcy5ncm91cHM7XHJcbiAgLy8gICAgaWYgKFxyXG4gIC8vICAgICB0aGlzLnVzZXJzPy5yb2xlID09PSBcImFkbWluXCIgJiZcclxuICAvLyAgICAgdGhpcy5DbHVzdGVyTGlzdD8ubGVuZ3RoICYmXHJcbiAgLy8gICAgIG9iaj8uY2x1c3Rlck5hbWVcclxuICAvLyAgICkge1xyXG4gIC8vICAgdGhpcy5DbHVzdGVyTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAvLyAgICAgaWYgKGVsZW1lbnQ/LmNsdXN0ZXJOYW1lID09PSB0aGlzLmdyb3Vwcykge1xyXG4gIC8vICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiQ2x1c3Rlckxpc3RcIik/LnNldFZhbHVlKFtlbGVtZW50XSk7XHJcbiAgLy8gICAgICAgdGhpcy5vbmdyb3VwU2VsZWN0KFtlbGVtZW50XSk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuICAvLyAgIHRoaXMuc29ydGVkQ29sdW1uID0gXCJkYXRlXCI7XHJcbiAgLy8gICBpZiAodGhpcy5ybUVtYWlsID09PSBcIlwiKSB0aGlzLm9uU3VibWl0KCk7XHJcbiAgLy8gfVxyXG4gIGRlbW9HcmFwaWNzOmFueTtcclxuICB0eXBlVmFsKHZhbDogYW55LCBvYmo/OiBhbnkpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKHZhbCwgb2JqKTtcclxuICAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID1bXTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gXCJcIjtcclxuICAgIHRoaXMubGltaXQgPSAxMDtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMucGFnZVNpemUgPSAxMDtcclxuICAgIHRoaXMua2V5VHlwZSA9IHZhbDtcclxuICAgIHRoaXMuc29ydGVkQ29sdW1uID0gXCJkYXRlXCI7XHJcbnRoaXMuZGVtb0dyYXBpY3MgPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0VHlwZTtcclxuaWYgKHRoaXMuZGVtb0dyYXBpY3MgPT09IFwiYWxsXCIpIHtcclxuICB0aGlzLmRlbW9HcmFwaWNzID0gW1wiYWR1bHRcIiwgXCJraWRcIl07XHJcbn1cclxuICAgIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB0aGlzLlJtTGlzdD8ubGVuZ3RoKVxyXG4gICAgICB0aGlzLnJtRW1haWwgPSBvYmo/LlJNRW1haWwgPyBvYmo/LlJNRW1haWwgOiBvYmo7XHJcbiAgICBcclxuICAgIHRoaXMuZ3JvdXBzID0gb2JqPy5jbHVzdGVyTmFtZSA/IFtvYmo/LmNsdXN0ZXJOYW1lXSA6IHRoaXMuZ3JvdXBzO1xyXG4gICAgXHJcbiAgICBsZXQgZm91bmRSTSA9IGZhbHNlO1xyXG4gICAgbGV0IGZvdW5kQ2x1c3RlciA9IGZhbHNlO1xyXG4gICAgaWYodmFsICE9PVwic3RvcmVcIil7XHJcbnRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSA9IFtcclxuICB7IGxhYmVsOiBcIjDigJMxMCVcIiwgdmFsdWU6IFwiMTBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiMTDigJMyMCVcIiwgdmFsdWU6IFwiMjBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IFwiMzBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiMzDigJM0MCVcIiwgdmFsdWU6IFwiNDBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiNDDigJM1MCVcIiwgdmFsdWU6IFwiNTBcIn0sXHJcbiAgeyBsYWJlbDogXCI1MOKAkzYwJVwiLCB2YWx1ZTogXCI2MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI2MOKAkzcwJVwiLCB2YWx1ZTogXCI3MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI3MOKAkzgwJVwiLCB2YWx1ZTogXCI4MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI4MOKAkzkwJVwiLCB2YWx1ZTogXCI5MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI5MOKAkzEwMCVcIiwgdmFsdWU6IFwiMTAwXCIgfSxcclxuXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSA9IFtcclxuICAgICAgICB7IGxhYmVsOiBcIjAlXCIsIHZhbHVlOiBcIjBcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiMTclXCIsIHZhbHVlOiBcIjE3XCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjMzJVwiLCB2YWx1ZTogXCIzM1wiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCI1MCVcIiwgdmFsdWU6IFwiNTBcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiNjclXCIsIHZhbHVlOiBcIjY3XCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjgzJVwiLCB2YWx1ZTogXCI4M1wiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCIxMDAlXCIsIHZhbHVlOiBcIjEwMFwiIH0sXHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSk7XHJcbiAgICBpZigodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgfHwgdGhpcy51c2Vycz8ucm9sZSA9PT0gXCJhZG1pblwiKSAmJiB2YWwgPT09XCJzdG9yZVwiICYmXHJcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdD8ubGVuZ3RoICYmXHJcbiAgICAgICAgb2JqPy5jbHVzdGVyTmFtZVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0LmZvckVhY2goXHJcbiAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGlmKGVsZW1lbnQ/LmNsdXN0ZXJOYW1lID09PSBvYmouY2x1c3Rlck5hbWUpe1xyXG4gICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcclxuICAgICAgICAgIHRoaXMub25ncm91cFNlbGVjdChbZWxlbWVudF0pO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcclxuICAgICAgICAgIGZvdW5kQ2x1c3RlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIGlmKCh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzPy5yb2xlID09PSBcImFkbWluXCIpICYmIHZhbCA9PT1cImNsdXN0ZXJcIiAmJlxyXG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3Q/Lmxlbmd0aCAmJlxyXG4gICAgICAgIG9iaj8uY2x1c3Rlck5hbWVcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdC5mb3JFYWNoKFxyXG4gICAgICAgICAgKGVsZW1lbnQ6IGFueSkgPT4gXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZihlbGVtZW50Py5jbHVzdGVyTmFtZSA9PT0gb2JqLmNsdXN0ZXJOYW1lKXtcclxuICAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiQ2x1c3Rlckxpc3RcIik/LnNldFZhbHVlKFtlbGVtZW50XSk7XHJcbiAgICAgICAgICB0aGlzLm9uZ3JvdXBTZWxlY3QoW2VsZW1lbnRdKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nMSA9IHRydWU7XHJcbiAgICAgICAgICBmb3VuZENsdXN0ZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvLyDinIUgUk0gc2VsZWN0aW9uIChvbmx5IGZvciBzdXBlcmFkbWluKVxyXG4gICAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHZhbCA9PT1cImNsdXN0ZXJcIiAmJiB0aGlzLlJtTGlzdD8ubGVuZ3RoKSB7XHJcbiAgICAgdGhpcy5SbUxpc3QuZm9yRWFjaChcclxuICAgICAgICAoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZihlbGVtZW50Py5lbWFpbCA9PT0gdGhpcy5ybUVtYWlsKSB7XHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtlbGVtZW50XSk7XHJcbiAgICAgICAgdGhpcy5vblJtU2VsZWN0KFtlbGVtZW50XSk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcclxuICAgICAgICBmb3VuZFJNID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvLyDinIUgQ2x1c3RlciBzZWxlY3Rpb24gKG9ubHkgZm9yIGFkbWluKVxyXG5cclxuICAgIC8vIOKchSBTdWJtaXQgZmFsbGJhY2tcclxuICAgIGlmICghZm91bmRSTSAmJiAhZm91bmRDbHVzdGVyKSB7XHJcbiAgICB0aGlzLmdldEFsbFN0b3JlcygpO1xyXG4gICAgfVxyXG4gICBcclxuICAgICAgICAgICAgICAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgICAgICAgXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbnR5cGVWYWwxKHZhbDogYW55LCBvYmo/OiBhbnkpIHtcclxuICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gIHRoaXMuc2VhcmNoVmFsdWUgPSBcIlwiO1xyXG4gIHRoaXMubGltaXQgPSAxMDtcclxuICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgdGhpcy5wYWdlU2l6ZSA9IDEwO1xyXG4gIHRoaXMua2V5VHlwZSA9IHZhbDtcclxuICB0aGlzLnNvcnRlZENvbHVtbiA9IFwiZGF0ZVwiO1xyXG4gICBpZih2YWwgIT09XCJzdG9yZVwiKXtcclxudGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID0gW1xyXG4gIHsgbGFiZWw6IFwiMOKAkzEwJVwiLCB2YWx1ZTogXCIxMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIxMOKAkzIwJVwiLCB2YWx1ZTogXCIyMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIyMOKAkzMwJVwiLCB2YWx1ZTogXCIzMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogXCI0MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI0MOKAkzUwJVwiLCB2YWx1ZTogXCI1MFwifSxcclxuICB7IGxhYmVsOiBcIjUw4oCTNjAlXCIsIHZhbHVlOiBcIjYwXCIgfSxcclxuICB7IGxhYmVsOiBcIjYw4oCTNzAlXCIsIHZhbHVlOiBcIjcwXCIgfSxcclxuICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiBcIjgwXCIgfSxcclxuICB7IGxhYmVsOiBcIjgw4oCTOTAlXCIsIHZhbHVlOiBcIjkwXCIgfSxcclxuICB7IGxhYmVsOiBcIjkw4oCTMTAwJVwiLCB2YWx1ZTogXCIxMDBcIiB9LFxyXG5dO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID0gW1xyXG4gICAgICAgIHsgbGFiZWw6IFwiMCVcIiwgdmFsdWU6IFwiMFwiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCIxNyVcIiwgdmFsdWU6IFwiMTdcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiMzMlXCIsIHZhbHVlOiBcIjMzXCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjUwJVwiLCB2YWx1ZTogXCI1MFwiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCI2NyVcIiwgdmFsdWU6IFwiNjdcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiODMlXCIsIHZhbHVlOiBcIjgzXCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjEwMCVcIiwgdmFsdWU6IFwiMTAwXCIgfSxcclxuICAgICAgXTtcclxuICAgIH1cclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNvbXBsaWFuY2VTY29yZVwiKT8uc2V0VmFsdWUodGhpcy50eXBlUGVyY2VudGFnZUFycmF5KTtcclxuICBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgJiYgdGhpcy5SbUxpc3Q/Lmxlbmd0aCkge1xyXG4gICAgdGhpcy5ybUVtYWlsID0gb2JqPy5STUVtYWlsID8gb2JqPy5STUVtYWlsIDogb2JqO1xyXG4gIH1cclxuXHJcbiAgLy8gdGhpcy5ncm91cHMgPSBvYmo/LmNsdXN0ZXJOYW1lID8gW29iaj8uY2x1c3Rlck5hbWVdIDogdGhpcy5ncm91cHM7XHJcblxyXG4gIHRoaXMuZGVtb0dyYXBpY3MgPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0VHlwZTtcclxuICBpZiAodGhpcy5kZW1vR3JhcGljcyA9PT0gXCJhbGxcIikge1xyXG4gICAgdGhpcy5kZW1vR3JhcGljcyA9IFtcImFkdWx0XCIsIFwia2lkXCJdO1xyXG4gIH1cclxuICB0aGlzLmV5ZVRlc3REYXRhID0gW107XHJcbiAgbGV0IGZvdW5kUk0gPSBmYWxzZTtcclxuICBsZXQgZm91bmRDbHVzdGVyID0gZmFsc2U7XHJcblxyXG4gIC8vIOKchSBDbHVzdGVyIC8gU3RvcmVcclxuICBpZiAoKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiIHx8IHRoaXMudXNlcnM/LnJvbGUgPT09IFwiYWRtaW5cIikgJiZcclxuICAgICAgKHZhbCA9PT0gXCJzdG9yZVwiIHx8IHZhbCA9PT0gXCJjbHVzdGVyXCIpKSB7XHJcbiAgICAgdGhpcy5nZXRBbGxHcm91cHMoKTtcclxuICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xyXG4gICAgZm91bmRDbHVzdGVyID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIOKchSBSTSAob25seSBmb3Igc3VwZXJhZG1pbilcclxuICBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgJiYgdmFsID09PSBcInJtXCIpIHtcclxuICAgdGhpcy5nZXRBbGxSbSgpO1xyXG4gICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xyXG4gICAgZm91bmRSTSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyDinIUgRmFsbGJhY2tcclxuICBpZiAoIWZvdW5kUk0gJiYgIWZvdW5kQ2x1c3Rlcikge1xyXG4gICAgdGhpcy5nZXRBbGxTdG9yZXMoKTtcclxuICB9XHJcbiAgXHJcbiAgICAgICAgICAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xyXG4gICAgICAgICAgXHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbn1cclxuLy8gcHJpdmF0ZSByZXNldEFsbENsdXN0ZXJzKCkge1xyXG4vLyAgIGlmICh0aGlzLkNsdXN0ZXJMaXN0Py5sZW5ndGgpIHtcclxuLy8gICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiQ2x1c3Rlckxpc3RcIik/LnNldFZhbHVlKHRoaXMuQ2x1c3Rlckxpc3QpO1xyXG4vLyAgICAgdGhpcy5vbmdyb3VwU2VsZWN0KHRoaXMuQ2x1c3Rlckxpc3QpO1xyXG4vLyAgIH0gZWxzZSB7XHJcbi8vICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShbXSk7XHJcbi8vICAgfVxyXG4vLyAgIHRoaXMuZ2V0QWxsR3JvdXBzKCk7XHJcbi8vIH1cclxuXHJcbi8vIHByaXZhdGUgcmVzZXRBbGxSbXMoKSB7XHJcbi8vICAgaWYgKHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcclxuLy8gICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLlJtTGlzdCk7XHJcbi8vICAgICB0aGlzLm9uUm1TZWxlY3QodGhpcy5SbUxpc3QpO1xyXG4vLyAgIH0gZWxzZSB7XHJcbi8vICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW10pO1xyXG4vLyAgIH1cclxuLy8gICB0aGlzLmdldEFsbFJtKCk7XHJcbi8vIH1cclxuXHJcblxyXG5idWlsZFJlcXVlc3REYXRhKHBhcmFtcz86IHtcclxuICBpc0V4cG9ydD86IGJvb2xlYW47XHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbiAgb2Zmc2V0PzogbnVtYmVyO1xyXG59KTogYW55IHtcclxuICAvLyBNYXAgcm9sZSDihpIga2V5VHlwZVxyXG4gIGNvbnN0IHJvbGVLZXlUeXBlTWFwOiBhbnkgPSB7XHJcbiAgICBzdXBlcmFkbWluOiBcInJtXCIsXHJcbiAgICBhZG1pbjogXCJjbHVzdGVyXCIsXHJcbiAgICB1c2VyOiBcInN0b3JlXCIsXHJcbiAgfTtcclxuICBpZiAoIXRoaXMua2V5VHlwZSkge1xyXG4gICAgdGhpcy5rZXlUeXBlID0gcm9sZUtleVR5cGVNYXBbdGhpcy51c2Vycz8ucm9sZV0gfHwgXCJzdG9yZVwiO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29sbGVjdCBzdG9yZSBJRHNcclxuICBjb25zdCBmaW5hbFN0b3JlcyA9IEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QpXHJcbiAgICA/IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0Lm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgIDogW107XHJcblxyXG4gIC8vIENvbGxlY3QgUk0gZW1haWxzXHJcbiAgbGV0IGZpbmFsUk1MaXN0OiBzdHJpbmdbXSA9IFtdO1xyXG4gIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSAmJiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5sZW5ndGgpIHtcclxuICAgIGZpbmFsUk1MaXN0ID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QubWFwKChlbDogYW55KSA9PiBlbD8uZW1haWwpO1xyXG4gIH0gZWxzZSBpZiAodGhpcy5ybUVtYWlsKSB7XHJcbiAgICBmaW5hbFJNTGlzdCA9IFt0aGlzLnJtRW1haWxdO1xyXG4gIH0gZWxzZSBpZiAodGhpcy51c2Vycz8uZW1haWwpIHtcclxuICAgIGZpbmFsUk1MaXN0ID0gW3RoaXMudXNlcnMuZW1haWxdO1xyXG4gIH1cclxudGhpcy5SbUxpc3REYXRhID0gZmluYWxSTUxpc3Q/Lmxlbmd0aCA/IGZpbmFsUk1MaXN0Py5sZW5ndGggOiBbXTtcclxuICAvLyBIYW5kbGUgYXVkaXRUeXBlIOKGkiBub3JtYWxpemUgdG8gYXJyYXlcclxuICBjb25zdCBhdWRpdFR5cGVWYWx1ZSA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRUeXBlO1xyXG4gIGxldCBhdWRpdFR5cGVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGlmIChhdWRpdFR5cGVWYWx1ZSA9PT0gXCJhbGxcIikge1xyXG4gICAgYXVkaXRUeXBlcyA9IFtcImFkdWx0XCIsIFwia2lkXCJdO1xyXG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhdWRpdFR5cGVWYWx1ZSkpIHtcclxuICAgIGF1ZGl0VHlwZXMgPSBhdWRpdFR5cGVWYWx1ZTtcclxuICB9IGVsc2UgaWYgKGF1ZGl0VHlwZVZhbHVlKSB7XHJcbiAgICBhdWRpdFR5cGVzID0gW2F1ZGl0VHlwZVZhbHVlXTtcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsXHJcbiAgICBmcm9tRGF0ZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5mcm9tRGF0ZSxcclxuICAgIHRvRGF0ZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50b0RhdGUsXHJcbiAgICB0eXBlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUsXHJcblxyXG4gICAgLy8gZGVtb2dyYXBoaWNzIG9ubHkgaWYgdHlwZSAhPT0gcmVtb3RlXHJcbiAgICAuLi4odGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlICE9PSBcInJlbW90ZVwiICYmIHsgZGVtb2dyYXBoaWNzOiBhdWRpdFR5cGVzIH0pLFxyXG5cclxuICAgIGNsdXN0ZXI6IHRoaXMuZ3JvdXBzLFxyXG4gICAgc3RvcmVJZDogZmluYWxTdG9yZXMsXHJcblxyXG4gICAgbGltaXQ6IHBhcmFtcz8ubGltaXQgPz8gdGhpcy5saW1pdCA/PyAxMCxcclxuICAgIG9mZnNldDogcGFyYW1zPy5vZmZzZXQgPz8gdGhpcy5vZmZzZXQgPz8gMSxcclxuICAgIGtleVR5cGU6IHRoaXMua2V5VHlwZSxcclxuXHJcbiAgICBjb21wbGlhbmNlU2NvcmU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuY29tcGxpYW5jZVNjb3JlPy5sZW5ndGggPyAodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5jb21wbGlhbmNlU2NvcmUubWFwKChlbDogYW55KSA9PiBlbC52YWx1ZSkpOiBbXSxcclxuICAgXHJcbiAgICBhdWRpdFN0YXR1czogIHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRTdGF0dXM/Lmxlbmd0aFxyXG4gICAgICA/IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRTdGF0dXMubWFwKChlbDogYW55KSA9PiBlbC52YWx1ZSlcclxuICAgICAgOiBbXSxcclxuICAgIG5lYXJBZGRpdGlvbjogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5uZWFyQWRkaXRpb24gfHwgXCJcIixcclxuXHJcbiAgICAuLi4odGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlICE9PSBcInJlbW90ZVwiICYmIHtcclxuICAgICAgY2F0ZWdvcnk6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuY2F0ZWdvcnksXHJcbiAgICB9KSxcclxuXHJcbiAgICBSTUxpc3Q6IGZpbmFsUk1MaXN0LFxyXG4gICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUgfHwgXCJcIixcclxuICAgIGlzRXhwb3J0OiBwYXJhbXM/LmlzRXhwb3J0ID8/IGZhbHNlLFxyXG4gICAgc29ydE9yZGVyOiB0aGlzLnNvcnRPcmRlciA/PyAtMSxcclxuICAgIHNvcnRCeTogdGhpcy5zb3J0ZWRDb2x1bW4gPz8gXCJkYXRlXCIsXHJcbiAgfTtcclxufVxyXG5cclxuXHJcblxyXG4gIGV4cG9ydFhMU1goKSB7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHRoaXMuYnVpbGRSZXF1ZXN0RGF0YSh7XHJcbiAgICAgIGlzRXhwb3J0OiB0cnVlLFxyXG4gICAgICBsaW1pdDogMTAwMDAsXHJcbiAgICAgIG9mZnNldDogMSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZXllU2VydmljZVxyXG4gICAgICAuZ2V0RXllVGVzdFRhYmxlRXhwb3J0KHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leWVTZXJ2aWNlLnNhdmVBc0V4Y2VsRmlsZShcclxuICAgICAgICAgICAgcmVzLFxyXG4gICAgICAgICAgICBgJHt0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGV9IEV5ZSBUZXN0IFRhYmxlIGBcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcclxuICAgICAgICAgICAgZXJyPy5lcnJvcj8uZXJyb3IgPyBlcnI/LmVycm9yPy5lcnJvciA6IGVycj8uZXJyb3I/Lm1lc3NhZ2VcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB0b3RhbEl0ZW1zOiBhbnkgPSAwO1xyXG4gIG9mZnNldCA9IDE7XHJcbiAgbGltaXQgPSAxMDtcclxuICBkYXRhUmVzdWx0OmFueTtcclxuICBvblN1Ym1pdCgpIHtcclxuICAgXHJcbiAgICB0aGlzLmV5ZVRlc3REYXRhPVtdO1xyXG4gICAgdGhpcy50eXBlVmFsdWUgPSB0aGlzLmV5ZVRlc3RGb3JtPy52YWx1ZT8udHlwZTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB0aGlzLmJ1aWxkUmVxdWVzdERhdGEoeyBpc0V4cG9ydDogZmFsc2UgfSk7XHJcbiAgIHRoaXMuZGF0YVJlc3VsdCA9IHJlcXVlc3REYXRhXHJcbiAgICB0aGlzLmV5ZVNlcnZpY2VcclxuICAgICAgLmdldEV5ZVRlc3RsaXN0KHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IHJlcz8uZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy5jb3VudDtcclxuICAgICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSgpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICAgICAgICB9LDEwMDApXHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICAvLyB0aGlzLmxpbWl0ID0gMTA7XHJcbiAgICAvLyB0aGlzLnBhZ2VTaXplID0gMTA7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0gdGhpcy5idWlsZFJlcXVlc3REYXRhKHtcclxuICAgICAgaXNFeHBvcnQ6IGZhbHNlLFxyXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcclxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcclxuICAgIH0pO1xyXG4gICAgLy8gY29uc29sZS5sb2cocmVxdWVzdERhdGEpXHJcbi8vIHJldHVyblxyXG4gICAgdGhpcy5leWVTZXJ2aWNlXHJcbiAgICAgIC5nZXRFeWVUZXN0bGlzdChyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gcmVzPy5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzLmRhdGE/LmNvdW50O1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0gdGhpcy5idWlsZFJlcXVlc3REYXRhKHtcclxuICAgICAgaXNFeHBvcnQ6IGZhbHNlLFxyXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcclxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZXllU2VydmljZVxyXG4gICAgICAuZ2V0RXllVGVzdGxpc3QocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IHJlcz8uZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy5jb3VudDtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzb3J0ZWRDb2x1bW46IGFueTtcclxuICBzb3J0T3JkZXI6IGFueTtcclxuICBvblNvcnQoY29sdW1uOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLnNvcnRlZENvbHVtbiA9PT0gY29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gdGhpcy5zb3J0T3JkZXIgPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnRlZENvbHVtbiA9IGNvbHVtbiA/IGNvbHVtbiA6IFwic3RvcmVOYW1lXCI7XHJcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gMTtcclxuICAgIH1cclxuICAgIHRoaXMub25TdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIC8vIG5ldyBhcGkgaW50YWdyYXRlZFxyXG5cclxuICBSbUxpc3Q6IGFueSA9IFtdO1xyXG5cclxuIGdldEFsbFJtMSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIHJldHVybiB0aGlzLmV5ZVNlcnZpY2UuZ2V0Um1MaXN0KHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50KS5waXBlKFxyXG4gICAgdGFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgdGhpcy5SbUxpc3QgPSB0aGlzLnJtTGlzdDtcclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5SbUxpc3QpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuUm1MaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtdKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICApO1xyXG59XHJcblxyXG4gIG9uUm1TZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMuZ2V0QWxsR3JvdXBzKGV2ZW50KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBleWVUZXN0Q2FyZERhdGE6IGFueSA9IFtdO1xyXG4gIGdldENhcmREYXRhKCkge1xyXG4gICAgbGV0IGZpbmFsU3RvcmVzOiBhbnkgPSBbXTtcclxuICAgIGxldCBybUxpc3RWYWx1ZTogYW55ID0gW107XHJcbiAgICAgIGNvbnN0IHJvbGVLZXlUeXBlTWFwOiBhbnkgPSB7XHJcbiAgICBzdXBlcmFkbWluOiBcInJtXCIsXHJcbiAgICBhZG1pbjogXCJjbHVzdGVyXCIsXHJcbiAgICB1c2VyOiBcInN0b3JlXCIsXHJcbiAgfTtcclxuICBpZiAoIXRoaXMua2V5VHlwZSkge1xyXG4gICAgdGhpcy5rZXlUeXBlID0gcm9sZUtleVR5cGVNYXBbdGhpcy51c2Vycz8ucm9sZV0gfHwgXCJzdG9yZVwiO1xyXG4gIH1cclxuICAgIGNvbnN0IHtcclxuICAgICAgZnJvbURhdGUsXHJcbiAgICAgIHRvRGF0ZSxcclxuICAgICAgdHlwZSxcclxuICAgICAgYXVkaXRUeXBlLFxyXG4gICAgICBzdG9yZUxpc3QsXHJcbiAgICAgIFJtTGlzdCxcclxuICAgICAgY29tcGxpYW5jZVNjb3JlLFxyXG4gICAgICBuZWFyQWRkaXRpb24sXHJcbiAgICAgIGtleVR5cGUsXHJcbiAgICAgIGNhdGVnb3J5LFxyXG4gICAgfSA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWU7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnN0b3JlTGlzdCkpIHtcclxuICAgICAgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QuZm9yRWFjaCgoc3RvcmU6IGFueSkgPT4ge1xyXG4gICAgICAgIGZpbmFsU3RvcmVzLnB1c2goc3RvcmUuc3RvcmVJZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QpKSB7XHJcbiAgICAgIHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0LmZvckVhY2goKGVsOiBhbnkpID0+IHtcclxuICAgICAgICBybUxpc3RWYWx1ZS5wdXNoKGVsPy5lbWFpbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGVtb2dyYXBoaWNzID1cclxuICAgICAgdHlwZSAhPT0gXCJyZW1vdGVcIlxyXG4gICAgICAgID8gYXVkaXRUeXBlID09PSBcImFsbFwiXHJcbiAgICAgICAgICA/IFtcImFkdWx0XCIsIFwia2lkXCJdXHJcbiAgICAgICAgICA6IEFycmF5LmlzQXJyYXkoYXVkaXRUeXBlKVxyXG4gICAgICAgICAgPyBhdWRpdFR5cGVcclxuICAgICAgICAgIDogW2F1ZGl0VHlwZV1cclxuICAgICAgICA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YTogYW55ID0ge1xyXG4gICAgICBmcm9tRGF0ZSxcclxuICAgICAgdG9EYXRlLFxyXG4gICAgICB0eXBlLFxyXG4gICAgICBzdG9yZUlkOiBmaW5hbFN0b3JlcyxcclxuICAgICAgUk1MaXN0OiBybUxpc3RWYWx1ZS5sZW5ndGggPiAwID8gcm1MaXN0VmFsdWUgOiBbdGhpcy51c2Vycz8uZW1haWxdLFxyXG4gICAgICBjb21wbGlhbmNlU2NvcmU6IGNvbXBsaWFuY2VTY29yZT8ubGVuZ3RoXHJcbiAgICAgICAgPyAoY29tcGxpYW5jZVNjb3JlLm1hcCgoZWw6IGFueSkgPT4gZWwudmFsdWUpKVxyXG4gICAgICAgIDogW10sXHJcbiAgICAgIG5lYXJBZGRpdGlvbixcclxuICAgICAgLi4uKHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZSAhPT0gXCJyZW1vdGVcIiAmJiB7XHJcbiAgICAgICAgY2F0ZWdvcnksXHJcbiAgICAgICAga2V5VHlwZSA6IHRoaXMua2V5VHlwZSxcclxuICAgICAgfSksXHJcbiAgICAgXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChkZW1vZ3JhcGhpY3MpIHtcclxuICAgICAgcmVxdWVzdERhdGEuZGVtb2dyYXBoaWNzID0gZGVtb2dyYXBoaWNzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leWVTZXJ2aWNlXHJcbiAgICAgIC5nZXRDYXJkKHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leWVUZXN0Q2FyZERhdGEgPSByZXM/LmNvZGUgPT09IDIwMCA/IHJlcz8uZGF0YT8ucmVzdWx0IDoge307XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RDYXJkRGF0YSA9IHt9O1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5leWVWaWV3ID1mYWxzZTtcclxuICBleWVUZXN0VmlldyhkYXRhOiBhbnkpIHtcclxudGhpcy5leWVWaWV3ID10cnVlO1xyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XHJcbiAgICAvLyAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAvLyAgICAgdHlwZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlLFxyXG4gICAgLy8gICAgIHN0b3JlSWQ6IGRhdGE/LnN0b3JlSWQsXHJcbiAgICAvLyAgICAgX2lkOiBkYXRhLl9pZCxcclxuICAgIC8vICAgICBleWVUeXBlOiBkYXRhPy5jb21tZW50ID8gXCJmYWtlXCIgOiBcImdlbnVpbmVcIixcclxuICAgIC8vICAgICBSTUVtYWlsOiBkYXRhPy5STUVtYWlsLFxyXG4gICAgLy8gICAgIGNsdXN0ZXI6IGRhdGE/LmNsdXN0ZXJOYW1lLFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgIHRoaXMuYXVkaXREYXRhID0gdGhpcy5leWVTZXJ2aWNlLmdldEF1ZGl0RGF0YSgpO1xyXG4gICAgdGhpcy50YWtlQXVkaXQgPWZhbHNlXHJcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2VzcyA9W107XHJcbiAgICAvLyB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlSWQgPSBkYXRhWydzdG9yZUlkJ107XHJcbiAgICAgIHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZVxyXG4gICAgICB0aGlzLkF1ZGl0SWQgPSBkYXRhWydfaWQnXTtcclxuICAgICAgdGhpcy5SbUVtYWlsID0gZGF0YVsnUk1FbWFpbCddO1xyXG4gICAgICB0aGlzLmNsdXN0ZXIgPSBkYXRhWydjbHVzdGVyTmFtZSddO1xyXG4gICAgICB0aGlzLmV5ZVRlc3RUeXBlID0gZGF0YT8uY29tbWVudCA/IFwiZmFrZVwiIDogXCJnZW51aW5lXCI7XHJcbiAgICAvLyB9KTtcclxuICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XHJcbiAgICB0aGlzLmdlbmVyYXRlVGltZU9wdGlvbnMoKTtcclxuaWYodGhpcy5jdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyl7XHJcbiAgdGhpcy5kcm9wZG93bkxpc3Q9IFt7IGtleTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gb2theSwgYnV0IG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJywgaXRlbTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gb2theSwgYnV0IG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJyB9LCB7IGtleTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gbm90IGFjY3VyYXRlLCBidXQgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcsIGl0ZW06ICdTZW50ZW5jZSBUcmFuc2NyaXB0aW9uIG5vdCBhY2N1cmF0ZSwgYnV0IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnIH0sIHsga2V5OiAnU3RlcCBub3QgYWNjdXJhdGUsIG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJywgaXRlbTogJ1N0ZXAgbm90IGFjY3VyYXRlLCBub3QgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcgfSwgeyBrZXk6ICdvdGhlcnMnLCBpdGVtOiAnT3RoZXJzJyB9XVxyXG59ZWxzZXtcclxuICB0aGlzLmRyb3Bkb3duTGlzdD0gW3sga2V5OiAnU3RlcCBOb24tQ29tcGxpYW5jZScsIGl0ZW06ICdTdGVwIE5vbi1Db21wbGlhbmNlJyB9LCB7IGtleTogJ1Bvd2VyIEJhbmsgTm9uLUNvbXBsaWFuY2UnLCBpdGVtOiAnUG93ZXIgQmFuayBOb24tQ29tcGxpYW5jZScgfSwgeyBrZXk6ICdDb3JyZWN0IEluc3RydW1lbnQgTm90IFVzZWQnLCBpdGVtOiAnQ29ycmVjdCBJbnN0cnVtZW50IE5vdCBVc2VkJyB9LCB7IGtleTogJ290aGVycycsIGl0ZW06ICdPdGhlcnMnIH1dXHJcbn1cclxuICB9XHJcblxyXG4gIHNldHRpbmdzVmlldygpIHtcclxuICAgIHRoaXMuZXllU2VydmljZS5zZXRBdWRpdERhdGEodGhpcy5oZWFkZXJGaWx0ZXJzKTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdC9zZXR0aW5nc1wiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyB0eXBlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUgfSxcclxuICAgIH0pO1xyXG4gIH1cclxucm1MaXN0ID0gW1xyXG4gIHtcclxuICAgIF9pZDogXCIxXCIsXHJcbiAgICB1c2VyTmFtZTogXCJBamF5IE1cIixcclxuICAgIGVtYWlsOiBcIm1hcmVsbGFwdWRpLmFqYXlAbGVuc2thcnQuY29tXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiMlwiLFxyXG4gICAgdXNlck5hbWU6IFwiQW5pcmJhbiBHaG9zaFwiLFxyXG4gICAgZW1haWw6IFwiYW5pcmJhbi5naG9zaEBsZW5za2FydC5jb21cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCIzXCIsXHJcbiAgICB1c2VyTmFtZTogXCJBdmFkaGVzaCBTaGFybWFcIixcclxuICAgIGVtYWlsOiBcImF2YWRoZXNoLmt1bWFyQGxlbnNrYXJ0LmNvbVwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgX2lkOiBcIjRcIixcclxuICAgIHVzZXJOYW1lOiBcIkF5dXNoIEd1cHRhXCIsXHJcbiAgICBlbWFpbDogXCJheXVzaC5ndXB0YTFAbGVuc2thcnQuaW5cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCI1XCIsXHJcbiAgICB1c2VyTmFtZTogXCJEaGlyZW4gQmlzaHRcIixcclxuICAgIGVtYWlsOiBcImRoaXJlbmRyYS5iaXNodEB0aGVsZW5za2FydC5jb21cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCI2XCIsXHJcbiAgICB1c2VyTmFtZTogXCJNdWVlbiBLaGFuXCIsXHJcbiAgICBlbWFpbDogXCJtdWVlbi5raGFuQHRoZWxlbnNrYXJ0LmNvbVwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgX2lkOiBcIjdcIixcclxuICAgIHVzZXJOYW1lOiBcIlJlc2htYSBTaGV0dHlcIixcclxuICAgIGVtYWlsOiBcInJlc2htYS5zaGV0dHlAbGVuc2thcnQuaW5cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCI4XCIsXHJcbiAgICB1c2VyTmFtZTogXCJTcmluaXZhcyBSZWRkeVwiLFxyXG4gICAgZW1haWw6IFwic3Jpbml2YXMucmVkZHlAdGhlbGVuc2thcnQuY29tXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiOVwiLFxyXG4gICAgdXNlck5hbWU6IFwiU3VyZXNoIEJhbGFqaSBSXCIsXHJcbiAgICBlbWFpbDogXCJzdXJlc2guckB0aGVsZW5za2FydC5jb21cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCIxMFwiLFxyXG4gICAgdXNlck5hbWU6IFwiVGh1bGFzaSBLcmlzaG5hXCIsXHJcbiAgICBlbWFpbDogXCJrcmlzaG5hLnRodWxhc2lAbGVuc2thcnQuaW5cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCIxMVwiLFxyXG4gICAgdXNlck5hbWU6IFwiVmlqZWVzaCBWIExcIixcclxuICAgIGVtYWlsOiBcInZpamVlc2gudmxAbGVuc2thcnQuaW5cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCIxMlwiLFxyXG4gICAgdXNlck5hbWU6IFwiS3VuYWwgU2hhcm1hXCIsXHJcbiAgICBlbWFpbDogXCJrdW5hbC5zaGFybWFAbGVuc2thcnQubW9iaVwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgX2lkOiBcIjEzXCIsXHJcbiAgICB1c2VyTmFtZTogXCJUQkQgLSBXZXN0IDNcIixcclxuICAgIGVtYWlsOiBcImt1bmFsLnNoYXJtYUBsZW5za2FydC5tb2JpXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuXTtcclxuXHJcbmdldEFsbFN0b3JlcygpIHtcclxuICAgICB0aGlzLnRyYXhTZXJ2aWNlLmdldFN0b3Jlc2xpc3QoeyBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsIGNsdXN0ZXJzOiB0aGlzLmdyb3VwcywgY2l0eTogW10sIH0pIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkgLnN1YnNjcmliZSh7IG5leHQ6IChyZXM6IGFueSkgPT4geyBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHsgdGhpcy5zdG9yZUxpc3QgPSByZXMuZGF0YS5zdG9yZXNEYXRhOyB0aGlzLmV5ZVRlc3RGb3JtLmdldChcInN0b3JlTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5zdG9yZUxpc3QpOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0gZWxzZSB7IHRoaXMuc3RvcmVMaXN0ID0gW107IHRoaXMubG9hZGluZzEgPSBmYWxzZTsgfSB9LCBlcnJvcjogKGVycikgPT4geyB0aGlzLnN0b3JlTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0sIH0pOyB9IFxyXG5nZXRBbGxSbSgpIHsgXHJcbiAgLy8gdGhpcy5leWVTZXJ2aWNlLmdldFJtTGlzdCh0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCkgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKSAuc3Vic2NyaWJlKHsgXHJcbiAgLy8gICBuZXh0OiAocmVzOiBhbnkpID0+IHsgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7IFxyXG4gICAgICB0aGlzLlJtTGlzdCA9IHRoaXMucm1MaXN0OyAvL2ZvciBvYmplY3QgYmFzZWQgdGhpcyB3aWxsIGNoYW5nZWQgXHJcbnRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLlJtTGlzdCk7IFxyXG4vLyB9IGVsc2UgeyBcclxuLy8gICB0aGlzLlJtTGlzdCA9IFtdOyB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW10pOyBcclxuLy8gfSB0aGlzLmdldEFsbEdyb3VwcygpOyB9LCB9KTsgXHJcbn0gXHJcbmdldEFsbEdyb3VwcyhldmVudD86IGFueSkgeyBsZXQgcm1MaXN0OiBhbnkgPSBbXTsgdGhpcy5DbHVzdGVyTGlzdCA9IFtdOyBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdCkpIHsgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QuZm9yRWFjaCgoZWw6IGFueSkgPT4geyBybUxpc3QucHVzaChlbD8uZW1haWwpOyB9KTsgfSBldmVudD8ubWFwKChlbDogYW55KSA9PiBlbD8uZW1haWwpIHx8IFt0aGlzLnVzZXJzPy5lbWFpbF07IGNvbnN0IG9iaiA9IHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50ID8gdGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCA6IFwiXCIsIHJtTGlzdDogcm1MaXN0Lmxlbmd0aCA+IDAgPyBybUxpc3QgOiBbdGhpcy51c2Vycz8uZW1haWxdLCB9OyB0aGlzLmV5ZVNlcnZpY2UuZ2V0Q2x1c3RlcnMob2JqKS5zdWJzY3JpYmUoeyBuZXh0OiAocmVzOiBhbnkpID0+IHsgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7IHRoaXMuQ2x1c3Rlckxpc3QgPSByZXM/LmRhdGE/LnJlc3VsdDsgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5DbHVzdGVyTGlzdCk7IHRoaXMuZ3JvdXBzID0gdGhpcy5DbHVzdGVyTGlzdC5tYXAoKGVsOiBhbnkpID0+IGVsLmNsdXN0ZXJOYW1lKTsgdGhpcy5nZXRBbGxTdG9yZXMoKTsgfSBlbHNlIHsgdGhpcy5DbHVzdGVyTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0gdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IH0sIFxyXG5lcnJvcjogKGVycikgPT4geyAvLyBjb25zb2xlLmVycm9yKFwiQ2x1c3RlciBmZXRjaCBmYWlsZWQ6XCIsIGVycik7IFxyXG50aGlzLkNsdXN0ZXJMaXN0ID0gW107IHRoaXMubG9hZGluZzEgPSBmYWxzZTsgfSwgfSk7IH1cclxuXHJcblxyXG4gIC8vIGdldEFwcGx5QnV0dG9uQ2xhc3Mocm9sZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIC8vICAgY29uc3Qgcm9sZUNsYXNzTWFwOiBhbnkgPSB7XHJcbiAgLy8gICAgIHN1cGVyYWRtaW46IHR5cGUgPT09IFwicmVtb3RlXCIgPyBcImNvbC03IG1iLTRcIiA6IFwiY29sLTUgbWItNFwiLFxyXG4gIC8vICAgICBhZG1pbjogdHlwZSA9PT0gXCJyZW1vdGVcIiA/IFwiY29sLTEwIG1iLTRcIiA6IFwiY29sLTggbWItNFwiLFxyXG4gIC8vICAgICB1c2VyOiB0eXBlID09PSBcInJlbW90ZVwiID8gXCJjb2wtMiBtYi00XCIgOiBcImNvbC0xMCBtYi00XCIsXHJcbiAgLy8gICB9O1xyXG4gIC8vICAgcmV0dXJuIHJvbGVDbGFzc01hcFtyb2xlXSB8fCBcImNvbC0xMiBtYi00XCI7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBzZWNvbmQgcGFnZVxyXG4gICBzdGVwV2lzZVByb2Nlc3M6IGFueSA9IFtdO1xyXG4gICBkcm9wZG93bkxpc3Q6IGFueSA9IFtdXHJcbiAgLy8gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8vICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuIFxyXG4gICB0YWJsZUxvYWRpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdpbml0aWFsJyB8ICdsb2FkaW5nJyB8ICdsb2FkZWQnPignaW5pdGlhbCcpXHJcbiAgIGhpc3Rvcnl0YWJsZUxvYWRpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdpbml0aWFsJyB8ICdsb2FkaW5nJyB8ICdsb2FkZWQnPignaW5pdGlhbCcpXHJcbiBcclxuICAgc2VsZWN0ZWRNaW51dGVzID0gJzAwJztcclxuICAgc2VsZWN0ZWRTZWNvbmRzID0gJzAwJztcclxuICAgbWludXRlc0xpc3Q6IHN0cmluZ1tdID0gW107XHJcbiAgIHNlY29uZHNMaXN0OiBzdHJpbmdbXSA9IFtdO1xyXG4gXHJcbiAgIGF1ZGl0RGV0YWlsczogYW55ID0gW107XHJcbiAgIGN1cnJlbnRBdWRpdFR5cGU6IGFueTtcclxuICAgdGFrZUF1ZGl0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgIHN0b3JlSWQ6IGFueTtcclxuICAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRlbnQnKSB0b29sdGlwQ29udGVudCE6IE5nYlRvb2x0aXA7XHJcbiAgIEBWaWV3Q2hpbGQoJ3ZpZXdIaXN0b3J5Jykgdmlld0hpc3Rvcnk6IGFueTtcclxuICAgQFZpZXdDaGlsZCgndmlld0NhbmNlbCcpIHZpZXdDYW5jZWw6IGFueTtcclxuICAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlkZW9QbGF5ZXIhOiBFbGVtZW50UmVmO1xyXG4gICBoaXN0b3J5RGF0YTogYW55ID0gW107XHJcbiAgIEF1ZGl0SWQ6IGFueTtcclxuICAgdmlld0hpc3RvcnlEYXRhOiBhbnk7XHJcbiAgIHNwb2tlbkxhbmd1YWdlOmFueT0nRW5nbGlzaCdcclxuICAgbW9kYWxSZWY6IGFueTtcclxuICAgZGlzYWJsZWNhbmNlbDpib29sZWFuID0gIGZhbHNlXHJcbiAgYmFja05hdmlnYXRpb24oKXtcclxuICAgIC8vICB0aGlzLmV5ZVNlcnZpY2UuYXVkaXRGaWx0ZXJEYXRhID0ge1xyXG4gICAgLy8gICBiYWNrOiAnYmFjaycsXHJcbiAgICAvLyAgIGF1ZGl0RGV0YWlsczogdGhpcy5hdWRpdERldGFpbHNcclxuICAgIC8vIH07XHJcbiAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9hdWRpdCddLCB7XHJcbiAgICAvLyAgIHF1ZXJ5UGFyYW1zOiB7IGRhdGU6IHRoaXMuZGF5anModGhpcy5hdWRpdERldGFpbHMuZmlsZURhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLCB0eXBlVmFsdWU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSB9XHJcbiAgICAvLyB9KTtcclxuICAgIHRoaXMuZXllVmlldyA9ZmFsc2U7XHJcbiAgICB0aGlzLnRha2VBdWRpdCA9ZmFsc2VcclxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzID1bXTtcclxuICAgIHRoaXMub25TdWJtaXQoKTtcclxuICAgIHRoaXMuZ2V0Q2FyZERhdGEoKTtcclxuICB9XHJcbiB2aWV3SGlzdG9yeU1vZGVsKGl0ZW06IGFueSkge1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIGlkOiBpdGVtLl9pZFxyXG4gICAgfVxyXG4gICAgdGhpcy5leWVTZXJ2aWNlLnZpZXdBdWRpdEhpc3RvcnkocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy52aWV3SGlzdG9yeURhdGEgPSByZXMuZGF0YS5yZXN1bHRcclxuICAgICAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLnZpZXdIaXN0b3J5LCB7XHJcbiAgICAgICAgICAgIHNpemU6J3hsJyxcclxuICAgICAgICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIGF1ZGl0RGF0YTphbnk7XHJcbiAgZXllVGVzdFR5cGU6YW55O1xyXG4gIFJtRW1haWw6YW55O1xyXG4gIGNsdXN0ZXI6YW55O1xyXG5cclxuXHJcblxyXG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICBcclxuICAvLyB9XHJcblxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZSgnRXllIFRlc3QnKVxyXG4gICBcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICAgIHsgdGl0bGU6ICdUYW5nbyBUcmF4JywgcGF0aDogJy9tYW5hZ2UvdHJheC9kYXNoYm9hcmQnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICdUYW5nbyBUcmF4JywgcGF0aDogJy9tYW5hZ2UvdHJheC9kYXNoYm9hcmQnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sICAgICAgICBcclxuICAgIF0pXHJcbn1cclxuICBnZXRBdWRpdEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGluZycpO1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIGlkOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnID8gdGhpcy5hdWRpdERldGFpbHMuZW5nYWdlbWVudElkIDogdGhpcy5hdWRpdERldGFpbHMucXVldWVJZCxcclxuICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlXHJcbiAgICB9XHJcbiAgICB0aGlzLmV5ZVNlcnZpY2UuZ2V0QXVkaXRIaXN0b3J5KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeURhdGEgPSByZXMuZGF0YS5yZXN1bHRcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeXRhYmxlTG9hZGluZy5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlEYXRhID0gW11cclxuICAgICAgICAgIHRoaXMuaGlzdG9yeXRhYmxlTG9hZGluZy5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlzdG9yeURhdGEgPSBbXVxyXG4gICAgICAgIHRoaXMuaGlzdG9yeXRhYmxlTG9hZGluZy5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0QXVkaXRkZXRhaWxzKCkge1xyXG4gICAgdGhpcy50YWJsZUxvYWRpbmcubmV4dCgnbG9hZGluZycpO1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIGlkOiB0aGlzLkF1ZGl0SWQsXHJcbiAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZVxyXG4gICAgfVxyXG4gICAgdGhpcy5leWVTZXJ2aWNlLmdldEF1ZGl0ZGV0YWlscyhwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgZmFsc2VcclxuICAgICAgICAgIHRoaXMuYXVkaXREZXRhaWxzID0gcmVzPy5kYXRhPy5yZXN1bHQ7XHJcbiAgICAgICAgICBpZiAodGhpcy5hdWRpdERldGFpbHMuYXVkaXRTdGF0dXMgPT09ICdJbi1Qcm9ncmVzcycpIHtcclxuICAgICAgICAgICAgdGhpcy50YWtlQXVkaXQgPSB0cnVlXHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50YWtlQXVkaXQgPSBmYWxzZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zdGVwV2lzZVByb2Nlc3MgPSB0aGlzLmF1ZGl0RGV0YWlscz8uc3RlcHM7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0QXVkaXRIaXN0b3J5KClcclxuICAgICAgICAgIH0sMTAwKVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudGFibGVMb2FkaW5nLm5leHQoJ2xvYWRlZCcpXHJcblxyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUaW1lT3B0aW9ucygpIHtcclxuICAgIHRoaXMubWludXRlc0xpc3QgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gdGhpcy5mb3JtYXROdW1iZXIoaSkpO1xyXG4gICAgdGhpcy5zZWNvbmRzTGlzdCA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB0aGlzLmZvcm1hdE51bWJlcihpKSk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXROdW1iZXIobnVtOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG51bSA8IDEwID8gJzAnICsgbnVtIDogbnVtLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBkcm9wZG93bk9wZW46IHsgW2tleTogbnVtYmVyXTogeyBzdGFydFRpbWU6IGJvb2xlYW47IGVuZFRpbWU6IGJvb2xlYW47IHJlYXNvbjogYm9vbGVhbiB9IH0gPSB7fTtcclxuXHJcbiAgdG9nZ2xlRHJvcGRvd24oaTogbnVtYmVyLCB0aW1lOiAnc3RhcnRUaW1lJyB8ICdlbmRUaW1lJyB8ICdyZWFzb24nKSB7XHJcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLmRyb3Bkb3duT3BlbltpXT8uW3RpbWVdID8/IGZhbHNlO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZHJvcGRvd25PcGVuKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgdGhpcy5kcm9wZG93bk9wZW5bTnVtYmVyKGtleSldID0geyBzdGFydFRpbWU6IGZhbHNlLCBlbmRUaW1lOiBmYWxzZSwgcmVhc29uOiBmYWxzZSB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmRyb3Bkb3duT3BlbltpXSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbltpXSA9IHsgc3RhcnRUaW1lOiBmYWxzZSwgZW5kVGltZTogZmFsc2UsIHJlYXNvbjogZmFsc2UgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbltpXVt0aW1lXSA9ICFjdXJyZW50U3RhdGU7XHJcbiAgfVxyXG4gIGdldFNlY29uZHNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgaWYgKCF0aW1lKSByZXR1cm4gMDtcclxuICAgIGNvbnN0IFttaW4sIHNlY10gPSB0aW1lLnNwbGl0KCc6JykubWFwKE51bWJlcik7XHJcbiAgICByZXR1cm4gKG1pbiAqIDYwKSArIHNlYztcclxuICB9XHJcbiAgICBcclxuc2VsZWN0TWludXRlKGluZGV4OiBhbnksIG1pbjogc3RyaW5nLCB0aW1lOiAnc3RhcnRUaW1lJyB8ICdlbmRUaW1lJyB8ICdyZWFzb24nKSB7XHJcbiAgY29uc3QgcHJldmlvdXNUaW1lID0gdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5bdGltZV0gfHwgJzAwOjAwJztcclxuXHJcbiAgdGhpcy5zZWxlY3RlZE1pbnV0ZXMgPSBtaW47XHJcbiAgY29uc3QgbmV3VGltZSA9IGAke3RoaXMuc2VsZWN0ZWRNaW51dGVzfToke3RoaXMuc2VsZWN0ZWRTZWNvbmRzfWA7XHJcblxyXG4gIGNvbnN0IHN0YXJ0VGltZSA9IHRoaXMuZ2V0U2Vjb25kc0Zyb21UaW1lKFxyXG4gICAgdGltZSA9PT0gJ3N0YXJ0VGltZScgPyBuZXdUaW1lIDogdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5zdGFydFRpbWVcclxuICApO1xyXG4gIGNvbnN0IGVuZFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcclxuICAgIHRpbWUgPT09ICdlbmRUaW1lJyA/IG5ld1RpbWUgOiB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/LmVuZFRpbWVcclxuICApO1xyXG5cclxuICBjb25zdCBpc1ZhbGlkID0gKHN0YXJ0VGltZSA9PT0gMCB8fCBlbmRUaW1lID09PSAwKSB8fCBzdGFydFRpbWUgPCBlbmRUaW1lO1xyXG5cclxuICBpZiAoIWlzVmFsaWQgJiYgdGltZSAhPT0gJ3JlYXNvbicpIHtcclxuICAgIHRoaXMudHMuZ2V0V2FybmluZ1RvYXN0KFwiU3RhcnQgdGltZSBtdXN0IGJlIGxlc3MgdGhhbiBlbmQgdGltZS5cIik7XHJcbiAgXHJcbiAgICBjb25zdCBbcHJldk1pbiwgcHJldlNlY10gPSBwcmV2aW91c1RpbWUuc3BsaXQoJzonKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGVzID0gcHJldk1pbjtcclxuICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmRzID0gcHJldlNlYztcclxuICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBcclxuXHJcbiAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdW3RpbWVdID0gbmV3VGltZTtcclxuICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxufVxyXG5cclxuc2VsZWN0U2Vjb25kKGluZGV4OiBhbnksIHNlYzogc3RyaW5nLCB0aW1lOiAnc3RhcnRUaW1lJyB8ICdlbmRUaW1lJyB8ICdyZWFzb24nKSB7XHJcbiAgY29uc3QgcHJldmlvdXNUaW1lID0gdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5bdGltZV0gfHwgJzAwOjAwJztcclxuXHJcbiAgdGhpcy5zZWxlY3RlZFNlY29uZHMgPSBzZWM7XHJcbiAgY29uc3QgbmV3VGltZSA9IGAke3RoaXMuc2VsZWN0ZWRNaW51dGVzfToke3RoaXMuc2VsZWN0ZWRTZWNvbmRzfWA7XHJcblxyXG4gIGNvbnN0IHN0YXJ0VGltZSA9IHRoaXMuZ2V0U2Vjb25kc0Zyb21UaW1lKFxyXG4gICAgdGltZSA9PT0gJ3N0YXJ0VGltZScgPyBuZXdUaW1lIDogdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5zdGFydFRpbWVcclxuICApO1xyXG4gIGNvbnN0IGVuZFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcclxuICAgIHRpbWUgPT09ICdlbmRUaW1lJyA/IG5ld1RpbWUgOiB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/LmVuZFRpbWVcclxuICApO1xyXG5cclxuICBpZiAoKHRpbWUgIT09ICdyZWFzb24nKSAmJiBzdGFydFRpbWUgIT09IDAgJiYgZW5kVGltZSAhPT0gMCAmJiBzdGFydFRpbWUgPj0gZW5kVGltZSkge1xyXG4gICAgdGhpcy50cy5nZXRXYXJuaW5nVG9hc3QoXCJTdGFydCB0aW1lIG11c3QgYmUgbGVzcyB0aGFuIGVuZCB0aW1lLlwiKTtcclxuICBcclxuICAgIGNvbnN0IFtwcmV2TWluLCBwcmV2U2VjXSA9IHByZXZpb3VzVGltZS5zcGxpdCgnOicpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZXMgPSBwcmV2TWluO1xyXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZHMgPSBwcmV2U2VjO1xyXG4gIFxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF1bdGltZV0gPSBuZXdUaW1lO1xyXG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG59XHJcbiBcclxuICBcclxuXHJcbiAgc2VsZWN0UmVhc29uKGluZGV4OiBudW1iZXIsIGtleTogYW55LCB0aW1lOiBhbnkpIHtcclxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XVt0aW1lXSA9IGtleTtcclxuICBcclxuICAgIGlmIChrZXkgPT09ICdvdGhlcnMnKSB7XHJcbiAgICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XS5vdGhlclJlYXNvbiA9ICcnOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XS5vdGhlclJlYXNvbiA9IG51bGw7IFxyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBzZWxlY3RIdW1hblZlcmlmaWVkKGluZGV4OiBudW1iZXIsIHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0uYXVkaXRlZFN0YXR1cyA9IHZhbHVlO1xyXG4gIH1cclxuICBmaW5kY291bnQoKXtcclxuICAgIGxldCBjb3VudCA9IDBcclxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzLmZvckVhY2goKGRhdGE6YW55KT0+e1xyXG4gICAgICBpZihkYXRhLmF1ZGl0ZWRTdGF0dXMhPT1kYXRhLkFJU3RhdHVzKXtcclxuICAgICAgICBjb3VudCsrXHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfSlcclxuICAgIHJldHVybiBjb3VudFxyXG4gIH1cclxuICBnZXRWYWxpZGFGb3JtKCl7XHJcbiAgICBsZXQgZXJyb3JDb3VudCA9IDBcclxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzLmZvckVhY2goKGRhdGE6YW55KT0+e1xyXG4gICAgICBpZihkYXRhLnJlYXNvbj09PSdvdGhlcnMnKXtcclxuICAgICAgICBkYXRhLm90aGVyUmVhc29uID0gIGRhdGEub3RoZXJSZWFzb24udHJpbSgpXHJcbiAgICAgIH1cclxuICAgICAgaWYoZGF0YS5hdWRpdGVkU3RhdHVzIT09ZGF0YS5BSVN0YXR1cyl7XHJcbiAgICAgICAgaWYoIWRhdGEucmVhc29uIHx8IGRhdGEucmVhc29uJiZkYXRhLnJlYXNvbj09PSdvdGhlcnMnICYmICFkYXRhLm90aGVyUmVhc29uKXtcclxuICAgICAgICAgIGVycm9yQ291bnQrK1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmKGVycm9yQ291bnQ+MCl7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxyXG4gICAgICB0aGlzLnRzLmdldFdhcm5pbmdUb2FzdChcIkNvbW1lbnRzIGFyZSBtYW5kYXRvcnkgZm9yIGludmVyc2UgaHVtYW4gYXVkaXRlZCByZXNwb25zZXNcIilcclxuICB9XHJcbiAgICByZXR1cm4gZXJyb3JDb3VudFxyXG4gIH1cclxuICBvbnN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICB0cnVlXHJcbiAgICAvLyBpZigodGhpcy5zdGVwV2lzZVByb2Nlc3MuZmlsdGVyKChkYXRhOmFueSk9PmRhdGEuYXVkaXRlZFN0YXR1cz09PXRydWUpLmxlbmd0aCt0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5maWx0ZXIoKGRhdGE6YW55KT0+ZGF0YS5hdWRpdGVkU3RhdHVzPT09ZmFsc2UpLmxlbmd0aCkhPT10aGlzLnN0ZXBXaXNlUHJvY2Vzcy5sZW5ndGgpe1xyXG4gICAgLy8gICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiT29wcyEgTG9va3MgbGlrZSB0aGUgZXllIHRlc3QgYXVkaXQgaXNu4oCZdCBjb21wbGV0ZSB5ZXQuIEF1ZGl0IGFsbCBleWUgdGVzdCBzdGVwcyBiZWZvcmUgc3VibWl0dGluZy5cIilcclxuICAgIC8vICAgdGhpcy5kaXNhYmxlY2FuY2VsID0gIGZhbHNlXHJcbiAgICAvLyAgIHJldHVyblxyXG4gICAgLy8gfVxyXG4gICAgLy8gaWYodGhpcy5nZXRWYWxpZGFGb3JtKCk9PT0wKXtcclxuXHJcbiAgICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICAgIGlkOiB0aGlzLkF1ZGl0SWQsXHJcbiAgICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxyXG4gICAgICAgIGZpbGVJZDogdGhpcy5jdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyA/IHRoaXMuYXVkaXREZXRhaWxzLmVuZ2FnZW1lbnRJZCA6IHRoaXMuYXVkaXREZXRhaWxzLnF1ZXVlSWQsXHJcbiAgICAgICAgYXVkaXRlZFN0ZXBzOiB0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5maWx0ZXIoKGRhdGE6YW55KT0+ZGF0YS5hdWRpdGVkU3RhdHVzPT09dHJ1ZSkubGVuZ3RoLFxyXG4gICAgICAgIGF1ZGl0U3RhdHVzOnRoaXMuYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdBdWRpdCc/IFwiQXVkaXRlZFwiOlwiUmUtQXVkaXRlZFwiLFxyXG4gICAgICAgIG92ZXJSaWRlczp0aGlzLmZpbmRjb3VudCgpLFxyXG4gICAgICAgIHNwb2tlbkxhbmd1YWdlOiB0aGlzLnNwb2tlbkxhbmd1YWdlLFxyXG4gICAgICAgIHN0ZXBzOiB0aGlzLnN0ZXBXaXNlUHJvY2VzcyxcclxuICAgICAgICBjbHVzdGVyOiB0aGlzLmNsdXN0ZXIsICBcclxuICAgICAgICAgUk1FbWFpbDogdGhpcy5SbUVtYWlsLFxyXG4gICAgICAgICAgY2xpZW50SWQ6IHRoaXMuYXVkaXREZXRhaWxzPy5zdG9yZUlkPy5zcGxpdChcIi1cIilbMF0sXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5leWVTZXJ2aWNlLnN1Ym1pdEF1ZGl0KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcclxuICAgICAgICAgICAgfSwxMDAwKVxyXG4gICAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdChgJHt0aGlzLmF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlfSBTdWJtaXR0ZWQgU3VjY2Vzc2Z1bGx5YClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZSlcclxuICAgICAgICAgfSBcclxuICAgICAgfSlcclxuICAgIC8vIH1cclxuXHJcblxyXG4gIH1cclxuICBzdGFydEF1ZGl0KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICB0cnVlXHJcbiAgICB0aGlzLnRha2VBdWRpdCA9IHRydWU7XHJcbiAgICB0aGlzLmF1ZGl0RGV0YWlscy5hdWRpdFN0YXR1cyA9ICdSZS1BdWRpdGVkJ1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgIGlkOiB0aGlzLkF1ZGl0SWRcclxuICAgIH1cclxuICAgIHRoaXMuZXllU2VydmljZS5nZXRBdWRpdEZpbGUocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgb25ZZXMoKXtcclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBpZDogdGhpcy5BdWRpdElkLFxyXG4gICAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSxcclxuICAgICAgICBmaWxlSWQ6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScgPyB0aGlzLmF1ZGl0RGV0YWlscy5lbmdhZ2VtZW50SWQgOiB0aGlzLmF1ZGl0RGV0YWlscy5xdWV1ZUlkLFxyXG4gICAgfVxyXG4gICAgdGhpcy5leWVTZXJ2aWNlLmNhbmNlbEF1ZGl0RmlsZShwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmdldEF1ZGl0ZGV0YWlscygpO1xyXG4gICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoYCR7dGhpcy5hdWRpdERldGFpbHM/LmF1ZGl0VHlwZX0gQ2FuY2VsbGVkIFN1Y2Nlc3NmdWxseWApXHJcbiAgICAgICAgICB0aGlzLm1vZGFsUmVmLmRpc21pc3MoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyPy5lcnJvcj8uZXJyb3IgPyBlcnI/LmVycm9yPy5lcnJvciA6IGVycj8uZXJyb3I/Lm1lc3NhZ2UpXHJcbiAgICAgICAgdGhpcy5tb2RhbFJlZi5kaXNtaXNzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy50YWtlQXVkaXQgPWZhbHNlXHJcbiAgfVxyXG4gIGNhbmNlbCgpe1xyXG4gICAgdGhpcy5tb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy52aWV3Q2FuY2VsLCB7XHJcbiAgICAgIHNpemU6J21kJyxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICB9KTsgIFxyXG4gIH1cclxuICBPbkNhbmNlbCgpe1xyXG4gICAgdGhpcy5tb2RhbFJlZi5kaXNtaXNzKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiAqbmdJZj1cIiFleWVWaWV3XCIgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuPGRpdiBjbGFzcz1cImNhcmQgbWItMlwiPlxyXG4gICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nMVwiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGZvcm0gKm5nSWY9XCIhbG9hZGluZzFcIiBbZm9ybUdyb3VwXT1cImV5ZVRlc3RGb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTcgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBweC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ0b3A6IDIwJTtcIiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNCB6LTJcIiBzdHlsZT1cIm1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW2Ryb3BzXT1cIidkb3duJ1wiIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJmYWxzZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgKGNsaWNrKT1cInJlc2V0VmFsaWRhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhcnREYXRlQ2hhbmdlZCk9XCJvblN0YXJ0RGF0ZUNoYW5nZSgkZXZlbnQpXCIgW2lzQ3VzdG9tRGF0ZV09XCJpc0N1c3RvbURhdGVcIiBbYXV0b0FwcGx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJkYXRlcmFuZ2VcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlID09PSdyZW1vdGUnID8gJ2NvbC0yIG1iLTQnIDogJ2NvbC0yIG1iLTQnXCIgY2xhc3M9XCJjb2wtMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInR5cGVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbUNoYW5nZSk9XCJ0eXBlQ2hhbmdlKCRldmVudClcIj48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwiY29sLTEgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhdWRpdFR5cGVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiYXVkaXRUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtQ2hhbmdlKT1cImF1ZGl0VHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJ1wiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXItb3ZlcmxheVwiICpuZ0lmPVwiIShleWVUZXN0Rm9ybS5nZXQoJ1JtTGlzdCcpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBSTVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWdyb3VwLXNlbGVjdCBbaXRlbXNdPVwiUm1MaXN0XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ3VzZXJOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3VzZXJOYW1lJ1wiIChzZWxlY3RlZCk9XCJvblJtU2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiZXllVGVzdEZvcm0uZ2V0KCdSbUxpc3QnKT8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLWdyb3VwLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgfHwgdXNlcnM/LnJvbGUgPT09J2FkbWluJ1wiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXItb3ZlcmxheVwiICpuZ0lmPVwiIShleWVUZXN0Rm9ybS5nZXQoJ0NsdXN0ZXJMaXN0Jyk/LnZhbHVlPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IGNsdXN0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1ncm91cC1zZWxlY3QgW2l0ZW1zXT1cIkNsdXN0ZXJMaXN0XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ2NsdXN0ZXJOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ2NsdXN0ZXJOYW1lJ1wiIChzZWxlY3RlZCk9XCJvbmdyb3VwU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJleWVUZXN0Rm9ybS5nZXQoJ0NsdXN0ZXJMaXN0Jyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1ncm91cC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXItb3ZlcmxheVwiICpuZ0lmPVwiIShleWVUZXN0Rm9ybS5nZXQoJ3N0b3JlTGlzdCcpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBTdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zdG9yZXMtc2VsZWN0IFtpdGVtc109XCJzdG9yZUxpc3RcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3N0b3JlSWQnXCIgKHNlbGVjdGVkKT1cIm9uU3RvcmVTZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnc3RvcmVMaXN0Jyk/LnZhbHVlXCI+PC9saWItc3RvcmVzLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMicgOiAnY29sLTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlciBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdjb21wbGlhbmNlU2NvcmUnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgU2NvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zZWxlY3QtZHJvcCBbaXRlbXNdPVwidHlwZVBlcmNlbnRhZ2VBcnJheVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiAoc2VsZWN0ZWQpPVwidHlwZVBlcmNlbnRhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnY29tcGxpYW5jZVNjb3JlJyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1zZWxlY3QtZHJvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMycgOiAnY29sLTMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlciBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdhdWRpdFN0YXR1cycpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGl0IFN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXNlbGVjdC1kcm9wIFtpdGVtc109XCJhdWRpdFN0YXR1c0FycmF5XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIChzZWxlY3RlZCk9XCJ0eXBlQXVkaXRTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnYXVkaXRTdGF0dXMnKT8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLXNlbGVjdC1kcm9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiXCIgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwibmVhckFkZGl0aW9uXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwibmVhckFkZGl0aW9uQXJyYXlcIiAoaXRlbUNoYW5nZSk9XCJuZWFyQWRkaXRpb25DaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwiY29sLW1kLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNhdGVnb3J5XCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiY2F0ZWdvcnlBcnJheVwiIChpdGVtQ2hhbmdlKT1cImNhdGVnb3J5VHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBcclxuICAqbmdJZj1cInVzZXJzPy5yb2xlXCIgXHJcbiAgY2xhc3M9XCJ0ZXh0LWVuZFwiXHJcbiAgW25nQ2xhc3NdPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlID09PSdyZW1vdGUnID8gJ2NvbC00IG1iLTQnIDogJ2NvbC0yIG1iLTQnXCJcclxuPlxyXG48IS0tIFtuZ0NsYXNzXT1cImdldEFwcGx5QnV0dG9uQ2xhc3ModXNlcnM/LnJvbGUsIGV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSlcIiAtLT5cclxuICA8YSAoY2xpY2spPVwib25TdWJtaXQoKTtcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IHB5LTNcIj5cclxuICAgIDxzcGFuPkFwcGx5PC9zcGFuPlxyXG4gIDwvYT5cclxuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9mb3JtPlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dFeWVUZXN0XCIgY2xhc3M9XCJtcy02IG1iLTNcIj5cclxuXHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBkYXNoZWQgdy0xMDAgIHJvd1wiPlxyXG4gICAgICAgICA8c3BhbiBjbGFzcz1cImNvbC0xMCB0aXRsZS10ZXh0IHB5LTNcIj48c3BhbiBjbGFzcz1cIm14LTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIGZpbGw9XCIjRkVFNEUyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMzVfMjQyMzQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYgMTMuMzMzNVYxNi4wMDAyTTE2IDE4LjY2NjhIMTYuMDA2N00yMi42NjY3IDE2LjAwMDJDMjIuNjY2NyAxOS42ODIxIDE5LjY4MTkgMjIuNjY2OCAxNiAyMi42NjY4QzEyLjMxODEgMjIuNjY2OCA5LjMzMzM3IDE5LjY4MjEgOS4zMzMzNyAxNi4wMDAyQzkuMzMzMzcgMTIuMzE4MyAxMi4zMTgxIDkuMzMzNSAxNiA5LjMzMzVDMTkuNjgxOSA5LjMzMzUgMjIuNjY2NyAxMi4zMTgzIDIyLjY2NjcgMTYuMDAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjM1XzI0MjM0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDggOClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRhc2hlZC1kZXNjXCI+RXllIHRlc3QgdmlkZW8gcHJldmlldyBpcyBhdmFpbGFibGUgZm9yIDMwIGRheXMuIEF1ZGl0IGRhdGFcclxuICAgICAgICAgICAgICAgICByZW1haW5zIGFjY2Vzc2libGUsIGJ1dCB2aWRlb3Mgd2lsbCBub3QgYmUgcmV0YWluZWQgYmV5b25kIHRoaXMgcGVyaW9kLjwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2wtMiBwdC0yIHRleHQtZW5kIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImNsb3NlRXllVGVzdCgpXCI+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTI1IDE1TDE1IDI1TTE1IDE1TDI1IDI1XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICA8L2gzPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG48IS0tIDxkaXYgY2xhc3M9XCJjYXJkIG15LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBweS0xXCI+XHJcbiBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj4gLS0+XHJcblxyXG48ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09J3JtJ1wiIGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC01NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG15LTBcIj5SZWdpb25hbCBNYW5hZ2VyczwvaDU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57e1JtTGlzdERhdGEgPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtNSBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTU1cHggcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgbXktMFwiPkNsdXN0ZXJzPC9oNT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7Z3JvdXBzPy5sZW5ndGggPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgJiYga2V5VHlwZSAhPT0ncm0nIHx8IHVzZXJzPy5yb2xlID09PSdhZG1pbidcIiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNDVweCAgcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPkNsdXN0ZXJzPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IGdyb3Vwcz8ubGVuZ3RoID8/ICctJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggIHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5Ub3RhbCBUYW5nbyBBSSBGaWxlczwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyBleWVUZXN0Q2FyZERhdGE/LnRvdGFsRmlsZXMgPz8gJy0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNDVweCBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+VHJ1c3QgQXVkaXQgQ29tcGxldGVkPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IGV5ZVRlc3RDYXJkRGF0YT8uY29tcGxldGVkRmlsZXMgPz8gJy0nIH19PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS0wIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YlwiPnt7IChleWVUZXN0Q2FyZERhdGE/LmNvbXBsZXRlZFJhdGlvID8/ICctJykgKyAnJScgfX0gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LXN1YlwiPkNvbXBsZXRlZDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4ICBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+VGFuZ28gU2NvcmU8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgZXllVGVzdENhcmREYXRhPy50YW5nb1Njb3JlID8/ICctJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBweS0wIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJleWVUZXN0Q2FyZERhdGE/LnRyZW5kXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZXllVGVzdENhcmREYXRhPy50cmVuZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEzIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83NjBfOTc3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNTc1IDlMNi44MjQ5NSA0LjI1TDQuMzI0OTUgNi43NUwwLjU3NDk1MSAzTTExLjU3NSA5SDguNTc0OTVNMTEuNTc1IDlWNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83NjBfOTc3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjA3NDk1MTIpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtcy0yXCI+e3sgZXllVGVzdENhcmREYXRhPy50YW5nb1Njb3JlVHJlbmQgIT09IG51bGwgXHJcbiAgICAgID8gKGdldEFic1ZhbHVlKGV5ZVRlc3RDYXJkRGF0YS50YW5nb1Njb3JlVHJlbmQpIHwgbnVtYmVyOicxLjAtMCc6J2VuLVVTJykgKyAnJScgXHJcbiAgICAgIDogJy0nIH19XHJcbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LXN1YjFcIj52cyBwcmV2aW91cyB3ZWVrPC9zcGFuPjwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5UcnVzdCBTY29yZTwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyAoZXllVGVzdENhcmREYXRhPy50cnVzdFNjb3JlICYmIGV5ZVRlc3RDYXJkRGF0YT8udHJ1c3RTY29yZSAhPT0gJ05BJyBcclxuICA/IGV5ZVRlc3RDYXJkRGF0YS50cnVzdFNjb3JlICsgJyUnIFxyXG4gIDogJ05BJykgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxkaXYgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0ncm0nXCIgY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIEF1ZGl0IFN1bW1hcnlcclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57eyB0b3RhbEl0ZW1zIH19IFRvdGFsPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEFkbWluICsgY2x1c3RlciBwcmVzZW50IOKGkiBSTSBTdW1tYXJ5IC0tPlxyXG4gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMiBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwia2V5VHlwZSA9PT0nY2x1c3RlcicgJiYgdXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJ1wiIChjbGljayk9XCJ0eXBlVmFsMSgncm0nLCcnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc0NV8xMjEyOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzlcIiBoZWlnaHQ9XCIzOVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNy44MzM0IDIxLjAwMDNIMTYuMTY2N00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAyNi44MzM3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDE1LjE2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ1XzEyMTI4XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSAnYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInIHx8IHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0nY2x1c3RlcidcIiBjbGFzcz1cInRpdGxlLXRleHQgbXktNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIFJNIFN1bW1hcnlcclxuICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSB0ZXh0LWNhcGl0YWxpemVcIj57eyBleWVUZXN0RGF0YVswXT8uUk1OYW1lID8gZXllVGVzdERhdGFbMF0/LlJNTmFtZSA6ICcnIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBBbGwgb3RoZXIgY2FzZXMg4oaSIEV5ZSBUZXN0IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJrZXlUeXBlID09PSdzdG9yZScgJiYgKHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidHlwZVZhbDEoJ2NsdXN0ZXInLHRoaXMucm1FbWFpbClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzQ1XzEyMTI4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzlcIiBoZWlnaHQ9XCIzOVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjcuODMzNCAyMS4wMDAzSDE2LjE2NjdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMjYuODMzN00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAxNS4xNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ1XzEyMTI4XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMiBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwia2V5VHlwZSA9PT0nc3RvcmUnICYmICh1c2Vycz8ucm9sZSA9PT0gJ2FkbWluJylcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0eXBlVmFsMSgnY2x1c3RlcicsdGhpcy5ncm91cHMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCIgdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc0NV8xMjEyOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM5XCIgaGVpZ2h0PVwiMzlcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI3LjgzMzQgMjEuMDAwM0gxNi4xNjY3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDI2LjgzMzdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMTUuMTY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc0NV8xMjEyOFwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiEodXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdybScpICYmICEodXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJykgXHJcbiAgICAgICAgICAgICAgICAmJiAhKHVzZXJzPy5yb2xlID09PSAnYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInKVwiIGNsYXNzPVwidGl0bGUtdGV4dCBteS00IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICBFeWUgVGVzdFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57eyB0b3RhbEl0ZW1zIH19IFRvdGFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0ncm0nXCIgY2xhc3M9XCJ0ZXh0LXN1YiBteS0yXCI+QmFzZWQgb24ge3sgaGVhZERhdGUgfCBkYXRlOiAnTU1NIGQnIH19IC0ge3tcclxuICAgICAgICAgICAgICAgIGhlYWREYXRlRW5kIHwgZGF0ZTogJ01NTSBkLCB5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J2FkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJ1wiIGNsYXNzPVwidGV4dC1zdWIgbXktMlwiPkJhc2VkIG9uIHt7IGhlYWREYXRlIHwgZGF0ZTogJ01NTSBkJyB9fSAtIHt7XHJcbiAgICAgICAgICAgICAgICBoZWFkRGF0ZUVuZCB8IGRhdGU6ICdNTU0gZCwgeScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSd1c2VyJyAmJiBrZXlUeXBlID09PSdzdG9yZSdcIiBjbGFzcz1cInRleHQtc3ViIG15LTJcIj5CYXNlZCBvbiB7eyBoZWFkRGF0ZSB8IGRhdGU6ICdNTU0gZCcgfX0gLSB7e1xyXG4gICAgICAgICAgICAgICAgaGVhZERhdGVFbmQgfCBkYXRlOiAnTU1NIGQsIHknIH19PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cInNlYXJjaERhdGEoKVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleVR5cGUgPT09ICdybSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdTZWFyY2ggYnkgUk1OYW1lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDoga2V5VHlwZSA9PT0gJ2NsdXN0ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnU2VhcmNoIGJ5IENsdXN0ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnU2VhcmNoJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCIgLz5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJ1wiIChjbGljayk9XCJzZXR0aW5nc1ZpZXcoKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDVcIiBoZWlnaHQ9XCI0NlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQ1IDQ2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc2MF85OTg4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjcxOTczXCIgeT1cIjEuOTgwNDdcIiB3aWR0aD1cIjQwLjA0XCIgaGVpZ2h0PVwiNDAuMDRcIiByeD1cIjcuMjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzLjE3NDczXCIgeT1cIjIuNDM1NDdcIiB3aWR0aD1cIjM5LjEzXCIgaGVpZ2h0PVwiMzkuMTNcIiByeD1cIjYuODI1XCIgc3Ryb2tlPVwiI0QwRDVERFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzYwXzk5ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIyLjczOTYgMjQuMjc0OUMyMy45OTYxIDI0LjI3NDkgMjUuMDE0NiAyMy4yNTYzIDI1LjAxNDYgMjEuOTk5OUMyNS4wMTQ2IDIwLjc0MzQgMjMuOTk2MSAxOS43MjQ5IDIyLjczOTYgMTkuNzI0OUMyMS40ODMyIDE5LjcyNDkgMjAuNDY0NiAyMC43NDM0IDIwLjQ2NDYgMjEuOTk5OUMyMC40NjQ2IDIzLjI1NjMgMjEuNDgzMiAyNC4yNzQ5IDIyLjczOTYgMjQuMjc0OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNTE5N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOC4zNTEzIDI0LjI3NDlDMjguMjUwMyAyNC41MDM2IDI4LjIyMDIgMjQuNzU3MyAyOC4yNjQ4IDI1LjAwMzNDMjguMzA5NCAyNS4yNDkzIDI4LjQyNjcgMjUuNDc2MyAyOC42MDE1IDI1LjY1NUwyOC42NDcgMjUuNzAwNUMyOC43ODggMjUuODQxNCAyOC44OTk5IDI2LjAwODcgMjguOTc2MiAyNi4xOTI4QzI5LjA1MjYgMjYuMzc2OSAyOS4wOTE5IDI2LjU3NDMgMjkuMDkxOSAyNi43NzM2QzI5LjA5MTkgMjYuOTcyOSAyOS4wNTI2IDI3LjE3MDMgMjguOTc2MiAyNy4zNTQ0QzI4Ljg5OTkgMjcuNTM4NSAyOC43ODggMjcuNzA1OCAyOC42NDcgMjcuODQ2NkMyOC41MDYyIDI3Ljk4NzYgMjguMzM4OSAyOC4wOTk1IDI4LjE1NDggMjguMTc1OEMyNy45NzA3IDI4LjI1MjIgMjcuNzczMyAyOC4yOTE0IDI3LjU3NCAyOC4yOTE0QzI3LjM3NDcgMjguMjkxNCAyNy4xNzczIDI4LjI1MjIgMjYuOTkzMiAyOC4xNzU4QzI2LjgwOTEgMjguMDk5NSAyNi42NDE4IDI3Ljk4NzYgMjYuNTAwOSAyNy44NDY2TDI2LjQ1NTQgMjcuODAxMUMyNi4yNzY3IDI3LjYyNjMgMjYuMDQ5NyAyNy41MDkgMjUuODAzNyAyNy40NjQ0QzI1LjU1NzcgMjcuNDE5OCAyNS4zMDQgMjcuNDQ5OSAyNS4wNzUzIDI3LjU1MDlDMjQuODUxIDI3LjY0NyAyNC42NTk3IDI3LjgwNjYgMjQuNTI1IDI4LjAxMDFDMjQuMzkwMiAyOC4yMTM1IDI0LjMxNzkgMjguNDUxOSAyNC4zMTY5IDI4LjY5NlYyOC44MjQ5QzI0LjMxNjkgMjkuMjI3MSAyNC4xNTcyIDI5LjYxMjkgMjMuODcyNyAyOS44OTczQzIzLjU4ODMgMzAuMTgxNyAyMy4yMDI1IDMwLjM0MTUgMjIuODAwMyAzMC4zNDE1QzIyLjM5OCAzMC4zNDE1IDIyLjAxMjMgMzAuMTgxNyAyMS43Mjc4IDI5Ljg5NzNDMjEuNDQzNCAyOS42MTI5IDIxLjI4MzYgMjkuMjI3MSAyMS4yODM2IDI4LjgyNDlWMjguNzU2NkMyMS4yNzc3IDI4LjUwNTYgMjEuMTk2NSAyOC4yNjIyIDIxLjA1MDQgMjguMDU4QzIwLjkwNDQgMjcuODUzOCAyMC43MDAzIDI3LjY5ODIgMjAuNDY0NiAyNy42MTE1QzIwLjIzNTkgMjcuNTEwNiAxOS45ODIyIDI3LjQ4MDUgMTkuNzM2MiAyNy41MjUxQzE5LjQ5MDIgMjcuNTY5NyAxOS4yNjMyIDI3LjY4NyAxOS4wODQ0IDI3Ljg2MThMMTkuMDM4OSAyNy45MDczQzE4Ljg5ODEgMjguMDQ4MyAxOC43MzA4IDI4LjE2MDIgMTguNTQ2NyAyOC4yMzY1QzE4LjM2MjYgMjguMzEyOCAxOC4xNjUyIDI4LjM1MjEgMTcuOTY1OSAyOC4zNTIxQzE3Ljc2NjYgMjguMzUyMSAxNy41NjkyIDI4LjMxMjggMTcuMzg1MSAyOC4yMzY1QzE3LjIwMSAyOC4xNjAyIDE3LjAzMzcgMjguMDQ4MyAxNi44OTI5IDI3LjkwNzNDMTYuNzUxOSAyNy43NjY0IDE2LjY0IDI3LjU5OTIgMTYuNTYzNyAyNy40MTVDMTYuNDg3MyAyNy4yMzA5IDE2LjQ0OCAyNy4wMzM2IDE2LjQ0OCAyNi44MzQyQzE2LjQ0OCAyNi42MzQ5IDE2LjQ4NzMgMjYuNDM3NiAxNi41NjM3IDI2LjI1MzVDMTYuNjQgMjYuMDY5MyAxNi43NTE5IDI1LjkwMjEgMTYuODkyOSAyNS43NjEyTDE2LjkzODQgMjUuNzE1N0MxNy4xMTMyIDI1LjUzNyAxNy4yMzA1IDI1LjMxIDE3LjI3NTEgMjUuMDY0QzE3LjMxOTcgMjQuODE4IDE3LjI4OTYgMjQuNTY0MyAxNy4xODg2IDI0LjMzNTVDMTcuMDkyNSAyNC4xMTEyIDE2LjkzMjkgMjMuOTIgMTYuNzI5NCAyMy43ODUyQzE2LjUyNiAyMy42NTA1IDE2LjI4NzYgMjMuNTc4MiAxNi4wNDM1IDIzLjU3NzJIMTUuOTE0NkMxNS41MTI0IDIzLjU3NzIgMTUuMTI2NiAyMy40MTc0IDE0Ljg0MjIgMjMuMTMzQzE0LjU1NzcgMjIuODQ4NiAxNC4zOTc5IDIyLjQ2MjggMTQuMzk3OSAyMi4wNjA1QzE0LjM5NzkgMjEuNjU4MyAxNC41NTc3IDIxLjI3MjUgMTQuODQyMiAyMC45ODgxQzE1LjEyNjYgMjAuNzAzNyAxNS41MTI0IDIwLjU0MzkgMTUuOTE0NiAyMC41NDM5SDE1Ljk4MjlDMTYuMjMzOSAyMC41MzggMTYuNDc3MyAyMC40NTY4IDE2LjY4MTUgMjAuMzEwN0MxNi44ODU3IDIwLjE2NDYgMTcuMDQxMyAxOS45NjA1IDE3LjEyNzkgMTkuNzI0OUMxNy4yMjg5IDE5LjQ5NjEgMTcuMjU5IDE5LjI0MjQgMTcuMjE0NCAxOC45OTY0QzE3LjE2OTggMTguNzUwNCAxNy4wNTI1IDE4LjUyMzQgMTYuODc3NyAxOC4zNDQ3TDE2LjgzMjIgMTguMjk5MkMxNi42OTEyIDE4LjE1ODMgMTYuNTc5MyAxNy45OTExIDE2LjUwMyAxNy44MDdDMTYuNDI2NyAxNy42MjI4IDE2LjM4NzQgMTcuNDI1NSAxNi4zODc0IDE3LjIyNjJDMTYuMzg3NCAxNy4wMjY4IDE2LjQyNjcgMTYuODI5NSAxNi41MDMgMTYuNjQ1NEMxNi41NzkzIDE2LjQ2MTIgMTYuNjkxMiAxNi4yOTQgMTYuODMyMiAxNi4xNTMxQzE2Ljk3MzEgMTYuMDEyMSAxNy4xNDAzIDE1LjkwMDIgMTcuMzI0NCAxNS44MjM5QzE3LjUwODYgMTUuNzQ3NiAxNy43MDU5IDE1LjcwODMgMTcuOTA1MiAxNS43MDgzQzE4LjEwNDYgMTUuNzA4MyAxOC4zMDE5IDE1Ljc0NzYgMTguNDg2IDE1LjgyMzlDMTguNjcwMiAxNS45MDAyIDE4LjgzNzQgMTYuMDEyMSAxOC45NzgzIDE2LjE1MzFMMTkuMDIzOCAxNi4xOTg2QzE5LjIwMjUgMTYuMzczNCAxOS40Mjk1IDE2LjQ5MDcgMTkuNjc1NSAxNi41MzUzQzE5LjkyMTUgMTYuNTc5OSAyMC4xNzUyIDE2LjU0OTggMjAuNDAzOSAxNi40NDg5SDIwLjQ2NDZDMjAuNjg4OSAxNi4zNTI3IDIwLjg4MDIgMTYuMTkzMSAyMS4wMTQ5IDE1Ljk4OTdDMjEuMTQ5NyAxNS43ODYyIDIxLjIyMiAxNS41NDc4IDIxLjIyMjkgMTUuMzAzOFYxNS4xNzQ5QzIxLjIyMjkgMTQuNzcyNiAyMS4zODI3IDE0LjM4NjkgMjEuNjY3MiAxNC4xMDI0QzIxLjk1MTYgMTMuODE4IDIyLjMzNzQgMTMuNjU4MiAyMi43Mzk2IDEzLjY1ODJDMjMuMTQxOSAxMy42NTgyIDIzLjUyNzYgMTMuODE4IDIzLjgxMjEgMTQuMTAyNEMyNC4wOTY1IDE0LjM4NjkgMjQuMjU2MyAxNC43NzI2IDI0LjI1NjMgMTUuMTc0OVYxNS4yNDMxQzI0LjI1NzMgMTUuNDg3MSAyNC4zMjk2IDE1LjcyNTYgMjQuNDY0MyAxNS45MjlDMjQuNTk5IDE2LjEzMjUgMjQuNzkwMyAxNi4yOTIxIDI1LjAxNDYgMTYuMzg4MkMyNS4yNDMzIDE2LjQ4OTEgMjUuNDk3MSAxNi41MTkzIDI1Ljc0MzEgMTYuNDc0N0MyNS45ODkxIDE2LjQzMDEgMjYuMjE2MSAxNi4zMTI4IDI2LjM5NDggMTYuMTM4TDI2LjQ0MDMgMTYuMDkyNUMyNi41ODExIDE1Ljk1MTQgMjYuNzQ4NCAxNS44Mzk2IDI2LjkzMjUgMTUuNzYzMkMyNy4xMTY3IDE1LjY4NjkgMjcuMzE0IDE1LjY0NzYgMjcuNTEzMyAxNS42NDc2QzI3LjcxMjYgMTUuNjQ3NiAyNy45MSAxNS42ODY5IDI4LjA5NDEgMTUuNzYzMkMyOC4yNzgyIDE1LjgzOTYgMjguNDQ1NSAxNS45NTE0IDI4LjU4NjQgMTYuMDkyNUMyOC43Mjc0IDE2LjIzMzMgMjguODM5MiAxNi40MDA2IDI4LjkxNTYgMTYuNTg0N0MyOC45OTE5IDE2Ljc2ODggMjkuMDMxMiAxNi45NjYyIDI5LjAzMTIgMTcuMTY1NUMyOS4wMzEyIDE3LjM2NDggMjguOTkxOSAxNy41NjIyIDI4LjkxNTYgMTcuNzQ2M0MyOC44MzkyIDE3LjkzMDQgMjguNzI3NCAxOC4wOTc3IDI4LjU4NjQgMTguMjM4NUwyOC41NDA5IDE4LjI4NEMyOC4zNjYgMTguNDYyOCAyOC4yNDg4IDE4LjY4OTggMjguMjA0MiAxOC45MzU4QzI4LjE1OTYgMTkuMTgxOCAyOC4xODk3IDE5LjQzNTUgMjguMjkwNiAxOS42NjQyVjE5LjcyNDlDMjguMzg2NyAxOS45NDkyIDI4LjU0NjQgMjAuMTQwNCAyOC43NDk4IDIwLjI3NTJDMjguOTUzMyAyMC40MDk5IDI5LjE5MTcgMjAuNDgyMiAyOS40MzU3IDIwLjQ4MzJIMjkuNTY0NkMyOS45NjY5IDIwLjQ4MzIgMzAuMzUyNiAyMC42NDMgMzAuNjM3MSAyMC45Mjc0QzMwLjkyMTUgMjEuMjExOSAzMS4wODEzIDIxLjU5NzYgMzEuMDgxMyAyMS45OTk5QzMxLjA4MTMgMjIuNDAyMSAzMC45MjE1IDIyLjc4NzkgMzAuNjM3MSAyMy4wNzIzQzMwLjM1MjYgMjMuMzU2NyAyOS45NjY5IDIzLjUxNjUgMjkuNTY0NiAyMy41MTY1SDI5LjQ5NjRDMjkuMjUyMyAyMy41MTc1IDI5LjAxMzkgMjMuNTg5OCAyOC44MTA1IDIzLjcyNDZDMjguNjA3IDIzLjg1OTMgMjguNDQ3NCAyNC4wNTA2IDI4LjM1MTMgMjQuMjc0OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNTE5N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzYwXzk5ODhcIiB4PVwiMC43MTk3MjdcIiB5PVwiMC45ODA0NjlcIiB3aWR0aD1cIjQ0LjA0XCIgaGVpZ2h0PVwiNDQuMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc2MF85OTg4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NjBfOTk4OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzYwXzk5ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOC4yXCIgaGVpZ2h0PVwiMTguMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTMuNjM5NiAxMi45MDA0KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZXhwb3J0WExTWCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAxOSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgPHBhdGggZD1cIk03LjUzMzY5IDEyLjg0NDFIMTUuMDI0MUwxMy41NTY4IDE0LjMxNzJMMTQuMzU4NyAxNS4xMTkxTDE3LjIwMjQgMTIuMjc1NEwxNC4zNTg3IDkuNDMxNjRMMTMuNTU2OCAxMC4yMzM2TDE1LjAyNDEgMTEuNzA2Nkg3LjUzMzY5VjEyLjg0NDFaXCIgZmlsbD1cImJsYWNrXCIvPlxyXG4gIDxwYXRoIGQ9XCJNMTIuNjUyNiA4Ljg2MzFWNi41ODgxQzEyLjY1MyA2LjUxMzI1IDEyLjYzODcgNi40MzkwNCAxMi42MTA0IDYuMzY5NzVDMTIuNTgyMSA2LjMwMDQ1IDEyLjU0MDQgNi4yMzc0MyAxMi40ODc3IDYuMTg0MjhMOC41MDY0IDIuMjAzMDNDOC40NTMyNiAyLjE1MDMyIDguMzkwMjMgMi4xMDg2MiA4LjMyMDk0IDIuMDgwMzFDOC4yNTE2NCAyLjA1MjAxIDguMTc3NDQgMi4wMzc2NiA4LjEwMjU5IDIuMDM4MUgyLjQxNTA5QzIuMTEzNCAyLjAzODEgMS44MjQwOCAyLjE1Nzk0IDEuNjEwNzUgMi4zNzEyNkMxLjM5NzQzIDIuNTg0NTggMS4yNzc1OSAyLjg3MzkxIDEuMjc3NTkgMy4xNzU2VjE2LjgyNTZDMS4yNzc1OSAxNy4xMjczIDEuMzk3NDMgMTcuNDE2NiAxLjYxMDc1IDE3LjYyOTlDMS44MjQwOCAxNy44NDMzIDIuMTEzNCAxNy45NjMxIDIuNDE1MDkgMTcuOTYzMUgxMS41MTUxQzExLjgxNjggMTcuOTYzMSAxMi4xMDYxIDE3Ljg0MzMgMTIuMzE5NCAxNy42Mjk5QzEyLjUzMjcgMTcuNDE2NiAxMi42NTI2IDE3LjEyNzMgMTIuNjUyNiAxNi44MjU2VjE1LjY4ODFIMTEuNTE1MVYxNi44MjU2SDIuNDE1MDlWMy4xNzU2SDYuOTY1MDlWNi41ODgxQzYuOTY1MDkgNi44ODk3OCA3LjA4NDkzIDcuMTc5MTEgNy4yOTgyNiA3LjM5MjQzQzcuNTExNTggNy42MDU3NSA3LjgwMDkxIDcuNzI1NiA4LjEwMjU5IDcuNzI1NkgxMS41MTUxVjguODYzMUgxMi42NTI2Wk04LjEwMjU5IDYuNTg4MVYzLjQwODc4TDExLjI4MTkgNi41ODgxSDguMTAyNTlaXCIgZmlsbD1cImJsYWNrXCIvPlxyXG48L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgZXllIHRlc3QgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJrZXlUeXBlID09PSdzdG9yZSdcIiBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkYXRlJylcIj4gRGF0ZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2RhdGUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2RhdGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdWRpdGVkRGF0ZScpXCI+QXVkaXRlZCBEYXRlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRlZERhdGUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWREYXRlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbidcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJNIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyB8fCB1c2Vycz8ucm9sZSA9PT0nYWRtaW4nXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2x1c3RlciBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIj5TdG9yZSBOYW1lIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlSWQnKVwiPlN0b3JlIElEIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVJZCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVJZCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInRoaXMudHlwZVZhbHVlID09PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+RW5nYWdlbWVudCBJRDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+T3B0b20gSUQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlF1ZXVlIElEPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ0NvbXBsaWFuY2VTY29yZScpXCI+VGFuZ28gU2NvcmUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdDb21wbGlhbmNlU2NvcmUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ0NvbXBsaWFuY2VTY29yZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NvdmVyZWRTdGVwc0FJJylcIj5TdGVwcyBDb3ZlcmVkIEJ5IEFJIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY292ZXJlZFN0ZXBzQUknICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvdmVyZWRTdGVwc0FJJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgndHJ1c3RTY29yZScpXCI+VHJ1c3QgU2NvcmUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICd0cnVzdFNjb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICd0cnVzdFNjb3JlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IDwvdGg+XHJcblxyXG48dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2F1ZGl0ZWRTdGVwcycpXCI+U3RlcHMgQ292ZXJlZCBCeSBIdW1hbiA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWRTdGVwcycgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRlZFN0ZXBzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdodW1hbkNvbXBsaWFuY2VTY29yZScpXCI+SHVtYW4gQXVkaXRlZCBTY29yZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2h1bWFuQ29tcGxpYW5jZVNjb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdodW1hbkNvbXBsaWFuY2VTY29yZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydCgndmlzaXRvcnNUeXBlJylcIj5WaXNpdG9yIFR5cGUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICd2aXNpdG9yc1R5cGUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3Zpc2l0b3JzVHlwZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VGVzdCBEdXJhdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIiAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydCgnY29tbWVudCcpXCI+RXllIFRlc3QgU3RhdHVzIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY29tbWVudCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY29tbWVudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Tb3J0KCdzdWJDb21tZW50JylcIj5Db21tZW50cyA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N1YkNvbW1lbnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N1YkNvbW1lbnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2F1ZGl0U3RhdHVzJylcIj5BdWRpdCBTdGF0dXMgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdhdWRpdFN0YXR1cycgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRTdGF0dXMnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXVkaXRlZCBCeTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGV5ZVRlc3REYXRhOyBsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5kYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5hdWRpdGVkRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9iaj8uUk1OYW1lXCI+XHJcbiAgICA8IS0tIFNwbGl0IGFuZCBzaG93IHRoZSBmaXJzdCB2YWx1ZSAtLT5cclxuICAgIHt7IG9iai5STU5hbWUuc3BsaXQoJywnKVswXSB9fVxyXG5cclxuICAgIDwhLS0gU2hvdyArTiBiYWRnZSBpZiBtb3JlIHZhbHVlcyBleGlzdCAtLT5cclxuICAgIDxzcGFuICpuZ0lmPVwib2JqLlJNTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCA+IDFcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXMtMlwiPlxyXG4gICAgICAre3sgb2JqLlJNTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCAtIDEgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgfHwgdXNlcnM/LnJvbGUgPT09J2FkbWluJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9iaj8uY2x1c3Rlck5hbWVcIj5cclxuIHt7IG9iai5jbHVzdGVyTmFtZS5zcGxpdCgnLCcpWzBdIH19XHJcbiA8c3BhbiAqbmdJZj1cIm9iai5jbHVzdGVyTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCA+IDFcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXMtMlwiPlxyXG4gICAgICAre3sgb2JqLmNsdXN0ZXJOYW1lLnNwbGl0KCcsJykubGVuZ3RoIC0gMSB9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN0b3JlTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5zdG9yZUlkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiIGNsYXNzPVwiZW5nYWdlLXRleHRcIj57e29iaj8uZW5nYWdlbWVudElkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPnt7b2JqPy5vcHR1bUlkID8gb2JqPy5vcHR1bUlkIDonJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCIgY2xhc3M9XCJlbmdhZ2UtdGV4dFwiPnt7b2JqPy5xdWV1ZUlkID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaj8ucXVldWVJZDonJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAge3sgb2JqPy5jb21wbGlhbmNlU2NvcmUgPz8gJy0tJyB9fVxyXG48L3RkPlxyXG48dGQ+e3tvYmo/LmNvdmVyZWRTdGVwc0FJID8gb2JqPy5jb3ZlcmVkU3RlcHNBSTonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8udHJ1c3RTY29yZSA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uYXVkaXRlZFN0ZXBzID8gb2JqPy5hdWRpdGVkU3RlcHM6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/Lmh1bWFuQ29tcGxpYW5jZVNjb3JlID8gb2JqPy5odW1hbkNvbXBsaWFuY2VTY29yZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCIgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPnt7b2JqPy52aXNpdG9yc1R5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqPy52aXNpdG9yc1R5cGU6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5taW4gPyBvYmo/Lm1pbiA6JzAnfX0gbWlucyB7e29iaj8uc2VjID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaj8uc2VjOicwJ319IHNlY3M8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPlxyXG4gIDxzcGFuIFxyXG4gICAgY2xhc3M9XCJiYWRnZVwiIFxyXG4gICAgW25nQ2xhc3NdPVwib2JqPy5jb21tZW50ID8gJ2JhZGdlLWxpZ2h0LWRhbmdlcicgOiAnYmFkZ2UtbGlnaHQtc3VjY2VzcydcIj5cclxuICAgIHt7IG9iaj8uY29tbWVudCA/ICdGYWtlJyA6ICdHZW51aW5lJyB9fVxyXG4gIDwvc3Bhbj5cclxuPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uc3ViQ29tbWVudCA/IG9iaj8uc3ViQ29tbWVudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iaj8uYXVkaXRTdGF0dXMgPT09J1lldC10by1BdWRpdCdcIj57e29iaj8uYXVkaXRTdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvYmo/LmF1ZGl0U3RhdHVzID09PSdSZS1BdWRpdGVkJ1wiPnt7b2JqPy5hdWRpdFN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iaj8uYXVkaXRTdGF0dXMgPT09J0F1ZGl0ZWQnXCI+e3tvYmo/LmF1ZGl0U3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqPy5hdWRpdFN0YXR1cyA9PT0nSW4tUHJvZ3Jlc3MnXCI+e3tvYmo/LmF1ZGl0U3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uYXVkaXRlZEJ5P29iaj8uYXVkaXRlZEJ5OlwiLVwifX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJleWVUZXN0VmlldyhvYmopXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDIwIDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuODMzNDk2IDguMDAwMTZDMC44MzM0OTYgOC4wMDAxNiA0LjE2NjgzIDEuMzMzNSAxMC4wMDAyIDEuMzMzNUMxNS44MzM1IDEuMzMzNSAxOS4xNjY4IDguMDAwMTYgMTkuMTY2OCA4LjAwMDE2QzE5LjE2NjggOC4wMDAxNiAxNS44MzM1IDE0LjY2NjggMTAuMDAwMiAxNC42NjY4QzQuMTY2ODMgMTQuNjY2OCAwLjgzMzQ5NiA4LjAwMDE2IDAuODMzNDk2IDguMDAwMTZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAuMDAwMiAxMC41MDAyQzExLjM4MDkgMTAuNTAwMiAxMi41MDAyIDkuMzgwODcgMTIuNTAwMiA4LjAwMDE2QzEyLjUwMDIgNi42MTk0NSAxMS4zODA5IDUuNTAwMTYgMTAuMDAwMiA1LjUwMDE2QzguNjE5NDUgNS41MDAxNiA3LjUwMDE2IDYuNjE5NDUgNy41MDAxNiA4LjAwMDE2QzcuNTAwMTYgOS4zODA4NyA4LjYxOTQ1IDEwLjUwMDIgMTAuMDAwMiAxMC41MDAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgIDx0YWJsZSAqbmdJZj1cImtleVR5cGUgPT09J3JtJ1wiIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ1JNTmFtZScpXCI+IFJNIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdSTU5hbWUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ1JNTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NsdXN0ZXJDb3VudCcpXCI+IENsdXN0ZXJzIENvdW50IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3RlckNvdW50JyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdjbHVzdGVyQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZXNDb3VudCcpXCI+U3RvcmVzIENvdW50IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVzQ291bnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3Jlc0NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgVGFuZ28gQUkgRmlsZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgVHJ1c3QgQXVkaXQgQ29tcGxldGVkIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBTY29yZSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3QgU2NvcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGV5ZVRlc3REYXRhOyBsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5STU5hbWUgPyBvYmo/LlJNTmFtZTonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmNsdXN0ZXJDb3VudCA/IG9iaj8uY2x1c3RlckNvdW50OictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uc3RvcmVzQ291bnQgPyBvYmo/LnN0b3Jlc0NvdW50OictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8udG90YWxGaWxlcyA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmNvbXBsZXRlZEZpbGVzID8/ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmNvbXBsaWFuY2VTY29yZSA/PyAnLS0nfX1cclxuIFxyXG48L3RkPlxyXG48dGQ+XHJcbiAge3sgb2JqPy50cnVzdFNjb3JlID8/ICctLScgfX1cclxuPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidHlwZVZhbCgnY2x1c3Rlcicsb2JqKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJrZXlUeXBlID09PSdjbHVzdGVyJ1wiIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NsdXN0ZXJOYW1lJylcIj4gQ2x1c3RlcnMgTmFtZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NsdXN0ZXJOYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdjbHVzdGVyTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3Jlc0NvdW50JylcIj5TdG9yZXMgQ291bnQgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZXNDb3VudCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVzQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCBUYW5nbyBBSSBGaWxlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcnVzdCBBdWRpdCBDb21wbGV0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gU2NvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3QgU2NvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPkFjdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBvYmogb2YgZXllVGVzdERhdGE7IGxldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmNsdXN0ZXJOYW1lID8gb2JqPy5jbHVzdGVyTmFtZTonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN0b3Jlc0NvdW50ID8gb2JqPy5zdG9yZXNDb3VudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnRvdGFsRmlsZXMgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jb21wbGV0ZWRGaWxlcyA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gIHt7IG9iaj8uY29tcGxpYW5jZVNjb3JlID8/ICAnLS0nIH19XHJcbjwvdGQ+XHJcbjx0ZD5cclxuICB7eyBvYmo/LnRydXN0U2NvcmUgPz8gJy0tJyB9fVxyXG48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0eXBlVmFsKCdzdG9yZScsb2JqKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCIgKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCI+XHJcbiAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG5cclxuXHJcbjxzZWN0aW9uICpuZ0lmPVwiZXllVmlld1wiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIG10LTRcIj5cclxuPGRpdiAgY2xhc3M9XCJjYXJkIHAtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IChjbGljayk9XCJiYWNrTmF2aWdhdGlvbigpXCIgIGNsYXNzPVwiYnRuIGJ0bi1hbSBidG4tb3V0bGluZSBwLTNcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS44MzMyIDkuOTk5ODRINC4xNjY1TTQuMTY2NSA5Ljk5OTg0TDkuOTk5ODQgMTUuODMzMk00LjE2NjUgOS45OTk4NEw5Ljk5OTg0IDQuMTY2NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiAgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlICE9PSAncmVtb3RlJ1wiIGNsYXNzPVwibXMtMyBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+e3thdWRpdERldGFpbHM/Lm9wdHVtSWR9fTwvc3Bhbj4gXHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwibXMtMyBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMTAuNVY5LjVDMTAgOC45Njk1NyA5Ljc4OTI5IDguNDYwODYgOS40MTQyMSA4LjA4NTc5QzkuMDM5MTQgNy43MTA3MSA4LjUzMDQzIDcuNSA4IDcuNUg0QzMuNDY5NTcgNy41IDIuOTYwODYgNy43MTA3MSAyLjU4NTc5IDguMDg1NzlDMi4yMTA3MSA4LjQ2MDg2IDIgOC45Njk1NyAyIDkuNVYxMC41TTggMy41QzggNC42MDQ1NyA3LjEwNDU3IDUuNSA2IDUuNUM0Ljg5NTQzIDUuNSA0IDQuNjA0NTcgNCAzLjVDNCAyLjM5NTQzIDQuODk1NDMgMS41IDYgMS41QzcuMTA0NTcgMS41IDggMi4zOTU0MyA4IDMuNVpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz48L3NwYW4+e3thdWRpdERldGFpbHM/LmRpc3BsYXlOYW1lID8gYXVkaXREZXRhaWxzPy5kaXNwbGF5TmFtZTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBtcy0xIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyAgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ2XCIgdmlld0JveD1cIjAgMCA0NiA0NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0ICB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCJcIiBvcGFjaXR5PVwiMC4xXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0ICB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIlwiIHN0cm9rZS13aWR0aD1cIjZcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggIGQ9XCJNMTUuNjc5OSAxOC44MDM5TDE1LjYyNjcgMTguODg3MUMxNS4wNjg2IDE5Ljg3NDEgMTUuNjY0NCAyMS4xMjE1IDE2LjczNjEgMjEuMjY0NkMxNi44MzMxIDIxLjI3NjUgMTYuOTIzNSAyMS4yODI4IDE3LjAxMTggMjEuMjgyOEMxNy41ODk5IDIxLjI4MjggMTguMTAxMSAyMS4wMzQ4IDE4LjQ1NzQgMjAuNjQ4TDE5LjAxMDcgMjAuMDQ3NEwxOS41NjIxIDIwLjY0OThDMTkuOTE0MSAyMS4wMzQyIDIwLjQyNDEgMjEuMjgyOCAyMS4wMDYxIDIxLjI4MjhDMjEuNTg1NiAyMS4yODI4IDIyLjA5ODUgMjEuMDMzOCAyMi40NTAyIDIwLjY0OThMMjMuMDAzMyAyMC4wNDU1TDIzLjU1NjUgMjAuNjQ5OEMyMy45MDgxIDIxLjAzMzggMjQuNDIxMSAyMS4yODI4IDI1LjAwMDUgMjEuMjgyOEMyNS41OCAyMS4yODI4IDI2LjA5MjkgMjEuMDMzOCAyNi40NDQ1IDIwLjY0OThMMjYuOTk3NyAyMC4wNDU1TDI3LjU1MDkgMjAuNjQ5OEMyNy45MDI1IDIxLjAzMzggMjguNDE1NSAyMS4yODI4IDI4Ljk5NDkgMjEuMjgyOEMyOS4wODAzIDIxLjI4MjggMjkuMTczMyAyMS4yNzY1IDI5LjI2OTcgMjEuMjY0N0MzMC4zNjQ5IDIxLjExNTQgMzAuOTYyNyAxOS44MDEyIDMwLjMyNCAxOC44MDQ0QzMwLjMyNCAxOC44MDQzIDMwLjMyNCAxOC44MDQzIDMwLjMyMzkgMTguODA0MkwyOC41NjU4IDE2LjA2MjhMMjguNTY1OCAxNi4wNjI4TDI4LjU2NDggMTYuMDYxNEMyOC41NDk2IDE2LjAzNzUgMjguNTEyMSAxNi4wMTIgMjguNDY1IDE2LjAxMkgxNy41MzU2QzE3LjQ4ODQgMTYuMDEyIDE3LjQ1MDkgMTYuMDM3NSAxNy40MzU3IDE2LjA2MTRMMTcuNDM1MSAxNi4wNjIzTDE1LjY3OTkgMTguODAzOVpNMjguNjUxNCAyMy43MzcyVjI2Ljg2OTFWMjcuNjE5MUgyNy45MDE0SDE4LjA5OTJIMTcuMzQ5MlYyNi44NjkxVjIzLjczNzZDMTcuMjM5IDIzLjc0NTggMTcuMTI3NCAyMy43NTAxIDE3LjAxNDggMjMuNzUwMUMxNi45NzI1IDIzLjc1MDEgMTYuOTMwNSAyMy43NDk0IDE2Ljg4ODggMjMuNzQ4MlYyNi44NjkxVjI4LjgwMzZDMTYuODg4OCAyOS40NDcxIDE3LjQyMjcgMjkuOTg4MiAxOC4wOTkyIDI5Ljk4ODJIMjcuOTAxNEMyOC41Nzc5IDI5Ljk4ODIgMjkuMTExOCAyOS40NDcxIDI5LjExMTggMjguODAzNlYyNi44NjkxVjIzLjc0ODRDMjkuMDcyIDIzLjc0OTUgMjkuMDMyIDIzLjc1MDEgMjguOTkxOCAyMy43NTAxQzI4Ljg3NzQgMjMuNzUwMSAyOC43NjM5IDIzLjc0NTcgMjguNjUxNCAyMy43MzcyWlwiIHN0cm9rZT1cIiMwMDAwMDBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIj48L3BhdGg+PC9zdmc+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMSBzdWItdGl0bGVcIj4ge3thdWRpdERldGFpbHMuc3RvcmVOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIDwhLS0gZGlzcGxheU5hbWUgLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgIT09ICdyZW1vdGUnXCIgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk01LjI1MDIxIDYuNTAwMjhDNS45MTMyOSA2LjUwMDI4IDYuNTQ5MjEgNi4yMzY4OSA3LjAxODA3IDUuNzY4MDdDNy40ODY5NCA1LjI5OTI0IDcuNzUwMzUgNC42NjMzNyA3Ljc1MDM1IDQuMDAwMzVDNy43NTAzNSAzLjMzNzMyIDcuNDg2OTQgMi43MDE0NiA3LjAxODA3IDIuMjMyNjNDNi41NDkyMSAxLjc2MzggNS45MTMyOSAxLjUwMDQyIDUuMjUwMjEgMS41MDA0MkM0LjU4NzEzIDEuNTAwNDIgMy45NTEyMSAxLjc2MzggMy40ODIzNCAyLjIzMjYzQzMuMDEzNDggMi43MDE0NiAyLjc1MDA3IDMuMzM3MzIgMi43NTAwNyA0LjAwMDM1QzIuNzUwMDcgNC42NjMzNyAzLjAxMzQ4IDUuMjk5MjQgMy40ODIzNCA1Ljc2ODA3QzMuOTUxMjEgNi4yMzY4OSA0LjU4NzEzIDYuNTAwMjggNS4yNTAyMSA2LjUwMDI4Wk01LjI1MDIxIDUuMjUwMzFDNC45MTg2NyA1LjI1MDMxIDQuNjAwNzEgNS4xMTg2MiA0LjM2NjI4IDQuODg0MjFDNC4xMzE4NCA0LjY0OTc5IDQuMDAwMTQgNC4zMzE4NiA0LjAwMDE0IDQuMDAwMzVDNC4wMDAxNCAzLjY2ODg0IDQuMTMxODQgMy4zNTA5IDQuMzY2MjggMy4xMTY0OUM0LjYwMDcxIDIuODgyMDcgNC45MTg2NyAyLjc1MDM4IDUuMjUwMjEgMi43NTAzOEM1LjU4MTc1IDIuNzUwMzggNS44OTk3MSAyLjg4MjA3IDYuMTM0MTQgMy4xMTY0OUM2LjM2ODU3IDMuMzUwOSA2LjUwMDI4IDMuNjY4ODQgNi41MDAyOCA0LjAwMDM1QzYuNTAwMjggNC4zMzE4NiA2LjM2ODU3IDQuNjQ5NzkgNi4xMzQxNCA0Ljg4NDIxQzUuODk5NzEgNS4xMTg2MiA1LjU4MTc1IDUuMjUwMzEgNS4yNTAyMSA1LjI1MDMxWk0xLjUgOC43OTE4OEMxLjUgNy45ODY5IDIuMTUzMzcgNy4zMzM1OSAyLjk1ODQxIDcuMzMzNTlINy41NDJDOC4zNDcwNSA3LjMzMzU5IDkuMDAwNDIgNy45ODY5IDkuMDAwNDIgOC43OTE4OFYxMi43NTAxQzkuMDAwNDIgMTMuNzQ0NiA4LjYwNTMxIDE0LjY5ODQgNy45MDIwMSAxNS40MDE3QzcuMTk4NyAxNi4xMDQ5IDYuMjQ0ODMgMTYuNSA1LjI1MDIxIDE2LjVDNC4yNTU1OSAxNi41IDMuMzAxNzEgMTYuMTA0OSAyLjU5ODQxIDE1LjQwMTdDMS44OTUxMSAxNC42OTg0IDEuNSAxMy43NDQ2IDEuNSAxMi43NTAxVjguNzkxODhaTTIuOTU4NDEgOC41ODM1NUMyLjkwMzE2IDguNTgzNTUgMi44NTAxNiA4LjYwNTUgMi44MTEwOSA4LjY0NDU3QzIuNzcyMDIgOC42ODM2NCAyLjc1MDA3IDguNzM2NjMgMi43NTAwNyA4Ljc5MTg4VjEyLjc1MDFDMi43NTAwNyAxMy40MTMxIDMuMDEzNDggMTQuMDQ5IDMuNDgyMzQgMTQuNTE3OEMzLjk1MTIxIDE0Ljk4NjcgNC41ODcxMyAxNS4yNSA1LjI1MDIxIDE1LjI1QzUuOTEzMjkgMTUuMjUgNi41NDkyMSAxNC45ODY3IDcuMDE4MDcgMTQuNTE3OEM3LjQ4Njk0IDE0LjA0OSA3Ljc1MDM1IDEzLjQxMzEgNy43NTAzNSAxMi43NTAxVjguNzkxODhDNy43NTAzNSA4LjczNjYzIDcuNzI4NCA4LjY4MzY0IDcuNjg5MzIgOC42NDQ1N0M3LjY1MDI1IDguNjA1NSA3LjU5NzI2IDguNTgzNTUgNy41NDIgOC41ODM1NUgyLjk1ODQxWk03Ljc3Mjg1IDYuMTc4NjJDOC4xNTMyOCA2LjM5MjY3IDguNTgzMTMgNi41MDM0IDkuMDE5NjMgNi40OTk3OEM5LjQ1NjE0IDYuNDk2MTYgOS44ODQxIDYuMzc4MzIgMTAuMjYwOSA2LjE1Nzk5QzEwLjYzNzggNS45Mzc2NiAxMC45NTAzIDUuNjIyNTIgMTEuMTY3NSA1LjI0MzkxQzExLjM4NDggNC44NjUzIDExLjQ5OSA0LjQzNjQyIDExLjQ5OSAzLjk5OTkzQzExLjQ5OSAzLjU2MzQ0IDExLjM4NDggMy4xMzQ1NiAxMS4xNjc1IDIuNzU1OTVDMTAuOTUwMyAyLjM3NzM0IDEwLjYzNzggMi4wNjIyIDEwLjI2MDkgMS44NDE4N0M5Ljg4NDEgMS42MjE1NCA5LjQ1NjE0IDEuNTAzNzEgOS4wMTk2MyAxLjUwMDA5QzguNTgzMTMgMS40OTY0NyA4LjE1MzI4IDEuNjA3MTkgNy43NzI4NSAxLjgyMTI0QzguMDQ1MzYgMi4xMzYyMyA4LjI1OTU0IDIuNTAyODkgOC4zOTk1NSAyLjkwNDU0QzguNTg5OTEgMi44MDAyNiA4LjgwNDE1IDIuNzQ3MzMgOS4wMjExOCAyLjc1MDk3QzkuMjM4MjEgMi43NTQ2MiA5LjQ1MDU1IDIuODE0NzEgOS42MzczMSAyLjkyNTMzQzkuODI0MDYgMy4wMzU5NCA5Ljk3ODc5IDMuMTkzMjggMTAuMDg2MyAzLjM4MTg1QzEwLjE5MzcgMy41NzA0MiAxMC4yNTAzIDMuNzgzNzIgMTAuMjUwMyA0LjAwMDc2QzEwLjI1MDMgNC4yMTc4MSAxMC4xOTM3IDQuNDMxMTEgMTAuMDg2MyA0LjYxOTY4QzkuOTc4NzkgNC44MDgyNSA5LjgyNDA2IDQuOTY1NTggOS42MzczMSA1LjA3NjJDOS40NTA1NSA1LjE4NjgyIDkuMjM4MjEgNS4yNDY5MSA5LjAyMTE4IDUuMjUwNTVDOC44MDQxNSA1LjI1NDIgOC41ODk5MSA1LjIwMTI3IDguMzk5NTUgNS4wOTY5OEM4LjI2MDc0IDUuNDkzODIgOC4wNDgxIDUuODYwODIgNy43NzI4NSA2LjE3ODYyWk04LjA1MDM2IDE2LjM3ODNDOC4zNTQ4MyAxNi40NTgzIDguNjcxNTEgMTYuNDk4OSA5LjAwMDQyIDE2LjVDOS45OTUwMyAxNi41IDEwLjk0ODkgMTYuMTA0OSAxMS42NTIyIDE1LjQwMTdDMTIuMzU1NSAxNC42OTg0IDEyLjc1MDYgMTMuNzQ0NiAxMi43NTA2IDEyLjc1MDFWOC43OTE4OEMxMi43NTA2IDguNDA1MTIgMTIuNTk3IDguMDM0MTkgMTIuMzIzNSA3Ljc2MDcxQzEyLjA1IDcuNDg3MjMgMTEuNjc5IDcuMzMzNTkgMTEuMjkyMiA3LjMzMzU5SDkuMzA4NzdDOS41OTQ2MiA3LjY3OTQxIDkuNzgwNDYgOC4xMTEwNyA5LjgyMzggOC41ODM1NUgxMS4yOTA1QzExLjM0NTggOC41ODM1NSAxMS4zOTg4IDguNjA1NSAxMS40Mzc5IDguNjQ0NTdDMTEuNDc2OSA4LjY4MzY0IDExLjQ5ODkgOC43MzY2MyAxMS40OTg5IDguNzkxODhWMTIuNzUwMUMxMS40OTg5IDEzLjM5NjggMTEuMjQ4MyAxNC4wMTg0IDEwLjc5OTYgMTQuNDg0M0MxMC4zNTEgMTQuOTUwMSA5LjczOTI1IDE1LjIyNCA5LjA5MjkyIDE1LjI0ODRDOC44MTA0MSAxNS42ODE3IDguNDU4NzIgMTYuMDYzMyA4LjA1MDM2IDE2LjM3ODNaTTExLjUyMjIgNi4xNzg2MkMxMS45MDI3IDYuMzkyNjcgMTIuMzMyNSA2LjUwMzQgMTIuNzY5IDYuNDk5NzhDMTMuMjA1NSA2LjQ5NjE2IDEzLjYzMzUgNi4zNzgzMiAxNC4wMTAzIDYuMTU3OTlDMTQuMzg3MSA1LjkzNzY2IDE0LjY5OTcgNS42MjI1MiAxNC45MTY5IDUuMjQzOTFDMTUuMTM0MSA0Ljg2NTMgMTUuMjQ4NCA0LjQzNjQyIDE1LjI0ODQgMy45OTk5M0MxNS4yNDg0IDMuNTYzNDQgMTUuMTM0MSAzLjEzNDU2IDE0LjkxNjkgMi43NTU5NUMxNC42OTk3IDIuMzc3MzQgMTQuMzg3MSAyLjA2MjIgMTQuMDEwMyAxLjg0MTg3QzEzLjYzMzUgMS42MjE1NCAxMy4yMDU1IDEuNTAzNzEgMTIuNzY5IDEuNTAwMDlDMTIuMzMyNSAxLjQ5NjQ3IDExLjkwMjcgMS42MDcxOSAxMS41MjIyIDEuODIxMjRDMTEuNzk0NyAyLjEzNjIzIDEyLjAwODkgMi41MDI4OSAxMi4xNDg5IDIuOTA0NTRDMTIuMzM5MyAyLjgwMDI2IDEyLjU1MzUgMi43NDczMyAxMi43NzA2IDIuNzUwOTdDMTIuOTg3NiAyLjc1NDYyIDEzLjE5OTkgMi44MTQ3MSAxMy4zODY3IDIuOTI1MzNDMTMuNTczNCAzLjAzNTk0IDEzLjcyODIgMy4xOTMyOCAxMy44MzU2IDMuMzgxODVDMTMuOTQzMSAzLjU3MDQyIDEzLjk5OTYgMy43ODM3MiAxMy45OTk2IDQuMDAwNzZDMTMuOTk5NiA0LjIxNzgxIDEzLjk0MzEgNC40MzExMSAxMy44MzU2IDQuNjE5NjhDMTMuNzI4MiA0LjgwODI1IDEzLjU3MzQgNC45NjU1OCAxMy4zODY3IDUuMDc2MkMxMy4xOTk5IDUuMTg2ODIgMTIuOTg3NiA1LjI0NjkxIDEyLjc3MDYgNS4yNTA1NUMxMi41NTM1IDUuMjU0MiAxMi4zMzkzIDUuMjAxMjcgMTIuMTQ4OSA1LjA5Njk4QzEyLjAxMDEgNS40OTM4MiAxMS43OTc1IDUuODYwODIgMTEuNTIyMiA2LjE3ODYyWk0xMS43OTk3IDE2LjM3ODNDMTIuMTA0MiAxNi40NTgzIDEyLjQyMDkgMTYuNDk4OSAxMi43NDk4IDE2LjVDMTMuNzQ0NCAxNi41IDE0LjY5ODMgMTYuMTA0OSAxNS40MDE2IDE1LjQwMTdDMTYuMTA0OSAxNC42OTg0IDE2LjUgMTMuNzQ0NiAxNi41IDEyLjc1MDFWOC43OTE4OEMxNi41IDguNDA1MjYgMTYuMzQ2NSA4LjAzNDQ3IDE2LjA3MzEgNy43NjEwMUMxNS43OTk4IDcuNDg3NTUgMTUuNDI5MSA3LjMzMzgxIDE1LjA0MjQgNy4zMzM1OUgxMy4wNTlDMTMuMzQ0OCA3LjY3OTQxIDEzLjUzMTUgOC4xMTEwNyAxMy41NzQgOC41ODM1NUgxNS4wNDA4QzE1LjA5NiA4LjU4MzU1IDE1LjE0OSA4LjYwNTUgMTUuMTg4MSA4LjY0NDU3QzE1LjIyNzEgOC42ODM2NCAxNS4yNDkxIDguNzM2NjMgMTUuMjQ5MSA4Ljc5MTg4VjEyLjc1MDFDMTUuMjQ5MSAxMy4zOTY4IDE0Ljk5ODUgMTQuMDE4NCAxNC41NDk4IDE0LjQ4NDNDMTQuMTAxMiAxNC45NTAxIDEzLjQ4OTUgMTUuMjI0IDEyLjg0MzEgMTUuMjQ4NEMxMi41NjA2IDE1LjY4MTcgMTIuMjA4MSAxNi4wNjMzIDExLjc5OTcgMTYuMzc4M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzY2NzA4NVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2F1ZGl0RGV0YWlscz8ucXVldWVJZH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNS4yNTAyMSA2LjUwMDI4QzUuOTEzMjkgNi41MDAyOCA2LjU0OTIxIDYuMjM2ODkgNy4wMTgwNyA1Ljc2ODA3QzcuNDg2OTQgNS4yOTkyNCA3Ljc1MDM1IDQuNjYzMzcgNy43NTAzNSA0LjAwMDM1QzcuNzUwMzUgMy4zMzczMiA3LjQ4Njk0IDIuNzAxNDYgNy4wMTgwNyAyLjIzMjYzQzYuNTQ5MjEgMS43NjM4IDUuOTEzMjkgMS41MDA0MiA1LjI1MDIxIDEuNTAwNDJDNC41ODcxMyAxLjUwMDQyIDMuOTUxMjEgMS43NjM4IDMuNDgyMzQgMi4yMzI2M0MzLjAxMzQ4IDIuNzAxNDYgMi43NTAwNyAzLjMzNzMyIDIuNzUwMDcgNC4wMDAzNUMyLjc1MDA3IDQuNjYzMzcgMy4wMTM0OCA1LjI5OTI0IDMuNDgyMzQgNS43NjgwN0MzLjk1MTIxIDYuMjM2ODkgNC41ODcxMyA2LjUwMDI4IDUuMjUwMjEgNi41MDAyOFpNNS4yNTAyMSA1LjI1MDMxQzQuOTE4NjcgNS4yNTAzMSA0LjYwMDcxIDUuMTE4NjIgNC4zNjYyOCA0Ljg4NDIxQzQuMTMxODQgNC42NDk3OSA0LjAwMDE0IDQuMzMxODYgNC4wMDAxNCA0LjAwMDM1QzQuMDAwMTQgMy42Njg4NCA0LjEzMTg0IDMuMzUwOSA0LjM2NjI4IDMuMTE2NDlDNC42MDA3MSAyLjg4MjA3IDQuOTE4NjcgMi43NTAzOCA1LjI1MDIxIDIuNzUwMzhDNS41ODE3NSAyLjc1MDM4IDUuODk5NzEgMi44ODIwNyA2LjEzNDE0IDMuMTE2NDlDNi4zNjg1NyAzLjM1MDkgNi41MDAyOCAzLjY2ODg0IDYuNTAwMjggNC4wMDAzNUM2LjUwMDI4IDQuMzMxODYgNi4zNjg1NyA0LjY0OTc5IDYuMTM0MTQgNC44ODQyMUM1Ljg5OTcxIDUuMTE4NjIgNS41ODE3NSA1LjI1MDMxIDUuMjUwMjEgNS4yNTAzMVpNMS41IDguNzkxODhDMS41IDcuOTg2OSAyLjE1MzM3IDcuMzMzNTkgMi45NTg0MSA3LjMzMzU5SDcuNTQyQzguMzQ3MDUgNy4zMzM1OSA5LjAwMDQyIDcuOTg2OSA5LjAwMDQyIDguNzkxODhWMTIuNzUwMUM5LjAwMDQyIDEzLjc0NDYgOC42MDUzMSAxNC42OTg0IDcuOTAyMDEgMTUuNDAxN0M3LjE5ODcgMTYuMTA0OSA2LjI0NDgzIDE2LjUgNS4yNTAyMSAxNi41QzQuMjU1NTkgMTYuNSAzLjMwMTcxIDE2LjEwNDkgMi41OTg0MSAxNS40MDE3QzEuODk1MTEgMTQuNjk4NCAxLjUgMTMuNzQ0NiAxLjUgMTIuNzUwMVY4Ljc5MTg4Wk0yLjk1ODQxIDguNTgzNTVDMi45MDMxNiA4LjU4MzU1IDIuODUwMTYgOC42MDU1IDIuODExMDkgOC42NDQ1N0MyLjc3MjAyIDguNjgzNjQgMi43NTAwNyA4LjczNjYzIDIuNzUwMDcgOC43OTE4OFYxMi43NTAxQzIuNzUwMDcgMTMuNDEzMSAzLjAxMzQ4IDE0LjA0OSAzLjQ4MjM0IDE0LjUxNzhDMy45NTEyMSAxNC45ODY3IDQuNTg3MTMgMTUuMjUgNS4yNTAyMSAxNS4yNUM1LjkxMzI5IDE1LjI1IDYuNTQ5MjEgMTQuOTg2NyA3LjAxODA3IDE0LjUxNzhDNy40ODY5NCAxNC4wNDkgNy43NTAzNSAxMy40MTMxIDcuNzUwMzUgMTIuNzUwMVY4Ljc5MTg4QzcuNzUwMzUgOC43MzY2MyA3LjcyODQgOC42ODM2NCA3LjY4OTMyIDguNjQ0NTdDNy42NTAyNSA4LjYwNTUgNy41OTcyNiA4LjU4MzU1IDcuNTQyIDguNTgzNTVIMi45NTg0MVpNNy43NzI4NSA2LjE3ODYyQzguMTUzMjggNi4zOTI2NyA4LjU4MzEzIDYuNTAzNCA5LjAxOTYzIDYuNDk5NzhDOS40NTYxNCA2LjQ5NjE2IDkuODg0MSA2LjM3ODMyIDEwLjI2MDkgNi4xNTc5OUMxMC42Mzc4IDUuOTM3NjYgMTAuOTUwMyA1LjYyMjUyIDExLjE2NzUgNS4yNDM5MUMxMS4zODQ4IDQuODY1MyAxMS40OTkgNC40MzY0MiAxMS40OTkgMy45OTk5M0MxMS40OTkgMy41NjM0NCAxMS4zODQ4IDMuMTM0NTYgMTEuMTY3NSAyLjc1NTk1QzEwLjk1MDMgMi4zNzczNCAxMC42Mzc4IDIuMDYyMiAxMC4yNjA5IDEuODQxODdDOS44ODQxIDEuNjIxNTQgOS40NTYxNCAxLjUwMzcxIDkuMDE5NjMgMS41MDAwOUM4LjU4MzEzIDEuNDk2NDcgOC4xNTMyOCAxLjYwNzE5IDcuNzcyODUgMS44MjEyNEM4LjA0NTM2IDIuMTM2MjMgOC4yNTk1NCAyLjUwMjg5IDguMzk5NTUgMi45MDQ1NEM4LjU4OTkxIDIuODAwMjYgOC44MDQxNSAyLjc0NzMzIDkuMDIxMTggMi43NTA5N0M5LjIzODIxIDIuNzU0NjIgOS40NTA1NSAyLjgxNDcxIDkuNjM3MzEgMi45MjUzM0M5LjgyNDA2IDMuMDM1OTQgOS45Nzg3OSAzLjE5MzI4IDEwLjA4NjMgMy4zODE4NUMxMC4xOTM3IDMuNTcwNDIgMTAuMjUwMyAzLjc4MzcyIDEwLjI1MDMgNC4wMDA3NkMxMC4yNTAzIDQuMjE3ODEgMTAuMTkzNyA0LjQzMTExIDEwLjA4NjMgNC42MTk2OEM5Ljk3ODc5IDQuODA4MjUgOS44MjQwNiA0Ljk2NTU4IDkuNjM3MzEgNS4wNzYyQzkuNDUwNTUgNS4xODY4MiA5LjIzODIxIDUuMjQ2OTEgOS4wMjExOCA1LjI1MDU1QzguODA0MTUgNS4yNTQyIDguNTg5OTEgNS4yMDEyNyA4LjM5OTU1IDUuMDk2OThDOC4yNjA3NCA1LjQ5MzgyIDguMDQ4MSA1Ljg2MDgyIDcuNzcyODUgNi4xNzg2MlpNOC4wNTAzNiAxNi4zNzgzQzguMzU0ODMgMTYuNDU4MyA4LjY3MTUxIDE2LjQ5ODkgOS4wMDA0MiAxNi41QzkuOTk1MDMgMTYuNSAxMC45NDg5IDE2LjEwNDkgMTEuNjUyMiAxNS40MDE3QzEyLjM1NTUgMTQuNjk4NCAxMi43NTA2IDEzLjc0NDYgMTIuNzUwNiAxMi43NTAxVjguNzkxODhDMTIuNzUwNiA4LjQwNTEyIDEyLjU5NyA4LjAzNDE5IDEyLjMyMzUgNy43NjA3MUMxMi4wNSA3LjQ4NzIzIDExLjY3OSA3LjMzMzU5IDExLjI5MjIgNy4zMzM1OUg5LjMwODc3QzkuNTk0NjIgNy42Nzk0MSA5Ljc4MDQ2IDguMTExMDcgOS44MjM4IDguNTgzNTVIMTEuMjkwNUMxMS4zNDU4IDguNTgzNTUgMTEuMzk4OCA4LjYwNTUgMTEuNDM3OSA4LjY0NDU3QzExLjQ3NjkgOC42ODM2NCAxMS40OTg5IDguNzM2NjMgMTEuNDk4OSA4Ljc5MTg4VjEyLjc1MDFDMTEuNDk4OSAxMy4zOTY4IDExLjI0ODMgMTQuMDE4NCAxMC43OTk2IDE0LjQ4NDNDMTAuMzUxIDE0Ljk1MDEgOS43MzkyNSAxNS4yMjQgOS4wOTI5MiAxNS4yNDg0QzguODEwNDEgMTUuNjgxNyA4LjQ1ODcyIDE2LjA2MzMgOC4wNTAzNiAxNi4zNzgzWk0xMS41MjIyIDYuMTc4NjJDMTEuOTAyNyA2LjM5MjY3IDEyLjMzMjUgNi41MDM0IDEyLjc2OSA2LjQ5OTc4QzEzLjIwNTUgNi40OTYxNiAxMy42MzM1IDYuMzc4MzIgMTQuMDEwMyA2LjE1Nzk5QzE0LjM4NzEgNS45Mzc2NiAxNC42OTk3IDUuNjIyNTIgMTQuOTE2OSA1LjI0MzkxQzE1LjEzNDEgNC44NjUzIDE1LjI0ODQgNC40MzY0MiAxNS4yNDg0IDMuOTk5OTNDMTUuMjQ4NCAzLjU2MzQ0IDE1LjEzNDEgMy4xMzQ1NiAxNC45MTY5IDIuNzU1OTVDMTQuNjk5NyAyLjM3NzM0IDE0LjM4NzEgMi4wNjIyIDE0LjAxMDMgMS44NDE4N0MxMy42MzM1IDEuNjIxNTQgMTMuMjA1NSAxLjUwMzcxIDEyLjc2OSAxLjUwMDA5QzEyLjMzMjUgMS40OTY0NyAxMS45MDI3IDEuNjA3MTkgMTEuNTIyMiAxLjgyMTI0QzExLjc5NDcgMi4xMzYyMyAxMi4wMDg5IDIuNTAyODkgMTIuMTQ4OSAyLjkwNDU0QzEyLjMzOTMgMi44MDAyNiAxMi41NTM1IDIuNzQ3MzMgMTIuNzcwNiAyLjc1MDk3QzEyLjk4NzYgMi43NTQ2MiAxMy4xOTk5IDIuODE0NzEgMTMuMzg2NyAyLjkyNTMzQzEzLjU3MzQgMy4wMzU5NCAxMy43MjgyIDMuMTkzMjggMTMuODM1NiAzLjM4MTg1QzEzLjk0MzEgMy41NzA0MiAxMy45OTk2IDMuNzgzNzIgMTMuOTk5NiA0LjAwMDc2QzEzLjk5OTYgNC4yMTc4MSAxMy45NDMxIDQuNDMxMTEgMTMuODM1NiA0LjYxOTY4QzEzLjcyODIgNC44MDgyNSAxMy41NzM0IDQuOTY1NTggMTMuMzg2NyA1LjA3NjJDMTMuMTk5OSA1LjE4NjgyIDEyLjk4NzYgNS4yNDY5MSAxMi43NzA2IDUuMjUwNTVDMTIuNTUzNSA1LjI1NDIgMTIuMzM5MyA1LjIwMTI3IDEyLjE0ODkgNS4wOTY5OEMxMi4wMTAxIDUuNDkzODIgMTEuNzk3NSA1Ljg2MDgyIDExLjUyMjIgNi4xNzg2MlpNMTEuNzk5NyAxNi4zNzgzQzEyLjEwNDIgMTYuNDU4MyAxMi40MjA5IDE2LjQ5ODkgMTIuNzQ5OCAxNi41QzEzLjc0NDQgMTYuNSAxNC42OTgzIDE2LjEwNDkgMTUuNDAxNiAxNS40MDE3QzE2LjEwNDkgMTQuNjk4NCAxNi41IDEzLjc0NDYgMTYuNSAxMi43NTAxVjguNzkxODhDMTYuNSA4LjQwNTI2IDE2LjM0NjUgOC4wMzQ0NyAxNi4wNzMxIDcuNzYxMDFDMTUuNzk5OCA3LjQ4NzU1IDE1LjQyOTEgNy4zMzM4MSAxNS4wNDI0IDcuMzMzNTlIMTMuMDU5QzEzLjM0NDggNy42Nzk0MSAxMy41MzE1IDguMTExMDcgMTMuNTc0IDguNTgzNTVIMTUuMDQwOEMxNS4wOTYgOC41ODM1NSAxNS4xNDkgOC42MDU1IDE1LjE4ODEgOC42NDQ1N0MxNS4yMjcxIDguNjgzNjQgMTUuMjQ5MSA4LjczNjYzIDE1LjI0OTEgOC43OTE4OFYxMi43NTAxQzE1LjI0OTEgMTMuMzk2OCAxNC45OTg1IDE0LjAxODQgMTQuNTQ5OCAxNC40ODQzQzE0LjEwMTIgMTQuOTUwMSAxMy40ODk1IDE1LjIyNCAxMi44NDMxIDE1LjI0ODRDMTIuNTYwNiAxNS42ODE3IDEyLjIwODEgMTYuMDYzMyAxMS43OTk3IDE2LjM3ODNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM2NjcwODVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgc3ViLXRpdGxlXCI+e3thdWRpdERldGFpbHM/LmVuZ2FnZW1lbnRJZCA/YXVkaXREZXRhaWxzPy5lbmdhZ2VtZW50SWQ6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAzSDEzLjVDMTMuODk3OCAzIDE0LjI3OTQgMy4xNTgwNCAxNC41NjA3IDMuNDM5MzRDMTQuODQyIDMuNzIwNjQgMTUgNC4xMDIxOCAxNSA0LjVWMTVDMTUgMTUuMzk3OCAxNC44NDIgMTUuNzc5NCAxNC41NjA3IDE2LjA2MDdDMTQuMjc5NCAxNi4zNDIgMTMuODk3OCAxNi41IDEzLjUgMTYuNUg0LjVDNC4xMDIxOCAxNi41IDMuNzIwNjQgMTYuMzQyIDMuNDM5MzQgMTYuMDYwN0MzLjE1ODA0IDE1Ljc3OTQgMyAxNS4zOTc4IDMgMTVWNC41QzMgNC4xMDIxOCAzLjE1ODA0IDMuNzIwNjQgMy40MzkzNCAzLjQzOTM0QzMuNzIwNjQgMy4xNTgwNCA0LjEwMjE4IDMgNC41IDNINk02Ljc1IDEuNUgxMS4yNUMxMS42NjQyIDEuNSAxMiAxLjgzNTc5IDEyIDIuMjVWMy43NUMxMiA0LjE2NDIxIDExLjY2NDIgNC41IDExLjI1IDQuNUg2Ljc1QzYuMzM1NzkgNC41IDYgNC4xNjQyMSA2IDMuNzVWMi4yNUM2IDEuODM1NzkgNi4zMzU3OSAxLjUgNi43NSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2N1cnJlbnRBdWRpdFR5cGUgfCB0aXRsZWNhc2V9fSBFeWUgVGVzdDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7YXVkaXREZXRhaWxzPy5maWxlRGF0ZSB8IGRhdGU6ICdkZC9NTS9ZWVlZJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNjZfNTUwMTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTY2XzU1MDE5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7YXVkaXREZXRhaWxzPy50ZXN0U3RhcnRUaW1lfX0ge3thdWRpdERldGFpbHM/LnRlc3RTdGFydFRpbWU/LnNwbGl0KCc6JylbMF0+MTI/J1BNJzonQU0nfX0gLSB7e2F1ZGl0RGV0YWlscz8udGVzdEVuZFRpbWV9fSB7e2F1ZGl0RGV0YWlscz8udGVzdEVuZFRpbWU/LnNwbGl0KCc6JylbMF0+MTI/J1BNJzonQU0nfX1cclxuICAgICAgICAgICAgICAgICh7e2F1ZGl0RGV0YWlscz8udGVzdER1cmF0aW9ufX0gTWlucyk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zIGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57e2F1ZGl0RGV0YWlscz8udmlzaXRvcnNUeXBlIHwgdGl0bGVjYXNlfX08L3NwYW4+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIlsnWWV0LXRvLUF1ZGl0J10uaW5jbHVkZXMoYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cylcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTEgZnctc2VtaWJvbGQgcm91bmRlZC0zIGN1cnNvci1wb2ludGVyIGJnLXByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgICAgICAgWWV0IHRvIEF1ZGl0XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnQXVkaXRlZCdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTEgZnctc2VtaWJvbGQgcm91bmRlZC0zIGN1cnNvci1wb2ludGVyIGJnLXN1Y2Nlc3NcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgICAgICAgQXVkaXRlZFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ1JlLUF1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ0F1ZGl0ZWQnIHx8IGF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnUmUtQXVkaXRlZCdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTEgZnctc2VtaWJvbGQgcm91bmRlZC0zIGN1cnNvci1wb2ludGVyIGJnLXdhcm5pbmdcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgICAgICAgUmUtQXVkaXRlZFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMyBmdy1ib2xkIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgdGV4dC1jZW50ZXIgaGVhZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIEFJIFZlcmlmaWVkIFN0ZXBzIDxzcGFuPjxzdmcgbmdiVG9vbHRpcD1cIk51bWJlciBvZiBzdGVwcyBkZXRlY3RlZCBhbmQgdmFsaWRhdGVkIGF1dG9tYXRpY2FsbHkgd2l0aG91dCBtYW51YWwgcmV2aWV3LlwiIHBsYWNlbWVudD1cInJpZ2h0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zNjJfMjk3OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5OTg0IDEzLjMzMzJWOS45OTk4NE05Ljk5OTg0IDYuNjY2NUgxMC4wMDgyTTE4LjMzMzIgOS45OTk4NEMxOC4zMzMyIDE0LjYwMjIgMTQuNjAyMiAxOC4zMzMyIDkuOTk5ODQgMTguMzMzMkM1LjM5NzQ2IDE4LjMzMzIgMS42NjY1IDE0LjYwMjIgMS42NjY1IDkuOTk5ODRDMS42NjY1IDUuMzk3NDYgNS4zOTc0NiAxLjY2NjUgOS45OTk4NCAxLjY2NjVDMTQuNjAyMiAxLjY2NjUgMTguMzMzMiA1LjM5NzQ2IDE4LjMzMzIgOS45OTk4NFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzYyXzI5NzlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTUgdGV4dC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2F1ZGl0RGV0YWlscz8uY292ZXJlZFN0ZXBzQUk/YXVkaXREZXRhaWxzPy5jb3ZlcmVkU3RlcHNBSTowfX0ve3thdWRpdERldGFpbHM/LnRvdGFsU3RlcHMgPyBhdWRpdERldGFpbHM/LnRvdGFsU3RlcHM6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyB0ZXh0LWNlbnRlciBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgSHVtYW4gVmVyaWZpZWQgU3RlcHMgPHNwYW4+PHN2ZyBuZ2JUb29sdGlwPVwiTnVtYmVyIG9mIHN0ZXBzIHRoYXQgcmVxdWlyZWQgaHVtYW4gdmFsaWRhdGlvbiB0byBlbnN1cmUgY29tcGxpYW5jZSBhbmQgYWNjdXJhY3kuXCIgcGxhY2VtZW50PVwicmlnaHRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzYyXzI5NzkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTk4NCAxMy4zMzMyVjkuOTk5ODRNOS45OTk4NCA2LjY2NjVIMTAuMDA4Mk0xOC4zMzMyIDkuOTk5ODRDMTguMzMzMiAxNC42MDIyIDE0LjYwMjIgMTguMzMzMiA5Ljk5OTg0IDE4LjMzMzJDNS4zOTc0NiAxOC4zMzMyIDEuNjY2NSAxNC42MDIyIDEuNjY2NSA5Ljk5OTg0QzEuNjY2NSA1LjM5NzQ2IDUuMzk3NDYgMS42NjY1IDkuOTk5ODQgMS42NjY1QzE0LjYwMjIgMS42NjY1IDE4LjMzMzIgNS4zOTc0NiAxOC4zMzMyIDkuOTk5ODRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM2Ml8yOTc5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHRleHQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3thdWRpdERldGFpbHM/LmF1ZGl0ZWRTdGVwcz9hdWRpdERldGFpbHM/LmF1ZGl0ZWRTdGVwczowfX0ve3thdWRpdERldGFpbHM/LnRvdGFsU3RlcHMgPyBhdWRpdERldGFpbHM/LnRvdGFsU3RlcHM6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgQUkgQ29tcGxpYW5jZSBTY29yZSA8c3Bhbj48c3ZnIG5nYlRvb2x0aXA9XCJNZWFzdXJlcyB0aGUgcGVyY2VudGFnZSBvZiBzdGVwcyBBSSBmbGFnZ2VkIGFzIGNvbXBsaWFudCB3aXRob3V0IGh1bWFuIGludGVydmVudGlvbi5cIiBwbGFjZW1lbnQ9XCJsZWZ0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM2Ml8yOTc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTk5ODQgMTMuMzMzMlY5Ljk5OTg0TTkuOTk5ODQgNi42NjY1SDEwLjAwODJNMTguMzMzMiA5Ljk5OTg0QzE4LjMzMzIgMTQuNjAyMiAxNC42MDIyIDE4LjMzMzIgOS45OTk4NCAxOC4zMzMyQzUuMzk3NDYgMTguMzMzMiAxLjY2NjUgMTQuNjAyMiAxLjY2NjUgOS45OTk4NEMxLjY2NjUgNS4zOTc0NiA1LjM5NzQ2IDEuNjY2NSA5Ljk5OTg0IDEuNjY2NUMxNC42MDIyIDEuNjY2NSAxOC4zMzMyIDUuMzk3NDYgMTguMzMzMiA5Ljk5OTg0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zNjJfMjk3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNSB0ZXh0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7YXVkaXREZXRhaWxzPy5jb21wbGlhbmNlU2NvcmUgP2F1ZGl0RGV0YWlscz8uY29tcGxpYW5jZVNjb3JlIDonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgQUkgVHJ1c3QgU2NvcmUgPHNwYW4+PHN2ZyBuZ2JUb29sdGlwPVwiVGhpcyBzY29yZSByZWZsZWN0cyBob3cgb2Z0ZW4gQUkgcHJlZGljdGlvbnMgd2VyZSBhY2NlcHRlZCB3aXRob3V0IG1hbnVhbCBvdmVycmlkZXMuXCIgcGxhY2VtZW50PVwibGVmdFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zNjJfMjk3OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5OTg0IDEzLjMzMzJWOS45OTk4NE05Ljk5OTg0IDYuNjY2NUgxMC4wMDgyTTE4LjMzMzIgOS45OTk4NEMxOC4zMzMyIDE0LjYwMjIgMTQuNjAyMiAxOC4zMzMyIDkuOTk5ODQgMTguMzMzMkM1LjM5NzQ2IDE4LjMzMzIgMS42NjY1IDE0LjYwMjIgMS42NjY1IDkuOTk5ODRDMS42NjY1IDUuMzk3NDYgNS4zOTc0NiAxLjY2NjUgOS45OTk4NCAxLjY2NjVDMTQuNjAyMiAxLjY2NjUgMTguMzMzMiA1LjM5NzQ2IDE4LjMzMzIgOS45OTk4NFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzYyXzI5NzlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTUgdGV4dC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2F1ZGl0RGV0YWlscz8udHJ1c3RTY29yZSA/IGF1ZGl0RGV0YWlscz8udHJ1c3RTY29yZTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvdyBtdC0zXCI+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RUeXBlID09PSdmYWtlJyA/ICdjb2wtbWQtMTInIDogJ2NvbC1tZC02J1wiIGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTUwMHB4IHB4LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlIG0tMCBmdy1ib2xkZXIgYmctbm9uZVwiPlByZXZpZXcgRXllIFRlc3Q8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB4LTAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2aWRlby1wb3NpdGlvbiB3LTEwMFwiPlxyXG4gPHZpZGVvIGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIGgtYXV0b1wiIGNvbnRyb2xzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYXVkaXREZXRhaWxzPy5maWxlUGF0aFwiPjwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJleWVUZXN0VHlwZSAhPT0nZmFrZSdcIiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC01MDBweCBweC01IG92ZXJmbG93LXNjcm9sbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbWItMyBwLTAgYm9yZGVyLTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZSBtLTAgZnctYm9sZGVyIGJnLW5vbmVcIj5TdGVwLXdpc2UgQnJlYWtkb3duPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBzdWItdGl0bGUgbXQtMlwiICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5sYXN0QXVkaXRlZERldGFpbHM/LmF1ZGl0ZWRCeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnXCI+IDxzcGFuICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5zcG9rZW5MYW5ndWFnZVwiPiA8c3BhbiAqbmdJZj1cIiF0YWtlQXVkaXRcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWluZm8gbXQtMCBtZS0yXCI+TGFuZ3VhZ2UgU3Bva2VuOiB7e2F1ZGl0RGV0YWlscz8uc3Bva2VuTGFuZ3VhZ2V9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPiAgPHNwYW4gY2xhc3M9XCJtdC0xXCI+UmVjZW50bHkgQXVkaXRlZCBCeSA6IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTFcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzNyAxNFYxMi42NjY3QzEzLjMzMzcgMTEuOTU5NCAxMy4wNTI3IDExLjI4MTEgMTIuNTUyNiAxMC43ODFDMTIuMDUyNSAxMC4yODEgMTEuMzc0MiAxMCAxMC42NjcgMTBINS4zMzM2NkM0LjYyNjQxIDEwIDMuOTQ4MTQgMTAuMjgxIDMuNDQ4MDQgMTAuNzgxQzIuOTQ3OTQgMTEuMjgxMSAyLjY2Njk5IDExLjk1OTQgMi42NjY5OSAxMi42NjY3VjE0TTEwLjY2NyA0LjY2NjY3QzEwLjY2NyA2LjEzOTQzIDkuNDczMDggNy4zMzMzMyA4LjAwMDMzIDcuMzMzMzNDNi41Mjc1NyA3LjMzMzMzIDUuMzMzNjYgNi4xMzk0MyA1LjMzMzY2IDQuNjY2NjdDNS4zMzM2NiAzLjE5MzkxIDYuNTI3NTcgMiA4LjAwMDMzIDJDOS40NzMwOCAyIDEwLjY2NyAzLjE5MzkxIDEwLjY2NyA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuID57e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5hdWRpdGVkQnl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTFcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNTJfMjk0MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA0LjVWOUwxMiAxMC41TTE2LjUgOUMxNi41IDEzLjE0MjEgMTMuMTQyMSAxNi41IDkgMTYuNUM0Ljg1Nzg2IDE2LjUgMS41IDEzLjE0MjEgMS41IDlDMS41IDQuODU3ODYgNC44NTc4NiAxLjUgOSAxLjVDMTMuMTQyMSAxLjUgMTYuNSA0Ljg1Nzg2IDE2LjUgOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNTJfMjk0MzFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj57e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5jb21wbGV0aW9uVGltZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy50aW1lWm9uZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRha2VBdWRpdCAmJiBjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzcG9rZW5MYW5ndWFnZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQgZGlzYWJsZWQgPkxhbmd1YWdlIFNwb2tlbiA8c3BhbiBzdHlsZT1cImNvbG9yOnJlZFwiPio8L3NwYW4+PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiRW5nbGlzaFwiPkVuZ2xpc2g8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJIaW5kaVwiPkhpbmRpPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnWWV0LXRvLUF1ZGl0JyAmJiAhdGFrZUF1ZGl0XCIgKGNsaWNrKT1cInN0YXJ0QXVkaXQoJ2F1ZGl0JylcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZSBtcy0zIHB4LTMgcHktMiBmdy1zZW1pYm9sZCByb3VuZGVkLTIgY3Vyc29yLXBvaW50ZXIgYmctcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgU3RhcnQgQXVkaXRcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiWydBdWRpdGVkJywnUmUtQXVkaXQnLCdZZXQtdG8tQXVkaXQnXS5pbmNsdWRlcyhhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzKSYmYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdSZS1BdWRpdCcgJiYgIXRha2VBdWRpdHx8YXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdBdWRpdCcmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXMgPT09ICdBdWRpdGVkJyB8fGF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnUmUtQXVkaXRlZCcmJiAhdGFrZUF1ZGl0IFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0QXVkaXQoJ1JlLUF1ZGl0JylcIiBjbGFzcz1cImJ0biBidG4tc20gcHktMiBidG4td2FybmluZ1wiPlJlLUF1ZGl0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGFrZUF1ZGl0XCIgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlY2FuY2VsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtcy0yIGJ0bi1zbSBidG4tc3VjY2Vzc1wiICBbZGlzYWJsZWRdPVwiZGlzYWJsZWNhbmNlbFwiIChjbGljayk9XCJvbnN1Ym1pdCgpXCI+U3VibWl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBtdC0xIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhdGFrZUF1ZGl0ICYmIHN0ZXBXaXNlUHJvY2Vzcz8ubGVuZ3RoXCIgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIGJvcmRlciBib3JkZXItMSByb3VuZGVkLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RlcC1ieS1zdGVwIFByb2Nlc3NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlZGljdGVkIFRyYW5zY3JpcHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBSSBWZXJpZmllZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1hbGlnbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEh1bWFuIEF1ZGl0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFzb24gZm9yIEVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWNlZCBUaW1lIFJhbmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdGVwV2lzZVByb2Nlc3M7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInctNDBweCBoLTQwcHggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgdGV4dC1jZW50ZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTVcIiBbc3JjXT1cImRhdGE/LmltYWdlVXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGEucHJvY2Vzc05hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09J3JlbW90ZSdcIiBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5MSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cImRhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQgPyB0b29sdGlwQ29udGVudCA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD0nYm90dG9tJz57e2RhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQ/ZGF0YT8ucHJlZGljdGVkVHJhbnNjcmlwdDpcIk4vQVwifX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pbi13LTUwMHB4XCI+e3tkYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0P2RhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQ6XCJOL0FcIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRhdGEuQUlTdGF0dXMgPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcycgOiAnYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyJ1wiPnt7ZGF0YS5BSVN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAncGFzcycgOiAnZmFpbCd9fTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRhdGE/LmF1ZGl0ZWRTdGF0dXMgPT09IHRydWUgPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcycgOiAoZGF0YT8uYXVkaXRlZFN0YXR1cyA9PT0gZmFsc2UgPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyJyA6ICcnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhPy5hdWRpdGVkU3RhdHVzID09PSB0cnVlID8gJ3Bhc3MnIDogKGRhdGE/LmF1ZGl0ZWRTdGF0dXMgPT09IGZhbHNlID8gJ2ZhaWwnIDogJ04vQScpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImRhdGEuQUlTdGF0dXMgIT09IGRhdGEuYXVkaXRlZFN0YXR1cyB8fCBkYXRhLmF1ZGl0ZWRTdGF0dXMgPT09IG51bGwgfHwgZGF0YS5hdWRpdGVkU3RhdHVzID09PSB1bmRlZmluZWQgfHwgZGF0YS5hdWRpdGVkU3RhdHVzID09PSAnJzsgZWxzZSBFcXVhbEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHt7IGRhdGE/LnJlYXNvbiB8fCAnTi9BJyB9fSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YS5yZWFzb24gIT09J290aGVycydcIj57e2RhdGEucmVhc29uIHx8ICdOL0EnfX08L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRhLnJlYXNvbiA9PT0nb3RoZXJzJ1wiPnt7ZGF0YS5vdGhlclJlYXNvbiB8fCAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNFcXVhbEJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk4vQTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tkYXRhPy5zdGFydFRpbWV9fSAtIHt7ZGF0YT8uZW5kVGltZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0ZXBXaXNlUHJvY2Vzcz8ubGVuZ3RoICYmIHRha2VBdWRpdCYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cz09PSdZZXQtdG8tQXVkaXQnfHxhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzPT09J0luLVByb2dyZXNzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2Nlc3Mgb2Ygc3RlcFdpc2VQcm9jZXNzOyBsZXQgaT1pbmRleCA7bGV0IGxhc3Q9bGFzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyIGJvcmRlci0xIHJvdW5kZWQtMyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5IHRleHQtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RlcC17e2krMSB8IG51bWJlcn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5IHRleHQtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUkgVmVyaWZpZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1wcmltYXJ5IGJnLWxpZ2h0LXByaW1hcnkgdGV4dC1hbGlnbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIdW1hbiBBdWRpdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3LTIwMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidy00MHB4IGgtNDBweCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTVcIiBbc3JjXT1cInByb2Nlc3MuaW1hZ2VVcmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9jZXNzLnByb2Nlc3NOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gKm5nSWY9XCJwcm9jZXNzLkFJU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIHRleHQtY2FwaXRhbGl6ZVwiPlBhc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFwcm9jZXNzLkFJU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1jYXBpdGFsaXplXCI+RmFpbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3RIdW1hblZlcmlmaWVkKGksdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzID8gJ3RleHQtd2hpdGUgYnRuLXN1Y2Nlc3MnIDogJ3RleHQtc3VjY2VzcyBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXN1Y2Nlc3MnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtICByb3VuZGVkLTVcIj48c3Bhbj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNC4xNjY3IDRMNi44MzMzMyAxMS4zMzMzTDMuNSA4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgPyAnd2hpdGUnIDogJyMxN0M2NTMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4yNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+UGFzczwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0SHVtYW5WZXJpZmllZChpLGZhbHNlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXM9PT1mYWxzZSA/ICd0ZXh0LXdoaXRlIGJnLWRhbmdlcicgOiAndGV4dC1kYW5nZXIgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1kYW5nZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0zIHB4LTUgcHktMiBmdy1zZW1pYm9sZCByb3VuZGVkLTUgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE3IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjY2NjUgNEw0LjY2NjUgMTJNNC42NjY1IDRMMTIuNjY2NSAxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzPT09ZmFsc2UgPyAnd2hpdGUnIDogJyNGODI4NUEnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4yNVwiIHN0cm9rZS1saW5lY2FwPVwicm93dW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz1cIm1zLTJcIj5GYWlsPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyAmJiBwcm9jZXNzPy5wcmVkaWN0ZWRUcmFuc2NyaXB0XCIgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IHAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWRpY3RlZCBUcmFuc2NyaXB0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29sLXNtLTEyIHAtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cInByb2Nlc3M/LnByZWRpY3RlZFRyYW5zY3JpcHQgPyB0b29sdGlwQ29udGVudCA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PSdib3R0b20nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Byb2Nlc3M/LnByZWRpY3RlZFRyYW5zY3JpcHR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tdG9vbHRpcC1jb250ZW50IHRvb2x0aXAtY29udGVudCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy01MDBweFwiPnt7cHJvY2Vzcz8ucHJlZGljdGVkVHJhbnNjcmlwdH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvY2Vzcz8uYXVkaXRlZFN0YXR1cyAhPT0gdW5kZWZpbmVkICYmIHByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgIT09ICcnICYmIHByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgIT09IHByb2Nlc3M/LkFJU3RhdHVzXCIgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IHAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYXNvbiAmIFRpbWUgU3RhbXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb2wtc20tMTIgcC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02IGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oaSwncmVhc29uJylcIiBjbGFzcz1cImN1c3RvbS1kcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcHJvY2Vzcz8ucmVhc29uID8gcHJvY2Vzcz8ucmVhc29uIDogJ1NlbGVjdCBSZWFzb24nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJsYXN0ID8gJ2Ryb3Bkb3duLWNvbnRlbnQxJyA6ICdkcm9wZG93bi1jb250ZW50J1wiICpuZ0lmPVwiZHJvcGRvd25PcGVuW2ldPy5yZWFzb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1pbnV0ZXMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBteS0yIG1pbnV0ZXMtc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZHJvcGRvd25MaXN0XCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJwcm9jZXNzPy5yZWFzb24gPT09IGl0ZW0/LmtleSA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYW1lcmEgcHgtNSBpdGVtcyBmdy1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBweS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZWFzb24oaSwgaXRlbT8ua2V5LCAncmVhc29uJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtPy5pdGVtIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDdXN0b20gSW5wdXQgZm9yIFwiT3RoZXJzXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2Nlc3M/LnJlYXNvbiA9PT0gJ290aGVycydcIiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9jZXNzLm90aGVyUmVhc29uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciByZWFzb25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKGksJ3N0YXJ0VGltZScpXCIgY2xhc3M9XCJjdXN0b20tZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBmdy1zZW1pYm9sZCBiZy13aGl0ZSBweC0yXCI+U3RhcnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlbGVjdFwiPnt7cHJvY2Vzcz8uc3RhcnRUaW1lID8gcHJvY2Vzcz8uc3RhcnRUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDonTU06U1MnfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJsYXN0ID8gJ2Ryb3Bkb3duLWNvbnRlbnQxJyA6ICdkcm9wZG93bi1jb250ZW50J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuW2ldPy5zdGFydFRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWludXRlcyBMaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1zZWN0aW9uIG1pbnV0ZXMtc2Nyb2xsIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1pbiBvZiBtaW51dGVzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RNaW51dGUoaSxtaW4sJ3N0YXJ0VGltZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm1pbiA9PT0gc2VsZWN0ZWRNaW51dGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1pbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlY29uZHMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBzZWNvbmRzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlYyBvZiBzZWNvbmRzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RTZWNvbmQoaSxzZWMsJ3N0YXJ0VGltZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlYyA9PT0gc2VsZWN0ZWRTZWNvbmRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlYyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKGksJ2VuZFRpbWUnKVwiIGNsYXNzPVwiY3VzdG9tLWRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgZnctc2VtaWJvbGQgYmctd2hpdGUgcHgtMlwiPkVuZDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc2VsZWN0XCI+PHNwYW4+e3twcm9jZXNzLmVuZFRpbWUgPyBwcm9jZXNzLmVuZFRpbWUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01NOlNTJ319PC9zcGFuPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImxhc3QgPyAnZHJvcGRvd24tY29udGVudDEnIDogJ2Ryb3Bkb3duLWNvbnRlbnQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkcm9wZG93bk9wZW5baV0/LmVuZFRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWludXRlcyBMaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1zZWN0aW9uIG1pbnV0ZXMtc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbWluIG9mIG1pbnV0ZXNMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibWluID09PSBzZWxlY3RlZE1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJnZXRTZWNvbmRzRnJvbVRpbWUobWluICsgJzonICsgc2VsZWN0ZWRTZWNvbmRzKSA8PSBnZXRTZWNvbmRzRnJvbVRpbWUocHJvY2Vzcy5zdGFydFRpbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U2Vjb25kc0Zyb21UaW1lKG1pbiArICc6JyArIHNlbGVjdGVkU2Vjb25kcykgPiBnZXRTZWNvbmRzRnJvbVRpbWUocHJvY2Vzcy5zdGFydFRpbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VsZWN0TWludXRlKGksbWluLCdlbmRUaW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtaW4gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlY29uZHMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBzZWNvbmRzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlYyBvZiBzZWNvbmRzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlYyA9PT0gc2VsZWN0ZWRTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0U2Vjb25kc0Zyb21UaW1lKHNlbGVjdGVkTWludXRlcyArICc6JyArIHNlYykgPD0gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFNlY29uZHNGcm9tVGltZShzZWxlY3RlZE1pbnV0ZXMgKyAnOicgKyBzZWMpID4gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlbGVjdFNlY29uZChpLHNlYywnZW5kVGltZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VjIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzdGVwV2lzZVByb2Nlc3M/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIodGFibGVMb2FkaW5nIHwgYXN5bmMpID09PSAnbG9hZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQgcm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKHRhYmxlTG9hZGluZyB8IGFzeW5jKSA9PT0gJ2xvYWRlZCdcIiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBteS04IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGUgdGVzdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC0zIHAtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+SGlzdG9yeTwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTAgcHgtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIGJvcmRlciBib3JkZXItMSByb3VuZGVkLTNcIiAqbmdJZj1cImhpc3RvcnlEYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPkF1ZGl0ZWQgQnk8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+QXVkaXRlZCBEYXRlPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRpbWUgU3RhbXA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+VmlldyBMb2dzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaGlzdG9yeURhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aXRlbS51c2VyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aXRlbS5EYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tpdGVtLlRpbWV9fSBJU1Q8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKGNsaWNrKT1cInZpZXdIaXN0b3J5TW9kZWwoaXRlbSlcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuODMzNDk2IDguMDAwMTZDMC44MzM0OTYgOC4wMDAxNiA0LjE2NjgzIDEuMzMzNSAxMC4wMDAyIDEuMzMzNUMxNS44MzM1IDEuMzMzNSAxOS4xNjY4IDguMDAwMTYgMTkuMTY2OCA4LjAwMDE2QzE5LjE2NjggOC4wMDAxNiAxNS44MzM1IDE0LjY2NjggMTAuMDAwMiAxNC42NjY4QzQuMTY2ODMgMTQuNjY2OCAwLjgzMzQ5NiA4LjAwMDE2IDAuODMzNDk2IDguMDAwMTZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAuMDAwMiAxMC41MDAyQzExLjM4MDkgMTAuNTAwMiAxMi41MDAyIDkuMzgwODcgMTIuNTAwMiA4LjAwMDE2QzEyLjUwMDIgNi42MTk0NSAxMS4zODA5IDUuNTAwMTYgMTAuMDAwMiA1LjUwMDE2QzguNjE5NDUgNS41MDAxNiA3LjUwMDE2IDYuNjE5NDUgNy41MDAxNiA4LjAwMDE2QzcuNTAwMTYgOS4zODA4NyA4LjYxOTQ1IDEwLjUwMDIgMTAuMDAwMiAxMC41MDAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGlzdG9yeURhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGhpc3Rvcnl0YWJsZUxvYWRpbmcgfCBhc3luYykgPT09ICdsb2FkaW5nJ1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQgcm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoaGlzdG9yeXRhYmxlTG9hZGluZyB8IGFzeW5jKSA9PT0gJ2xvYWRlZCdcIiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBteS04IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGUgdGVzdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdmlld0hpc3RvcnkgbGV0LW1vZGVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNSB0czcwMHB4IHNjcm9sbFwiPlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktMiBkLWZsZXhcIj5cclxuPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0NlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNTYgNTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOCAyMlYyOEwzMiAzME0zOCAyOEMzOCAzMy41MjI4IDMzLjUyMjggMzggMjggMzhDMjIuNDc3MiAzOCAxOCAzMy41MjI4IDE4IDI4QzE4IDIyLjQ3NzIgMjIuNDc3MiAxOCAyOCAxOEMzMy41MjI4IDE4IDM4IDIyLjQ3NzIgMzggMjhaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMyBwdC0yIGZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+QXVkaXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgSGlzdG9yeTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgKm5nSWY9XCJoaXN0b3J5RGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+U3RlcC1ieS1TdGVwIFByb2Nlc3M8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlN0YXR1cyBjaGFuZ2VkIGZyb208L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5vdGVkIFRpbWUgUmFuZ2U8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlJlYXNvbiBmb3IgRXJyb3I8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygdmlld0hpc3RvcnlEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tpdGVtLnByb2Nlc3NOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBtZS0yXCI+UGFzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLkFJU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgbWUtMlwiPkZhaWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMVwiIGhlaWdodD1cIjhcIiB2aWV3Qm94PVwiMCAwIDMxIDhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zMC4zNTM2IDQuMzUzNTVDMzAuNTQ4OCA0LjE1ODI5IDMwLjU0ODggMy44NDE3MSAzMC4zNTM2IDMuNjQ2NDVMMjcuMTcxNiAwLjQ2NDQ2NkMyNi45NzYzIDAuMjY5MjA0IDI2LjY1OTcgMC4yNjkyMDQgMjYuNDY0NSAwLjQ2NDQ2NkMyNi4yNjkyIDAuNjU5NzI4IDI2LjI2OTIgMC45NzYzMTEgMjYuNDY0NSAxLjE3MTU3TDI5LjI5MjkgNEwyNi40NjQ1IDYuODI4NDNDMjYuMjY5MiA3LjAyMzY5IDI2LjI2OTIgNy4zNDAyNyAyNi40NjQ1IDcuNTM1NTNDMjYuNjU5NyA3LjczMDggMjYuOTc2MyA3LjczMDggMjcuMTcxNiA3LjUzNTUzTDMwLjM1MzYgNC4zNTM1NVpNMCA0LjVIMzBWMy41SDBWNC41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmF1ZGl0ZWRTdGF0dXNcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXMtMlwiPlBhc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5hdWRpdGVkU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgbXMtMlwiPkZhaWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkID48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3NcIiAqbmdJZj1cIml0ZW0uc3RhcnRUaW1lXCI+Tm90ZWQgVGltZSBSYW5nZSA6IDxzcGFuIGNsYXNzPVwidGV4dC1kYXJrMVwiPnt7aXRlbS5zdGFydFRpbWUgPyBpdGVtLnN0YXJ0VGltZTonLS0nfX0gLSB7e2l0ZW0uZW5kVGltZX19PC9zcGFuPjwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZW5nYWdlLXRleHRcIj48c3BhbiAqbmdJZj1cIml0ZW0ucmVhc29uICE9PSdvdGhlcnMnXCI+e3tpdGVtLnJlYXNvbn19PC9zcGFuPjxzcGFuICpuZ0lmPVwiaXRlbS5yZWFzb24gPT09J290aGVycydcIj57e2l0ZW0ub3RoZXJSZWFzb259fTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN2aWV3Q2FuY2VsIGxldC1tb2RlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGdyb3VwLWRlbGV0ZSBweS0wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIGQtZmxleCBmbGV4LXN0YXJ0IGZsZXgtY29sdW1uIHAtOSBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTc1cHggc3ltYm9sLWNpcmNsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1NlwiIGhlaWdodD1cIjU2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjRkVGMEM3XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNGRkZBRUJcIiBzdHJva2Utd2lkdGg9XCI4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI3Ljk5ODggMjRWMjhNMjcuOTk4OCAzMkgyOC4wMDg4TTI2LjI4ODggMTguODZMMTcuODE4OCAzM0MxNy42NDQyIDMzLjMwMjQgMTcuNTUxOCAzMy42NDUzIDE3LjU1MDggMzMuOTk0NUMxNy41NDk4IDM0LjM0MzcgMTcuNjQwMyAzNC42ODcxIDE3LjgxMzIgMzQuOTkwNUMxNy45ODYyIDM1LjI5MzkgMTguMjM1NSAzNS41NDY3IDE4LjUzNjUgMzUuNzIzOEMxOC44Mzc1IDM1LjkwMDkgMTkuMTc5NiAzNS45OTYxIDE5LjUyODggMzZIMzYuNDY4OEMzNi44MTggMzUuOTk2MSAzNy4xNjAxIDM1LjkwMDkgMzcuNDYxMSAzNS43MjM4QzM3Ljc2MjEgMzUuNTQ2NyAzOC4wMTE0IDM1LjI5MzkgMzguMTg0NCAzNC45OTA1QzM4LjM1NzMgMzQuNjg3MSAzOC40NDc4IDM0LjM0MzcgMzguNDQ2OCAzMy45OTQ1QzM4LjQ0NTggMzMuNjQ1MyAzOC4zNTM0IDMzLjMwMjQgMzguMTc4OCAzM0wyOS43MDg4IDE4Ljg2QzI5LjUzMDUgMTguNTY2MSAyOS4yNzk1IDE4LjMyMzEgMjguOTggMTguMTU0NEMyOC42ODA1IDE3Ljk4NTggMjguMzQyNSAxNy44OTcyIDI3Ljk5ODggMTcuODk3MkMyNy42NTUxIDE3Ljg5NzIgMjcuMzE3MSAxNy45ODU4IDI3LjAxNzYgMTguMTU0NEMyNi43MTgxIDE4LjMyMzEgMjYuNDY3MSAxOC41NjYxIDI2LjI4ODggMTguODZaXCIgc3Ryb2tlPVwiI0RDNjgwM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiZnMtNCB0ZXh0LWdyYXktODAwIHRleHQtaG92ZXItcHJpbWFyeSBmdy1ib2xkIG1iLTAgdGl0bGUgY3Vyc29yLXBvaW50ZXJcIj5BcmUgeW91IHN1cmU/PC9hPlxyXG4gICAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJzdWItdGl0bGUgZnctbm9ybWFsIG10LTJcIj5Xb3VsZCB5b3UgbGlrZSB0byBjYW5jZWwgdGhpcz88L3NwYW4+XHJcbiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTUgdy0xMDBcIj5cclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgcm9sZT1cImdyb3VwXCIgY2xhc3M9XCJkLWZsZXggbXQtMyBtYi0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMTAwIG1lLTNcIiAoY2xpY2spPVwiT25DYW5jZWwoKVwiPk5vPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJhbGVydC10b2FzdFwiIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgdy0xMDAgbXMtM1wiIChjbGljayk9XCJvblllcygpXCI+WWVzPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwvc2VjdGlvbj4iXX0=
1460
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXllLXRlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9leWUtdGVzdC1hdWRpdC9leWUtdGVzdC9leWUtdGVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2V5ZS10ZXN0LWF1ZGl0L2V5ZS10ZXN0L2V5ZS10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBR3RILE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBR3pCLE9BQU8sRUFBZ0Isb0JBQW9CLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBWSxHQUFHLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTlHLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3JELE1BQU0sT0FBTyxnQkFBZ0I7SUF3RWpCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFBeUI7SUFDekI7SUEvRVYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsQ0FBWTtJQUN2QixpQkFBaUIsR0FBUSxFQUFFLENBQUM7SUFDNUIsWUFBWSxDQUFNO0lBQ2xCLFlBQVksQ0FBTTtJQUNsQixhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixVQUFVLENBQU07SUFDUixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBVSxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixXQUFXLENBQU07SUFDakIsU0FBUyxDQUFNO0lBQ2YsSUFBSSxHQUFRO1FBQ1YsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRTtRQUNuRCxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFO0tBQ3JELENBQUM7SUFDRixTQUFTLEdBQVE7UUFDZixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUNsQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtLQUMvQixDQUFDO0lBRUosNkJBQTZCO0lBQzdCLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsaUNBQWlDO0lBQ2pDLGlDQUFpQztJQUNqQyxpQ0FBaUM7SUFDakMsaUNBQWlDO0lBQ2pDLG1DQUFtQztJQUNuQyxLQUFLO0lBRUwsNEJBQTRCO0lBQzVCLG1DQUFtQztJQUNuQyxvQ0FBb0M7SUFDcEMsb0NBQW9DO0lBQ3BDLG9DQUFvQztJQUNwQyxvQ0FBb0M7SUFDcEMsb0NBQW9DO0lBQ3BDLG9DQUFvQztJQUNwQyxvQ0FBb0M7SUFDcEMsb0NBQW9DO0lBQ3BDLHNDQUFzQztJQUN0QyxLQUFLO0lBQ0gsbUJBQW1CLEdBQU8sRUFBRSxDQUFDO0lBRTdCLGlCQUFpQixHQUFRO1FBQ3ZCLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDOUMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtLQUNyRCxDQUFDO0lBRUYsYUFBYSxHQUFRO1FBQ25CO1lBQ0UsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixLQUFLLEVBQUUsU0FBUztTQUNqQjtRQUNELEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0tBQzFDLENBQUM7SUFFRixnQkFBZ0IsR0FBTTtRQUNwQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUM1QyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUM5QyxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtLQUNoRCxDQUFBO0lBQ0QsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNuQixZQUNVLFFBQXlCLEVBQ3pCLEVBQWUsRUFDZixXQUF3QixFQUN4QixVQUErQixFQUMvQixNQUFjLEVBQ2QsRUFBcUIsRUFDdEIsRUFBc0IsRUFDckIsRUFBZ0IsRUFBUyxZQUFzQixFQUMvQyxLQUFxQjtRQVJyQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3JCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUMvQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELFFBQVEsQ0FBTTtJQUNkLFdBQVcsQ0FBTTtJQUNqQixLQUFLLENBQU07SUFDWCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVMsQ0FBSztJQUNkLFNBQVMsQ0FBSztJQUNkLFdBQVcsQ0FBSztJQUNoQixjQUFjLENBQUs7SUFDbkIsb0JBQW9CLENBQUs7SUFDekIsUUFBUTtRQUNOLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEVBQUU7WUFDbkYsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUM7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTthQUNwQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRztnQkFDekIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQzNCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7YUFDaEMsQ0FBQztTQUNIO1FBRUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7U0FDN0I7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDOUMsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQy9ELE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQzlELENBQUM7UUFDRixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUM1QixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUMvQyxDQUFDO1FBRUYsSUFBSSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsSUFBSSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNsRSxJQUFJLENBQUMsaUJBQWlCLEdBQUc7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUNuQixhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDNUIsWUFBWSxDQUNiLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUNsRSxZQUFZLENBQ2I7YUFDRixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUNFLE1BQU07Z0JBQ04sTUFBTSxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQjtnQkFDQSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBRXhFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUNsQixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDekMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUNoQixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO29CQUMzQyxXQUFXLEVBQUU7d0JBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQ2hDLFlBQVksQ0FDYixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUM5QixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO3dCQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVTtxQkFDeEQ7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUM5QixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixzRUFBc0U7Z0JBQ3RFLElBQUksSUFBSSxFQUFFLE1BQU0sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7b0JBQzFCLHFCQUFxQjtvQkFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTt3QkFFM0IsSUFBSSxDQUFDLFNBQVMsRUFBRTs2QkFDM0IsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsRUFDckMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUN0Qzs2QkFDQSxTQUFTLENBQUM7NEJBQ1QsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQ0FDVCxhQUFhO2dDQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQ0FDaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs0QkFDMUIsQ0FBQzs0QkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFPLEVBQUUsRUFBRTtnQ0FDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDNUMsQ0FBQzt5QkFDRixDQUFDLENBQUM7cUJBQ0o7b0JBQ1MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDMUIsVUFBVTtpQkFDWDtxQkFBTTtvQkFDTCxxQkFBcUI7b0JBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTt3QkFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7d0JBRXZDLElBQUksQ0FBQyxTQUFTLEVBQUU7NkJBQ2xDLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQ3JDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDdEM7NkJBQ0EsU0FBUyxDQUFDOzRCQUNULElBQUksRUFBRSxHQUFHLEVBQUU7Z0NBQ1QsYUFBYTtnQ0FDYixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0NBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7NEJBQzFCLENBQUM7NEJBQ0QsS0FBSyxFQUFFLENBQUMsR0FBTyxFQUFFLEVBQUU7Z0NBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUM7NEJBQzVDLENBQUM7eUJBQ0YsQ0FBQyxDQUFDO3FCQUNNO29CQUVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzFCLFVBQVU7aUJBQ1g7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFnQztRQUMxQyxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQiwySUFBMkk7SUFDM0ksNEJBQTRCO0lBQzVCLHNDQUFzQztJQUN0QyxnREFBZ0Q7SUFDaEQsaUJBQWlCO0lBQ2pCLGdDQUFnQztJQUNoQyxVQUFVO0lBQ1YsUUFBUTtJQUNSLE9BQU87SUFDUCxJQUFJO0lBQ0osUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixtQkFBbUI7SUFDbkIsYUFBYSxDQUFDLEtBQVc7UUFFdkIsSUFBSSxNQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUU7Z0JBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sR0FBRyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztTQUN6RCxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2YsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDaEUsMERBQTBEO2FBQzNEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUN2QjtZQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsb0ZBQW9GO0lBQ3BGLDRCQUE0QjtJQUM1QixzQ0FBc0M7SUFDdEMsNENBQTRDO0lBQzVDLFVBQVU7SUFDVixRQUFRO0lBQ1IsT0FBTztJQUNQLElBQUk7SUFFTCxhQUFhO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixhQUFhLENBQUM7WUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNO1lBQ3BDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNyQixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBRSxLQUFLLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUUsS0FBSyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFQyxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQzNDLFdBQVcsRUFBRTtnQkFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFDaEMsWUFBWSxDQUNiLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQ3JFLFlBQVksQ0FDYjtnQkFDRCxTQUFTLEVBQUUsS0FBSzthQUNqQjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELHFCQUFxQixDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUM3QyxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQ25DO2dCQUNBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDM0MsS0FBSyxDQUFDLFNBQVMsRUFDZixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDekMsS0FBSyxDQUFDLE9BQU8sRUFDYixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRXZCLElBQUksQ0FBQyxXQUFXO3FCQUNiLEdBQUcsQ0FBQyxVQUFVLENBQUM7b0JBQ2hCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0MsSUFDRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUztvQkFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQ3REO29CQUNBLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUNqRSxTQUFTLENBQ1YsQ0FBQztpQkFDSDtnQkFDRCxJQUFJLENBQUMsV0FBVztxQkFDYixHQUFHLENBQUMsUUFBUSxDQUFDO29CQUNkLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDN0MsSUFDRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTztvQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQ3BEO29CQUNBLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUNsRSxjQUFjLENBQ2YsQ0FBQztpQkFDSDtnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7b0JBQzNDLFdBQVcsRUFBRTt3QkFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7d0JBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTzt3QkFDdEMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO3FCQUMxQjtpQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sV0FBVyxHQUNmLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM5QyxDQUFDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQWMsRUFBRSxFQUFFO1lBQ3JDLDhDQUE4QztZQUM5QyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFNO0lBQ2xCLFVBQVU7UUFDUixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLLFVBQVUsQ0FBQyxDQUFDLG1DQUFtQztRQUV0RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQy9CLFFBQVEsRUFBRTtnQkFDUixJQUFJLENBQUMsaUJBQWlCLEVBQUUsU0FBUztvQkFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUNqRixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQzthQUN2RDtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTztvQkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUMvRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQzthQUN2RDtZQUNELElBQUksRUFBRSxJQUFJLENBQUMsU0FBUztZQUNwQixlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNwQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDeEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNyQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsOEJBQThCO1NBQzFFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0Qix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXO2FBQ2IsYUFBYSxDQUFDO1lBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTTtZQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDckIsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO2FBQ0QsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO29CQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUNqQjtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGVBQWUsR0FBVSxFQUFFLENBQUM7SUFDNUIsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxVQUFVLEdBQVEsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sQ0FBTTtJQUNiLE9BQU8sQ0FBTTtJQUNiLGlDQUFpQztJQUNqQyx5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixzREFBc0Q7SUFDdEQsa0RBQWtEO0lBQ2xELHFFQUFxRTtJQUNyRSw2Q0FBNkM7SUFDN0MsNkNBQTZDO0lBQzdDLDZEQUE2RDtJQUM3RCxvQ0FBb0M7SUFDcEMsUUFBUTtJQUNSLFFBQVE7SUFDUixJQUFJO0lBQ0osdUVBQXVFO0lBQ3ZFLFVBQVU7SUFDVixzQ0FBc0M7SUFDdEMsa0NBQWtDO0lBQ2xDLHVCQUF1QjtJQUN2QixRQUFRO0lBQ1IsaURBQWlEO0lBQ2pELGtEQUFrRDtJQUNsRCxrRUFBa0U7SUFDbEUsdUNBQXVDO0lBQ3ZDLFFBQVE7SUFDUixRQUFRO0lBQ1IsSUFBSTtJQUNKLGdDQUFnQztJQUNoQyw4Q0FBOEM7SUFDOUMsSUFBSTtJQUNKLFdBQVcsQ0FBSztJQUNoQixPQUFPLENBQUMsR0FBUSxFQUFFLEdBQVM7UUFDekIseUJBQXlCO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO1FBQ0csSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNO1lBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBRW5ELElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFbEUsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFHLEdBQUcsS0FBSSxPQUFPLEVBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUMxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFDaEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUM7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTthQUN0QyxDQUFDO1NBQ0c7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRztnQkFDekIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQzNCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7YUFDaEMsQ0FBQztTQUNIO1FBQ0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEYsSUFBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUksT0FBTztZQUNwRixJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU07WUFDeEIsR0FBRyxFQUFFLFdBQVcsRUFDaEI7WUFDQSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDdEIsQ0FBQyxPQUFZLEVBQUUsRUFBRTtnQkFFYixJQUFHLE9BQU8sRUFBRSxXQUFXLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBQztvQkFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUN2QixZQUFZLEdBQUcsSUFBSSxDQUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUFBO1NBQ0g7YUFBTSxJQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSSxTQUFTO1lBQzdGLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtZQUN4QixHQUFHLEVBQUUsV0FBVyxFQUNoQjtZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN0QixDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUViLElBQUcsT0FBTyxFQUFFLFdBQVcsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFDO29CQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQ3JCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUVELHVDQUF1QztRQUN2QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFlBQVksSUFBSSxHQUFHLEtBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQ2pGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNoQixDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUNmLElBQUcsT0FBTyxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLE9BQU8sR0FBRyxJQUFJLENBQUM7aUJBQ2hCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDRDtRQUVELHVDQUF1QztRQUV2QyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDbkI7UUFFWSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0gsUUFBUSxDQUFDLEdBQVEsRUFBRSxHQUFTO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzFCLElBQUcsR0FBRyxLQUFJLE9BQU8sRUFBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUc7Z0JBQ3pCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNqQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQztnQkFDbEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2FBQ3RDLENBQUM7U0FDRzthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDM0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTthQUNoQyxDQUFDO1NBQ0g7UUFDRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUNsRDtRQUVELHFFQUFxRTtRQUVyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXpCLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLE9BQU8sQ0FBQztZQUNuRSxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLFNBQVMsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN4QixZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBRUQsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDdEIsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNoQjtRQUVELGFBQWE7UUFDYixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUVjLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCwrQkFBK0I7SUFDL0Isb0NBQW9DO0lBQ3BDLHVFQUF1RTtJQUN2RSw0Q0FBNEM7SUFDNUMsYUFBYTtJQUNiLHlEQUF5RDtJQUN6RCxNQUFNO0lBQ04seUJBQXlCO0lBQ3pCLElBQUk7SUFFSiwwQkFBMEI7SUFDMUIsK0JBQStCO0lBQy9CLDZEQUE2RDtJQUM3RCxvQ0FBb0M7SUFDcEMsYUFBYTtJQUNiLG9EQUFvRDtJQUNwRCxNQUFNO0lBQ04scUJBQXFCO0lBQ3JCLElBQUk7SUFHSixnQkFBZ0IsQ0FBQyxNQUloQjtRQUNDLHFCQUFxQjtRQUNyQixNQUFNLGNBQWMsR0FBUTtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQztTQUM1RDtRQUVELG9CQUFvQjtRQUNwQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNyRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsb0JBQW9CO1FBQ3BCLElBQUksV0FBVyxHQUFhLEVBQUUsQ0FBQztRQUMvQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN4RixXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pFO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QjthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDNUIsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELHdDQUF3QztRQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDeEQsSUFBSSxVQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksY0FBYyxLQUFLLEtBQUssRUFBRTtZQUM1QixVQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0I7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDeEMsVUFBVSxHQUFHLGNBQWMsQ0FBQztTQUM3QjthQUFNLElBQUksY0FBYyxFQUFFO1lBQ3pCLFVBQVUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU07WUFDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDckMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUk7WUFFakMsdUNBQXVDO1lBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBRTdFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsV0FBVztZQUVwQixLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQzFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUVyQixlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRTtZQUV6SSxXQUFXLEVBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU07Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUMvRCxDQUFDLENBQUMsRUFBRTtZQUNOLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRTtZQUV2RCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSTtnQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVE7YUFDMUMsQ0FBQztZQUVGLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDbkMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksS0FBSztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTTtTQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUlDLFVBQVU7UUFDUixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDeEMsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVU7YUFDWixxQkFBcUIsQ0FBQyxXQUFXLENBQUM7YUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUM3QixHQUFHLEVBQ0gsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLGtCQUFrQixDQUNqRCxDQUFDO2dCQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FDbkIsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FDNUQsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVSxHQUFRLENBQUMsQ0FBQztJQUNwQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFVBQVUsQ0FBSztJQUNmLFFBQVE7UUFFTixJQUFJLENBQUMsV0FBVyxHQUFDLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNqQixVQUFVLENBQUMsR0FBRSxFQUFFO1lBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFBO1lBQzVCLElBQUksQ0FBQyxVQUFVO2lCQUNaLGNBQWMsQ0FBQyxXQUFXLENBQUM7aUJBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLG9CQUFvQixFQUFFLENBQUM7aUJBQ3JELFNBQVMsQ0FBQztnQkFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7d0JBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7d0JBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7d0JBQ2xDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO3dCQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztxQkFDckI7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7d0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7cUJBQ3JCO29CQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtvQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtCO1FBQzdCLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQUM7UUFDSCwyQkFBMkI7UUFDL0IsU0FBUztRQUNMLElBQUksQ0FBQyxVQUFVO2FBQ1osY0FBYyxDQUFDLFdBQVcsQ0FBQzthQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7aUJBQ3JCO2dCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDeEMsUUFBUSxFQUFFLEtBQUs7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVO2FBQ1osY0FBYyxDQUFDLFdBQVcsQ0FBQzthQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7aUJBQ3JCO2dCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZLENBQU07SUFDbEIsU0FBUyxDQUFNO0lBQ2YsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELHFCQUFxQjtJQUVyQixNQUFNLEdBQVEsRUFBRSxDQUFDO0lBRWxCLFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNmLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdkQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUMsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsZUFBZSxHQUFRLEVBQUUsQ0FBQztJQUMxQixXQUFXO1FBQ1QsSUFBSSxXQUFXLEdBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksV0FBVyxHQUFRLEVBQUUsQ0FBQztRQUN4QixNQUFNLGNBQWMsR0FBUTtZQUM5QixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQztTQUM1RDtRQUNDLE1BQU0sRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixlQUFlLEVBQ2YsWUFBWSxFQUNaLE9BQU8sRUFDUCxRQUFRLEdBQ1QsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUN0RCxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRTtnQkFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE1BQU0sWUFBWSxHQUNoQixJQUFJLEtBQUssUUFBUTtZQUNmLENBQUMsQ0FBQyxTQUFTLEtBQUssS0FBSztnQkFDbkIsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUMxQixDQUFDLENBQUMsU0FBUztvQkFDWCxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDZixDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWhCLE1BQU0sV0FBVyxHQUFRO1lBQ3ZCLFFBQVE7WUFDUixNQUFNO1lBQ04sSUFBSTtZQUNKLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2xFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTTtnQkFDdEMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxDQUFDLENBQUMsRUFBRTtZQUNOLFlBQVk7WUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSTtnQkFDOUMsUUFBUTtnQkFDUixPQUFPLEVBQUcsSUFBSSxDQUFDLE9BQU87YUFDdkIsQ0FBQztTQUVILENBQUM7UUFFRixJQUFJLFlBQVksRUFBRTtZQUNoQixXQUFXLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxVQUFVO2FBQ1osT0FBTyxDQUFDLFdBQVcsQ0FBQzthQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNILE9BQU8sR0FBRSxLQUFLLENBQUM7SUFDYixXQUFXLENBQUMsSUFBUztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFFLElBQUksQ0FBQztRQUNmLGlEQUFpRDtRQUNqRCxtQkFBbUI7UUFDbkIseUNBQXlDO1FBQ3pDLDhCQUE4QjtRQUM5QixxQkFBcUI7UUFDckIsbURBQW1EO1FBQ25ELDhCQUE4QjtRQUM5QixrQ0FBa0M7UUFDbEMsT0FBTztRQUNQLE1BQU07UUFFTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUUsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUUsRUFBRSxDQUFDO1FBQ3pCLCtDQUErQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFBO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDeEQsTUFBTTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQixJQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxRQUFRLEVBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLG1FQUFtRSxFQUFFLElBQUksRUFBRSxtRUFBbUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLHVFQUF1RSxFQUFFLElBQUksRUFBRSx1RUFBdUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLHFEQUFxRCxFQUFFLElBQUksRUFBRSxxREFBcUQsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtTQUM5ZTthQUFJO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLDJCQUEyQixFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSw2QkFBNkIsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtTQUMxUTtJQUNDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsNkJBQTZCLENBQUMsRUFBRTtZQUNwRCxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFDSCxNQUFNLEdBQUc7UUFDUDtZQUNFLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsR0FBRztZQUNSLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsYUFBYTtZQUN2QixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLGNBQWM7WUFDeEIsS0FBSyxFQUFFLGlDQUFpQztZQUN4QyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsR0FBRztZQUNSLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsZUFBZTtZQUN6QixLQUFLLEVBQUUsMkJBQTJCO1lBQ2xDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixLQUFLLEVBQUUsZ0NBQWdDO1lBQ3ZDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxJQUFJO1lBQ1QsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxJQUFJO1lBQ1QsUUFBUSxFQUFFLGFBQWE7WUFDdkIsS0FBSyxFQUFFLHdCQUF3QjtZQUMvQixJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsSUFBSTtZQUNULFFBQVEsRUFBRSxjQUFjO1lBQ3hCLEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsY0FBYztZQUN4QixLQUFLLEVBQUUsNEJBQTRCO1lBQ25DLElBQUksRUFBRSxPQUFPO1NBQ2Q7S0FDRixDQUFDO0lBRUYsWUFBWTtRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFBRTtpQkFBTTtnQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFBQyxDQUFDO0lBQzVjLFFBQVE7UUFDTixzR0FBc0c7UUFDdEcsMERBQTBEO1FBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLHFDQUFxQztRQUN0RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELFlBQVk7UUFDWixxRUFBcUU7UUFDckUsaUNBQWlDO0lBQ2pDLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBVztRQUFJLElBQUksTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUFFO1FBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztnQkFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcs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QUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO3dHQTlpRFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsMmJDbEI3QixnOTJIQW1oRFU7OzRGRGpnREcsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7K1VBMnRDTSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDRCxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNzQixXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS9lblwiO1xyXG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgU3ViamVjdCwgdGFrZVVudGlsLE9ic2VydmFibGUsdGFwLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXllVGVzdEF1ZGl0U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leWUtdGVzdC1hdWRpdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JUb29sdGlwIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi1leWUtdGVzdFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZXllLXRlc3QuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2V5ZS10ZXN0LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeWVUZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgZXllVGVzdEZvcm06IEZvcm1Hcm91cDtcclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XHJcbiAgc2VsZWN0ZWREYXRlOiBhbnk7XHJcbiAgaXNDdXN0b21EYXRlOiBhbnk7XHJcbiAgaGVhZGVyRmlsdGVyczogYW55ID0gW107XHJcbiAgQ2x1c3Rlckxpc3Q6IGFueSA9IFtdO1xyXG4gIHN0b3JlczogYW55ID0gW107XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGdyb3VwczogYW55ID0gW107XHJcbiAgc3RvcmVMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIG5vRGF0YSA9IGZhbHNlO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGV5ZVRlc3REYXRhOiBhbnk7XHJcbiAgdHlwZVZhbHVlOiBhbnk7XHJcbiAgdHlwZTogYW55ID0gW1xyXG4gICAgeyB2YWx1ZTogXCJwaHlzaWNhbFwiLCBsYWJlbDogXCJFeWUgVGVzdCBDb21wbGlhbmNlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwicmVtb3RlXCIsIGxhYmVsOiBcIlJlbW90ZSBUZXN0IENvbXBsaWFuY2VcIiB9LFxyXG4gIF07XHJcbiAgYXVkaXRUeXBlOiBhbnkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIkFsbFwiLCB2YWx1ZTogXCJhbGxcIiB9LFxyXG4gICAgeyBsYWJlbDogXCJBZHVsdFwiLCB2YWx1ZTogXCJhZHVsdFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIktpZFwiLCB2YWx1ZTogXCJraWRcIiB9LFxyXG4gIF07XHJcblxyXG4vLyAgIHN0b3JlUGVyY2VudGFnZUFycmF5ID0gW1xyXG4vLyAgIHsgbGFiZWw6IFwiMCVcIiwgdmFsdWU6IDAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjE3JVwiLCB2YWx1ZTogMTcgfSxcclxuLy8gICB7IGxhYmVsOiBcIjMzJVwiLCB2YWx1ZTogMzMgfSxcclxuLy8gICB7IGxhYmVsOiBcIjUwJVwiLCB2YWx1ZTogNTAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjY3JVwiLCB2YWx1ZTogNjcgfSxcclxuLy8gICB7IGxhYmVsOiBcIjgzJVwiLCB2YWx1ZTogODMgfSxcclxuLy8gICB7IGxhYmVsOiBcIjEwMCVcIiwgdmFsdWU6IDEwMCB9LFxyXG4vLyBdO1xyXG5cclxuLy8gb3RoZXJzUGVyY2VudGFnZUFycmF5ID0gW1xyXG4vLyAgIHsgbGFiZWw6IFwiMOKAkzEwJVwiLCB2YWx1ZTogMTAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjEw4oCTMjAlXCIsIHZhbHVlOiAyMCB9LFxyXG4vLyAgIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IDMwIH0sXHJcbi8vICAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogNDAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjQw4oCTNTAlXCIsIHZhbHVlOiA1MCB9LFxyXG4vLyAgIHsgbGFiZWw6IFwiNTDigJM2MCVcIiwgdmFsdWU6IDYwIH0sXHJcbi8vICAgeyBsYWJlbDogXCI2MOKAkzcwJVwiLCB2YWx1ZTogNzAgfSxcclxuLy8gICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiA4MCB9LFxyXG4vLyAgIHsgbGFiZWw6IFwiODDigJM5MCVcIiwgdmFsdWU6IDkwIH0sXHJcbi8vICAgeyBsYWJlbDogXCI5MOKAkzEwMCVcIiwgdmFsdWU6IDEwMCB9LFxyXG4vLyBdO1xyXG4gIHR5cGVQZXJjZW50YWdlQXJyYXk6YW55ID0gW107XHJcblxyXG4gIG5lYXJBZGRpdGlvbkFycmF5OiBhbnkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIldpdGggTmVhciBBZGRpdGlvblwiLCB2YWx1ZTogXCJ3aXRoXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiV2l0aG91dCBOZWFyIEFkZGl0aW9uXCIsIHZhbHVlOiBcIndpdGhvdXRcIiB9LFxyXG4gIF07XHJcblxyXG4gIGNhdGVnb3J5QXJyYXk6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgbGFiZWw6IFwiR2VudWluZSBFeWUgVGVzdFwiLFxyXG4gICAgICB2YWx1ZTogXCJnZW51aW5lXCIsXHJcbiAgICB9LFxyXG4gICAgeyBsYWJlbDogXCJGYWtlIEV5ZSBUZXN0XCIsIHZhbHVlOiBcImZha2VcIiB9LFxyXG4gIF07XHJcblxyXG4gIGF1ZGl0U3RhdHVzQXJyYXk6YW55ID1bXHJcbiAgICB7IGxhYmVsOiBcIlJlLUF1ZGl0ZWRcIiwgdmFsdWU6IFwiUmUtQXVkaXRlZFwiIH0sXHJcbiAgICB7IGxhYmVsOiBcIkF1ZGl0ZWRcIiwgdmFsdWU6IFwiQXVkaXRlZFwiIH0sXHJcbiAgICB7IGxhYmVsIDpcIkluLVByb2dyZXNzXCIsIHZhbHVlOiBcIkluLVByb2dyZXNzXCIgfSxcclxuICAgIHtsYWJlbCA6XCJZZXQtdG8tQXVkaXRcIiwgdmFsdWU6IFwiWWV0LXRvLUF1ZGl0XCIgfVxyXG4gIF1cclxuICBzaG93RXllVGVzdCA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgdHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBleWVTZXJ2aWNlOiBFeWVUZXN0QXVkaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHtcclxuICAgIHRoaXMudHlwZVZhbHVlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldChcInR5cGVWYWx1ZVwiKTtcclxuICB9XHJcbiAgaGVhZERhdGU6IGFueTtcclxuICBoZWFkRGF0ZUVuZDogYW55O1xyXG4gIHVzZXJzOiBhbnk7XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIGNsb3NlRXllVGVzdCgpIHtcclxuICAgIHRoaXMuc2hvd0V5ZVRlc3QgPSBmYWxzZTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBSbUxpc3ROZXc6YW55O1xyXG4gIHN0b3Jlc05ldzphbnk7XHJcbiAgZGF0YUJhY2tHZXQ6YW55O1xyXG4gIGF1ZGl0U3RhdHVzTmV3OmFueTtcclxuICBjb21wbGlhbmNlU2NvcmVBcnJheTphbnk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgdXNlcmluZm8gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwiXCIpO1xyXG4gICAgdGhpcy51c2VycyA9IHVzZXJpbmZvO1xyXG5pZiAodGhpcy51c2VycyAmJiAodGhpcy51c2Vycy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzLnJvbGUgPT09IFwiYWRtaW5cIikpIHtcclxuICB0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXHJcbiAgICB7IGxhYmVsOiBcIjDigJMxMCVcIiwgdmFsdWU6IFwiMC0xMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIxMOKAkzIwJVwiLCB2YWx1ZTogXCIxMC0yMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIyMOKAkzMwJVwiLCB2YWx1ZTogXCIyMC0zMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogXCIzMC00MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI0MOKAkzUwJVwiLCB2YWx1ZTogXCI0MC01MFwifSxcclxuICB7IGxhYmVsOiBcIjUw4oCTNjAlXCIsIHZhbHVlOiBcIjUwLTYwXCIgfSxcclxuICB7IGxhYmVsOiBcIjYw4oCTNzAlXCIsIHZhbHVlOiBcIjYwLTcwXCIgfSxcclxuICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiBcIjcwLTgwXCIgfSxcclxuICB7IGxhYmVsOiBcIjgw4oCTOTAlXCIsIHZhbHVlOiBcIjgwLTkwXCIgfSxcclxuICB7IGxhYmVsOiBcIjkw4oCTMTAwJVwiLCB2YWx1ZTogXCI5MC0xMDBcIiB9LFxyXG4gIF07XHJcbn0gZWxzZSB7XHJcbiAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID0gW1xyXG4gICAgeyBsYWJlbDogXCIwJVwiLCB2YWx1ZTogXCIwXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiMTclXCIsIHZhbHVlOiBcIjE3XCIgfSxcclxuICAgIHsgbGFiZWw6IFwiMzMlXCIsIHZhbHVlOiBcIjMzXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiNTAlXCIsIHZhbHVlOiBcIjUwXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiNjclXCIsIHZhbHVlOiBcIjY3XCIgfSxcclxuICAgIHsgbGFiZWw6IFwiODMlXCIsIHZhbHVlOiBcIjgzXCIgfSxcclxuICAgIHsgbGFiZWw6IFwiMTAwJVwiLCB2YWx1ZTogXCIxMDBcIiB9LFxyXG4gIF07XHJcbn1cclxuXHJcbiAgICBpZiAoIXRoaXMudHlwZVZhbHVlKSB7XHJcbiAgICAgIHRoaXMudHlwZVZhbHVlID0gXCJwaHlzaWNhbFwiO1xyXG4gICAgfVxyXG4gIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgIGNvbnN0IGlzVmFsaWREYXRlID0gbSA+IHRoaXMuZGF5anMoKTtcclxuICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xyXG4gICAgfTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XHJcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5XCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheVwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxyXG4gICAgfTtcclxuICAgIGxldCBoZWFkZXJGaWx0ZXJzID0gSlNPTi5wYXJzZShcclxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcclxuICAgICk7XHJcbiAgICAgICBcclxuICAgIGlmIChoZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUgJiYgaGVhZGVyRmlsdGVycz8uZGF0ZT8uZW5kRGF0ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xyXG4gICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcyhcclxuICAgICAgICAgIGhlYWRlckZpbHRlcnMuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgICAgICBcIllZWVktTU0tRERcIlxyXG4gICAgICAgICkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcclxuICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnMuZGF0ZS5lbmREYXRlLCBcIllZWVktTU0tRERcIikuZm9ybWF0KFxyXG4gICAgICAgICAgXCJERC1NTS1ZWVlZXCJcclxuICAgICAgICApLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgcGFyYW1zICYmXHJcbiAgICAgICAgcGFyYW1zW1wiZnJvbURhdGVcIl0gJiZcclxuICAgICAgICBwYXJhbXNbXCJ0b0RhdGVcIl0gJiZcclxuICAgICAgICBwYXJhbXNbXCJ0eXBlVmFsdWVcIl1cclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy50eXBlVmFsdWUgPSBwYXJhbXNbXCJ0eXBlVmFsdWVcIl0gPyBwYXJhbXNbXCJ0eXBlVmFsdWVcIl0gOiBcInBoeXNpY2FsXCI7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhcclxuICAgICAgICAgIHBhcmFtc1tcImZyb21EYXRlXCJdLFxyXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcclxuICAgICAgICApLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlID0gdGhpcy5kYXlqcyhcclxuICAgICAgICAgIHBhcmFtc1tcInRvRGF0ZVwiXSxcclxuICAgICAgICAgIFwiWVlZWS1NTS1ERFwiXHJcbiAgICAgICAgKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdFwiXSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgZnJvbURhdGU6IHRoaXMuZGF5anMoXHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsXHJcbiAgICAgICAgICAgICAgXCJERC1NTS1ZWVlZXCJcclxuICAgICAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICAgICAgICB0b0RhdGU6IHRoaXMuZGF5anMoXHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLFxyXG4gICAgICAgICAgICAgIFwiREQtTU0tWVlZWVwiXHJcbiAgICAgICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAgICAgdHlwZVZhbHVlOiB0aGlzLnR5cGVWYWx1ZSA/IHRoaXMudHlwZVZhbHVlIDogXCJwaHlzaWNhbFwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBsZXQgZGF0ZVRpbWUgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuaGVhZERhdGUgPSB0aGlzLmRheWpzKGRhdGVUaW1lLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiTU1NLCBERFwiKTtcclxuICAgIHRoaXMuaGVhZERhdGVFbmQgPSB0aGlzLmRheWpzKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsXHJcbiAgICAgIFwiREQtTU0tWVlZWVwiXHJcbiAgICApLmZvcm1hdChcIk1NTSBERCwgWVlZWVwiKTtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJUeXBlXCIpPy5zZXRWYWx1ZSh0aGlzLnR5cGVWYWx1ZSk7XHJcbiAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiY29tcGxpYW5jZVNjb3JlXCIpPy5zZXRWYWx1ZSh0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkpO1xyXG4gICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImF1ZGl0U3RhdHVzXCIpPy5zZXRWYWx1ZSh0aGlzLmF1ZGl0U3RhdHVzQXJyYXkpO1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGxldCBkYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwiXCIpXHJcbiAgICAgICAgaWYgKGRhdGE/LmNsaWVudCkge1xyXG4gICAgICAgICAgdGhpcy5oZWFkZXJGaWx0ZXJzID0gZGF0YTtcclxuICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCkge1xyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldEFsbFJtMSgpXHJcbiAgICAucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0QWxsR3JvdXBzMSgpKSxcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0QWxsU3RvcmVzMSgpKVxyXG4gICAgKVxyXG4gICAgLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAvLyBBbGwgZG9uZSDinIVcclxuICAgICAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOmFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBsb2FkaW5nIGRhdGE6XCIsIGVycik7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgLy8gfSwgMTApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudXNlcnMgJiYgdGhpcy51c2Vycz8uY2xpZW50SWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50ID0gdGhpcy51c2Vycy5jbGllbnRJZDtcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFsbFJtMSgpXHJcbiAgICAucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0QWxsR3JvdXBzMSgpKSxcclxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0QWxsU3RvcmVzMSgpKVxyXG4gICAgKVxyXG4gICAgLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAvLyBBbGwgZG9uZSDinIVcclxuICAgICAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOmFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBsb2FkaW5nIGRhdGE6XCIsIGVycik7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAvLyB9LCAxMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEFic1ZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB2YWx1ZSAhPSBudWxsID8gTWF0aC5hYnModmFsdWUpIDogMDtcclxuICB9XHJcbiAgLy8gY2x1c3RlcnMgb2xkIGFwaSByZW1vdmVkXHJcbiAgLy8gZ2V0QWxsR3JvdXBzKCkge1xyXG4gIC8vICAgdGhpcy50cmF4U2VydmljZS5nZXRjbHVzdGVycyh7IGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCwgZ3JvdXA6IFtdLCBjaXR5OiBbXSB9KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAvLyAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAvLyAgICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QgPSByZXMuZGF0YS5ncm91cERhdGFcclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IFtdXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuICBsb2FkaW5nMSA9IHRydWU7XHJcbiAgLy8gY2x1c3RlcnMgbmV3IGFwaVxyXG4gIGdldEFsbEdyb3VwczEoZXZlbnQ/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIFxyXG4gICAgbGV0IHJtTGlzdDogYW55ID0gW107XHJcbiAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdCkpIHtcclxuICAgICAgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QuZm9yRWFjaCgoZWw6IGFueSkgPT4ge1xyXG4gICAgICAgIHJtTGlzdC5wdXNoKGVsPy5lbWFpbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZXZlbnQ/Lm1hcCgoZWw6IGFueSkgPT4gZWw/LmVtYWlsKSB8fCBbdGhpcy51c2Vycz8uZW1haWxdO1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQgPyB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50IDogXCJcIixcclxuICAgICAgcm1MaXN0OiBybUxpc3QubGVuZ3RoID4gMCA/IHJtTGlzdCA6IFt0aGlzLnVzZXJzPy5lbWFpbF0sXHJcbiAgICB9O1xyXG4gICByZXR1cm4gdGhpcy5leWVTZXJ2aWNlLmdldENsdXN0ZXJzKG9iaikucGlwZShcclxuICAgIHRhcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLkNsdXN0ZXJMaXN0KTtcclxuICAgICAgICB0aGlzLmdyb3VwcyA9IHRoaXMuQ2x1c3Rlckxpc3QubWFwKChlbDogYW55KSA9PiBlbC5jbHVzdGVyTmFtZSk7XHJcbiAgICAgICAgLy8gTm90ZTogRG8gTk9UIGNhbGwgZ2V0QWxsU3RvcmVzKCkgaGVyZTsgY2hhaW4gaXQgb3V0c2lkZVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QgPSBbXTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcxID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KVxyXG4gICApO1xyXG4gIH1cclxuXHJcbiAgLy8gY2xpZW50RGV0YWlscygpIHtcclxuICAvLyAgIHRoaXMudHJheFNlcnZpY2UuZ2V0Y2xpZW50KHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQgfSkuc3Vic2NyaWJlKHtcclxuICAvLyAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAvLyAgICAgICAgIHRoaXMuY2xpZW50RGF0YSA9IHJlcy5kYXRhLnJlc3VsdFxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcblxyXG4gZ2V0QWxsU3RvcmVzMSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIHJldHVybiB0aGlzLnRyYXhTZXJ2aWNlXHJcbiAgICAuZ2V0U3RvcmVzbGlzdCh7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCxcclxuICAgICAgY2x1c3RlcnM6IHRoaXMuZ3JvdXBzLFxyXG4gICAgICBjaXR5OiBbXSxcclxuICAgIH0pXHJcbiAgICAucGlwZShcclxuICAgICAgdGFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSByZXMuZGF0YS5zdG9yZXNEYXRhO1xyXG4gICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKHRoaXMuc3RvcmVMaXN0KTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZzEgPWZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IFtdO1xyXG4gICAgICAgICAgIHRoaXMubG9hZGluZzEgPWZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICApO1xyXG59XHJcblxyXG4gIHR5cGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJUeXBlXCIpPy5zZXRWYWx1ZShldmVudCk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3RyYXgvYXVkaXRcIl0sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICBmcm9tRGF0ZTogdGhpcy5kYXlqcyhcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLFxyXG4gICAgICAgICAgXCJERC1NTS1ZWVlZXCJcclxuICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIiksXHJcbiAgICAgICAgdG9EYXRlOiB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcclxuICAgICAgICAgIFwiWVlZWS1NTS1ERFwiXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0eXBlVmFsdWU6IGV2ZW50LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgYXVkaXRUeXBlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiYXVkaXRUeXBlXCIpPy5zZXRWYWx1ZShldmVudCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHR5cGVQZXJjZW50YWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiY29tcGxpYW5jZVNjb3JlXCIpPy5zZXRWYWx1ZShldmVudCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgdHlwZUF1ZGl0U3RhdHVzQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiYXVkaXRTdGF0dXNcIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBuZWFyQWRkaXRpb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJuZWFyQWRkaXRpb25cIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBjYXRlZ29yeVR5cGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjYXRlZ29yeVwiKT8uc2V0VmFsdWUoZXZlbnQpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSAmJiBldmVudC5lbmREYXRlKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpICYmXHJcbiAgICAgICAgdGhpcy5kYXlqcyhldmVudC5lbmREYXRlKS5pc1ZhbGlkKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKFxyXG4gICAgICAgICAgZXZlbnQuc3RhcnREYXRlLFxyXG4gICAgICAgICAgXCJERC1NTS1ZWVlZXCJcclxuICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIik7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlID0gdGhpcy5kYXlqcyhcclxuICAgICAgICAgIGV2ZW50LmVuZERhdGUsXHJcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxyXG4gICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuXHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybVxyXG4gICAgICAgICAgLmdldChcImZyb21EYXRlXCIpXHJcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlKTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSAmJlxyXG4gICAgICAgICAgdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSkuaXNWYWxpZCgpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmhlYWREYXRlID0gdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSkuZm9ybWF0KFxyXG4gICAgICAgICAgICBcIk1NTSwgRERcIlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybVxyXG4gICAgICAgICAgLmdldChcInRvRGF0ZVwiKVxyXG4gICAgICAgICAgPy5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUpO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSAmJlxyXG4gICAgICAgICAgdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUpLmlzVmFsaWQoKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5oZWFkRGF0ZUVuZCA9IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlKS5mb3JtYXQoXHJcbiAgICAgICAgICAgIFwiTU1NIERELCBZWVlZXCJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdFwiXSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgZnJvbURhdGU6IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLFxyXG4gICAgICAgICAgICB0b0RhdGU6IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSxcclxuICAgICAgICAgICAgdHlwZVZhbHVlOiB0aGlzLnR5cGVWYWx1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxyXG4gICAgICAgICAgbSA+IHRoaXMuZGF5anMoKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDYwLCBcImRheXNcIikpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0VmFsaWRhdGlvbigpIHtcclxuICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgIC8vIENoZWNrIGlmIHRoZSBnaXZlbiBkYXRlIGlzIGJlZm9yZSB5ZXN0ZXJkYXlcclxuICAgICAgcmV0dXJuIG0uaXNBZnRlcih0aGlzLmRheWpzKCksIFwiZGF5XCIpID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkVHlwZTogYW55O1xyXG4gIGNyZWF0ZUZvcm0oKSB7XHJcbiAgICBjb25zdCBpc1JlbW90ZSA9IHRoaXMuc2VsZWN0ZWRUeXBlID09PSBcInBoeXNpY2FsXCI7IC8vIG9yIGhvd2V2ZXIgeW91J3JlIGRldGVybWluaW5nIGl0XHJcblxyXG4gICAgdGhpcy5leWVUZXN0Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBmcm9tRGF0ZTogW1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LnN0YXJ0RGF0ZVxyXG4gICAgICAgID8gdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIilcclxuICAgICAgICA6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICBdLFxyXG4gICAgICB0b0RhdGU6IFtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlPy5lbmREYXRlXHJcbiAgICAgICAgPyB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIilcclxuICAgICAgICA6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxyXG4gICAgICBdLFxyXG4gICAgICB0eXBlOiB0aGlzLnR5cGVWYWx1ZSxcclxuICAgICAgY29tcGxpYW5jZVNjb3JlOiBbdGhpcy50eXBlUGVyY2VudGFnZUFycmF5XSxcclxuICAgICAgLi4uKGlzUmVtb3RlID8ge30gOiB7IGNhdGVnb3J5OiBbXCJnZW51aW5lXCJdIH0pLFxyXG4gICAgICBuZWFyQWRkaXRpb246IFtcIlwiXSxcclxuICAgICAgYXVkaXRTdGF0dXM6IFt0aGlzLmF1ZGl0U3RhdHVzQXJyYXldLFxyXG4gICAgICBDbHVzdGVyTGlzdDogW3RoaXMuZ3JvdXBzXSxcclxuICAgICAgc3RvcmVMaXN0OiBbdGhpcy5zdG9yZXNdLFxyXG4gICAgICBSbUxpc3Q6IFt0aGlzLlJtTGlzdF0sXHJcbiAgICAgIC4uLihpc1JlbW90ZSA/IHt9IDogeyBhdWRpdFR5cGU6IFwiYWxsXCIgfSksIC8vIENvbmRpdGlvbmFsbHkgYWRkIGF1ZGl0VHlwZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbmdyb3VwU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIC8vIHRoaXMubG9hZGluZzEgPSB0cnVlO1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoZXZlbnQpO1xyXG4gICAgdGhpcy5ncm91cHMgPSBldmVudC5tYXAoKGVsOiBhbnkpID0+IGVsLmNsdXN0ZXJOYW1lKTtcclxuICAgIHRoaXMudHJheFNlcnZpY2VcclxuICAgICAgLmdldFN0b3Jlc2xpc3Qoe1xyXG4gICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgIGNsdXN0ZXJzOiB0aGlzLmdyb3VwcyxcclxuICAgICAgICBjaXR5OiBbXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IHJlcy5kYXRhLnN0b3Jlc0RhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwic3RvcmVMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLnN0b3JlTGlzdCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZzEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gW107XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcxID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uU3RvcmVTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKGV2ZW50KTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBzZWFyY2hWYWx1ZTogYW55ID0gXCJcIjtcclxuICBzZWFyY2hEYXRhKCkge1xyXG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU7XHJcbiAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uU2l6ZXM6IGFueVtdID0gW107XHJcbiAgcGFnZVNpemUgPSAxMDtcclxuICBzZXRQYWdpbmF0aW9uU2l6ZXMoKSB7XHJcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID4gMTApIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFt0aGlzLnRvdGFsSXRlbXNdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgIDEwXHJcbiAgICB9XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5wYWdpbmF0aW9uU2l6ZXNbMF07XHJcbiAgfVxyXG4gIFJtTGlzdERhdGE6IGFueSA9IFtdO1xyXG4gIGtleVR5cGU6IGFueTtcclxuICBybUVtYWlsOiBhbnk7XHJcbiAgLy8gdHlwZVZhbCh2YWw6IGFueSwgb2JqPzogYW55KSB7XHJcbiAgLy8gICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCI7XHJcbiAgLy8gICB0aGlzLmxpbWl0ID0gMTA7XHJcbiAgLy8gICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgLy8gICB0aGlzLnBhZ2VTaXplID0gMTA7XHJcbiAgLy8gICB0aGlzLmtleVR5cGUgPSB2YWw7XHJcbiAgLy8gICB0aGlzLnJtRW1haWwgPSBvYmo/LlJNRW1haWwgPyBvYmo/LlJNRW1haWwgOiBvYmo7XHJcbiAgLy8gICAvLyDwn5SNIGZpbmQgdGhlIFJNIG9iamVjdCBpbiB5b3VyIFJtTGlzdCBhcnJheVxyXG4gIC8vICAgIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB0aGlzLlJtTGlzdD8ubGVuZ3RoKSB7XHJcbiAgLy8gICB0aGlzLlJtTGlzdD8uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgLy8gICAgIGlmIChlbGVtZW50Py5lbWFpbCA9PT0gdGhpcy5ybUVtYWlsKSB7XHJcbiAgLy8gICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtlbGVtZW50XSk7XHJcbiAgLy8gICAgICAgdGhpcy5vblJtU2VsZWN0KFtlbGVtZW50XSk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuICAvLyAgIHRoaXMuZ3JvdXBzID0gb2JqPy5jbHVzdGVyTmFtZSA/IFtvYmo/LmNsdXN0ZXJOYW1lXSA6IHRoaXMuZ3JvdXBzO1xyXG4gIC8vICAgIGlmIChcclxuICAvLyAgICAgdGhpcy51c2Vycz8ucm9sZSA9PT0gXCJhZG1pblwiICYmXHJcbiAgLy8gICAgIHRoaXMuQ2x1c3Rlckxpc3Q/Lmxlbmd0aCAmJlxyXG4gIC8vICAgICBvYmo/LmNsdXN0ZXJOYW1lXHJcbiAgLy8gICApIHtcclxuICAvLyAgIHRoaXMuQ2x1c3Rlckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgLy8gICAgIGlmIChlbGVtZW50Py5jbHVzdGVyTmFtZSA9PT0gdGhpcy5ncm91cHMpIHtcclxuICAvLyAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShbZWxlbWVudF0pO1xyXG4gIC8vICAgICAgIHRoaXMub25ncm91cFNlbGVjdChbZWxlbWVudF0pO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcbiAgLy8gICB0aGlzLnNvcnRlZENvbHVtbiA9IFwiZGF0ZVwiO1xyXG4gIC8vICAgaWYgKHRoaXMucm1FbWFpbCA9PT0gXCJcIikgdGhpcy5vblN1Ym1pdCgpO1xyXG4gIC8vIH1cclxuICBkZW1vR3JhcGljczphbnk7XHJcbiAgdHlwZVZhbCh2YWw6IGFueSwgb2JqPzogYW55KSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyh2YWwsIG9iaik7XHJcbiAgIHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSA9W107XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCI7XHJcbiAgICB0aGlzLmxpbWl0ID0gMTA7XHJcbiAgICB0aGlzLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gMTA7XHJcbiAgICB0aGlzLmtleVR5cGUgPSB2YWw7XHJcbiAgICB0aGlzLnNvcnRlZENvbHVtbiA9IFwiZGF0ZVwiO1xyXG50aGlzLmRlbW9HcmFwaWNzID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5hdWRpdFR5cGU7XHJcbmlmICh0aGlzLmRlbW9HcmFwaWNzID09PSBcImFsbFwiKSB7XHJcbiAgdGhpcy5kZW1vR3JhcGljcyA9IFtcImFkdWx0XCIsIFwia2lkXCJdO1xyXG59XHJcbiAgICBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgJiYgdGhpcy5SbUxpc3Q/Lmxlbmd0aClcclxuICAgICAgdGhpcy5ybUVtYWlsID0gb2JqPy5STUVtYWlsID8gb2JqPy5STUVtYWlsIDogb2JqO1xyXG4gICAgXHJcbiAgICB0aGlzLmdyb3VwcyA9IG9iaj8uY2x1c3Rlck5hbWUgPyBbb2JqPy5jbHVzdGVyTmFtZV0gOiB0aGlzLmdyb3VwcztcclxuICAgIFxyXG4gICAgbGV0IGZvdW5kUk0gPSBmYWxzZTtcclxuICAgIGxldCBmb3VuZENsdXN0ZXIgPSBmYWxzZTtcclxuICAgIGlmKHZhbCAhPT1cInN0b3JlXCIpe1xyXG50aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXHJcbiB7IGxhYmVsOiBcIjDigJMxMCVcIiwgdmFsdWU6IFwiMC0xMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIxMOKAkzIwJVwiLCB2YWx1ZTogXCIxMC0yMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIyMOKAkzMwJVwiLCB2YWx1ZTogXCIyMC0zMFwiIH0sXHJcbiAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogXCIzMC00MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI0MOKAkzUwJVwiLCB2YWx1ZTogXCI0MC01MFwifSxcclxuICB7IGxhYmVsOiBcIjUw4oCTNjAlXCIsIHZhbHVlOiBcIjUwLTYwXCIgfSxcclxuICB7IGxhYmVsOiBcIjYw4oCTNzAlXCIsIHZhbHVlOiBcIjYwLTcwXCIgfSxcclxuICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiBcIjcwLTgwXCIgfSxcclxuICB7IGxhYmVsOiBcIjgw4oCTOTAlXCIsIHZhbHVlOiBcIjgwLTkwXCIgfSxcclxuICB7IGxhYmVsOiBcIjkw4oCTMTAwJVwiLCB2YWx1ZTogXCI5MC0xMDBcIiB9LFxyXG5dO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID0gW1xyXG4gICAgICAgIHsgbGFiZWw6IFwiMCVcIiwgdmFsdWU6IFwiMFwiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCIxNyVcIiwgdmFsdWU6IFwiMTdcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiMzMlXCIsIHZhbHVlOiBcIjMzXCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjUwJVwiLCB2YWx1ZTogXCI1MFwiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCI2NyVcIiwgdmFsdWU6IFwiNjdcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiODMlXCIsIHZhbHVlOiBcIjgzXCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjEwMCVcIiwgdmFsdWU6IFwiMTAwXCIgfSxcclxuICAgICAgXTtcclxuICAgIH1cclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNvbXBsaWFuY2VTY29yZVwiKT8uc2V0VmFsdWUodGhpcy50eXBlUGVyY2VudGFnZUFycmF5KTtcclxuICAgIGlmKCh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzPy5yb2xlID09PSBcImFkbWluXCIpICYmIHZhbCA9PT1cInN0b3JlXCIgJiZcclxuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0Py5sZW5ndGggJiZcclxuICAgICAgICBvYmo/LmNsdXN0ZXJOYW1lXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QuZm9yRWFjaChcclxuICAgICAgICAgIChlbGVtZW50OiBhbnkpID0+IFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaWYoZWxlbWVudD8uY2x1c3Rlck5hbWUgPT09IG9iai5jbHVzdGVyTmFtZSl7XHJcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShbZWxlbWVudF0pO1xyXG4gICAgICAgICAgdGhpcy5vbmdyb3VwU2VsZWN0KFtlbGVtZW50XSk7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xyXG4gICAgICAgICAgZm91bmRDbHVzdGVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2UgaWYoKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiIHx8IHRoaXMudXNlcnM/LnJvbGUgPT09IFwiYWRtaW5cIikgJiYgdmFsID09PVwiY2x1c3RlclwiICYmXHJcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdD8ubGVuZ3RoICYmXHJcbiAgICAgICAgb2JqPy5jbHVzdGVyTmFtZVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0LmZvckVhY2goXHJcbiAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGlmKGVsZW1lbnQ/LmNsdXN0ZXJOYW1lID09PSBvYmouY2x1c3Rlck5hbWUpe1xyXG4gICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcclxuICAgICAgICAgIHRoaXMub25ncm91cFNlbGVjdChbZWxlbWVudF0pO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcclxuICAgICAgICAgIGZvdW5kQ2x1c3RlciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8vIOKchSBSTSBzZWxlY3Rpb24gKG9ubHkgZm9yIHN1cGVyYWRtaW4pXHJcbiAgICBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgJiYgdmFsID09PVwiY2x1c3RlclwiICYmIHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcclxuICAgICB0aGlzLlJtTGlzdC5mb3JFYWNoKFxyXG4gICAgICAgIChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmKGVsZW1lbnQ/LmVtYWlsID09PSB0aGlzLnJtRW1haWwpIHtcclxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcclxuICAgICAgICB0aGlzLm9uUm1TZWxlY3QoW2VsZW1lbnRdKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xyXG4gICAgICAgIGZvdW5kUk0gPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8vIOKchSBDbHVzdGVyIHNlbGVjdGlvbiAob25seSBmb3IgYWRtaW4pXHJcblxyXG4gICAgLy8g4pyFIFN1Ym1pdCBmYWxsYmFja1xyXG4gICAgaWYgKCFmb3VuZFJNICYmICFmb3VuZENsdXN0ZXIpIHtcclxuICAgIHRoaXMuZ2V0QWxsU3RvcmVzKCk7XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgICAgICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcclxuICAgICAgICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxudHlwZVZhbDEodmFsOiBhbnksIG9iaj86IGFueSkge1xyXG4gIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCI7XHJcbiAgdGhpcy5saW1pdCA9IDEwO1xyXG4gIHRoaXMub2Zmc2V0ID0gMTtcclxuICB0aGlzLnBhZ2VTaXplID0gMTA7XHJcbiAgdGhpcy5rZXlUeXBlID0gdmFsO1xyXG4gIHRoaXMuc29ydGVkQ29sdW1uID0gXCJkYXRlXCI7XHJcbiAgIGlmKHZhbCAhPT1cInN0b3JlXCIpe1xyXG50aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXHJcbiAgeyBsYWJlbDogXCIw4oCTMTAlXCIsIHZhbHVlOiBcIjAtMTBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiMTDigJMyMCVcIiwgdmFsdWU6IFwiMTAtMjBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IFwiMjAtMzBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiMzDigJM0MCVcIiwgdmFsdWU6IFwiMzAtNDBcIiB9LFxyXG4gIHsgbGFiZWw6IFwiNDDigJM1MCVcIiwgdmFsdWU6IFwiNDAtNTBcIn0sXHJcbiAgeyBsYWJlbDogXCI1MOKAkzYwJVwiLCB2YWx1ZTogXCI1MC02MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI2MOKAkzcwJVwiLCB2YWx1ZTogXCI2MC03MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI3MOKAkzgwJVwiLCB2YWx1ZTogXCI3MC04MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI4MOKAkzkwJVwiLCB2YWx1ZTogXCI4MC05MFwiIH0sXHJcbiAgeyBsYWJlbDogXCI5MOKAkzEwMCVcIiwgdmFsdWU6IFwiOTAtMTAwXCIgfSxcclxuXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSA9IFtcclxuICAgICAgICB7IGxhYmVsOiBcIjAlXCIsIHZhbHVlOiBcIjBcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiMTclXCIsIHZhbHVlOiBcIjE3XCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjMzJVwiLCB2YWx1ZTogXCIzM1wiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCI1MCVcIiwgdmFsdWU6IFwiNTBcIiB9LFxyXG4gICAgICAgIHsgbGFiZWw6IFwiNjclXCIsIHZhbHVlOiBcIjY3XCIgfSxcclxuICAgICAgICB7IGxhYmVsOiBcIjgzJVwiLCB2YWx1ZTogXCI4M1wiIH0sXHJcbiAgICAgICAgeyBsYWJlbDogXCIxMDAlXCIsIHZhbHVlOiBcIjEwMFwiIH0sXHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSk7XHJcbiAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcclxuICAgIHRoaXMucm1FbWFpbCA9IG9iaj8uUk1FbWFpbCA/IG9iaj8uUk1FbWFpbCA6IG9iajtcclxuICB9XHJcblxyXG4gIC8vIHRoaXMuZ3JvdXBzID0gb2JqPy5jbHVzdGVyTmFtZSA/IFtvYmo/LmNsdXN0ZXJOYW1lXSA6IHRoaXMuZ3JvdXBzO1xyXG5cclxuICB0aGlzLmRlbW9HcmFwaWNzID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5hdWRpdFR5cGU7XHJcbiAgaWYgKHRoaXMuZGVtb0dyYXBpY3MgPT09IFwiYWxsXCIpIHtcclxuICAgIHRoaXMuZGVtb0dyYXBpY3MgPSBbXCJhZHVsdFwiLCBcImtpZFwiXTtcclxuICB9XHJcbiAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xyXG4gIGxldCBmb3VuZFJNID0gZmFsc2U7XHJcbiAgbGV0IGZvdW5kQ2x1c3RlciA9IGZhbHNlO1xyXG5cclxuICAvLyDinIUgQ2x1c3RlciAvIFN0b3JlXHJcbiAgaWYgKCh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzPy5yb2xlID09PSBcImFkbWluXCIpICYmXHJcbiAgICAgICh2YWwgPT09IFwic3RvcmVcIiB8fCB2YWwgPT09IFwiY2x1c3RlclwiKSkge1xyXG4gICAgIHRoaXMuZ2V0QWxsR3JvdXBzKCk7XHJcbiAgICAgICB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcclxuICAgIGZvdW5kQ2x1c3RlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyDinIUgUk0gKG9ubHkgZm9yIHN1cGVyYWRtaW4pXHJcbiAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHZhbCA9PT0gXCJybVwiKSB7XHJcbiAgIHRoaXMuZ2V0QWxsUm0oKTtcclxuICAgICB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcclxuICAgIGZvdW5kUk0gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8g4pyFIEZhbGxiYWNrXHJcbiAgaWYgKCFmb3VuZFJNICYmICFmb3VuZENsdXN0ZXIpIHtcclxuICAgIHRoaXMuZ2V0QWxsU3RvcmVzKCk7XHJcbiAgfVxyXG4gIFxyXG4gICAgICAgICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcclxuICAgICAgICAgIFxyXG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG59XHJcbi8vIHByaXZhdGUgcmVzZXRBbGxDbHVzdGVycygpIHtcclxuLy8gICBpZiAodGhpcy5DbHVzdGVyTGlzdD8ubGVuZ3RoKSB7XHJcbi8vICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLkNsdXN0ZXJMaXN0KTtcclxuLy8gICAgIHRoaXMub25ncm91cFNlbGVjdCh0aGlzLkNsdXN0ZXJMaXN0KTtcclxuLy8gICB9IGVsc2Uge1xyXG4vLyAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW10pO1xyXG4vLyAgIH1cclxuLy8gICB0aGlzLmdldEFsbEdyb3VwcygpO1xyXG4vLyB9XHJcblxyXG4vLyBwcml2YXRlIHJlc2V0QWxsUm1zKCkge1xyXG4vLyAgIGlmICh0aGlzLlJtTGlzdD8ubGVuZ3RoKSB7XHJcbi8vICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5SbUxpc3QpO1xyXG4vLyAgICAgdGhpcy5vblJtU2VsZWN0KHRoaXMuUm1MaXN0KTtcclxuLy8gICB9IGVsc2Uge1xyXG4vLyAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtdKTtcclxuLy8gICB9XHJcbi8vICAgdGhpcy5nZXRBbGxSbSgpO1xyXG4vLyB9XHJcblxyXG5cclxuYnVpbGRSZXF1ZXN0RGF0YShwYXJhbXM/OiB7XHJcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xyXG4gIGxpbWl0PzogbnVtYmVyO1xyXG4gIG9mZnNldD86IG51bWJlcjtcclxufSk6IGFueSB7XHJcbiAgLy8gTWFwIHJvbGUg4oaSIGtleVR5cGVcclxuICBjb25zdCByb2xlS2V5VHlwZU1hcDogYW55ID0ge1xyXG4gICAgc3VwZXJhZG1pbjogXCJybVwiLFxyXG4gICAgYWRtaW46IFwiY2x1c3RlclwiLFxyXG4gICAgdXNlcjogXCJzdG9yZVwiLFxyXG4gIH07XHJcbiAgaWYgKCF0aGlzLmtleVR5cGUpIHtcclxuICAgIHRoaXMua2V5VHlwZSA9IHJvbGVLZXlUeXBlTWFwW3RoaXMudXNlcnM/LnJvbGVdIHx8IFwic3RvcmVcIjtcclxuICB9XHJcblxyXG4gIC8vIENvbGxlY3Qgc3RvcmUgSURzXHJcbiAgY29uc3QgZmluYWxTdG9yZXMgPSBBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0KVxyXG4gICAgPyB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnN0b3JlTGlzdC5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpXHJcbiAgICA6IFtdO1xyXG5cclxuICAvLyBDb2xsZWN0IFJNIGVtYWlsc1xyXG4gIGxldCBmaW5hbFJNTGlzdDogc3RyaW5nW10gPSBbXTtcclxuICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdCkgJiYgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QubGVuZ3RoKSB7XHJcbiAgICBmaW5hbFJNTGlzdCA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0Lm1hcCgoZWw6IGFueSkgPT4gZWw/LmVtYWlsKTtcclxuICB9IGVsc2UgaWYgKHRoaXMucm1FbWFpbCkge1xyXG4gICAgZmluYWxSTUxpc3QgPSBbdGhpcy5ybUVtYWlsXTtcclxuICB9IGVsc2UgaWYgKHRoaXMudXNlcnM/LmVtYWlsKSB7XHJcbiAgICBmaW5hbFJNTGlzdCA9IFt0aGlzLnVzZXJzLmVtYWlsXTtcclxuICB9XHJcbnRoaXMuUm1MaXN0RGF0YSA9IGZpbmFsUk1MaXN0Py5sZW5ndGggPyBmaW5hbFJNTGlzdD8ubGVuZ3RoIDogW107XHJcbiAgLy8gSGFuZGxlIGF1ZGl0VHlwZSDihpIgbm9ybWFsaXplIHRvIGFycmF5XHJcbiAgY29uc3QgYXVkaXRUeXBlVmFsdWUgPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0VHlwZTtcclxuICBsZXQgYXVkaXRUeXBlczogc3RyaW5nW10gPSBbXTtcclxuICBpZiAoYXVkaXRUeXBlVmFsdWUgPT09IFwiYWxsXCIpIHtcclxuICAgIGF1ZGl0VHlwZXMgPSBbXCJhZHVsdFwiLCBcImtpZFwiXTtcclxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXVkaXRUeXBlVmFsdWUpKSB7XHJcbiAgICBhdWRpdFR5cGVzID0gYXVkaXRUeXBlVmFsdWU7XHJcbiAgfSBlbHNlIGlmIChhdWRpdFR5cGVWYWx1ZSkge1xyXG4gICAgYXVkaXRUeXBlcyA9IFthdWRpdFR5cGVWYWx1ZV07XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxyXG4gICAgZnJvbURhdGU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuZnJvbURhdGUsXHJcbiAgICB0b0RhdGU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUudG9EYXRlLFxyXG4gICAgdHlwZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlLFxyXG5cclxuICAgIC8vIGRlbW9ncmFwaGljcyBvbmx5IGlmIHR5cGUgIT09IHJlbW90ZVxyXG4gICAgLi4uKHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZSAhPT0gXCJyZW1vdGVcIiAmJiB7IGRlbW9ncmFwaGljczogYXVkaXRUeXBlcyB9KSxcclxuXHJcbiAgICBjbHVzdGVyOiB0aGlzLmdyb3VwcyxcclxuICAgIHN0b3JlSWQ6IGZpbmFsU3RvcmVzLFxyXG5cclxuICAgIGxpbWl0OiBwYXJhbXM/LmxpbWl0ID8/IHRoaXMubGltaXQgPz8gMTAsXHJcbiAgICBvZmZzZXQ6IHBhcmFtcz8ub2Zmc2V0ID8/IHRoaXMub2Zmc2V0ID8/IDEsXHJcbiAgICBrZXlUeXBlOiB0aGlzLmtleVR5cGUsXHJcblxyXG4gICAgY29tcGxpYW5jZVNjb3JlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmNvbXBsaWFuY2VTY29yZT8ubGVuZ3RoID8gKHRoaXMuZXllVGVzdEZvcm0udmFsdWUuY29tcGxpYW5jZVNjb3JlLm1hcCgoZWw6IGFueSkgPT4gZWwudmFsdWUpKTogW10sXHJcbiAgIFxyXG4gICAgYXVkaXRTdGF0dXM6ICB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0U3RhdHVzPy5sZW5ndGhcclxuICAgICAgPyB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0U3RhdHVzLm1hcCgoZWw6IGFueSkgPT4gZWwudmFsdWUpXHJcbiAgICAgIDogW10sXHJcbiAgICBuZWFyQWRkaXRpb246IHRoaXMuZXllVGVzdEZvcm0udmFsdWUubmVhckFkZGl0aW9uIHx8IFwiXCIsXHJcblxyXG4gICAgLi4uKHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZSAhPT0gXCJyZW1vdGVcIiAmJiB7XHJcbiAgICAgIGNhdGVnb3J5OiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmNhdGVnb3J5LFxyXG4gICAgfSksXHJcblxyXG4gICAgUk1MaXN0OiBmaW5hbFJNTGlzdCxcclxuICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlIHx8IFwiXCIsXHJcbiAgICBpc0V4cG9ydDogcGFyYW1zPy5pc0V4cG9ydCA/PyBmYWxzZSxcclxuICAgIHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXIgPz8gLTEsXHJcbiAgICBzb3J0Qnk6IHRoaXMuc29ydGVkQ29sdW1uID8/IFwiZGF0ZVwiLFxyXG4gIH07XHJcbn1cclxuXHJcblxyXG5cclxuICBleHBvcnRYTFNYKCkge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB0aGlzLmJ1aWxkUmVxdWVzdERhdGEoe1xyXG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcclxuICAgICAgbGltaXQ6IDEwMDAwLFxyXG4gICAgICBvZmZzZXQ6IDEsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmV5ZVNlcnZpY2VcclxuICAgICAgLmdldEV5ZVRlc3RUYWJsZUV4cG9ydChyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXllU2VydmljZS5zYXZlQXNFeGNlbEZpbGUoXHJcbiAgICAgICAgICAgIHJlcyxcclxuICAgICAgICAgICAgYCR7dGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlfSBFeWUgVGVzdCBUYWJsZSBgXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoXHJcbiAgICAgICAgICAgIGVycj8uZXJyb3I/LmVycm9yID8gZXJyPy5lcnJvcj8uZXJyb3IgOiBlcnI/LmVycm9yPy5tZXNzYWdlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG90YWxJdGVtczogYW55ID0gMDtcclxuICBvZmZzZXQgPSAxO1xyXG4gIGxpbWl0ID0gMTA7XHJcbiAgZGF0YVJlc3VsdDphbnk7XHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgIFxyXG4gICAgdGhpcy5leWVUZXN0RGF0YT1bXTtcclxuICAgIHRoaXMudHlwZVZhbHVlID0gdGhpcy5leWVUZXN0Rm9ybT8udmFsdWU/LnR5cGU7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0gdGhpcy5idWlsZFJlcXVlc3REYXRhKHsgaXNFeHBvcnQ6IGZhbHNlIH0pO1xyXG4gICB0aGlzLmRhdGFSZXN1bHQgPSByZXF1ZXN0RGF0YVxyXG4gICAgdGhpcy5leWVTZXJ2aWNlXHJcbiAgICAgIC5nZXRFeWVUZXN0bGlzdChyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSByZXM/LmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMuZGF0YT8uY291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgICAgICAgfSwxMDAwKVxyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgLy8gdGhpcy5saW1pdCA9IDEwO1xyXG4gICAgLy8gdGhpcy5wYWdlU2l6ZSA9IDEwO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHRoaXMuYnVpbGRSZXF1ZXN0RGF0YSh7XHJcbiAgICAgIGlzRXhwb3J0OiBmYWxzZSxcclxuICAgICAgbGltaXQ6IHRoaXMubGltaXQsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICB9KTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHJlcXVlc3REYXRhKVxyXG4vLyByZXR1cm5cclxuICAgIHRoaXMuZXllU2VydmljZVxyXG4gICAgICAuZ2V0RXllVGVzdGxpc3QocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IHJlcz8uZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy5jb3VudDtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHRoaXMuYnVpbGRSZXF1ZXN0RGF0YSh7XHJcbiAgICAgIGlzRXhwb3J0OiBmYWxzZSxcclxuICAgICAgbGltaXQ6IHRoaXMubGltaXQsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmV5ZVNlcnZpY2VcclxuICAgICAgLmdldEV5ZVRlc3RsaXN0KHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSByZXM/LmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMuZGF0YT8uY291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydGVkQ29sdW1uOiBhbnk7XHJcbiAgc29ydE9yZGVyOiBhbnk7XHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4gPT09IGNvbHVtbikge1xyXG4gICAgICB0aGlzLnNvcnRPcmRlciA9IHRoaXMuc29ydE9yZGVyID09PSAxID8gLTEgOiAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0ZWRDb2x1bW4gPSBjb2x1bW4gPyBjb2x1bW4gOiBcInN0b3JlTmFtZVwiO1xyXG4gICAgICB0aGlzLnNvcnRPcmRlciA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICAvLyBuZXcgYXBpIGludGFncmF0ZWRcclxuXHJcbiAgUm1MaXN0OiBhbnkgPSBbXTtcclxuXHJcbiBnZXRBbGxSbTEoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICByZXR1cm4gdGhpcy5leWVTZXJ2aWNlLmdldFJtTGlzdCh0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCkucGlwZShcclxuICAgIHRhcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgIHRoaXMuUm1MaXN0ID0gdGhpcy5ybUxpc3Q7XHJcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKHRoaXMuUm1MaXN0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLlJtTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZShbXSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgKTtcclxufVxyXG5cclxuICBvblJtU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZShldmVudCk7XHJcbiAgICB0aGlzLmdldEFsbEdyb3VwcyhldmVudCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgZXllVGVzdENhcmREYXRhOiBhbnkgPSBbXTtcclxuICBnZXRDYXJkRGF0YSgpIHtcclxuICAgIGxldCBmaW5hbFN0b3JlczogYW55ID0gW107XHJcbiAgICBsZXQgcm1MaXN0VmFsdWU6IGFueSA9IFtdO1xyXG4gICAgICBjb25zdCByb2xlS2V5VHlwZU1hcDogYW55ID0ge1xyXG4gICAgc3VwZXJhZG1pbjogXCJybVwiLFxyXG4gICAgYWRtaW46IFwiY2x1c3RlclwiLFxyXG4gICAgdXNlcjogXCJzdG9yZVwiLFxyXG4gIH07XHJcbiAgaWYgKCF0aGlzLmtleVR5cGUpIHtcclxuICAgIHRoaXMua2V5VHlwZSA9IHJvbGVLZXlUeXBlTWFwW3RoaXMudXNlcnM/LnJvbGVdIHx8IFwic3RvcmVcIjtcclxuICB9XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGZyb21EYXRlLFxyXG4gICAgICB0b0RhdGUsXHJcbiAgICAgIHR5cGUsXHJcbiAgICAgIGF1ZGl0VHlwZSxcclxuICAgICAgc3RvcmVMaXN0LFxyXG4gICAgICBSbUxpc3QsXHJcbiAgICAgIGNvbXBsaWFuY2VTY29yZSxcclxuICAgICAgbmVhckFkZGl0aW9uLFxyXG4gICAgICBrZXlUeXBlLFxyXG4gICAgICBjYXRlZ29yeSxcclxuICAgIH0gPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QpKSB7XHJcbiAgICAgIHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0LmZvckVhY2goKHN0b3JlOiBhbnkpID0+IHtcclxuICAgICAgICBmaW5hbFN0b3Jlcy5wdXNoKHN0b3JlLnN0b3JlSWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSkge1xyXG4gICAgICB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5mb3JFYWNoKChlbDogYW55KSA9PiB7XHJcbiAgICAgICAgcm1MaXN0VmFsdWUucHVzaChlbD8uZW1haWwpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRlbW9ncmFwaGljcyA9XHJcbiAgICAgIHR5cGUgIT09IFwicmVtb3RlXCJcclxuICAgICAgICA/IGF1ZGl0VHlwZSA9PT0gXCJhbGxcIlxyXG4gICAgICAgICAgPyBbXCJhZHVsdFwiLCBcImtpZFwiXVxyXG4gICAgICAgICAgOiBBcnJheS5pc0FycmF5KGF1ZGl0VHlwZSlcclxuICAgICAgICAgID8gYXVkaXRUeXBlXHJcbiAgICAgICAgICA6IFthdWRpdFR5cGVdXHJcbiAgICAgICAgOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdERhdGE6IGFueSA9IHtcclxuICAgICAgZnJvbURhdGUsXHJcbiAgICAgIHRvRGF0ZSxcclxuICAgICAgdHlwZSxcclxuICAgICAgc3RvcmVJZDogZmluYWxTdG9yZXMsXHJcbiAgICAgIFJNTGlzdDogcm1MaXN0VmFsdWUubGVuZ3RoID4gMCA/IHJtTGlzdFZhbHVlIDogW3RoaXMudXNlcnM/LmVtYWlsXSxcclxuICAgICAgY29tcGxpYW5jZVNjb3JlOiBjb21wbGlhbmNlU2NvcmU/Lmxlbmd0aFxyXG4gICAgICAgID8gKGNvbXBsaWFuY2VTY29yZS5tYXAoKGVsOiBhbnkpID0+IGVsLnZhbHVlKSlcclxuICAgICAgICA6IFtdLFxyXG4gICAgICBuZWFyQWRkaXRpb24sXHJcbiAgICAgIC4uLih0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUgIT09IFwicmVtb3RlXCIgJiYge1xyXG4gICAgICAgIGNhdGVnb3J5LFxyXG4gICAgICAgIGtleVR5cGUgOiB0aGlzLmtleVR5cGUsXHJcbiAgICAgIH0pLFxyXG4gICAgIFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoZGVtb2dyYXBoaWNzKSB7XHJcbiAgICAgIHJlcXVlc3REYXRhLmRlbW9ncmFwaGljcyA9IGRlbW9ncmFwaGljcztcclxuICAgIH1cclxuICAgIHRoaXMuZXllU2VydmljZVxyXG4gICAgICAuZ2V0Q2FyZChyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXllVGVzdENhcmREYXRhID0gcmVzPy5jb2RlID09PSAyMDAgPyByZXM/LmRhdGE/LnJlc3VsdCA6IHt9O1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leWVUZXN0Q2FyZERhdGEgPSB7fTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuZXllVmlldyA9ZmFsc2U7XHJcbiAgZXllVGVzdFZpZXcoZGF0YTogYW55KSB7XHJcbnRoaXMuZXllVmlldyA9dHJ1ZTtcclxuICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdFwiXSwge1xyXG4gICAgLy8gICBxdWVyeVBhcmFtczoge1xyXG4gICAgLy8gICAgIHR5cGU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZSxcclxuICAgIC8vICAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZUlkLFxyXG4gICAgLy8gICAgIF9pZDogZGF0YS5faWQsXHJcbiAgICAvLyAgICAgZXllVHlwZTogZGF0YT8uY29tbWVudCA/IFwiZmFrZVwiIDogXCJnZW51aW5lXCIsXHJcbiAgICAvLyAgICAgUk1FbWFpbDogZGF0YT8uUk1FbWFpbCxcclxuICAgIC8vICAgICBjbHVzdGVyOiBkYXRhPy5jbHVzdGVyTmFtZSxcclxuICAgIC8vICAgfSxcclxuICAgIC8vIH0pO1xyXG5cclxuICAgICB0aGlzLnNldFBhZ2VEYXRhKCk7XHJcbiAgICB0aGlzLmF1ZGl0RGF0YSA9IHRoaXMuZXllU2VydmljZS5nZXRBdWRpdERhdGEoKTtcclxuICAgIHRoaXMudGFrZUF1ZGl0ID1mYWxzZVxyXG4gICAgdGhpcy5zdGVwV2lzZVByb2Nlc3MgPVtdO1xyXG4gICAgLy8gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5zdG9yZUlkID0gZGF0YVsnc3RvcmVJZCddO1xyXG4gICAgICB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGVcclxuICAgICAgdGhpcy5BdWRpdElkID0gZGF0YVsnX2lkJ107XHJcbiAgICAgIHRoaXMuUm1FbWFpbCA9IGRhdGFbJ1JNRW1haWwnXTtcclxuICAgICAgdGhpcy5jbHVzdGVyID0gZGF0YVsnY2x1c3Rlck5hbWUnXTtcclxuICAgICAgdGhpcy5leWVUZXN0VHlwZSA9IGRhdGE/LmNvbW1lbnQgPyBcImZha2VcIiA6IFwiZ2VudWluZVwiO1xyXG4gICAgLy8gfSk7XHJcbiAgICB0aGlzLmdldEF1ZGl0ZGV0YWlscygpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVRpbWVPcHRpb25zKCk7XHJcbmlmKHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScpe1xyXG4gIHRoaXMuZHJvcGRvd25MaXN0PSBbeyBrZXk6ICdTZW50ZW5jZSBUcmFuc2NyaXB0aW9uIG9rYXksIGJ1dCBub3QgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcsIGl0ZW06ICdTZW50ZW5jZSBUcmFuc2NyaXB0aW9uIG9rYXksIGJ1dCBub3QgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcgfSwgeyBrZXk6ICdTZW50ZW5jZSBUcmFuc2NyaXB0aW9uIG5vdCBhY2N1cmF0ZSwgYnV0IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnLCBpdGVtOiAnU2VudGVuY2UgVHJhbnNjcmlwdGlvbiBub3QgYWNjdXJhdGUsIGJ1dCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJyB9LCB7IGtleTogJ1N0ZXAgbm90IGFjY3VyYXRlLCBub3QgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcsIGl0ZW06ICdTdGVwIG5vdCBhY2N1cmF0ZSwgbm90IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnIH0sIHsga2V5OiAnb3RoZXJzJywgaXRlbTogJ090aGVycycgfV1cclxufWVsc2V7XHJcbiAgdGhpcy5kcm9wZG93bkxpc3Q9IFt7IGtleTogJ1N0ZXAgTm9uLUNvbXBsaWFuY2UnLCBpdGVtOiAnU3RlcCBOb24tQ29tcGxpYW5jZScgfSwgeyBrZXk6ICdQb3dlciBCYW5rIE5vbi1Db21wbGlhbmNlJywgaXRlbTogJ1Bvd2VyIEJhbmsgTm9uLUNvbXBsaWFuY2UnIH0sIHsga2V5OiAnQ29ycmVjdCBJbnN0cnVtZW50IE5vdCBVc2VkJywgaXRlbTogJ0NvcnJlY3QgSW5zdHJ1bWVudCBOb3QgVXNlZCcgfSwgeyBrZXk6ICdvdGhlcnMnLCBpdGVtOiAnT3RoZXJzJyB9XVxyXG59XHJcbiAgfVxyXG5cclxuICBzZXR0aW5nc1ZpZXcoKSB7XHJcbiAgICB0aGlzLmV5ZVNlcnZpY2Uuc2V0QXVkaXREYXRhKHRoaXMuaGVhZGVyRmlsdGVycyk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3RyYXgvYXVkaXQvc2V0dGluZ3NcIl0sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHsgdHlwZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbnJtTGlzdCA9IFtcclxuICB7XHJcbiAgICBfaWQ6IFwiMVwiLFxyXG4gICAgdXNlck5hbWU6IFwiQWpheSBNXCIsXHJcbiAgICBlbWFpbDogXCJtYXJlbGxhcHVkaS5hamF5QGxlbnNrYXJ0LmNvbVwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgX2lkOiBcIjJcIixcclxuICAgIHVzZXJOYW1lOiBcIkFuaXJiYW4gR2hvc2hcIixcclxuICAgIGVtYWlsOiBcImFuaXJiYW4uZ2hvc2hAbGVuc2thcnQuY29tXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiM1wiLFxyXG4gICAgdXNlck5hbWU6IFwiQXZhZGhlc2ggU2hhcm1hXCIsXHJcbiAgICBlbWFpbDogXCJhdmFkaGVzaC5rdW1hckBsZW5za2FydC5jb21cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCI0XCIsXHJcbiAgICB1c2VyTmFtZTogXCJBeXVzaCBHdXB0YVwiLFxyXG4gICAgZW1haWw6IFwiYXl1c2guZ3VwdGExQGxlbnNrYXJ0LmluXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiNVwiLFxyXG4gICAgdXNlck5hbWU6IFwiRGhpcmVuIEJpc2h0XCIsXHJcbiAgICBlbWFpbDogXCJkaGlyZW5kcmEuYmlzaHRAdGhlbGVuc2thcnQuY29tXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiNlwiLFxyXG4gICAgdXNlck5hbWU6IFwiTXVlZW4gS2hhblwiLFxyXG4gICAgZW1haWw6IFwibXVlZW4ua2hhbkB0aGVsZW5za2FydC5jb21cIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCI3XCIsXHJcbiAgICB1c2VyTmFtZTogXCJSZXNobWEgU2hldHR5XCIsXHJcbiAgICBlbWFpbDogXCJyZXNobWEuc2hldHR5QGxlbnNrYXJ0LmluXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiOFwiLFxyXG4gICAgdXNlck5hbWU6IFwiU3Jpbml2YXMgUmVkZHlcIixcclxuICAgIGVtYWlsOiBcInNyaW5pdmFzLnJlZGR5QHRoZWxlbnNrYXJ0LmNvbVwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgX2lkOiBcIjlcIixcclxuICAgIHVzZXJOYW1lOiBcIlN1cmVzaCBCYWxhamkgUlwiLFxyXG4gICAgZW1haWw6IFwic3VyZXNoLnJAdGhlbGVuc2thcnQuY29tXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiMTBcIixcclxuICAgIHVzZXJOYW1lOiBcIlRodWxhc2kgS3Jpc2huYVwiLFxyXG4gICAgZW1haWw6IFwia3Jpc2huYS50aHVsYXNpQGxlbnNrYXJ0LmluXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiMTFcIixcclxuICAgIHVzZXJOYW1lOiBcIlZpamVlc2ggViBMXCIsXHJcbiAgICBlbWFpbDogXCJ2aWplZXNoLnZsQGxlbnNrYXJ0LmluXCIsXHJcbiAgICByb2xlOiBcImFkbWluXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBfaWQ6IFwiMTJcIixcclxuICAgIHVzZXJOYW1lOiBcIkt1bmFsIFNoYXJtYVwiLFxyXG4gICAgZW1haWw6IFwia3VuYWwuc2hhcm1hQGxlbnNrYXJ0Lm1vYmlcIixcclxuICAgIHJvbGU6IFwiYWRtaW5cIixcclxuICB9LFxyXG4gIHtcclxuICAgIF9pZDogXCIxM1wiLFxyXG4gICAgdXNlck5hbWU6IFwiVEJEIC0gV2VzdCAzXCIsXHJcbiAgICBlbWFpbDogXCJrdW5hbC5zaGFybWFAbGVuc2thcnQubW9iaVwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gIH0sXHJcbl07XHJcblxyXG5nZXRBbGxTdG9yZXMoKSB7XHJcbiAgICAgdGhpcy50cmF4U2VydmljZS5nZXRTdG9yZXNsaXN0KHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LCBjbHVzdGVyczogdGhpcy5ncm91cHMsIGNpdHk6IFtdLCB9KSAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpIC5zdWJzY3JpYmUoeyBuZXh0OiAocmVzOiBhbnkpID0+IHsgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7IHRoaXMuc3RvcmVMaXN0ID0gcmVzLmRhdGEuc3RvcmVzRGF0YTsgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKHRoaXMuc3RvcmVMaXN0KTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9IGVsc2UgeyB0aGlzLnN0b3JlTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0gfSwgZXJyb3I6IChlcnIpID0+IHsgdGhpcy5zdG9yZUxpc3QgPSBbXTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9LCB9KTsgfSBcclxuZ2V0QWxsUm0oKSB7IFxyXG4gIC8vIHRoaXMuZXllU2VydmljZS5nZXRSbUxpc3QodGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQpIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkgLnN1YnNjcmliZSh7IFxyXG4gIC8vICAgbmV4dDogKHJlczogYW55KSA9PiB7IGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkgeyBcclxuICAgICAgdGhpcy5SbUxpc3QgPSB0aGlzLnJtTGlzdDsgLy9mb3Igb2JqZWN0IGJhc2VkIHRoaXMgd2lsbCBjaGFuZ2VkIFxyXG50aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5SbUxpc3QpOyBcclxuLy8gfSBlbHNlIHsgXHJcbi8vICAgdGhpcy5SbUxpc3QgPSBbXTsgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtdKTsgXHJcbi8vIH0gdGhpcy5nZXRBbGxHcm91cHMoKTsgfSwgfSk7IFxyXG59IFxyXG5nZXRBbGxHcm91cHMoZXZlbnQ/OiBhbnkpIHsgbGV0IHJtTGlzdDogYW55ID0gW107IHRoaXMuQ2x1c3Rlckxpc3QgPSBbXTsgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QpKSB7IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0LmZvckVhY2goKGVsOiBhbnkpID0+IHsgcm1MaXN0LnB1c2goZWw/LmVtYWlsKTsgfSk7IH0gZXZlbnQ/Lm1hcCgoZWw6IGFueSkgPT4gZWw/LmVtYWlsKSB8fCBbdGhpcy51c2Vycz8uZW1haWxdOyBjb25zdCBvYmogPSB7IGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCA/IHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQgOiBcIlwiLCBybUxpc3Q6IHJtTGlzdC5sZW5ndGggPiAwID8gcm1MaXN0IDogW3RoaXMudXNlcnM/LmVtYWlsXSwgfTsgdGhpcy5leWVTZXJ2aWNlLmdldENsdXN0ZXJzKG9iaikuc3Vic2NyaWJlKHsgbmV4dDogKHJlczogYW55KSA9PiB7IGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkgeyB0aGlzLkNsdXN0ZXJMaXN0ID0gcmVzPy5kYXRhPy5yZXN1bHQ7IHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiQ2x1c3Rlckxpc3RcIik/LnNldFZhbHVlKHRoaXMuQ2x1c3Rlckxpc3QpOyB0aGlzLmdyb3VwcyA9IHRoaXMuQ2x1c3Rlckxpc3QubWFwKChlbDogYW55KSA9PiBlbC5jbHVzdGVyTmFtZSk7IHRoaXMuZ2V0QWxsU3RvcmVzKCk7IH0gZWxzZSB7IHRoaXMuQ2x1c3Rlckxpc3QgPSBbXTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9IHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyB9LCBcclxuZXJyb3I6IChlcnIpID0+IHsgLy8gY29uc29sZS5lcnJvcihcIkNsdXN0ZXIgZmV0Y2ggZmFpbGVkOlwiLCBlcnIpOyBcclxudGhpcy5DbHVzdGVyTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0sIH0pOyB9XHJcblxyXG5cclxuICAvLyBnZXRBcHBseUJ1dHRvbkNsYXNzKHJvbGU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAvLyAgIGNvbnN0IHJvbGVDbGFzc01hcDogYW55ID0ge1xyXG4gIC8vICAgICBzdXBlcmFkbWluOiB0eXBlID09PSBcInJlbW90ZVwiID8gXCJjb2wtNyBtYi00XCIgOiBcImNvbC01IG1iLTRcIixcclxuICAvLyAgICAgYWRtaW46IHR5cGUgPT09IFwicmVtb3RlXCIgPyBcImNvbC0xMCBtYi00XCIgOiBcImNvbC04IG1iLTRcIixcclxuICAvLyAgICAgdXNlcjogdHlwZSA9PT0gXCJyZW1vdGVcIiA/IFwiY29sLTIgbWItNFwiIDogXCJjb2wtMTAgbWItNFwiLFxyXG4gIC8vICAgfTtcclxuICAvLyAgIHJldHVybiByb2xlQ2xhc3NNYXBbcm9sZV0gfHwgXCJjb2wtMTIgbWItNFwiO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2Vjb25kIHBhZ2VcclxuICAgc3RlcFdpc2VQcm9jZXNzOiBhbnkgPSBbXTtcclxuICAgZHJvcGRvd25MaXN0OiBhbnkgPSBbXVxyXG4gIC8vICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICAvLyAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiBcclxuICAgdGFibGVMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnaW5pdGlhbCcgfCAnbG9hZGluZycgfCAnbG9hZGVkJz4oJ2luaXRpYWwnKVxyXG4gICBoaXN0b3J5dGFibGVMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnaW5pdGlhbCcgfCAnbG9hZGluZycgfCAnbG9hZGVkJz4oJ2luaXRpYWwnKVxyXG4gXHJcbiAgIHNlbGVjdGVkTWludXRlcyA9ICcwMCc7XHJcbiAgIHNlbGVjdGVkU2Vjb25kcyA9ICcwMCc7XHJcbiAgIG1pbnV0ZXNMaXN0OiBzdHJpbmdbXSA9IFtdO1xyXG4gICBzZWNvbmRzTGlzdDogc3RyaW5nW10gPSBbXTtcclxuIFxyXG4gICBhdWRpdERldGFpbHM6IGFueSA9IFtdO1xyXG4gICBjdXJyZW50QXVkaXRUeXBlOiBhbnk7XHJcbiAgIHRha2VBdWRpdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICBzdG9yZUlkOiBhbnk7XHJcbiAgIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50JykgdG9vbHRpcENvbnRlbnQhOiBOZ2JUb29sdGlwO1xyXG4gICBAVmlld0NoaWxkKCd2aWV3SGlzdG9yeScpIHZpZXdIaXN0b3J5OiBhbnk7XHJcbiAgIEBWaWV3Q2hpbGQoJ3ZpZXdDYW5jZWwnKSB2aWV3Q2FuY2VsOiBhbnk7XHJcbiAgIEBWaWV3Q2hpbGQoJ3ZpZGVvUGxheWVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHZpZGVvUGxheWVyITogRWxlbWVudFJlZjtcclxuICAgaGlzdG9yeURhdGE6IGFueSA9IFtdO1xyXG4gICBBdWRpdElkOiBhbnk7XHJcbiAgIHZpZXdIaXN0b3J5RGF0YTogYW55O1xyXG4gICBzcG9rZW5MYW5ndWFnZTphbnk9J0VuZ2xpc2gnXHJcbiAgIG1vZGFsUmVmOiBhbnk7XHJcbiAgIGRpc2FibGVjYW5jZWw6Ym9vbGVhbiA9ICBmYWxzZVxyXG4gIGJhY2tOYXZpZ2F0aW9uKCl7XHJcbiAgICAvLyAgdGhpcy5leWVTZXJ2aWNlLmF1ZGl0RmlsdGVyRGF0YSA9IHtcclxuICAgIC8vICAgYmFjazogJ2JhY2snLFxyXG4gICAgLy8gICBhdWRpdERldGFpbHM6IHRoaXMuYXVkaXREZXRhaWxzXHJcbiAgICAvLyB9O1xyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvYXVkaXQnXSwge1xyXG4gICAgLy8gICBxdWVyeVBhcmFtczogeyBkYXRlOiB0aGlzLmRheWpzKHRoaXMuYXVkaXREZXRhaWxzLmZpbGVEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKSwgdHlwZVZhbHVlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgfVxyXG4gICAgLy8gfSk7XHJcbiAgICB0aGlzLmV5ZVZpZXcgPWZhbHNlO1xyXG4gICAgdGhpcy50YWtlQXVkaXQgPWZhbHNlXHJcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2VzcyA9W107XHJcbiAgICB0aGlzLm9uU3VibWl0KCk7XHJcbiAgICB0aGlzLmdldENhcmREYXRhKCk7XHJcbiAgfVxyXG4gdmlld0hpc3RvcnlNb2RlbChpdGVtOiBhbnkpIHtcclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBpZDogaXRlbS5faWRcclxuICAgIH1cclxuICAgIHRoaXMuZXllU2VydmljZS52aWV3QXVkaXRIaXN0b3J5KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudmlld0hpc3RvcnlEYXRhID0gcmVzLmRhdGEucmVzdWx0XHJcbiAgICAgICAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy52aWV3SGlzdG9yeSwge1xyXG4gICAgICAgICAgICBzaXplOid4bCcsXHJcbiAgICAgICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBhdWRpdERhdGE6YW55O1xyXG4gIGV5ZVRlc3RUeXBlOmFueTtcclxuICBSbUVtYWlsOmFueTtcclxuICBjbHVzdGVyOmFueTtcclxuXHJcblxyXG5cclxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgXHJcbiAgLy8gfVxyXG5cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ0V5ZSBUZXN0JylcclxuICAgXHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgICB7IHRpdGxlOiAnVGFuZ28gVHJheCcsIHBhdGg6ICcvbWFuYWdlL3RyYXgvZGFzaGJvYXJkJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnVGFuZ28gVHJheCcsIHBhdGg6ICcvbWFuYWdlL3RyYXgvZGFzaGJvYXJkJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LCAgICAgICAgXHJcbiAgICBdKVxyXG59XHJcbiAgZ2V0QXVkaXRIaXN0b3J5KCkge1xyXG4gICAgdGhpcy5oaXN0b3J5dGFibGVMb2FkaW5nLm5leHQoJ2xvYWRpbmcnKTtcclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBpZDogdGhpcy5jdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyA/IHRoaXMuYXVkaXREZXRhaWxzLmVuZ2FnZW1lbnRJZCA6IHRoaXMuYXVkaXREZXRhaWxzLnF1ZXVlSWQsXHJcbiAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZVxyXG4gICAgfVxyXG4gICAgdGhpcy5leWVTZXJ2aWNlLmdldEF1ZGl0SGlzdG9yeShwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlEYXRhID0gcmVzLmRhdGEucmVzdWx0XHJcbiAgICAgICAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3J5RGF0YSA9IFtdXHJcbiAgICAgICAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhpc3RvcnlEYXRhID0gW11cclxuICAgICAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG5cclxuICB9XHJcblxyXG4gIGdldEF1ZGl0ZGV0YWlscygpIHtcclxuICAgIHRoaXMudGFibGVMb2FkaW5nLm5leHQoJ2xvYWRpbmcnKTtcclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBpZDogdGhpcy5BdWRpdElkLFxyXG4gICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGVcclxuICAgIH1cclxuICAgIHRoaXMuZXllU2VydmljZS5nZXRBdWRpdGRldGFpbHMocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5kaXNhYmxlY2FuY2VsID0gIGZhbHNlXHJcbiAgICAgICAgICB0aGlzLmF1ZGl0RGV0YWlscyA9IHJlcz8uZGF0YT8ucmVzdWx0O1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXVkaXREZXRhaWxzLmF1ZGl0U3RhdHVzID09PSAnSW4tUHJvZ3Jlc3MnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFrZUF1ZGl0ID0gdHJ1ZVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMudGFrZUF1ZGl0ID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzID0gdGhpcy5hdWRpdERldGFpbHM/LnN0ZXBzO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICAgICAgICB0aGlzLmdldEF1ZGl0SGlzdG9yeSgpXHJcbiAgICAgICAgICB9LDEwMClcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgIFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnRhYmxlTG9hZGluZy5uZXh0KCdsb2FkZWQnKVxyXG5cclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVGltZU9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLm1pbnV0ZXNMaXN0ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogNjAgfSwgKF8sIGkpID0+IHRoaXMuZm9ybWF0TnVtYmVyKGkpKTtcclxuICAgIHRoaXMuc2Vjb25kc0xpc3QgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gdGhpcy5mb3JtYXROdW1iZXIoaSkpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0TnVtYmVyKG51bTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBudW0gPCAxMCA/ICcwJyArIG51bSA6IG51bS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZHJvcGRvd25PcGVuOiB7IFtrZXk6IG51bWJlcl06IHsgc3RhcnRUaW1lOiBib29sZWFuOyBlbmRUaW1lOiBib29sZWFuOyByZWFzb246IGJvb2xlYW4gfSB9ID0ge307XHJcblxyXG4gIHRvZ2dsZURyb3Bkb3duKGk6IG51bWJlciwgdGltZTogJ3N0YXJ0VGltZScgfCAnZW5kVGltZScgfCAncmVhc29uJykge1xyXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5kcm9wZG93bk9wZW5baV0/Llt0aW1lXSA/PyBmYWxzZTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmRyb3Bkb3duT3BlbikuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuW051bWJlcihrZXkpXSA9IHsgc3RhcnRUaW1lOiBmYWxzZSwgZW5kVGltZTogZmFsc2UsIHJlYXNvbjogZmFsc2UgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghdGhpcy5kcm9wZG93bk9wZW5baV0pIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk9wZW5baV0gPSB7IHN0YXJ0VGltZTogZmFsc2UsIGVuZFRpbWU6IGZhbHNlLCByZWFzb246IGZhbHNlIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bk9wZW5baV1bdGltZV0gPSAhY3VycmVudFN0YXRlO1xyXG4gIH1cclxuICBnZXRTZWNvbmRzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGlmICghdGltZSkgcmV0dXJuIDA7XHJcbiAgICBjb25zdCBbbWluLCBzZWNdID0gdGltZS5zcGxpdCgnOicpLm1hcChOdW1iZXIpO1xyXG4gICAgcmV0dXJuIChtaW4gKiA2MCkgKyBzZWM7XHJcbiAgfVxyXG4gICAgXHJcbnNlbGVjdE1pbnV0ZShpbmRleDogYW55LCBtaW46IHN0cmluZywgdGltZTogJ3N0YXJ0VGltZScgfCAnZW5kVGltZScgfCAncmVhc29uJykge1xyXG4gIGNvbnN0IHByZXZpb3VzVGltZSA9IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uW3RpbWVdIHx8ICcwMDowMCc7XHJcblxyXG4gIHRoaXMuc2VsZWN0ZWRNaW51dGVzID0gbWluO1xyXG4gIGNvbnN0IG5ld1RpbWUgPSBgJHt0aGlzLnNlbGVjdGVkTWludXRlc306JHt0aGlzLnNlbGVjdGVkU2Vjb25kc31gO1xyXG5cclxuICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcclxuICAgIHRpbWUgPT09ICdzdGFydFRpbWUnID8gbmV3VGltZSA6IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uc3RhcnRUaW1lXHJcbiAgKTtcclxuICBjb25zdCBlbmRUaW1lID0gdGhpcy5nZXRTZWNvbmRzRnJvbVRpbWUoXHJcbiAgICB0aW1lID09PSAnZW5kVGltZScgPyBuZXdUaW1lIDogdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5lbmRUaW1lXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgaXNWYWxpZCA9IChzdGFydFRpbWUgPT09IDAgfHwgZW5kVGltZSA9PT0gMCkgfHwgc3RhcnRUaW1lIDwgZW5kVGltZTtcclxuXHJcbiAgaWYgKCFpc1ZhbGlkICYmIHRpbWUgIT09ICdyZWFzb24nKSB7XHJcbiAgICB0aGlzLnRzLmdldFdhcm5pbmdUb2FzdChcIlN0YXJ0IHRpbWUgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHRpbWUuXCIpO1xyXG4gIFxyXG4gICAgY29uc3QgW3ByZXZNaW4sIHByZXZTZWNdID0gcHJldmlvdXNUaW1lLnNwbGl0KCc6Jyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWludXRlcyA9IHByZXZNaW47XHJcbiAgICB0aGlzLnNlbGVjdGVkU2Vjb25kcyA9IHByZXZTZWM7XHJcbiAgXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgXHJcblxyXG4gIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XVt0aW1lXSA9IG5ld1RpbWU7XHJcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbn1cclxuXHJcbnNlbGVjdFNlY29uZChpbmRleDogYW55LCBzZWM6IHN0cmluZywgdGltZTogJ3N0YXJ0VGltZScgfCAnZW5kVGltZScgfCAncmVhc29uJykge1xyXG4gIGNvbnN0IHByZXZpb3VzVGltZSA9IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uW3RpbWVdIHx8ICcwMDowMCc7XHJcblxyXG4gIHRoaXMuc2VsZWN0ZWRTZWNvbmRzID0gc2VjO1xyXG4gIGNvbnN0IG5ld1RpbWUgPSBgJHt0aGlzLnNlbGVjdGVkTWludXRlc306JHt0aGlzLnNlbGVjdGVkU2Vjb25kc31gO1xyXG5cclxuICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcclxuICAgIHRpbWUgPT09ICdzdGFydFRpbWUnID8gbmV3VGltZSA6IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uc3RhcnRUaW1lXHJcbiAgKTtcclxuICBjb25zdCBlbmRUaW1lID0gdGhpcy5nZXRTZWNvbmRzRnJvbVRpbWUoXHJcbiAgICB0aW1lID09PSAnZW5kVGltZScgPyBuZXdUaW1lIDogdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5lbmRUaW1lXHJcbiAgKTtcclxuXHJcbiAgaWYgKCh0aW1lICE9PSAncmVhc29uJykgJiYgc3RhcnRUaW1lICE9PSAwICYmIGVuZFRpbWUgIT09IDAgJiYgc3RhcnRUaW1lID49IGVuZFRpbWUpIHtcclxuICAgIHRoaXMudHMuZ2V0V2FybmluZ1RvYXN0KFwiU3RhcnQgdGltZSBtdXN0IGJlIGxlc3MgdGhhbiBlbmQgdGltZS5cIik7XHJcbiAgXHJcbiAgICBjb25zdCBbcHJldk1pbiwgcHJldlNlY10gPSBwcmV2aW91c1RpbWUuc3BsaXQoJzonKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGVzID0gcHJldk1pbjtcclxuICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmRzID0gcHJldlNlYztcclxuICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdW3RpbWVdID0gbmV3VGltZTtcclxuICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxufVxyXG4gXHJcbiAgXHJcblxyXG4gIHNlbGVjdFJlYXNvbihpbmRleDogbnVtYmVyLCBrZXk6IGFueSwgdGltZTogYW55KSB7XHJcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF1bdGltZV0gPSBrZXk7XHJcbiAgXHJcbiAgICBpZiAoa2V5ID09PSAnb3RoZXJzJykge1xyXG4gICAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0ub3RoZXJSZWFzb24gPSAnJzsgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0ub3RoZXJSZWFzb24gPSBudWxsOyBcclxuICAgIH1cclxuICBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgc2VsZWN0SHVtYW5WZXJpZmllZChpbmRleDogbnVtYmVyLCB2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdLmF1ZGl0ZWRTdGF0dXMgPSB2YWx1ZTtcclxuICB9XHJcbiAgZmluZGNvdW50KCl7XHJcbiAgICBsZXQgY291bnQgPSAwXHJcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5mb3JFYWNoKChkYXRhOmFueSk9PntcclxuICAgICAgaWYoZGF0YS5hdWRpdGVkU3RhdHVzIT09ZGF0YS5BSVN0YXR1cyl7XHJcbiAgICAgICAgY291bnQrK1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH0pXHJcbiAgICByZXR1cm4gY291bnRcclxuICB9XHJcbiAgZ2V0VmFsaWRhRm9ybSgpe1xyXG4gICAgbGV0IGVycm9yQ291bnQgPSAwXHJcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5mb3JFYWNoKChkYXRhOmFueSk9PntcclxuICAgICAgaWYoZGF0YS5yZWFzb249PT0nb3RoZXJzJyl7XHJcbiAgICAgICAgZGF0YS5vdGhlclJlYXNvbiA9ICBkYXRhLm90aGVyUmVhc29uLnRyaW0oKVxyXG4gICAgICB9XHJcbiAgICAgIGlmKGRhdGEuYXVkaXRlZFN0YXR1cyE9PWRhdGEuQUlTdGF0dXMpe1xyXG4gICAgICAgIGlmKCFkYXRhLnJlYXNvbiB8fCBkYXRhLnJlYXNvbiYmZGF0YS5yZWFzb249PT0nb3RoZXJzJyAmJiAhZGF0YS5vdGhlclJlYXNvbil7XHJcbiAgICAgICAgICBlcnJvckNvdW50KytcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBpZihlcnJvckNvdW50PjApe1xyXG4gICAgICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgZmFsc2VcclxuICAgICAgdGhpcy50cy5nZXRXYXJuaW5nVG9hc3QoXCJDb21tZW50cyBhcmUgbWFuZGF0b3J5IGZvciBpbnZlcnNlIGh1bWFuIGF1ZGl0ZWQgcmVzcG9uc2VzXCIpXHJcbiAgfVxyXG4gICAgcmV0dXJuIGVycm9yQ291bnRcclxuICB9XHJcbiAgb25zdWJtaXQoKSB7XHJcbiAgICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgdHJ1ZVxyXG4gICAgLy8gaWYoKHRoaXMuc3RlcFdpc2VQcm9jZXNzLmZpbHRlcigoZGF0YTphbnkpPT5kYXRhLmF1ZGl0ZWRTdGF0dXM9PT10cnVlKS5sZW5ndGgrdGhpcy5zdGVwV2lzZVByb2Nlc3MuZmlsdGVyKChkYXRhOmFueSk9PmRhdGEuYXVkaXRlZFN0YXR1cz09PWZhbHNlKS5sZW5ndGgpIT09dGhpcy5zdGVwV2lzZVByb2Nlc3MubGVuZ3RoKXtcclxuICAgIC8vICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIk9vcHMhIExvb2tzIGxpa2UgdGhlIGV5ZSB0ZXN0IGF1ZGl0IGlzbuKAmXQgY29tcGxldGUgeWV0LiBBdWRpdCBhbGwgZXllIHRlc3Qgc3RlcHMgYmVmb3JlIHN1Ym1pdHRpbmcuXCIpXHJcbiAgICAvLyAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxyXG4gICAgLy8gICByZXR1cm5cclxuICAgIC8vIH1cclxuICAgIC8vIGlmKHRoaXMuZ2V0VmFsaWRhRm9ybSgpPT09MCl7XHJcblxyXG4gICAgICBsZXQgcGF5bG9hZCA9IHtcclxuICAgICAgICBpZDogdGhpcy5BdWRpdElkLFxyXG4gICAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSxcclxuICAgICAgICBmaWxlSWQ6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScgPyB0aGlzLmF1ZGl0RGV0YWlscy5lbmdhZ2VtZW50SWQgOiB0aGlzLmF1ZGl0RGV0YWlscy5xdWV1ZUlkLFxyXG4gICAgICAgIGF1ZGl0ZWRTdGVwczogdGhpcy5zdGVwV2lzZVByb2Nlc3MuZmlsdGVyKChkYXRhOmFueSk9PmRhdGEuYXVkaXRlZFN0YXR1cz09PXRydWUpLmxlbmd0aCxcclxuICAgICAgICBhdWRpdFN0YXR1czp0aGlzLmF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnPyBcIkF1ZGl0ZWRcIjpcIlJlLUF1ZGl0ZWRcIixcclxuICAgICAgICBvdmVyUmlkZXM6dGhpcy5maW5kY291bnQoKSxcclxuICAgICAgICBzcG9rZW5MYW5ndWFnZTogdGhpcy5zcG9rZW5MYW5ndWFnZSxcclxuICAgICAgICBzdGVwczogdGhpcy5zdGVwV2lzZVByb2Nlc3MsXHJcbiAgICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLCAgXHJcbiAgICAgICAgIFJNRW1haWw6IHRoaXMuUm1FbWFpbCxcclxuICAgICAgICAgIGNsaWVudElkOiB0aGlzLmF1ZGl0RGV0YWlscz8uc3RvcmVJZD8uc3BsaXQoXCItXCIpWzBdLFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZXllU2VydmljZS5zdWJtaXRBdWRpdChwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLmRpc2FibGVjYW5jZWwgPSAgZmFsc2VcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XHJcbiAgICAgICAgICAgIH0sMTAwMClcclxuICAgICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoYCR7dGhpcy5hdWRpdERldGFpbHM/LmF1ZGl0VHlwZX0gU3VibWl0dGVkIFN1Y2Nlc3NmdWxseWApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyPy5lcnJvcj8uZXJyb3IgPyBlcnI/LmVycm9yPy5lcnJvciA6IGVycj8uZXJyb3I/Lm1lc3NhZ2UpXHJcbiAgICAgICAgIH0gXHJcbiAgICAgIH0pXHJcbiAgICAvLyB9XHJcblxyXG5cclxuICB9XHJcbiAgc3RhcnRBdWRpdCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgdHJ1ZVxyXG4gICAgdGhpcy50YWtlQXVkaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5hdWRpdERldGFpbHMuYXVkaXRTdGF0dXMgPSAnUmUtQXVkaXRlZCdcclxuICAgIGxldCBwYXlsb2FkID0ge1xyXG4gICAgICBpZDogdGhpcy5BdWRpdElkXHJcbiAgICB9XHJcbiAgICB0aGlzLmV5ZVNlcnZpY2UuZ2V0QXVkaXRGaWxlKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICBcclxuICAgICAgICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyPy5lcnJvcj8uZXJyb3IgPyBlcnI/LmVycm9yPy5lcnJvciA6IGVycj8uZXJyb3I/Lm1lc3NhZ2UpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG5cclxuICB9XHJcblxyXG4gIG9uWWVzKCl7XHJcbiAgICBsZXQgcGF5bG9hZCA9IHtcclxuICAgICAgaWQ6IHRoaXMuQXVkaXRJZCxcclxuICAgICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUsXHJcbiAgICAgICAgZmlsZUlkOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnID8gdGhpcy5hdWRpdERldGFpbHMuZW5nYWdlbWVudElkIDogdGhpcy5hdWRpdERldGFpbHMucXVldWVJZCxcclxuICAgIH1cclxuICAgIHRoaXMuZXllU2VydmljZS5jYW5jZWxBdWRpdEZpbGUocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcclxuICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGAke3RoaXMuYXVkaXREZXRhaWxzPy5hdWRpdFR5cGV9IENhbmNlbGxlZCBTdWNjZXNzZnVsbHlgKVxyXG4gICAgICAgICAgdGhpcy5tb2RhbFJlZi5kaXNtaXNzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycj8uZXJyb3I/LmVycm9yID8gZXJyPy5lcnJvcj8uZXJyb3IgOiBlcnI/LmVycm9yPy5tZXNzYWdlKVxyXG4gICAgICAgIHRoaXMubW9kYWxSZWYuZGlzbWlzcygpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudGFrZUF1ZGl0ID1mYWxzZVxyXG4gIH1cclxuICBjYW5jZWwoKXtcclxuICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMudmlld0NhbmNlbCwge1xyXG4gICAgICBzaXplOidtZCcsXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgfSk7ICBcclxuICB9XHJcbiAgT25DYW5jZWwoKXtcclxuICAgIHRoaXMubW9kYWxSZWYuZGlzbWlzcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gKm5nSWY9XCIhZXllVmlld1wiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbjxkaXYgY2xhc3M9XCJjYXJkIG1iLTJcIj5cclxuICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZzFcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxmb3JtICpuZ0lmPVwiIWxvYWRpbmcxXCIgW2Zvcm1Hcm91cF09XCJleWVUZXN0Rm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC03IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgbWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwidG9wOiAyMCU7XCIgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTQgei0yXCIgc3R5bGU9XCJtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtkcm9wc109XCInZG93bidcIiBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIChjbGljayk9XCJyZXNldFZhbGlkYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiIFtpc0N1c3RvbURhdGVdPVwiaXNDdXN0b21EYXRlXCIgW2F1dG9BcHBseV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInsgZm9ybWF0OiAnREQtTU0tWVlZWScsIGZpcnN0RGF5OiAxLCBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGF0ZXJhbmdlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMiBtYi00JyA6ICdjb2wtMiBtYi00J1wiIGNsYXNzPVwiY29sLTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW1DaGFuZ2UpPVwidHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cImNvbC0xIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYXVkaXRUeXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImF1ZGl0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbUNoYW5nZSk9XCJhdWRpdFR5cGVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbidcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdSbUxpc3QnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgUk1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1ncm91cC1zZWxlY3QgW2l0ZW1zXT1cIlJtTGlzdFwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIid1c2VyTmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid1c2VyTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25SbVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnUm1MaXN0Jyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1ncm91cC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nIHx8IHVzZXJzPy5yb2xlID09PSdhZG1pbidcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdDbHVzdGVyTGlzdCcpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBjbHVzdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZ3JvdXAtc2VsZWN0IFtpdGVtc109XCJDbHVzdGVyTGlzdFwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidjbHVzdGVyTmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIidjbHVzdGVyTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25ncm91cFNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZXNdPVwiZXllVGVzdEZvcm0uZ2V0KCdDbHVzdGVyTGlzdCcpPy52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItZ3JvdXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdzdG9yZUxpc3QnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgU3RvcmVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItc3RvcmVzLXNlbGVjdCBbaXRlbXNdPVwic3RvcmVMaXN0XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ3N0b3JlTmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIidzdG9yZUlkJ1wiIChzZWxlY3RlZCk9XCJvblN0b3JlU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJleWVUZXN0Rm9ybS5nZXQoJ3N0b3JlTGlzdCcpPy52YWx1ZVwiPjwvbGliLXN0b3Jlcy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgPT09J3JlbW90ZScgPyAnY29sLTInIDogJ2NvbC0yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCIgKm5nSWY9XCIhKGV5ZVRlc3RGb3JtLmdldCgnY29tcGxpYW5jZVNjb3JlJyk/LnZhbHVlPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IFNjb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItc2VsZWN0LWRyb3AgW2l0ZW1zXT1cInR5cGVQZXJjZW50YWdlQXJyYXlcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInbGFiZWwnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCIndmFsdWUnXCIgKHNlbGVjdGVkKT1cInR5cGVQZXJjZW50YWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJleWVUZXN0Rm9ybS5nZXQoJ2NvbXBsaWFuY2VTY29yZScpPy52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItc2VsZWN0LWRyb3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgPT09J3JlbW90ZScgPyAnY29sLTMnIDogJ2NvbC0zJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCIgKm5nSWY9XCIhKGV5ZVRlc3RGb3JtLmdldCgnYXVkaXRTdGF0dXMnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpdCBTdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zZWxlY3QtZHJvcCBbaXRlbXNdPVwiYXVkaXRTdGF0dXNBcnJheVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiAoc2VsZWN0ZWQpPVwidHlwZUF1ZGl0U3RhdHVzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJleWVUZXN0Rm9ybS5nZXQoJ2F1ZGl0U3RhdHVzJyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1zZWxlY3QtZHJvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIlwiIGNsYXNzPVwiY29sLW1kLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cIm5lYXJBZGRpdGlvblwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIm5lYXJBZGRpdGlvbkFycmF5XCIgKGl0ZW1DaGFuZ2UpPVwibmVhckFkZGl0aW9uQ2hhbmdlKCRldmVudClcIj48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cImNvbC1tZC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjYXRlZ29yeVwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImNhdGVnb3J5QXJyYXlcIiAoaXRlbUNoYW5nZSk9XCJjYXRlZ29yeVR5cGVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgXHJcbiAgKm5nSWY9XCJ1c2Vycz8ucm9sZVwiIFxyXG4gIGNsYXNzPVwidGV4dC1lbmRcIlxyXG4gIFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtNCBtYi00JyA6ICdjb2wtMiBtYi00J1wiXHJcbj5cclxuPCEtLSBbbmdDbGFzc109XCJnZXRBcHBseUJ1dHRvbkNsYXNzKHVzZXJzPy5yb2xlLCBleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUpXCIgLS0+XHJcbiAgPGEgKGNsaWNrKT1cIm9uU3VibWl0KCk7XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBweS0zXCI+XHJcbiAgICA8c3Bhbj5BcHBseTwvc3Bhbj5cclxuICA8L2E+XHJcbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZm9ybT5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RXllVGVzdFwiIGNsYXNzPVwibXMtNiBtYi0zXCI+XHJcblxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgZGFzaGVkIHctMTAwICByb3dcIj5cclxuICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2wtMTAgdGl0bGUtdGV4dCBweS0zXCI+PHNwYW4gY2xhc3M9XCJteC0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCJcclxuICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjM1XzI0MjM0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE2IDEzLjMzMzVWMTYuMDAwMk0xNiAxOC42NjY4SDE2LjAwNjdNMjIuNjY2NyAxNi4wMDAyQzIyLjY2NjcgMTkuNjgyMSAxOS42ODE5IDIyLjY2NjggMTYgMjIuNjY2OEMxMi4zMTgxIDIyLjY2NjggOS4zMzMzNyAxOS42ODIxIDkuMzMzMzcgMTYuMDAwMkM5LjMzMzM3IDEyLjMxODMgMTIuMzE4MSA5LjMzMzUgMTYgOS4zMzM1QzE5LjY4MTkgOS4zMzM1IDIyLjY2NjcgMTIuMzE4MyAyMi42NjY3IDE2LjAwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzNV8yNDIzNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4IDgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9XCJkYXNoZWQtZGVzY1wiPkV5ZSB0ZXN0IHZpZGVvIHByZXZpZXcgaXMgYXZhaWxhYmxlIGZvciAzMCBkYXlzLiBBdWRpdCBkYXRhXHJcbiAgICAgICAgICAgICAgICAgcmVtYWlucyBhY2Nlc3NpYmxlLCBidXQgdmlkZW9zIHdpbGwgbm90IGJlIHJldGFpbmVkIGJleW9uZCB0aGlzIHBlcmlvZC48L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29sLTIgcHQtMiB0ZXh0LWVuZCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbG9zZUV5ZVRlc3QoKVwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0yNSAxNUwxNSAyNU0xNSAxNUwyNSAyNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgPC9oMz5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZCBteS0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHktMVwiPlxyXG4gXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+IC0tPlxyXG5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdybSdcIiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNTVweCBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBteS0wXCI+UmVnaW9uYWwgTWFuYWdlcnM8L2g1PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3tSbUxpc3REYXRhID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG10LTUgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC01NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG15LTBcIj5DbHVzdGVyczwvaDU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57e2dyb3Vwcz8ubGVuZ3RoID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nICYmIGtleVR5cGUgIT09J3JtJyB8fCB1c2Vycz8ucm9sZSA9PT0nYWRtaW4nXCIgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggIHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5DbHVzdGVyczwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyBncm91cHM/Lmxlbmd0aCA/PyAnLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4ICBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+VG90YWwgVGFuZ28gQUkgRmlsZXM8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgZXllVGVzdENhcmREYXRhPy50b3RhbEZpbGVzID8/ICctJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPlRydXN0IEF1ZGl0IENvbXBsZXRlZDwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyBleWVUZXN0Q2FyZERhdGE/LmNvbXBsZXRlZEZpbGVzID8/ICctJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktMCBib3JkZXItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWJcIj57eyAoZXllVGVzdENhcmREYXRhPy5jb21wbGV0ZWRSYXRpbyA/PyAnLScpICsgJyUnIH19IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1zdWJcIj5Db21wbGV0ZWQ8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNDVweCAgcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPlRhbmdvIFNjb3JlPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IGV5ZVRlc3RDYXJkRGF0YT8udGFuZ29TY29yZSA/PyAnLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktMCBib3JkZXItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiZXllVGVzdENhcmREYXRhPy50cmVuZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMyMTZfMTE4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNSAzTDYuNzUgNy43NUw0LjI1IDUuMjVMMC41IDlNMTEuNSAzSDguNU0xMS41IDNWNlwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzIxNl8xMThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWV5ZVRlc3RDYXJkRGF0YT8udHJlbmRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMyAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzYwXzk3NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjU3NSA5TDYuODI0OTUgNC4yNUw0LjMyNDk1IDYuNzVMMC41NzQ5NTEgM00xMS41NzUgOUg4LjU3NDk1TTExLjU3NSA5VjZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzYwXzk3NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC4wNzQ5NTEyKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbXMtMlwiPnt7IGV5ZVRlc3RDYXJkRGF0YT8udGFuZ29TY29yZVRyZW5kICE9PSBudWxsIFxyXG4gICAgICA/IChnZXRBYnNWYWx1ZShleWVUZXN0Q2FyZERhdGEudGFuZ29TY29yZVRyZW5kKSB8IG51bWJlcjonMS4wLTAnOidlbi1VUycpICsgJyUnIFxyXG4gICAgICA6ICctJyB9fVxyXG4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1zdWIxXCI+dnMgcHJldmlvdXMgd2Vlazwvc3Bhbj48L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNDVweCBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+VHJ1c3QgU2NvcmU8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgKGV5ZVRlc3RDYXJkRGF0YT8udHJ1c3RTY29yZSAmJiBleWVUZXN0Q2FyZERhdGE/LnRydXN0U2NvcmUgIT09ICdOQScgXHJcbiAgPyBleWVUZXN0Q2FyZERhdGEudHJ1c3RTY29yZSArICclJyBcclxuICA6ICdOQScpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09J3JtJ1wiIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICBBdWRpdCBTdW1tYXJ5XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsb2FkaW5nXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3sgdG90YWxJdGVtcyB9fSBUb3RhbDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBBZG1pbiArIGNsdXN0ZXIgcHJlc2VudCDihpIgUk0gU3VtbWFyeSAtLT5cclxuICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTIgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImtleVR5cGUgPT09J2NsdXN0ZXInICYmIHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbidcIiAoY2xpY2spPVwidHlwZVZhbDEoJ3JtJywnJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCIgdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF83NDVfMTIxMjgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM5XCIgaGVpZ2h0PVwiMzlcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjcuODMzNCAyMS4wMDAzSDE2LjE2NjdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMjYuODMzN00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAxNS4xNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc0NV8xMjEyOFwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0gJ2FkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJyB8fCB1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInXCIgY2xhc3M9XCJ0aXRsZS10ZXh0IG15LTQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICBSTSBTdW1tYXJ5XHJcbiAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1jYXBpdGFsaXplXCI+e3sgZXllVGVzdERhdGFbMF0/LlJNTmFtZSA/IGV5ZVRlc3REYXRhWzBdPy5STU5hbWUgOiAnJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQWxsIG90aGVyIGNhc2VzIOKGkiBFeWUgVGVzdCAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMiBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwia2V5VHlwZSA9PT0nc3RvcmUnICYmICh1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInR5cGVWYWwxKCdjbHVzdGVyJyx0aGlzLnJtRW1haWwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCIgdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc0NV8xMjEyOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM5XCIgaGVpZ2h0PVwiMzlcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI3LjgzMzQgMjEuMDAwM0gxNi4xNjY3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDI2LjgzMzdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMTUuMTY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc0NV8xMjEyOFwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTIgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImtleVR5cGUgPT09J3N0b3JlJyAmJiAodXNlcnM/LnJvbGUgPT09ICdhZG1pbicpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidHlwZVZhbDEoJ2NsdXN0ZXInLHRoaXMuZ3JvdXBzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiIHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF83NDVfMTIxMjgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzOVwiIGhlaWdodD1cIjM5XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNy44MzM0IDIxLjAwMDNIMTYuMTY2N00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAyNi44MzM3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDE1LjE2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF83NDVfMTIxMjhcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhKHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0ncm0nKSAmJiAhKHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0nY2x1c3RlcicpIFxyXG4gICAgICAgICAgICAgICAgJiYgISh1c2Vycz8ucm9sZSA9PT0gJ2FkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJylcIiBjbGFzcz1cInRpdGxlLXRleHQgbXktNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRXllIFRlc3RcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsb2FkaW5nXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3sgdG90YWxJdGVtcyB9fSBUb3RhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09J3JtJ1wiIGNsYXNzPVwidGV4dC1zdWIgbXktMlwiPkJhc2VkIG9uIHt7IGhlYWREYXRlIHwgZGF0ZTogJ01NTSBkJyB9fSAtIHt7XHJcbiAgICAgICAgICAgICAgICBoZWFkRGF0ZUVuZCB8IGRhdGU6ICdNTU0gZCwgeScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdhZG1pbicgJiYga2V5VHlwZSA9PT0nY2x1c3RlcidcIiBjbGFzcz1cInRleHQtc3ViIG15LTJcIj5CYXNlZCBvbiB7eyBoZWFkRGF0ZSB8IGRhdGU6ICdNTU0gZCcgfX0gLSB7e1xyXG4gICAgICAgICAgICAgICAgaGVhZERhdGVFbmQgfCBkYXRlOiAnTU1NIGQsIHknIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0ndXNlcicgJiYga2V5VHlwZSA9PT0nc3RvcmUnXCIgY2xhc3M9XCJ0ZXh0LXN1YiBteS0yXCI+QmFzZWQgb24ge3sgaGVhZERhdGUgfCBkYXRlOiAnTU1NIGQnIH19IC0ge3tcclxuICAgICAgICAgICAgICAgIGhlYWREYXRlRW5kIHwgZGF0ZTogJ01NTSBkLCB5JyB9fTwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKGNoYW5nZSk9XCJzZWFyY2hEYXRhKClcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlUeXBlID09PSAncm0nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnU2VhcmNoIGJ5IFJNTmFtZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGtleVR5cGUgPT09ICdjbHVzdGVyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gJ1NlYXJjaCBieSBDbHVzdGVyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogJ1NlYXJjaCdcclxuICAgICAgICAgICAgICAgICAgICAgIFwiIC8+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbidcIiAoY2xpY2spPVwic2V0dGluZ3NWaWV3KClcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ1XCIgaGVpZ2h0PVwiNDZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0NSA0NlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF83NjBfOTk4OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi43MTk3M1wiIHk9XCIxLjk4MDQ3XCIgd2lkdGg9XCI0MC4wNFwiIGhlaWdodD1cIjQwLjA0XCIgcng9XCI3LjI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMy4xNzQ3M1wiIHk9XCIyLjQzNTQ3XCIgd2lkdGg9XCIzOS4xM1wiIGhlaWdodD1cIjM5LjEzXCIgcng9XCI2LjgyNVwiIHN0cm9rZT1cIiNEMEQ1RERcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIwLjkxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzc2MF85OTg4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMi43Mzk2IDI0LjI3NDlDMjMuOTk2MSAyNC4yNzQ5IDI1LjAxNDYgMjMuMjU2MyAyNS4wMTQ2IDIxLjk5OTlDMjUuMDE0NiAyMC43NDM0IDIzLjk5NjEgMTkuNzI0OSAyMi43Mzk2IDE5LjcyNDlDMjEuNDgzMiAxOS43MjQ5IDIwLjQ2NDYgMjAuNzQzNCAyMC40NjQ2IDIxLjk5OTlDMjAuNDY0NiAyMy4yNTYzIDIxLjQ4MzIgMjQuMjc0OSAyMi43Mzk2IDI0LjI3NDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjUxOTdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjguMzUxMyAyNC4yNzQ5QzI4LjI1MDMgMjQuNTAzNiAyOC4yMjAyIDI0Ljc1NzMgMjguMjY0OCAyNS4wMDMzQzI4LjMwOTQgMjUuMjQ5MyAyOC40MjY3IDI1LjQ3NjMgMjguNjAxNSAyNS42NTVMMjguNjQ3IDI1LjcwMDVDMjguNzg4IDI1Ljg0MTQgMjguODk5OSAyNi4wMDg3IDI4Ljk3NjIgMjYuMTkyOEMyOS4wNTI2IDI2LjM3NjkgMjkuMDkxOSAyNi41NzQzIDI5LjA5MTkgMjYuNzczNkMyOS4wOTE5IDI2Ljk3MjkgMjkuMDUyNiAyNy4xNzAzIDI4Ljk3NjIgMjcuMzU0NEMyOC44OTk5IDI3LjUzODUgMjguNzg4IDI3LjcwNTggMjguNjQ3IDI3Ljg0NjZDMjguNTA2MiAyNy45ODc2IDI4LjMzODkgMjguMDk5NSAyOC4xNTQ4IDI4LjE3NThDMjcuOTcwNyAyOC4yNTIyIDI3Ljc3MzMgMjguMjkxNCAyNy41NzQgMjguMjkxNEMyNy4zNzQ3IDI4LjI5MTQgMjcuMTc3MyAyOC4yNTIyIDI2Ljk5MzIgMjguMTc1OEMyNi44MDkxIDI4LjA5OTUgMjYuNjQxOCAyNy45ODc2IDI2LjUwMDkgMjcuODQ2NkwyNi40NTU0IDI3LjgwMTFDMjYuMjc2NyAyNy42MjYzIDI2LjA0OTcgMjcuNTA5IDI1LjgwMzcgMjcuNDY0NEMyNS41NTc3IDI3LjQxOTggMjUuMzA0IDI3LjQ0OTkgMjUuMDc1MyAyNy41NTA5QzI0Ljg1MSAyNy42NDcgMjQuNjU5NyAyNy44MDY2IDI0LjUyNSAyOC4wMTAxQzI0LjM5MDIgMjguMjEzNSAyNC4zMTc5IDI4LjQ1MTkgMjQuMzE2OSAyOC42OTZWMjguODI0OUMyNC4zMTY5IDI5LjIyNzEgMjQuMTU3MiAyOS42MTI5IDIzLjg3MjcgMjkuODk3M0MyMy41ODgzIDMwLjE4MTcgMjMuMjAyNSAzMC4zNDE1IDIyLjgwMDMgMzAuMzQxNUMyMi4zOTggMzAuMzQxNSAyMi4wMTIzIDMwLjE4MTcgMjEuNzI3OCAyOS44OTczQzIxLjQ0MzQgMjkuNjEyOSAyMS4yODM2IDI5LjIyNzEgMjEuMjgzNiAyOC44MjQ5VjI4Ljc1NjZDMjEuMjc3NyAyOC41MDU2IDIxLjE5NjUgMjguMjYyMiAyMS4wNTA0IDI4LjA1OEMyMC45MDQ0IDI3Ljg1MzggMjAuNzAwMyAyNy42OTgyIDIwLjQ2NDYgMjcuNjExNUMyMC4yMzU5IDI3LjUxMDYgMTkuOTgyMiAyNy40ODA1IDE5LjczNjIgMjcuNTI1MUMxOS40OTAyIDI3LjU2OTcgMTkuMjYzMiAyNy42ODcgMTkuMDg0NCAyNy44NjE4TDE5LjAzODkgMjcuOTA3M0MxOC44OTgxIDI4LjA0ODMgMTguNzMwOCAyOC4xNjAyIDE4LjU0NjcgMjguMjM2NUMxOC4zNjI2IDI4LjMxMjggMTguMTY1MiAyOC4zNTIxIDE3Ljk2NTkgMjguMzUyMUMxNy43NjY2IDI4LjM1MjEgMTcuNTY5MiAyOC4zMTI4IDE3LjM4NTEgMjguMjM2NUMxNy4yMDEgMjguMTYwMiAxNy4wMzM3IDI4LjA0ODMgMTYuODkyOSAyNy45MDczQzE2Ljc1MTkgMjcuNzY2NCAxNi42NCAyNy41OTkyIDE2LjU2MzcgMjcuNDE1QzE2LjQ4NzMgMjcuMjMwOSAxNi40NDggMjcuMDMzNiAxNi40NDggMjYuODM0MkMxNi40NDggMjYuNjM0OSAxNi40ODczIDI2LjQzNzYgMTYuNTYzNyAyNi4yNTM1QzE2LjY0IDI2LjA2OTMgMTYuNzUxOSAyNS45MDIxIDE2Ljg5MjkgMjUuNzYxMkwxNi45Mzg0IDI1LjcxNTdDMTcuMTEzMiAyNS41MzcgMTcuMjMwNSAyNS4zMSAxNy4yNzUxIDI1LjA2NEMxNy4zMTk3IDI0LjgxOCAxNy4yODk2IDI0LjU2NDMgMTcuMTg4NiAyNC4zMzU1QzE3LjA5MjUgMjQuMTExMiAxNi45MzI5IDIzLjkyIDE2LjcyOTQgMjMuNzg1MkMxNi41MjYgMjMuNjUwNSAxNi4yODc2IDIzLjU3ODIgMTYuMDQzNSAyMy41NzcySDE1LjkxNDZDMTUuNTEyNCAyMy41NzcyIDE1LjEyNjYgMjMuNDE3NCAxNC44NDIyIDIzLjEzM0MxNC41NTc3IDIyLjg0ODYgMTQuMzk3OSAyMi40NjI4IDE0LjM5NzkgMjIuMDYwNUMxNC4zOTc5IDIxLjY1ODMgMTQuNTU3NyAyMS4yNzI1IDE0Ljg0MjIgMjAuOTg4MUMxNS4xMjY2IDIwLjcwMzcgMTUuNTEyNCAyMC41NDM5IDE1LjkxNDYgMjAuNTQzOUgxNS45ODI5QzE2LjIzMzkgMjAuNTM4IDE2LjQ3NzMgMjAuNDU2OCAxNi42ODE1IDIwLjMxMDdDMTYuODg1NyAyMC4xNjQ2IDE3LjA0MTMgMTkuOTYwNSAxNy4xMjc5IDE5LjcyNDlDMTcuMjI4OSAxOS40OTYxIDE3LjI1OSAxOS4yNDI0IDE3LjIxNDQgMTguOTk2NEMxNy4xNjk4IDE4Ljc1MDQgMTcuMDUyNSAxOC41MjM0IDE2Ljg3NzcgMTguMzQ0N0wxNi44MzIyIDE4LjI5OTJDMTYuNjkxMiAxOC4xNTgzIDE2LjU3OTMgMTcuOTkxMSAxNi41MDMgMTcuODA3QzE2LjQyNjcgMTcuNjIyOCAxNi4zODc0IDE3LjQyNTUgMTYuMzg3NCAxNy4yMjYyQzE2LjM4NzQgMTcuMDI2OCAxNi40MjY3IDE2LjgyOTUgMTYuNTAzIDE2LjY0NTRDMTYuNTc5MyAxNi40NjEyIDE2LjY5MTIgMTYuMjk0IDE2LjgzMjIgMTYuMTUzMUMxNi45NzMxIDE2LjAxMjEgMTcuMTQwMyAxNS45MDAyIDE3LjMyNDQgMTUuODIzOUMxNy41MDg2IDE1Ljc0NzYgMTcuNzA1OSAxNS43MDgzIDE3LjkwNTIgMTUuNzA4M0MxOC4xMDQ2IDE1LjcwODMgMTguMzAxOSAxNS43NDc2IDE4LjQ4NiAxNS44MjM5QzE4LjY3MDIgMTUuOTAwMiAxOC44Mzc0IDE2LjAxMjEgMTguOTc4MyAxNi4xNTMxTDE5LjAyMzggMTYuMTk4NkMxOS4yMDI1IDE2LjM3MzQgMTkuNDI5NSAxNi40OTA3IDE5LjY3NTUgMTYuNTM1M0MxOS45MjE1IDE2LjU3OTkgMjAuMTc1MiAxNi41NDk4IDIwLjQwMzkgMTYuNDQ4OUgyMC40NjQ2QzIwLjY4ODkgMTYuMzUyNyAyMC44ODAyIDE2LjE5MzEgMjEuMDE0OSAxNS45ODk3QzIxLjE0OTcgMTUuNzg2MiAyMS4yMjIgMTUuNTQ3OCAyMS4yMjI5IDE1LjMwMzhWMTUuMTc0OUMyMS4yMjI5IDE0Ljc3MjYgMjEuMzgyNyAxNC4zODY5IDIxLjY2NzIgMTQuMTAyNEMyMS45NTE2IDEzLjgxOCAyMi4zMzc0IDEzLjY1ODIgMjIuNzM5NiAxMy42NTgyQzIzLjE0MTkgMTMuNjU4MiAyMy41Mjc2IDEzLjgxOCAyMy44MTIxIDE0LjEwMjRDMjQuMDk2NSAxNC4zODY5IDI0LjI1NjMgMTQuNzcyNiAyNC4yNTYzIDE1LjE3NDlWMTUuMjQzMUMyNC4yNTczIDE1LjQ4NzEgMjQuMzI5NiAxNS43MjU2IDI0LjQ2NDMgMTUuOTI5QzI0LjU5OSAxNi4xMzI1IDI0Ljc5MDMgMTYuMjkyMSAyNS4wMTQ2IDE2LjM4ODJDMjUuMjQzMyAxNi40ODkxIDI1LjQ5NzEgMTYuNTE5MyAyNS43NDMxIDE2LjQ3NDdDMjUuOTg5MSAxNi40MzAxIDI2LjIxNjEgMTYuMzEyOCAyNi4zOTQ4IDE2LjEzOEwyNi40NDAzIDE2LjA5MjVDMjYuNTgxMSAxNS45NTE0IDI2Ljc0ODQgMTUuODM5NiAyNi45MzI1IDE1Ljc2MzJDMjcuMTE2NyAxNS42ODY5IDI3LjMxNCAxNS42NDc2IDI3LjUxMzMgMTUuNjQ3NkMyNy43MTI2IDE1LjY0NzYgMjcuOTEgMTUuNjg2OSAyOC4wOTQxIDE1Ljc2MzJDMjguMjc4MiAxNS44Mzk2IDI4LjQ0NTUgMTUuOTUxNCAyOC41ODY0IDE2LjA5MjVDMjguNzI3NCAxNi4yMzMzIDI4LjgzOTIgMTYuNDAwNiAyOC45MTU2IDE2LjU4NDdDMjguOTkxOSAxNi43Njg4IDI5LjAzMTIgMTYuOTY2MiAyOS4wMzEyIDE3LjE2NTVDMjkuMDMxMiAxNy4zNjQ4IDI4Ljk5MTkgMTcuNTYyMiAyOC45MTU2IDE3Ljc0NjNDMjguODM5MiAxNy45MzA0IDI4LjcyNzQgMTguMDk3NyAyOC41ODY0IDE4LjIzODVMMjguNTQwOSAxOC4yODRDMjguMzY2IDE4LjQ2MjggMjguMjQ4OCAxOC42ODk4IDI4LjIwNDIgMTguOTM1OEMyOC4xNTk2IDE5LjE4MTggMjguMTg5NyAxOS40MzU1IDI4LjI5MDYgMTkuNjY0MlYxOS43MjQ5QzI4LjM4NjcgMTkuOTQ5MiAyOC41NDY0IDIwLjE0MDQgMjguNzQ5OCAyMC4yNzUyQzI4Ljk1MzMgMjAuNDA5OSAyOS4xOTE3IDIwLjQ4MjIgMjkuNDM1NyAyMC40ODMySDI5LjU2NDZDMjkuOTY2OSAyMC40ODMyIDMwLjM1MjYgMjAuNjQzIDMwLjYzNzEgMjAuOTI3NEMzMC45MjE1IDIxLjIxMTkgMzEuMDgxMyAyMS41OTc2IDMxLjA4MTMgMjEuOTk5OUMzMS4wODEzIDIyLjQwMjEgMzAuOTIxNSAyMi43ODc5IDMwLjYzNzEgMjMuMDcyM0MzMC4zNTI2IDIzLjM1NjcgMjkuOTY2OSAyMy41MTY1IDI5LjU2NDYgMjMuNTE2NUgyOS40OTY0QzI5LjI1MjMgMjMuNTE3NSAyOS4wMTM5IDIzLjU4OTggMjguODEwNSAyMy43MjQ2QzI4LjYwNyAyMy44NTkzIDI4LjQ0NzQgMjQuMDUwNiAyOC4zNTEzIDI0LjI3NDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjUxOTdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc2MF85OTg4XCIgeD1cIjAuNzE5NzI3XCIgeT1cIjAuOTgwNDY5XCIgd2lkdGg9XCI0NC4wNFwiIGhlaWdodD1cIjQ0LjA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NjBfOTk4OFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzYwXzk5ODhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzc2MF85OTg4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTguMlwiIGhlaWdodD1cIjE4LjJcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEzLjYzOTYgMTIuOTAwNClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9ydFhMU1goKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMTkgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gIDxwYXRoIGQ9XCJNNy41MzM2OSAxMi44NDQxSDE1LjAyNDFMMTMuNTU2OCAxNC4zMTcyTDE0LjM1ODcgMTUuMTE5MUwxNy4yMDI0IDEyLjI3NTRMMTQuMzU4NyA5LjQzMTY0TDEzLjU1NjggMTAuMjMzNkwxNS4wMjQxIDExLjcwNjZINy41MzM2OVYxMi44NDQxWlwiIGZpbGw9XCJibGFja1wiLz5cclxuICA8cGF0aCBkPVwiTTEyLjY1MjYgOC44NjMxVjYuNTg4MUMxMi42NTMgNi41MTMyNSAxMi42Mzg3IDYuNDM5MDQgMTIuNjEwNCA2LjM2OTc1QzEyLjU4MjEgNi4zMDA0NSAxMi41NDA0IDYuMjM3NDMgMTIuNDg3NyA2LjE4NDI4TDguNTA2NCAyLjIwMzAzQzguNDUzMjYgMi4xNTAzMiA4LjM5MDIzIDIuMTA4NjIgOC4zMjA5NCAyLjA4MDMxQzguMjUxNjQgMi4wNTIwMSA4LjE3NzQ0IDIuMDM3NjYgOC4xMDI1OSAyLjAzODFIMi40MTUwOUMyLjExMzQgMi4wMzgxIDEuODI0MDggMi4xNTc5NCAxLjYxMDc1IDIuMzcxMjZDMS4zOTc0MyAyLjU4NDU4IDEuMjc3NTkgMi44NzM5MSAxLjI3NzU5IDMuMTc1NlYxNi44MjU2QzEuMjc3NTkgMTcuMTI3MyAxLjM5NzQzIDE3LjQxNjYgMS42MTA3NSAxNy42Mjk5QzEuODI0MDggMTcuODQzMyAyLjExMzQgMTcuOTYzMSAyLjQxNTA5IDE3Ljk2MzFIMTEuNTE1MUMxMS44MTY4IDE3Ljk2MzEgMTIuMTA2MSAxNy44NDMzIDEyLjMxOTQgMTcuNjI5OUMxMi41MzI3IDE3LjQxNjYgMTIuNjUyNiAxNy4xMjczIDEyLjY1MjYgMTYuODI1NlYxNS42ODgxSDExLjUxNTFWMTYuODI1NkgyLjQxNTA5VjMuMTc1Nkg2Ljk2NTA5VjYuNTg4MUM2Ljk2NTA5IDYuODg5NzggNy4wODQ5MyA3LjE3OTExIDcuMjk4MjYgNy4zOTI0M0M3LjUxMTU4IDcuNjA1NzUgNy44MDA5MSA3LjcyNTYgOC4xMDI1OSA3LjcyNTZIMTEuNTE1MVY4Ljg2MzFIMTIuNjUyNlpNOC4xMDI1OSA2LjU4ODFWMy40MDg3OEwxMS4yODE5IDYuNTg4MUg4LjEwMjU5WlwiIGZpbGw9XCJibGFja1wiLz5cclxuPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPiA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGV5ZSB0ZXN0IHRhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgPHRhYmxlICpuZ0lmPVwia2V5VHlwZSA9PT0nc3RvcmUnXCIgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnZGF0ZScpXCI+IERhdGUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdkYXRlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdkYXRlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYXVkaXRlZERhdGUnKVwiPkF1ZGl0ZWQgRGF0ZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWREYXRlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdhdWRpdGVkRGF0ZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTSBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgfHwgdXNlcnM/LnJvbGUgPT09J2FkbWluJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsdXN0ZXIgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlTmFtZScpXCI+U3RvcmUgTmFtZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVOYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUlkJylcIj5TdG9yZSBJRCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlSWQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlSWQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPkVuZ2FnZW1lbnQgSUQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPk9wdG9tIElEPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5RdWV1ZSBJRDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdDb21wbGlhbmNlU2NvcmUnKVwiPlRhbmdvIFNjb3JlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnQ29tcGxpYW5jZVNjb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdDb21wbGlhbmNlU2NvcmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjb3ZlcmVkU3RlcHNBSScpXCI+U3RlcHMgQ292ZXJlZCBCeSBBSSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvdmVyZWRTdGVwc0FJJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdjb3ZlcmVkU3RlcHNBSScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3RydXN0U2NvcmUnKVwiPlRydXN0IFNjb3JlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAndHJ1c3RTY29yZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAndHJ1c3RTY29yZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG5cclxuPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdWRpdGVkU3RlcHMnKVwiPlN0ZXBzIENvdmVyZWQgQnkgSHVtYW4gPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdhdWRpdGVkU3RlcHMnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWRTdGVwcycgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnaHVtYW5Db21wbGlhbmNlU2NvcmUnKVwiPkh1bWFuIEF1ZGl0ZWQgU2NvcmUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdodW1hbkNvbXBsaWFuY2VTY29yZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnaHVtYW5Db21wbGlhbmNlU2NvcmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNvcnQoJ3Zpc2l0b3JzVHlwZScpXCI+VmlzaXRvciBUeXBlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAndmlzaXRvcnNUeXBlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICd2aXNpdG9yc1R5cGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlRlc3QgRHVyYXRpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNvcnQoJ2NvbW1lbnQnKVwiPkV5ZSBUZXN0IFN0YXR1cyA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvbW1lbnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvbW1lbnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydCgnc3ViQ29tbWVudCcpXCI+Q29tbWVudHMgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdWJDb21tZW50JyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdWJDb21tZW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdWRpdFN0YXR1cycpXCI+QXVkaXQgU3RhdHVzIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRTdGF0dXMnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0U3RhdHVzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPkF1ZGl0ZWQgQnk8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QWN0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBleWVUZXN0RGF0YTsgbGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uZGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uYXVkaXRlZERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJ1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYmo/LlJNTmFtZVwiPlxyXG4gICAgPCEtLSBTcGxpdCBhbmQgc2hvdyB0aGUgZmlyc3QgdmFsdWUgLS0+XHJcbiAgICB7eyBvYmouUk1OYW1lLnNwbGl0KCcsJylbMF0gfX1cclxuXHJcbiAgICA8IS0tIFNob3cgK04gYmFkZ2UgaWYgbW9yZSB2YWx1ZXMgZXhpc3QgLS0+XHJcbiAgICA8c3BhbiAqbmdJZj1cIm9iai5STU5hbWUuc3BsaXQoJywnKS5sZW5ndGggPiAxXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1zLTJcIj5cclxuICAgICAgK3t7IG9iai5STU5hbWUuc3BsaXQoJywnKS5sZW5ndGggLSAxIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nIHx8IHVzZXJzPy5yb2xlID09PSdhZG1pbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYmo/LmNsdXN0ZXJOYW1lXCI+XHJcbiB7eyBvYmouY2x1c3Rlck5hbWUuc3BsaXQoJywnKVswXSB9fVxyXG4gPHNwYW4gKm5nSWY9XCJvYmouY2x1c3Rlck5hbWUuc3BsaXQoJywnKS5sZW5ndGggPiAxXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1zLTJcIj5cclxuICAgICAgK3t7IG9iai5jbHVzdGVyTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCAtIDEgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5zdG9yZU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uc3RvcmVJZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgPT09J3JlbW90ZSdcIiBjbGFzcz1cImVuZ2FnZS10ZXh0XCI+e3tvYmo/LmVuZ2FnZW1lbnRJZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj57e29iaj8ub3B0dW1JZCA/IG9iaj8ub3B0dW1JZCA6Jyd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwiZW5nYWdlLXRleHRcIj57e29iaj8ucXVldWVJZCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmo/LnF1ZXVlSWQ6Jyd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gIHt7IG9iaj8uY29tcGxpYW5jZVNjb3JlID8/ICctLScgfX1cclxuPC90ZD5cclxuPHRkPnt7b2JqPy5jb3ZlcmVkU3RlcHNBSSA/IG9iaj8uY292ZXJlZFN0ZXBzQUk6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnRydXN0U2NvcmUgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmF1ZGl0ZWRTdGVwcyA/IG9iaj8uYXVkaXRlZFN0ZXBzOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5odW1hbkNvbXBsaWFuY2VTY29yZSA/IG9iaj8uaHVtYW5Db21wbGlhbmNlU2NvcmUgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj57e29iaj8udmlzaXRvcnNUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaj8udmlzaXRvcnNUeXBlOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8ubWluID8gb2JqPy5taW4gOicwJ319IG1pbnMge3tvYmo/LnNlYyA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmo/LnNlYzonMCd9fSBzZWNzPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj5cclxuICA8c3BhbiBcclxuICAgIGNsYXNzPVwiYmFkZ2VcIiBcclxuICAgIFtuZ0NsYXNzXT1cIm9iaj8uY29tbWVudCA/ICdiYWRnZS1saWdodC1kYW5nZXInIDogJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnXCI+XHJcbiAgICB7eyBvYmo/LmNvbW1lbnQgPyAnRmFrZScgOiAnR2VudWluZScgfX1cclxuICA8L3NwYW4+XHJcbjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN1YkNvbW1lbnQgPyBvYmo/LnN1YkNvbW1lbnQ6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvYmo/LmF1ZGl0U3RhdHVzID09PSdZZXQtdG8tQXVkaXQnXCI+e3tvYmo/LmF1ZGl0U3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqPy5hdWRpdFN0YXR1cyA9PT0nUmUtQXVkaXRlZCdcIj57e29iaj8uYXVkaXRTdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvYmo/LmF1ZGl0U3RhdHVzID09PSdBdWRpdGVkJ1wiPnt7b2JqPy5hdWRpdFN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iaj8uYXVkaXRTdGF0dXMgPT09J0luLVByb2dyZXNzJ1wiPnt7b2JqPy5hdWRpdFN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmF1ZGl0ZWRCeT9vYmo/LmF1ZGl0ZWRCeTpcIi1cIn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZXllVGVzdFZpZXcob2JqKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJrZXlUeXBlID09PSdybSdcIiBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdSTU5hbWUnKVwiPiBSTSBOYW1lIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnUk1OYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdSTU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjbHVzdGVyQ291bnQnKVwiPiBDbHVzdGVycyBDb3VudCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NsdXN0ZXJDb3VudCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3RlckNvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVzQ291bnQnKVwiPlN0b3JlcyBDb3VudCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3Jlc0NvdW50JyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZXNDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvdGFsIFRhbmdvIEFJIEZpbGVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgIFRydXN0IEF1ZGl0IENvbXBsZXRlZCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gU2NvcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydXN0IFNjb3JlIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QWN0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBleWVUZXN0RGF0YTsgbGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uUk1OYW1lID8gb2JqPy5STU5hbWU6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jbHVzdGVyQ291bnQgPyBvYmo/LmNsdXN0ZXJDb3VudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN0b3Jlc0NvdW50ID8gb2JqPy5zdG9yZXNDb3VudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnRvdGFsRmlsZXMgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jb21wbGV0ZWRGaWxlcyA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5jb21wbGlhbmNlU2NvcmUgPz8gJy0tJ319XHJcbiBcclxuPC90ZD5cclxuPHRkPlxyXG4gIHt7IG9iaj8udHJ1c3RTY29yZSA/PyAnLS0nIH19XHJcbjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInR5cGVWYWwoJ2NsdXN0ZXInLG9iailcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzM0OTYgOC4wMDAxNkMwLjgzMzQ5NiA4LjAwMDE2IDQuMTY2ODMgMS4zMzM1IDEwLjAwMDIgMS4zMzM1QzE1LjgzMzUgMS4zMzM1IDE5LjE2NjggOC4wMDAxNiAxOS4xNjY4IDguMDAwMTZDMTkuMTY2OCA4LjAwMDE2IDE1LjgzMzUgMTQuNjY2OCAxMC4wMDAyIDE0LjY2NjhDNC4xNjY4MyAxNC42NjY4IDAuODMzNDk2IDguMDAwMTYgMC44MzM0OTYgOC4wMDAxNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMC4wMDAyIDEwLjUwMDJDMTEuMzgwOSAxMC41MDAyIDEyLjUwMDIgOS4zODA4NyAxMi41MDAyIDguMDAwMTZDMTIuNTAwMiA2LjYxOTQ1IDExLjM4MDkgNS41MDAxNiAxMC4wMDAyIDUuNTAwMTZDOC42MTk0NSA1LjUwMDE2IDcuNTAwMTYgNi42MTk0NSA3LjUwMDE2IDguMDAwMTZDNy41MDAxNiA5LjM4MDg3IDguNjE5NDUgMTAuNTAwMiAxMC4wMDAyIDEwLjUwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPHRhYmxlICpuZ0lmPVwia2V5VHlwZSA9PT0nY2x1c3RlcidcIiBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjbHVzdGVyTmFtZScpXCI+IENsdXN0ZXJzIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdjbHVzdGVyTmFtZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3Rlck5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZXNDb3VudCcpXCI+U3RvcmVzIENvdW50IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVzQ291bnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3Jlc0NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgVGFuZ28gQUkgRmlsZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3QgQXVkaXQgQ29tcGxldGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIFNjb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydXN0IFNjb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGV5ZVRlc3REYXRhOyBsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jbHVzdGVyTmFtZSA/IG9iaj8uY2x1c3Rlck5hbWU6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5zdG9yZXNDb3VudCA/IG9iaj8uc3RvcmVzQ291bnQ6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy50b3RhbEZpbGVzID8/ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uY29tcGxldGVkRmlsZXMgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICB7eyBvYmo/LmNvbXBsaWFuY2VTY29yZSA/PyAgJy0tJyB9fVxyXG48L3RkPlxyXG48dGQ+XHJcbiAge3sgb2JqPy50cnVzdFNjb3JlID8/ICctLScgfX1cclxuPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidHlwZVZhbCgnc3RvcmUnLG9iailcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzM0OTYgOC4wMDAxNkMwLjgzMzQ5NiA4LjAwMDE2IDQuMTY2ODMgMS4zMzM1IDEwLjAwMDIgMS4zMzM1QzE1LjgzMzUgMS4zMzM1IDE5LjE2NjggOC4wMDAxNiAxOS4xNjY4IDguMDAwMTZDMTkuMTY2OCA4LjAwMDE2IDE1LjgzMzUgMTQuNjY2OCAxMC4wMDAyIDE0LjY2NjhDNC4xNjY4MyAxNC42NjY4IDAuODMzNDk2IDguMDAwMTYgMC44MzM0OTYgOC4wMDAxNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMC4wMDAyIDEwLjUwMDJDMTEuMzgwOSAxMC41MDAyIDEyLjUwMDIgOS4zODA4NyAxMi41MDAyIDguMDAwMTZDMTIuNTAwMiA2LjYxOTQ1IDExLjM4MDkgNS41MDAxNiAxMC4wMDAyIDUuNTAwMTZDOC42MTk0NSA1LjUwMDE2IDcuNTAwMTYgNi42MTk0NSA3LjUwMDE2IDguMDAwMTZDNy41MDAxNiA5LjM4MDg3IDguNjE5NDUgMTAuNTAwMiAxMC4wMDAyIDEwLjUwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48c2VjdGlvbiAqbmdJZj1cImV5ZVZpZXdcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBtdC00XCI+XHJcbjxkaXYgIGNsYXNzPVwiY2FyZCBwLTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiAoY2xpY2spPVwiYmFja05hdmlnYXRpb24oKVwiICBjbGFzcz1cImJ0biBidG4tYW0gYnRuLW91dGxpbmUgcC0zXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUuODMzMiA5Ljk5OTg0SDQuMTY2NU00LjE2NjUgOS45OTk4NEw5Ljk5OTg0IDE1LjgzMzJNNC4xNjY1IDkuOTk5ODRMOS45OTk4NCA0LjE2NjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSAhPT0gJ3JlbW90ZSdcIiBjbGFzcz1cIm1zLTMgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPnt7YXVkaXREZXRhaWxzPy5vcHR1bUlkfX08L3NwYW4+IFxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZSdcIiBjbGFzcz1cIm1zLTMgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEwIDEwLjVWOS41QzEwIDguOTY5NTcgOS43ODkyOSA4LjQ2MDg2IDkuNDE0MjEgOC4wODU3OUM5LjAzOTE0IDcuNzEwNzEgOC41MzA0MyA3LjUgOCA3LjVINEMzLjQ2OTU3IDcuNSAyLjk2MDg2IDcuNzEwNzEgMi41ODU3OSA4LjA4NTc5QzIuMjEwNzEgOC40NjA4NiAyIDguOTY5NTcgMiA5LjVWMTAuNU04IDMuNUM4IDQuNjA0NTcgNy4xMDQ1NyA1LjUgNiA1LjVDNC44OTU0MyA1LjUgNCA0LjYwNDU3IDQgMy41QzQgMi4zOTU0MyA0Ljg5NTQzIDEuNSA2IDEuNUM3LjEwNDU3IDEuNSA4IDIuMzk1NDMgOCAzLjVaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgPC9zdmc+PC9zcGFuPnt7YXVkaXREZXRhaWxzPy5kaXNwbGF5TmFtZSA/IGF1ZGl0RGV0YWlscz8uZGlzcGxheU5hbWU6Jy0tJ319PC9zcGFuPiBcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggbXMtMSBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNDYgNDZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCAgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBmaWxsPVwiXCIgb3BhY2l0eT1cIjAuMVwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCAgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBzdHJva2U9XCJcIiBzdHJva2Utd2lkdGg9XCI2XCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoICBkPVwiTTE1LjY3OTkgMTguODAzOUwxNS42MjY3IDE4Ljg4NzFDMTUuMDY4NiAxOS44NzQxIDE1LjY2NDQgMjEuMTIxNSAxNi43MzYxIDIxLjI2NDZDMTYuODMzMSAyMS4yNzY1IDE2LjkyMzUgMjEuMjgyOCAxNy4wMTE4IDIxLjI4MjhDMTcuNTg5OSAyMS4yODI4IDE4LjEwMTEgMjEuMDM0OCAxOC40NTc0IDIwLjY0OEwxOS4wMTA3IDIwLjA0NzRMMTkuNTYyMSAyMC42NDk4QzE5LjkxNDEgMjEuMDM0MiAyMC40MjQxIDIxLjI4MjggMjEuMDA2MSAyMS4yODI4QzIxLjU4NTYgMjEuMjgyOCAyMi4wOTg1IDIxLjAzMzggMjIuNDUwMiAyMC42NDk4TDIzLjAwMzMgMjAuMDQ1NUwyMy41NTY1IDIwLjY0OThDMjMuOTA4MSAyMS4wMzM4IDI0LjQyMTEgMjEuMjgyOCAyNS4wMDA1IDIxLjI4MjhDMjUuNTggMjEuMjgyOCAyNi4wOTI5IDIxLjAzMzggMjYuNDQ0NSAyMC42NDk4TDI2Ljk5NzcgMjAuMDQ1NUwyNy41NTA5IDIwLjY0OThDMjcuOTAyNSAyMS4wMzM4IDI4LjQxNTUgMjEuMjgyOCAyOC45OTQ5IDIxLjI4MjhDMjkuMDgwMyAyMS4yODI4IDI5LjE3MzMgMjEuMjc2NSAyOS4yNjk3IDIxLjI2NDdDMzAuMzY0OSAyMS4xMTU0IDMwLjk2MjcgMTkuODAxMiAzMC4zMjQgMTguODA0NEMzMC4zMjQgMTguODA0MyAzMC4zMjQgMTguODA0MyAzMC4zMjM5IDE4LjgwNDJMMjguNTY1OCAxNi4wNjI4TDI4LjU2NTggMTYuMDYyOEwyOC41NjQ4IDE2LjA2MTRDMjguNTQ5NiAxNi4wMzc1IDI4LjUxMjEgMTYuMDEyIDI4LjQ2NSAxNi4wMTJIMTcuNTM1NkMxNy40ODg0IDE2LjAxMiAxNy40NTA5IDE2LjAzNzUgMTcuNDM1NyAxNi4wNjE0TDE3LjQzNTEgMTYuMDYyM0wxNS42Nzk5IDE4LjgwMzlaTTI4LjY1MTQgMjMuNzM3MlYyNi44NjkxVjI3LjYxOTFIMjcuOTAxNEgxOC4wOTkySDE3LjM0OTJWMjYuODY5MVYyMy43Mzc2QzE3LjIzOSAyMy43NDU4IDE3LjEyNzQgMjMuNzUwMSAxNy4wMTQ4IDIzLjc1MDFDMTYuOTcyNSAyMy43NTAxIDE2LjkzMDUgMjMuNzQ5NCAxNi44ODg4IDIzLjc0ODJWMjYuODY5MVYyOC44MDM2QzE2Ljg4ODggMjkuNDQ3MSAxNy40MjI3IDI5Ljk4ODIgMTguMDk5MiAyOS45ODgySDI3LjkwMTRDMjguNTc3OSAyOS45ODgyIDI5LjExMTggMjkuNDQ3MSAyOS4xMTE4IDI4LjgwMzZWMjYuODY5MVYyMy43NDg0QzI5LjA3MiAyMy43NDk1IDI5LjAzMiAyMy43NTAxIDI4Ljk5MTggMjMuNzUwMUMyOC44Nzc0IDIzLjc1MDEgMjguNzYzOSAyMy43NDU3IDI4LjY1MTQgMjMuNzM3MlpcIiBzdHJva2U9XCIjMDAwMDAwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCI+PC9wYXRoPjwvc3ZnPiBcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTEgc3ViLXRpdGxlXCI+IHt7YXVkaXREZXRhaWxzLnN0b3JlTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICA8IS0tIGRpc3BsYXlOYW1lIC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlICE9PSAncmVtb3RlJ1wiIGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNS4yNTAyMSA2LjUwMDI4QzUuOTEzMjkgNi41MDAyOCA2LjU0OTIxIDYuMjM2ODkgNy4wMTgwNyA1Ljc2ODA3QzcuNDg2OTQgNS4yOTkyNCA3Ljc1MDM1IDQuNjYzMzcgNy43NTAzNSA0LjAwMDM1QzcuNzUwMzUgMy4zMzczMiA3LjQ4Njk0IDIuNzAxNDYgNy4wMTgwNyAyLjIzMjYzQzYuNTQ5MjEgMS43NjM4IDUuOTEzMjkgMS41MDA0MiA1LjI1MDIxIDEuNTAwNDJDNC41ODcxMyAxLjUwMDQyIDMuOTUxMjEgMS43NjM4IDMuNDgyMzQgMi4yMzI2M0MzLjAxMzQ4IDIuNzAxNDYgMi43NTAwNyAzLjMzNzMyIDIuNzUwMDcgNC4wMDAzNUMyLjc1MDA3IDQuNjYzMzcgMy4wMTM0OCA1LjI5OTI0IDMuNDgyMzQgNS43NjgwN0MzLjk1MTIxIDYuMjM2ODkgNC41ODcxMyA2LjUwMDI4IDUuMjUwMjEgNi41MDAyOFpNNS4yNTAyMSA1LjI1MDMxQzQuOTE4NjcgNS4yNTAzMSA0LjYwMDcxIDUuMTE4NjIgNC4zNjYyOCA0Ljg4NDIxQzQuMTMxODQgNC42NDk3OSA0LjAwMDE0IDQuMzMxODYgNC4wMDAxNCA0LjAwMDM1QzQuMDAwMTQgMy42Njg4NCA0LjEzMTg0IDMuMzUwOSA0LjM2NjI4IDMuMTE2NDlDNC42MDA3MSAyLjg4MjA3IDQuOTE4NjcgMi43NTAzOCA1LjI1MDIxIDIuNzUwMzhDNS41ODE3NSAyLjc1MDM4IDUuODk5NzEgMi44ODIwNyA2LjEzNDE0IDMuMTE2NDlDNi4zNjg1NyAzLjM1MDkgNi41MDAyOCAzLjY2ODg0IDYuNTAwMjggNC4wMDAzNUM2LjUwMDI4IDQuMzMxODYgNi4zNjg1NyA0LjY0OTc5IDYuMTM0MTQgNC44ODQyMUM1Ljg5OTcxIDUuMTE4NjIgNS41ODE3NSA1LjI1MDMxIDUuMjUwMjEgNS4yNTAzMVpNMS41IDguNzkxODhDMS41IDcuOTg2OSAyLjE1MzM3IDcuMzMzNTkgMi45NTg0MSA3LjMzMzU5SDcuNTQyQzguMzQ3MDUgNy4zMzM1OSA5LjAwMDQyIDcuOTg2OSA5LjAwMDQyIDguNzkxODhWMTIuNzUwMUM5LjAwMDQyIDEzLjc0NDYgOC42MDUzMSAxNC42OTg0IDcuOTAyMDEgMTUuNDAxN0M3LjE5ODcgMTYuMTA0OSA2LjI0NDgzIDE2LjUgNS4yNTAyMSAxNi41QzQuMjU1NTkgMTYuNSAzLjMwMTcxIDE2LjEwNDkgMi41OTg0MSAxNS40MDE3QzEuODk1MTEgMTQuNjk4NCAxLjUgMTMuNzQ0NiAxLjUgMTIuNzUwMVY4Ljc5MTg4Wk0yLjk1ODQxIDguNTgzNTVDMi45MDMxNiA4LjU4MzU1IDIuODUwMTYgOC42MDU1IDIuODExMDkgOC42NDQ1N0MyLjc3MjAyIDguNjgzNjQgMi43NTAwNyA4LjczNjYzIDIuNzUwMDcgOC43OTE4OFYxMi43NTAxQzIuNzUwMDcgMTMuNDEzMSAzLjAxMzQ4IDE0LjA0OSAzLjQ4MjM0IDE0LjUxNzhDMy45NTEyMSAxNC45ODY3IDQuNTg3MTMgMTUuMjUgNS4yNTAyMSAxNS4yNUM1LjkxMzI5IDE1LjI1IDYuNTQ5MjEgMTQuOTg2NyA3LjAxODA3IDE0LjUxNzhDNy40ODY5NCAxNC4wNDkgNy43NTAzNSAxMy40MTMxIDcuNzUwMzUgMTIuNzUwMVY4Ljc5MTg4QzcuNzUwMzUgOC43MzY2MyA3LjcyODQgOC42ODM2NCA3LjY4OTMyIDguNjQ0NTdDNy42NTAyNSA4LjYwNTUgNy41OTcyNiA4LjU4MzU1IDcuNTQyIDguNTgzNTVIMi45NTg0MVpNNy43NzI4NSA2LjE3ODYyQzguMTUzMjggNi4zOTI2NyA4LjU4MzEzIDYuNTAzNCA5LjAxOTYzIDYuNDk5NzhDOS40NTYxNCA2LjQ5NjE2IDkuODg0MSA2LjM3ODMyIDEwLjI2MDkgNi4xNTc5OUMxMC42Mzc4IDUuOTM3NjYgMTAuOTUwMyA1LjYyMjUyIDExLjE2NzUgNS4yNDM5MUMxMS4zODQ4IDQuODY1MyAxMS40OTkgNC40MzY0MiAxMS40OTkgMy45OTk5M0MxMS40OTkgMy41NjM0NCAxMS4zODQ4IDMuMTM0NTYgMTEuMTY3NSAyLjc1NTk1QzEwLjk1MDMgMi4zNzczNCAxMC42Mzc4IDIuMDYyMiAxMC4yNjA5IDEuODQxODdDOS44ODQxIDEuNjIxNTQgOS40NTYxNCAxLjUwMzcxIDkuMDE5NjMgMS41MDAwOUM4LjU4MzEzIDEuNDk2NDcgOC4xNTMyOCAxLjYwNzE5IDcuNzcyODUgMS44MjEyNEM4LjA0NTM2IDIuMTM2MjMgOC4yNTk1NCAyLjUwMjg5IDguMzk5NTUgMi45MDQ1NEM4LjU4OTkxIDIuODAwMjYgOC44MDQxNSAyLjc0NzMzIDkuMDIxMTggMi43NTA5N0M5LjIzODIxIDIuNzU0NjIgOS40NTA1NSAyLjgxNDcxIDkuNjM3MzEgMi45MjUzM0M5LjgyNDA2IDMuMDM1OTQgOS45Nzg3OSAzLjE5MzI4IDEwLjA4NjMgMy4zODE4NUMxMC4xOTM3IDMuNTcwNDIgMTAuMjUwMyAzLjc4MzcyIDEwLjI1MDMgNC4wMDA3NkMxMC4yNTAzIDQuMjE3ODEgMTAuMTkzNyA0LjQzMTExIDEwLjA4NjMgNC42MTk2OEM5Ljk3ODc5IDQuODA4MjUgOS44MjQwNiA0Ljk2NTU4IDkuNjM3MzEgNS4wNzYyQzkuNDUwNTUgNS4xODY4MiA5LjIzODIxIDUuMjQ2OTEgOS4wMjExOCA1LjI1MDU1QzguODA0MTUgNS4yNTQyIDguNTg5OTEgNS4yMDEyNyA4LjM5OTU1IDUuMDk2OThDOC4yNjA3NCA1LjQ5MzgyIDguMDQ4MSA1Ljg2MDgyIDcuNzcyODUgNi4xNzg2MlpNOC4wNTAzNiAxNi4zNzgzQzguMzU0ODMgMTYuNDU4MyA4LjY3MTUxIDE2LjQ5ODkgOS4wMDA0MiAxNi41QzkuOTk1MDMgMTYuNSAxMC45NDg5IDE2LjEwNDkgMTEuNjUyMiAxNS40MDE3QzEyLjM1NTUgMTQuNjk4NCAxMi43NTA2IDEzLjc0NDYgMTIuNzUwNiAxMi43NTAxVjguNzkxODhDMTIuNzUwNiA4LjQwNTEyIDEyLjU5NyA4LjAzNDE5IDEyLjMyMzUgNy43NjA3MUMxMi4wNSA3LjQ4NzIzIDExLjY3OSA3LjMzMzU5IDExLjI5MjIgNy4zMzM1OUg5LjMwODc3QzkuNTk0NjIgNy42Nzk0MSA5Ljc4MDQ2IDguMTExMDcgOS44MjM4IDguNTgzNTVIMTEuMjkwNUMxMS4zNDU4IDguNTgzNTUgMTEuMzk4OCA4LjYwNTUgMTEuNDM3OSA4LjY0NDU3QzExLjQ3NjkgOC42ODM2NCAxMS40OTg5IDguNzM2NjMgMTEuNDk4OSA4Ljc5MTg4VjEyLjc1MDFDMTEuNDk4OSAxMy4zOTY4IDExLjI0ODMgMTQuMDE4NCAxMC43OTk2IDE0LjQ4NDNDMTAuMzUxIDE0Ljk1MDEgOS43MzkyNSAxNS4yMjQgOS4wOTI5MiAxNS4yNDg0QzguODEwNDEgMTUuNjgxNyA4LjQ1ODcyIDE2LjA2MzMgOC4wNTAzNiAxNi4zNzgzWk0xMS41MjIyIDYuMTc4NjJDMTEuOTAyNyA2LjM5MjY3IDEyLjMzMjUgNi41MDM0IDEyLjc2OSA2LjQ5OTc4QzEzLjIwNTUgNi40OTYxNiAxMy42MzM1IDYuMzc4MzIgMTQuMDEwMyA2LjE1Nzk5QzE0LjM4NzEgNS45Mzc2NiAxNC42OTk3IDUuNjIyNTIgMTQuOTE2OSA1LjI0MzkxQzE1LjEzNDEgNC44NjUzIDE1LjI0ODQgNC40MzY0MiAxNS4yNDg0IDMuOTk5OTNDMTUuMjQ4NCAzLjU2MzQ0IDE1LjEzNDEgMy4xMzQ1NiAxNC45MTY5IDIuNzU1OTVDMTQuNjk5NyAyLjM3NzM0IDE0LjM4NzEgMi4wNjIyIDE0LjAxMDMgMS44NDE4N0MxMy42MzM1IDEuNjIxNTQgMTMuMjA1NSAxLjUwMzcxIDEyLjc2OSAxLjUwMDA5QzEyLjMzMjUgMS40OTY0NyAxMS45MDI3IDEuNjA3MTkgMTEuNTIyMiAxLjgyMTI0QzExLjc5NDcgMi4xMzYyMyAxMi4wMDg5IDIuNTAyODkgMTIuMTQ4OSAyLjkwNDU0QzEyLjMzOTMgMi44MDAyNiAxMi41NTM1IDIuNzQ3MzMgMTIuNzcwNiAyLjc1MDk3QzEyLjk4NzYgMi43NTQ2MiAxMy4xOTk5IDIuODE0NzEgMTMuMzg2NyAyLjkyNTMzQzEzLjU3MzQgMy4wMzU5NCAxMy43MjgyIDMuMTkzMjggMTMuODM1NiAzLjM4MTg1QzEzLjk0MzEgMy41NzA0MiAxMy45OTk2IDMuNzgzNzIgMTMuOTk5NiA0LjAwMDc2QzEzLjk5OTYgNC4yMTc4MSAxMy45NDMxIDQuNDMxMTEgMTMuODM1NiA0LjYxOTY4QzEzLjcyODIgNC44MDgyNSAxMy41NzM0IDQuOTY1NTggMTMuMzg2NyA1LjA3NjJDMTMuMTk5OSA1LjE4NjgyIDEyLjk4NzYgNS4yNDY5MSAxMi43NzA2IDUuMjUwNTVDMTIuNTUzNSA1LjI1NDIgMTIuMzM5MyA1LjIwMTI3IDEyLjE0ODkgNS4wOTY5OEMxMi4wMTAxIDUuNDkzODIgMTEuNzk3NSA1Ljg2MDgyIDExLjUyMjIgNi4xNzg2MlpNMTEuNzk5NyAxNi4zNzgzQzEyLjEwNDIgMTYuNDU4MyAxMi40MjA5IDE2LjQ5ODkgMTIuNzQ5OCAxNi41QzEzLjc0NDQgMTYuNSAxNC42OTgzIDE2LjEwNDkgMTUuNDAxNiAxNS40MDE3QzE2LjEwNDkgMTQuNjk4NCAxNi41IDEzLjc0NDYgMTYuNSAxMi43NTAxVjguNzkxODhDMTYuNSA4LjQwNTI2IDE2LjM0NjUgOC4wMzQ0NyAxNi4wNzMxIDcuNzYxMDFDMTUuNzk5OCA3LjQ4NzU1IDE1LjQyOTEgNy4zMzM4MSAxNS4wNDI0IDcuMzMzNTlIMTMuMDU5QzEzLjM0NDggNy42Nzk0MSAxMy41MzE1IDguMTExMDcgMTMuNTc0IDguNTgzNTVIMTUuMDQwOEMxNS4wOTYgOC41ODM1NSAxNS4xNDkgOC42MDU1IDE1LjE4ODEgOC42NDQ1N0MxNS4yMjcxIDguNjgzNjQgMTUuMjQ5MSA4LjczNjYzIDE1LjI0OTEgOC43OTE4OFYxMi43NTAxQzE1LjI0OTEgMTMuMzk2OCAxNC45OTg1IDE0LjAxODQgMTQuNTQ5OCAxNC40ODQzQzE0LjEwMTIgMTQuOTUwMSAxMy40ODk1IDE1LjIyNCAxMi44NDMxIDE1LjI0ODRDMTIuNTYwNiAxNS42ODE3IDEyLjIwODEgMTYuMDYzMyAxMS43OTk3IDE2LjM3ODNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM2NjcwODVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgc3ViLXRpdGxlXCI+e3thdWRpdERldGFpbHM/LnF1ZXVlSWR9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZSdcIiBjbGFzcz1cImQtZmxleCBtcy0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTUuMjUwMjEgNi41MDAyOEM1LjkxMzI5IDYuNTAwMjggNi41NDkyMSA2LjIzNjg5IDcuMDE4MDcgNS43NjgwN0M3LjQ4Njk0IDUuMjk5MjQgNy43NTAzNSA0LjY2MzM3IDcuNzUwMzUgNC4wMDAzNUM3Ljc1MDM1IDMuMzM3MzIgNy40ODY5NCAyLjcwMTQ2IDcuMDE4MDcgMi4yMzI2M0M2LjU0OTIxIDEuNzYzOCA1LjkxMzI5IDEuNTAwNDIgNS4yNTAyMSAxLjUwMDQyQzQuNTg3MTMgMS41MDA0MiAzLjk1MTIxIDEuNzYzOCAzLjQ4MjM0IDIuMjMyNjNDMy4wMTM0OCAyLjcwMTQ2IDIuNzUwMDcgMy4zMzczMiAyLjc1MDA3IDQuMDAwMzVDMi43NTAwNyA0LjY2MzM3IDMuMDEzNDggNS4yOTkyNCAzLjQ4MjM0IDUuNzY4MDdDMy45NTEyMSA2LjIzNjg5IDQuNTg3MTMgNi41MDAyOCA1LjI1MDIxIDYuNTAwMjhaTTUuMjUwMjEgNS4yNTAzMUM0LjkxODY3IDUuMjUwMzEgNC42MDA3MSA1LjExODYyIDQuMzY2MjggNC44ODQyMUM0LjEzMTg0IDQuNjQ5NzkgNC4wMDAxNCA0LjMzMTg2IDQuMDAwMTQgNC4wMDAzNUM0LjAwMDE0IDMuNjY4ODQgNC4xMzE4NCAzLjM1MDkgNC4zNjYyOCAzLjExNjQ5QzQuNjAwNzEgMi44ODIwNyA0LjkxODY3IDIuNzUwMzggNS4yNTAyMSAyLjc1MDM4QzUuNTgxNzUgMi43NTAzOCA1Ljg5OTcxIDIuODgyMDcgNi4xMzQxNCAzLjExNjQ5QzYuMzY4NTcgMy4zNTA5IDYuNTAwMjggMy42Njg4NCA2LjUwMDI4IDQuMDAwMzVDNi41MDAyOCA0LjMzMTg2IDYuMzY4NTcgNC42NDk3OSA2LjEzNDE0IDQuODg0MjFDNS44OTk3MSA1LjExODYyIDUuNTgxNzUgNS4yNTAzMSA1LjI1MDIxIDUuMjUwMzFaTTEuNSA4Ljc5MTg4QzEuNSA3Ljk4NjkgMi4xNTMzNyA3LjMzMzU5IDIuOTU4NDEgNy4zMzM1OUg3LjU0MkM4LjM0NzA1IDcuMzMzNTkgOS4wMDA0MiA3Ljk4NjkgOS4wMDA0MiA4Ljc5MTg4VjEyLjc1MDFDOS4wMDA0MiAxMy43NDQ2IDguNjA1MzEgMTQuNjk4NCA3LjkwMjAxIDE1LjQwMTdDNy4xOTg3IDE2LjEwNDkgNi4yNDQ4MyAxNi41IDUuMjUwMjEgMTYuNUM0LjI1NTU5IDE2LjUgMy4zMDE3MSAxNi4xMDQ5IDIuNTk4NDEgMTUuNDAxN0MxLjg5NTExIDE0LjY5ODQgMS41IDEzLjc0NDYgMS41IDEyLjc1MDFWOC43OTE4OFpNMi45NTg0MSA4LjU4MzU1QzIuOTAzMTYgOC41ODM1NSAyLjg1MDE2IDguNjA1NSAyLjgxMTA5IDguNjQ0NTdDMi43NzIwMiA4LjY4MzY0IDIuNzUwMDcgOC43MzY2MyAyLjc1MDA3IDguNzkxODhWMTIuNzUwMUMyLjc1MDA3IDEzLjQxMzEgMy4wMTM0OCAxNC4wNDkgMy40ODIzNCAxNC41MTc4QzMuOTUxMjEgMTQuOTg2NyA0LjU4NzEzIDE1LjI1IDUuMjUwMjEgMTUuMjVDNS45MTMyOSAxNS4yNSA2LjU0OTIxIDE0Ljk4NjcgNy4wMTgwNyAxNC41MTc4QzcuNDg2OTQgMTQuMDQ5IDcuNzUwMzUgMTMuNDEzMSA3Ljc1MDM1IDEyLjc1MDFWOC43OTE4OEM3Ljc1MDM1IDguNzM2NjMgNy43Mjg0IDguNjgzNjQgNy42ODkzMiA4LjY0NDU3QzcuNjUwMjUgOC42MDU1IDcuNTk3MjYgOC41ODM1NSA3LjU0MiA4LjU4MzU1SDIuOTU4NDFaTTcuNzcyODUgNi4xNzg2MkM4LjE1MzI4IDYuMzkyNjcgOC41ODMxMyA2LjUwMzQgOS4wMTk2MyA2LjQ5OTc4QzkuNDU2MTQgNi40OTYxNiA5Ljg4NDEgNi4zNzgzMiAxMC4yNjA5IDYuMTU3OTlDMTAuNjM3OCA1LjkzNzY2IDEwLjk1MDMgNS42MjI1MiAxMS4xNjc1IDUuMjQzOTFDMTEuMzg0OCA0Ljg2NTMgMTEuNDk5IDQuNDM2NDIgMTEuNDk5IDMuOTk5OTNDMTEuNDk5IDMuNTYzNDQgMTEuMzg0OCAzLjEzNDU2IDExLjE2NzUgMi43NTU5NUMxMC45NTAzIDIuMzc3MzQgMTAuNjM3OCAyLjA2MjIgMTAuMjYwOSAxLjg0MTg3QzkuODg0MSAxLjYyMTU0IDkuNDU2MTQgMS41MDM3MSA5LjAxOTYzIDEuNTAwMDlDOC41ODMxMyAxLjQ5NjQ3IDguMTUzMjggMS42MDcxOSA3Ljc3Mjg1IDEuODIxMjRDOC4wNDUzNiAyLjEzNjIzIDguMjU5NTQgMi41MDI4OSA4LjM5OTU1IDIuOTA0NTRDOC41ODk5MSAyLjgwMDI2IDguODA0MTUgMi43NDczMyA5LjAyMTE4IDIuNzUwOTdDOS4yMzgyMSAyLjc1NDYyIDkuNDUwNTUgMi44MTQ3MSA5LjYzNzMxIDIuOTI1MzNDOS44MjQwNiAzLjAzNTk0IDkuOTc4NzkgMy4xOTMyOCAxMC4wODYzIDMuMzgxODVDMTAuMTkzNyAzLjU3MDQyIDEwLjI1MDMgMy43ODM3MiAxMC4yNTAzIDQuMDAwNzZDMTAuMjUwMyA0LjIxNzgxIDEwLjE5MzcgNC40MzExMSAxMC4wODYzIDQuNjE5NjhDOS45Nzg3OSA0LjgwODI1IDkuODI0MDYgNC45NjU1OCA5LjYzNzMxIDUuMDc2MkM5LjQ1MDU1IDUuMTg2ODIgOS4yMzgyMSA1LjI0NjkxIDkuMDIxMTggNS4yNTA1NUM4LjgwNDE1IDUuMjU0MiA4LjU4OTkxIDUuMjAxMjcgOC4zOTk1NSA1LjA5Njk4QzguMjYwNzQgNS40OTM4MiA4LjA0ODEgNS44NjA4MiA3Ljc3Mjg1IDYuMTc4NjJaTTguMDUwMzYgMTYuMzc4M0M4LjM1NDgzIDE2LjQ1ODMgOC42NzE1MSAxNi40OTg5IDkuMDAwNDIgMTYuNUM5Ljk5NTAzIDE2LjUgMTAuOTQ4OSAxNi4xMDQ5IDExLjY1MjIgMTUuNDAxN0MxMi4zNTU1IDE0LjY5ODQgMTIuNzUwNiAxMy43NDQ2IDEyLjc1MDYgMTIuNzUwMVY4Ljc5MTg4QzEyLjc1MDYgOC40MDUxMiAxMi41OTcgOC4wMzQxOSAxMi4zMjM1IDcuNzYwNzFDMTIuMDUgNy40ODcyMyAxMS42NzkgNy4zMzM1OSAxMS4yOTIyIDcuMzMzNTlIOS4zMDg3N0M5LjU5NDYyIDcuNjc5NDEgOS43ODA0NiA4LjExMTA3IDkuODIzOCA4LjU4MzU1SDExLjI5MDVDMTEuMzQ1OCA4LjU4MzU1IDExLjM5ODggOC42MDU1IDExLjQzNzkgOC42NDQ1N0MxMS40NzY5IDguNjgzNjQgMTEuNDk4OSA4LjczNjYzIDExLjQ5ODkgOC43OTE4OFYxMi43NTAxQzExLjQ5ODkgMTMuMzk2OCAxMS4yNDgzIDE0LjAxODQgMTAuNzk5NiAxNC40ODQzQzEwLjM1MSAxNC45NTAxIDkuNzM5MjUgMTUuMjI0IDkuMDkyOTIgMTUuMjQ4NEM4LjgxMDQxIDE1LjY4MTcgOC40NTg3MiAxNi4wNjMzIDguMDUwMzYgMTYuMzc4M1pNMTEuNTIyMiA2LjE3ODYyQzExLjkwMjcgNi4zOTI2NyAxMi4zMzI1IDYuNTAzNCAxMi43NjkgNi40OTk3OEMxMy4yMDU1IDYuNDk2MTYgMTMuNjMzNSA2LjM3ODMyIDE0LjAxMDMgNi4xNTc5OUMxNC4zODcxIDUuOTM3NjYgMTQuNjk5NyA1LjYyMjUyIDE0LjkxNjkgNS4yNDM5MUMxNS4xMzQxIDQuODY1MyAxNS4yNDg0IDQuNDM2NDIgMTUuMjQ4NCAzLjk5OTkzQzE1LjI0ODQgMy41NjM0NCAxNS4xMzQxIDMuMTM0NTYgMTQuOTE2OSAyLjc1NTk1QzE0LjY5OTcgMi4zNzczNCAxNC4zODcxIDIuMDYyMiAxNC4wMTAzIDEuODQxODdDMTMuNjMzNSAxLjYyMTU0IDEzLjIwNTUgMS41MDM3MSAxMi43NjkgMS41MDAwOUMxMi4zMzI1IDEuNDk2NDcgMTEuOTAyNyAxLjYwNzE5IDExLjUyMjIgMS44MjEyNEMxMS43OTQ3IDIuMTM2MjMgMTIuMDA4OSAyLjUwMjg5IDEyLjE0ODkgMi45MDQ1NEMxMi4zMzkzIDIuODAwMjYgMTIuNTUzNSAyLjc0NzMzIDEyLjc3MDYgMi43NTA5N0MxMi45ODc2IDIuNzU0NjIgMTMuMTk5OSAyLjgxNDcxIDEzLjM4NjcgMi45MjUzM0MxMy41NzM0IDMuMDM1OTQgMTMuNzI4MiAzLjE5MzI4IDEzLjgzNTYgMy4zODE4NUMxMy45NDMxIDMuNTcwNDIgMTMuOTk5NiAzLjc4MzcyIDEzLjk5OTYgNC4wMDA3NkMxMy45OTk2IDQuMjE3ODEgMTMuOTQzMSA0LjQzMTExIDEzLjgzNTYgNC42MTk2OEMxMy43MjgyIDQuODA4MjUgMTMuNTczNCA0Ljk2NTU4IDEzLjM4NjcgNS4wNzYyQzEzLjE5OTkgNS4xODY4MiAxMi45ODc2IDUuMjQ2OTEgMTIuNzcwNiA1LjI1MDU1QzEyLjU1MzUgNS4yNTQyIDEyLjMzOTMgNS4yMDEyNyAxMi4xNDg5IDUuMDk2OThDMTIuMDEwMSA1LjQ5MzgyIDExLjc5NzUgNS44NjA4MiAxMS41MjIyIDYuMTc4NjJaTTExLjc5OTcgMTYuMzc4M0MxMi4xMDQyIDE2LjQ1ODMgMTIuNDIwOSAxNi40OTg5IDEyLjc0OTggMTYuNUMxMy43NDQ0IDE2LjUgMTQuNjk4MyAxNi4xMDQ5IDE1LjQwMTYgMTUuNDAxN0MxNi4xMDQ5IDE0LjY5ODQgMTYuNSAxMy43NDQ2IDE2LjUgMTIuNzUwMVY4Ljc5MTg4QzE2LjUgOC40MDUyNiAxNi4zNDY1IDguMDM0NDcgMTYuMDczMSA3Ljc2MTAxQzE1Ljc5OTggNy40ODc1NSAxNS40MjkxIDcuMzMzODEgMTUuMDQyNCA3LjMzMzU5SDEzLjA1OUMxMy4zNDQ4IDcuNjc5NDEgMTMuNTMxNSA4LjExMTA3IDEzLjU3NCA4LjU4MzU1SDE1LjA0MDhDMTUuMDk2IDguNTgzNTUgMTUuMTQ5IDguNjA1NSAxNS4xODgxIDguNjQ0NTdDMTUuMjI3MSA4LjY4MzY0IDE1LjI0OTEgOC43MzY2MyAxNS4yNDkxIDguNzkxODhWMTIuNzUwMUMxNS4yNDkxIDEzLjM5NjggMTQuOTk4NSAxNC4wMTg0IDE0LjU0OTggMTQuNDg0M0MxNC4xMDEyIDE0Ljk1MDEgMTMuNDg5NSAxNS4yMjQgMTIuODQzMSAxNS4yNDg0QzEyLjU2MDYgMTUuNjgxNyAxMi4yMDgxIDE2LjA2MzMgMTEuNzk5NyAxNi4zNzgzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNjY3MDg1XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7YXVkaXREZXRhaWxzPy5lbmdhZ2VtZW50SWQgP2F1ZGl0RGV0YWlscz8uZW5nYWdlbWVudElkOictLSd9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgM0gxMy41QzEzLjg5NzggMyAxNC4yNzk0IDMuMTU4MDQgMTQuNTYwNyAzLjQzOTM0QzE0Ljg0MiAzLjcyMDY0IDE1IDQuMTAyMTggMTUgNC41VjE1QzE1IDE1LjM5NzggMTQuODQyIDE1Ljc3OTQgMTQuNTYwNyAxNi4wNjA3QzE0LjI3OTQgMTYuMzQyIDEzLjg5NzggMTYuNSAxMy41IDE2LjVINC41QzQuMTAyMTggMTYuNSAzLjcyMDY0IDE2LjM0MiAzLjQzOTM0IDE2LjA2MDdDMy4xNTgwNCAxNS43Nzk0IDMgMTUuMzk3OCAzIDE1VjQuNUMzIDQuMTAyMTggMy4xNTgwNCAzLjcyMDY0IDMuNDM5MzQgMy40MzkzNEMzLjcyMDY0IDMuMTU4MDQgNC4xMDIxOCAzIDQuNSAzSDZNNi43NSAxLjVIMTEuMjVDMTEuNjY0MiAxLjUgMTIgMS44MzU3OSAxMiAyLjI1VjMuNzVDMTIgNC4xNjQyMSAxMS42NjQyIDQuNSAxMS4yNSA0LjVINi43NUM2LjMzNTc5IDQuNSA2IDQuMTY0MjEgNiAzLjc1VjIuMjVDNiAxLjgzNTc5IDYuMzM1NzkgMS41IDYuNzUgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgc3ViLXRpdGxlXCI+e3tjdXJyZW50QXVkaXRUeXBlIHwgdGl0bGVjYXNlfX0gRXllIFRlc3Q8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtcy0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEuNVY0LjVNNiAxLjVWNC41TTIuMjUgNy41SDE1Ljc1TTMuNzUgM0gxNC4yNUMxNS4wNzg0IDMgMTUuNzUgMy42NzE1NyAxNS43NSA0LjVWMTVDMTUuNzUgMTUuODI4NCAxNS4wNzg0IDE2LjUgMTQuMjUgMTYuNUgzLjc1QzIuOTIxNTcgMTYuNSAyLjI1IDE1LjgyODQgMi4yNSAxNVY0LjVDMi4yNSAzLjY3MTU3IDIuOTIxNTcgMyAzLjc1IDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2F1ZGl0RGV0YWlscz8uZmlsZURhdGUgfCBkYXRlOiAnZGQvTU0vWVlZWSd9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTY2XzU1MDE5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05IDQuNVY5TDEyIDEwLjVNMTYuNSA5QzE2LjUgMTMuMTQyMSAxMy4xNDIxIDE2LjUgOSAxNi41QzQuODU3ODYgMTYuNSAxLjUgMTMuMTQyMSAxLjUgOUMxLjUgNC44NTc4NiA0Ljg1Nzg2IDEuNSA5IDEuNUMxMy4xNDIxIDEuNSAxNi41IDQuODU3ODYgMTYuNSA5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE2Nl81NTAxOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2F1ZGl0RGV0YWlscz8udGVzdFN0YXJ0VGltZX19IHt7YXVkaXREZXRhaWxzPy50ZXN0U3RhcnRUaW1lPy5zcGxpdCgnOicpWzBdPjEyPydQTSc6J0FNJ319IC0ge3thdWRpdERldGFpbHM/LnRlc3RFbmRUaW1lfX0ge3thdWRpdERldGFpbHM/LnRlc3RFbmRUaW1lPy5zcGxpdCgnOicpWzBdPjEyPydQTSc6J0FNJ319XHJcbiAgICAgICAgICAgICAgICAoe3thdWRpdERldGFpbHM/LnRlc3REdXJhdGlvbn19IE1pbnMpPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMyBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3thdWRpdERldGFpbHM/LnZpc2l0b3JzVHlwZSB8IHRpdGxlY2FzZX19PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJbJ1lldC10by1BdWRpdCddLmluY2x1ZGVzKGF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXMpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXdoaXRlIG1zLTMgcHgtMyBweS0xIGZ3LXNlbWlib2xkIHJvdW5kZWQtMyBjdXJzb3ItcG9pbnRlciBiZy1wcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICAgICAgICAgIFlldCB0byBBdWRpdFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ0F1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ0F1ZGl0ZWQnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXdoaXRlIG1zLTMgcHgtMyBweS0xIGZ3LXNlbWlib2xkIHJvdW5kZWQtMyBjdXJzb3ItcG9pbnRlciBiZy1zdWNjZXNzXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICAgICAgICAgIEF1ZGl0ZWRcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdSZS1BdWRpdCcmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXMgPT09ICdBdWRpdGVkJyB8fCBhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ1JlLUF1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ1JlLUF1ZGl0ZWQnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXdoaXRlIG1zLTMgcHgtMyBweS0xIGZ3LXNlbWlib2xkIHJvdW5kZWQtMyBjdXJzb3ItcG9pbnRlciBiZy13YXJuaW5nXCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICAgICAgICAgIFJlLUF1ZGl0ZWRcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvdyBtdC0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBwLTMgZnctYm9sZCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0zIHRleHQtY2VudGVyIGhlYWRlci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICBBSSBWZXJpZmllZCBTdGVwcyA8c3Bhbj48c3ZnIG5nYlRvb2x0aXA9XCJOdW1iZXIgb2Ygc3RlcHMgZGV0ZWN0ZWQgYW5kIHZhbGlkYXRlZCBhdXRvbWF0aWNhbGx5IHdpdGhvdXQgbWFudWFsIHJldmlldy5cIiBwbGFjZW1lbnQ9XCJyaWdodFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzYyXzI5NzkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTk4NCAxMy4zMzMyVjkuOTk5ODRNOS45OTk4NCA2LjY2NjVIMTAuMDA4Mk0xOC4zMzMyIDkuOTk5ODRDMTguMzMzMiAxNC42MDIyIDE0LjYwMjIgMTguMzMzMiA5Ljk5OTg0IDE4LjMzMzJDNS4zOTc0NiAxOC4zMzMyIDEuNjY2NSAxNC42MDIyIDEuNjY2NSA5Ljk5OTg0QzEuNjY2NSA1LjM5NzQ2IDUuMzk3NDYgMS42NjY1IDkuOTk5ODQgMS42NjY1QzE0LjYwMjIgMS42NjY1IDE4LjMzMzIgNS4zOTc0NiAxOC4zMzMyIDkuOTk5ODRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM2Ml8yOTc5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHRleHQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3thdWRpdERldGFpbHM/LmNvdmVyZWRTdGVwc0FJP2F1ZGl0RGV0YWlscz8uY292ZXJlZFN0ZXBzQUk6MH19L3t7YXVkaXREZXRhaWxzPy50b3RhbFN0ZXBzID8gYXVkaXREZXRhaWxzPy50b3RhbFN0ZXBzOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMyBmdy1ib2xkIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgdGV4dC1jZW50ZXIgaGVhZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIEh1bWFuIFZlcmlmaWVkIFN0ZXBzIDxzcGFuPjxzdmcgbmdiVG9vbHRpcD1cIk51bWJlciBvZiBzdGVwcyB0aGF0IHJlcXVpcmVkIGh1bWFuIHZhbGlkYXRpb24gdG8gZW5zdXJlIGNvbXBsaWFuY2UgYW5kIGFjY3VyYWN5LlwiIHBsYWNlbWVudD1cInJpZ2h0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM2Ml8yOTc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTk5ODQgMTMuMzMzMlY5Ljk5OTg0TTkuOTk5ODQgNi42NjY1SDEwLjAwODJNMTguMzMzMiA5Ljk5OTg0QzE4LjMzMzIgMTQuNjAyMiAxNC42MDIyIDE4LjMzMzIgOS45OTk4NCAxOC4zMzMyQzUuMzk3NDYgMTguMzMzMiAxLjY2NjUgMTQuNjAyMiAxLjY2NjUgOS45OTk4NEMxLjY2NjUgNS4zOTc0NiA1LjM5NzQ2IDEuNjY2NSA5Ljk5OTg0IDEuNjY2NUMxNC42MDIyIDEuNjY2NSAxOC4zMzMyIDUuMzk3NDYgMTguMzMzMiA5Ljk5OTg0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zNjJfMjk3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNSB0ZXh0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7YXVkaXREZXRhaWxzPy5hdWRpdGVkU3RlcHM/YXVkaXREZXRhaWxzPy5hdWRpdGVkU3RlcHM6MH19L3t7YXVkaXREZXRhaWxzPy50b3RhbFN0ZXBzID8gYXVkaXREZXRhaWxzPy50b3RhbFN0ZXBzOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMyBmdy1ib2xkIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgaGVhZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIEFJIENvbXBsaWFuY2UgU2NvcmUgPHNwYW4+PHN2ZyBuZ2JUb29sdGlwPVwiTWVhc3VyZXMgdGhlIHBlcmNlbnRhZ2Ugb2Ygc3RlcHMgQUkgZmxhZ2dlZCBhcyBjb21wbGlhbnQgd2l0aG91dCBodW1hbiBpbnRlcnZlbnRpb24uXCIgcGxhY2VtZW50PVwibGVmdFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zNjJfMjk3OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5OTg0IDEzLjMzMzJWOS45OTk4NE05Ljk5OTg0IDYuNjY2NUgxMC4wMDgyTTE4LjMzMzIgOS45OTk4NEMxOC4zMzMyIDE0LjYwMjIgMTQuNjAyMiAxOC4zMzMyIDkuOTk5ODQgMTguMzMzMkM1LjM5NzQ2IDE4LjMzMzIgMS42NjY1IDE0LjYwMjIgMS42NjY1IDkuOTk5ODRDMS42NjY1IDUuMzk3NDYgNS4zOTc0NiAxLjY2NjUgOS45OTk4NCAxLjY2NjVDMTQuNjAyMiAxLjY2NjUgMTguMzMzMiA1LjM5NzQ2IDE4LjMzMzIgOS45OTk4NFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzYyXzI5NzlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTUgdGV4dC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2F1ZGl0RGV0YWlscz8uY29tcGxpYW5jZVNjb3JlID9hdWRpdERldGFpbHM/LmNvbXBsaWFuY2VTY29yZSA6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMyBmdy1ib2xkIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgaGVhZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIEFJIFRydXN0IFNjb3JlIDxzcGFuPjxzdmcgbmdiVG9vbHRpcD1cIlRoaXMgc2NvcmUgcmVmbGVjdHMgaG93IG9mdGVuIEFJIHByZWRpY3Rpb25zIHdlcmUgYWNjZXB0ZWQgd2l0aG91dCBtYW51YWwgb3ZlcnJpZGVzLlwiIHBsYWNlbWVudD1cImxlZnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzYyXzI5NzkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTk4NCAxMy4zMzMyVjkuOTk5ODRNOS45OTk4NCA2LjY2NjVIMTAuMDA4Mk0xOC4zMzMyIDkuOTk5ODRDMTguMzMzMiAxNC42MDIyIDE0LjYwMjIgMTguMzMzMiA5Ljk5OTg0IDE4LjMzMzJDNS4zOTc0NiAxOC4zMzMyIDEuNjY2NSAxNC42MDIyIDEuNjY2NSA5Ljk5OTg0QzEuNjY2NSA1LjM5NzQ2IDUuMzk3NDYgMS42NjY1IDkuOTk5ODQgMS42NjY1QzE0LjYwMjIgMS42NjY1IDE4LjMzMzIgNS4zOTc0NiAxOC4zMzMyIDkuOTk5ODRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM2Ml8yOTc5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHRleHQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3thdWRpdERldGFpbHM/LnRydXN0U2NvcmUgPyBhdWRpdERldGFpbHM/LnRydXN0U2NvcmU6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJleWVUZXN0VHlwZSA9PT0nZmFrZScgPyAnY29sLW1kLTEyJyA6ICdjb2wtbWQtNidcIiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC01MDBweCBweC01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBwLTAgYm9yZGVyLTBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZSBtLTAgZnctYm9sZGVyIGJnLW5vbmVcIj5QcmV2aWV3IEV5ZSBUZXN0PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweC0wIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmlkZW8tcG9zaXRpb24gdy0xMDBcIj5cclxuIDx2aWRlbyBjbGFzcz1cInctMTAwIHJvdW5kZWQtMyBoLWF1dG9cIiBjb250cm9sc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImF1ZGl0RGV0YWlscz8uZmlsZVBhdGhcIj48L3ZpZGVvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZXllVGVzdFR5cGUgIT09J2Zha2UnXCIgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtNTAwcHggcHgtNSBvdmVyZmxvdy1zY3JvbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG1iLTMgcC0wIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUgbS0wIGZ3LWJvbGRlciBiZy1ub25lXCI+U3RlcC13aXNlIEJyZWFrZG93bjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggc3ViLXRpdGxlIG10LTJcIiAqbmdJZj1cImF1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5hdWRpdGVkQnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiPiA8c3BhbiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uc3Bva2VuTGFuZ3VhZ2VcIj4gPHNwYW4gKm5nSWY9XCIhdGFrZUF1ZGl0XCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1pbmZvIG10LTAgbWUtMlwiPkxhbmd1YWdlIFNwb2tlbjoge3thdWRpdERldGFpbHM/LnNwb2tlbkxhbmd1YWdlfX08L3NwYW4+PC9zcGFuPjwvc3Bhbj4gIDxzcGFuIGNsYXNzPVwibXQtMVwiPlJlY2VudGx5IEF1ZGl0ZWQgQnkgOiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtdC0xXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzcgMTRWMTIuNjY2N0MxMy4zMzM3IDExLjk1OTQgMTMuMDUyNyAxMS4yODExIDEyLjU1MjYgMTAuNzgxQzEyLjA1MjUgMTAuMjgxIDExLjM3NDIgMTAgMTAuNjY3IDEwSDUuMzMzNjZDNC42MjY0MSAxMCAzLjk0ODE0IDEwLjI4MSAzLjQ0ODA0IDEwLjc4MUMyLjk0Nzk0IDExLjI4MTEgMi42NjY5OSAxMS45NTk0IDIuNjY2OTkgMTIuNjY2N1YxNE0xMC42NjcgNC42NjY2N0MxMC42NjcgNi4xMzk0MyA5LjQ3MzA4IDcuMzMzMzMgOC4wMDAzMyA3LjMzMzMzQzYuNTI3NTcgNy4zMzMzMyA1LjMzMzY2IDYuMTM5NDMgNS4zMzM2NiA0LjY2NjY3QzUuMzMzNjYgMy4xOTM5MSA2LjUyNzU3IDIgOC4wMDAzMyAyQzkuNDczMDggMiAxMC42NjcgMy4xOTM5MSAxMC42NjcgNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3BhbiA+e3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8uYXVkaXRlZEJ5fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtdC0xXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTUyXzI5NDMxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTUyXzI5NDMxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+e3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8uY29tcGxldGlvblRpbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8udGltZVpvbmV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YWtlQXVkaXQgJiYgY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZSdcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmQgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic3Bva2VuTGFuZ3VhZ2VcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkIGRpc2FibGVkID5MYW5ndWFnZSBTcG9rZW4gPHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj4qPC9zcGFuPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkVuZ2xpc2hcIj5FbmdsaXNoPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiSGluZGlcIj5IaW5kaTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ0F1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ1lldC10by1BdWRpdCcgJiYgIXRha2VBdWRpdFwiIChjbGljayk9XCJzdGFydEF1ZGl0KCdhdWRpdCcpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTIgZnctc2VtaWJvbGQgcm91bmRlZC0yIGN1cnNvci1wb2ludGVyIGJnLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIFN0YXJ0IEF1ZGl0XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIlsnQXVkaXRlZCcsJ1JlLUF1ZGl0JywnWWV0LXRvLUF1ZGl0J10uaW5jbHVkZXMoYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cykmJmF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnICYmICF0YWtlQXVkaXR8fGF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnQXVkaXRlZCcgfHxhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ1JlLUF1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ1JlLUF1ZGl0ZWQnJiYgIXRha2VBdWRpdCBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdGFydEF1ZGl0KCdSZS1BdWRpdCcpXCIgY2xhc3M9XCJidG4gYnRuLXNtIHB5LTIgYnRuLXdhcm5pbmdcIj5SZS1BdWRpdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRha2VBdWRpdFwiIGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWNhbmNlbFwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbXMtMiBidG4tc20gYnRuLXN1Y2Nlc3NcIiAgW2Rpc2FibGVkXT1cImRpc2FibGVjYW5jZWxcIiAoY2xpY2spPVwib25zdWJtaXQoKVwiPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXQtMSBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXRha2VBdWRpdCAmJiBzdGVwV2lzZVByb2Nlc3M/Lmxlbmd0aFwiIGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBib3JkZXIgYm9yZGVyLTEgcm91bmRlZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1hbGlnbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZXAtYnktc3RlcCBQcm9jZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1hbGlnbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWRpY3RlZCBUcmFuc2NyaXB0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUkgVmVyaWZpZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIdW1hbiBBdWRpdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhc29uIGZvciBFcnJvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1hbGlnbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGljZWQgVGltZSBSYW5nZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc3RlcFdpc2VQcm9jZXNzO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ3LTQwcHggaC00MHB4IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtY2VudGVyIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgcm91bmRlZC01XCIgW3NyY109XCJkYXRhPy5pbWFnZVVybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLnByb2Nlc3NOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeTEgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJkYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0ID8gdG9vbHRpcENvbnRlbnQgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9J2JvdHRvbSc+e3tkYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0P2RhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQ6XCJOL0FcIn19PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS10b29sdGlwLWNvbnRlbnQgdG9vbHRpcC1jb250ZW50IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy01MDBweFwiPnt7ZGF0YT8ucHJlZGljdGVkVHJhbnNjcmlwdD9kYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0OlwiTi9BXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLkFJU3RhdHVzID8gJ2JhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDogJ2JhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlcidcIj57e2RhdGEuQUlTdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3Bhc3MnIDogJ2ZhaWwnfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhPy5hdWRpdGVkU3RhdHVzID09PSB0cnVlID8gJ2JhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDogKGRhdGE/LmF1ZGl0ZWRTdGF0dXMgPT09IGZhbHNlID8gJ2JhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlcicgOiAnJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YT8uYXVkaXRlZFN0YXR1cyA9PT0gdHJ1ZSA/ICdwYXNzJyA6IChkYXRhPy5hdWRpdGVkU3RhdHVzID09PSBmYWxzZSA/ICdmYWlsJyA6ICdOL0EnKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJkYXRhLkFJU3RhdHVzICE9PSBkYXRhLmF1ZGl0ZWRTdGF0dXMgfHwgZGF0YS5hdWRpdGVkU3RhdHVzID09PSBudWxsIHx8IGRhdGEuYXVkaXRlZFN0YXR1cyA9PT0gdW5kZWZpbmVkIHx8IGRhdGEuYXVkaXRlZFN0YXR1cyA9PT0gJyc7IGVsc2UgRXF1YWxCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB7eyBkYXRhPy5yZWFzb24gfHwgJ04vQScgfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRhdGEucmVhc29uICE9PSdvdGhlcnMnXCI+e3tkYXRhLnJlYXNvbiB8fCAnTi9BJ319PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0YS5yZWFzb24gPT09J290aGVycydcIj57e2RhdGEub3RoZXJSZWFzb24gfHwgJ04vQSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjRXF1YWxCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5OL0E8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZGF0YT8uc3RhcnRUaW1lfX0gLSB7e2RhdGE/LmVuZFRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdGVwV2lzZVByb2Nlc3M/Lmxlbmd0aCAmJiB0YWtlQXVkaXQmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXM9PT0nWWV0LXRvLUF1ZGl0J3x8YXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cz09PSdJbi1Qcm9ncmVzcydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9jZXNzIG9mIHN0ZXBXaXNlUHJvY2VzczsgbGV0IGk9aW5kZXggO2xldCBsYXN0PWxhc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJvcmRlciBib3JkZXItMSByb3VuZGVkLTMgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYmctbGlnaHQtcHJpbWFyeSB0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZXAte3tpKzEgfCBudW1iZXJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYmctbGlnaHQtcHJpbWFyeSB0ZXh0LWFsaWduLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFJIFZlcmlmaWVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5IHRleHQtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSHVtYW4gQXVkaXRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidy0yMDBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0XCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInctNDBweCBoLTQwcHggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgdGV4dC1jZW50ZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgcm91bmRlZC01XCIgW3NyY109XCJwcm9jZXNzLmltYWdlVXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvY2Vzcy5wcm9jZXNzTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuICpuZ0lmPVwicHJvY2Vzcy5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LWNhcGl0YWxpemVcIj5QYXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhcHJvY2Vzcy5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtY2FwaXRhbGl6ZVwiPkZhaWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0SHVtYW5WZXJpZmllZChpLHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicHJvY2Vzcz8uYXVkaXRlZFN0YXR1cyA/ICd0ZXh0LXdoaXRlIGJ0bi1zdWNjZXNzJyA6ICd0ZXh0LXN1Y2Nlc3MgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zdWNjZXNzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSAgcm91bmRlZC01XCI+PHNwYW4+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTQuMTY2NyA0TDYuODMzMzMgMTEuMzMzM0wzLjUgOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzID8gJ3doaXRlJyA6ICcjMTdDNjUzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPVwibXMtMlwiPlBhc3M8L3NwYW4+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInNlbGVjdEh1bWFuVmVyaWZpZWQoaSxmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzPT09ZmFsc2UgPyAndGV4dC13aGl0ZSBiZy1kYW5nZXInIDogJ3RleHQtZGFuZ2VyIGJnLXdoaXRlIGJvcmRlciBib3JkZXItZGFuZ2VyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMyBweC01IHB5LTIgZnctc2VtaWJvbGQgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIHJvdW5kZWQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi42NjY1IDRMNC42NjY1IDEyTTQuNjY2NSA0TDEyLjY2NjUgMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwicHJvY2Vzcz8uYXVkaXRlZFN0YXR1cz09PWZhbHNlID8gJ3doaXRlJyA6ICcjRjgyODVBJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMjVcIiBzdHJva2UtbGluZWNhcD1cInJvd3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RmFpbDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScgJiYgcHJvY2Vzcz8ucHJlZGljdGVkVHJhbnNjcmlwdFwiIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVkaWN0ZWQgVHJhbnNjcmlwdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbC1zbS0xMiBwLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJwcm9jZXNzPy5wcmVkaWN0ZWRUcmFuc2NyaXB0ID8gdG9vbHRpcENvbnRlbnQgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD0nYm90dG9tJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9jZXNzPy5wcmVkaWN0ZWRUcmFuc2NyaXB0fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWluLXctNTAwcHhcIj57e3Byb2Nlc3M/LnByZWRpY3RlZFRyYW5zY3JpcHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBwcm9jZXNzPy5hdWRpdGVkU3RhdHVzICE9PSAnJyAmJiBwcm9jZXNzPy5hdWRpdGVkU3RhdHVzICE9PSBwcm9jZXNzPy5BSVN0YXR1c1wiIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFzb24gJiBUaW1lIFN0YW1wXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29sLXNtLTEyIHAtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKGksJ3JlYXNvbicpXCIgY2xhc3M9XCJjdXN0b20tZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb2Nlc3M/LnJlYXNvbiA/IHByb2Nlc3M/LnJlYXNvbiA6ICdTZWxlY3QgUmVhc29uJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwibGFzdCA/ICdkcm9wZG93bi1jb250ZW50MScgOiAnZHJvcGRvd24tY29udGVudCdcIiAqbmdJZj1cImRyb3Bkb3duT3BlbltpXT8ucmVhc29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNaW51dGVzIExpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gbXktMiBtaW51dGVzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRyb3Bkb3duTGlzdFwiIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwicHJvY2Vzcz8ucmVhc29uID09PSBpdGVtPy5rZXkgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FtZXJhIHB4LTUgaXRlbXMgZnctc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgcHktMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UmVhc29uKGksIGl0ZW0/LmtleSwgJ3JlYXNvbicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8uaXRlbSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ3VzdG9tIElucHV0IGZvciBcIk90aGVyc1wiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9jZXNzPy5yZWFzb24gPT09ICdvdGhlcnMnXCIgY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvY2Vzcy5vdGhlclJlYXNvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHlvdXIgcmVhc29uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVEcm9wZG93bihpLCdzdGFydFRpbWUnKVwiIGNsYXNzPVwiY3VzdG9tLWRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgZnctc2VtaWJvbGQgYmctd2hpdGUgcHgtMlwiPlN0YXJ0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWxlY3RcIj57e3Byb2Nlc3M/LnN0YXJ0VGltZSA/IHByb2Nlc3M/LnN0YXJ0VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6J01NOlNTJ319PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwibGFzdCA/ICdkcm9wZG93bi1jb250ZW50MScgOiAnZHJvcGRvd24tY29udGVudCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRyb3Bkb3duT3BlbltpXT8uc3RhcnRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1pbnV0ZXMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBtaW51dGVzLXNjcm9sbCBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtaW4gb2YgbWludXRlc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TWludXRlKGksbWluLCdzdGFydFRpbWUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJtaW4gPT09IHNlbGVjdGVkTWludXRlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtaW4gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZWNvbmRzIExpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsLXNlY3Rpb24gc2Vjb25kcy1zY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWMgb2Ygc2Vjb25kc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0U2Vjb25kKGksc2VjLCdzdGFydFRpbWUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWMgPT09IHNlbGVjdGVkU2Vjb25kc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWMgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVEcm9wZG93bihpLCdlbmRUaW1lJylcIiBjbGFzcz1cImN1c3RvbS1kcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGZ3LXNlbWlib2xkIGJnLXdoaXRlIHB4LTJcIj5FbmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlbGVjdFwiPjxzcGFuPnt7cHJvY2Vzcy5lbmRUaW1lID8gcHJvY2Vzcy5lbmRUaW1lIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNTTpTUyd9fTwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJsYXN0ID8gJ2Ryb3Bkb3duLWNvbnRlbnQxJyA6ICdkcm9wZG93bi1jb250ZW50J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuW2ldPy5lbmRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1pbnV0ZXMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBtaW51dGVzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1pbiBvZiBtaW51dGVzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm1pbiA9PT0gc2VsZWN0ZWRNaW51dGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0U2Vjb25kc0Zyb21UaW1lKG1pbiArICc6JyArIHNlbGVjdGVkU2Vjb25kcykgPD0gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFNlY29uZHNGcm9tVGltZShtaW4gKyAnOicgKyBzZWxlY3RlZFNlY29uZHMpID4gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlbGVjdE1pbnV0ZShpLG1pbiwnZW5kVGltZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbWluIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZWNvbmRzIExpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsLXNlY3Rpb24gc2Vjb25kcy1zY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWMgb2Ygc2Vjb25kc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWMgPT09IHNlbGVjdGVkU2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImdldFNlY29uZHNGcm9tVGltZShzZWxlY3RlZE1pbnV0ZXMgKyAnOicgKyBzZWMpIDw9IGdldFNlY29uZHNGcm9tVGltZShwcm9jZXNzLnN0YXJ0VGltZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRTZWNvbmRzRnJvbVRpbWUoc2VsZWN0ZWRNaW51dGVzICsgJzonICsgc2VjKSA+IGdldFNlY29uZHNGcm9tVGltZShwcm9jZXNzLnN0YXJ0VGltZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWxlY3RTZWNvbmQoaSxzZWMsJ2VuZFRpbWUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlYyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc3RlcFdpc2VQcm9jZXNzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKHRhYmxlTG9hZGluZyB8IGFzeW5jKSA9PT0gJ2xvYWRpbmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIih0YWJsZUxvYWRpbmcgfCBhc3luYykgPT09ICdsb2FkZWQnXCIgY2xhc3M9XCJyb3cgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9EYXRhXCIgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXktOCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhlIHRlc3Q8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXQtMyBwLTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPkhpc3Rvcnk8L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIHB4LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBib3JkZXIgYm9yZGVyLTEgcm91bmRlZC0zXCIgKm5nSWY9XCJoaXN0b3J5RGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BdWRpdGVkIEJ5PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkF1ZGl0ZWQgRGF0ZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaW1lIFN0YW1wPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlZpZXcgTG9nczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGhpc3RvcnlEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0udXNlck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0uRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aXRlbS5UaW1lfX0gSVNUPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJ2aWV3SGlzdG9yeU1vZGVsKGl0ZW0pXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpc3RvcnlEYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihoaXN0b3J5dGFibGVMb2FkaW5nIHwgYXN5bmMpID09PSAnbG9hZGluZydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGhpc3Rvcnl0YWJsZUxvYWRpbmcgfCBhc3luYykgPT09ICdsb2FkZWQnXCIgY2xhc3M9XCJyb3cgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXktOCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhlIHRlc3Q8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3ZpZXdIaXN0b3J5IGxldC1tb2RlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTUgdHM3MDBweCBzY3JvbGxcIj5cclxuXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMCBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTIgZC1mbGV4XCI+XHJcbjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjggMjJWMjhMMzIgMzBNMzggMjhDMzggMzMuNTIyOCAzMy41MjI4IDM4IDI4IDM4QzIyLjQ3NzIgMzggMTggMzMuNTIyOCAxOCAyOEMxOCAyMi40NzcyIDIyLjQ3NzIgMTggMjggMThDMzMuNTIyOCAxOCAzOCAyMi40NzcyIDM4IDI4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTMgcHQtMiBmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPkF1ZGl0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEhpc3Rvcnk8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiICpuZ0lmPVwiaGlzdG9yeURhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlN0ZXAtYnktU3RlcCBQcm9jZXNzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdGF0dXMgY2hhbmdlZCBmcm9tPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Ob3RlZCBUaW1lIFJhbmdlPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5SZWFzb24gZm9yIEVycm9yPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZpZXdIaXN0b3J5RGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aXRlbS5wcm9jZXNzTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uQUlTdGF0dXNcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbWUtMlwiPlBhc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIG1lLTJcIj5GYWlsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCI4XCIgdmlld0JveD1cIjAgMCAzMSA4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzAuMzUzNiA0LjM1MzU1QzMwLjU0ODggNC4xNTgyOSAzMC41NDg4IDMuODQxNzEgMzAuMzUzNiAzLjY0NjQ1TDI3LjE3MTYgMC40NjQ0NjZDMjYuOTc2MyAwLjI2OTIwNCAyNi42NTk3IDAuMjY5MjA0IDI2LjQ2NDUgMC40NjQ0NjZDMjYuMjY5MiAwLjY1OTcyOCAyNi4yNjkyIDAuOTc2MzExIDI2LjQ2NDUgMS4xNzE1N0wyOS4yOTI5IDRMMjYuNDY0NSA2LjgyODQzQzI2LjI2OTIgNy4wMjM2OSAyNi4yNjkyIDcuMzQwMjcgMjYuNDY0NSA3LjUzNTUzQzI2LjY1OTcgNy43MzA4IDI2Ljk3NjMgNy43MzA4IDI3LjE3MTYgNy41MzU1M0wzMC4zNTM2IDQuMzUzNTVaTTAgNC41SDMwVjMuNUgwVjQuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5hdWRpdGVkU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG1zLTJcIj5QYXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uYXVkaXRlZFN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIG1zLTJcIj5GYWlsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCA+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCIgKm5nSWY9XCJpdGVtLnN0YXJ0VGltZVwiPk5vdGVkIFRpbWUgUmFuZ2UgOiA8c3BhbiBjbGFzcz1cInRleHQtZGFyazFcIj57e2l0ZW0uc3RhcnRUaW1lID8gaXRlbS5zdGFydFRpbWU6Jy0tJ319IC0ge3tpdGVtLmVuZFRpbWV9fTwvc3Bhbj48L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImVuZ2FnZS10ZXh0XCI+PHNwYW4gKm5nSWY9XCJpdGVtLnJlYXNvbiAhPT0nb3RoZXJzJ1wiPnt7aXRlbS5yZWFzb259fTwvc3Bhbj48c3BhbiAqbmdJZj1cIml0ZW0ucmVhc29uID09PSdvdGhlcnMnXCI+e3tpdGVtLm90aGVyUmVhc29ufX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdmlld0NhbmNlbCBsZXQtbW9kZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBncm91cC1kZWxldGUgcHktMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMCBkLWZsZXggZmxleC1zdGFydCBmbGV4LWNvbHVtbiBwLTkgXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC03NXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTYgNTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0ZFRjBDN1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRkZGQUVCXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNy45OTg4IDI0VjI4TTI3Ljk5ODggMzJIMjguMDA4OE0yNi4yODg4IDE4Ljg2TDE3LjgxODggMzNDMTcuNjQ0MiAzMy4zMDI0IDE3LjU1MTggMzMuNjQ1MyAxNy41NTA4IDMzLjk5NDVDMTcuNTQ5OCAzNC4zNDM3IDE3LjY0MDMgMzQuNjg3MSAxNy44MTMyIDM0Ljk5MDVDMTcuOTg2MiAzNS4yOTM5IDE4LjIzNTUgMzUuNTQ2NyAxOC41MzY1IDM1LjcyMzhDMTguODM3NSAzNS45MDA5IDE5LjE3OTYgMzUuOTk2MSAxOS41Mjg4IDM2SDM2LjQ2ODhDMzYuODE4IDM1Ljk5NjEgMzcuMTYwMSAzNS45MDA5IDM3LjQ2MTEgMzUuNzIzOEMzNy43NjIxIDM1LjU0NjcgMzguMDExNCAzNS4yOTM5IDM4LjE4NDQgMzQuOTkwNUMzOC4zNTczIDM0LjY4NzEgMzguNDQ3OCAzNC4zNDM3IDM4LjQ0NjggMzMuOTk0NUMzOC40NDU4IDMzLjY0NTMgMzguMzUzNCAzMy4zMDI0IDM4LjE3ODggMzNMMjkuNzA4OCAxOC44NkMyOS41MzA1IDE4LjU2NjEgMjkuMjc5NSAxOC4zMjMxIDI4Ljk4IDE4LjE1NDRDMjguNjgwNSAxNy45ODU4IDI4LjM0MjUgMTcuODk3MiAyNy45OTg4IDE3Ljg5NzJDMjcuNjU1MSAxNy44OTcyIDI3LjMxNzEgMTcuOTg1OCAyNy4wMTc2IDE4LjE1NDRDMjYuNzE4MSAxOC4zMjMxIDI2LjQ2NzEgMTguNTY2MSAyNi4yODg4IDE4Ljg2WlwiIHN0cm9rZT1cIiNEQzY4MDNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+QXJlIHlvdSBzdXJlPzwvYT5cclxuICAgICAgICAgICAgPHNwYW4gIGNsYXNzPVwic3ViLXRpdGxlIGZ3LW5vcm1hbCBtdC0yXCI+V291bGQgeW91IGxpa2UgdG8gY2FuY2VsIHRoaXM/PC9zcGFuPlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC01IHctMTAwXCI+XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHJvbGU9XCJncm91cFwiIGNsYXNzPVwiZC1mbGV4IG10LTMgbWItMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cIk9uQ2FuY2VsKClcIj5ObzwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwiYWxlcnQtdG9hc3RcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHctMTAwIG1zLTNcIiAoY2xpY2spPVwib25ZZXMoKVwiPlllczwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48L3NlY3Rpb24+Il19