dotnetreport-ng 6.2.0 → 6.2.1-beta-v2

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.
@@ -1,5 +1,7 @@
1
1
  import { Component, Inject } from '@angular/core';
2
- import { BASE_URL_TOKEN } from './../dotnetreport-lib.di';
2
+ import { BASE_URL_TOKEN } from '../dotnetreport-lib.di';
3
+ import { RouterOutlet } from '@angular/router';
4
+ import { CommonModule } from '@angular/common';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/platform-browser";
5
7
  import * as i2 from "@angular/common/http";
@@ -12,7 +14,7 @@ export class DotnetdashboardComponent {
12
14
  route;
13
15
  baseServiceUrl;
14
16
  reportTemplates;
15
- queryParams;
17
+ queryParams = {};
16
18
  constructor(injector, sanitizer, cdref, baseUrl, http, route) {
17
19
  this.sanitizer = sanitizer;
18
20
  this.cdref = cdref;
@@ -43,6 +45,7 @@ export class DotnetdashboardComponent {
43
45
  reportsData.forEach((r) => {
44
46
  reports.push({ reportSql: r.ReportSql, reportId: r.ReportId, reportFilter: r.ReportFilter, connectKey: r.ConnectKey, x: r.X, y: r.Y, width: r.Width, height: r.Height });
45
47
  });
48
+ console.log(reports);
46
49
  this.http.get(getUsersAndRolesUrl).subscribe((response) => {
47
50
  let result = response;
48
51
  let vm = new dashboardViewModel({
@@ -3233,14 +3236,14 @@ export class DotnetdashboardComponent {
3233
3236
  }, 1000);
3234
3237
  });
3235
3238
  }
3236
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DotnetdashboardComponent, deps: [{ token: i0.Injector }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: BASE_URL_TOKEN }, { token: i2.HttpClient }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
3237
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DotnetdashboardComponent, selector: "app-dotnetdashboard", ngImport: i0, template: "<div id=\"dot-net-report\" class=\"body-content\">\r\n\r\n<div data-bind=\"template: {name: 'admin-mode-template'}, visible: allowAdmin\" style=\"display: none;\"></div>\r\n\r\n<div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\r\n <ul class=\"nav nav-tabs flex-grow-1\" data-bind=\"foreach: dashboards\">\r\n <li class=\"nav-item\">\r\n <h2>\r\n <a class=\"nav-link\" href=\"#\" data-bind=\"text: name, click: function() { $parent.selectDashboard(id);}, css: { 'active': $parent.currentDashboard().id === id, 'selected-tab': $parent.currentDashboard().id === id }\"></a>\r\n </h2>\r\n </li>\r\n </ul>\r\n <div class=\"d-flex flex-wrap align-items-end gap-2 mt-2 mt-md-0 border-bottom\" style=\"padding-top: 21px;\"> \r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-pencil-square\"></i>\r\n <span>Manage</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: function() { newReport(true) }, visible: currentDashboard().canManage || adminMode()\">\r\n <span class=\"fa fa-plus\"></span> Add New Report\r\n </a>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(false) }\">\r\n <span class=\"fa fa-pencil\"></span> Add using Standard Designer\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(true) }\">\r\n <span class=\"fa fa-bolt\"></span> Add using Smarter Designer\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: editDashboard, visible: currentDashboard().canManage || adminMode()\">\r\n <i class=\"fa fa-pencil\"></i>\r\n <span>Edit Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: newDashboard\">\r\n <i class=\"fa fa-dashboard\"></i>\r\n <span>Add a New Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bind=\"click: RefreshAllReports\">\r\n <i class=\"fa fa-refresh\"></i>\r\n <span>Refresh</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-download\"></i>\r\n <span>Export</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfReportsWithPageOption() : ExportAllPdfReports('',''); }, hidden: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfAltReportsWithPageOption() : ExportAllPdfAltReports('',''); }, visible: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelReports\"><i class=\"fa fa-file-excel-o\"></i> Excel</a></li>\r\n <li data-bind=\"visible: canDrilldown\"><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelExpandedReports\"><i class=\"fa fa-file-excel-o\"></i> Excel (Expanded)</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllWordReportsWithPageOption() : ExportAllWordReports('','');}\"><i class=\"fa fa-file-word-o\"></i> Word</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: PrintDashboard\"><i class=\"fa fa-print\"></i> Print</a></li>\r\n </ul>\r\n </div>\r\n <div data-bind=\"if: currentDashboard().canManage || adminMode()\">\r\n <div class=\"btn btn-light btn-sm d-flex align-items-center gap-2\">\r\n <div class=\"form-check form-switch m-0\">\r\n <input class=\"form-check-input\" id=\"arrange-mode\" type=\"checkbox\" data-bind=\"checked: arrangeDashboard\">\r\n </div>\r\n <span>Arrange</span>\r\n </div>\r\n </div>\r\n <div class=\"btn-group btn-group-sm\" role=\"group\">\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomOutDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom Out\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: resetZoomDashboard\" data-bs-toggle=\"tooltip\" title=\"Reset Zoom\">\r\n <i class=\"fa fa-compress\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomInDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom In\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"d-flex justify-content-between\">\r\n <div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div data-bind=\"with: currentDashboard\">\r\n <p data-bind=\"text: description\"></p>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"padded-top\"></div>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div data-bind=\"template: {name: 'fly-filter-template'}\"></div>\r\n <br />\r\n </div>\r\n</div>\r\n\r\n<div class=\"centered\" style=\"display: none;\" data-bind=\"visible: dashboards().length == 0 \">\r\n No Dashboards yet. Click below to Start<br />\r\n <button class=\"btn btn-lg btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\"><i class=\"fa fa-dashboard\"></i> Create a New Dashboard</button>\r\n</div>\r\n\r\n<div class=\"modal modal-fullscreen\" id=\"add-dashboard-modal\" tabindex=\"-1\" aria-labelledby=\"add-dashboard-modal-label\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" role=\"document\">\r\n <div class=\"modal-content\" data-bind=\"with: dashboard\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\" id=\"add-dashboard-modal-label\"><span data-bind=\"text: Id() ? 'Edit' : 'Add'\"></span> Dashboard</h4>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" data-bind=\"click: $root.onModalCloseClicked\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Name</label>\r\n <div class=\"col-md-6\">\r\n <input class=\"form-control\" data-val=\"true\" data-val-required=\"Dashboard Name is required.\" type=\"text\" data-bind=\"value: Name\" placeholder=\"Dashboard Name, e.g., Sales, Accounting\" id=\"add-dash-name\" required />\r\n </div>\r\n </div>\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Description</label>\r\n <div class=\"col-md-6\">\r\n <textarea class=\"form-control\" data-bind=\"value: Description\" placeholder=\"Optional Description for the Dashboard\"></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row align-items-center mb-3\">\r\n <div class=\"col-md-6\">\r\n <h5><i class=\"fa fa-paperclip\"></i> Choose Reports for the Dashboard</h5>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"Search Report by Name or Description...\" data-bind=\"textInput: $parent.searchReports\" />\r\n </div>\r\n </div>\r\n\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length==0\">\r\n <div class=\"card card-body\">\r\n No reports found matching your search.\r\n </div>\r\n </div>\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length>0\">\r\n <ul class=\"list-group\" data-bind=\"foreach: $parent.reportsInSearch\">\r\n <li class=\"list-group-item\">\r\n <div class=\"checkbox\">\r\n <label class=\"list-group-item-heading\">\r\n <input type=\"checkbox\" data-bind=\"checked: selected\">\r\n <span class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></span>\r\n <span data-bind=\"highlightedText: { text: reportName, highlight: $parent.searchReports, css: 'highlight' }\"></span>\r\n </label>\r\n </div>\r\n <p class=\"list-group-item-text small\" data-bind=\"text: reportDescription\"></p>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div data-bind=\"if: !$parent.searchReports()\" class=\"list-group mb-3\">\r\n <div data-bind=\"foreach: $parent.reportsAndFolders\">\r\n <div class=\"list-group-item\">\r\n <a role=\"button\" class=\"d-flex justify-content-between align-items-center\" data-bs-toggle=\"collapse\" data-bind=\"attr: {href: '#folder-' + folderId }\" style=\"text-decoration: none; font-weight: normal;\">\r\n <div class=\"d-flex align-items-center\">\r\n <i class=\"fa fa-folder me-2 text-secondary\"></i>\r\n <span data-bind=\"text: folder\"></span>\r\n </div>\r\n <i class=\"fa fa-chevron-down\"></i>\r\n </a>\r\n <div class=\"collapse mt-2\" data-bind=\"attr: {id: 'folder-' + folderId }\">\r\n <ul class=\"list-group list-group-flush\" data-bind=\"foreach: reports\">\r\n <li class=\"list-group-item\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" data-bind=\"checked: selected\">\r\n <label class=\"form-check-label\">\r\n <i class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></i>\r\n <span data-bind=\"text: reportName\"></span>\r\n </label>\r\n </div>\r\n <small class=\"text-muted\" data-bind=\"text: reportDescription\"></small>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card card-body mb-3\">\r\n <h5><i class=\"fa fa-hourglass\"></i>&nbsp;Choose Schedule</h5>\r\n <div data-bind=\"template: {name: 'report-schedule'}\"></div>\r\n </div>\r\n\r\n <div data-bind=\"visible: $parent.adminMode\" class=\"card card-body mb-3\">\r\n <div data-bind=\"template: {name: 'manage-access-template', data: manageAccess}\"></div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" data-bind=\"click: $root.deleteDashboard, visible: Id\">Delete Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-primary\" data-bind=\"click: $root.saveDashboard\">Save Dashboard</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div class=\"grid-stack\" data-bind=\"foreach: reports\" style=\"display: none;\">\r\n <div class=\"grid-stack-item\" data-bind=\"attr: {'gs-x': x, 'gs-y': y, 'gs-w': width, 'gs-h': height, 'gs-auto-position': true, 'gs-id': ReportID}\">\r\n <div class=\"card\" data-bind=\"attr: {class: 'card ' + panelStyle + ' grid-stack-item-content'}, css: { expanded: isExpanded }, style: { border: noDashboardBorders() ? 'none' : '', 'box-shadow': noDashboardBorders() ? 'none' : '' }\" style=\"overflow-y: hidden;\">\r\n <div class=\"padded-div\" style=\"padding-bottom: 0; margin-bottom: 0;\">\r\n <div class=\"pull-left\">\r\n <button type=\"button\" class=\"btn\" data-bs-toggle=\"dropdown\" aria-haspopup=\"false\" aria-expanded=\"false\">\r\n <span class=\"fa fa-ellipsis-v\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu small\" style=\"z-index: 1001;\">\r\n <li data-bind=\"visible: FlyFilters().length > 0\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: toggleFlyFilters\">\r\n <span class=\"fa fa-filter\"></span> Filter\r\n </a>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-pencil\"></span> Edit\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: openReport\">\r\n <span class=\"fa fa-pencil\"></span> Edit Standard\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-bolt\"></span> Edit Smarter\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\" data-bind=\"visible: ReportType()!='Single'\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\">\r\n <span class=\"fa fa-download\"></span> Export\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcel\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: canDrilldown\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcelWithDrilldown\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel (Expanded)\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadPdfModel() } : function() { $parent.appSettings.useAltPdf ? downloadPdfAlt('','') : downloadPdf('','') }\">\r\n <span class=\"fa fa-file-pdf-o\"></span> PDF\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadWordModel()} : function() { downloadWord('',''); }\">\r\n <span class=\"fa fa-file-word-o\"></span> Word\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li data-bind=\"visible: ReportType()!='Single'\">\r\n <a class=\"dropdown-item\" data-bind=\"attr: {href: '/DotNetReport?linkedreport=true&noparent=true&reportId=' + ReportID() }\" target=\"_blank\">\r\n <span class=\"fa fa-folder-open\"></span> Open Report\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: CanEdit() && CanSaveReports()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span> Save\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: $parent.currentDashboard().canManage || $parent.adminMode()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { $parent.removeReportFromDashboard(ReportID()); }\">\r\n <span class=\"fa fa-close\"></span> Remove\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { RefreshReport(ReportID()); }\">\r\n <span class=\"fa fa-refresh\"></span> Refresh\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#sqlModal\" data-bind=\"visible: $parent.adminMode, click: getCode\">\r\n <span class=\"fa fa-code\"></span> Report Code\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n\r\n <h2 class=\"pull-left\" data-bind=\"text: ReportName\"></h2>\r\n <div class=\"pull-right\">\r\n <span data-bind=\"visible: isDirty\" class=\"text-warning small\" title=\"You have unsaved changes\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n </span>\r\n <a class=\"btn btn-link\" data-bind=\"visible: CanEdit() && CanSaveReports() && isDirty(), click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span>\r\n </a>\r\n <a class=\"btn btn-link\" data-bind=\"click: toggleExpand\"><span class=\"fa\" data-bind=\"css: {'fa-expand': !isExpanded(), 'fa-minus': isExpanded() }, visible: ReportType() != 'Single' && !noDashboardBorders()\"></span></a>\r\n </div>\r\n </div>\r\n <div data-bind=\"if: activeDesign()\">\r\n <div data-bind=\"template: 'report-designer-compact'\"></div>\r\n </div>\r\n <div class=\"card-body list-overflow-auto\" style=\"padding-top: 0; margin-top: 0;\">\r\n <div data-bind=\"if: ReportType()!='Single' && ReportType()!='Html' && CanEdit()\">\r\n <div data-bind=\"template: 'chart-settings', data: $data\"></div>\r\n </div>\r\n <p data-bind=\"html: ReportDescription, visible: ReportDescription\"></p>\r\n <div data-bind=\"template: {name: 'fly-filter-template'}, visible: showFlyFilters\"></div>\r\n <div data-bind=\"with: ReportResult\" class=\"small\">\r\n <div data-bind=\"visible: !ReportData()\">\r\n <div class=\"report-spinner\"></div>\r\n </div>\r\n <div data-bind=\"template: 'report-template', data: $data\"></div>\r\n </div>\r\n </div>\r\n <div class=\"form-inline\" data-bind=\"ifnot: noDashboardBorders\">\r\n <div class=\"small\" data-bind=\"with: pager\">\r\n <div class=\"form-group pull-left total-records\" data-bind=\"if: totalRecords()>1 && $parent.ReportType() != 'Single'\">\r\n <span data-bind=\"text: 'Total Records: ' + totalRecords()\"></span><br />\r\n </div>\r\n <div class=\"form-group pull-right\" data-bind=\"if: pages()>1 && $parent.ReportType() != 'Single'\">\r\n <div data-bind=\"template: 'pager-template', data: $data\"></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n<!-- Report Builder -->\r\n<div class=\"modal modal-fullscreen\" id=\"modal-reportbuilder\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" style=\"padding-right: 0px !important;\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-designer', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Field Options Modal -->\r\n<div class=\"modal\" id=\"fieldOptionsModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-field-options', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Link Edit Modal -->\r\n<div class=\"modal\" id=\"linkModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-link-edit', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"pdfOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"wordOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n\r\n<div class=\"modal\" id=\"wordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"pdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllWordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllWordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllPdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllPdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n\r\n<!-- Templates -->\r\n<div [innerHtml]=\"reportTemplates\"></div>\r\n<!-- Templates -->\r\n\r\n</div>", styles: [".report-chart{min-height:auto!important}.expanded{position:fixed!important;padding:0!important;margin:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:1050!important}\n"] });
3239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DotnetdashboardComponent, deps: [{ token: i0.Injector }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: BASE_URL_TOKEN }, { token: i2.HttpClient }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
3240
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DotnetdashboardComponent, isStandalone: true, selector: "app-dotnetdashboard", ngImport: i0, template: "<div id=\"dot-net-report\" class=\"body-content\">\r\n\r\n<div data-bind=\"template: {name: 'admin-mode-template'}, visible: allowAdmin\" style=\"display: none;\"></div>\r\n\r\n<div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\r\n <ul class=\"nav nav-tabs flex-grow-1\" data-bind=\"foreach: dashboards\">\r\n <li class=\"nav-item\">\r\n <h2>\r\n <a class=\"nav-link\" href=\"#\" data-bind=\"text: name, click: function() { $parent.selectDashboard(id);}, css: { 'active': $parent.currentDashboard().id === id, 'selected-tab': $parent.currentDashboard().id === id }\"></a>\r\n </h2>\r\n </li>\r\n </ul>\r\n <div class=\"d-flex flex-wrap align-items-end gap-2 mt-2 mt-md-0 border-bottom\" style=\"padding-top: 21px;\"> \r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-pencil-square\"></i>\r\n <span>Manage</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: function() { newReport(true) }, visible: currentDashboard().canManage || adminMode()\">\r\n <span class=\"fa fa-plus\"></span> Add New Report\r\n </a>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(false) }\">\r\n <span class=\"fa fa-pencil\"></span> Add using Standard Designer\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(true) }\">\r\n <span class=\"fa fa-bolt\"></span> Add using Smarter Designer\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: editDashboard, visible: currentDashboard().canManage || adminMode()\">\r\n <i class=\"fa fa-pencil\"></i>\r\n <span>Edit Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: newDashboard\">\r\n <i class=\"fa fa-dashboard\"></i>\r\n <span>Add a New Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bind=\"click: RefreshAllReports\">\r\n <i class=\"fa fa-refresh\"></i>\r\n <span>Refresh</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-download\"></i>\r\n <span>Export</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfReportsWithPageOption() : ExportAllPdfReports('',''); }, hidden: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfAltReportsWithPageOption() : ExportAllPdfAltReports('',''); }, visible: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelReports\"><i class=\"fa fa-file-excel-o\"></i> Excel</a></li>\r\n <li data-bind=\"visible: canDrilldown\"><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelExpandedReports\"><i class=\"fa fa-file-excel-o\"></i> Excel (Expanded)</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllWordReportsWithPageOption() : ExportAllWordReports('','');}\"><i class=\"fa fa-file-word-o\"></i> Word</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: PrintDashboard\"><i class=\"fa fa-print\"></i> Print</a></li>\r\n </ul>\r\n </div>\r\n <div data-bind=\"if: currentDashboard().canManage || adminMode()\">\r\n <div class=\"btn btn-light btn-sm d-flex align-items-center gap-2\">\r\n <div class=\"form-check form-switch m-0\">\r\n <input class=\"form-check-input\" id=\"arrange-mode\" type=\"checkbox\" data-bind=\"checked: arrangeDashboard\">\r\n </div>\r\n <span>Arrange</span>\r\n </div>\r\n </div>\r\n <div class=\"btn-group btn-group-sm\" role=\"group\">\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomOutDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom Out\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: resetZoomDashboard\" data-bs-toggle=\"tooltip\" title=\"Reset Zoom\">\r\n <i class=\"fa fa-compress\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomInDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom In\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"d-flex justify-content-between\">\r\n <div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div data-bind=\"with: currentDashboard\">\r\n <p data-bind=\"text: description\"></p>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"padded-top\"></div>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div data-bind=\"template: {name: 'fly-filter-template'}\"></div>\r\n <br />\r\n </div>\r\n</div>\r\n\r\n<div class=\"centered\" style=\"display: none;\" data-bind=\"visible: dashboards().length == 0 \">\r\n No Dashboards yet. Click below to Start<br />\r\n <button class=\"btn btn-lg btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\"><i class=\"fa fa-dashboard\"></i> Create a New Dashboard</button>\r\n</div>\r\n\r\n<div class=\"modal modal-fullscreen\" id=\"add-dashboard-modal\" tabindex=\"-1\" aria-labelledby=\"add-dashboard-modal-label\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" role=\"document\">\r\n <div class=\"modal-content\" data-bind=\"with: dashboard\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\" id=\"add-dashboard-modal-label\"><span data-bind=\"text: Id() ? 'Edit' : 'Add'\"></span> Dashboard</h4>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" data-bind=\"click: $root.onModalCloseClicked\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Name</label>\r\n <div class=\"col-md-6\">\r\n <input class=\"form-control\" data-val=\"true\" data-val-required=\"Dashboard Name is required.\" type=\"text\" data-bind=\"value: Name\" placeholder=\"Dashboard Name, e.g., Sales, Accounting\" id=\"add-dash-name\" required />\r\n </div>\r\n </div>\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Description</label>\r\n <div class=\"col-md-6\">\r\n <textarea class=\"form-control\" data-bind=\"value: Description\" placeholder=\"Optional Description for the Dashboard\"></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row align-items-center mb-3\">\r\n <div class=\"col-md-6\">\r\n <h5><i class=\"fa fa-paperclip\"></i> Choose Reports for the Dashboard</h5>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"Search Report by Name or Description...\" data-bind=\"textInput: $parent.searchReports\" />\r\n </div>\r\n </div>\r\n\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length==0\">\r\n <div class=\"card card-body\">\r\n No reports found matching your search.\r\n </div>\r\n </div>\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length>0\">\r\n <ul class=\"list-group\" data-bind=\"foreach: $parent.reportsInSearch\">\r\n <li class=\"list-group-item\">\r\n <div class=\"checkbox\">\r\n <label class=\"list-group-item-heading\">\r\n <input type=\"checkbox\" data-bind=\"checked: selected\">\r\n <span class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></span>\r\n <span data-bind=\"highlightedText: { text: reportName, highlight: $parent.searchReports, css: 'highlight' }\"></span>\r\n </label>\r\n </div>\r\n <p class=\"list-group-item-text small\" data-bind=\"text: reportDescription\"></p>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div data-bind=\"if: !$parent.searchReports()\" class=\"list-group mb-3\">\r\n <div data-bind=\"foreach: $parent.reportsAndFolders\">\r\n <div class=\"list-group-item\">\r\n <a role=\"button\" class=\"d-flex justify-content-between align-items-center\" data-bs-toggle=\"collapse\" data-bind=\"attr: {href: '#folder-' + folderId }\" style=\"text-decoration: none; font-weight: normal;\">\r\n <div class=\"d-flex align-items-center\">\r\n <i class=\"fa fa-folder me-2 text-secondary\"></i>\r\n <span data-bind=\"text: folder\"></span>\r\n </div>\r\n <i class=\"fa fa-chevron-down\"></i>\r\n </a>\r\n <div class=\"collapse mt-2\" data-bind=\"attr: {id: 'folder-' + folderId }\">\r\n <ul class=\"list-group list-group-flush\" data-bind=\"foreach: reports\">\r\n <li class=\"list-group-item\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" data-bind=\"checked: selected\">\r\n <label class=\"form-check-label\">\r\n <i class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></i>\r\n <span data-bind=\"text: reportName\"></span>\r\n </label>\r\n </div>\r\n <small class=\"text-muted\" data-bind=\"text: reportDescription\"></small>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card card-body mb-3\">\r\n <h5><i class=\"fa fa-hourglass\"></i>&nbsp;Choose Schedule</h5>\r\n <div data-bind=\"template: {name: 'report-schedule'}\"></div>\r\n </div>\r\n\r\n <div data-bind=\"visible: $parent.adminMode\" class=\"card card-body mb-3\">\r\n <div data-bind=\"template: {name: 'manage-access-template', data: manageAccess}\"></div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" data-bind=\"click: $root.deleteDashboard, visible: Id\">Delete Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-primary\" data-bind=\"click: $root.saveDashboard\">Save Dashboard</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div class=\"grid-stack\" data-bind=\"foreach: reports\" style=\"display: none;\">\r\n <div class=\"grid-stack-item\" data-bind=\"attr: {'gs-x': x, 'gs-y': y, 'gs-w': width, 'gs-h': height, 'gs-auto-position': true, 'gs-id': ReportID}\">\r\n <div class=\"card\" data-bind=\"attr: {class: 'card ' + panelStyle + ' grid-stack-item-content'}, css: { expanded: isExpanded }, style: { border: noDashboardBorders() ? 'none' : '', 'box-shadow': noDashboardBorders() ? 'none' : '' }\" style=\"overflow-y: hidden;\">\r\n <div class=\"padded-div\" style=\"padding-bottom: 0; margin-bottom: 0;\">\r\n <div class=\"pull-left\">\r\n <button type=\"button\" class=\"btn\" data-bs-toggle=\"dropdown\" aria-haspopup=\"false\" aria-expanded=\"false\">\r\n <span class=\"fa fa-ellipsis-v\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu small\" style=\"z-index: 1001;\">\r\n <li data-bind=\"visible: FlyFilters().length > 0\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: toggleFlyFilters\">\r\n <span class=\"fa fa-filter\"></span> Filter\r\n </a>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-pencil\"></span> Edit\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: openReport\">\r\n <span class=\"fa fa-pencil\"></span> Edit Standard\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-bolt\"></span> Edit Smarter\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\" data-bind=\"visible: ReportType()!='Single'\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\">\r\n <span class=\"fa fa-download\"></span> Export\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcel\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: canDrilldown\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcelWithDrilldown\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel (Expanded)\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadPdfModel() } : function() { $parent.appSettings.useAltPdf ? downloadPdfAlt('','') : downloadPdf('','') }\">\r\n <span class=\"fa fa-file-pdf-o\"></span> PDF\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadWordModel()} : function() { downloadWord('',''); }\">\r\n <span class=\"fa fa-file-word-o\"></span> Word\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li data-bind=\"visible: ReportType()!='Single'\">\r\n <a class=\"dropdown-item\" data-bind=\"attr: {href: '/DotNetReport?linkedreport=true&noparent=true&reportId=' + ReportID() }\" target=\"_blank\">\r\n <span class=\"fa fa-folder-open\"></span> Open Report\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: CanEdit() && CanSaveReports()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span> Save\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: $parent.currentDashboard().canManage || $parent.adminMode()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { $parent.removeReportFromDashboard(ReportID()); }\">\r\n <span class=\"fa fa-close\"></span> Remove\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { RefreshReport(ReportID()); }\">\r\n <span class=\"fa fa-refresh\"></span> Refresh\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#sqlModal\" data-bind=\"visible: $parent.adminMode, click: getCode\">\r\n <span class=\"fa fa-code\"></span> Report Code\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n\r\n <h2 class=\"pull-left\" data-bind=\"text: ReportName\"></h2>\r\n <div class=\"pull-right\">\r\n <span data-bind=\"visible: isDirty\" class=\"text-warning small\" title=\"You have unsaved changes\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n </span>\r\n <a class=\"btn btn-link\" data-bind=\"visible: CanEdit() && CanSaveReports() && isDirty(), click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span>\r\n </a>\r\n <a class=\"btn btn-link\" data-bind=\"click: toggleExpand\"><span class=\"fa\" data-bind=\"css: {'fa-expand': !isExpanded(), 'fa-minus': isExpanded() }, visible: ReportType() != 'Single' && !noDashboardBorders()\"></span></a>\r\n </div>\r\n </div>\r\n <div data-bind=\"if: activeDesign()\">\r\n <div data-bind=\"template: 'report-designer-compact'\"></div>\r\n </div>\r\n <div class=\"card-body list-overflow-auto\" style=\"padding-top: 0; margin-top: 0;\">\r\n <div data-bind=\"if: ReportType()!='Single' && ReportType()!='Html' && CanEdit()\">\r\n <div data-bind=\"template: 'chart-settings', data: $data\"></div>\r\n </div>\r\n <p data-bind=\"html: ReportDescription, visible: ReportDescription\"></p>\r\n <div data-bind=\"template: {name: 'fly-filter-template'}, visible: showFlyFilters\"></div>\r\n <div data-bind=\"with: ReportResult\" class=\"small\">\r\n <div data-bind=\"visible: !ReportData()\">\r\n <div class=\"report-spinner\"></div>\r\n </div>\r\n <div data-bind=\"template: 'report-template', data: $data\"></div>\r\n </div>\r\n </div>\r\n <div class=\"form-inline\" data-bind=\"ifnot: noDashboardBorders\">\r\n <div class=\"small\" data-bind=\"with: pager\">\r\n <div class=\"form-group pull-left total-records\" data-bind=\"if: totalRecords()>1 && $parent.ReportType() != 'Single'\">\r\n <span data-bind=\"text: 'Total Records: ' + totalRecords()\"></span><br />\r\n </div>\r\n <div class=\"form-group pull-right\" data-bind=\"if: pages()>1 && $parent.ReportType() != 'Single'\">\r\n <div data-bind=\"template: 'pager-template', data: $data\"></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n<!-- Report Builder -->\r\n<div class=\"modal modal-fullscreen\" id=\"modal-reportbuilder\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" style=\"padding-right: 0px !important;\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-designer', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Field Options Modal -->\r\n<div class=\"modal\" id=\"fieldOptionsModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-field-options', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Link Edit Modal -->\r\n<div class=\"modal\" id=\"linkModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-link-edit', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"pdfOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"wordOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n\r\n<div class=\"modal\" id=\"wordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"pdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllWordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllWordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllPdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllPdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n\r\n<!-- Templates -->\r\n<div [innerHtml]=\"reportTemplates\"></div>\r\n<!-- Templates -->\r\n\r\n</div>", styles: [".report-chart{min-height:auto!important}.expanded{position:fixed!important;padding:0!important;margin:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:1050!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
3238
3241
  }
3239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DotnetdashboardComponent, decorators: [{
3242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DotnetdashboardComponent, decorators: [{
3240
3243
  type: Component,
3241
- args: [{ selector: 'app-dotnetdashboard', template: "<div id=\"dot-net-report\" class=\"body-content\">\r\n\r\n<div data-bind=\"template: {name: 'admin-mode-template'}, visible: allowAdmin\" style=\"display: none;\"></div>\r\n\r\n<div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\r\n <ul class=\"nav nav-tabs flex-grow-1\" data-bind=\"foreach: dashboards\">\r\n <li class=\"nav-item\">\r\n <h2>\r\n <a class=\"nav-link\" href=\"#\" data-bind=\"text: name, click: function() { $parent.selectDashboard(id);}, css: { 'active': $parent.currentDashboard().id === id, 'selected-tab': $parent.currentDashboard().id === id }\"></a>\r\n </h2>\r\n </li>\r\n </ul>\r\n <div class=\"d-flex flex-wrap align-items-end gap-2 mt-2 mt-md-0 border-bottom\" style=\"padding-top: 21px;\"> \r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-pencil-square\"></i>\r\n <span>Manage</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: function() { newReport(true) }, visible: currentDashboard().canManage || adminMode()\">\r\n <span class=\"fa fa-plus\"></span> Add New Report\r\n </a>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(false) }\">\r\n <span class=\"fa fa-pencil\"></span> Add using Standard Designer\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(true) }\">\r\n <span class=\"fa fa-bolt\"></span> Add using Smarter Designer\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: editDashboard, visible: currentDashboard().canManage || adminMode()\">\r\n <i class=\"fa fa-pencil\"></i>\r\n <span>Edit Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: newDashboard\">\r\n <i class=\"fa fa-dashboard\"></i>\r\n <span>Add a New Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bind=\"click: RefreshAllReports\">\r\n <i class=\"fa fa-refresh\"></i>\r\n <span>Refresh</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-download\"></i>\r\n <span>Export</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfReportsWithPageOption() : ExportAllPdfReports('',''); }, hidden: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfAltReportsWithPageOption() : ExportAllPdfAltReports('',''); }, visible: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelReports\"><i class=\"fa fa-file-excel-o\"></i> Excel</a></li>\r\n <li data-bind=\"visible: canDrilldown\"><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelExpandedReports\"><i class=\"fa fa-file-excel-o\"></i> Excel (Expanded)</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllWordReportsWithPageOption() : ExportAllWordReports('','');}\"><i class=\"fa fa-file-word-o\"></i> Word</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: PrintDashboard\"><i class=\"fa fa-print\"></i> Print</a></li>\r\n </ul>\r\n </div>\r\n <div data-bind=\"if: currentDashboard().canManage || adminMode()\">\r\n <div class=\"btn btn-light btn-sm d-flex align-items-center gap-2\">\r\n <div class=\"form-check form-switch m-0\">\r\n <input class=\"form-check-input\" id=\"arrange-mode\" type=\"checkbox\" data-bind=\"checked: arrangeDashboard\">\r\n </div>\r\n <span>Arrange</span>\r\n </div>\r\n </div>\r\n <div class=\"btn-group btn-group-sm\" role=\"group\">\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomOutDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom Out\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: resetZoomDashboard\" data-bs-toggle=\"tooltip\" title=\"Reset Zoom\">\r\n <i class=\"fa fa-compress\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomInDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom In\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"d-flex justify-content-between\">\r\n <div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div data-bind=\"with: currentDashboard\">\r\n <p data-bind=\"text: description\"></p>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"padded-top\"></div>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div data-bind=\"template: {name: 'fly-filter-template'}\"></div>\r\n <br />\r\n </div>\r\n</div>\r\n\r\n<div class=\"centered\" style=\"display: none;\" data-bind=\"visible: dashboards().length == 0 \">\r\n No Dashboards yet. Click below to Start<br />\r\n <button class=\"btn btn-lg btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\"><i class=\"fa fa-dashboard\"></i> Create a New Dashboard</button>\r\n</div>\r\n\r\n<div class=\"modal modal-fullscreen\" id=\"add-dashboard-modal\" tabindex=\"-1\" aria-labelledby=\"add-dashboard-modal-label\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" role=\"document\">\r\n <div class=\"modal-content\" data-bind=\"with: dashboard\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\" id=\"add-dashboard-modal-label\"><span data-bind=\"text: Id() ? 'Edit' : 'Add'\"></span> Dashboard</h4>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" data-bind=\"click: $root.onModalCloseClicked\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Name</label>\r\n <div class=\"col-md-6\">\r\n <input class=\"form-control\" data-val=\"true\" data-val-required=\"Dashboard Name is required.\" type=\"text\" data-bind=\"value: Name\" placeholder=\"Dashboard Name, e.g., Sales, Accounting\" id=\"add-dash-name\" required />\r\n </div>\r\n </div>\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Description</label>\r\n <div class=\"col-md-6\">\r\n <textarea class=\"form-control\" data-bind=\"value: Description\" placeholder=\"Optional Description for the Dashboard\"></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row align-items-center mb-3\">\r\n <div class=\"col-md-6\">\r\n <h5><i class=\"fa fa-paperclip\"></i> Choose Reports for the Dashboard</h5>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"Search Report by Name or Description...\" data-bind=\"textInput: $parent.searchReports\" />\r\n </div>\r\n </div>\r\n\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length==0\">\r\n <div class=\"card card-body\">\r\n No reports found matching your search.\r\n </div>\r\n </div>\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length>0\">\r\n <ul class=\"list-group\" data-bind=\"foreach: $parent.reportsInSearch\">\r\n <li class=\"list-group-item\">\r\n <div class=\"checkbox\">\r\n <label class=\"list-group-item-heading\">\r\n <input type=\"checkbox\" data-bind=\"checked: selected\">\r\n <span class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></span>\r\n <span data-bind=\"highlightedText: { text: reportName, highlight: $parent.searchReports, css: 'highlight' }\"></span>\r\n </label>\r\n </div>\r\n <p class=\"list-group-item-text small\" data-bind=\"text: reportDescription\"></p>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div data-bind=\"if: !$parent.searchReports()\" class=\"list-group mb-3\">\r\n <div data-bind=\"foreach: $parent.reportsAndFolders\">\r\n <div class=\"list-group-item\">\r\n <a role=\"button\" class=\"d-flex justify-content-between align-items-center\" data-bs-toggle=\"collapse\" data-bind=\"attr: {href: '#folder-' + folderId }\" style=\"text-decoration: none; font-weight: normal;\">\r\n <div class=\"d-flex align-items-center\">\r\n <i class=\"fa fa-folder me-2 text-secondary\"></i>\r\n <span data-bind=\"text: folder\"></span>\r\n </div>\r\n <i class=\"fa fa-chevron-down\"></i>\r\n </a>\r\n <div class=\"collapse mt-2\" data-bind=\"attr: {id: 'folder-' + folderId }\">\r\n <ul class=\"list-group list-group-flush\" data-bind=\"foreach: reports\">\r\n <li class=\"list-group-item\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" data-bind=\"checked: selected\">\r\n <label class=\"form-check-label\">\r\n <i class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></i>\r\n <span data-bind=\"text: reportName\"></span>\r\n </label>\r\n </div>\r\n <small class=\"text-muted\" data-bind=\"text: reportDescription\"></small>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card card-body mb-3\">\r\n <h5><i class=\"fa fa-hourglass\"></i>&nbsp;Choose Schedule</h5>\r\n <div data-bind=\"template: {name: 'report-schedule'}\"></div>\r\n </div>\r\n\r\n <div data-bind=\"visible: $parent.adminMode\" class=\"card card-body mb-3\">\r\n <div data-bind=\"template: {name: 'manage-access-template', data: manageAccess}\"></div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" data-bind=\"click: $root.deleteDashboard, visible: Id\">Delete Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-primary\" data-bind=\"click: $root.saveDashboard\">Save Dashboard</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div class=\"grid-stack\" data-bind=\"foreach: reports\" style=\"display: none;\">\r\n <div class=\"grid-stack-item\" data-bind=\"attr: {'gs-x': x, 'gs-y': y, 'gs-w': width, 'gs-h': height, 'gs-auto-position': true, 'gs-id': ReportID}\">\r\n <div class=\"card\" data-bind=\"attr: {class: 'card ' + panelStyle + ' grid-stack-item-content'}, css: { expanded: isExpanded }, style: { border: noDashboardBorders() ? 'none' : '', 'box-shadow': noDashboardBorders() ? 'none' : '' }\" style=\"overflow-y: hidden;\">\r\n <div class=\"padded-div\" style=\"padding-bottom: 0; margin-bottom: 0;\">\r\n <div class=\"pull-left\">\r\n <button type=\"button\" class=\"btn\" data-bs-toggle=\"dropdown\" aria-haspopup=\"false\" aria-expanded=\"false\">\r\n <span class=\"fa fa-ellipsis-v\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu small\" style=\"z-index: 1001;\">\r\n <li data-bind=\"visible: FlyFilters().length > 0\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: toggleFlyFilters\">\r\n <span class=\"fa fa-filter\"></span> Filter\r\n </a>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-pencil\"></span> Edit\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: openReport\">\r\n <span class=\"fa fa-pencil\"></span> Edit Standard\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-bolt\"></span> Edit Smarter\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\" data-bind=\"visible: ReportType()!='Single'\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\">\r\n <span class=\"fa fa-download\"></span> Export\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcel\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: canDrilldown\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcelWithDrilldown\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel (Expanded)\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadPdfModel() } : function() { $parent.appSettings.useAltPdf ? downloadPdfAlt('','') : downloadPdf('','') }\">\r\n <span class=\"fa fa-file-pdf-o\"></span> PDF\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadWordModel()} : function() { downloadWord('',''); }\">\r\n <span class=\"fa fa-file-word-o\"></span> Word\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li data-bind=\"visible: ReportType()!='Single'\">\r\n <a class=\"dropdown-item\" data-bind=\"attr: {href: '/DotNetReport?linkedreport=true&noparent=true&reportId=' + ReportID() }\" target=\"_blank\">\r\n <span class=\"fa fa-folder-open\"></span> Open Report\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: CanEdit() && CanSaveReports()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span> Save\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: $parent.currentDashboard().canManage || $parent.adminMode()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { $parent.removeReportFromDashboard(ReportID()); }\">\r\n <span class=\"fa fa-close\"></span> Remove\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { RefreshReport(ReportID()); }\">\r\n <span class=\"fa fa-refresh\"></span> Refresh\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#sqlModal\" data-bind=\"visible: $parent.adminMode, click: getCode\">\r\n <span class=\"fa fa-code\"></span> Report Code\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n\r\n <h2 class=\"pull-left\" data-bind=\"text: ReportName\"></h2>\r\n <div class=\"pull-right\">\r\n <span data-bind=\"visible: isDirty\" class=\"text-warning small\" title=\"You have unsaved changes\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n </span>\r\n <a class=\"btn btn-link\" data-bind=\"visible: CanEdit() && CanSaveReports() && isDirty(), click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span>\r\n </a>\r\n <a class=\"btn btn-link\" data-bind=\"click: toggleExpand\"><span class=\"fa\" data-bind=\"css: {'fa-expand': !isExpanded(), 'fa-minus': isExpanded() }, visible: ReportType() != 'Single' && !noDashboardBorders()\"></span></a>\r\n </div>\r\n </div>\r\n <div data-bind=\"if: activeDesign()\">\r\n <div data-bind=\"template: 'report-designer-compact'\"></div>\r\n </div>\r\n <div class=\"card-body list-overflow-auto\" style=\"padding-top: 0; margin-top: 0;\">\r\n <div data-bind=\"if: ReportType()!='Single' && ReportType()!='Html' && CanEdit()\">\r\n <div data-bind=\"template: 'chart-settings', data: $data\"></div>\r\n </div>\r\n <p data-bind=\"html: ReportDescription, visible: ReportDescription\"></p>\r\n <div data-bind=\"template: {name: 'fly-filter-template'}, visible: showFlyFilters\"></div>\r\n <div data-bind=\"with: ReportResult\" class=\"small\">\r\n <div data-bind=\"visible: !ReportData()\">\r\n <div class=\"report-spinner\"></div>\r\n </div>\r\n <div data-bind=\"template: 'report-template', data: $data\"></div>\r\n </div>\r\n </div>\r\n <div class=\"form-inline\" data-bind=\"ifnot: noDashboardBorders\">\r\n <div class=\"small\" data-bind=\"with: pager\">\r\n <div class=\"form-group pull-left total-records\" data-bind=\"if: totalRecords()>1 && $parent.ReportType() != 'Single'\">\r\n <span data-bind=\"text: 'Total Records: ' + totalRecords()\"></span><br />\r\n </div>\r\n <div class=\"form-group pull-right\" data-bind=\"if: pages()>1 && $parent.ReportType() != 'Single'\">\r\n <div data-bind=\"template: 'pager-template', data: $data\"></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n<!-- Report Builder -->\r\n<div class=\"modal modal-fullscreen\" id=\"modal-reportbuilder\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" style=\"padding-right: 0px !important;\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-designer', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Field Options Modal -->\r\n<div class=\"modal\" id=\"fieldOptionsModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-field-options', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Link Edit Modal -->\r\n<div class=\"modal\" id=\"linkModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-link-edit', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"pdfOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"wordOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n\r\n<div class=\"modal\" id=\"wordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"pdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllWordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllWordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllPdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllPdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n\r\n<!-- Templates -->\r\n<div [innerHtml]=\"reportTemplates\"></div>\r\n<!-- Templates -->\r\n\r\n</div>", styles: [".report-chart{min-height:auto!important}.expanded{position:fixed!important;padding:0!important;margin:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:1050!important}\n"] }]
3242
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
3244
+ args: [{ selector: 'app-dotnetdashboard', standalone: true, imports: [RouterOutlet, CommonModule], template: "<div id=\"dot-net-report\" class=\"body-content\">\r\n\r\n<div data-bind=\"template: {name: 'admin-mode-template'}, visible: allowAdmin\" style=\"display: none;\"></div>\r\n\r\n<div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\r\n <ul class=\"nav nav-tabs flex-grow-1\" data-bind=\"foreach: dashboards\">\r\n <li class=\"nav-item\">\r\n <h2>\r\n <a class=\"nav-link\" href=\"#\" data-bind=\"text: name, click: function() { $parent.selectDashboard(id);}, css: { 'active': $parent.currentDashboard().id === id, 'selected-tab': $parent.currentDashboard().id === id }\"></a>\r\n </h2>\r\n </li>\r\n </ul>\r\n <div class=\"d-flex flex-wrap align-items-end gap-2 mt-2 mt-md-0 border-bottom\" style=\"padding-top: 21px;\"> \r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-pencil-square\"></i>\r\n <span>Manage</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: function() { newReport(true) }, visible: currentDashboard().canManage || adminMode()\">\r\n <span class=\"fa fa-plus\"></span> Add New Report\r\n </a>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(false) }\">\r\n <span class=\"fa fa-pencil\"></span> Add using Standard Designer\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { newReport(true) }\">\r\n <span class=\"fa fa-bolt\"></span> Add using Smarter Designer\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: editDashboard, visible: currentDashboard().canManage || adminMode()\">\r\n <i class=\"fa fa-pencil\"></i>\r\n <span>Edit Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\" data-bind=\"click: newDashboard\">\r\n <i class=\"fa fa-dashboard\"></i>\r\n <span>Add a New Dashboard</span>\r\n </button>\r\n </li>\r\n <li>\r\n <button class=\"dropdown-item\" data-bind=\"click: RefreshAllReports\">\r\n <i class=\"fa fa-refresh\"></i>\r\n <span>Refresh</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-light btn-sm dropdown-toggle\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <i class=\"fa fa-download\"></i>\r\n <span>Export</span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfReportsWithPageOption() : ExportAllPdfReports('',''); }, hidden: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllPdfAltReportsWithPageOption() : ExportAllPdfAltReports('',''); }, visible: appSettings.useAltPdf\"><i class=\"fa fa-file-pdf-o\"></i> Pdf</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelReports\"><i class=\"fa fa-file-excel-o\"></i> Excel</a></li>\r\n <li data-bind=\"visible: canDrilldown\"><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: ExportAllExcelExpandedReports\"><i class=\"fa fa-file-excel-o\"></i> Excel (Expanded)</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: function() { return appSettings.showPageSize ? ExportAllWordReportsWithPageOption() : ExportAllWordReports('','');}\"><i class=\"fa fa-file-word-o\"></i> Word</a></li>\r\n <li><a class=\"dropdown-item\" href=\"#\" data-bind=\"click: PrintDashboard\"><i class=\"fa fa-print\"></i> Print</a></li>\r\n </ul>\r\n </div>\r\n <div data-bind=\"if: currentDashboard().canManage || adminMode()\">\r\n <div class=\"btn btn-light btn-sm d-flex align-items-center gap-2\">\r\n <div class=\"form-check form-switch m-0\">\r\n <input class=\"form-check-input\" id=\"arrange-mode\" type=\"checkbox\" data-bind=\"checked: arrangeDashboard\">\r\n </div>\r\n <span>Arrange</span>\r\n </div>\r\n </div>\r\n <div class=\"btn-group btn-group-sm\" role=\"group\">\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomOutDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom Out\">\r\n <i class=\"fa fa-search-minus\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: resetZoomDashboard\" data-bs-toggle=\"tooltip\" title=\"Reset Zoom\">\r\n <i class=\"fa fa-compress\"></i>\r\n </button>\r\n\r\n <button class=\"btn btn-light\" data-bind=\"click: zoomInDashboard\" data-bs-toggle=\"tooltip\" title=\"Zoom In\">\r\n <i class=\"fa fa-search-plus\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"d-flex justify-content-between\">\r\n <div class=\"row\" style=\"display: none\" data-bind=\"visible: currentDashboard\">\r\n <div data-bind=\"with: currentDashboard\">\r\n <p data-bind=\"text: description\"></p>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"padded-top\"></div>\r\n\r\n<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div data-bind=\"template: {name: 'fly-filter-template'}\"></div>\r\n <br />\r\n </div>\r\n</div>\r\n\r\n<div class=\"centered\" style=\"display: none;\" data-bind=\"visible: dashboards().length == 0 \">\r\n No Dashboards yet. Click below to Start<br />\r\n <button class=\"btn btn-lg btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#add-dashboard-modal\"><i class=\"fa fa-dashboard\"></i> Create a New Dashboard</button>\r\n</div>\r\n\r\n<div class=\"modal modal-fullscreen\" id=\"add-dashboard-modal\" tabindex=\"-1\" aria-labelledby=\"add-dashboard-modal-label\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" role=\"document\">\r\n <div class=\"modal-content\" data-bind=\"with: dashboard\">\r\n <div class=\"modal-header\">\r\n <h4 class=\"modal-title\" id=\"add-dashboard-modal-label\"><span data-bind=\"text: Id() ? 'Edit' : 'Add'\"></span> Dashboard</h4>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" data-bind=\"click: $root.onModalCloseClicked\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Name</label>\r\n <div class=\"col-md-6\">\r\n <input class=\"form-control\" data-val=\"true\" data-val-required=\"Dashboard Name is required.\" type=\"text\" data-bind=\"value: Name\" placeholder=\"Dashboard Name, e.g., Sales, Accounting\" id=\"add-dash-name\" required />\r\n </div>\r\n </div>\r\n <div class=\"row mb-3\">\r\n <label class=\"col-md-3 col-form-label\">Description</label>\r\n <div class=\"col-md-6\">\r\n <textarea class=\"form-control\" data-bind=\"value: Description\" placeholder=\"Optional Description for the Dashboard\"></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-4 card card-body\">\r\n <div class=\"row align-items-center mb-3\">\r\n <div class=\"col-md-6\">\r\n <h5><i class=\"fa fa-paperclip\"></i> Choose Reports for the Dashboard</h5>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"Search Report by Name or Description...\" data-bind=\"textInput: $parent.searchReports\" />\r\n </div>\r\n </div>\r\n\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length==0\">\r\n <div class=\"card card-body\">\r\n No reports found matching your search.\r\n </div>\r\n </div>\r\n <div data-bind=\"if: $parent.searchReports() && $parent.reportsInSearch().length>0\">\r\n <ul class=\"list-group\" data-bind=\"foreach: $parent.reportsInSearch\">\r\n <li class=\"list-group-item\">\r\n <div class=\"checkbox\">\r\n <label class=\"list-group-item-heading\">\r\n <input type=\"checkbox\" data-bind=\"checked: selected\">\r\n <span class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></span>\r\n <span data-bind=\"highlightedText: { text: reportName, highlight: $parent.searchReports, css: 'highlight' }\"></span>\r\n </label>\r\n </div>\r\n <p class=\"list-group-item-text small\" data-bind=\"text: reportDescription\"></p>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div data-bind=\"if: !$parent.searchReports()\" class=\"list-group mb-3\">\r\n <div data-bind=\"foreach: $parent.reportsAndFolders\">\r\n <div class=\"list-group-item\">\r\n <a role=\"button\" class=\"d-flex justify-content-between align-items-center\" data-bs-toggle=\"collapse\" data-bind=\"attr: {href: '#folder-' + folderId }\" style=\"text-decoration: none; font-weight: normal;\">\r\n <div class=\"d-flex align-items-center\">\r\n <i class=\"fa fa-folder me-2 text-secondary\"></i>\r\n <span data-bind=\"text: folder\"></span>\r\n </div>\r\n <i class=\"fa fa-chevron-down\"></i>\r\n </a>\r\n <div class=\"collapse mt-2\" data-bind=\"attr: {id: 'folder-' + folderId }\">\r\n <ul class=\"list-group list-group-flush\" data-bind=\"foreach: reports\">\r\n <li class=\"list-group-item\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" data-bind=\"checked: selected\">\r\n <label class=\"form-check-label\">\r\n <i class=\"fa\" data-bind=\"css: {'fa-file': reportType=='List', 'fa-th-list': reportType=='Summary', 'fa-bar-chart': reportType=='Bar', 'fa-pie-chart': reportType=='Pie', 'fa-line-chart': reportType=='Line', 'fa-globe': reportType =='Map', 'fa-window-restore': reportType=='Treemap', 'fa-code': reportType=='Html'}\" style=\"font-size: 14pt; color: #808080\"></i>\r\n <span data-bind=\"text: reportName\"></span>\r\n </label>\r\n </div>\r\n <small class=\"text-muted\" data-bind=\"text: reportDescription\"></small>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card card-body mb-3\">\r\n <h5><i class=\"fa fa-hourglass\"></i>&nbsp;Choose Schedule</h5>\r\n <div data-bind=\"template: {name: 'report-schedule'}\"></div>\r\n </div>\r\n\r\n <div data-bind=\"visible: $parent.adminMode\" class=\"card card-body mb-3\">\r\n <div data-bind=\"template: {name: 'manage-access-template', data: manageAccess}\"></div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" data-bind=\"click: $root.deleteDashboard, visible: Id\">Delete Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-primary\" data-bind=\"click: $root.saveDashboard\">Save Dashboard</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div class=\"grid-stack\" data-bind=\"foreach: reports\" style=\"display: none;\">\r\n <div class=\"grid-stack-item\" data-bind=\"attr: {'gs-x': x, 'gs-y': y, 'gs-w': width, 'gs-h': height, 'gs-auto-position': true, 'gs-id': ReportID}\">\r\n <div class=\"card\" data-bind=\"attr: {class: 'card ' + panelStyle + ' grid-stack-item-content'}, css: { expanded: isExpanded }, style: { border: noDashboardBorders() ? 'none' : '', 'box-shadow': noDashboardBorders() ? 'none' : '' }\" style=\"overflow-y: hidden;\">\r\n <div class=\"padded-div\" style=\"padding-bottom: 0; margin-bottom: 0;\">\r\n <div class=\"pull-left\">\r\n <button type=\"button\" class=\"btn\" data-bs-toggle=\"dropdown\" aria-haspopup=\"false\" aria-expanded=\"false\">\r\n <span class=\"fa fa-ellipsis-v\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu small\" style=\"z-index: 1001;\">\r\n <li data-bind=\"visible: FlyFilters().length > 0\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: toggleFlyFilters\">\r\n <span class=\"fa fa-filter\"></span> Filter\r\n </a>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\" data-bs-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-pencil\"></span> Edit\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: openReport\">\r\n <span class=\"fa fa-pencil\"></span> Edit Standard\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item\" href=\"#\" data-bind=\"click: editReportAi\">\r\n <span class=\"fa fa-bolt\"></span> Edit Smarter\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"dropdown dropdown-hover\" data-bind=\"visible: ReportType()!='Single'\">\r\n <a href=\"#\" class=\"dropdown-toggle dropdown-item\">\r\n <span class=\"fa fa-download\"></span> Export\r\n </a>\r\n <ul class=\"dropdown-menu small\">\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcel\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: canDrilldown\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: downloadExcelWithDrilldown\">\r\n <span class=\"fa fa-file-excel-o\"></span> Excel (Expanded)\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadPdfModel() } : function() { $parent.appSettings.useAltPdf ? downloadPdfAlt('','') : downloadPdf('','') }\">\r\n <span class=\"fa fa-file-pdf-o\"></span> PDF\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: $parent.appSettings.showPageSize ? function() { loadWordModel()} : function() { downloadWord('',''); }\">\r\n <span class=\"fa fa-file-word-o\"></span> Word\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li data-bind=\"visible: ReportType()!='Single'\">\r\n <a class=\"dropdown-item\" data-bind=\"attr: {href: '/DotNetReport?linkedreport=true&noparent=true&reportId=' + ReportID() }\" target=\"_blank\">\r\n <span class=\"fa fa-folder-open\"></span> Open Report\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: CanEdit() && CanSaveReports()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span> Save\r\n </a>\r\n </li>\r\n <li data-bind=\"visible: $parent.currentDashboard().canManage || $parent.adminMode()\">\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { $parent.removeReportFromDashboard(ReportID()); }\">\r\n <span class=\"fa fa-close\"></span> Remove\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bind=\"click: function() { RefreshReport(ReportID()); }\">\r\n <span class=\"fa fa-refresh\"></span> Refresh\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" class=\"dropdown-item\" data-bs-toggle=\"modal\" data-bs-target=\"#sqlModal\" data-bind=\"visible: $parent.adminMode, click: getCode\">\r\n <span class=\"fa fa-code\"></span> Report Code\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n\r\n <h2 class=\"pull-left\" data-bind=\"text: ReportName\"></h2>\r\n <div class=\"pull-right\">\r\n <span data-bind=\"visible: isDirty\" class=\"text-warning small\" title=\"You have unsaved changes\">\r\n <i class=\"fa fa-exclamation-triangle\"></i>\r\n </span>\r\n <a class=\"btn btn-link\" data-bind=\"visible: CanEdit() && CanSaveReports() && isDirty(), click: SaveWithoutRun\">\r\n <span class=\"fa fa-save\"></span>\r\n </a>\r\n <a class=\"btn btn-link\" data-bind=\"click: toggleExpand\"><span class=\"fa\" data-bind=\"css: {'fa-expand': !isExpanded(), 'fa-minus': isExpanded() }, visible: ReportType() != 'Single' && !noDashboardBorders()\"></span></a>\r\n </div>\r\n </div>\r\n <div data-bind=\"if: activeDesign()\">\r\n <div data-bind=\"template: 'report-designer-compact'\"></div>\r\n </div>\r\n <div class=\"card-body list-overflow-auto\" style=\"padding-top: 0; margin-top: 0;\">\r\n <div data-bind=\"if: ReportType()!='Single' && ReportType()!='Html' && CanEdit()\">\r\n <div data-bind=\"template: 'chart-settings', data: $data\"></div>\r\n </div>\r\n <p data-bind=\"html: ReportDescription, visible: ReportDescription\"></p>\r\n <div data-bind=\"template: {name: 'fly-filter-template'}, visible: showFlyFilters\"></div>\r\n <div data-bind=\"with: ReportResult\" class=\"small\">\r\n <div data-bind=\"visible: !ReportData()\">\r\n <div class=\"report-spinner\"></div>\r\n </div>\r\n <div data-bind=\"template: 'report-template', data: $data\"></div>\r\n </div>\r\n </div>\r\n <div class=\"form-inline\" data-bind=\"ifnot: noDashboardBorders\">\r\n <div class=\"small\" data-bind=\"with: pager\">\r\n <div class=\"form-group pull-left total-records\" data-bind=\"if: totalRecords()>1 && $parent.ReportType() != 'Single'\">\r\n <span data-bind=\"text: 'Total Records: ' + totalRecords()\"></span><br />\r\n </div>\r\n <div class=\"form-group pull-right\" data-bind=\"if: pages()>1 && $parent.ReportType() != 'Single'\">\r\n <div data-bind=\"template: 'pager-template', data: $data\"></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n<!-- Report Builder -->\r\n<div class=\"modal modal-fullscreen\" id=\"modal-reportbuilder\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" style=\"padding-right: 0px !important;\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-designer', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Field Options Modal -->\r\n<div class=\"modal\" id=\"fieldOptionsModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-field-options', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- Link Edit Modal -->\r\n<div class=\"modal\" id=\"linkModal\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: {name: 'report-link-edit', data: $data}\"></div>\r\n</div>\r\n\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"pdfOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n<!-- This renders the template -->\r\n<div class=\"modal\" id=\"wordOptionsScheduleModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsScheduleModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-schedule-template', data: $data }\"></div>\r\n</div>\r\n\r\n<div class=\"modal\" id=\"wordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"wordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"pdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"pdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: selectedReport\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllWordOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllWordOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'word-options-template', data: $data }\"></div>\r\n</div>\r\n<div class=\"modal\" id=\"exportAllPdfOptionsModal\" tabindex=\"-1\" aria-labelledby=\"exportAllPdfOptionsModalLabel\" aria-hidden=\"true\" data-bind=\"with: dashboard\">\r\n <div data-bind=\"template: { name: 'pdf-options-template', data: $data }\"></div>\r\n</div>\r\n\r\n<!-- Templates -->\r\n<div [innerHtml]=\"reportTemplates\"></div>\r\n<!-- Templates -->\r\n\r\n</div>", styles: [".report-chart{min-height:auto!important}.expanded{position:fixed!important;padding:0!important;margin:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:1050!important}\n"] }]
3245
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
3243
3246
  type: Inject,
3244
3247
  args: [BASE_URL_TOKEN]
3245
- }] }, { type: i2.HttpClient }, { type: i3.ActivatedRoute }]; } });
3246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0ZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvdG5ldHJlcG9ydC1saWIvc3JjL2xpYi9kb3RuZXRkYXNoYm9hcmQvZG90bmV0ZGFzaGJvYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvdG5ldHJlcG9ydC1saWIvc3JjL2xpYi9kb3RuZXRkYXNoYm9hcmQvZG90bmV0ZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQWdCMUQsTUFBTSxPQUFPLHdCQUF3QjtJQU12QjtJQUNBO0lBQ3dCO0lBQ3hCO0lBQ0E7SUFURixjQUFjLENBQVM7SUFDeEIsZUFBZSxDQUFXO0lBQ3pCLFdBQVcsQ0FBNEI7SUFFL0MsWUFBWSxRQUFrQixFQUNwQixTQUF1QixFQUN2QixLQUF3QixFQUNBLE9BQWUsRUFDdkMsSUFBZ0IsRUFDaEIsS0FBcUI7UUFKckIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUNBLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUUzQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsOEJBQThCO1FBQzNFLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFSCxRQUFRO1FBQ0osSUFBSSxPQUFPLEdBQXNILEVBQUUsQ0FBQztRQUNwSSxJQUFJLFVBQVUsR0FBNE0sRUFBRSxDQUFDO1FBQzdOLElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDakUsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLDJDQUEyQyxHQUFHLFNBQVMsQ0FBQztRQUNyRyxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcscUNBQXFDLENBQUM7UUFDckYsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLG1DQUFtQyxDQUFDO1FBQ3BGLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFrQixFQUFFLEVBQUU7WUFDN0QsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUssRUFBQyxFQUFFO2dCQUMzQixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNsUyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQ25ELElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxXQUFXLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQUUsV0FBVyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFBRTtZQUU5RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO2dCQUNwRixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUU7b0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQzdLLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7b0JBRTNELElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQztvQkFDdEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQzt3QkFDNUIsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsc0JBQXNCO3dCQUMxRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEI7d0JBQ2pFLGdCQUFnQixFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUUsZ0NBQWdDO3dCQUN0RSxZQUFZLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO3dCQUN2QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQ0FBZ0M7d0JBQ3JFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLGdDQUFnQzt3QkFDOUQsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsK0JBQStCO3dCQUN0RSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLG1DQUFtQzt3QkFDM0UsVUFBVSxFQUFFLFNBQVM7d0JBQ3JCLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDO3dCQUMxQixpQkFBaUIsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7d0JBQzFDLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsWUFBWSxFQUFFLE1BQU07d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzt3QkFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO3dCQUMzQixVQUFVLEVBQUUsTUFBTSxDQUFDLGNBQWM7d0JBQ2pDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVzt3QkFDL0IsV0FBVyxFQUFFLFdBQVc7d0JBQ3hCLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLG1CQUFtQjt3QkFDdkQsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsMkJBQTJCO3dCQUMxRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLHFDQUFxQzt3QkFDakYsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUUsZ0NBQWdDO3dCQUN0RSxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxrQ0FBa0M7d0JBQ3pFLG1CQUFtQixFQUFFLG1CQUFtQjt3QkFDeEMsYUFBYSxFQUFFLElBQUk7cUJBQ3RCLENBQUMsQ0FBQztvQkFFSCxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsRUFBRTt3QkFFbEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3pCLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO3dCQUVoRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzlCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFSCxXQUFXO1FBQ1AsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8saUJBQWlCO1FBRXZCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOGhHakUsQ0FBQyxDQUFDO1FBQ0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBTztRQUM5QixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2IsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxFQUFNO1FBQ3pCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUViLENBQUMsQ0FBQztZQUNFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUN0QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxjQUFjLEVBQUUsRUFBRTtnQkFDbEIsU0FBUyxFQUFFO29CQUNQLE9BQU8sRUFBRSw0QkFBNEI7aUJBQ3hDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBUyxLQUFVLEVBQUUsS0FBWTtnQkFDakQsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBUyxDQUFNO3dCQUM5QixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4QixDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBUyxLQUF1QixFQUFFLElBQW9DO2dCQUN4RixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUNWLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztpQkFDbEI7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQztnQkFDWCxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7SUFHTCxDQUFDO3dHQTFxR1Usd0JBQXdCLHVHQVF2QixjQUFjOzRGQVJmLHdCQUF3QiwyRENuQnJDLDIwMEJBcVlNOzs0RkRsWE8sd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHFCQUFxQjs7MEJBYzFCLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQkFTRV9VUkxfVE9LRU4gfSBmcm9tICcuLy4uL2RvdG5ldHJlcG9ydC1saWIuZGknO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5kZWNsYXJlIHZhciBrbzogYW55O1xyXG5kZWNsYXJlIHZhciBkYXNoYm9hcmRWaWV3TW9kZWw6IGFueTtcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5kZWNsYXJlIHZhciBHcmlkU3RhY2s6IGFueTtcclxuZGVjbGFyZSB2YXIgXzogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZG90bmV0ZGFzaGJvYXJkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZG90bmV0ZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb3RuZXRkYXNoYm9hcmQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbiBcclxuXHJcbmV4cG9ydCBjbGFzcyBEb3RuZXRkYXNoYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIGJhc2VTZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcmVwb3J0VGVtcGxhdGVzOiBTYWZlSHRtbDtcclxuICAgIHByaXZhdGUgcXVlcnlQYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgIHByaXZhdGUgY2RyZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICBASW5qZWN0KEJBU0VfVVJMX1RPS0VOKSBwcml2YXRlIGJhc2VVcmw6IHN0cmluZyxcclxuICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgeyBcclxuICBcclxuICAgICAgICB0aGlzLmJhc2VTZXJ2aWNlVXJsID0gdGhpcy5iYXNlVXJsICsgJy9hcGknOyAvLyBcImh0dHA6Ly9sb2NhbGhvc3Q6MzkzNzhcIjsgXFxcclxuICAgICAgICB0aGlzLnJlcG9ydFRlbXBsYXRlcyA9IFwiXCI7XHJcbiAgICAgIH1cclxuICBcclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHZhciByZXBvcnRzOiB7IHJlcG9ydFNxbDogYW55OyByZXBvcnRJZDogYW55OyByZXBvcnRGaWx0ZXI6IGFueTsgY29ubmVjdEtleTogYW55OyB4OiBhbnk7IHk6IGFueTsgd2lkdGg6IGFueTsgaGVpZ2h0OiBhbnk7IH1bXSA9IFtdO1xyXG4gICAgICAgIHZhciBkYXNoYm9hcmRzOiB7IGlkOiBhbnk7IG5hbWU6IGFueTsgZGVzY3JpcHRpb246IGFueTsgc2VsZWN0ZWRSZXBvcnRzOiBhbnk7IHNjaGVkdWxlOmFueTsgdXNlcklkOiBhbnk7IHVzZXJSb2xlczogYW55OyB2aWV3T25seVVzZXJJZDogYW55OyB2aWV3T25seVVzZXJSb2xlczogYW55O2NsaWVudElkOmFueTtjYW5NYW5hZ2U6YW55IH1bXSB8IHsgaWQ6IG51bWJlcjsgfVtdID0gW107XHJcbiAgICAgICAgdmFyIGFkbWluTW9kZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyZXBvcnRBZG1pbk1vZGUnKSA/PyBmYWxzZTsgICAgIFxyXG4gICAgICAgIGxldCBnZXREYXNoYm9hcmRzVXJsID0gdGhpcy5iYXNlU2VydmljZVVybCArIFwiL0RvdE5ldFJlcG9ydEFwaS9HZXREYXNoYm9hcmRzP2FkbWluTW9kZT1cIiArIGFkbWluTW9kZTtcclxuICAgICAgICBsZXQgbG9hZFNhdmVkRGFzaGJvYXJkID0gdGhpcy5iYXNlU2VydmljZVVybCArIFwiL0RvdE5ldFJlcG9ydEFwaS9Mb2FkU2F2ZWREYXNoYm9hcmRcIjtcclxuICAgICAgICBsZXQgZ2V0VXNlcnNBbmRSb2xlc1VybCA9IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyBcIi9Eb3ROZXRSZXBvcnRBcGkvR2V0VXNlcnNBbmRSb2xlc1wiO1xyXG4gICAgICAgIGdldFVzZXJzQW5kUm9sZXNVcmwgPSBnZXRVc2Vyc0FuZFJvbGVzVXJsLnJlcGxhY2UoL1s/Jl0kLywgXCJcIik7XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQoZ2V0RGFzaGJvYXJkc1VybCkuc3Vic2NyaWJlKChkYXNoYm9hcmREYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgZGFzaGJvYXJkRGF0YS5mb3JFYWNoKChkOmFueSk9PiB7XHJcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRzLnB1c2goeyBpZDogZC5JZCwgbmFtZTogZC5OYW1lLCBkZXNjcmlwdGlvbjogZC5EZXNjcmlwdGlvbiwgc2VsZWN0ZWRSZXBvcnRzOiBkLlNlbGVjdGVkUmVwb3J0cyxzY2hlZHVsZTpkLlNjaGVkdWxlLCB1c2VySWQ6IGQuVXNlcklkLCB1c2VyUm9sZXM6IGQuVXNlclJvbGVzLCB2aWV3T25seVVzZXJJZDogZC5WaWV3T25seVVzZXJJZCwgdmlld09ubHlVc2VyUm9sZXM6IGQuVmlld09ubHlVc2VyUm9sZXMsY2xpZW50SWQ6ZC5DbGllbnRJZCxjYW5NYW5hZ2U6ZC5DYW5NYW5hZ2UgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XHJcbiAgICAgICAgICAgIHZhciBkYXNoYm9hcmRJZCA9IHBhcnNlSW50KHRoaXMucXVlcnlQYXJhbXNbJ2lkJ10gfHwgJzAnKTtcclxuICAgICAgICAgICAgaWYgKCFkYXNoYm9hcmRJZCAmJiBkYXNoYm9hcmRzLmxlbmd0aCA+IDApIHsgZGFzaGJvYXJkSWQgPSBkYXNoYm9hcmRzWzBdLmlkOyB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KGxvYWRTYXZlZERhc2hib2FyZCArIFwiP2lkPVwiICsgZGFzaGJvYXJkSWQpLnN1YnNjcmliZSgocmVwb3J0c0RhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVwb3J0c0RhdGEuZm9yRWFjaCgocjphbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXBvcnRzLnB1c2goeyByZXBvcnRTcWw6IHIuUmVwb3J0U3FsLCByZXBvcnRJZDogci5SZXBvcnRJZCwgcmVwb3J0RmlsdGVyOiByLlJlcG9ydEZpbHRlciwgY29ubmVjdEtleTogci5Db25uZWN0S2V5LCB4OiByLlgsIHk6IHIuWSwgd2lkdGg6IHIuV2lkdGgsIGhlaWdodDogci5IZWlnaHQgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KGdldFVzZXJzQW5kUm9sZXNVcmwpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZtID0gbmV3IGRhc2hib2FyZFZpZXdNb2RlbCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1blJlcG9ydFVybDogdGhpcy5iYXNlU2VydmljZVVybCArICcvRG90TmV0UmVwb3J0L1JlcG9ydCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWNSZXBvcnRVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydEFwaS9SdW5SZXBvcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBydW5MaW5rUmVwb3J0VXJsOnRoaXMuYmFzZVNlcnZpY2VVcmwgKycvRG90TmV0UmVwb3J0QXBpL1J1blJlcG9ydExpbmsnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvcnRXaXphcmQ6ICQoXCIjbW9kYWwtcmVwb3J0YnVpbGRlclwiKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9va3VwTGlzdFVybDogdGhpcy5iYXNlU2VydmljZVVybCArICcvRG90TmV0UmVwb3J0QXBpL0dldExvb2t1cExpc3QnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcGlVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydEFwaS9DYWxsUmVwb3J0QXBpJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcnVuUmVwb3J0QXBpVXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgJy9Eb3ROZXRSZXBvcnRBcGkvUnVuUmVwb3J0QXBpJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U2NoZW1hRnJvbVNxbDogdGhpcy5iYXNlU2VydmljZVVybCArICcvRG90TmV0UmVwb3J0QXBpL0dldFNjaGVtYUZyb21TcWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvcnRNb2RlOiBcImV4ZWN1dGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua01vZGFsOiAkKFwiI2xpbmtNb2RhbFwiKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRPcHRpb25zTW9kYWw6ICQoXCIjZmllbGRPcHRpb25zTW9kYWxcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9ydHM6IHJlcG9ydHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZHM6IGRhc2hib2FyZHMsICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTZXR0aW5nczogcmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyczogcmVzdWx0LnVzZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyUm9sZXM6IHJlc3VsdC51c2VyUm9sZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93QWRtaW46IHJlc3VsdC5hbGxvd0FkbWluTW9kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUZpbHRlcnM6IHJlc3VsdC5kYXRhRmlsdGVycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGFzaGJvYXJkSWQ6IGRhc2hib2FyZElkLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcnVuRXhwb3J0VXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgJy9Eb3ROZXRSZXBvcnRBcGkvJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRSZXBvcnRVcmw6IHRoaXMuYmFzZVVybCArICcvRG90TmV0UmVwb3J0L1JlcG9ydFByaW50JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZFNhdmVkRGFzaGJvcmRVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydEFwaS9Mb2FkU2F2ZWREYXNoYm9hcmQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXREYXNoYm9yZHNVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKycvRG90TmV0UmVwb3J0QXBpL0dldERhc2hib2FyZHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRUaW1lWm9uZXNVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydEFwaS9HZXRBbGxUaW1lem9uZXMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRVc2Vyc0FuZFJvbGVzVXJsOiBnZXRVc2Vyc0FuZFJvbGVzVXJsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzYW1lUGFnZU9uUnVuOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHZtLmluaXQoMCwgcmVzdWx0Lm5vQWNjb3VudCkuZG9uZSgoKT0+e1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJLT1RlbXBsYXRlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBrby5hcHBseUJpbmRpbmdzKHZtLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZG90LW5ldC1yZXBvcnQnKSk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kR3JpZEluaXQodm0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmRXaW5kb3dSZXNpemUodm0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIFxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgICBrby5jbGVhbk5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvdC1uZXQtcmVwb3J0JykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXQoKSB7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgfVxyXG4gIFxyXG4gIHByaXZhdGUgcmVuZGVyS09UZW1wbGF0ZXMoKSB7XHJcbiAgXHJcbiAgICB0aGlzLnJlcG9ydFRlbXBsYXRlcyA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGA8IS0tIERvdG5ldCBSZXBvcnQgSFRNTCBUZW1wbGF0ZXMgLS0+XHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWZpbHRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBkYXRhLWJpbmQ9XCJhdHRyOiB7aWQ6ICdmaWx0ZXItJyt1aUlkIH1cIj5cclxuICAgICAgICA8IS0tIGtvIGlmOiAhaGFzRm9yZWlnbktleS0tPlxyXG4gICAgICAgIDwhLS0ga28gaWY6IFsnRGF0ZVRpbWUnLCdEYXRlJywnVGltZSddLmluZGV4T2YoZmllbGRUeXBlKSAhPSAtMSAtLT5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XCI+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6IFsnPScsJz4nLCc8JywnPj0nLCc8PScsICdub3QgZXF1YWwnXS5pbmRleE9mKCRwYXJlbnQuT3BlcmF0b3IoKSkgIT0gLTEgLS0+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cImRhdGVwaWNrZXI6ICRwYXJlbnQuZm10VmFsdWUsIGRhdGVwaWNrZXJPcHRpb25zOiB7dmFsdWU6ICRwYXJlbnQuVmFsdWUsIGRhdGVGb3JtYXQ6IGRhdGVGb3JtYXQoKSA9PT0gJ0N1c3RvbScgPyBjdXN0b21EYXRlRm9ybWF0KCkucmVwbGFjZSgveXl5eS9nLCAneXknKSA6ICRyb290LmRhdGVGb3JtYXRNYXBwaW5nc1tkYXRlRm9ybWF0KCldfVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6IGZpZWxkVHlwZT09J1RpbWUnIHx8IGZpZWxkRm9ybWF0KCk9PSdUaW1lJyB8fCBmaWVsZEZvcm1hdCgpPT0nRGF0ZSBhbmQgVGltZSctLT5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRpbWVcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTokcGFyZW50LlZhbHVldGltZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogWydiZXR3ZWVuJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpICE9IC0xIC0tPlxyXG4gICAgICAgIEZyb21cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCByZXF1aXJlZCBjbGFzcz1cImZvcm0tY29udHJvbCBmcm9tLWRhdGVcIiBkYXRhLWJpbmQ9XCJkYXRlcGlja2VyOiAkcGFyZW50LmZtdFZhbHVlLCBkYXRlcGlja2VyT3B0aW9uczoge3ZhbHVlOiAkcGFyZW50LlZhbHVlLCBkYXRlRm9ybWF0OiBkYXRlRm9ybWF0KCkgPT09ICdDdXN0b20nID8gY3VzdG9tRGF0ZUZvcm1hdCgpLnJlcGxhY2UoL3l5eXkvZywgJ3l5JykgOiAkcm9vdC5kYXRlRm9ybWF0TWFwcGluZ3NbZGF0ZUZvcm1hdCgpXX1cIiAvPlxyXG4gICAgICAgICAgICA8IS0tIGtvIGlmOmZpZWxkVHlwZT09J1RpbWUnIHx8IGZpZWxkRm9ybWF0KCk9PSdUaW1lJyB8fCBmaWVsZEZvcm1hdCgpPT0nRGF0ZSBhbmQgVGltZSctLT5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRpbWVcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTokcGFyZW50LlZhbHVldGltZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB0b1xyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcIj5cclxuICAgICAgICAgICAgPGlucHV0IGRhdGEtYmluZD1cImRhdGVwaWNrZXI6ICRwYXJlbnQuZm10VmFsdWUyLCBkYXRlcGlja2VyT3B0aW9uczoge3ZhbHVlOiAkcGFyZW50LlZhbHVlMiwgZGF0ZUZvcm1hdDogZGF0ZUZvcm1hdCgpID09PSAnQ3VzdG9tJyA/IGN1c3RvbURhdGVGb3JtYXQoKS5yZXBsYWNlKC95eXl5L2csICd5eScpIDogJHJvb3QuZGF0ZUZvcm1hdE1hcHBpbmdzW2RhdGVGb3JtYXQoKV19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdG8tZGF0ZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6ZmllbGRUeXBlPT0nVGltZScgfHwgZmllbGRGb3JtYXQoKT09J1RpbWUnIHx8IGZpZWxkRm9ybWF0KCk9PSdEYXRlIGFuZCBUaW1lJy0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwidGltZVwiIGRhdGEtYmluZD1cInZhbHVlOiRwYXJlbnQuVmFsdWV0aW1lMlwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBbJ3JhbmdlJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpICE9IC0xIC0tPlxyXG4gICAgICAgIDxzZWxlY3QgZGF0YS1iaW5kPVwidmFsdWU6ICRwYXJlbnQuVmFsdWVcIiBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj48L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5Ub2RheTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlRvZGF5ICs8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5Ub2RheSAtPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+WWVzdGVyZGF5PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VGhpcyBXZWVrPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TGFzdCBXZWVrPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VGhpcyBNb250aDwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPkxhc3QgTW9udGg8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5UaGlzIFllYXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5MYXN0IFllYXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5UaGlzIFdlZWsgVG8gRGF0ZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlRoaXMgTW9udGggVG8gRGF0ZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlRoaXMgWWVhciBUbyBEYXRlPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TGFzdCAzMCBEYXlzPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwhLS08b3B0aW9uPlRoaXMgTW9udGggTGFzdCBZZWFyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TGFzdCBNb250aCBMYXN0IFllYXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5UaGlzIFF1YXJ0ZXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5MYXN0IFF1YXJ0ZXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5GaXJzdCBRdWFydGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+U2Vjb25kIFF1YXJ0ZXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5UaGlyZCBRdWFydGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+Rm91cnRoIFF1YXJ0ZXI8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5OZXh0IDYgTW9udGhzPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TGFzdCA2IE1vbnRoczwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPjIgWWVhcnMgYWdvPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+MyBZZWFycyBhZ288L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj40IFllYXJzIGFnbzwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPjUgWWVhcnMgYWdvPC9vcHRpb24+LS0+XHJcbiAgICAgICAgICAgIDxvcHRncm91cCBsYWJlbD1cIkNvbXBhcmlzb24gT3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbj4+PSBUb2RheTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbj48PSBUb2RheTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbj4+PSBUb2RheSArPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uPjw9IFRvZGF5ICs8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24+Pj0gVG9kYXkgLTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbj48PSBUb2RheSAtPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvb3B0Z3JvdXA+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudC5WYWx1ZSgpLmluZGV4T2YoJ1RvZGF5ICsnKSA+PSAwIHx8ICRwYXJlbnQuVmFsdWUoKS5pbmRleE9mKCdUb2RheSAtJykgPj0gMFwiIGNsYXNzPVwiZm9ybS1ncm91cCBwdWxsLWxlZnRcIiBzdHlsZT1cInBhZGRpbmctdG9wOiA1cHg7XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtc20gcHVsbC1sZWZ0XCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogJHBhcmVudC5WYWx1ZTJcIiByZXF1aXJlZCAvPjxzcGFuIHN0eWxlPVwicGFkZGluZzogNXB4IDVweDtcIiBjbGFzcz1cInB1bGwtbGVmdFwiPiBkYXlzPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0ga28gaWY6IFsnSW50JywnTW9uZXknLCdGbG9hdCcsJ0RvdWJsZSddLmluZGV4T2YoZmllbGRUeXBlKSAhPSAtMSAtLT5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZjogWyc9JywnPicsJzwnLCc+PScsJzw9JywgJ25vdCBlcXVhbCddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSAhPSAtMSAmJiBbJ2lzIGJsYW5rJywgJ2lzIG5vdCBibGFuaycsICdpcyBudWxsJywgJ2lzIG5vdCBudWxsJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpID09IC0xIC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwibnVtYmVyXCIgZGF0YS1iaW5kPVwidmFsdWU6ICRwYXJlbnQuVmFsdWUsIGRpc2FibGU6ICRwYXJlbnQuT3BlcmF0b3IoKSA9PSAnaXMgZGVmYXVsdCdcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgIDwhLS0ga28gaWY6IFsnaW4nLCAnbm90IGluJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpICE9IC0xIC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwidGV4dFwiIGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6IFsnYmV0d2VlbiddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSAhPSAtMSAtLT5cclxuICAgICAgICAgICAgRnJvbVxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwibnVtYmVyXCIgZGF0YS1iaW5kPVwidmFsdWU6ICRwYXJlbnQuVmFsdWVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgICBUb1xyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwibnVtYmVyXCIgZGF0YS1iaW5kPVwidmFsdWU6ICRwYXJlbnQuVmFsdWUyXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBmaWVsZFR5cGU9PSdCb29sZWFuJyAmJiBbJ2lzIGJsYW5rJywgJ2lzIG5vdCBibGFuaycsICdpcyBudWxsJywgJ2lzIG5vdCBudWxsJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpID09IC0xIC0tPlxyXG4gICAgICAgIDxzZWxlY3QgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlLCBkaXNhYmxlOiAkcGFyZW50Lk9wZXJhdG9yKCkgPT0gJ2lzIGRlZmF1bHQnXCI+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+WWVzPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIwXCI+Tm88L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBbJ0ludCcsJ01vbmV5JywnRmxvYXQnLCdEb3VibGUnLCdEYXRlJywnRGF0ZVRpbWUnLCdUaW1lJywnQm9vbGVhbiddLmluZGV4T2YoZmllbGRUeXBlKSA9PSAtMSAmJiBbJ2lzIGJsYW5rJywgJ2lzIG5vdCBibGFuaycsICdpcyBudWxsJywgJ2lzIG5vdCBudWxsJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpID09IC0xIC0tPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgZGF0YS1iaW5kPVwidmFsdWU6ICRwYXJlbnQuVmFsdWUsIGRpc2FibGU6ICRwYXJlbnQuT3BlcmF0b3IoKSA9PSAnaXMgZGVmYXVsdCcsYXR0cjoge2lkOiAnY3RsLScgKyAkZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1wYXJlbnRwcmVmaXhdJykuZ2V0QXR0cmlidXRlKCdkYXRhLXBhcmVudHByZWZpeCcpICsgJy0nICsgdWlJZH1cIiByZXF1aXJlZCAvPlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0ga28gaWY6IGhhc0ZvcmVpZ25LZXkgJiYgJHBhcmVudC5PcGVyYXRvcigpICE9ICdhbGwnIC0tPlxyXG4gICAgICAgIDwhLS0ga28gaWY6IGhhc0ZvcmVpZ25QYXJlbnRLZXkgJiYgJHBhcmVudC5zaG93UGFyZW50RmlsdGVyKCkgLS0+XHJcbiAgICAgICAgPHNlbGVjdCBtdWx0aXBsZSBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInNlbGVjdDI6IHsgZHJvcGRvd25QYXJlbnQ6ICcjZmlsdGVyLScrdWlJZCwgcGxhY2Vob2xkZXI6ICdQbGVhc2UgQ2hvb3NlJywgYWxsb3dDbGVhcjogdHJ1ZSB9LCBvcHRpb25zOiAkcGFyZW50LlBhcmVudExpc3QsIG9wdGlvbnNUZXh0OiAndGV4dCcsIG9wdGlvbnNWYWx1ZTogJHBhcmVudC5Jc0NvbmRpdGlvbmFsRmlsdGVyID8gJ3RleHQnOiAnaWQnLCBzZWxlY3RlZE9wdGlvbnM6ICRwYXJlbnQuUGFyZW50SW5cIj48L3NlbGVjdD5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50Lk9wZXJhdG9yKCk9PSc9Jy0tPlxyXG4gICAgICAgIDxzZWxlY3QgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJzZWxlY3QyOiB7IGRyb3Bkb3duUGFyZW50OiAnI2ZpbHRlci0nK3VpSWQsIHBsYWNlaG9sZGVyOiAnUGxlYXNlIENob29zZScsIGFsbG93Q2xlYXI6IHRydWUgfSwgb3B0aW9uczogJHBhcmVudC5Mb29rdXBMaXN0LCBvcHRpb25zVGV4dDogJ3RleHQnLCBvcHRpb25zVmFsdWU6ICAgJHBhcmVudC5Jc0NvbmRpdGlvbmFsRmlsdGVyID8gJ3RleHQnOiAnaWQnLCB2YWx1ZTogJHBhcmVudC5WYWx1ZSwgb3B0aW9uc0NhcHRpb246ICdQbGVhc2UgQ2hvb3NlJ1wiPjwvc2VsZWN0PlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnQuT3BlcmF0b3IoKT09J2luJyB8fCAkcGFyZW50Lk9wZXJhdG9yKCk9PSdub3QgaW4nLS0+XHJcbiAgICAgICAgPHNlbGVjdCByZXF1aXJlZCBtdWx0aXBsZSBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInNlbGVjdDI6IHsgZHJvcGRvd25QYXJlbnQ6ICcjZmlsdGVyLScrdWlJZCwgcGxhY2Vob2xkZXI6ICdQbGVhc2UgQ2hvb3NlJywgYWxsb3dDbGVhcjogdHJ1ZSB9LCBvcHRpb25zOiAkcGFyZW50Lkxvb2t1cExpc3QsIG9wdGlvbnNUZXh0OiAndGV4dCcsIG9wdGlvbnNWYWx1ZTogJHBhcmVudC5Jc0NvbmRpdGlvbmFsRmlsdGVyID8gJ3RleHQnOiAnaWQnLCBzZWxlY3RlZE9wdGlvbnM6ICRwYXJlbnQuVmFsdWVJblwiPjwvc2VsZWN0PlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJwYWdlci10ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBhZ2VyLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcCBnYXAtMlwiPlxyXG5cclxuICAgICAgICA8IS0tIFJvd3MgcGVyIHBhZ2UgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEgbXMtMVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIj5QYWdlIHNpemU6PC9zcGFuPlxyXG4gICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gdy1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBwYWdlU2l6ZU9wdGlvbnMsIHZhbHVlOiBwYWdlU2l6ZVwiPlxyXG4gICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBJbm5lciBib3JkZXIgYmxvY2sgZm9yIHBhZ2UgbmF2aWdhdGlvbiBjb250cm9scyAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMSBtcy0zXCI+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgdGl0bGU9XCJGaXJzdFwiIGRhdGEtYmluZD1cImNsaWNrOiBmaXJzdCwgZW5hYmxlOiAhaXNGaXJzdFBhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gcGFnZXItYnRuIG1zLTFcIiBhcmlhLWxhYmVsPVwiRmlyc3QgUGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1hbmdsZS1kb3VibGUtbGVmdFwiPjwvaT5cclxuICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiB0aXRsZT1cIlByZXZpb3VzXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHByZXZpb3VzLCBlbmFibGU6ICFpc0ZpcnN0UGFnZSgpXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbSBwYWdlci1idG5cIiBhcmlhLWxhYmVsPVwiUHJldmlvdXMgUGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1hbmdsZS1sZWZ0XCI+PC9pPlxyXG4gICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+UGFnZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMVwiIHBhdHRlcm49XCJbMC05XSpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbSB0ZXh0LWNlbnRlciBwYWdlci1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogNjBweDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZhbHVlOiBjdXJyZW50UGFnZSwgYXR0cjogeyBtYXg6IHBhZ2VzKCkgfVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+b2Y8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiBkYXRhLWJpbmQ9XCJ0ZXh0OiBwYWdlc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIHRpdGxlPVwiTmV4dFwiIGRhdGEtYmluZD1cImNsaWNrOiBuZXh0LCBlbmFibGU6ICFpc0xhc3RQYWdlKClcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIHBhZ2VyLWJ0blwiIGFyaWEtbGFiZWw9XCJOZXh0IFBhZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtcmlnaHRcIj48L2k+XHJcbiAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgdGl0bGU9XCJMYXN0XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGxhc3QsIGVuYWJsZTogIWlzTGFzdFBhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gcGFnZXItYnRuXCIgYXJpYS1sYWJlbD1cIkxhc3QgUGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHRcIj48L2k+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcblxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtY29sdW1uLWhlYWRlclwiPlxyXG4gICAgPCEtLSBrbyBmb3JlYWNoOiBDb2x1bW5zIC0tPlxyXG4gICAgPHRoIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6ICFJc1Bpdm90RmllbGQgPyBmaWVsZElkIDogJ3Bpdm90LS0nICsgZmllbGROYW1lIH0sIHN0eWxlOiB7J3RleHQtYWxpZ24nOiBmaWVsZEFsaWduKCkgPyBmaWVsZEFsaWduKCkgOiAoSXNOdW1lcmljID8gJ3JpZ2h0JyA6ICdsZWZ0JyksICdiYWNrZ3JvdW5kLWNvbG9yJzogaGVhZGVyQmFja0NvbG9yIH0sIGhpZGRlbjogb3V0ZXJHcm91cFwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIiBkYXRhLWJpbmQ9XCJpZjogISRwYXJlbnQuSXNEcmlsbERvd24oKVwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcHVwXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwiZmFsc2VcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLXYgc29ydGFibGVcIiB0aXRsZT1cIkRyYWcgdG8gcmVvcmRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDx1bCBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhSXNQaXZvdEZpZWxkXCIgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgc3R5bGU9XCJ6LWluZGV4OiAxMDAxO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gc21hbGxcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhSXNOdW1lcmljXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZU91dGVyR3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY2xvbmVcIj48L3NwYW4+IE91dGVyIEdyb3VwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogc2V0dXBGaWVsZE9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZ2VhclwiPjwvc3Bhbj4gRmllbGQgU2V0dGluZ3NcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7J3dpZHRoJzogZmllbGRXaWR0aH1cIj5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudHNbM10udXNlU3RvcmVkUHJvYyA/ICRwYXJlbnRzWzNdLnVzZVN0b3JlZFByb2MoKSA6ICgkcGFyZW50c1s1XS51c2VTdG9yZWRQcm9jID8gJHBhcmVudHNbNV0udXNlU3RvcmVkUHJvYygpIDogZmFsc2UpIC0tPlxyXG4gICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmaWVsZExhYmVsKCkgPyBmaWVsZExhYmVsKCkgOiBmaWVsZE5hbWUsIHN0eWxlOiB7J2NvbG9yJzogaGVhZGVyRm9udENvbG9yLCAnZm9udC13ZWlnaHQnOiBoZWFkZXJGb250Qm9sZCgpID8gJ2JvbGQnIDogJ25vcm1hbCd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZm5vdDogJHBhcmVudHNbM10udXNlU3RvcmVkUHJvYyA/ICRwYXJlbnRzWzNdLnVzZVN0b3JlZFByb2MoKSA6ICgkcGFyZW50c1s1XS51c2VTdG9yZWRQcm9jID8gJHBhcmVudHNbNV0udXNlU3RvcmVkUHJvYygpIDogZmFsc2UpICAtLT5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIlwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBpZiAoIUlzUGl2b3RGaWVsZCkgeyAkcGFyZW50c1twYWdlckluZGV4KCRwYXJlbnRzKV0uY2hhbmdlU29ydChTcWxGaWVsZCk7IH0gfSwgc3R5bGU6IHsnY29sb3InOiBoZWFkZXJGb250Q29sb3IsICdmb250LXdlaWdodCc6IGhlYWRlckZvbnRCb2xkKCkgPyAnYm9sZCcgOiAnbm9ybWFsJ31cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICRwYXJlbnQuSXNEcmlsbERvd24oKSAmJiBmaWVsZExhYmVsMigpID8gZmllbGRMYWJlbDIoKSA6IChmaWVsZExhYmVsKCkgPyBmaWVsZExhYmVsKCkgOiBmaWVsZE5hbWUpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogJHBhcmVudHNbcGFnZXJJbmRleCgkcGFyZW50cyldLnBhZ2VyLnNvcnRDb2x1bW4oKSA9PT0gU3FsRmllbGQgPyAoJHBhcmVudHNbcGFnZXJJbmRleCgkcGFyZW50cyldLnBhZ2VyLnNvcnREZXNjZW5kaW5nKCkgPyAnJiM5NjYwOycgOiAnJiM5NjUwOycpIDogJydcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3RoPlxyXG4gICAgPCEtLSAva28gLS0+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtd2lkZ2V0XCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogMTAwJTtmb250LXNpemU6IDQ4cHhcIj5cclxuICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSb3dzLmxlbmd0aCA8IDFcIiB0aXRsZT1cIk5vIGRhdGEgZm91bmRcIj4vPC9zcGFuPlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBSb3dzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiAkcGFyZW50LnJvd3NbMF0uSXRlbXNbMF1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImh0bWw6IGZvcm1hdHRlZFZhbFwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50LlJvd3MubGVuZ3RoID4gMSA/ICgkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMl0uc2hvd1ByaW9ySW5LcGkgIT0gdW5kZWZpbmVkID8gJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTJdLnNob3dQcmlvckluS3BpKCkgOiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMV0uc2hvd1ByaW9ySW5LcGkoKSkgOiBmYWxzZSAtLT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInN0eWxlOiB7J2NvbG9yJzogJHBhcmVudC5jYWxjdWxhdGVSYXRlKCkgPiAwID8gJ2dyZWVuJyA6ICdyZWQnLCAnZm9udC1zaXplJzogJzI0cHgnfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImh0bWw6ICRwYXJlbnQuY2FsY3VsYXRlUmF0ZSgpICsgJyUnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwic3R5bGU6IHsnZm9udC1zaXplJzogJzI0cHgnLCAnY29sb3InOiAnZ3JheSd9LCBjc3M6IHsndGV4dC1tdXRlZCc6IHRydWV9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgUHJpb3IgUGVyaW9kOiA8c3BhbiBkYXRhLWJpbmQ9XCJodG1sOiAkcGFyZW50LlJvd3NbMV0uSXRlbXNbMF0uZm9ybWF0dGVkVmFsXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWNvbHVtblwiPlxyXG4gICAgPCEtLSBrbyBmb3JlYWNoOiBJdGVtcyAtLT5cclxuICAgIDx0ZCBkYXRhLWJpbmQ9XCJoaWRkZW46IG91dGVyR3JvdXAsIHN0eWxlOiB7J2JhY2tncm91bmQtY29sb3InOiBfYmFja0NvbG9yID8/IGJhY2tDb2xvcigpLCAnY29sb3InOiBfZm9udENvbG9yID8/IGZvbnRDb2xvcigpLCAnZm9udC13ZWlnaHQnOiBmb250Qm9sZCgpIHx8IF9mb250Qm9sZCA/ICdib2xkJyA6ICdub3JtYWwnLCAndGV4dC1hbGlnbic6IGZpZWxkQWxpZ24oKSA/IGZpZWxkQWxpZ24oKSA6IChDb2x1bW4uSXNOdW1lcmljID8gJ3JpZ2h0JyA6ICdsZWZ0Jyl9XCI+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJzdHlsZTogeyd3aWR0aCc6IGZpZWxkV2lkdGggfSwgY3NzOiB7ICd0ZXh0LXdyYXAnOiBmaWVsZFdpZHRoIH1cIj5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZjogTGlua1RvLS0+XHJcbiAgICAgICAgICAgIDxhIGRhdGEtYmluZD1cImF0dHI6IHtocmVmOiBMaW5rVG99XCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4gZGF0YS1iaW5kPVwiaHRtbDogZm9ybWF0dGVkVmFsXCI+PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPCEtLSAva28tLT5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZm5vdDogTGlua1RvLS0+XHJcbiAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImh0bWw6IGZvcm1hdHRlZFZhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSAva28tLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvdGQ+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtcGl2b3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgZGF0YS1iaW5kPVwid2l0aDogUmVwb3J0RGF0YVwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXIgdGFibGUtY29uZGVuc2VkXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZCBzdHlsZT1cInBvc2l0aW9uOiBzdGlja3k7IHRvcDogLTFweDsgei1pbmRleDogMjtcIj5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IFJvd3MgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBJdGVtc1swXS5Gb3JtYXR0ZWRWYWx1ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5IGRhdGEtYmluZD1cImZvcmVhY2g6IENvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAkaW5kZXgoKSA+IDAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmaWVsZExhYmVsIHx8IENvbHVtbk5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6ICRwYXJlbnQuUm93cyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZGF0YS1iaW5kPVwic3R5bGU6IHsnYmFja2dyb3VuZC1jb2xvcic6ICRwYXJlbnQuYmFja0NvbG9yLCAnY29sb3InOiAkcGFyZW50LmZvbnRDb2xvciwgJ2ZvbnQtd2VpZ2h0JzogJHBhcmVudC5mb250Qm9sZCgpID8gJ2JvbGQnIDogJ25vcm1hbCcsICd0ZXh0LWFsaWduJzogJHBhcmVudC5maWVsZEFsaWduID8gJHBhcmVudC5maWVsZEFsaWduIDogKCRwYXJlbnQuSXNOdW1lcmljID8gJ3JpZ2h0JyA6ICdsZWZ0JykgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBJdGVtc1skcGFyZW50Q29udGV4dC4kaW5kZXgoKV0uRm9ybWF0dGVkVmFsdWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtdGFibGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtaG92ZXIgdGFibGUtY29uZGVuc2VkXCIgZGF0YS1iaW5kPVwiYXR0cjoge2NsYXNzOiAndGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciB0YWJsZS1jb25kZW5zZWQgJyArICRwYXJlbnRzWzJdLnNlbGVjdGVkU3R5bGUoKX1cIj5cclxuICAgICAgICAgICAgPHRoZWFkIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgdG9wOiAtMXB4OyB6LWluZGV4OiAyO1wiIGRhdGEtYmluZD1cImlmOiAhJHBhcmVudHNbMl0ubm9IZWFkZXJSb3coKVwiPlxyXG4gICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwibm8taGlnaGxpZ2h0XCIgZGF0YS1iaW5kPVwic29ydGFibGVDb2x1bW5zOiB7IGhhbmRsZTogJy5zb3J0YWJsZScsIGN1cnNvcjogJ21vdmUnLCBwbGFjZWhvbGRlcjogJ2Ryb3AtaGlnaGxpZ2h0JyxzZWxlY3RlZEZpZWxkczogJHBhcmVudHNbMl0uU2VsZWN0ZWRGaWVsZHMgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRDb250ZXh0LiRwYXJlbnRDb250ZXh0LiRwYXJlbnQuY2FuRHJpbGxkb3duKCkgJiYgIUlzRHJpbGxEb3duKCkgJiYgIUNhbkV4cGFuZE9wdGlvbigpICYmICghJHBhcmVudHNbMl0uaGFzUGl2b3RDb2x1bW4oKSB8fCAoJHBhcmVudHNbMl0uaGFzUGl2b3RDb2x1bW4oKSAmJiAkcGFyZW50c1syXS5hcHBTZXR0aW5ncy51c2VBbHRQaXZvdCkpIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAzMHB4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkO1wiIGRhdGEtYmluZD1cInN0eWxlOiB7J2JhY2tncm91bmQtY29sb3InOiBDb2x1bW5zWzBdLmhlYWRlckJhY2tDb2xvcn1cIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gdGVtcGxhdGU6ICdyZXBvcnQtY29sdW1uLWhlYWRlcicsIGRhdGE6ICRkYXRhIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dGJvZHkgZGF0YS1iaW5kPVwiYXR0cjoge2lkOiAncmVwb3J0LXRhYmxlLWJvZHknICsgJHBhcmVudHNbMl0uUmVwb3J0SUQoKX1cIj5cclxuICAgICAgICAgICAgICAgIDx0ciBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUm93cy5sZW5ndGggPCAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cImF0dHI6e2NvbHNwYW46IENvbHVtbnMubGVuZ3RoICsgMX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgTm8gcmVjb3JkcyBmb3VuZFxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6ICEkcGFyZW50c1syXS51c2VSZW5kZXJUYWJsZSgpIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiAkcGFyZW50LnJvd3MgIC0tPlxyXG4gICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRDb250ZXh0LiRwYXJlbnRDb250ZXh0LiRwYXJlbnRDb250ZXh0LiRwYXJlbnQuY2FuRHJpbGxkb3duKCkgJiYgISRwYXJlbnQuSXNEcmlsbERvd24oKSAmJiAhJHBhcmVudC5DYW5FeHBhbmRPcHRpb24oKSAmJiAkcGFyZW50Q29udGV4dC4kcGFyZW50Q29udGV4dC4kcGFyZW50Q29udGV4dC4kcGFyZW50LlJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMzBweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIiBkYXRhLWJpbmQ9XCJzdHlsZTogeydiYWNrZ3JvdW5kLWNvbG9yJzogSXRlbXNbMF0uX2JhY2tDb2xvciA/PyBJdGVtc1swXS5iYWNrQ29sb3IoKSwgJ2NvbG9yJzogSXRlbXNbMF0uX2ZvbnRDb2xvciA/PyBJdGVtc1swXS5mb250Q29sb3IoKX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgdG9nZ2xlKCk7IH1cIj48c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiB7J2ZhLXBsdXMnOiAhaXNFeHBhbmRlZCgpLCAnZmEtbWludXMnOiBpc0V4cGFuZGVkKCl9XCI+PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gdGVtcGxhdGU6ICdyZXBvcnQtY29sdW1uJywgZGF0YTogJGRhdGEgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28tLT5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBpc0V4cGFuZGVkIC0tPlxyXG4gICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiAzMHB4O1wiPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cImF0dHI6e2NvbHNwYW46ICRwYXJlbnQuQ29sdW1ucy5sZW5ndGggfVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogIURyaWxsRG93bkRhdGEoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcG9ydC1zcGlubmVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBEcmlsbERvd25EYXRhIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIHRhYmxlLWNvbmRlbnNlZFwiIGRhdGEtYmluZD1cIndpdGg6IERyaWxsRG93bkRhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJuby1oaWdobGlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyB0ZW1wbGF0ZTogJ3JlcG9ydC1jb2x1bW4taGVhZGVyJywgZGF0YTogJGRhdGEgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSb3dzICYmIFJvd3MubGVuZ3RoIDwgMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgZGF0YS1iaW5kPVwiYXR0cjoge2NvbHNwYW46IENvbHVtbnMubGVuZ3RofVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gcmVjb3JkcyBmb3VuZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBSb3dzICAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gdGVtcGxhdGU6ICdyZXBvcnQtY29sdW1uJywgZGF0YTogJGRhdGEgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLWNlbnRlcmVkXCIgZGF0YS1iaW5kPVwid2l0aDogcGFnZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWlubGluZSBzbWFsbCB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdCB0b3RhbC1yZWNvcmRzXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogcGFnZXMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiAnVG90YWwgUmVjb3JkczogJyArIHRvdGFsUmVjb3JkcygpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnQgdG90YWwtcmVjb3Jkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiB0aXRsZT1cIkRvd25sb2FkIEV4Y2VsXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQuZXhwb3J0RXhjZWxcIj48c3BhbiBjbGFzcz1cImZhIGZhLWZpbGUtZXhjZWwtb1wiPjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIHRpdGxlPVwiVmlldyBDb2RlXCIgZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiIGRhdGEtYnMtdGFyZ2V0PVwiI3NxbERyaWxsRG93bk1vZGFsXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHJvb3QuYWRtaW5Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWNvZGVcIj48L3NwYW4+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+ICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB1bGwtcmlnaHRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBwYWdlcygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdwYWdlci10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBzdWJSZXBvcnRzUmFuKCkubGVuZ3RoID4gMCAtLT5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZGF0YS1iaW5kPVwiYXR0cjp7Y29sc3BhbjogJHBhcmVudC5Db2x1bW5zLmxlbmd0aCB9XCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBzdWJSZXBvcnRzUmFuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDIwcHg7XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJwdWxsLWxlZnRcIiBkYXRhLWJpbmQ9XCJ0ZXh0OiBSZXBvcnROYW1lXCI+PC9oMj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1vdmVyZmxvdy1hdXRvXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMDsgbWFyZ2luLXRvcDogMDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRhdGEtYmluZD1cImh0bWw6IFJlcG9ydERlc2NyaXB0aW9uLCB2aXNpYmxlOiBSZXBvcnREZXNjcmlwdGlvblwiPjwvcD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IFJlcG9ydFJlc3VsdFwiIGNsYXNzPVwic21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6ICFSZXBvcnREYXRhKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcG9ydC1zcGlubmVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3JlcG9ydC10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWlubGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgZGF0YS1iaW5kPVwid2l0aDogcGFnZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdWxsLWxlZnQgdG90YWwtcmVjb3Jkc1wiIGRhdGEtYmluZD1cImlmOiB0b3RhbFJlY29yZHMoKT4xICYmICRwYXJlbnQuUmVwb3J0VHlwZSgpICE9ICdTaW5nbGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICdUb3RhbCBSZWNvcmRzOiAnICsgdG90YWxSZWNvcmRzKClcIj48L3NwYW4+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHVsbC1yaWdodFwiIGRhdGEtYmluZD1cImlmOiBwYWdlcygpPjEgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3BhZ2VyLXRlbXBsYXRlJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSAva28tLT5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudENvbnRleHQuJHBhcmVudC5TdWJUb3RhbHMoKS5sZW5ndGggPT0gMSAmJiAkcGFyZW50Q29udGV4dC4kcGFyZW50Q29udGV4dC4kcGFyZW50Lk91dGVyR3JvdXBDb2x1bW5zKCkubGVuZ3RoID09IDAgLS0+XHJcbiAgICAgICAgICAgIDx0Zm9vdCBkYXRhLWJpbmQ9XCJmb3JlYWNoOiAkcGFyZW50Q29udGV4dC4kcGFyZW50LlN1YlRvdGFsc1wiPlxyXG4gICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwic3ViLXRvdGFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudENvbnRleHQuJHBhcmVudENvbnRleHQuJHBhcmVudENvbnRleHQuJHBhcmVudC5jYW5EcmlsbGRvd24oKSAmJiAhJHBhcmVudC5Jc0RyaWxsRG93bigpICYmICEkcGFyZW50LkNhbkV4cGFuZE9wdGlvbigpIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogSXRlbXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogVmFsdWUgIT0gJ05BJyAmJiBWYWx1ZSAhPSAnTmFOJyAmJiAhb3V0ZXJHcm91cCgpIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBkYXRhLWJpbmQ9XCJzdHlsZTogeydiYWNrZ3JvdW5kLWNvbG9yJzogX2JhY2tDb2xvciA/PyBiYWNrQ29sb3IoKSwgJ2NvbG9yJzogX2ZvbnRDb2xvciA/PyBmb250Q29sb3IoKSwgJ2ZvbnQtd2VpZ2h0JzogZm9udEJvbGQoKSB8fCBfZm9udEJvbGQgPyAnYm9sZCcgOiAnbm9ybWFsJywgJ3RleHQtYWxpZ24nOiBmaWVsZEFsaWduKCkgPyBmaWVsZEFsaWduKCkgOiAncmlnaHQnfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7J3dpZHRoJzogZmllbGRXaWR0aCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImh0bWw6IGZvcm1hdHRlZFZhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGZvb3Q+XHJcbiAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInJlcG9ydC1yZW5kZXJcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogUmVwb3J0RGF0YVwiPlxyXG4gICAgICA8ZGl2IGRhdGEtYmluZD1cImZvcmVhY2g6IFJvd3NcIj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImh0bWw6IHJlbmRlcmVkSHRtbCwgY3NzOiB7ICdjYXJkLXZpZXcnOiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMV0uY2FyZFZpZXcgfVwiPjwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImZvcmVhY2g6IHN1YlJlcG9ydHNSYW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDIwcHg7XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInB1bGwtbGVmdFwiIGRhdGEtYmluZD1cInRleHQ6IFJlcG9ydE5hbWVcIj48L2gyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1vdmVyZmxvdy1hdXRvXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMDsgbWFyZ2luLXRvcDogMDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGF0YS1iaW5kPVwiaHRtbDogUmVwb3J0RGVzY3JpcHRpb24sIHZpc2libGU6IFJlcG9ydERlc2NyaXB0aW9uXCI+PC9wPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBSZXBvcnRSZXN1bHRcIiBjbGFzcz1cInNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6ICFSZXBvcnREYXRhKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVwb3J0LXNwaW5uZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3JlcG9ydC10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWlubGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBwYWdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHVsbC1sZWZ0IHRvdGFsLXJlY29yZHNcIiBkYXRhLWJpbmQ9XCJpZjogdG90YWxSZWNvcmRzKCk+MSAmJiAkcGFyZW50LlJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICdUb3RhbCBSZWNvcmRzOiAnICsgdG90YWxSZWNvcmRzKClcIj48L3NwYW4+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB1bGwtcmlnaHRcIiBkYXRhLWJpbmQ9XCJpZjogcGFnZXMoKT4xICYmICRwYXJlbnQuUmVwb3J0VHlwZSgpICE9ICdTaW5nbGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3BhZ2VyLXRlbXBsYXRlJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXBvcnQtY2hhcnRcIiBkYXRhLWJpbmQ9XCJhdHRyOiB7aWQ6ICdjaGFydF9kaXZfJyArICRwYXJlbnQuUmVwb3J0SUQoKX0sIHZpc2libGU6ICRwYXJlbnQuaXNDaGFydFwiPjwvZGl2PlxyXG4gICAgPCEtLSBrbyBpZjogJHBhcmVudC5SZXBvcnRUeXBlKCkgPT0gJ1Bpdm90JyAtLT5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LXBpdm90JywgZGF0YTogJGRhdGEgfVwiPjwvZGl2PlxyXG4gICAgPCEtLSAva28gLS0+XHJcblxyXG4gICAgPCEtLSBrbyBpZjogJHBhcmVudC5SZXBvcnRUeXBlKCkgPT0gJ0h0bWwnIC0tPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdyZXBvcnQtcmVuZGVyJywgZGF0YTogJGRhdGEgfVwiPjwvZGl2PlxyXG4gICAgPCEtLSAva28gLS0+XHJcblxyXG4gICAgPCEtLSBrbyBpZjogJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ1Bpdm90JyAmJiAkcGFyZW50LlJlcG9ydFR5cGUoKSAhPSAnSHRtbCcgJiYgKCEkcGFyZW50LmlzQ2hhcnQoKSB8fCAkcGFyZW50LlNob3dEYXRhV2l0aEdyYXBoKCkpIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudC5PdXRlckdyb3VwQ29sdW1ucygpLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8YSBocmVmPVwiI1wiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwiZmFsc2VcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgTWFuYWdlIEdyb3VwcyA8c3BhbiBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLXZcIj48L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBzdHlsZT1cInotaW5kZXg6IDEwMDE7XCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogJHBhcmVudC5PdXRlckdyb3VwQ29sdW1uc1wiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJkcm9wZG93bi1pdGVtIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiByZW1vdmVcIiB0aXRsZT1cIlJlbW92ZSBmcm9tIEdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1jbG9zZVwiPjwvc3Bhbj4gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogZmllbGROYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjbGVhci1maXhcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cImZvcmVhY2g6IG91dGVyR3JvdXBEYXRhXCI+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogcm93cy5sZW5ndGggPiAwIHx8ICgkcGFyZW50Lm91dGVyR3JvdXBEYXRhICYmICRwYXJlbnQub3V0ZXJHcm91cERhdGEoKS5sZW5ndGggPT0gMSkgLS0+XHJcbiAgICAgICAgPGg2IGRhdGEtYmluZD1cImh0bWw6IGRpc3BsYXlcIj48L2g2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiA1cHg7XCI+PC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRzWzFdLlJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJy0tPlxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LXRhYmxlJywgZGF0YTogJHBhcmVudC5SZXBvcnREYXRhIH1cIj48L2Rpdj5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50c1sxXS5SZXBvcnRUeXBlKCkgPT0gJ1NpbmdsZSctLT5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC13aWRnZXQnLCBkYXRhOiAkcGFyZW50LlJlcG9ydERhdGEgfVwiPjwvZGl2PlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIC9rbyAtLT5cclxuPC9zY3JpcHQ+XHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiYWRtaW4tbW9kZS10ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cImdhcDogMTBweDtcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBhZG1pbk1vZGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIGQtaW5saW5lLWJsb2NrXCIgc3R5bGU9XCJmb250LXNpemU6IDEwcHQ7IHBhZGRpbmc6IDVweDsgbWF4LXdpZHRoOiAzNTBweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgbWFyZ2luLWJvdHRvbTogMDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXVzZXItY2lyY2xlXCI+PC9pPiBZb3UgY2FuIG1hbmFnZSBSZXBvcnRzL0Rhc2hib2FyZHMgZm9yIGFsbCB1c2Vyc1xyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1YmJsZS1iYWRnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEFkbWluIE1vZGVcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBhZG1pbk1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJtYW5hZ2UtYWNjZXNzLXRlbXBsYXRlXCI+XHJcbiAgICA8aDU+PHNwYW4gY2xhc3M9XCJmYSBmYS1rZXlcIj48L3NwYW4+TWFuYWdlIEFjY2VzczwvaDU+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcGFuZWwtZGVmYXVsdCBwYW5lbC1ib2R5XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC0zIGNvbC1zbS0zIGNvbnRyb2wtbGFiZWxcIj5DbGllbnQgSWQgdG8gUmVzdHJpY3QgQWNjZXNzPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIGNvbC1zbS0zXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdGV4dC1ib3ggc2luZ2xlLWxpbmVcIiB0eXBlPVwidGV4dFwiIGRhdGEtYmluZD1cInZhbHVlOiBjbGllbnRJZFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xIGNvbC1zbS0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLXBsYWNlbWVudD1cInJpZ2h0XCIgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGUgaGVscHRpcFwiIHRpdGxlPVwiTGVhdmUgYmxhbmsgdG8gZ2l2ZSBhbGwgY2xpZW50cyBhY2Nlc3MgKEdsb2JhbCBSZXBvcnRzKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saWdodGJ1bGItbyBmYS0yeFwiPjwvc3Bhbj4mbmJzcDtVc2VyIGxldmVsIHJpZ2h0cyBvdmVycmlkZSBSb2xlIGxldmVsIHJpZ2h0cy4gTm8gc2VsZWN0aW9uIGZvciBhIHJ1bGUgaW1wbGllcyByZXBvcnQgaXMgYXZhaWxhYmxlIHRvIGFsbC5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBzbWFsbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwidG9nZ2xlLWljb24gZmFcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlTWFuYWdlVXNlcnMsY3NzOiB7ICdmYS1jaGV2cm9uLWRvd24nOiBzaG93TWFuYWdlVXNlcnMoKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvd01hbmFnZVVzZXJzKCkgfVwiPjwvaT4gPGI+TWFuYWdlIGJ5IFVzZXI8L2I+IChhbGxvdyBlZGl0KVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93TWFuYWdlVXNlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBncm91cGVkVXNlcnMoKS5sZW5ndGggPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogZ3JvdXBlZFVzZXJzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1oZWFkZXJcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IHNob3coIXNob3coKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSB0b2dnbGUtaWNvblwiIGRhdGEtYmluZD1cImNzczogeyAnZmEtY2hldnJvbi1kb3duJzogc2hvdygpLCAnZmEtY2hldnJvbi1yaWdodCc6ICFzaG93KCkgfVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBkYXRhLWJpbmQ9XCJ0ZXh0OiBjYXRlZ29yeVwiPjwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiB1c2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2VsZWN0ZWRcIj4gJm5ic3A7IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6IGdyb3VwZWRVc2VycygpLmxlbmd0aCA9PSAwICYmIHVzZXJzLmxlbmd0aCA+IDAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiB1c2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPiZuYnNwOzxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBncm91cGVkVXNlcnMoKS5sZW5ndGggPT0gMCAmJiB1c2Vycy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBVc2VycyBsaXN0IG5vdCBwb3B1bGF0ZWQgb3Igbm90IGFwcGxpY2FibGVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInRvZ2dsZS1pY29uIGZhXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZVZpZXdVc2Vycyxjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3dWaWV3VXNlcnMoKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvd1ZpZXdVc2VycygpIH1cIj48L2k+IDxiPlZpZXcgb25seSBieSBVc2VyPC9iPiAobm8gZWRpdC9kZWxldGUpXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dWaWV3VXNlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBncm91cGVkVmlld09ubHlVc2VycygpLmxlbmd0aCA+IDAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBncm91cGVkVmlld09ubHlVc2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktaGVhZGVyXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyBzaG93KCFzaG93KCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgdG9nZ2xlLWljb25cIiBkYXRhLWJpbmQ9XCJjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3coKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvdygpIH1cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgZGF0YS1iaW5kPVwidGV4dDogY2F0ZWdvcnlcIj48L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogdmlld09ubHlVc2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2VsZWN0ZWRcIj4gJm5ic3A7IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6IGdyb3VwZWRWaWV3T25seVVzZXJzKCkubGVuZ3RoID09IDAgJiYgdmlld09ubHlVc2Vycy5sZW5ndGggPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogdmlld09ubHlVc2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPiZuYnNwOzxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBncm91cGVkVmlld09ubHlVc2VycygpLmxlbmd0aCA9PSAwICYmIHVzZXJzLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJzIGxpc3Qgbm90IHBvcHVsYXRlZCBvciBub3QgYXBwbGljYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWZub3Q6IGlzRGFzaGJvYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ0b2dnbGUtaWNvbiBmYVwiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVEZWxldGVVc2Vycyxjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3dEZWxldGVVc2VycygpLCAnZmEtY2hldnJvbi1yaWdodCc6ICFzaG93RGVsZXRlVXNlcnMoKSB9XCI+PC9pPjxiPkRlbGV0ZSBieSBVc2VyPC9iPiAoYWxsb3cgZGVsZXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29udGFpbmVyLWZsdWlkXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2hvd0RlbGV0ZVVzZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogZ3JvdXBlZERlbGV0ZU9ubHlVc2VycygpLmxlbmd0aCA+IDAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBncm91cGVkRGVsZXRlT25seVVzZXJzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1oZWFkZXJcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IHNob3coIXNob3coKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSB0b2dnbGUtaWNvblwiIGRhdGEtYmluZD1cImNzczogeyAnZmEtY2hldnJvbi1kb3duJzogc2hvdygpLCAnZmEtY2hldnJvbi1yaWdodCc6ICFzaG93KCkgfVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBkYXRhLWJpbmQ9XCJ0ZXh0OiBjYXRlZ29yeVwiPjwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBkZWxldGVPbmx5VXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+ICZuYnNwOyA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiB0ZXh0XCI+PC9zcGFuPiZuYnNwOyA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBncm91cGVkRGVsZXRlT25seVVzZXJzKCkubGVuZ3RoID09IDAgJiYgZGVsZXRlT25seVVzZXJzLmxlbmd0aCA+IDAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBkZWxldGVPbmx5VXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+Jm5ic3A7PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogdGV4dFwiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IGdyb3VwZWREZWxldGVPbmx5VXNlcnMoKS5sZW5ndGggPT0gMCAmJiAgdXNlcnMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJzIGxpc3Qgbm90IHBvcHVsYXRlZCBvciBub3QgYXBwbGljYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInRvZ2dsZS1pY29uIGZhXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZU1hbmFnZVJvbGVzLGNzczogeyAnZmEtY2hldnJvbi1kb3duJzogc2hvd01hbmFnZVJvbGVzKCksICdmYS1jaGV2cm9uLXJpZ2h0JzogIXNob3dNYW5hZ2VSb2xlcygpIH1cIj48L2k+PGI+TWFuYWdlIGJ5IFVzZXIgUm9sZTwvYj4gKGFsbG93IGVkaXQpXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dNYW5hZ2VSb2xlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogdXNlclJvbGVzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+Jm5ic3A7PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogdGV4dFwiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IHVzZXJSb2xlcy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBVc2VyIFJvbGVzIGxpc3Qgbm90IHBvcHVsYXRlZCBvciBub3QgYXBwbGljYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwidG9nZ2xlLWljb24gZmFcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlVmlld1JvbGVzLGNzczogeyAnZmEtY2hldnJvbi1kb3duJzogc2hvd1ZpZXdSb2xlcygpLCAnZmEtY2hldnJvbi1yaWdodCc6ICFzaG93Vmlld1JvbGVzKCkgfVwiPjwvaT48Yj5WaWV3IG9ubHkgYnkgVXNlciBSb2xlPC9iPiAobm8gZWRpdC9kZWxldGUpXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dWaWV3Um9sZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IHZpZXdPbmx5VXNlclJvbGVzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+Jm5ic3A7PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogdGV4dFwiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IHVzZXJSb2xlcy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBVc2VyIFJvbGVzIGxpc3Qgbm90IHBvcHVsYXRlZCBvciBub3QgYXBwbGljYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmbm90OiBpc0Rhc2hib2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwidG9nZ2xlLWljb24gZmFcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlRGVsZXRlUm9sZXMsY3NzOiB7ICdmYS1jaGV2cm9uLWRvd24nOiBzaG93RGVsZXRlUm9sZXMoKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvd0RlbGV0ZVJvbGVzKCkgfVwiPjwvaT48Yj5EZWxldGUgYnkgVXNlciBSb2xlPC9iPiAoYWxsb3cgZGVsZXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29udGFpbmVyLWZsdWlkXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2hvd0RlbGV0ZVJvbGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogZGVsZXRlT25seVVzZXJSb2xlcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2VsZWN0ZWRcIj4mbmJzcDs8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiB0ZXh0XCI+PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiB1c2VyUm9sZXMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXIgUm9sZXMgbGlzdCBub3QgcG9wdWxhdGVkIG9yIG5vdCBhcHBsaWNhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImZpbHRlci1ncm91cFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInF1ZXJ5LWJ1aWxkZXIgZm9ybS1pbmxpbmVcIiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBGaWx0ZXJHcm91cHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicnVsZXMtZ3JvdXAtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydWxlcy1ncm91cC1oZWFkZXJcIiBkYXRhLWJpbmQ9XCJhdHRyOiB7cGFyZW50ZGl2aWQ6IGdlbmVyYXRlVW5pcXVlSWQoKX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogIWlzUm9vdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtdG9nZ2xlIGJ0bi1ncm91cC1zbVwiIGRhdGEtYnMtdG9nZ2xlPVwiYnV0dG9uc1wiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBhY3RpdmVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBkYXRhLWJpbmQ9XCJhdHRyOiB7IG5hbWU6ICdhbmRPckdyb3VwLScgKyAkZWxlbWVudC5jbG9zZXN0KCcucnVsZXMtZ3JvdXAtaGVhZGVyJykuZ2V0QXR0cmlidXRlKCdwYXJlbnRkaXZpZCcpIH0sIGNoZWNrZWQ6IEFuZE9yXCIgdmFsdWU9XCJBbmRcIiAvPiBBbmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGFjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBkYXRhLWJpbmQ9XCJhdHRyOiB7IG5hbWU6ICdhbmRPckdyb3VwLScgKyAkZWxlbWVudC5jbG9zZXN0KCcucnVsZXMtZ3JvdXAtaGVhZGVyJykuZ2V0QXR0cmlidXRlKCdwYXJlbnRkaXZpZCcpIH0sIGNoZWNrZWQ6IEFuZE9yXCIgdmFsdWU9XCJPclwiIC8+IE9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQuUmVtb3ZlRmlsdGVyR3JvdXAsIHZpc2libGU6ICFpc1Jvb3RcIj5SZW1vdmUgR3JvdXA8L2J1dHRvbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBpc1Jvb3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0IHBhZGRlZC1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPiAmbmJzcDtGaWx0ZXIgQ29uZGl0aW9uczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydWxlcy1ncm91cC1ib2R5XCIgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnZmlsdGVyLWlubmVyJ31cIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJmbHktZmlsdGVyLXRlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiIGRhdGEtYmluZD1cInZpc2libGU6IEZseUZpbHRlcnMoKS5sZW5ndGg+MCB8fCBEb250RXhlY3V0ZU9uUnVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxhIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIiBkYXRhLWJpbmQ9XCJhdHRyOiB7J2RhdGEtYnMtdGFyZ2V0JzogJyNmaWx0ZXItcGFuZWwtJyArIFJlcG9ydElEKCkgfVwiIGhyZWY9XCIjXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbHRlclwiPjwvaT4gQ2hvb3NlIEZpbHRlcnNcclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiYXR0cjoge2lkOiAnZmlsdGVyLXBhbmVsLScgKyBSZXBvcnRJRCgpIH0sIGNzczoge2NvbGxwYXNlZDogIURvbnRFeGVjdXRlT25SdW4oKSwgY29sbGFwc2U6ICFEb250RXhlY3V0ZU9uUnVuKCl9XCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogRmx5RmlsdGVycyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTUgY29sLXhzLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBGaWVsZFwiIGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHRpdGxlPVwiQXBwbHkgdGhpcyBmaWx0ZXJcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiAkcGFyZW50LkFwcGx5LCBkaXNhYmxlZDogZm9yY2VkXCIgLz4gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRGaWx0ZXJOYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBGaWVsZFwiIGNsYXNzPVwiY29sLXNtLTIgY29sLXhzLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudC5BcHBseVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZGF0YS1iaW5kPVwib3B0aW9uczogZmllbGRGaWx0ZXIsIHZhbHVlOiAkcGFyZW50Lk9wZXJhdG9yXCIgcmVxdWlyZWQ+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIiBjbGFzcz1cImNvbC1zbS01IGNvbC14cy01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6ICRwYXJlbnQuQXBwbHlcIiBkYXRhLXBhcmVudHByZWZpeD1cIkZcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncmVwb3J0LWZpbHRlcicsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogRXhlY3V0ZVJlcG9ydFwiPlJ1bjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiZmlsdGVyLWlubmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicnVsZXMtbGlzdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJydWxlLWNvbnRhaW5lclwiIGRhdGEtYmluZD1cInZpc2libGU6IEZpbHRlcnMoKS5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIHRhYmxlLWJvcmRlcmxlc3NcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5GaWVsZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5GaWx0ZXI8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5IGRhdGEtYmluZD1cImZvcmVhY2g6IEZpbHRlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJydWxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgZGF0YS1iaW5kPVwidmFsdWU6IEFuZE9yLCB2aXNpYmxlOiAkaW5kZXgoKT4wXCIgY2xhc3M9XCJmb3JtLXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkFuZDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPk9yPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgZGF0YS1iaW5kPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMl0uc2VsZWN0ZWRGaWVsZHNDYW5GaWx0ZXIgIT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICRwYXJlbnRzWyRwYXJlbnRzLmxlbmd0aC0yXS5zZWxlY3RlZEZpZWxkc0NhbkZpbHRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMV0uc2VsZWN0ZWRGaWVsZHNDYW5GaWx0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ3NlbGVjdGVkRmllbGROYW1lJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNDYXB0aW9uOiAnUGxlYXNlIENob29zZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRmllbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyOiB7cmVxdWlyZWQ6IEZpZWxkKCk9PW51bGw/J3JlcXVpcmVkJzpmYWxzZX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlOiBGaWVsZCgpICYmIEZpZWxkKCkuZm9yY2VkXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgZGF0YS1iaW5kPVwib3B0aW9uczogZmllbGRGaWx0ZXIsIHZhbHVlOiAkcGFyZW50Lk9wZXJhdG9yXCIgcmVxdWlyZWQ+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IEZpZWxkXCIgZGF0YS1wYXJlbnRwcmVmaXg9XCJNXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdyZXBvcnQtZmlsdGVyJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBGaWVsZCgpICYmIEZpZWxkKCkuZmllbGRUeXBlID09ICdEYXRlVGltZScgJiYgT3BlcmF0b3IoKSA9PSAncmFuZ2UnICYmICRpbmRleCgpPT0wIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRzWyRwYXJlbnRzLmxlbmd0aC0yXS5jYW5BZGRTZXJpZXMgIT0gdW5kZWZpbmVkICYmICRwYXJlbnRzWyRwYXJlbnRzLmxlbmd0aC0yXS5jYW5BZGRTZXJpZXMoKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnRzWyRwYXJlbnRzLmxlbmd0aC0yXS5BZGRTZXJpZXMuYmluZCgkZGF0YSlcIj5BZGQgQ29tcGFyaXNvbjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0va28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTJdLmNhbkFkZFNlcmllcyA9PSB1bmRlZmluZWQgJiYgJHBhcmVudENvbnRleHQuJHBhcmVudC5jYW5BZGRTZXJpZXMgIT0gdW5kZWZpbmVkICYmICRwYXJlbnRDb250ZXh0LiRwYXJlbnQuY2FuQWRkU2VyaWVzKCktLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnRDb250ZXh0LiRwYXJlbnQuQWRkU2VyaWVzLmJpbmQoJGRhdGEpXCI+QWRkIENvbXBhcmlzb248L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0va28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogRmllbGQoKSAmJiBGaWVsZCgpLmZvcmNlZFwiIGNsYXNzPVwiYmFkZ2UgYmctaW5mb1wiPlJlcXVpcmVkIEZpbHRlcjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQuUmVtb3ZlRmlsdGVyLCBoaWRkZW46IEZpZWxkKCkgJiYgRmllbGQoKS5mb3JjZWRcIiB0aXRsZT1cIlJlbW92ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2hcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgc3R5bGU9XCJmbGV4LWdyb3c6IDE7XCIgZGF0YS1iaW5kPVwid2l0aDogRmllbGQsIGhpZGRlbjogZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2ZpbHRlci1wYW5lbC5jYXJkLWJvZHkuY29sbGFwc2UnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidG4gYnRuLXNtXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IGZpbHRlck9uRmx5KCFmaWx0ZXJPbkZseSgpKTsgfSwgY3NzOiB7J2J0bi1zdWNjZXNzJzogZmlsdGVyT25GbHkoKT09dHJ1ZSwgJ2J0bi1zZWNvbmRhcnknOiBmaWx0ZXJPbkZseSgpPT1mYWxzZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWZpbHRlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiRmlsdGVyIG9uIFJlcG9ydFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IGNvbXBhcmVUbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+Jm5ic3A7PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0XCI+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc21cIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudHNbMl0uUmVtb3ZlU2VyaWVzXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaC1vXCI+PC9zcGFuPjwvYnV0dG9uPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm11dGVkXCI+Q29tcGFyZSB0bzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZGF0YS1iaW5kPVwib3B0aW9uczogUmFuZ2UsIHZhbHVlOiBWYWx1ZVwiIHJlcXVpcmVkPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJydWxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ2ZpbHRlci1ncm91cCd9XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogQWRkRmlsdGVyXCI+QWRkIEZpbHRlcjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IEFkZEZpbHRlckdyb3VwXCI+QWRkIEZpbHRlciBHcm91cDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImZpbHRlci1wYXJhbWV0ZXJzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImhpZGRlbjogc2hvd1BhcmFtZXRlcnNcIj5ObyBmaWx0ZXJzIGF2YWlsYWJsZSB0byBjaG9vc2U8L3NwYW4+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciB0YWJsZS1ib3JkZXJsZXNzXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2hvd1BhcmFtZXRlcnNcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAzMCVcIj5GaWx0ZXI8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAyMCVcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAzMCVcIj5WYWx1ZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dGJvZHkgZGF0YS1iaW5kPVwiZm9yZWFjaDogUGFyYW1ldGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgPHRyIGRhdGEtYmluZD1cImlmbm90OiBIaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZGF0YS1iaW5kPVwidGV4dDogRGlzcGxheU5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgZGF0YS1iaW5kPVwib3B0aW9uczogb3BlcmF0b3JzLCB2YWx1ZTogT3BlcmF0b3JcIiByZXF1aXJlZD48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIiBkYXRhLXBhcmVudHByZWZpeD1cIlBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3JlcG9ydC1maWx0ZXInLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtc2NoZWR1bGVcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogc2NoZWR1bGVCdWlsZGVyXCIgaWQ9XCJzY2hlZHVsZS1idWlsZGVyLWRpdlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBoYXNTY2hlZHVsZVwiIGlkPVwic2NoZWR1bGVSZXBvcnRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic2NoZWR1bGVSZXBvcnRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgU2V0IFNjaGVkdWxlIHRvIHNlbmQgYnkgRW1haWxcclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBoYXNTY2hlZHVsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lLTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkT3B0aW9uKCkgIT0gJ29uY2UnID8gJ0V2ZXJ5ICcgOiAnJ1wiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiByZXF1aXJlZCBkYXRhLWJpbmQ9XCJvcHRpb25zOiBvcHRpb25zLCB2YWx1ZTogc2VsZWN0ZWRPcHRpb25cIiBzdHlsZT1cIm1pbi13aWR0aDogODBweDtcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogc2VsZWN0ZWRPcHRpb24oKSA9PSAnb25jZSdcIiBjbGFzcz1cIm1lLTMgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICZuYnNwO29uJm5ic3A7PGlucHV0IGRhdGEtYmluZD1cImRhdGVwaWNrZXI6IHNlbGVjdGVkRGF0ZSwgZGF0ZXBpY2tlck9wdGlvbnM6IHt2YWx1ZTogc2VsZWN0ZWREYXRlfVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBzaG93RGF5c1wiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtvbiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG11bHRpcGxlIGNsYXNzPVwiZm9ybS1zZWxlY3QgbXMtMlwiIHJlcXVpcmVkIGRhdGEtYmluZD1cInNlbGVjdDI6IHsgcGxhY2Vob2xkZXI6ICdDaG9vc2UgRGF5cycsIGFsbG93Q2xlYXI6IHRydWUgfSwgb3B0aW9uczogZGF5cywgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZERheXNcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBzaG93RGF0ZXNcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7b24mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBtdWx0aXBsZSBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQgZGF0YS1iaW5kPVwic2VsZWN0MjogeyBwbGFjZWhvbGRlcjogJ0Nob29zZSBEYXRlcycsIGFsbG93Q2xlYXI6IHRydWUgfSwgb3B0aW9uczogZGF0ZXMsIHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWREYXRlc1wiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IHNob3dNb250aHNcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7b24mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBtdWx0aXBsZSBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQgZGF0YS1iaW5kPVwic2VsZWN0MjogeyBwbGFjZWhvbGRlcjogJ0Nob29zZSBNb250aHMnLCBhbGxvd0NsZWFyOiB0cnVlIH0sIG9wdGlvbnM6IG1vbnRocywgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE1vbnRoc1wiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IHNob3dBdFRpbWVcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDthdCZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgbWUtMlwiIHN0eWxlPVwibWluLXdpZHRoOiA2MHB4O1wiIGRhdGEtYmluZD1cIm9wdGlvbnM6IGhvdXJzLCB2YWx1ZTogc2VsZWN0ZWRIb3VyXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBtZS0yXCIgc3R5bGU9XCJtaW4td2lkdGg6IDYwcHg7XCIgZGF0YS1iaW5kPVwib3B0aW9uczogbWludXRlcywgdmFsdWU6IHNlbGVjdGVkTWludXRlXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwibWluLXdpZHRoOiA4MHB4O1wiIGRhdGEtYmluZD1cInZhbHVlOiBzZWxlY3RlZEFtUG1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+QU08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+UE08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgUmVwb3J0IHdpbGwgYmUgcnVuIGFuZCBlbWFpbGVkIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkT3B0aW9uKCkgIT0gJ29uY2UnID8gJ2V2ZXJ5JyA6ICcnXCI+PC9zcGFuPiA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZE9wdGlvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImlmOiBzZWxlY3RlZE9wdGlvbigpID09ICdvbmNlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIG9uIDxzcGFuIGNsYXNzPVwiZXJyb3JcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhc2VsZWN0ZWREYXRlKClcIj5QbGVhc2UgcGljayBhIERhdGU8L3NwYW4+IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkRGF0ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImlmOiBzaG93RGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIG9uIDxzcGFuIGNsYXNzPVwiZXJyb3JcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzZWxlY3RlZERheXMoKS5sZW5ndGggPT0gMFwiPlBsZWFzZSBwaWNrIERheShzKTwvc3Bhbj4gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWREYXlzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwiaWY6IHNob3dEYXRlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIG9uIDxzcGFuIGNsYXNzPVwiZXJyb3JcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzZWxlY3RlZERhdGVzKCkubGVuZ3RoID09IDBcIj5QbGVhc2UgcGljayBEYXRlKHMpPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImZvcmVhY2g6IHNlbGVjdGVkRGF0ZXNcIj48c3BhbiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkaW5kZXgoKT4wXCI+LCA8L3NwYW4+PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogJGRhdGEgPT0gMSA/ICcxc3QnOiAoJGRhdGEgPT0gMiA/ICcybmQnIDogKCRkYXRhID09IDMgPyAnM3JkJyA6ICgkZGF0YSA9PSAzMSA/ICczMXN0JyA6ICRkYXRhKyd0aCcpKSlcIj48L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwiaWY6IHNob3dNb250aHNcIj5cclxuICAgICAgICAgICAgICAgICAgICBvZiA8c3BhbiBjbGFzcz1cImVycm9yXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2VsZWN0ZWRNb250aHMoKS5sZW5ndGggPT0gMFwiPlBsZWFzZSBwaWNrIE1vbnRoKHMpPC9zcGFuPiA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZE1vbnRoc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImlmOiBzaG93QXRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgYXQgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRIb3VyXCI+PC9zcGFuPjo8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZE1pbnV0ZVwiPjwvc3Bhbj4gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRBbVBtXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTMgY29sLWZvcm0tbGFiZWxcIj5FbWFpbCB0bzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwidmFsdWU6IGVtYWlsVG9cIiBwbGFjZWhvbGRlcj1cIkVudGVyIEVtYWlsIEFkZHJlc3NlcyBzZXBhcmF0ZWQgYnkgY29tbWEgdG8gc2VuZCB0aGUgUmVwb3J0IHRvXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMSBjb2wtZm9ybS1sYWJlbFwiPkZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cInZhbHVlOiBmb3JtYXQsZXZlbnQ6IHsgY2hhbmdlOiBvbkZvcm1hdENoYW5nZSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiRVhDRUxcIj5FeGNlbDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LmNhbkRyaWxsZG93biAmJiAkcGFyZW50LmNhbkRyaWxsZG93bigpXCIgdmFsdWU9XCJFWENFTC1TVUJcIj5FeGNlbCAoRXhwYW5kZWQpPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiQ1NWXCI+Q1NWPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiUERGXCI+UERGPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiV09SRFwiPldvcmQ8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJMSU5LXCI+TGluazwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTMgY29sLWZvcm0tbGFiZWxcIj5QaWNrIFRpbWUgWm9uZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS05XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IHRpbWV6b25PcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNUZXh0OiAnZGlzcGxheU5hbWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVmFsdWU6ICd0aW1lWm9uZUlkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkVGltZXpvbmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdDI6IHtkcm9wZG93blBhcmVudDogJCgnI3NjaGVkdWxlLWJ1aWxkZXItZGl2JyksIGFsbG93Q2xlYXI6IHRydWUsIHBsYWNlaG9sZGVyOiAnU2V0IGEgdGltZSB6b25lIHRvIHNlbmQgcmVwb3J0J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiIHRpdGxlPVwiU2V0IGEgZGF0ZSB0byBzdGFydCBzZW5kaW5nIHNjaGVkdWxlZCByZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBoYXNTY2hlZHVsZVN0YXJ0XCIgaWQ9XCJzY2hlZHVsZVN0YXJ0Q2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJzY2hlZHVsZVN0YXJ0Q2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY2hlZHVsZSBTdGFydCBEYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIiBkYXRhLWJpbmQ9XCJpZjogaGFzU2NoZWR1bGVTdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cImRhdGVwaWNrZXI6IHNjaGVkdWxlU3RhcnQsIGRhdGVwaWNrZXJPcHRpb25zOiB7dmFsdWU6IHNjaGVkdWxlU3RhcnR9XCIgdGl0bGU9XCJTY2hlZHVsZWQgUmVwb3J0IHdpbGwgbm90IGJlIHNlbnQgYmVmb3JlIHRoaXMgZGF0ZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiIHRpdGxlPVwiU2V0IGEgZGF0ZSB0byBzdG9wIHNlbmRpbmcgc2NoZWR1bGVkIHJlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGhhc1NjaGVkdWxlRW5kXCIgaWQ9XCJzY2hlZHVsZUVuZENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic2NoZWR1bGVFbmRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjaGVkdWxlIEVuZCBEYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIiBkYXRhLWJpbmQ9XCJpZjogaGFzU2NoZWR1bGVFbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJkYXRlcGlja2VyOiBzY2hlZHVsZUVuZCwgZGF0ZXBpY2tlck9wdGlvbnM6IHt2YWx1ZTogc2NoZWR1bGVFbmR9XCIgdGl0bGU9XCJTY2hlZHVsZWQgUmVwb3J0IHdpbGwgbm90IGJlIHNlbnQgYWZ0ZXIgdGhpcyBkYXRlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtZmllbGQtb3B0aW9uc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiIHN0eWxlPVwibWF4LXdpZHRoOiA3NTBweDtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6IGVkaXRGaWVsZE9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj48c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmaWVsZE5hbWVcIj48L3NwYW4+IC0gU2V0dXAgQWRkaXRpb25hbCBGaWVsZCBPcHRpb25zPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG5lZWRzLXZhbGlkYXRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxiPkNvbHVtbiBGb3JtYXQgU2V0dGluZ3M8L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5QaWNrIERhdGEgRm9ybWF0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBbJ0RheXMnLCAnSG91cnMnLCAnTWludXRlcycsICdTZWNvbmRzJ10uaW5kZXhPZihmaWVsZEZvcm1hdCgpKSA+PSAwID8gWydEYXlzJywgJ0hvdXJzJywgJ01pbnV0ZXMnLCAnU2Vjb25kcyddIDogJHBhcmVudHNbMV0uZmllbGRGb3JtYXRUeXBlcywgdmFsdWU6IGZpZWxkRm9ybWF0XCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6ICRwYXJlbnRzWzFdLmRlY2ltYWxGb3JtYXRUeXBlcy5pbmRleE9mKCRkYXRhLmZpZWxkRm9ybWF0KCkpPj0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5QaWNrIERlY2ltYWwgUGxhY2VzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwidmFsdWU6IGRlY2ltYWxQbGFjZXNcIiBwbGFjZWhvbGRlcj1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IGZpZWxkRm9ybWF0KCk9PSdDdXJyZW5jeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPlBpY2sgQ3VycmVuY3kgRm9ybWF0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiByZXF1aXJlZCBkYXRhLWJpbmQ9XCJvcHRpb25zOiAkcGFyZW50c1sxXS5jdXJyZW5jeUZvcm1hdHMsIG9wdGlvbnNUZXh0OiAnZGlzcGxheScsb3B0aW9uc1ZhbHVlOiAndmFsdWUnLCB2YWx1ZTogY3VycmVuY3lGb3JtYXRcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogZmllbGRGb3JtYXQoKT09J0RhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5QaWNrIERhdGUgRm9ybWF0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiAkcGFyZW50c1sxXS5kYXRlRm9ybWF0cywgdmFsdWU6IGRhdGVGb3JtYXRcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCIgZGF0YS1iaW5kPVwidmlzaWJsZTpzZWxlY3RlZEFnZ3JlZ2F0ZSgpPT0nUGl2b3QnICYmIGZpZWxkRm9ybWF0KCk9PSdEYXRlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+UGl2b3QgRHJpbGxkb3duIERhdGUgRm9ybWF0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBbJycsICdEYXknLCAnTW9udGgnLCAnWWVhcicsICdNb250aC9ZZWFyJ10sIHZhbHVlOiBkcmlsbERhdGFGb3JtYXRcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IGZpZWxkRm9ybWF0KCk9PSdEYXRlJyAmJiBkYXRlRm9ybWF0KCk9PT0nQ3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+RW50ZXIgQ3VzdG9tIERhdGUgRm9ybWF0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBjdXN0b21EYXRlRm9ybWF0XCIgcGxhY2Vob2xkZXI9XCJkZC9tbS95eXl5XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5DaG9vc2UgQ29sdW1uIExhYmVsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBmaWVsZExhYmVsXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5Jbm5lciBDb2x1bW4gTGFiZWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZpZWxkTGFiZWwyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5DaG9vc2UgVGV4dCBBbGlnbm1lbnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cIm9wdGlvbnM6ICRwYXJlbnRzWzFdLmZpZWxkQWxpZ25tZW50cywgdmFsdWU6IGZpZWxkQWxpZ25cIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5DaG9vc2UgV2lkdGggKGxlYXZlIGJsYW5rIGZvciBhdXRvKTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZmllbGRXaWR0aFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5IZWFkZXIgU2V0dGluZ3M8L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaWNrIFRleHQgQ29sb3I8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIHN0eWxlPVwid2lkdGg6IDUwcHg7IGhlaWdodDogMzhweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGhlYWRlckZvbnRDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHN0eWxlPVwid2lkdGg6IDEwMHB4XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBoZWFkZXJGb250Q29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgdGl0bGU9XCJBcHBseSB0byBhbGwgY29sdW1uc1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpe2FwcGx5QWxsSGVhZGVyRm9udENvbG9yKCFhcHBseUFsbEhlYWRlckZvbnRDb2xvcigpKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogYXBwbHlBbGxIZWFkZXJGb250Q29sb3IoKSA/ICdmYS1jaGVjaycgOiAnZmEtcGFzdGUnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UGljayBCYWNrZ3JvdW5kIENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDM4cHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBoZWFkZXJCYWNrQ29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOiAxMDBweFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogaGVhZGVyQmFja0NvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIHRpdGxlPVwiQXBwbHkgdG8gYWxsIGNvbHVtbnNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXthcHBseUFsbEhlYWRlckJhY2tDb2xvcighYXBwbHlBbGxIZWFkZXJCYWNrQ29sb3IoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFcIiBkYXRhLWJpbmQ9XCJjc3M6IGFwcGx5QWxsSGVhZGVyQmFja0NvbG9yKCkgPyAnZmEtY2hlY2snIDogJ2ZhLXBhc3RlJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBoZWFkZXJGb250Qm9sZFwiIGlkPVwiaGVhZGVyRm9udEJvbGRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJoZWFkZXJGb250Qm9sZENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvbGQgVGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiB0aXRsZT1cIkFwcGx5IHRvIGFsbCBjb2x1bW5zXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7YXBwbHlBbGxIZWFkZXJCb2xkKCFhcHBseUFsbEhlYWRlckJvbGQoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiBhcHBseUFsbEhlYWRlckJvbGQoKSA/ICdmYS1jaGVjaycgOiAnZmEtcGFzdGUnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5UZXh0IFNldHRpbmdzPC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UGljayBUZXh0IENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDM4cHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBmb250Q29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOiAxMDBweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvbnRDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiB0aXRsZT1cIkFwcGx5IHRvIGFsbCBjb2x1bW5zXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7YXBwbHlBbGxGb250Q29sb3IoIWFwcGx5QWxsRm9udENvbG9yKCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiBhcHBseUFsbEZvbnRDb2xvcigpID8gJ2ZhLWNoZWNrJyA6ICdmYS1wYXN0ZSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaWNrIEJhY2tncm91bmQgQ29sb3I8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIHN0eWxlPVwid2lkdGg6IDUwcHg7IGhlaWdodDogMzhweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGJhY2tDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHN0eWxlPVwid2lkdGg6IDEwMHB4O1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogYmFja0NvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIHRpdGxlPVwiQXBwbHkgdG8gYWxsIGNvbHVtbnNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXthcHBseUFsbEJhY2tDb2xvcighYXBwbHlBbGxCYWNrQ29sb3IoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFcIiBkYXRhLWJpbmQ9XCJjc3M6IGFwcGx5QWxsQmFja0NvbG9yKCkgPyAnZmEtY2hlY2snIDogJ2ZhLXBhc3RlJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBmb250Qm9sZFwiIGlkPVwiZm9udEJvbGRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJmb250Qm9sZENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvbGQgVGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiB0aXRsZT1cIkFwcGx5IHRvIGFsbCBjb2x1bW5zXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7YXBwbHlBbGxCb2xkKCFhcHBseUFsbEJvbGQoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiBhcHBseUFsbEJvbGQoKSA/ICdmYS1jaGVjaycgOiAnZmEtcGFzdGUnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkZGVkLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkge2FkZENvbmRpdGlvbmFsRm9ybWF0U2V0dGluZyhudWxsKX1cIj5BZGQgQ29uZGl0aW9uYWwgRm9ybWF0dGluZzwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImZvcmVhY2g6IGZpZWxkQ29uZHRpb25hbEZvcm1hdHNcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNDBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkNvbmRpdGlvbmFsIEZvcm1hdCAjPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogJGluZGV4KCkrMVwiPjwvc3Bhbj48L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQucmVtb3ZlU2V0dGluZ1wiPlJlbW92ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UGljayBUZXh0IENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIHN0eWxlPVwid2lkdGg6IDUwcHg7IGhlaWdodDogMzhweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvbnRDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOiAxMDBweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvbnRDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBpY2sgQmFja2dyb3VuZCBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDM4cHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBiYWNrQ29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBiYWNrQ29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogZm9udEJvbGRcIiBpZD1cImZvbnRCb2xkQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZvbnRCb2xkQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvbGQgVGV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtLTJcIiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBmaWx0ZXIuRmlsdGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBGaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBmaWVsZEZpbHRlciwgdmFsdWU6ICRwYXJlbnQuT3BlcmF0b3JcIiByZXF1aXJlZD48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIiBkYXRhLXBhcmVudHByZWZpeD1cIkNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3JlcG9ydC1maWx0ZXInLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cImlmOiAkcGFyZW50c1sxXS51c2VTdG9yZWRQcm9jKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBwdWxsLWxlZnRcIiBzdHlsZT1cInBhZGRpbmctdG9wOiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGNoZWNrT3V0ZXJHcm91cFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0ZXIgR3JvdXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGNhbmNlbEZpZWxkT3B0aW9uc1wiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogc2F2ZUZpZWxkT3B0aW9uc1wiPlNhdmUgQ2hhbmdlczwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWxpbmstZWRpdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiIHN0eWxlPVwibWF4LXdpZHRoOiA3NTBweDtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6IGVkaXRMaW5rRmllbGRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5TZXR1cCBMaW5rIEZpZWxkPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG5lZWRzLXZhbGlkYXRpb25cIiBkYXRhLWJpbmQ9XCJ3aXRoOiBsaW5rRmllbGRJdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+VGhpcyBmaWVsZCB3aWxsIGxpbmsgdG88L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiByZXF1aXJlZCBkYXRhLWJpbmQ9XCJvcHRpb25zOiBsaW5rVHlwZXMsIHZhbHVlOiBzZWxlY3RlZExpbmtUeXBlXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IExpbmtzVG9SZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPkxpbmsgdG8gdGhpcyBSZXBvcnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHJlcXVpcmVkIGRhdGEtYmluZD1cIm9wdGlvbnM6ICRwYXJlbnRDb250ZXh0LiRwYXJlbnQuU2F2ZWRSZXBvcnRzLCBvcHRpb25zVGV4dDogJ3JlcG9ydE5hbWUnLCBvcHRpb25zVmFsdWU6ICdyZXBvcnRJZCcsIHZhbHVlOiBMaW5rZWRUb1JlcG9ydElkLCBvcHRpb25zQ2FwdGlvbjogJ0Nob29zZSB0aGUgUmVwb3J0IHRvIGxpbmsgdG8nXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImlmOiBMaW5rZWRUb1JlcG9ydElkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBTZW5kQXNGaWx0ZXJQYXJhbWV0ZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZCBmaWVsZCB2YWx1ZSBhcyBSZXBvcnQgRmlsdGVyIFBhcmFtZXRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cImlmOiBTZW5kQXNGaWx0ZXJQYXJhbWV0ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPkxpbmsgdG8gdGhpcyBSZXBvcnQgRmlsdGVyPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiByZXF1aXJlZCBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhbGxGaWVsZHMsIG9wdGlvbnNUZXh0OiAnZmllbGROYW1lJywgb3B0aW9uc1ZhbHVlOiAnZmllbGRJZCcsIHZhbHVlOiBTZWxlY3RlZEZpbHRlcklkLCBvcHRpb25zQ2FwdGlvbjogJ0Nob29zZSB0aGUgRmllbGQgdG8gRmlsdGVyIGJ5IHZhbHVlJ1wiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZm5vdDogTGlua3NUb1JlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+TGluayB0byB0aGlzIFVSTDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIkVudGVyIGEgdXJsIHRvIG9wZW5cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogTGlua1RvVXJsXCIgdGl0bGU9XCJWYWxpZCBVUkwgbmVlZHMgdG8gc3RhcnQgd2l0aCBodHRwOi8vIG9yIGh0dHBzOi8vXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2VuZEFzUXVlcnlQYXJhbWV0ZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZCBmaWVsZCB2YWx1ZSBhcyBRdWVyeSBQYXJhbWV0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJpZjogU2VuZEFzUXVlcnlQYXJhbWV0ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPlBhcmFtZXRlciBOYW1lIHRvIHVzZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIkVudGVyIHBhcmFtZXRlciBuYW1lIHRvIHNlbmQgdmFsdWUgYXNcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogUXVlcnlQYXJhbWV0ZXJOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHJlbW92ZUxpbmtGaWVsZFwiPlJlbW92ZSBMaW5rPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBzYXZlTGlua0ZpZWxkXCI+U2F2ZSBDaGFuZ2VzPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJkZXNpZ25lci1jaG9vc2UtdmlzdWFsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlZpc3VhbGl6YXRpb24gT3B0aW9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ0xpc3QnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nTGlzdCcgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLWxpc3QtYWx0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5MaXN0PC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ1N1bW1hcnknKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nU3VtbWFyeScgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLXRhYmxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5TdW1tYXJ5PC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ0JhcicpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCk9PSdCYXInIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS1iYXItY2hhcnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwPkJhcjwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdQaWUnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nUGllJyB9XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtMnggZmEtcGllLWNoYXJ0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5QaWU8L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2V0UmVwb3J0VHlwZSgnTGluZScpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCk9PSdMaW5lJyB9XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtMnggZmEtbGluZS1jaGFydFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+TGluZTwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdDb21ibycpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCk9PSdDb21ibycgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLXNpZ25hbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+Q29tYm88L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2V0UmVwb3J0VHlwZSgnSHRtbCcpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCk9PSdIdG1sJyB9XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtMnggZmEtY29kZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+Q3VzdG9tPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ01hcCcpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCkuaW5kZXhPZignTWFwJyk9PTAgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLWdsb2JlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5NYXA8L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2V0UmVwb3J0VHlwZSgnSGVhdE1hcCcpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCkuaW5kZXhPZignSGVhdE1hcCcpPT0wIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS1tYXBcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwPkhlYXRNYXA8L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2V0UmVwb3J0VHlwZSgnU2luZ2xlJyk7IH0sIGNzczogeyBhY3RpdmU6IFJlcG9ydFR5cGUoKT09J1NpbmdsZScgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLXdpbmRvdy1tYXhpbWl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+S1BJPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ1RyZWVtYXAnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nVHJlZW1hcCcgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLXdpbmRvdy1yZXN0b3JlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5UcmVlbWFwPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ1Bpdm90Jyk7IH0sIGNzczogeyBhY3RpdmU6IFJlcG9ydFR5cGUoKT09J1Bpdm90JyB9XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtMnggZmEtcmFuZG9tXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5UcmFuc3Bvc2U8L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImRlc2lnbmVyLWNob29zZS1kYXRhXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnQgYnRuLWdyb3VwIGJ0bi1ncm91cC10b2dnbGVcIiByb2xlPVwiZ3JvdXBcIiBkYXRhLWJpbmQ9XCJpZjogUmVwb3J0SUQoKSA8PSAwXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpZ2h0IGFjdGl2ZVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAwcHg7XCIgdGl0bGU9XCJZb3UgY2FuIGNoYW5nZSB0aGUgRGF0YSBzb3VyY2Ugb25seSB3aGVuIGNyZWF0aW5nIGEgbmV3IHJlcG9ydCwgY2hhbmdpbmcgdGhpcyB3aWxsIGNsZWFyIGFsbCBzZWxlY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cImRhdGFvcHRpb25cIiBpZD1cInRhYmxlXCIgY2hlY2tlZCBkYXRhLWJpbmQ9XCJjaGVja2VkOiB1c2VTdG9yZWRQcm9jLCBjaGVja2VkVmFsdWU6IGZhbHNlXCI+IER5bmFtaWNcclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGlnaHQgYWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cImRhdGFvcHRpb25cIiBpZD1cInByb2NcIiB2YWx1ZT1cIjFcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiB1c2VTdG9yZWRQcm9jLCBjaGVja2VkVmFsdWU6IHRydWVcIj4gUHJlZGVmaW5lZFxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIiB0aXRsZT1cIkFkZCBDdXN0b20gRmllbGQgdXNpbmcgRm9ybXVsYVwiIGRhdGEtYmluZD1cImhpZGRlbjogaXNGdW5jdGlvbkZpZWxkKCkgfHwgdXNlU3RvcmVkUHJvYygpLCBjbGljazogY2FuY2VsRm9ybXVsYUZpZWxkLCB0ZXh0OiBpc0Zvcm11bGFGaWVsZCgpPyAnQ2FuY2VsJzogJ0N1c3RvbSBGaWVsZCcsIGNzczogeydidG4tcHJpbWFyeSc6ICFpc0Zvcm11bGFGaWVsZCgpLCAnYnRuLWRhbmdlcic6IGlzRm9ybXVsYUZpZWxkfVwiPjwvYT5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiIHRpdGxlPVwiQWRkIEN1c3RvbSBGaWVsZCB1c2luZyBGdW5jdGlvblwiIGRhdGEtYmluZD1cImhpZGRlbjogdHJ1ZSB8fCBpc0Zvcm11bGFGaWVsZCgpIHx8IHVzZVN0b3JlZFByb2MoKSwgY2xpY2s6IGZ1bmN0aW9uKCl7ZGVzaWduRnVuY3Rpb25GaWVsZCgpfSwgdGV4dDogaXNGdW5jdGlvbkZpZWxkKCk/ICdDYW5jZWwnOiAnRnVuY3Rpb24gRmllbGQnLCBjc3M6IHsnYnRuLXByaW1hcnknOiAhaXNGdW5jdGlvbkZpZWxkKCksICdidG4tZGFuZ2VyJzogaXNGdW5jdGlvbkZpZWxkfVwiPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIGRhdGEtYmluZD1cImRpc2FibGU6IGlzRm9ybXVsYUZpZWxkLCBoaWRkZW46IHVzZVN0b3JlZFByb2NcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiB0ZXh0UXVlcnkuc2VhcmNoRmllbGRzXCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPVwic2VhcmNoLWZpZWxkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJzZWxlY3QyOiB7ZHJvcGRvd25QYXJlbnQ6ICRyb290LmFjdGl2ZURlc2lnbigpID8gJCgnI2Nob29zZS1kYXRhLWRlc2lnbicpIDogJCgnI2Nob29zZS1kYXRhLWNhcmQnKSwgcGxhY2Vob2xkZXI6ICdTZWFyY2ggZm9yIGEgRGF0YSBGaWVsZC4uLicsIGFqYXg6IHsgdXJsOiB1cmwsIGRhdGFUeXBlOiAnanNvbicsIGRhdGE6IHF1ZXJ5LCBwcm9jZXNzUmVzdWx0czogcHJvY2Vzc1Jlc3VsdHMsIGhlYWRlcnM6IGhlYWRlcnMgfSwgbWluaW11bUlucHV0TGVuZ3RoOiAyLCBhbGxvd0NsZWFyOiB0cnVlIH0sIHZhbHVlOiBzZWxlY3RlZE9wdGlvblwiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIGRhdGEtYmluZD1cInZpc2libGU6IHVzZVN0b3JlZFByb2NcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJzZWxlY3QyVmFsdWU6IHtkcm9wZG93blBhcmVudDogJHJvb3QuYWN0aXZlRGVzaWduKCkgPyAkKCcjY2hvb3NlLWRhdGEtZGVzaWduJykgOiAkKCcjY2hvb3NlLWRhdGEtY2FyZCcpfSwgb3B0aW9uczogUHJvY3MsIG9wdGlvbnNDYXB0aW9uOiAnQ2hvb3NlIFNlY3Rpb24uLi4nLCBvcHRpb25zVGV4dDogJ0Rpc3BsYXlOYW1lJywgdmFsdWU6IFNlbGVjdGVkUHJvYywgdmlzaWJsZTogdXNlU3RvcmVkUHJvY1wiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgZGF0YS1iaW5kPVwiaGlkZGVuOiB1c2VTdG9yZWRQcm9jXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAxNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgU2VsZWN0IERhdGEgdG8gdXNlIGluIFJlcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGUgdGV4dC1tdXRlZFwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIHRpdGxlPVwiQ2hvb3NlIGEgdGFibGUgdG8gc2hvdyBmaWVsZHMgdG8gc2VsZWN0LlwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YS1zZWxlY3QtdHJlZVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBDYXRlZ29yaXplZFRhYmxlcyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IGlzRXhwYW5kZWQoIWlzRXhwYW5kZWQoKSk7IH0sIHZpc2libGU6IGNhdGVnb3J5TmFtZVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiBpc0V4cGFuZGVkKCkgPyAnZmEtY2hldnJvbi1kb3duIHRleHQtc2Vjb25kYXJ5JyA6ICdmYS1jaGV2cm9uLXJpZ2h0IHRleHQtc2Vjb25kYXJ5J1wiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogaXNFeHBhbmRlZCgpID8gJ2ZhLWZvbGRlci1vcGVuJyA6ICdmYS1mb2xkZXInXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBjYXRlZ29yeU5hbWVcIiBjbGFzcz1cIm1sLTJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcG9ydC1saXN0XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogaXNFeHBhbmRlZCgpLCBmb3JlYWNoOiB0YWJsZXNcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBib3JkZXItYm90dG9tIHB5LTIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyBzZWxlY3RUYWJsZSgkZGF0YSk7IH0sIGNzczogeyd0ZXh0LW11dGVkJzogIWlzRW5hYmxlZCgpfSwgc3R5bGU6IHtjdXJzb3I6IGlzRW5hYmxlZCgpID8gJ3BvaW50ZXInIDogJyd9LCBhdHRyOiB7dGl0bGU6ICFpc0VuYWJsZWQoKSA/ICdDYW5ub3QgdXNlIHRhYmxlIGFzIGpvaW5zIGRvIG5vdCBleGlzdCc6ICcnfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IGZhXCIgZGF0YS1iaW5kPVwiY3NzOiBpc0VuYWJsZWQoKSA/ICgkZGF0YSA9PT0gJHBhcmVudHNbMV0uU2VsZWN0ZWRUYWJsZSgpID8gJ2ZhLWNoZXZyb24tZG93bicgOiAnZmEtY2hldnJvbi1yaWdodCcpIDogJ2ZhLWJhbidcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtdGFibGVcIj48L3NwYW4+Jm5ic3A7PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogdGFibGVOYW1lXCIgY2xhc3M9XCJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkZGF0YSA9PT0gJHBhcmVudHNbMV0uU2VsZWN0ZWRUYWJsZSgpICYmICEkcGFyZW50c1sxXS5pc0Zvcm11bGFGaWVsZCgpICYmICEkcGFyZW50c1sxXS5TZWxlY3RlZFRhYmxlKCkuZHluYW1pY0NvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInNtYWxsIHRleHQtbXV0ZWRcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudHNbMV0uTW92ZUFsbEZpZWxkc1wiPlNlbGVjdCBhbGw8L2E+IHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInNtYWxsIHRleHQtbXV0ZWRcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudHNbMV0uUmVtb3ZlU2VsZWN0ZWRGaWVsZHNcIj5SZW1vdmUgYWxsPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGaWVsZHMgRXhwYW5kIEhlcmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6ICRkYXRhID09PSAkcGFyZW50c1sxXS5TZWxlY3RlZFRhYmxlKClcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMzBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6ICRwYXJlbnRzWzFdLkNob29zZUZpZWxkcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGJvcmRlci1ib3R0b20gcHktMiBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWRJbkFycmF5OiB7YXJyYXk6ICRwYXJlbnRzWzJdLmlzRm9ybXVsYUZpZWxkKCkgPyAkcGFyZW50c1syXS5mb3JtdWxhRmllbGRzIDogJHBhcmVudHNbMl0uU2VsZWN0ZWRGaWVsZHMsIHZhbHVlOiAkZGF0YX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmaWVsZE5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tL2tvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiZGVzaWduZXItc2VsZWN0ZWQtZGF0YVwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBTZWxlY3RlZEZpZWxkcygpLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgUGxlYXNlIGNob29zZSBkYXRhXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IFNlbGVjdGVkRmllbGRzKCkubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nQmFyJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gc21hbGwgcHktMSBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW9cIj48L3NwYW4+Jm5ic3A7Rm9yIEJhciBHcmFwaCwgdGhlIGZpcnN0IGZpZWxkIGJlbG93IHdpbGwgc2hvdyBvbiB0aGUgeC1heGlzLiBBbGwgb3RoZXIgbnVtZXJpYyBmaWVsZHMgd2lsbCBzaG93IG9uIHktYXhpcy5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBzbWFsbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBiYXJDaGFydEhvcml6b250YWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgSG9yaXpvbnRhbCBCYXIgQ2hhcnRcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBiYXJDaGFydFN0YWNrZWRcIiAvPlxyXG4gICAgICAgICAgICAgICAgU3RhY2tlZCBCYXIgQ2hhcnRcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdQaWUnXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBzbWFsbCBweS0xIG1iLTJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saWdodGJ1bGItb1wiPjwvc3Bhbj4mbmJzcDtGb3IgUGllIEdyYXBoLCB0aGUgZmlyc3QgZmllbGQgYmVsb3cgd2lsbCBiZSBncm91cGVkLCBhbmQgdGhlIGZpcnN0IG51bWVyaWMgZmllbGQgd2lsbCBzaG93IGFzIHRoZSByYXRpby5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBzbWFsbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBwaWVDaGFydERvbnV0XCIgLz5cclxuICAgICAgICAgICAgICAgIERvbnV0IENoYXJ0XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nVHJlZW1hcCdcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHNtYWxsIHB5LTEgbWItMFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vXCI+PC9zcGFuPiZuYnNwO0ZvciBUcmVlbWFwLCB0aGUgZGF0YSBtdXN0IGJlIGluIGEgaGllcmFyY2hpY2FsIGZvcm1hdCB3aXRoIDJuZCBjb2x1bW4gaGF2aW5nIHBhcmVudCBhbmQgdGhpcmQgY29sdW1uIGhhdmluZyBhIG51bWVyaWMgdmFsdWUuIFRoZSBkYXRhIG11c3QgaGF2ZSBhIHNpbmdsZSByb290IG5vZGUgaGF2aW5nIG51bGwgYXMgaXRzIHBhcmVudCBhcyB3ZWxsLlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0hlYXRNYXAnXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vIGZhLTJ4XCI+PC9zcGFuPiZuYnNwO0ZvciBIZWF0TWFwLCB0aGUgZmlyc3QgdHdvIGNvbHVtbnMgbXVzdCBiZSBudW1lcmljIHZhbHVlcyByZXByZXNlbnRpbmdcclxuICAgICAgICAgICAgICAgIDxzdHJvbmc+TGF0aXR1ZGU8L3N0cm9uZz4gYW5kIDxzdHJvbmc+TG9uZ2l0dWRlPC9zdHJvbmc+LiBBdCBsZWFzdCBvbmUgYWRkaXRpb25hbCBudW1lcmljIGNvbHVtbiBpcyByZXF1aXJlZCB0byBwcm92aWRlIHRoZVxyXG4gICAgICAgICAgICAgICAgPHN0cm9uZz5pbnRlbnNpdHk8L3N0cm9uZz4gb2YgZWFjaCBwb2ludC5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogaGVhdE1hcE9wdGlvbnMuc2hvd01hcmtlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgTWFya2VyXHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtMTIgZnctYm9sZFwiPkhlYXRtYXAgQ29sb3JzPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgbWItMlwiPiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZhbHVlOiBoZWF0TWFwT3B0aW9ucy5ncmFkaWVudDFcIiB0aXRsZT1cIkdyYWRpZW50IDFcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ2YWx1ZTogaGVhdE1hcE9wdGlvbnMuZ3JhZGllbnQyXCIgdGl0bGU9XCJHcmFkaWVudCAyXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmFsdWU6IGhlYXRNYXBPcHRpb25zLmdyYWRpZW50M1wiIHRpdGxlPVwiR3JhZGllbnQgM1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nTGluZSdcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHNtYWxsIHB5LTEgbWItMlwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vXCI+PC9zcGFuPiZuYnNwO0ZvciBMaW5lIEdyYXBoLCB0aGUgZmlyc3QgZmllbGQgYmVsb3cgd2lsbCBzaG93IG9uIHRoZSB4LWF4aXMuIEFsbCBvdGhlciBmaWVsZHMgd2lsbCBudW1lcmljIGZpZWxkcyB3aWxsIHNob3cgb24geS1heGlzLlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93IHNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGxpbmVDaGFydEFyZWFcIiAvPlxyXG4gICAgICAgICAgICAgICAgQXJlYSBDaGFydFxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0NvbWJvJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gc21hbGwgcHktMSBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW9cIj48L3NwYW4+Jm5ic3A7Rm9yIENvbWJvIEdyYXBoLCB0aGUgZmlyc3QgZmllbGQgYmVsb3cgd2lsbCBzaG93IG9uIHRoZSB4LWF4aXMuIEFsbCBvdGhlciBudW1lcmljIGZpZWxkcyB3aWxsIHNob3cgb24geS1heGlzLCBhbmQgeW91IGNhbiBjaG9vc2UgZGlzcGxheSBlYWNoIHNlcmllcyBhcyBsaW5lLCBiYXIgb3IgYXJlYS5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBzbWFsbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5EZWZhdWx0IFNlcmllcyBUeXBlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IHNlcmllc1R5cGVzLCB2YWx1ZTogY29tYm9DaGFydFR5cGVcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J1Bpdm90J1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gc21hbGwgcHktMSBtYi0wXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW9cIj48L3NwYW4+Jm5ic3A7Rm9yIFRyYW5zcG9zZSwgdGhlIGZpcnN0IGZpZWxkIGJlbG93IHdpbGwgYmUgdXNlZCB0byBQaXZvdC9UcmFuc3Bvc2UgdGhlIHJvd3MgYXMgY29sdW1ucywgYW5kIGl0IG11c3QgYmUgZ3JvdXBlZC5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nU2luZ2xlJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gc21hbGwgcHktMSBtYi0wXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW9cIj48L3NwYW4+Jm5ic3A7S1BJIGlzIGEgc2luZ2xlIHZhbHVlIHJlcG9ydCB0aGF0IGlzIGlkZWFsIGZvciBwbGFjaW5nIG9uIGEgRGFzaGJvYXJkLiBBbGwgZmllbGRzIGV4Y2VwdCBvbmUgbXVzdCBiZSBoaWRkZW4gZm9yIFdpZGdldHMuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0h0bWwnXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgc21hbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogZG9udEdyb3VwQ3VzdG9tXCIgLz5cclxuICAgICAgICAgICAgICAgIExpc3QgKERvbid0IFN1bW1hcml6ZSlcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdNYXAnXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBzbWFsbCBweS0xIG1iLTJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saWdodGJ1bGItb1wiPjwvc3Bhbj4mbmJzcDtGb3IgTWFwIEdyYXBoLCB0aGUgZmlyc3QgZmllbGQgYmVsb3cgaGFzIHRvIGJlIGEgUmVnaW9uLCBsaWtlIGEgQ291bnRyeS5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBzbWFsbFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMyBjb250cm9sLWxhYmVsXCI+TWFwIERpc3BsYXk8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTVcIj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IG1hcFJlZ2lvbnMsIHZhbHVlOiBtYXBSZWdpb25cIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dWwgY2xhc3M9XCJsaXN0LWdyb3VwXCIgZGF0YS1iaW5kPVwic29ydGFibGU6IHsgZGF0YTogU2VsZWN0ZWRGaWVsZHMsIG9wdGlvbnM6IHsgaGFuZGxlOiAnLnNvcnRhYmxlJywgY3Vyc29yOiAnbW92ZScsIHBsYWNlaG9sZGVyOiAnZHJvcC1oaWdobGlnaHQnIH0sIHN0cmF0ZWd5TW92ZTogdHJ1ZSB9XCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic29ydGFibGUgcHVsbC1sZWZ0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiAxNXB4O1wiIGRhdGEtYmluZD1cImlmbm90OiAkcGFyZW50LnVzZVN0b3JlZFByb2NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy12XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJEcmFnIHRvIHJlb3JkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY29sdW1uc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZEZpZWxkTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBpc0Zvcm11bGFGaWVsZCgpID8gJygnICsgZmllbGRGb3JtYXQoKSArICcpJyA6ICcnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInZpc2libGU6ICEkcGFyZW50LmlzRmllbGRWYWxpZEZvcllBeGlzKCRpbmRleCgpLCBmaWVsZFR5cGUgfHwgZmllbGRGb3JtYXQoKSwgc2VsZWN0ZWRBZ2dyZWdhdGUoKSkgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0nVHJlZW1hcCcgJiYgJHBhcmVudC5pc0NoYXJ0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1kYW5nZXJcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhZ3JvdXBJbkdyYXBoKClcIj5XaWxsIG5vdCBzaG93IGluIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICRwYXJlbnQuUmVwb3J0VHlwZVwiPjwvc3Bhbj5DaGFydDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5Jc1Bpdm90RmllbGRMYXN0Q29sdW1uKCRpbmRleCgpLHNlbGVjdGVkQWdncmVnYXRlKCkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctZGFuZ2VyXCIgPlBpdm90IGZpZWxkIGNhbm5vdCBiZSB0aGUgbGFzdCBjb2x1bW4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LklzRHluYW1pY0ZpZWxkRmlyc3RDb2x1bW4oJGluZGV4KCkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctZGFuZ2VyXCIgPkR5bmFtaWMgY2Fubm90IGJlIGZpcnN0IGNvbHVtbi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwibWFyZ2luLXRvcDogLTVweDtcIiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudC5BZ2dyZWdhdGVSZXBvcnQoKSAmJiAhJHBhcmVudC51c2VTdG9yZWRQcm9jKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbC1zbVwiIGRhdGEtYmluZD1cIm9wdGlvbnM6ICRwYXJlbnQuY2FuRHJpbGxkb3duKCkgJiYgJGluZGV4KCk+MCA/IGZpZWxkQWdncmVnYXRlV2l0aERyaWxsZG93biA6IGZpZWxkQWdncmVnYXRlLCB2YWx1ZTogc2VsZWN0ZWRBZ2dyZWdhdGVcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwiaWZub3Q6ICRwYXJlbnQudXNlU3RvcmVkUHJvY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXRyYXNoLW9cIiB0aXRsZT1cIkNhbm5vdCBEZWxldGUgUmVxdWlyZWQgRmlsdGVyXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogZm9yY2VGaWx0ZXJGb3JUYWJsZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiRGVsZXRlIHRoaXMgRmllbGRcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5SZW1vdmVGaWVsZCwgaGlkZGVuOiBmb3JjZUZpbHRlckZvclRhYmxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIiBkYXRhLWJpbmQ9XCJpZm5vdDogJHBhcmVudC51c2VTdG9yZWRQcm9jXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWJveCBuby1wYWRkaW5nXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IGZpbHRlck9uRmx5KCFmaWx0ZXJPbkZseSgpKTsgfSwgY3NzOiB7YWN0aXZlOiBmaWx0ZXJPbkZseSgpPT10cnVlfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1maWx0ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIkZpbHRlciBieSB0aGlzIGZpZWxkIG9uIHRoZSBSZXBvcnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LlJlcG9ydFR5cGUoKSE9J1Bpdm90J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi1ib3ggbm8tcGFkZGluZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVEaXNhYmxlLCBjc3M6IHthY3RpdmU6IGRpc2FibGVkKCk9PXRydWV9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWNsb3NlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJEbyBub3QgaW5jbHVkZSBpbiBSZXBvcnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LlJlcG9ydFR5cGUoKSE9J1Bpdm90JyAmJiAkcGFyZW50LlJlcG9ydFR5cGUoKSE9J0xpc3QnICYmICEkcGFyZW50LnVzZVN0b3JlZFByb2MoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi1ib3ggbm8tcGFkZGluZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBoaWRlSW5EZXRhaWwoIWhpZGVJbkRldGFpbCgpKTsgfSwgY3NzOiB7YWN0aXZlOiBoaWRlSW5EZXRhaWwoKT09dHJ1ZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZXllLXNsYXNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJIaWRlIGluIERldGFpbHNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LmlzRmllbGRWYWxpZEZvcllBeGlzKCRpbmRleCgpLCBmaWVsZFR5cGUgfHwgZmllbGRGb3JtYXQoKSwgc2VsZWN0ZWRBZ2dyZWdhdGUoKSkgICYmICRwYXJlbnQuaXNDaGFydCgpICYmICRpbmRleCgpPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgZ3JvdXBJbkdyYXBoKCFncm91cEluR3JhcGgoKSk7IH0sIGNzczoge2FjdGl2ZTogZ3JvdXBJbkdyYXBoKCk9PWZhbHNlfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zaWduYWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIkluY2x1ZGUgaW4gc2VyaWVzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5JbmNsdWRlU3ViVG90YWwoKSAgJiYgIChbJ0ludCcsICdEb3VibGUnLCAnTW9uZXknLCAnRGVjaW1hbCcsICdDdXJyZW5jeSddLmluZGV4T2YoZmllbGRUeXBlKSA+PSAwIHx8IFsnSW50JywgJ0RvdWJsZScsICdNb25leScsICdEZWNpbWFsJywgJ0N1cnJlbmN5J10uaW5kZXhPZihmaWVsZEZvcm1hdCgpKSA+PSAwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi1ib3ggbm8tcGFkZGluZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBkb250U3ViVG90YWwoIWRvbnRTdWJUb3RhbCgpKTsgfSwgY3NzOiB7YWN0aXZlOiBkb250U3ViVG90YWwoKT09dHJ1ZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIkRvbid0IGFkZCB0byBUb3RhbCByb3dcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LlJlcG9ydFR5cGUoKSE9J1Bpdm90J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi1ib3ggbm8tcGFkZGluZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiBzZXR1cExpbmtGaWVsZCwgY3NzOiB7YWN0aXZlOiBsaW5rRmllbGQoKT09dHJ1ZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiTGluayB0byBhbm90aGVyIFJlcG9ydCBvciBVcmxcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LlJlcG9ydFR5cGUoKT09J0NvbWJvJyAmJiAkcGFyZW50LmlzRmllbGRWYWxpZEZvcllBeGlzKCRpbmRleCgpLCBmaWVsZFR5cGUgfHwgZmllbGRGb3JtYXQoKSwgc2VsZWN0ZWRBZ2dyZWdhdGUoKSkgICYmICRwYXJlbnQuaXNDaGFydCgpICYmICRpbmRleCgpPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2VyaWVzVHlwZShzZXJpZXNUeXBlKCkgPT0gJ2xpbmUnID8gJ2FyZWEnIDogKHNlcmllc1R5cGUoKT09J2JhcnMnID8gJ2xpbmUnIDogJ2JhcnMnKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBkYXRhLWJpbmQ9XCJjc3M6IHsnZmEtbGluZS1jaGFydCc6IHNlcmllc1R5cGUoKSA9PSAnbGluZScsICdmYS1iYXItY2hhcnQnOiBzZXJpZXNUeXBlKCkgPT0gJ2JhcnMnLCAnZmEtYXJlYS1jaGFydCc6IHNlcmllc1R5cGUoKT09J2FyZWEnIH0sIGF0dHI6IHt0aXRsZTogc2VyaWVzVHlwZX1cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogc2V0dXBGaWVsZE9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZ2VhclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiTW9yZSBPcHRpb25zXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwiaWY6IGlzRm9ybXVsYUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWJveCBuby1wYWRkaW5nXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGVkaXRGb3JtdWxhRmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcGVuY2lsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJFZGl0IEZvcm11bGEgRmllbGRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImRlc2lnbmVyLXN1Yi1yZXBvcnRcIj5cclxuICAgIDxwIGNsYXNzPVwidGV4dC1tdXRlZCBtYi0zXCI+XHJcbiAgICAgICAgTGlua2VkIHJlcG9ydHMgYXJlIGF2YWlsYWJsZSB0byBhZGQgYXMgc3ViIHJlcG9ydHMuXHJcbiAgICAgICAgU2VsZWN0aW5nIHN1YiByZXBvcnRzIHdpbGwgcmVzdHJpY3QgdGhlIHJlcG9ydCB0byA8c3Ryb25nPm9uZSByZWNvcmQgcGVyIHBhZ2U8L3N0cm9uZz4uXHJcbiAgICA8L3A+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogbGlua2VkUmVwb3J0RmllbGRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1RleHQ6ICduYW1lJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFN1YlJlcG9ydCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNDYXB0aW9uOiAnU2VsZWN0IGEgbGlua2VkIHJlcG9ydC4uLidcIj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cFwiXHJcbiAgICAgICAgZGF0YS1iaW5kPVwic29ydGFibGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogc3ViUmVwb3J0cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogeyBoYW5kbGU6ICcuc29ydGFibGUnLCBjdXJzb3I6ICdtb3ZlJywgcGxhY2Vob2xkZXI6ICdkcm9wLWhpZ2hsaWdodCcgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYmFycyBzb3J0YWJsZSBtZS0yXCIgc3R5bGU9XCJjdXJzb3I6bW92ZTtcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBuYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1kYW5nZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LnJlbW92ZVN1YlJlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgRGVsZXRlXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiZGVzaWduZXItaHRtbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IFNlbGVjdGVkRmllbGRzLCB2YWx1ZTogU2VsZWN0RmllbGRUb0luc2VydCwgb3B0aW9uc0NhcHRpb246ICdTZWxlY3QgYSBmaWVsZC4uLicsIG9wdGlvbnNUZXh0OiAnc2VsZWN0ZWRGaWVsZE5hbWUnXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIGRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbSBkcm9wZG93bi10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRhYmxlXCI+PC9pPiBJbnNlcnQgYXMgVGFibGVcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBpbnNlcnRGaWVsZFRhYmxlVHJhbnNwb3NlZFwiPlRyYW5zcG9zZWQ8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBpbnNlcnRGaWVsZFRhYmxlU3RhbmRhcmRcIj5TdGFuZGFyZDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxociBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIj48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGluc2VydEhlYWRlckJyZWFrXCI+QWRkIEhlYWRlciBCcmVhazwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGluc2VydEZvb3RlckJyZWFrXCI+QWRkIEZvb3RlciBCcmVhazwvYT48L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLWF1dG8gbXMtMlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtZS0yXCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogY2FyZFZpZXdcIj5cclxuICAgICAgICAgICAgQ2FyZCBMYXlvdXRcclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDx0ZXh0YXJlYSBkYXRhLWJpbmQ9XCJzdW1tZXJub3RlOiByZXBvcnRIdG1sXCI+PC90ZXh0YXJlYT5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiZGVzaWduZXItc29ydFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJpZm5vdDogdXNlU3RvcmVkUHJvY1wiPlxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtYXV0byBjb250cm9sLWxhYmVsXCI+U29ydCBCeTwvbGFiZWw+XHJcbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogRmlsdGVyZWRGaWVsZHMsIG9wdGlvbnNUZXh0OiAnc2VsZWN0ZWRGaWVsZE5hbWUnLCBvcHRpb25zVmFsdWU6ICdmaWVsZElkJywgdmFsdWU6IFNvcnRCeUZpZWxkLCBvcHRpb25zQ2FwdGlvbjogJ1NlbGVjdCBmaWVsZCB0byBzb3J0Li4uJywgYWxsb3dDbGVhcjogdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gZC1mbGV4IGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInRleHQ6ICFTb3J0RGVzYygpID8gJ+KWsiBBc2NlbmRpbmcnIDogJ0Rlc2NlbmRpbmcg4pa8JywgY2xpY2s6IGZ1bmN0aW9uKCkgeyBTb3J0RGVzYyghU29ydERlc2MoKSk7IHJldHVybiBmYWxzZTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogYWRkU29ydEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIEFkZCBTb3J0XHJcbiAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImZvcmVhY2g6IFNvcnRGaWVsZHNcIj5cclxuICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtYXV0byBjb250cm9sLWxhYmVsXCI+Jm5ic3A7Jm5ic3A7VGhlbiBTb3J0IEJ5PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiAkcGFyZW50LkZpbHRlcmVkRmllbGRzLCBvcHRpb25zVGV4dDogJ3NlbGVjdGVkRmllbGROYW1lJywgb3B0aW9uc1ZhbHVlOiAnZmllbGRJZCcsIHZhbHVlOiBzb3J0QnlGaWVsZElkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBkLWZsZXggZ2FwLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogcmVtb3ZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdmUgU29ydFxyXG4gICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ0ZXh0OiAhc29ydERlc2MoKSA/ICfilrIgQXNjZW5kaW5nJyA6ICdEZXNjZW5kaW5nIOKWvCcsIGNsaWNrOiBmdW5jdGlvbigpIHsgc29ydERlc2MoIXNvcnREZXNjKCkpOyByZXR1cm4gZmFsc2U7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQuYWRkU29ydEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgU29ydFxyXG4gICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICA8L2Rpdj5cclxuICAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImRlc2lnbmVyLW9wdGlvbnNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpIT0nUGl2b3QnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IEluY2x1ZGVTdWJUb3RhbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgSW5jbHVkZSBUb3RhbCBSb3dcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJoaWRkZW46IEFnZ3JlZ2F0ZVJlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBTaG93VW5pcXVlUmVjb3Jkc1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgU2hvdyBvbmx5IFVuaXF1ZSBSZWNvcmRzXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpIT0nTGlzdCdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2hvd0V4cGFuZE9wdGlvblwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgRG9uJ3QgU2hvdyBFeHBhbmQgT3B0aW9uXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cInZpc2libGU6IGlzQ2hhcnRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2hvd0RhdGFXaXRoR3JhcGhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIFNob3cgRGF0YSBhbG9uZyB3aXRoIEdyYXBoXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IERvbnRFeGVjdXRlT25SdW5cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIFdhaXQgdG8gU2VsZWN0IEZpbHRlcnMgYmVmb3JlIFJ1bm5pbmcgUmVwb3J0XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBtYXhSZWNvcmRzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgTWF4IFJlY29yZHNcclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIiBkYXRhLWJpbmQ9XCJpZjogbWF4UmVjb3Jkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgc3R5bGU9XCJ3aWR0aDogMTUwcHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIk9ubHkgdG9wIG4uLi5cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogT25seVRvcCwgdmlzaWJsZTogbWF4UmVjb3Jkc1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtbWQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBjaGFuZ2VQYWdlU2l6ZSwgZGlzYWJsZTogc3ViUmVwb3J0cygpLmxlbmd0aCA+IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIENoYW5nZSBQYWdlIFNpemVcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmlzaWJsZTogY2hhbmdlUGFnZVNpemUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzOiB7ICd0ZXh0LW11dGVkJzogc3ViUmVwb3J0cygpLmxlbmd0aCA+IDAgfVwiPlxyXG4gICAgICAgICAgICAgICAgPHNlbGVjdCBzdHlsZT1cIndpZHRoOiAxNTBweDtcIiBjbGFzcz1cImZvcm0tc2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogWzEsMTAsMzAsNTAsMTAwLDE1MCwyMDAsNTAwLDEwMDBdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRGVmYXVsdFBhZ2VTaXplLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlOiBzdWJSZXBvcnRzKCkubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8IS0tIEZvcmNlIGRlZmF1bHQgdG8gMSBpZiBzdWIgcmVwb3J0cyBzZWxlY3RlZCAtLT5cclxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtZGFuZ2VyXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc3ViUmVwb3J0cygpLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICBQYWdlIHNpemUgaXMgcmVzdHJpY3RlZCB0byAxIHdoZW4gc3ViIHJlcG9ydHMgYXJlIHNlbGVjdGVkLlxyXG4gICAgICAgICAgICAgICAgPC9zbWFsbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgPHA+PHNwYW4gY2xhc3M9XCJmYSBmYS1wYWludC1icnVzaFwiPjwvc3Bhbj4gUGljayBSZXBvcnQgRm9ybWF0PC9wPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiB0YWJsZVN0eWxlcyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1vcHRpb25cIiBkYXRhLWJpbmQ9XCJ0aXRsZTogJGRhdGEubmFtZSwgY2xpY2s6ICRwYXJlbnQuc2VsZWN0U3R5bGUsIGNzczogeydkcm9wZG93bi1vcHRpb24tc2VsZWN0ZWQnOiAkcGFyZW50LnNlbGVjdGVkU3R5bGUoKSA9PSAkZGF0YS5jb2xvcnNjaGVtZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS10YWJsZS1wcmV2aWV3XCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogbmV3IEFycmF5KDUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLXRhYmxlLXJvd1wiIGRhdGEtYmluZD1cImZvcmVhY2g6IG5ldyBBcnJheSg1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbmktdGFibGUtY2VsbFwiIGRhdGEtYmluZD1cInN0eWxlOiB7IGJhY2tncm91bmRDb2xvcjogJHBhcmVudENvbnRleHQuJGluZGV4KCkgPT09IDAgPyAkcGFyZW50c1sxXS5oZWFkZXJCZyA6ICgkcGFyZW50Q29udGV4dC4kaW5kZXgoKSAlIDIgPT09IDAgPyAkcGFyZW50c1sxXS5hbHRSb3dCZyA6ICRwYXJlbnRzWzFdLnJvd0JnKSwgY29sb3I6ICRwYXJlbnRzWzFdLnRleHRDb2xvciB9XCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogbm9IZWFkZXJSb3dcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIE5vIEhlYWRlciBSb3dcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogbm9EYXNoYm9hcmRCb3JkZXJzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICBCb3JkZXJsZXNzIG9uIERhc2hib2FyZFxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImlmOiBSZXBvcnRUeXBlKCkgPT0gJ1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2hvd1ByaW9ySW5LcGlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIFNob3cgcHJldmlvdXMgY29tcGFyaXNpb24gaW4gS1BJIGlmIGFwcGxpY2FibGVcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJjdXN0b20tZmllbGQtZGVzaWduZXJcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogaXNGb3JtdWxhRmllbGQoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICBZb3UgYXJlIG5vdyBjcmVhdGluZyBhIEN1c3RvbWl6ZWQgRmllbGQuIFBsZWFzZSBzZWxlY3QgdGhlIGZpZWxkcyB5b3Ugd2FudCB0byB1c2UgaW4gdGhlIGNhbGN1bGF0aW9uLCB0aGVuIGNob29zZSB0aGUgb3BlcmF0aW9ucyB5b3Ugd2FudCB0byBwZXJmb3JtLCBhbmQgY2xpY2sgXCJTYXZlXCIgdG8gYWRkIHlvdXIgQ3VzdG9tIGZpZWxkLlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02IHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICBTZXR1cCB5b3VyIEZvcm11bGEgZm9yIGNhbGN1bGF0aW5nIHRoaXMgRmllbGRcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiByaWdodC1hbGlnblwiIGRhdGEtYmluZD1cInZpc2libGU6IGZvcm11bGFUeXBlKCk9PSdidWlsZCdcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIiBkYXRhLWJpbmQ9XCJjbGljazogYWRkRm9ybXVsYVBhcmVudGhlc2VzXCI+QWRkICggKTwvYT5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIiB0aXRsZT1cIkFkZCBUb2RheVwiIGRhdGEtYmluZD1cInZpc2libGU6IGZvcm11bGFPbmx5SGFzRGF0ZUZpZWxkcygpIHx8IGZvcm11bGFGaWVsZHMoKS5sZW5ndGggPT0gMCwgY2xpY2s6IGFkZEZvcm11bGFEYXRlVG9kYXlcIj5BZGQgVG9kYXk8L2E+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgdGl0bGU9XCJBZGQgYSBDb25zdGFudCBWYWx1ZVwiIGRhdGEtYmluZD1cImNsaWNrOiBhZGRGb3JtdWxhQ29uc3RhbnRWYWx1ZVwiPkFkZCBWYWx1ZTwvYT5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIiBkYXRhLWJpbmQ9XCJjbGljazogY2xlYXJGb3JtdWxhRmllbGRcIj5DbGVhcjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgZGF0YS1iaW5kPVwiaWY6IGZvcm11bGFPbmx5SGFzRGF0ZUZpZWxkc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEZvciBEYXRlcyBGaWVsZCBjYWxjdWxhdGlvbiwgeW91IGNhbiBvbmx5IHN1YnN0cmFjdCBkYXRlIGZpZWxkcyBhbmQgZGlzcGxheSB0aGUgcmVzdWx0IGFzIGRheXMsIGhvdXJzLCBtaW51dGVzIG9yIHNlY29uZHMuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5GaWVsZCBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTBcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIGRhdGEtYmluZD1cInZhbHVlOiBmb3JtdWxhRmllbGRMYWJlbFwiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPVwiQ3VzdG9tIEZpZWxkIExhYmVsXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5EYXRhIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTBcIj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIGRhdGEtYmluZD1cInZhbHVlOiBmb3JtdWxhRGF0YUZvcm1hdFwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWZub3Q6IGZvcm11bGFPbmx5SGFzRGF0ZUZpZWxkcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlN0cmluZzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+SW50ZWdlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+RGVjaW1hbDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Q3VycmVuY3k8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBmb3JtdWxhT25seUhhc0RhdGVGaWVsZHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5EYXlzPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5Ib3Vyczwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+TWludXRlczwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+U2Vjb25kczwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IGZvcm11bGFEYXRhRm9ybWF0KCkgPT0gJ0RlY2ltYWwnIHx8IGZvcm11bGFEYXRhRm9ybWF0KCkgPT0gJ0N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMiBjb250cm9sLWxhYmVsXCI+Um91bmQgdG8gRGVjaW1hbCBQbGFjZXM8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvcm11bGFEZWNpbWFsUGxhY2VzXCIgcGxhY2Vob2xkZXI9XCJDaG9vc2UgRGVjaW1hbCBwbGFjZXMgKGxlYXZlIGJsYW5rIHRvIG5vdCB1c2Ugcm91bmRpbmcpXCIgdGl0bGU9XCJDaG9vc2UgRGVjaW1hbCBwbGFjZXMgKGxlYXZlIGJsYW5rIHRvIG5vdCB1c2Ugcm91bmRpbmcpXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogYXBwU2V0dGluZ3MudXNlU3FsQ3VzdG9tRmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTIgY29udHJvbC1sYWJlbFwiPkZpZWxkIEJ1aWxkZXIgVHlwZTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTBcIj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIGRhdGEtYmluZD1cInZhbHVlOiBmb3JtdWxhVHlwZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJidWlsZFwiPlNpbXBsZSBDYWxjdWxhdGlvbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJzcWxcIj5BZHZhbmNlZCBFeHByZXNzaW9uPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cImlmOiBmb3JtdWxhVHlwZSgpPT0nYnVpbGQnXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5GaWVsZCBGb3JtdWxhPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBmb3JtdWxhRmllbGRzKCkubGVuZ3RoID09IDBcIj5QaWNrIGZpZWxkcyB0byBidWlsZCBjYWxjdWxhdGlvbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogZm9ybXVsYUZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm1lLTNcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzZXR1cEZvcm11bGEuaXNQYXJlbnRoZXNlc1N0YXJ0XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwO1wiPig8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6ICFzZXR1cEZvcm11bGEuaXNQYXJlbnRoZXNlc1N0YXJ0KCkgJiYgIXNldHVwRm9ybXVsYS5pc1BhcmVudGhlc2VzRW5kKClcIiBjbGFzcz1cImxpc3QtZ3JvdXAgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9ybXVsYS1maWVsZC1pdGVtXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTVweDsgcGFkZGluZzogNXB4IDE1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IGZpZWxkTmFtZSwgdmlzaWJsZTogIXNldHVwRm9ybXVsYS5pc0NvbnN0YW50VmFsdWUoKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IHNldHVwRm9ybXVsYS5pc0NvbnN0YW50VmFsdWVcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZGF0YS1iaW5kPVwidmFsdWU6IHNldHVwRm9ybXVsYS5jb25zdGFudFZhbHVlLCB2aXNpYmxlOiBzZXR1cEZvcm11bGEuY29uc3RhbnRWYWx1ZSgpIT0nfFRvZGF5fCdcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gbWUtMlwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogc2V0dXBGb3JtdWxhLmNvbnN0YW50VmFsdWUoKSA9PSAnfFRvZGF5fCdcIj48Yj5Ub2RheTwvYj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRhbmdlciBidG4tc20gbXMtMlwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LnJlbW92ZUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10cmFzaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZS0zXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2V0dXBGb3JtdWxhLmlzUGFyZW50aGVzZXNFbmRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDA7XCI+KTwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lLTNcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxNXB4O1wiIGRhdGEtYmluZD1cInZpc2libGU6ICRwYXJlbnQuc2hvd0Zvcm11bGFPcGVyYXRpb24oJGluZGV4KCkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgc3R5bGU9XCJtYXgtd2lkdGg6IDUwcHg7XCIgZGF0YS1iaW5kPVwidmFsdWU6IHNldHVwRm9ybXVsYS5mb3JtdWxhT3BlcmF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAhJHBhcmVudC5mb3JtdWxhT25seUhhc0RhdGVGaWVsZHMoKSB8fCAoJHBhcmVudC5mb3JtdWxhT25seUhhc0RhdGVGaWVsZHMoKSAmJiAkcGFyZW50LmlzQ29uc3RhbnRPcGVyYXRpb24oJGluZGV4KCkpKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Kzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPi08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6IFsnSW50ZWdlcicsJ01vbmV5JywnRmxvYXQnLCdEb3VibGUnLCdEZWNpbWFsJywnQ3VycmVuY3knXS5pbmRleE9mKCRwYXJlbnQuZm9ybXVsYURhdGFGb3JtYXQoKSkgIT0gLTEgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPio8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Lzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBjdXN0b21TcWxGaWVsZCwgdmlzaWJsZTogZm9ybXVsYVR5cGUoKT09J3NxbCdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IERhdGEgT3BlcmF0aW9uOjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cInNlbGVjdDI6IHtcclxuICAgICAgICAgICAgICAgIGRyb3Bkb3duUGFyZW50OiAkcm9vdC5hY3RpdmVEZXNpZ24oKSA/ICQoJyNjaG9vc2UtZGF0YS1kZXNpZ24nKSA6ICQoJyNjaG9vc2UtZGF0YS1jYXJkJyksXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ1NlbGVjdCBGdW5jdGlvbi4uLicsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBhdmFpbGFibGVGdW5jdGlvbnNHcm91cGVkKCksXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVJlc3VsdDogdGVtcGxhdGVSZXN1bHRcclxuICAgICAgICAgICAgfSwgdmFsdWU6IHNlbGVjdGVkU3FsRnVuY3Rpb25cIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIiBkYXRhLWJpbmQ9XCJoaWRkZW46IGlzQ29uZGl0aW9uYWxGdW5jdGlvbigpIHx8IHNlbGVjdGVkU3FsRnVuY3Rpb24oKSA9PSAnT3RoZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5TZWxlY3QgdGhlIERhdGEgRmllbGQgdG8gdXNlOjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwic2VsZWN0Mjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm9wZG93blBhcmVudDogJHJvb3QuYWN0aXZlRGVzaWduKCkgPyAkKCcjY2hvb3NlLWRhdGEtZGVzaWduJykgOiAkKCcjY2hvb3NlLWRhdGEtY2FyZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ1NlYXJjaCBGaWVsZC4uLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFqYXg6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJHBhcmVudC50ZXh0UXVlcnkuc2VhcmNoRmllbGRzLnVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiAkcGFyZW50LnRleHRRdWVyeS5zZWFyY2hGaWVsZHMucXVlcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzUmVzdWx0czogJHBhcmVudC50ZXh0UXVlcnkuc2VhcmNoRmllbGRzLnByb2Nlc3NSZXN1bHRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogJHBhcmVudC50ZXh0UXVlcnkuc2VhcmNoRmllbGRzLmhlYWRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUlucHV0TGVuZ3RoOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd0NsZWFyOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgc2VsZWN0MlRleHQ6IHNlbGVjdGVkRmllbGQsc2VsZWN0MlRhYmxlSWQ6c2VsZWN0ZWRGaWVsZFRhYmxlSWRcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBzZWxlY3RlZEZpZWxkXCIgY2xhc3M9XCJzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGVkOiA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiIGRhdGEtYmluZD1cInRleHQ6ICRkYXRhXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIiBkYXRhLWJpbmQ9XCJpZjogcmVxdWlyZXNWYWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5wdXRWYWx1ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlByb3ZpZGUgdGhlIHJlbGV2YW50IHZhbHVlIHRvIHVzZTo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cImlucHV0VmFsdWVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBpbnB1dFZhbHVlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzZWxlY3RlZFNxbEZ1bmN0aW9uKCkgPT0gJ090aGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY3VzdG9tLXNxbFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkN1c3RvbSBTUUwgRXhwcmVzc2lvbjo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1aWxkIHlvdXIgY3VzdG9tIFNRTCBFeHByZXNzaW9uIGJlbG93IGJ5IHNlbGVjdGluZyBkYXRhIGZpZWxkcywgYWRkaW5nIGNhbGN1bGF0aW9ucyBvciB1c2luZyBTUUwga2V5d29yZHMgYXMgbmVlZGVkLiBGb3Igc3RyaW5nIHZhbHVlcywgcmVtZW1iZXIgdG8gZW5jbG9zZSB0aGVtIGluIHNpbmdsZSBxdW90ZXMgKCcnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwiY3VzdG9tLXNxbFwiIGNsYXNzPVwiaGludC1pbnB1dFwiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIldyaXRlIHlvdXIgY3VzdG9tIFNRTFwiPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IGlzQ29uZGl0aW9uYWxGdW5jdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1aWxkIHlvdXIgY29uZGl0aW9uYWwgbG9naWMgYmVsb3cgYnkgc2VsZWN0aW5nIGRhdGEgZmllbGRzLCBhZGRpbmcgY2FsY3VsYXRpb25zIGFuZCBkZWZpbmluZyBjb25kaXRpb25zIGFzIG5lZWRlZCwgYW5kIHByb3ZpZGUgY29ycmVzcG9uZGluZyByZXN1bHRzLiBGb3Igc3RyaW5nIHZhbHVlcywgcmVtZW1iZXIgdG8gZW5jbG9zZSB0aGVtIGluIHNpbmdsZSBxdW90ZXMgKCcnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhpbnQtaW5wdXRcIiBpZD1cImNvbmRpdGlvbi1maWVsZFwiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIkZpZWxkIHRvIGNvbXBhcmVcIiB0aXRsZT1cIkZpZWxkIHRvIGNvbXBhcmVcIj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMlwiIHN0eWxlPVwid2lkdGg6IDEyMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IGF2YWlsYWJsZU9wZXJhdG9ycywgdmFsdWU6IHNlbGVjdGVkT3BlcmF0b3JcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiaGludC1pbnB1dFwiIGlkPVwiY29uZGl0aW9uLXZhbHVlXCIgY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwiVmFsdWUgdG8gY29tcGFyZVwiIHRpdGxlPVwiVmFsdWUgdG8gY29tcGFyZVwiPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIHN0eWxlPVwibWF4LWhlaWdodDogMzJweDtcIj5USEVOPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiaGludC1pbnB1dFwiIGlkPVwiY29uZGl0aW9uLXJlc3VsdFwiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIkNvbmRpdGlvbiBSZXN1bHRcIiB0aXRsZT1cIkNvbmRpdGlvbiBSZXN1bHRcIj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogYWRkQ29uZGl0aW9uXCI+QWRkIENvbmRpdGlvbjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWdyb3VwIG10LTNcIiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBjb25kaXRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IGNvbmRpdGlvbkRpc3BsYXlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWRhbmdlclwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LnJlbW92ZUNvbmRpdGlvblwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBtYi0zXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCIgc3R5bGU9XCJtYXgtaGVpZ2h0OiAzMnB4O1wiPkVMU0U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhpbnQtaW5wdXRcIiBpZD1cImNvbmRpdGlvbi1lbHNlXCIgY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwiRGVmYXVsdCBSZXN1bHRcIiB0aXRsZT1cIkRlZmF1bHQgUmVzdWx0XCI+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICA8aHIgLz5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiB0aXRsZT1cIlNhdmUgQ3VzdG9tIEZvcm11bGEgRmllbGRcIiBkYXRhLWJpbmQ9XCJjbGljazogc2F2ZUZvcm11bGFGaWVsZCwgdmlzaWJsZTogaXNGb3JtdWxhRmllbGRcIj5TYXZlPC9hPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zbVwiIHRpdGxlPVwiQ3VzdG9tIEZpZWxkIHVzaW5nIEZvcm11bGFcIiBkYXRhLWJpbmQ9XCJjbGljazogY2FuY2VsRm9ybXVsYUZpZWxkLCB0ZXh0OiBpc0Zvcm11bGFGaWVsZCgpPyAnQ2FuY2VsJzogJ0N1c3RvbWl6ZScsIGNzczogeydidG4tcHJpbWFyeSc6ICFpc0Zvcm11bGFGaWVsZCgpLCAnYnRuLWRhbmdlcic6IGlzRm9ybXVsYUZpZWxkfVwiPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWRlc2lnbmVyLWNvbXBhY3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkZXNpZ25lci1jb250YWluZXIgY29tcGFjdC1kZXNpZ25lclwiIGlkPVwiY2hvb3NlLWRhdGEtZGVzaWduXCIgc3R5bGU9XCJmb250LXNpemU6MTJweDtcIj5cclxuXHJcbiAgICAgIDwhLS0gVmlzdWFsaXphdGlvbiBUb29sYmFyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBwLTEgbWItMlwiPlxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIDxzcGFuPjxpIGNsYXNzPVwiZmEgZmEtZmlsZVwiPjwvaT4gVmlzdWFsaXphdGlvbjwvc3Bhbj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGlnaHRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRJRCgpLCBjbGljazogZnVuY3Rpb24oKSB7YWN0aXZlRGVzaWduKGZhbHNlKTt9XCIgdGl0bGU9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCI+PC9pPiBDbG9zZSBEZXNpZ25lclxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTFcIj5cclxuICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1jaG9vc2UtdmlzdWFsJ1wiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gTWFpbiBHcmlkIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBnYXAtMiBjb21wYWN0LWZpbHRlcnMgbmVlZHMtdmFsaWRhdGlvblwiPlxyXG5cclxuICAgICAgICA8IS0tIERhdGEgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cImRhdGFQYW5lbFwiIHN0eWxlPVwibWF4LXdpZHRoOiAzMDBweFwiXHJcbiAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ2RhdGFQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdkYXRhUGFuZWwnKX1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1kYXRhYmFzZVwiPjwvaT4gRGF0YVxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTFcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItY2hvb3NlLWRhdGEnXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBTZWxlY3RlZCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBmbGV4LWZpbGwgZXhwYW5kYWJsZS1wYW5lbFwiIGlkPVwic2VsZWN0ZWRQYW5lbFwiIHN0eWxlPVwibWF4LXdpZHRoOiA0MDBweFwiXHJcbiAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnc2VsZWN0ZWRQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdzZWxlY3RlZFBhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGFibGVcIj48L2k+IFNlbGVjdGVkIGRhdGEgZm9yIHRoZSBSZXBvcnRcclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInNtYWxsIHRleHQtbXV0ZWQgZmxvYXQtZW5kXCJcclxuICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmlzaWJsZTogU2VsZWN0ZWRGaWVsZHMoKS5sZW5ndGgsIGNsaWNrOmZ1bmN0aW9uKCl7U2VsZWN0ZWRGaWVsZHMoW10pO31cIj5DbGVhciBhbGw8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGRlc2lnbmVyLWF1dG8tdXBkYXRlIHAtMVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1zZWxlY3RlZC1kYXRhJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBmbGV4LWZpbGwgZXhwYW5kYWJsZS1wYW5lbFwiIGlkPVwic3ViUmVwb3J0c1BhbmVsXCJcclxuICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnc3ViUmVwb3J0c1BhbmVsJyl9LCB2aXNpYmxlOiBsaW5rZWRSZXBvcnRGaWVsZHMoKS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBwLTFcIiBkYXRhLWJpbmQ9XCJjbGljazpmdW5jdGlvbigpe3BhbmVscy50b2dnbGVQYW5lbCgnc3ViUmVwb3J0c1BhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIj48L2k+IFN1YiBSZXBvcnRzXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItc3ViLXJlcG9ydCcsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBmbGV4LWZpbGwgZXhwYW5kYWJsZS1wYW5lbFwiIGlkPVwiaHRtbFJlcG9ydFBhbmVsXCJcclxuICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnaHRtbFJlcG9ydFBhbmVsJyl9LCB2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdIdG1sJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCIgZGF0YS1iaW5kPVwiY2xpY2s6ZnVuY3Rpb24oKXtwYW5lbHMudG9nZ2xlUGFuZWwoJ2h0bWxSZXBvcnRQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBlbmNpbFwiPjwvaT4gQ3VzdG9tIERlc2lnblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTFcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLWh0bWwnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBDdXN0b20gRmllbGQgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cImN1c3RvbUZpZWxkUGFuZWxcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBpc0Zvcm11bGFGaWVsZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtbWFnaWNcIj48L2k+IEN1c3RvbSBGaWVsZFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTEgY3VzdG9tLWZpZWxkLWRlc2lnblwiIHN0eWxlPVwibWF4LWhlaWdodDogNDAwcHg7IG92ZXJmbG93LXk6IGF1dG87IG92ZXJmbG93LXg6IGhpZGRlbjtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdjdXN0b20tZmllbGQtZGVzaWduZXInLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIEZpZWxkIE9wdGlvbnMgUGFuZWwgLS0+XHJcbiAgICAgICAgPGRpdiBpZD1cImZpZWxkT3B0aW9uc1BhbmVsXCIgY2xhc3M9XCJjYXJkIHAtMiBtdC0yIGNvbGxhcHNlXCI+XHJcbiAgICAgICAgPCEtLSBkeW5hbWljIGZpZWxkIHNldHRpbmdzIGxvYWQgaGVyZSAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIEZpbHRlcnMgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cImZpbHRlcnNQYW5lbFwiXHJcbiAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ2ZpbHRlcnNQYW5lbCcpfSwgaGlkZGVuOiBpc0Zvcm11bGFGaWVsZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdmaWx0ZXJzUGFuZWwnKX1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1maWx0ZXJcIj48L2k+IEZpbHRlcnNcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTEgZGVzaWduZXItYXV0by11cGRhdGVcIiBzdHlsZT1cIm1heC1oZWlnaHQ6MzAwcHg7IG92ZXJmbG93LXk6YXV0bztcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjp1c2VTdG9yZWRQcm9jXCI+PGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTp7bmFtZTonZmlsdGVyLXBhcmFtZXRlcnMnfVwiPjwvZGl2PjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmbm90OnVzZVN0b3JlZFByb2NcIj48ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOntuYW1lOidmaWx0ZXItZ3JvdXAnfVwiPjwvZGl2PjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gU29ydCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBmbGV4LWZpbGwgZXhwYW5kYWJsZS1wYW5lbFwiIGlkPVwic29ydFBhbmVsXCJcclxuICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnc29ydFBhbmVsJyl9LCBoaWRkZW46IHVzZVN0b3JlZFByb2MoKSB8fCBpc0Zvcm11bGFGaWVsZCgpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCIgZGF0YS1iaW5kPVwiY2xpY2s6ZnVuY3Rpb24oKXtwYW5lbHMudG9nZ2xlUGFuZWwoJ3NvcnRQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNvcnRcIj48L2k+IFNvcnRcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTEgZGVzaWduZXItYXV0by11cGRhdGUgcm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1zb3J0J1wiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gU2V0dGluZ3MgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cInNldHRpbmdzUGFuZWxcIlxyXG4gICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOnsnY29sbGFwc2VkLXZlcnRpY2FsJzogcGFuZWxzLmlzQ29sbGFwc2VkKCdzZXR0aW5nc1BhbmVsJyl9LCBoaWRkZW46IGlzRm9ybXVsYUZpZWxkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCIgZGF0YS1iaW5kPVwiY2xpY2s6ZnVuY3Rpb24oKXtwYW5lbHMudG9nZ2xlUGFuZWwoJ3NldHRpbmdzUGFuZWwnKX1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1nZWFyXCI+PC9pPk9wdGlvbnNcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1mb3JtLWxhYmVsIGg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1maWxlXCI+PC9pPiBSZXBvcnQgTmFtZVxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIlJlcG9ydCBOYW1lXCIgZGF0YS1iaW5kPVwidmFsdWU6IFJlcG9ydE5hbWVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb250cm9sLWxhYmVsIGg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4gUmVwb3J0IERlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIHJvd3M9XCIzXCIgcGxhY2Vob2xkZXI9XCJBZGRpdGlvbmFsIGRldGFpbHMgKG9wdGlvbmFsKVwiIGRhdGEtYmluZD1cInZhbHVlOiBSZXBvcnREZXNjcmlwdGlvblwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cInZpc2libGU6IENhblNhdmVSZXBvcnRzKClcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2F2ZVJlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFNhdmUgUmVwb3J0XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogU2F2ZVJlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29udHJvbC1sYWJlbCBoNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZm9sZGVyLW9wZW5cIj48L2k+IENob29zZSBGb2xkZXJcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgZGF0YS1iaW5kPVwib3B0aW9uczogRm9sZGVycywgb3B0aW9uc1RleHQ6ICdGb2xkZXJOYW1lJywgb3B0aW9uc1ZhbHVlOiAnSWQnLCB2YWx1ZTogRm9sZGVySURcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGhyIC8+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1vcHRpb25zJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gU2NoZWR1bGUgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cInNjaGVkdWxlUGFuZWxcIlxyXG4gICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOnsnY29sbGFwc2VkLXZlcnRpY2FsJzogcGFuZWxzLmlzQ29sbGFwc2VkKCdzY2hlZHVsZVBhbmVsJyl9XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCIgZGF0YS1iaW5kPVwiY2xpY2s6ZnVuY3Rpb24oKXtwYW5lbHMudG9nZ2xlUGFuZWwoJ3NjaGVkdWxlUGFuZWwnKX1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1ob3VyZ2xhc3NcIj48L2k+IFNjaGVkdWxlXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xIGRlc2lnbmVyLWF1dG8tdXBkYXRlIHJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC1zY2hlZHVsZSd9XCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBBY2Nlc3MgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cImFjY2Vzc1BhbmVsXCJcclxuICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnYWNjZXNzUGFuZWwnKX0sIHZpc2libGU6IGFkbWluTW9kZSgpICYmICFpc0Zvcm11bGFGaWVsZCgpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCIgZGF0YS1iaW5kPVwiY2xpY2s6ZnVuY3Rpb24oKXtwYW5lbHMudG9nZ2xlUGFuZWwoJ2FjY2Vzc1BhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEta2V5XCI+PC9pPlNlY3VyaXR5XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIlwiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdtYW5hZ2UtYWNjZXNzLXRlbXBsYXRlJywgZGF0YTogbWFuYWdlQWNjZXNzfVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxociAvPlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWRlc2lnbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoO1wiIGlkPVwicmVwb3J0LWRlc2lnbmVyLW1vZGFsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cIm15TW9kYWxMYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPVwiTmVlZCBoZWxwIHNldHRpbmcgdXAgYSByZXBvcnQ/XCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vZG90bmV0cmVwb3J0LmNvbS9ibG9ncy9kb2NzL2Rlc2lnbmluZy1yZXBvcnRzXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGVcIj48L3NwYW4+PC9hPiBEZXNpZ24geW91ciBSZXBvcnRcclxuICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgZGF0YS1iaW5kPVwiY2xpY2s6IG9uTW9kYWxDbG9zZUNsaWNrZWRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG5lZWRzLXZhbGlkYXRpb25cIiBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IGZsZXgtZ3JvdzogMTtcIj5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIiBpZD1cImNob29zZS1kYXRhLWNhcmRcIiAgc3R5bGU9XCJtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS00IGNvbC1mb3JtLWxhYmVsIGg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZmlsZVwiPjwvaT4gUmVwb3J0IE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPVwiUmVwb3J0IE5hbWVcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogUmVwb3J0TmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT48c3BhbiBjbGFzcz1cImZhIGZhLWRhdGFiYXNlXCI+PC9zcGFuPiZuYnNwO0Nob29zZSBEYXRhIGZvciBSZXBvcnQ8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLWNob29zZS1kYXRhJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb250cm9sLWxhYmVsIGg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+IFJlcG9ydCBEZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiByb3dzPVwiM1wiIHBsYWNlaG9sZGVyPVwiQWRkaXRpb25hbCBkZXRhaWxzIChvcHRpb25hbClcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogUmVwb3J0RGVzY3JpcHRpb25cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBDYW5TYXZlUmVwb3J0cygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2F2ZVJlcG9ydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYXZlIFJlcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IFNhdmVSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb250cm9sLWxhYmVsIGg2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZm9sZGVyLW9wZW5cIj48L2k+IENob29zZSBGb2xkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgZGF0YS1iaW5kPVwib3B0aW9uczogRm9sZGVycywgb3B0aW9uc1RleHQ6ICdGb2xkZXJOYW1lJywgb3B0aW9uc1ZhbHVlOiAnSWQnLCB2YWx1ZTogRm9sZGVySURcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+PHNwYW4gY2xhc3M9XCJmYSBmYS1maWxlXCI+PC9zcGFuPiZuYnNwO0Nob29zZSBWaXN1YWxpemF0aW9uPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdy14OiBhdXRvOyB3aGl0ZS1zcGFjZTogbm93cmFwO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1jaG9vc2UtdmlzdWFsJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogaXNGdW5jdGlvbkZpZWxkXCIgY2xhc3M9XCJjdXN0b20tZmllbGQtZGVzaWduXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgcHVsbC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiIHRpdGxlPVwiU2F2ZSBDdXN0b20gRnVuY3Rpb24gRmllbGRcIiBkYXRhLWJpbmQ9XCJjbGljazogc2F2ZUZ1bmN0aW9uRmllbGQsIHZpc2libGU6IGlzRnVuY3Rpb25GaWVsZFwiPlNhdmU8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNtXCIgdGl0bGU9XCJDdXN0b20gRmllbGQgdXNpbmcgRnVuY3Rpb25cIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXtpc0Z1bmN0aW9uRmllbGQoIWlzRnVuY3Rpb25GaWVsZCgpKX0sIHRleHQ6IGlzRnVuY3Rpb25GaWVsZCgpPyAnQ2FuY2VsJzogJ0Z1bmN0aW9uJywgY3NzOiB7J2J0bi1wcmltYXJ5JzogIWlzRnVuY3Rpb25GaWVsZCgpLCAnYnRuLWRhbmdlcic6IGlzRnVuY3Rpb25GaWVsZH1cIj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBwYWRkZWQtZGl2XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogaXNGdW5jdGlvbkZpZWxkKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBhcmUgbm93IGNyZWF0aW5nIGEgQ3VzdG9taXplZCBGaWVsZCB1c2luZyBGdW5jdGlvbnMgYXZhaWxhYmxlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5GaWVsZCBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9ybXVsYUZpZWxkTGFiZWxcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIkN1c3RvbSBGaWVsZCBMYWJlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5EYXRhIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1jb250cm9sLXNtXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvcm11bGFEYXRhRm9ybWF0XCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlN0cmluZzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5JbnRlZ2VyPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkRlY2ltYWw8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+Q3VycmVuY3k8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+RGF0ZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkRhdGVUaW1lXCI+RGF0ZSBhbmQgVGltZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogZm9ybXVsYURhdGFGb3JtYXQoKSA9PSAnRGVjaW1hbCcgfHwgZm9ybXVsYURhdGFGb3JtYXQoKSA9PSAnQ3VycmVuY3knXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTIgY29udHJvbC1sYWJlbFwiPlJvdW5kIHRvIERlY2ltYWwgUGxhY2VzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9ybXVsYURlY2ltYWxQbGFjZXNcIiBwbGFjZWhvbGRlcj1cIkNob29zZSBEZWNpbWFsIHBsYWNlcyAobGVhdmUgYmxhbmsgdG8gbm90IHVzZSByb3VuZGluZylcIiB0aXRsZT1cIkNob29zZSBEZWNpbWFsIHBsYWNlcyAobGVhdmUgYmxhbmsgdG8gbm90IHVzZSByb3VuZGluZylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZpbmUgeW91ciBGdW5jdGlvbjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XCJmdW5jdGlvbi1jb2RlXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IGxhc3RQaWNrZWRGaWVsZCgpICYmIGxhc3RQaWNrZWRGaWVsZCgpLmZpZWxkVHlwZSA9PSAnSnNvbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5TZWxlY3QgRGF0YSBGaWVsZHMgZnJvbSA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBsYXN0UGlja2VkRmllbGQoKS5maWVsZE5hbWVcIj48L3NwYW4+PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29udGFpbmVyLWZsdWlkXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDoganNvbkZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtc20tNCBjb2wteHMtNiBsaXN0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWRJbkFycmF5OiB7YXJyYXk6ICRwYXJlbnQuU2VsZWN0ZWRGaWVsZHMsIHZhbHVlOiAkZGF0YX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDoganNvbkNvbHVtbk5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJjdXN0b21GaWVsZFNlY3Rpb25cIiBkYXRhLWJpbmQ9XCJpZjogaXNGb3JtdWxhRmllbGRcIiBjbGFzcz1cImN1c3RvbS1maWVsZC1kZXNpZ25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkJ1aWxkIEN1c3RvbSBGaWVsZDwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2N1c3RvbS1maWVsZC1kZXNpZ25lcidcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY29sLTggcHVsbC1sZWZ0XCI+PHNwYW4gY2xhc3M9XCJmYSBmYS10YWJsZVwiPjwvc3Bhbj4mbmJzcDtTZWxlY3RlZCBkYXRhIGZvciB0aGUgUmVwb3J0PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgcHVsbC1yaWdodCByaWdodC1hbGlnblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic21hbGwgdGV4dC1tdXRlZFwiIGRhdGEtYmluZD1cInZpc2libGU6IFNlbGVjdGVkRmllbGRzKCkubGVuZ3RoLCBjbGljazogZnVuY3Rpb24oKSB7U2VsZWN0ZWRGaWVsZHMoW10pO31cIj5DbGVhciBhbGw8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItc2VsZWN0ZWQtZGF0YSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IGxpbmtlZFJlcG9ydEZpZWxkcygpLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBiZy1saWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiPjwvaT4gSW5jbHVkZSBTdWIgUmVwb3J0c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItc3ViLXJlcG9ydCdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdIdG1sJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJnLWxpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibWItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBlbmNpbFwiPjwvaT4gRGVzaWduIHlvdXIgUmVwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1odG1sJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+PHNwYW4gY2xhc3M9XCJmYSBmYS1maWx0ZXJcIj48L3NwYW4+Jm5ic3A7Q2hvb3NlIEZpbHRlcnM8L2g1PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cInBhZGRpbmc6IDEwcHggMTBweDsgb3ZlcmZsb3cteDogYXV0bztcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiB1c2VTdG9yZWRQcm9jXCIgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdmaWx0ZXItcGFyYW1ldGVycyd9XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZm5vdDogdXNlU3RvcmVkUHJvY1wiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnZmlsdGVyLWdyb3VwJ31cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogRWRpdEZpbHRlcnNPblJlcG9ydFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbGxvdyBzZXR0aW5nIHVwIGFuZCBzYXZpbmcgZmlsdGVycyBvbiBSZXBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaGlkZGVuOiB1c2VTdG9yZWRQcm9jXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PjxzcGFuIGNsYXNzPVwiZmEgZmEtc29ydFwiPjwvc3Bhbj4mbmJzcDtDaG9vc2UgU29ydGluZzwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItc29ydCdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFNhdmVSZXBvcnRcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+PHNwYW4gY2xhc3M9XCJmYSBmYS1ob3VyZ2xhc3NcIj48L3NwYW4+Jm5ic3A7Q2hvb3NlIFNjaGVkdWxlPC9oNT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZzogMTBweCAxMHB4XCIgZGF0YS1iaW5kPVwiaWY6IFNhdmVSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC1zY2hlZHVsZSd9XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmbm90OiB1c2VTdG9yZWRQcm9jXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItb3B0aW9ucydcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogYWRtaW5Nb2RlXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdtYW5hZ2UtYWNjZXNzLXRlbXBsYXRlJywgZGF0YTogbWFuYWdlQWNjZXNzfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBhZG1pbk1vZGUsIGNsaWNrOiBSdW5SZXBvcnRTcWxQcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2RlXCI+PC9pPiBQcmV2aWV3IFJlcG9ydCBDb2RlXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlclwiIGRhdGEtYmluZD1cImNsaWNrOiBjYW5jZWxDcmVhdGVSZXBvcnRcIj5DYW5jZWwgZWRpdGluZyBSZXBvcnQ8L2E+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYmluZD1cInZpc2libGU6IFNhdmVSZXBvcnQoKSAmJiBDYW5TYXZlUmVwb3J0cygpLCBjbGljazogU2F2ZVdpdGhvdXRSdW5cIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCI+U2F2ZSBSZXBvcnQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1iaW5kPVwidGV4dDogU2F2ZVJlcG9ydCgpICYmIENhblNhdmVSZXBvcnRzKCk/ICdTYXZlICYgUnVuIFJlcG9ydCc6ICdSdW4gUmVwb3J0JywgY2xpY2s6IFJ1blJlcG9ydFwiPlJ1biBSZXBvcnQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJjaGFydC1zZXR0aW5nc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoYXJ0LWNvbnRhaW5lciBwdWxsLXJpZ2h0XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMiBjaGFydC1zZXR0aW5ncy1idG5cIlxyXG4gICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZUNoYXJ0U2V0dGluZ3NcIiB0aXRsZT1cIlJlcG9ydCBzZXR0aW5nc1wiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZ1wiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXNldHRpbmdzLXBhbmVsIGJvcmRlciBwLTIgc2hhZG93LXNtIGJnLWxpZ2h0XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2hvd1NldHRpbmdzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1jbG9zZVwiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVDaGFydFNldHRpbmdzXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0wXCI+UmVwb3J0IFNldHRpbmdzPC9oNj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXRhYnMgbmF2LXNtIG1iLTIgc21hbGxcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCkgPT09ICdCYXInIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfHwgUmVwb3J0VHlwZSgpID09PSAnTGluZSdcIj5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJuYXYtbGlua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImF0dHI6IHsgaHJlZjogJyNjaGFydFRhYi0nICsgUmVwb3J0SUQoKSB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCkgPT09ICdCYXInIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfHwgUmVwb3J0VHlwZSgpID09PSAnTGluZScgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBDaGFydFxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJhdHRyOiB7IGhyZWY6ICcjdGFibGVUYWItJyArIFJlcG9ydElEKCkgfSwgY3NzOiB7IGFjdGl2ZTogIShSZXBvcnRUeXBlKCkgPT09ICdCYXInIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfHwgUmVwb3J0VHlwZSgpID09PSAnTGluZScpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVcclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnQgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcGFuZSBmYWRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiYXR0cjogeyBpZDogJ2NoYXJ0VGFiLScgKyBSZXBvcnRJRCgpIH0sIGNzczogeyAnc2hvdyBhY3RpdmUnOiBSZXBvcnRUeXBlKCkgPT09ICdCYXInIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfHwgUmVwb3J0VHlwZSgpID09PSAnTGluZScgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCkgPT09ICdCYXInIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfHwgUmVwb3J0VHlwZSgpID09PSAnTGluZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIHRpdGxlPVwiQmFyIENoYXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOiB7ICdhY3RpdmUnOiBSZXBvcnRUeXBlKCkgPT09ICdCYXInIH0sIGNsaWNrOiBmdW5jdGlvbigpIHsgUmVwb3J0VHlwZSgnQmFyJyk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWJhci1jaGFydFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgZGF0YS1icy10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJQaWUgQ2hhcnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6IHsgJ2FjdGl2ZSc6IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfSwgY2xpY2s6IGZ1bmN0aW9uKCkgeyBSZXBvcnRUeXBlKCdQaWUnKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcGllLWNoYXJ0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiB0aXRsZT1cIkxpbmUgQ2hhcnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6IHsgJ2FjdGl2ZSc6IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnIH0sIGNsaWNrOiBmdW5jdGlvbigpIHsgUmVwb3J0VHlwZSgnTGluZScpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saW5lLWNoYXJ0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nQmFyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogYmFyQ2hhcnRIb3Jpem9udGFsXCIgLz4gSG9yaXpvbnRhbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogYmFyQ2hhcnRTdGFja2VkXCIgLz4gU3RhY2tlZDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdQaWUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBwaWVDaGFydERvbnV0XCIgLz4gRG9udXQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nTGluZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGxpbmVDaGFydEFyZWFcIiAvPiBBcmVhPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+QmFja2dyb3VuZCBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLmJhY2tncm91bmRDb2xvciwgYXR0cjogeyBwbGFjZWhvbGRlcjogJ1NlbGVjdCcgfSwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5Gb250IENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogY2hhcnRPcHRpb25zKCkuZm9udENvbG9yLCBhdHRyOiB7IHBsYWNlaG9sZGVyOiAnU2VsZWN0JyB9LCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPlNlcmllcyBDb2xvcnM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcFwiIGRhdGEtYmluZD1cImZvcmVhY2g6IGNoYXJ0T3B0aW9ucygpLnNlcmllc0NvbG9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbG9yLWJveCBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmFsdWU6ICRkYXRhLCBldmVudDogeyBpbnB1dDogZnVuY3Rpb24oZGF0YSwgZXZlbnQpIHsgJHBhcmVudC51cGRhdGVTZXJpZXNDb2xvcigkaW5kZXgoKSwgZXZlbnQudGFyZ2V0LnZhbHVlKTsgfSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWRhbmdlciByZW1vdmUtY29sb3JcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5yZW1vdmVTZXJpZXNDb2xvclwiPiZ0aW1lczs8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvbG9yLWJveCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogYWRkU2VyaWVzQ29sb3JcIiB0aXRsZT1cIkFkZCBTZXJpZXMgQ29sb3JcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC03cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXNcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPkxlZ2VuZCBQb3NpdGlvbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogY2hhcnRPcHRpb25zKCkubGVnZW5kUG9zaXRpb24sIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJyaWdodFwiPlJpZ2h0PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRvcFwiPlRvcDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJib3R0b21cIj5Cb3R0b208L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibm9uZVwiPk5vbmU8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5Gb250IFNpemU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gZm9udC1zaXplLWlucHV0XCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLmZvbnRTaXplLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCkhPSdQaWUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHNtYWxsIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBjaGFydE9wdGlvbnMoKS5zaG93WEF4aXNMYWJlbCwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+WC1BeGlzIExhYmVsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHNtYWxsIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBjaGFydE9wdGlvbnMoKS5zaG93WUF4aXNMYWJlbCwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+WS1BeGlzIExhYmVsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHNtYWxsIG1iLTFcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCkgIT09ICdQaWUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogY2hhcnRPcHRpb25zKCkuc2hvd0dyaWRsaW5lcywgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+R3JpZGxpbmVzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIHNtYWxsIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBjaGFydE9wdGlvbnMoKS5zaG93U21hbGxWYWx1ZXNPbkxhYmVsLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5TaG93IFNtYWxsIFZhbHVlcyBPbiBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBzbWFsbCBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+WS1BeGlzIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIiBwbGFjZWhvbGRlcj1cIiMsIyMwLjAwXCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLnlBeGlzRm9ybWF0LCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgc21hbGwgbWItMSBkLWZsZXggZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTUwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlktQXhpcyBNaW48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLnlNaW4sIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTUwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlktQXhpcyBNYXg8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLnlNYXgsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLXBhbmUgZmFkZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6ICd0YWJsZVRhYi0nICsgUmVwb3J0SUQoKSB9LCBjc3M6IHsgJ3Nob3cgYWN0aXZlJzogIShSZXBvcnRUeXBlKCkgPT09ICdCYXInIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ1BpZScgfHwgUmVwb3J0VHlwZSgpID09PSAnTGluZScpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5IZWFkZXIgQmFjayBDb2xvcjwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6ICd0YmwtY29sb3ItcGlja2VyLScgKyBSZXBvcnRJRCgpfSAsIHZhbHVlOiB0YWJsZVNldHRpbmdzKCkuaGVhZGVyQmFja0NvbG9yLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZVRhYmxlIH1cIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPkhlYWRlciBGb250IENvbG9yPC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiYXR0cjogeyBpZDogJ3RibC1jb2xvci1waWNrZXItJyArIFJlcG9ydElEKCl9ICx2YWx1ZTogdGFibGVTZXR0aW5ncygpLmhlYWRlckZvbnRDb2xvciwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVUYWJsZSB9XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5Sb3cgQmFjayBDb2xvcjwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6ICd0YmwtY29sb3ItcGlja2VyLScgKyBSZXBvcnRJRCgpfSAsdmFsdWU6IHRhYmxlU2V0dGluZ3MoKS5yb3dCYWNrQ29sb3IsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlVGFibGUgfVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+Um93IEZvbnQgQ29sb3I8L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJhdHRyOiB7IGlkOiAndGJsLWNvbG9yLXBpY2tlci0nICsgUmVwb3J0SUQoKX0gLHZhbHVlOiB0YWJsZVNldHRpbmdzKCkucm93Rm9udENvbG9yLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZVRhYmxlIH1cIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5BbHQgUm93IEJhY2sgQ29sb3I8L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ2YWx1ZTogdGFibGVTZXR0aW5ncygpLmFsdFJvd0JhY2tDb2xvciwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVUYWJsZSB9XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5BbHQgUm93IEZvbnQgQ29sb3I8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ2YWx1ZTogdGFibGVTZXR0aW5ncygpLmFsdFJvd0ZvbnRDb2xvciwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVUYWJsZSB9XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0yXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+Qm9yZGVyczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgZC1mbGV4IGZsZXgtd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBmbGV4LWZpbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgdGFibGVTZXR0aW5ncygpLmJvcmRlcignbm9uZScpOyB1cGRhdGVUYWJsZSgpOyB9LCBjc3M6IHsgYWN0aXZlOiB0YWJsZVNldHRpbmdzKCkuYm9yZGVyID09PSAnbm9uZScgfVwiPk5vbmU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gZmxleC1maWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHRhYmxlU2V0dGluZ3MoKS5ib3JkZXIoJ2FsbCcpOyB1cGRhdGVUYWJsZSgpOyB9LCBjc3M6IHsgYWN0aXZlOiB0YWJsZVNldHRpbmdzKCkuYm9yZGVyID09PSAnYWxsJyB9XCI+QWxsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGZsZXgtZmlsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyB0YWJsZVNldHRpbmdzKCkuYm9yZGVyKCdvdXRlcicpOyB1cGRhdGVUYWJsZSgpOyB9LCBjc3M6IHsgYWN0aXZlOiB0YWJsZVNldHRpbmdzKCkuYm9yZGVyID09PSAnb3V0ZXInIH1cIj5PdXRzaWRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGZsZXgtZmlsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyB0YWJsZVNldHRpbmdzKCkuYm9yZGVyKCdpbm5lcicpOyB1cGRhdGVUYWJsZSgpOyB9LCBjc3M6IHsgYWN0aXZlOiB0YWJsZVNldHRpbmdzKCkuYm9yZGVyID09PSAnaW5uZXInIH1cIj5JbnNpZGU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPkJvcmRlciBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmFsdWU6IHRhYmxlU2V0dGluZ3MoKS5ib3JkZXJDb2xvciwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVUYWJsZSB9XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY29sLTYgZC1mbGV4IGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIHNtYWxsIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBjbGVhclRhYmxlU2V0dGluZ3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGVhclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJkcmlsbGRvd25Nb2RhbFwiIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWxnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBDaGFydERyaWxsRG93bkRhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5EcmlsbGRvd24gRGF0YTwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZSBwdWxsLXJpZ2h0XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6IERyaWxsRG93bkRhdGEgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwib3ZlcmZsb3cteDogYXV0bzsgbWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciB0YWJsZS1jb25kZW5zZWRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBEcmlsbERvd25EYXRhLCBhdHRyOiB7Y2xhc3M6ICd0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIHRhYmxlLWNvbmRlbnNlZCAnICsgJHBhcmVudC5zZWxlY3RlZFN0eWxlKCl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBzdHlsZT1cInBvc2l0aW9uOiBzdGlja3k7IHRvcDogLTFweDsgei1pbmRleDogMjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cIm5vLWhpZ2hsaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogQ29sdW1ucyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1iaW5kPVwiYXR0cjogeyBpZDogZmllbGRJZCB9LCBjc3M6IHsncmlnaHQtYWxpZ24nOiBJc051bWVyaWN9LCBzdHlsZTogeyd3aWR0aCc6IGZpZWxkV2lkdGgsICdiYWNrZ3JvdW5kLWNvbG9yJzogaGVhZGVyQmFja0NvbG9yIH0sIGhpZGRlbjogb3V0ZXJHcm91cFwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IGZpZWxkTGFiZWwyKCkgPyBmaWVsZExhYmVsMigpIDogKGZpZWxkTGFiZWwoKSA/IGZpZWxkTGFiZWwoKSA6IGZpZWxkTmFtZSksIHN0eWxlOiB7J2NvbG9yJzogaGVhZGVyRm9udENvbG9yLCAnZm9udC13ZWlnaHQnOiBoZWFkZXJGb250Qm9sZCgpID8gJ2JvbGQnIDogJ25vcm1hbCd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGRhdGEtYmluZD1cInZpc2libGU6IFJvd3MgJiYgUm93cy5sZW5ndGggPCAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cImF0dHI6e2NvbHNwYW46IENvbHVtbnMubGVuZ3RofVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyByZWNvcmRzIGZvdW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IFJvd3MgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogSXRlbXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cImhpZGRlbjogb3V0ZXJHcm91cCwgc3R5bGU6IHsnYmFja2dyb3VuZC1jb2xvcic6IGJhY2tDb2xvciwgJ2NvbG9yJzogZm9udENvbG9yLCAnZm9udC13ZWlnaHQnOiBmb250Qm9sZCgpID8gJ2JvbGQnIDogJ25vcm1hbCcgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7J3dpZHRoJzogZmllbGRXaWR0aCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBMaW5rVG8tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRhdGEtYmluZD1cImF0dHI6IHtocmVmOiBMaW5rVG99XCIgdGFyZ2V0PVwiX2JsYW5rXCI+PHNwYW4gZGF0YS1iaW5kPVwiaHRtbDogZm9ybWF0dGVkVmFsXCI+PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmbm90OiBMaW5rVG8tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImh0bWw6IGZvcm1hdHRlZFZhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1jZW50ZXJlZFwiIGRhdGEtYmluZD1cIndpdGg6IHBhZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taW5saW5lIHNtYWxsIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdCB0b3RhbC1yZWNvcmRzXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogcGFnZXMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogJ1RvdGFsIFJlY29yZHM6ICcgKyB0b3RhbFJlY29yZHMoKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXhzXCIgdGl0bGU9XCJEb3dubG9hZCBFeGNlbFwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LmV4cG9ydEV4Y2VsXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS1maWxlLWV4Y2VsLW9cIj48L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiIGRhdGEtYnMtdGFyZ2V0PVwiI3NxbERyaWxsRG93bk1vZGFsXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHJvb3QuYWRtaW5Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1jb2RlXCI+PC9zcGFuPiBWaWV3IENvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHVsbC1yaWdodFwiIGRhdGEtYmluZD1cInZpc2libGU6IHBhZ2VzKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdwYWdlci10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwic3FsTW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1sZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5SZXBvcnQgQ29kZTwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbihkYXRhLCBldmVudCkgeyBjb3B5U3FsVG9DbGlwYm9hcmQoZXZlbnQudGFyZ2V0KTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2xpcGJvYXJkXCI+PC9pPiZuYnNwO0NvcHlcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgcHVsbC1yaWdodFwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIGRhdGEtYmluZD1cIndpdGg6IFJlcG9ydFJlc3VsdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInJlcG9ydFNxbENvZGVcIiBzdHlsZT1cIm92ZXJmbG93LXg6IGF1dG87IG1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGw7IGJvcmRlcjogMXB4IHNvbGlkOyBwYWRkaW5nOiAxMHB4O1wiIGNsYXNzPVwiYmctZGFyayB0ZXh0LWxpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHByZT48Y29kZSBkYXRhLWJpbmQ9XCJodG1sOiBSZXBvcnRTcWxcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtd3JhcDtcIj48L2NvZGU+PC9wcmU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibW9kYWxcIiBpZD1cInNxbERyaWxsRG93bk1vZGFsXCIgdGFiaW5kZXg9XCItMVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtbGdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6Q2hhcnREcmlsbERvd25EYXRhXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5EcmlsbCBEb3duIFJlcG9ydCBDb2RlPC9oND5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKGRhdGEsIGV2ZW50KSB7IGNvcHlTcWxUb0NsaXBib2FyZChldmVudC50YXJnZXQpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jbGlwYm9hcmRcIj48L2k+Jm5ic3A7Q29weVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZSBwdWxsLXJpZ2h0XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgZGF0YS1iaW5kPVwid2l0aDpEcmlsbERvd25EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicmVwb3J0U3FsQ29kZVwiIHN0eWxlPVwib3ZlcmZsb3cteDogYXV0bzsgbWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IHNjcm9sbDsgYm9yZGVyOiAxcHggc29saWQ7IHBhZGRpbmc6IDEwcHg7XCIgY2xhc3M9XCJiZy1kYXJrIHRleHQtbGlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cHJlPjxjb2RlIGRhdGEtYmluZD1cImh0bWw6IFJlcG9ydFNxbFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IHByZS13cmFwO1wiPjwvY29kZT48L3ByZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJub2FjY291bnRNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5BY2NvdW50IG5vdCBTZXR1cDwvaDQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj5kb3RuZXQgUmVwb3J0IEFjY291bnQgQ29uZmlndXJhdGlvbiBtaXNzaW5nITwvcD5cclxuICAgICAgICAgICAgICAgIDxwPllvdSBkbyBub3QgaGF2ZSB0aGUgbmVjY2Vzc2FyeSBpbml0aWFsIGNvbmZpZ3VyYXRpb24gY29tcGxldGVkIHRvIHVzZSBkb3RuZXQgUmVwb3J0LjwvcD5cclxuICAgICAgICAgICAgICAgIDxwPlBsZWFzZSB2aWV3IHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9kb3RuZXRyZXBvcnQuY29tL2Jsb2dzL2dldHRpbmctc3RhcnRlZC13aXRoLWRvdG5ldC1yZXBvcnQvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+R2V0dGluZyBTdGFydGVkIEd1aWRlPC9hPiB0byBjb3JyZWN0bHkgY29uZmlndXJlIGRvdG5ldCBSZXBvcnQuPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPkNsb3NlPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInBkZi1vcHRpb25zLXNjaGVkdWxlLXRlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgZGF0YS1iaW5kPVwid2l0aDogUGRmUGFnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwicGRmT3B0aW9uc1NjaGVkdWxlTW9kYWxMYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGYtbyBtZS0yXCI+PC9pPiBTZXQgUERGIFBhZ2UgU2l6ZVxyXG4gICAgICAgICAgICAgICAgPC9oNT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHJvdyBnLTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFnZVByZXZpZXdCb3hcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwic3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzZWxlY3RlZFdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNlbGVjdGVkSGVpZ2h0KCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNlbGVjdGVkQmFja2dyb3VuZFN0eWxlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYWxsIDAuM3MgZWFzZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaGFkb3cgcm91bmRlZCBteC1hdXRvIG1iLTIgYm9yZGVyIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBzdGFydC01MCB0cmFuc2xhdGUtbWlkZGxlIHRleHQtbXV0ZWQgc21hbGxcIj5QcmV2aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VMYWJlbFwiIGNsYXNzPVwiZnctYm9sZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkUGFnZURpbWVuc2lvblwiIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZVNpemVTZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgU2l6ZTo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBpZD1cInBhZ2VTaXplU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlU2l6ZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VTaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgT3JpZW50YXRpb246PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IGF2YWlsYWJsZVBhZ2VPcmllbnRhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNUZXh0OiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1ZhbHVlOiAndmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkUGFnZU9yaWVudGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHAtMiBzbWFsbCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgUERGIHdpbGwgYmUgZXhwb3J0ZWQgdXNpbmcgdGhlIHNlbGVjdGVkIHBhZ2Ugc2l6ZS4gRW5zdXJlIHlvdXIgY29udGVudCBmaXRzIHdlbGwuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBjb250ZW50IHdpZHRoIGV4Y2VlZHMgdGhlIHNlbGVjdGVkIHNpemUsIGl0IHdpbGwgZGVmYXVsdCB0byBMZXR0ZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHNhdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgU2F2ZVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cIndvcmQtb3B0aW9ucy1zY2hlZHVsZS10ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6IFdvcmRQYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJwZGZPcHRpb25zU2NoZWR1bGVNb2RhbExhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1maWxlLXBkZi1vIG1lLTJcIj48L2k+IFNldCBXT1JEIFBhZ2UgU2l6ZVxyXG4gICAgICAgICAgICAgICAgPC9oNT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHJvdyBnLTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFnZVByZXZpZXdCb3hcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwic3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzZWxlY3RlZFdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNlbGVjdGVkSGVpZ2h0KCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNlbGVjdGVkQmFja2dyb3VuZFN0eWxlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYWxsIDAuM3MgZWFzZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaGFkb3cgcm91bmRlZCBteC1hdXRvIG1iLTIgYm9yZGVyIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBzdGFydC01MCB0cmFuc2xhdGUtbWlkZGxlIHRleHQtbXV0ZWQgc21hbGxcIj5QcmV2aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VMYWJlbFwiIGNsYXNzPVwiZnctYm9sZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkUGFnZURpbWVuc2lvblwiIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZVNpemVTZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgU2l6ZTo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBpZD1cInBhZ2VTaXplU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlU2l6ZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VTaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgT3JpZW50YXRpb246PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IGF2YWlsYWJsZVBhZ2VPcmllbnRhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNUZXh0OiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1ZhbHVlOiAndmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkUGFnZU9yaWVudGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHAtMiBzbWFsbCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgV09SRCB3aWxsIGJlIGV4cG9ydGVkIHVzaW5nIHRoZSBzZWxlY3RlZCBwYWdlIHNpemUuIEVuc3VyZSB5b3VyIGNvbnRlbnQgZml0cyB3ZWxsLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJZiB0aGUgY29udGVudCB3aWR0aCBleGNlZWRzIHRoZSBzZWxlY3RlZCBzaXplLCBpdCB3aWxsIGRlZmF1bHQgdG8gTGV0dGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGRhdGEtYmluZD1cImNsaWNrOiBzYXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIFNhdmVcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJ3b3JkLW9wdGlvbnMtdGVtcGxhdGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgZGF0YS1iaW5kPVwid2l0aDogV29yZFBhZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cIndvcmRPcHRpb25zTW9kYWxMYWJlbFwiPjxpIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGYtbyBtZS0yXCI+PC9pPiBFeHBvcnQgdG8gV09SRDwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSByb3cgZy0wXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIExlZnQgU2lkZTogUGFnZSBQcmV2aWV3IFNWRyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFnZVByZXZpZXdCb3hcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwic3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzZWxlY3RlZFdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNlbGVjdGVkSGVpZ2h0KCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNlbGVjdGVkQmFja2dyb3VuZFN0eWxlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYWxsIDAuM3MgZWFzZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaGFkb3cgcm91bmRlZCBteC1hdXRvIG1iLTIgYm9yZGVyIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBzdGFydC01MCB0cmFuc2xhdGUtbWlkZGxlIHRleHQtbXV0ZWQgc21hbGxcIj5QcmV2aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VMYWJlbFwiIGNsYXNzPVwiZnctYm9sZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkUGFnZURpbWVuc2lvblwiIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBSaWdodCBTaWRlOiBGb3JtIE9wdGlvbnMgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZVNpemVTZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgU2l6ZTo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBpZD1cInBhZ2VTaXplU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlU2l6ZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VTaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgT3JpZW50YXRpb246PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IGF2YWlsYWJsZVBhZ2VPcmllbnRhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNUZXh0OiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1ZhbHVlOiAndmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkUGFnZU9yaWVudGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHAtMiBzbWFsbCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgV29yZCB3aWxsIGJlIGV4cG9ydGVkIHVzaW5nIHRoZSBzZWxlY3RlZCBwYWdlIHNpemUuIEVuc3VyZSB5b3VyIGNvbnRlbnQgZml0cyB3ZWxsLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJZiB0aGUgY29udGVudCB3aWR0aCBleGNlZWRzIHRoZSBzZWxlY3RlZCBzaXplLCBpdCB3aWxsIGRlZmF1bHQgdG8gTGV0dGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGRhdGEtYmluZD1cImNsaWNrOiBkb3dubG9hZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZG93bmxvYWQgbWUtMVwiPjwvaT4gRG93bmxvYWQgV09SRFxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInBkZi1vcHRpb25zLXRlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgZGF0YS1iaW5kPVwid2l0aDogUGRmUGFnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwicGRmT3B0aW9uc01vZGFsTGFiZWxcIj48aSBjbGFzcz1cImZhIGZhLWZpbGUtcGRmLW8gbWUtMlwiPjwvaT4gRXhwb3J0IHRvIFBERjwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSByb3cgZy0wXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIExlZnQgU2lkZTogUGFnZSBQcmV2aWV3IFNWRyAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFnZVByZXZpZXdCb3hcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwic3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzZWxlY3RlZFdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNlbGVjdGVkSGVpZ2h0KCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNlbGVjdGVkQmFja2dyb3VuZFN0eWxlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYWxsIDAuM3MgZWFzZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaGFkb3cgcm91bmRlZCBteC1hdXRvIG1iLTIgYm9yZGVyIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC01MCBzdGFydC01MCB0cmFuc2xhdGUtbWlkZGxlIHRleHQtbXV0ZWQgc21hbGxcIj5QcmV2aWV3PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VMYWJlbFwiIGNsYXNzPVwiZnctYm9sZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkUGFnZURpbWVuc2lvblwiIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBSaWdodCBTaWRlOiBGb3JtIE9wdGlvbnMgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZVNpemVTZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgU2l6ZTo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBpZD1cInBhZ2VTaXplU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlU2l6ZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VTaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIiBjbGFzcz1cImZvcm0tbGFiZWwgZnctYm9sZFwiPlBhZ2UgT3JpZW50YXRpb246PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlT3JpZW50YXRpb25TZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IGF2YWlsYWJsZVBhZ2VPcmllbnRhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNUZXh0OiAnbGFiZWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1ZhbHVlOiAndmFsdWUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdGVkUGFnZU9yaWVudGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHAtMiBzbWFsbCBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgUERGIHdpbGwgYmUgZXhwb3J0ZWQgdXNpbmcgdGhlIHNlbGVjdGVkIHBhZ2Ugc2l6ZS4gRW5zdXJlIHlvdXIgY29udGVudCBmaXRzIHdlbGwuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBjb250ZW50IHdpZHRoIGV4Y2VlZHMgdGhlIHNlbGVjdGVkIHNpemUsIGl0IHdpbGwgZGVmYXVsdCB0byBMZXR0ZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGRvd25sb2FkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1kb3dubG9hZCBtZS0xXCI+PC9pPiBEb3dubG9hZCBQREZcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuYCk7XHJcbiAgICB0aGlzLmNkcmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBiaW5kV2luZG93UmVzaXplKHZtOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBfdm0gPSB2bTtcclxuICAgICQod2luZG93KS5yZXNpemUoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIF92bS5kcmF3Q2hhcnQoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJpbmRHcmlkSW5pdCh2bTphbnkpOiB2b2lkIHtcclxuICAgIGxldCBfdm0gPSB2bTtcclxuXHJcbiAgICAkKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAkKCcuZ3JpZC1zdGFjaycpLnNob3coKTtcclxuICAgICAgICB2YXIgZ3JpZCA9IEdyaWRTdGFjay5pbml0KHtcclxuICAgICAgICAgICAgY2VsbEhlaWdodDogNjAsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsTWFyZ2luOiAxMCxcclxuICAgICAgICAgICAgcmVzaXphYmxlOiB7XHJcbiAgICAgICAgICAgICAgICBoYW5kbGVzOiAnc2UsIHN3LCBuZSwgbncsIG4sIGUsIHMsIHcnIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZ3JpZC5vbignY2hhbmdlJywgZnVuY3Rpb24oZXZlbnQ6IGFueSwgaXRlbXM6IGFueVtdKSB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMpIHtcclxuICAgICAgICAgICAgXy5mb3JFYWNoKGl0ZW1zLCBmdW5jdGlvbih4OiBhbnkpIHtcclxuICAgICAgICAgICAgICBfdm0udXBkYXRlUG9zaXRpb24oeCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGdyaWQub24oJ3Jlc2l6ZXN0b3AnLCBmdW5jdGlvbihldmVudDogeyB0YXJnZXQ6IGFueTsgfSwgaXRlbTogeyBzaXplOiB7IGhlaWdodDogbnVtYmVyOyB9OyB9KSB7XHJcbiAgICAgICAgICAgIHZhciBlID0gJChldmVudC50YXJnZXQpLmZpbmQoJy5yZXBvcnQtY2hhcnQnKTtcclxuICAgICAgICAgICAgdmFyIGQgPSAkKGV2ZW50LnRhcmdldCkuZmluZCgndGFibGUnKTtcclxuICAgICAgICAgICAgaWYgKGUgJiYgIWQpIHtcclxuICAgICAgICAgICAgICAgX3ZtLmRyYXdDaGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7ICBcclxuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBfdm0uZHJhd0NoYXJ0KCk7XHJcbiAgICAgICAgZ3JpZC5lbmFibGVNb3ZlKGZhbHNlKTtcclxuICAgICAgICBncmlkLmVuYWJsZVJlc2l6ZShmYWxzZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICB9LCAxMDAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIFxyXG4gIH1cclxuICBcclxuICBcclxuICB9XHJcbiIsIjxkaXYgaWQ9XCJkb3QtbmV0LXJlcG9ydFwiIGNsYXNzPVwiYm9keS1jb250ZW50XCI+XHJcblxyXG48ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ2FkbWluLW1vZGUtdGVtcGxhdGUnfSwgdmlzaWJsZTogYWxsb3dBZG1pblwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBjdXJyZW50RGFzaGJvYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzIGZsZXgtZ3Jvdy0xXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogZGFzaGJvYXJkc1wiPlxyXG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cInRleHQ6IG5hbWUsIGNsaWNrOiBmdW5jdGlvbigpIHsgJHBhcmVudC5zZWxlY3REYXNoYm9hcmQoaWQpO30sIGNzczogeyAnYWN0aXZlJzogJHBhcmVudC5jdXJyZW50RGFzaGJvYXJkKCkuaWQgPT09IGlkLCAnc2VsZWN0ZWQtdGFiJzogJHBhcmVudC5jdXJyZW50RGFzaGJvYXJkKCkuaWQgPT09IGlkIH1cIj48L2E+XHJcbiAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtZW5kIGdhcC0yIG10LTIgbXQtbWQtMCBib3JkZXItYm90dG9tXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMjFweDtcIj4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGVuY2lsLXNxdWFyZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5NYW5hZ2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkcm9wZG93biBkcm9wZG93bi1ob3ZlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgcm9sZT1cImJ1dHRvblwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHsgbmV3UmVwb3J0KHRydWUpIH0sIHZpc2libGU6IGN1cnJlbnREYXNoYm9hcmQoKS5jYW5NYW5hZ2UgfHwgYWRtaW5Nb2RlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcGx1c1wiPjwvc3Bhbj4gQWRkIE5ldyBSZXBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IG5ld1JlcG9ydChmYWxzZSkgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXBlbmNpbFwiPjwvc3Bhbj4gQWRkIHVzaW5nIFN0YW5kYXJkIERlc2lnbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHsgbmV3UmVwb3J0KHRydWUpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1ib2x0XCI+PC9zcGFuPiBBZGQgdXNpbmcgU21hcnRlciBEZXNpZ25lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiIGRhdGEtYnMtdGFyZ2V0PVwiI2FkZC1kYXNoYm9hcmQtbW9kYWxcIiBkYXRhLWJpbmQ9XCJjbGljazogZWRpdERhc2hib2FyZCwgdmlzaWJsZTogY3VycmVudERhc2hib2FyZCgpLmNhbk1hbmFnZSB8fCBhZG1pbk1vZGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wZW5jaWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FZGl0IERhc2hib2FyZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiIGRhdGEtYnMtdGFyZ2V0PVwiI2FkZC1kYXNoYm9hcmQtbW9kYWxcIiBkYXRhLWJpbmQ9XCJjbGljazogbmV3RGFzaGJvYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWRhc2hib2FyZFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkFkZCBhIE5ldyBEYXNoYm9hcmQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiBSZWZyZXNoQWxsUmVwb3J0c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UmVmcmVzaDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBkcm9wZG93bi10b2dnbGVcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1kb3dubG9hZFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FeHBvcnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IHJldHVybiBhcHBTZXR0aW5ncy5zaG93UGFnZVNpemUgPyBFeHBvcnRBbGxQZGZSZXBvcnRzV2l0aFBhZ2VPcHRpb24oKSA6IEV4cG9ydEFsbFBkZlJlcG9ydHMoJycsJycpOyB9LCBoaWRkZW46IGFwcFNldHRpbmdzLnVzZUFsdFBkZlwiPjxpIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGYtb1wiPjwvaT4gUGRmPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyByZXR1cm4gYXBwU2V0dGluZ3Muc2hvd1BhZ2VTaXplID8gRXhwb3J0QWxsUGRmQWx0UmVwb3J0c1dpdGhQYWdlT3B0aW9uKCkgOiBFeHBvcnRBbGxQZGZBbHRSZXBvcnRzKCcnLCcnKTsgfSwgdmlzaWJsZTogYXBwU2V0dGluZ3MudXNlQWx0UGRmXCI+PGkgY2xhc3M9XCJmYSBmYS1maWxlLXBkZi1vXCI+PC9pPiBQZGY8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogRXhwb3J0QWxsRXhjZWxSZXBvcnRzXCI+PGkgY2xhc3M9XCJmYSBmYS1maWxlLWV4Y2VsLW9cIj48L2k+IEV4Y2VsPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGRhdGEtYmluZD1cInZpc2libGU6IGNhbkRyaWxsZG93blwiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IEV4cG9ydEFsbEV4Y2VsRXhwYW5kZWRSZXBvcnRzXCI+PGkgY2xhc3M9XCJmYSBmYS1maWxlLWV4Y2VsLW9cIj48L2k+IEV4Y2VsIChFeHBhbmRlZCk8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IHJldHVybiBhcHBTZXR0aW5ncy5zaG93UGFnZVNpemUgPyBFeHBvcnRBbGxXb3JkUmVwb3J0c1dpdGhQYWdlT3B0aW9uKCkgOiBFeHBvcnRBbGxXb3JkUmVwb3J0cygnJywnJyk7fVwiPjxpIGNsYXNzPVwiZmEgZmEtZmlsZS13b3JkLW9cIj48L2k+IFdvcmQ8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogUHJpbnREYXNoYm9hcmRcIj48aSBjbGFzcz1cImZhIGZhLXByaW50XCI+PC9pPiBQcmludDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IGN1cnJlbnREYXNoYm9hcmQoKS5jYW5NYW5hZ2UgfHwgYWRtaW5Nb2RlKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggbS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBpZD1cImFycmFuZ2UtbW9kZVwiIHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGFycmFuZ2VEYXNoYm9hcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BcnJhbmdlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIGJ0bi1ncm91cC1zbVwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJpbmQ9XCJjbGljazogem9vbU91dERhc2hib2FyZFwiIGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIHRpdGxlPVwiWm9vbSBPdXRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaC1taW51c1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgZGF0YS1iaW5kPVwiY2xpY2s6IHJlc2V0Wm9vbURhc2hib2FyZFwiIGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIHRpdGxlPVwiUmVzZXQgWm9vbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29tcHJlc3NcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIGRhdGEtYmluZD1cImNsaWNrOiB6b29tSW5EYXNoYm9hcmRcIiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiB0aXRsZT1cIlpvb20gSW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNlYXJjaC1wbHVzXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIGRhdGEtYmluZD1cInZpc2libGU6IGN1cnJlbnREYXNoYm9hcmRcIj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IGN1cnJlbnREYXNoYm9hcmRcIj5cclxuICAgICAgICAgICAgPHAgZGF0YS1iaW5kPVwidGV4dDogZGVzY3JpcHRpb25cIj48L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicGFkZGVkLXRvcFwiPjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnZmx5LWZpbHRlci10ZW1wbGF0ZSd9XCI+PC9kaXY+XHJcbiAgICAgICAgPGJyIC8+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2VudGVyZWRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogZGFzaGJvYXJkcygpLmxlbmd0aCA9PSAwIFwiPlxyXG4gICAgTm8gRGFzaGJvYXJkcyB5ZXQuIENsaWNrIGJlbG93IHRvIFN0YXJ0PGJyIC8+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1sZyBidG4tcHJpbWFyeVwiIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIiBkYXRhLWJzLXRhcmdldD1cIiNhZGQtZGFzaGJvYXJkLW1vZGFsXCI+PGkgY2xhc3M9XCJmYSBmYS1kYXNoYm9hcmRcIj48L2k+IENyZWF0ZSBhIE5ldyBEYXNoYm9hcmQ8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibW9kYWwgbW9kYWwtZnVsbHNjcmVlblwiIGlkPVwiYWRkLWRhc2hib2FyZC1tb2RhbFwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJhZGQtZGFzaGJvYXJkLW1vZGFsLWxhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCIgcm9sZT1cImRvY3VtZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBkYXNoYm9hcmRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImFkZC1kYXNoYm9hcmQtbW9kYWwtbGFiZWxcIj48c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBJZCgpID8gJ0VkaXQnIDogJ0FkZCdcIj48L3NwYW4+IERhc2hib2FyZDwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRyb290Lm9uTW9kYWxDbG9zZUNsaWNrZWRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNCBjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbWQtMyBjb2wtZm9ybS1sYWJlbFwiPk5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtdmFsPVwidHJ1ZVwiIGRhdGEtdmFsLXJlcXVpcmVkPVwiRGFzaGJvYXJkIE5hbWUgaXMgcmVxdWlyZWQuXCIgdHlwZT1cInRleHRcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogTmFtZVwiIHBsYWNlaG9sZGVyPVwiRGFzaGJvYXJkIE5hbWUsIGUuZy4sIFNhbGVzLCBBY2NvdW50aW5nXCIgaWQ9XCJhZGQtZGFzaC1uYW1lXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1tZC0zIGNvbC1mb3JtLWxhYmVsXCI+RGVzY3JpcHRpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBEZXNjcmlwdGlvblwiIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWwgRGVzY3JpcHRpb24gZm9yIHRoZSBEYXNoYm9hcmRcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00IGNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT48aSBjbGFzcz1cImZhIGZhLXBhcGVyY2xpcFwiPjwvaT4gQ2hvb3NlIFJlcG9ydHMgZm9yIHRoZSBEYXNoYm9hcmQ8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlcG9ydCBieSBOYW1lIG9yIERlc2NyaXB0aW9uLi4uXCIgZGF0YS1iaW5kPVwidGV4dElucHV0OiAkcGFyZW50LnNlYXJjaFJlcG9ydHNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudC5zZWFyY2hSZXBvcnRzKCkgJiYgJHBhcmVudC5yZXBvcnRzSW5TZWFyY2goKS5sZW5ndGg9PTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyByZXBvcnRzIGZvdW5kIG1hdGNoaW5nIHlvdXIgc2VhcmNoLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiAkcGFyZW50LnNlYXJjaFJlcG9ydHMoKSAmJiAgJHBhcmVudC5yZXBvcnRzSW5TZWFyY2goKS5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWdyb3VwXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogJHBhcmVudC5yZXBvcnRzSW5TZWFyY2hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0taGVhZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiB7J2ZhLWZpbGUnOiByZXBvcnRUeXBlPT0nTGlzdCcsICdmYS10aC1saXN0JzogcmVwb3J0VHlwZT09J1N1bW1hcnknLCAnZmEtYmFyLWNoYXJ0JzogcmVwb3J0VHlwZT09J0JhcicsICdmYS1waWUtY2hhcnQnOiByZXBvcnRUeXBlPT0nUGllJywgJ2ZhLWxpbmUtY2hhcnQnOiByZXBvcnRUeXBlPT0nTGluZScsICdmYS1nbG9iZSc6IHJlcG9ydFR5cGUgPT0nTWFwJywgJ2ZhLXdpbmRvdy1yZXN0b3JlJzogcmVwb3J0VHlwZT09J1RyZWVtYXAnLCAnZmEtY29kZSc6IHJlcG9ydFR5cGU9PSdIdG1sJ31cIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRwdDsgY29sb3I6ICM4MDgwODBcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJoaWdobGlnaHRlZFRleHQ6IHsgdGV4dDogcmVwb3J0TmFtZSwgaGlnaGxpZ2h0OiAkcGFyZW50LnNlYXJjaFJlcG9ydHMsIGNzczogJ2hpZ2hsaWdodCcgfVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbS10ZXh0IHNtYWxsXCIgZGF0YS1iaW5kPVwidGV4dDogcmVwb3J0RGVzY3JpcHRpb25cIj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiAhJHBhcmVudC5zZWFyY2hSZXBvcnRzKClcIiBjbGFzcz1cImxpc3QtZ3JvdXAgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImZvcmVhY2g6ICRwYXJlbnQucmVwb3J0c0FuZEZvbGRlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSByb2xlPVwiYnV0dG9uXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCIgZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiIGRhdGEtYmluZD1cImF0dHI6IHtocmVmOiAnI2ZvbGRlci0nICsgZm9sZGVySWQgfVwiIHN0eWxlPVwidGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogbm9ybWFsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1mb2xkZXIgbWUtMiB0ZXh0LXNlY29uZGFyeVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IGZvbGRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1kb3duXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UgbXQtMlwiIGRhdGEtYmluZD1cImF0dHI6IHtpZDogJ2ZvbGRlci0nICsgZm9sZGVySWQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2hcIiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiByZXBvcnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogeydmYS1maWxlJzogcmVwb3J0VHlwZT09J0xpc3QnLCAnZmEtdGgtbGlzdCc6IHJlcG9ydFR5cGU9PSdTdW1tYXJ5JywgJ2ZhLWJhci1jaGFydCc6IHJlcG9ydFR5cGU9PSdCYXInLCAnZmEtcGllLWNoYXJ0JzogcmVwb3J0VHlwZT09J1BpZScsICdmYS1saW5lLWNoYXJ0JzogcmVwb3J0VHlwZT09J0xpbmUnLCAnZmEtZ2xvYmUnOiByZXBvcnRUeXBlID09J01hcCcsICdmYS13aW5kb3ctcmVzdG9yZSc6IHJlcG9ydFR5cGU9PSdUcmVlbWFwJywgJ2ZhLWNvZGUnOiByZXBvcnRUeXBlPT0nSHRtbCd9XCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHQ7IGNvbG9yOiAjODA4MDgwXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogcmVwb3J0TmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCIgZGF0YS1iaW5kPVwidGV4dDogcmVwb3J0RGVzY3JpcHRpb25cIj48L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keSBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg1PjxpIGNsYXNzPVwiZmEgZmEtaG91cmdsYXNzXCI+PC9pPiZuYnNwO0Nob29zZSBTY2hlZHVsZTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdyZXBvcnQtc2NoZWR1bGUnfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LmFkbWluTW9kZVwiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHkgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnbWFuYWdlLWFjY2Vzcy10ZW1wbGF0ZScsIGRhdGE6IG1hbmFnZUFjY2Vzc31cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlclwiIGRhdGEtYmluZD1cImNsaWNrOiAkcm9vdC5kZWxldGVEYXNoYm9hcmQsIHZpc2libGU6IElkXCI+RGVsZXRlIERhc2hib2FyZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogJHJvb3Quc2F2ZURhc2hib2FyZFwiPlNhdmUgRGFzaGJvYXJkPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxkaXYgY2xhc3M9XCJncmlkLXN0YWNrXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogcmVwb3J0c1wiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJncmlkLXN0YWNrLWl0ZW1cIiBkYXRhLWJpbmQ9XCJhdHRyOiB7J2dzLXgnOiB4LCAnZ3MteSc6IHksICdncy13Jzogd2lkdGgsICdncy1oJzogaGVpZ2h0LCAnZ3MtYXV0by1wb3NpdGlvbic6IHRydWUsICdncy1pZCc6IFJlcG9ydElEfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCIgZGF0YS1iaW5kPVwiYXR0cjoge2NsYXNzOiAnY2FyZCAnICsgcGFuZWxTdHlsZSArICcgZ3JpZC1zdGFjay1pdGVtLWNvbnRlbnQnfSwgY3NzOiB7IGV4cGFuZGVkOiBpc0V4cGFuZGVkIH0sIHN0eWxlOiB7IGJvcmRlcjogbm9EYXNoYm9hcmRCb3JkZXJzKCkgPyAnbm9uZScgOiAnJywgJ2JveC1zaGFkb3cnOiBub0Rhc2hib2FyZEJvcmRlcnMoKSA/ICdub25lJyA6ICcnIH1cIiBzdHlsZT1cIm92ZXJmbG93LXk6IGhpZGRlbjtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZGRlZC1kaXZcIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwOyBtYXJnaW4tYm90dG9tOiAwO1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJmYWxzZVwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWVsbGlwc2lzLXZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBzbWFsbFwiIHN0eWxlPVwiei1pbmRleDogMTAwMTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGRhdGEtYmluZD1cInZpc2libGU6IEZseUZpbHRlcnMoKS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVGbHlGaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1maWx0ZXJcIj48L3NwYW4+IEZpbHRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkcm9wZG93biBkcm9wZG93bi1ob3ZlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBkcm9wZG93bi1pdGVtXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBkYXRhLWJpbmQ9XCJjbGljazogZWRpdFJlcG9ydEFpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1wZW5jaWxcIj48L3NwYW4+IEVkaXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IG9wZW5SZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcGVuY2lsXCI+PC9zcGFuPiBFZGl0IFN0YW5kYXJkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogZWRpdFJlcG9ydEFpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWJvbHRcIj48L3NwYW4+IEVkaXQgU21hcnRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRyb3Bkb3duIGRyb3Bkb3duLWhvdmVyXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpIT0nU2luZ2xlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBkcm9wZG93bi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1kb3dubG9hZFwiPjwvc3Bhbj4gRXhwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiBkb3dubG9hZEV4Y2VsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWZpbGUtZXhjZWwtb1wiPjwvc3Bhbj4gRXhjZWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGRhdGEtYmluZD1cInZpc2libGU6IGNhbkRyaWxsZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiBkb3dubG9hZEV4Y2VsV2l0aERyaWxsZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1maWxlLWV4Y2VsLW9cIj48L3NwYW4+IEV4Y2VsIChFeHBhbmRlZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LmFwcFNldHRpbmdzLnNob3dQYWdlU2l6ZSA/IGZ1bmN0aW9uKCkgeyBsb2FkUGRmTW9kZWwoKSB9IDogZnVuY3Rpb24oKSB7ICRwYXJlbnQuYXBwU2V0dGluZ3MudXNlQWx0UGRmID8gZG93bmxvYWRQZGZBbHQoJycsJycpIDogZG93bmxvYWRQZGYoJycsJycpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGYtb1wiPjwvc3Bhbj4gUERGXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5hcHBTZXR0aW5ncy5zaG93UGFnZVNpemUgPyBmdW5jdGlvbigpIHsgbG9hZFdvcmRNb2RlbCgpfSA6IGZ1bmN0aW9uKCkgeyBkb3dubG9hZFdvcmQoJycsJycpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWZpbGUtd29yZC1vXCI+PC9zcGFuPiBXb3JkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKSE9J1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImF0dHI6IHtocmVmOiAnL0RvdE5ldFJlcG9ydD9saW5rZWRyZXBvcnQ9dHJ1ZSZub3BhcmVudD10cnVlJnJlcG9ydElkPScgKyBSZXBvcnRJRCgpIH1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWZvbGRlci1vcGVuXCI+PC9zcGFuPiBPcGVuIFJlcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgZGF0YS1iaW5kPVwidmlzaWJsZTogQ2FuRWRpdCgpICYmIENhblNhdmVSZXBvcnRzKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgZGF0YS1iaW5kPVwiY2xpY2s6IFNhdmVXaXRob3V0UnVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zYXZlXCI+PC9zcGFuPiBTYXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LmN1cnJlbnREYXNoYm9hcmQoKS5jYW5NYW5hZ2UgfHwgJHBhcmVudC5hZG1pbk1vZGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7ICRwYXJlbnQucmVtb3ZlUmVwb3J0RnJvbURhc2hib2FyZChSZXBvcnRJRCgpKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY2xvc2VcIj48L3NwYW4+IFJlbW92ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHsgUmVmcmVzaFJlcG9ydChSZXBvcnRJRCgpKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcmVmcmVzaFwiPjwvc3Bhbj4gUmVmcmVzaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIiBkYXRhLWJzLXRhcmdldD1cIiNzcWxNb2RhbFwiIGRhdGEtYmluZD1cInZpc2libGU6ICRwYXJlbnQuYWRtaW5Nb2RlLCBjbGljazogZ2V0Q29kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY29kZVwiPjwvc3Bhbj4gUmVwb3J0IENvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInB1bGwtbGVmdFwiIGRhdGEtYmluZD1cInRleHQ6IFJlcG9ydE5hbWVcIj48L2gyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBpc0RpcnR5XCIgY2xhc3M9XCJ0ZXh0LXdhcm5pbmcgc21hbGxcIiB0aXRsZT1cIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tbGlua1wiIGRhdGEtYmluZD1cInZpc2libGU6IENhbkVkaXQoKSAmJiBDYW5TYXZlUmVwb3J0cygpICYmIGlzRGlydHkoKSwgY2xpY2s6IFNhdmVXaXRob3V0UnVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtc2F2ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpbmtcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlRXhwYW5kXCI+PHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogeydmYS1leHBhbmQnOiAhaXNFeHBhbmRlZCgpLCAnZmEtbWludXMnOiBpc0V4cGFuZGVkKCkgfSwgdmlzaWJsZTogUmVwb3J0VHlwZSgpICE9ICdTaW5nbGUnICYmICFub0Rhc2hib2FyZEJvcmRlcnMoKVwiPjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IGFjdGl2ZURlc2lnbigpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncmVwb3J0LWRlc2lnbmVyLWNvbXBhY3QnXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGxpc3Qtb3ZlcmZsb3ctYXV0b1wiIHN0eWxlPVwicGFkZGluZy10b3A6IDA7IG1hcmdpbi10b3A6IDA7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBSZXBvcnRUeXBlKCkhPSdTaW5nbGUnICYmIFJlcG9ydFR5cGUoKSE9J0h0bWwnICYmIENhbkVkaXQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdjaGFydC1zZXR0aW5ncycsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwIGRhdGEtYmluZD1cImh0bWw6IFJlcG9ydERlc2NyaXB0aW9uLCB2aXNpYmxlOiBSZXBvcnREZXNjcmlwdGlvblwiPjwvcD5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnZmx5LWZpbHRlci10ZW1wbGF0ZSd9LCB2aXNpYmxlOiBzaG93Rmx5RmlsdGVyc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBSZXBvcnRSZXN1bHRcIiBjbGFzcz1cInNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhUmVwb3J0RGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXBvcnQtc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdyZXBvcnQtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1pbmxpbmVcIiBkYXRhLWJpbmQ9XCJpZm5vdDogbm9EYXNoYm9hcmRCb3JkZXJzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBwYWdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB1bGwtbGVmdCB0b3RhbC1yZWNvcmRzXCIgZGF0YS1iaW5kPVwiaWY6IHRvdGFsUmVjb3JkcygpPjEgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogJ1RvdGFsIFJlY29yZHM6ICcgKyB0b3RhbFJlY29yZHMoKVwiPjwvc3Bhbj48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdWxsLXJpZ2h0XCIgZGF0YS1iaW5kPVwiaWY6IHBhZ2VzKCk+MSAmJiAkcGFyZW50LlJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncGFnZXItdGVtcGxhdGUnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gUmVwb3J0IEJ1aWxkZXIgLS0+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbCBtb2RhbC1mdWxsc2NyZWVuXCIgaWQ9XCJtb2RhbC1yZXBvcnRidWlsZGVyXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbGFiZWxsZWRieT1cIm15TW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XCIgZGF0YS1iaW5kPVwid2l0aDogc2VsZWN0ZWRSZXBvcnRcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LWRlc2lnbmVyJywgZGF0YTogJGRhdGF9XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBGaWVsZCBPcHRpb25zIE1vZGFsIC0tPlxyXG48ZGl2IGNsYXNzPVwibW9kYWxcIiBpZD1cImZpZWxkT3B0aW9uc01vZGFsXCIgdGFiaW5kZXg9XCItMVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBzZWxlY3RlZFJlcG9ydFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdyZXBvcnQtZmllbGQtb3B0aW9ucycsIGRhdGE6ICRkYXRhfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gTGluayBFZGl0IE1vZGFsIC0tPlxyXG48ZGl2IGNsYXNzPVwibW9kYWxcIiBpZD1cImxpbmtNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwid2l0aDogc2VsZWN0ZWRSZXBvcnRcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LWxpbmstZWRpdCcsIGRhdGE6ICRkYXRhfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gVGhpcyByZW5kZXJzIHRoZSB0ZW1wbGF0ZSAtLT5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJwZGZPcHRpb25zU2NoZWR1bGVNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJwZGZPcHRpb25zU2NoZWR1bGVNb2RhbExhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwid2l0aDogZGFzaGJvYXJkXCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7IG5hbWU6ICdwZGYtb3B0aW9ucy1zY2hlZHVsZS10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhICB9XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFRoaXMgcmVuZGVycyB0aGUgdGVtcGxhdGUgLS0+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwid29yZE9wdGlvbnNTY2hlZHVsZU1vZGFsXCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cIndvcmRPcHRpb25zU2NoZWR1bGVNb2RhbExhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwid2l0aDogZGFzaGJvYXJkXCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7IG5hbWU6ICd3b3JkLW9wdGlvbnMtc2NoZWR1bGUtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YSB9XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJ3b3JkT3B0aW9uc01vZGFsXCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cIndvcmRPcHRpb25zTW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGRhdGEtYmluZD1cIndpdGg6IHNlbGVjdGVkUmVwb3J0XCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7IG5hbWU6ICd3b3JkLW9wdGlvbnMtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YSAgfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJwZGZPcHRpb25zTW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgYXJpYS1sYWJlbGxlZGJ5PVwicGRmT3B0aW9uc01vZGFsTGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBzZWxlY3RlZFJlcG9ydFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogeyBuYW1lOiAncGRmLW9wdGlvbnMtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YSAgfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJleHBvcnRBbGxXb3JkT3B0aW9uc01vZGFsXCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cImV4cG9ydEFsbFdvcmRPcHRpb25zTW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGRhdGEtYmluZD1cIndpdGg6IGRhc2hib2FyZFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogeyBuYW1lOiAnd29yZC1vcHRpb25zLXRlbXBsYXRlJywgZGF0YTogJGRhdGEgIH1cIj48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwiZXhwb3J0QWxsUGRmT3B0aW9uc01vZGFsXCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cImV4cG9ydEFsbFBkZk9wdGlvbnNNb2RhbExhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwid2l0aDogZGFzaGJvYXJkXCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7IG5hbWU6ICdwZGYtb3B0aW9ucy10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhICB9XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBUZW1wbGF0ZXMgLS0+XHJcbjxkaXYgW2lubmVySHRtbF09XCJyZXBvcnRUZW1wbGF0ZXNcIj48L2Rpdj5cclxuPCEtLSBUZW1wbGF0ZXMgLS0+XHJcblxyXG48L2Rpdj4iXX0=
3248
+ }] }, { type: i2.HttpClient }, { type: i3.ActivatedRoute }] });
3249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0ZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvdG5ldHJlcG9ydC1uZy9zcmMvbGliL2RvdG5ldGRhc2hib2FyZC9kb3RuZXRkYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG90bmV0cmVwb3J0LW5nL3NyYy9saWIvZG90bmV0ZGFzaGJvYXJkL2RvdG5ldGRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQWtCLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFnQi9DLE1BQU0sT0FBTyx3QkFBd0I7SUFNdkI7SUFDQTtJQUN3QjtJQUN4QjtJQUNBO0lBVEYsY0FBYyxDQUFTO0lBQ3hCLGVBQWUsQ0FBVztJQUN6QixXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUVsRCxZQUFZLFFBQWtCLEVBQ3BCLFNBQXVCLEVBQ3ZCLEtBQXdCLEVBQ0EsT0FBZSxFQUN2QyxJQUFnQixFQUNoQixLQUFxQjtRQUpyQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ0EsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBRTNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyw4QkFBOEI7UUFDM0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVILFFBQVE7UUFDSixJQUFJLE9BQU8sR0FBc0gsRUFBRSxDQUFDO1FBQ3BJLElBQUksVUFBVSxHQUE0TSxFQUFFLENBQUM7UUFDN04sSUFBSSxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUNqRSxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsMkNBQTJDLEdBQUcsU0FBUyxDQUFDO1FBQ3JHLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQ0FBcUMsQ0FBQztRQUNyRixJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsbUNBQW1DLENBQUM7UUFDcEYsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUcvRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWtCLEVBQUUsRUFBRTtZQUM3RCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFDLEVBQUU7Z0JBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsaUJBQWlCLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ2xTLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDbkQsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQUMsQ0FBQztZQUU5RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO2dCQUNwRixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUU7b0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQzdLLENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7b0JBRTNELElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQztvQkFDdEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQzt3QkFDNUIsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsc0JBQXNCO3dCQUMxRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEI7d0JBQ2pFLGdCQUFnQixFQUFDLElBQUksQ0FBQyxjQUFjLEdBQUUsZ0NBQWdDO3dCQUN0RSxZQUFZLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO3dCQUN2QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQ0FBZ0M7d0JBQ3JFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLGdDQUFnQzt3QkFDOUQsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsK0JBQStCO3dCQUN0RSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLG1DQUFtQzt3QkFDM0UsVUFBVSxFQUFFLFNBQVM7d0JBQ3JCLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDO3dCQUMxQixpQkFBaUIsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7d0JBQzFDLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsWUFBWSxFQUFFLE1BQU07d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzt3QkFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO3dCQUMzQixVQUFVLEVBQUUsTUFBTSxDQUFDLGNBQWM7d0JBQ2pDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVzt3QkFDL0IsV0FBVyxFQUFFLFdBQVc7d0JBQ3hCLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLG1CQUFtQjt3QkFDdkQsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsMkJBQTJCO3dCQUMxRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLHFDQUFxQzt3QkFDakYsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUUsZ0NBQWdDO3dCQUN0RSxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxrQ0FBa0M7d0JBQ3pFLG1CQUFtQixFQUFFLG1CQUFtQjt3QkFDeEMsYUFBYSxFQUFFLElBQUk7cUJBQ3RCLENBQUMsQ0FBQztvQkFFSCxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUUsRUFBRTt3QkFFbEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3pCLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO3dCQUVoRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzlCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFSCxXQUFXO1FBQ1AsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8saUJBQWlCO1FBRXZCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOGhHakUsQ0FBQyxDQUFDO1FBQ0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBTztRQUM5QixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2IsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxFQUFNO1FBQ3pCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUViLENBQUMsQ0FBQztZQUNFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUN0QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxjQUFjLEVBQUUsRUFBRTtnQkFDbEIsU0FBUyxFQUFFO29CQUNQLE9BQU8sRUFBRSw0QkFBNEI7aUJBQ3hDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBUyxLQUFVLEVBQUUsS0FBWTtnQkFDakQsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFTLENBQU07d0JBQzlCLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVMsS0FBdUIsRUFBRSxJQUFvQztnQkFDeEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNYLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDO2dCQUNYLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDVCxDQUFDLENBQUMsQ0FBQztJQUdMLENBQUM7d0dBMXFHVSx3QkFBd0IsdUdBUXZCLGNBQWM7NEZBUmYsd0JBQXdCLCtFQ3JCckMsMjAwQkFxWU0sZ1JEdFhtQixZQUFZOzs0RkFNeEIsd0JBQXdCO2tCQVRwQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUMsWUFBWSxDQUFDOzswQkFjL0IsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBCQVNFX1VSTF9UT0tFTiB9IGZyb20gJy4uL2RvdG5ldHJlcG9ydC1saWIuZGknO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuZGVjbGFyZSB2YXIga286IGFueTtcclxuZGVjbGFyZSB2YXIgZGFzaGJvYXJkVmlld01vZGVsOiBhbnk7XHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuZGVjbGFyZSB2YXIgR3JpZFN0YWNrOiBhbnk7XHJcbmRlY2xhcmUgdmFyIF86IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRvdG5ldGRhc2hib2FyZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0LENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvdG5ldGRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG90bmV0ZGFzaGJvYXJkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG4gXHJcblxyXG5leHBvcnQgY2xhc3MgRG90bmV0ZGFzaGJvYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSBiYXNlU2VydmljZVVybDogc3RyaW5nO1xyXG4gICAgcHVibGljIHJlcG9ydFRlbXBsYXRlczogU2FmZUh0bWw7XHJcbiAgICBwcml2YXRlIHF1ZXJ5UGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PXt9O1xyXG4gIFxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICBwcml2YXRlIGNkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgQEluamVjdChCQVNFX1VSTF9UT0tFTikgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmcsXHJcbiAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHsgXHJcbiAgXHJcbiAgICAgICAgdGhpcy5iYXNlU2VydmljZVVybCA9IHRoaXMuYmFzZVVybCArICcvYXBpJzsgLy8gXCJodHRwOi8vbG9jYWxob3N0OjM5Mzc4XCI7IFxcXHJcbiAgICAgICAgdGhpcy5yZXBvcnRUZW1wbGF0ZXMgPSBcIlwiO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB2YXIgcmVwb3J0czogeyByZXBvcnRTcWw6IGFueTsgcmVwb3J0SWQ6IGFueTsgcmVwb3J0RmlsdGVyOiBhbnk7IGNvbm5lY3RLZXk6IGFueTsgeDogYW55OyB5OiBhbnk7IHdpZHRoOiBhbnk7IGhlaWdodDogYW55OyB9W10gPSBbXTtcclxuICAgICAgICB2YXIgZGFzaGJvYXJkczogeyBpZDogYW55OyBuYW1lOiBhbnk7IGRlc2NyaXB0aW9uOiBhbnk7IHNlbGVjdGVkUmVwb3J0czogYW55OyBzY2hlZHVsZTphbnk7IHVzZXJJZDogYW55OyB1c2VyUm9sZXM6IGFueTsgdmlld09ubHlVc2VySWQ6IGFueTsgdmlld09ubHlVc2VyUm9sZXM6IGFueTtjbGllbnRJZDphbnk7Y2FuTWFuYWdlOmFueSB9W10gfCB7IGlkOiBudW1iZXI7IH1bXSA9IFtdO1xyXG4gICAgICAgIHZhciBhZG1pbk1vZGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVwb3J0QWRtaW5Nb2RlJykgPz8gZmFsc2U7ICAgICBcclxuICAgICAgICBsZXQgZ2V0RGFzaGJvYXJkc1VybCA9IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyBcIi9Eb3ROZXRSZXBvcnRBcGkvR2V0RGFzaGJvYXJkcz9hZG1pbk1vZGU9XCIgKyBhZG1pbk1vZGU7XHJcbiAgICAgICAgbGV0IGxvYWRTYXZlZERhc2hib2FyZCA9IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyBcIi9Eb3ROZXRSZXBvcnRBcGkvTG9hZFNhdmVkRGFzaGJvYXJkXCI7XHJcbiAgICAgICAgbGV0IGdldFVzZXJzQW5kUm9sZXNVcmwgPSB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgXCIvRG90TmV0UmVwb3J0QXBpL0dldFVzZXJzQW5kUm9sZXNcIjtcclxuICAgICAgICBnZXRVc2Vyc0FuZFJvbGVzVXJsID0gZ2V0VXNlcnNBbmRSb2xlc1VybC5yZXBsYWNlKC9bPyZdJC8sIFwiXCIpO1xyXG5cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0KGdldERhc2hib2FyZHNVcmwpLnN1YnNjcmliZSgoZGFzaGJvYXJkRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGRhc2hib2FyZERhdGEuZm9yRWFjaCgoZDphbnkpPT4ge1xyXG4gICAgICAgICAgICAgICAgZGFzaGJvYXJkcy5wdXNoKHsgaWQ6IGQuSWQsIG5hbWU6IGQuTmFtZSwgZGVzY3JpcHRpb246IGQuRGVzY3JpcHRpb24sIHNlbGVjdGVkUmVwb3J0czogZC5TZWxlY3RlZFJlcG9ydHMsc2NoZWR1bGU6ZC5TY2hlZHVsZSwgdXNlcklkOiBkLlVzZXJJZCwgdXNlclJvbGVzOiBkLlVzZXJSb2xlcywgdmlld09ubHlVc2VySWQ6IGQuVmlld09ubHlVc2VySWQsIHZpZXdPbmx5VXNlclJvbGVzOiBkLlZpZXdPbmx5VXNlclJvbGVzLGNsaWVudElkOmQuQ2xpZW50SWQsY2FuTWFuYWdlOmQuQ2FuTWFuYWdlIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xyXG4gICAgICAgICAgICB2YXIgZGFzaGJvYXJkSWQgPSBwYXJzZUludCh0aGlzLnF1ZXJ5UGFyYW1zWydpZCddIHx8ICcwJyk7XHJcbiAgICAgICAgICAgIGlmICghZGFzaGJvYXJkSWQgJiYgZGFzaGJvYXJkcy5sZW5ndGggPiAwKSB7IGRhc2hib2FyZElkID0gZGFzaGJvYXJkc1swXS5pZDsgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5odHRwLmdldChsb2FkU2F2ZWREYXNoYm9hcmQgKyBcIj9pZD1cIiArIGRhc2hib2FyZElkKS5zdWJzY3JpYmUoKHJlcG9ydHNEYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlcG9ydHNEYXRhLmZvckVhY2goKHI6YW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVwb3J0cy5wdXNoKHsgcmVwb3J0U3FsOiByLlJlcG9ydFNxbCwgcmVwb3J0SWQ6IHIuUmVwb3J0SWQsIHJlcG9ydEZpbHRlcjogci5SZXBvcnRGaWx0ZXIsIGNvbm5lY3RLZXk6IHIuQ29ubmVjdEtleSwgeDogci5YLCB5OiByLlksIHdpZHRoOiByLldpZHRoLCBoZWlnaHQ6IHIuSGVpZ2h0IH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXBvcnRzKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldChnZXRVc2Vyc0FuZFJvbGVzVXJsKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2bSA9IG5ldyBkYXNoYm9hcmRWaWV3TW9kZWwoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBydW5SZXBvcnRVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydC9SZXBvcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBleGVjUmVwb3J0VXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgJy9Eb3ROZXRSZXBvcnRBcGkvUnVuUmVwb3J0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcnVuTGlua1JlcG9ydFVybDp0aGlzLmJhc2VTZXJ2aWNlVXJsICsnL0RvdE5ldFJlcG9ydEFwaS9SdW5SZXBvcnRMaW5rJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0V2l6YXJkOiAkKFwiI21vZGFsLXJlcG9ydGJ1aWxkZXJcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvb2t1cExpc3RVcmw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydEFwaS9HZXRMb29rdXBMaXN0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXBpVXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgJy9Eb3ROZXRSZXBvcnRBcGkvQ2FsbFJlcG9ydEFwaScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1blJlcG9ydEFwaVVybDogdGhpcy5iYXNlU2VydmljZVVybCArICcvRG90TmV0UmVwb3J0QXBpL1J1blJlcG9ydEFwaScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFNjaGVtYUZyb21TcWw6IHRoaXMuYmFzZVNlcnZpY2VVcmwgKyAnL0RvdE5ldFJlcG9ydEFwaS9HZXRTY2hlbWFGcm9tU3FsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0TW9kZTogXCJleGVjdXRlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtNb2RhbDogJChcIiNsaW5rTW9kYWxcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkT3B0aW9uc01vZGFsOiAkKFwiI2ZpZWxkT3B0aW9uc01vZGFsXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvcnRzOiByZXBvcnRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXNoYm9hcmRzOiBkYXNoYm9hcmRzLCAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2V0dGluZ3M6IHJlc3VsdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlcnM6IHJlc3VsdC51c2VycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlclJvbGVzOiByZXN1bHQudXNlclJvbGVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxvd0FkbWluOiByZXN1bHQuYWxsb3dBZG1pbk1vZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFGaWx0ZXJzOiByZXN1bHQuZGF0YUZpbHRlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hib2FyZElkOiBkYXNoYm9hcmRJZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkV4cG9ydFVybDogdGhpcy5iYXNlU2VydmljZVVybCArICcvRG90TmV0UmVwb3J0QXBpLycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50UmVwb3J0VXJsOiB0aGlzLmJhc2VVcmwgKyAnL0RvdE5ldFJlcG9ydC9SZXBvcnRQcmludCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRTYXZlZERhc2hib3JkVXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgJy9Eb3ROZXRSZXBvcnRBcGkvTG9hZFNhdmVkRGFzaGJvYXJkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGFzaGJvcmRzVXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsnL0RvdE5ldFJlcG9ydEFwaS9HZXREYXNoYm9hcmRzJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VGltZVpvbmVzVXJsOiB0aGlzLmJhc2VTZXJ2aWNlVXJsICsgJy9Eb3ROZXRSZXBvcnRBcGkvR2V0QWxsVGltZXpvbmVzJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VXNlcnNBbmRSb2xlc1VybDogZ2V0VXNlcnNBbmRSb2xlc1VybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2FtZVBhZ2VPblJ1bjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB2bS5pbml0KDAsIHJlc3VsdC5ub0FjY291bnQpLmRvbmUoKCk9PntcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyS09UZW1wbGF0ZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAga28uYXBwbHlCaW5kaW5ncyh2bSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RvdC1uZXQtcmVwb3J0JykpO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZEdyaWRJbml0KHZtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kV2luZG93UmVzaXplKHZtKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICBcclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAga28uY2xlYW5Ob2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb3QtbmV0LXJlcG9ydCcpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0KCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIHJlbmRlcktPVGVtcGxhdGVzKCkge1xyXG4gIFxyXG4gICAgdGhpcy5yZXBvcnRUZW1wbGF0ZXMgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChgPCEtLSBEb3RuZXQgUmVwb3J0IEhUTUwgVGVtcGxhdGVzIC0tPlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInJlcG9ydC1maWx0ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgZGF0YS1iaW5kPVwiYXR0cjoge2lkOiAnZmlsdGVyLScrdWlJZCB9XCI+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogIWhhc0ZvcmVpZ25LZXktLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBbJ0RhdGVUaW1lJywnRGF0ZScsJ1RpbWUnXS5pbmRleE9mKGZpZWxkVHlwZSkgIT0gLTEgLS0+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4O1wiPlxyXG4gICAgICAgICAgICA8IS0tIGtvIGlmOiBbJz0nLCc+JywnPCcsJz49JywnPD0nLCAnbm90IGVxdWFsJ10uaW5kZXhPZigkcGFyZW50Lk9wZXJhdG9yKCkpICE9IC0xIC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJkYXRlcGlja2VyOiAkcGFyZW50LmZtdFZhbHVlLCBkYXRlcGlja2VyT3B0aW9uczoge3ZhbHVlOiAkcGFyZW50LlZhbHVlLCBkYXRlRm9ybWF0OiBkYXRlRm9ybWF0KCkgPT09ICdDdXN0b20nID8gY3VzdG9tRGF0ZUZvcm1hdCgpLnJlcGxhY2UoL3l5eXkvZywgJ3l5JykgOiAkcm9vdC5kYXRlRm9ybWF0TWFwcGluZ3NbZGF0ZUZvcm1hdCgpXX1cIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgICA8IS0tIGtvIGlmOiBmaWVsZFR5cGU9PSdUaW1lJyB8fCBmaWVsZEZvcm1hdCgpPT0nVGltZScgfHwgZmllbGRGb3JtYXQoKT09J0RhdGUgYW5kIFRpbWUnLS0+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJ0aW1lXCIgZGF0YS1iaW5kPVwidmFsdWU6JHBhcmVudC5WYWx1ZXRpbWVcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0ga28gaWY6IFsnYmV0d2VlbiddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSAhPSAtMSAtLT5cclxuICAgICAgICBGcm9tXHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4O1wiPlxyXG4gICAgICAgICAgICA8aW5wdXQgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZnJvbS1kYXRlXCIgZGF0YS1iaW5kPVwiZGF0ZXBpY2tlcjogJHBhcmVudC5mbXRWYWx1ZSwgZGF0ZXBpY2tlck9wdGlvbnM6IHt2YWx1ZTogJHBhcmVudC5WYWx1ZSwgZGF0ZUZvcm1hdDogZGF0ZUZvcm1hdCgpID09PSAnQ3VzdG9tJyA/IGN1c3RvbURhdGVGb3JtYXQoKS5yZXBsYWNlKC95eXl5L2csICd5eScpIDogJHJvb3QuZGF0ZUZvcm1hdE1hcHBpbmdzW2RhdGVGb3JtYXQoKV19XCIgLz5cclxuICAgICAgICAgICAgPCEtLSBrbyBpZjpmaWVsZFR5cGU9PSdUaW1lJyB8fCBmaWVsZEZvcm1hdCgpPT0nVGltZScgfHwgZmllbGRGb3JtYXQoKT09J0RhdGUgYW5kIFRpbWUnLS0+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJ0aW1lXCIgZGF0YS1iaW5kPVwidmFsdWU6JHBhcmVudC5WYWx1ZXRpbWVcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgdG9cclxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBkYXRhLWJpbmQ9XCJkYXRlcGlja2VyOiAkcGFyZW50LmZtdFZhbHVlMiwgZGF0ZXBpY2tlck9wdGlvbnM6IHt2YWx1ZTogJHBhcmVudC5WYWx1ZTIsIGRhdGVGb3JtYXQ6IGRhdGVGb3JtYXQoKSA9PT0gJ0N1c3RvbScgPyBjdXN0b21EYXRlRm9ybWF0KCkucmVwbGFjZSgveXl5eS9nLCAneXknKSA6ICRyb290LmRhdGVGb3JtYXRNYXBwaW5nc1tkYXRlRm9ybWF0KCldfVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHRvLWRhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgICA8IS0tIGtvIGlmOmZpZWxkVHlwZT09J1RpbWUnIHx8IGZpZWxkRm9ybWF0KCk9PSdUaW1lJyB8fCBmaWVsZEZvcm1hdCgpPT0nRGF0ZSBhbmQgVGltZSctLT5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRpbWVcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTokcGFyZW50LlZhbHVldGltZTJcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogWydyYW5nZSddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSAhPSAtMSAtLT5cclxuICAgICAgICA8c2VsZWN0IGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlXCIgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VG9kYXk8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5Ub2RheSArPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VG9kYXkgLTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlllc3RlcmRheTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlRoaXMgV2Vlazwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPkxhc3QgV2Vlazwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlRoaXMgTW9udGg8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5MYXN0IE1vbnRoPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VGhpcyBZZWFyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TGFzdCBZZWFyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VGhpcyBXZWVrIFRvIERhdGU8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5UaGlzIE1vbnRoIFRvIERhdGU8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj5UaGlzIFllYXIgVG8gRGF0ZTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPkxhc3QgMzAgRGF5czwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8IS0tPG9wdGlvbj5UaGlzIE1vbnRoIExhc3QgWWVhcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPkxhc3QgTW9udGggTGFzdCBZZWFyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VGhpcyBRdWFydGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TGFzdCBRdWFydGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+Rmlyc3QgUXVhcnRlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPlNlY29uZCBRdWFydGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+VGhpcmQgUXVhcnRlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPkZvdXJ0aCBRdWFydGVyPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+TmV4dCA2IE1vbnRoczwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPkxhc3QgNiBNb250aHM8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj4yIFllYXJzIGFnbzwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uPjMgWWVhcnMgYWdvPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24+NCBZZWFycyBhZ288L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbj41IFllYXJzIGFnbzwvb3B0aW9uPi0tPlxyXG4gICAgICAgICAgICA8b3B0Z3JvdXAgbGFiZWw9XCJDb21wYXJpc29uIE9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24+Pj0gVG9kYXk8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24+PD0gVG9kYXk8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24+Pj0gVG9kYXkgKzwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbj48PSBUb2RheSArPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uPj49IFRvZGF5IC08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb24+PD0gVG9kYXkgLTwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8L29wdGdyb3VwPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6ICRwYXJlbnQuVmFsdWUoKS5pbmRleE9mKCdUb2RheSArJykgPj0gMCB8fCAkcGFyZW50LlZhbHVlKCkuaW5kZXhPZignVG9kYXkgLScpID49IDBcIiBjbGFzcz1cImZvcm0tZ3JvdXAgcHVsbC1sZWZ0XCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNXB4O1wiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LXNtIHB1bGwtbGVmdFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgZGF0YS1iaW5kPVwidmFsdWU6ICRwYXJlbnQuVmFsdWUyXCIgcmVxdWlyZWQgLz48c3BhbiBzdHlsZT1cInBhZGRpbmc6IDVweCA1cHg7XCIgY2xhc3M9XCJwdWxsLWxlZnRcIj4gZGF5czwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBbJ0ludCcsJ01vbmV5JywnRmxvYXQnLCdEb3VibGUnXS5pbmRleE9mKGZpZWxkVHlwZSkgIT0gLTEgLS0+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6IFsnPScsJz4nLCc8JywnPj0nLCc8PScsICdub3QgZXF1YWwnXS5pbmRleE9mKCRwYXJlbnQuT3BlcmF0b3IoKSkgIT0gLTEgJiYgWydpcyBibGFuaycsICdpcyBub3QgYmxhbmsnLCAnaXMgbnVsbCcsICdpcyBub3QgbnVsbCddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSA9PSAtMSAtLT5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cIm51bWJlclwiIGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlLCBkaXNhYmxlOiAkcGFyZW50Lk9wZXJhdG9yKCkgPT0gJ2lzIGRlZmF1bHQnXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICA8IS0tIGtvIGlmOiBbJ2luJywgJ25vdCBpbiddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSAhPSAtMSAtLT5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRleHRcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogJHBhcmVudC5WYWx1ZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICA8IS0tIGtvIGlmOiBbJ2JldHdlZW4nXS5pbmRleE9mKCRwYXJlbnQuT3BlcmF0b3IoKSkgIT0gLTEgLS0+XHJcbiAgICAgICAgICAgIEZyb21cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cIm51bWJlclwiIGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICAgICAgVG9cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cIm51bWJlclwiIGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlMlwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogZmllbGRUeXBlPT0nQm9vbGVhbicgJiYgWydpcyBibGFuaycsICdpcyBub3QgYmxhbmsnLCAnaXMgbnVsbCcsICdpcyBub3QgbnVsbCddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSA9PSAtMSAtLT5cclxuICAgICAgICA8c2VsZWN0IHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogJHBhcmVudC5WYWx1ZSwgZGlzYWJsZTogJHBhcmVudC5PcGVyYXRvcigpID09ICdpcyBkZWZhdWx0J1wiPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPlllczwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMFwiPk5vPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogWydJbnQnLCdNb25leScsJ0Zsb2F0JywnRG91YmxlJywnRGF0ZScsJ0RhdGVUaW1lJywnVGltZScsJ0Jvb2xlYW4nXS5pbmRleE9mKGZpZWxkVHlwZSkgPT0gLTEgJiYgWydpcyBibGFuaycsICdpcyBub3QgYmxhbmsnLCAnaXMgbnVsbCcsICdpcyBub3QgbnVsbCddLmluZGV4T2YoJHBhcmVudC5PcGVyYXRvcigpKSA9PSAtMSAtLT5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwidGV4dFwiIGRhdGEtYmluZD1cInZhbHVlOiAkcGFyZW50LlZhbHVlLCBkaXNhYmxlOiAkcGFyZW50Lk9wZXJhdG9yKCkgPT0gJ2lzIGRlZmF1bHQnLGF0dHI6IHtpZDogJ2N0bC0nICsgJGVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtcGFyZW50cHJlZml4XScpLmdldEF0dHJpYnV0ZSgnZGF0YS1wYXJlbnRwcmVmaXgnKSArICctJyArIHVpSWR9XCIgcmVxdWlyZWQgLz5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBoYXNGb3JlaWduS2V5ICYmICRwYXJlbnQuT3BlcmF0b3IoKSAhPSAnYWxsJyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiBoYXNGb3JlaWduUGFyZW50S2V5ICYmICRwYXJlbnQuc2hvd1BhcmVudEZpbHRlcigpIC0tPlxyXG4gICAgICAgIDxzZWxlY3QgbXVsdGlwbGUgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJzZWxlY3QyOiB7IGRyb3Bkb3duUGFyZW50OiAnI2ZpbHRlci0nK3VpSWQsIHBsYWNlaG9sZGVyOiAnUGxlYXNlIENob29zZScsIGFsbG93Q2xlYXI6IHRydWUgfSwgb3B0aW9uczogJHBhcmVudC5QYXJlbnRMaXN0LCBvcHRpb25zVGV4dDogJ3RleHQnLCBvcHRpb25zVmFsdWU6ICRwYXJlbnQuSXNDb25kaXRpb25hbEZpbHRlciA/ICd0ZXh0JzogJ2lkJywgc2VsZWN0ZWRPcHRpb25zOiAkcGFyZW50LlBhcmVudEluXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudC5PcGVyYXRvcigpPT0nPSctLT5cclxuICAgICAgICA8c2VsZWN0IHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwic2VsZWN0MjogeyBkcm9wZG93blBhcmVudDogJyNmaWx0ZXItJyt1aUlkLCBwbGFjZWhvbGRlcjogJ1BsZWFzZSBDaG9vc2UnLCBhbGxvd0NsZWFyOiB0cnVlIH0sIG9wdGlvbnM6ICRwYXJlbnQuTG9va3VwTGlzdCwgb3B0aW9uc1RleHQ6ICd0ZXh0Jywgb3B0aW9uc1ZhbHVlOiAgICRwYXJlbnQuSXNDb25kaXRpb25hbEZpbHRlciA/ICd0ZXh0JzogJ2lkJywgdmFsdWU6ICRwYXJlbnQuVmFsdWUsIG9wdGlvbnNDYXB0aW9uOiAnUGxlYXNlIENob29zZSdcIj48L3NlbGVjdD5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50Lk9wZXJhdG9yKCk9PSdpbicgfHwgJHBhcmVudC5PcGVyYXRvcigpPT0nbm90IGluJy0tPlxyXG4gICAgICAgIDxzZWxlY3QgcmVxdWlyZWQgbXVsdGlwbGUgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJzZWxlY3QyOiB7IGRyb3Bkb3duUGFyZW50OiAnI2ZpbHRlci0nK3VpSWQsIHBsYWNlaG9sZGVyOiAnUGxlYXNlIENob29zZScsIGFsbG93Q2xlYXI6IHRydWUgfSwgb3B0aW9uczogJHBhcmVudC5Mb29rdXBMaXN0LCBvcHRpb25zVGV4dDogJ3RleHQnLCBvcHRpb25zVmFsdWU6ICRwYXJlbnQuSXNDb25kaXRpb25hbEZpbHRlciA/ICd0ZXh0JzogJ2lkJywgc2VsZWN0ZWRPcHRpb25zOiAkcGFyZW50LlZhbHVlSW5cIj48L3NlbGVjdD5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicGFnZXItdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwYWdlci1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXAgZ2FwLTJcIj5cclxuXHJcbiAgICAgICAgPCEtLSBSb3dzIHBlciBwYWdlIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIG1zLTFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+UGFnZSBzaXplOjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtIHctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogcGFnZVNpemVPcHRpb25zLCB2YWx1ZTogcGFnZVNpemVcIj5cclxuICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gSW5uZXIgYm9yZGVyIGJsb2NrIGZvciBwYWdlIG5hdmlnYXRpb24gY29udHJvbHMgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEgbXMtM1wiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIHRpdGxlPVwiRmlyc3RcIiBkYXRhLWJpbmQ9XCJjbGljazogZmlyc3QsIGVuYWJsZTogIWlzRmlyc3RQYWdlKClcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIHBhZ2VyLWJ0biBtcy0xXCIgYXJpYS1sYWJlbD1cIkZpcnN0IFBhZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtZG91YmxlLWxlZnRcIj48L2k+XHJcbiAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgdGl0bGU9XCJQcmV2aW91c1wiIGRhdGEtYmluZD1cImNsaWNrOiBwcmV2aW91cywgZW5hYmxlOiAhaXNGaXJzdFBhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gcGFnZXItYnRuXCIgYXJpYS1sYWJlbD1cIlByZXZpb3VzIFBhZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtbGVmdFwiPjwvaT5cclxuICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPlBhZ2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjFcIiBwYXR0ZXJuPVwiWzAtOV0qXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gdGV4dC1jZW50ZXIgcGFnZXItaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDYwcHg7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ2YWx1ZTogY3VycmVudFBhZ2UsIGF0dHI6IHsgbWF4OiBwYWdlcygpIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPm9mPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgZGF0YS1iaW5kPVwidGV4dDogcGFnZXNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiB0aXRsZT1cIk5leHRcIiBkYXRhLWJpbmQ9XCJjbGljazogbmV4dCwgZW5hYmxlOiAhaXNMYXN0UGFnZSgpXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbSBwYWdlci1idG5cIiBhcmlhLWxhYmVsPVwiTmV4dCBQYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWFuZ2xlLXJpZ2h0XCI+PC9pPlxyXG4gICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIHRpdGxlPVwiTGFzdFwiIGRhdGEtYmluZD1cImNsaWNrOiBsYXN0LCBlbmFibGU6ICFpc0xhc3RQYWdlKClcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIHBhZ2VyLWJ0blwiIGFyaWEtbGFiZWw9XCJMYXN0IFBhZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0XCI+PC9pPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWNvbHVtbi1oZWFkZXJcIj5cclxuICAgIDwhLS0ga28gZm9yZWFjaDogQ29sdW1ucyAtLT5cclxuICAgIDx0aCBkYXRhLWJpbmQ9XCJhdHRyOiB7IGlkOiAhSXNQaXZvdEZpZWxkID8gZmllbGRJZCA6ICdwaXZvdC0tJyArIGZpZWxkTmFtZSB9LCBzdHlsZTogeyd0ZXh0LWFsaWduJzogZmllbGRBbGlnbigpID8gZmllbGRBbGlnbigpIDogKElzTnVtZXJpYyA/ICdyaWdodCcgOiAnbGVmdCcpLCAnYmFja2dyb3VuZC1jb2xvcic6IGhlYWRlckJhY2tDb2xvciB9LCBoaWRkZW46IG91dGVyR3JvdXBcIiBzdHlsZT1cImJvcmRlci1yaWdodDogMXB4IHNvbGlkO1wiPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCIgZGF0YS1iaW5kPVwiaWY6ICEkcGFyZW50LklzRHJpbGxEb3duKClcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3B1cFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cImZhbHNlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy12IHNvcnRhYmxlXCIgdGl0bGU9XCJEcmFnIHRvIHJlb3JkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8dWwgZGF0YS1iaW5kPVwidmlzaWJsZTogIUlzUGl2b3RGaWVsZFwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHN0eWxlPVwiei1pbmRleDogMTAwMTtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkcm9wZG93bi1pdGVtIHNtYWxsXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogIUlzTnVtZXJpY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVPdXRlckdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWNsb25lXCI+PC9zcGFuPiBPdXRlciBHcm91cFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkcm9wZG93bi1pdGVtIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHNldHVwRmllbGRPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWdlYXJcIj48L3NwYW4+IEZpZWxkIFNldHRpbmdzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJzdHlsZTogeyd3aWR0aCc6IGZpZWxkV2lkdGh9XCI+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRzWzNdLnVzZVN0b3JlZFByb2MgPyAkcGFyZW50c1szXS51c2VTdG9yZWRQcm9jKCkgOiAoJHBhcmVudHNbNV0udXNlU3RvcmVkUHJvYyA/ICRwYXJlbnRzWzVdLnVzZVN0b3JlZFByb2MoKSA6IGZhbHNlKSAtLT5cclxuICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogZmllbGRMYWJlbCgpID8gZmllbGRMYWJlbCgpIDogZmllbGROYW1lLCBzdHlsZTogeydjb2xvcic6IGhlYWRlckZvbnRDb2xvciwgJ2ZvbnQtd2VpZ2h0JzogaGVhZGVyRm9udEJvbGQoKSA/ICdib2xkJyA6ICdub3JtYWwnfVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWZub3Q6ICRwYXJlbnRzWzNdLnVzZVN0b3JlZFByb2MgPyAkcGFyZW50c1szXS51c2VTdG9yZWRQcm9jKCkgOiAoJHBhcmVudHNbNV0udXNlU3RvcmVkUHJvYyA/ICRwYXJlbnRzWzVdLnVzZVN0b3JlZFByb2MoKSA6IGZhbHNlKSAgLS0+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCJcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgaWYgKCFJc1Bpdm90RmllbGQpIHsgJHBhcmVudHNbcGFnZXJJbmRleCgkcGFyZW50cyldLmNoYW5nZVNvcnQoU3FsRmllbGQpOyB9IH0sIHN0eWxlOiB7J2NvbG9yJzogaGVhZGVyRm9udENvbG9yLCAnZm9udC13ZWlnaHQnOiBoZWFkZXJGb250Qm9sZCgpID8gJ2JvbGQnIDogJ25vcm1hbCd9XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiAkcGFyZW50LklzRHJpbGxEb3duKCkgJiYgZmllbGRMYWJlbDIoKSA/IGZpZWxkTGFiZWwyKCkgOiAoZmllbGRMYWJlbCgpID8gZmllbGRMYWJlbCgpIDogZmllbGROYW1lKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICRwYXJlbnRzW3BhZ2VySW5kZXgoJHBhcmVudHMpXS5wYWdlci5zb3J0Q29sdW1uKCkgPT09IFNxbEZpZWxkID8gKCRwYXJlbnRzW3BhZ2VySW5kZXgoJHBhcmVudHMpXS5wYWdlci5zb3J0RGVzY2VuZGluZygpID8gJyYjOTY2MDsnIDogJyYjOTY1MDsnKSA6ICcnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC90aD5cclxuICAgIDwhLS0gL2tvIC0tPlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LXdpZGdldFwiPlxyXG4gICAgPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDEwMCU7Zm9udC1zaXplOiA0OHB4XCI+XHJcbiAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogUm93cy5sZW5ndGggPCAxXCIgdGl0bGU9XCJObyBkYXRhIGZvdW5kXCI+Lzwvc3Bhbj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogUm93cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogJHBhcmVudC5yb3dzWzBdLkl0ZW1zWzBdXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJodG1sOiBmb3JtYXR0ZWRWYWxcIj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudC5Sb3dzLmxlbmd0aCA+IDEgPyAoJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTJdLnNob3dQcmlvckluS3BpICE9IHVuZGVmaW5lZCA/ICRwYXJlbnRzWyRwYXJlbnRzLmxlbmd0aC0yXS5zaG93UHJpb3JJbktwaSgpIDogJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTFdLnNob3dQcmlvckluS3BpKCkpIDogZmFsc2UgLS0+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJzdHlsZTogeydjb2xvcic6ICRwYXJlbnQuY2FsY3VsYXRlUmF0ZSgpID4gMCA/ICdncmVlbicgOiAncmVkJywgJ2ZvbnQtc2l6ZSc6ICcyNHB4J31cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJodG1sOiAkcGFyZW50LmNhbGN1bGF0ZVJhdGUoKSArICclJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7J2ZvbnQtc2l6ZSc6ICcyNHB4JywgJ2NvbG9yJzogJ2dyYXknfSwgY3NzOiB7J3RleHQtbXV0ZWQnOiB0cnVlfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIFByaW9yIFBlcmlvZDogPHNwYW4gZGF0YS1iaW5kPVwiaHRtbDogJHBhcmVudC5Sb3dzWzFdLkl0ZW1zWzBdLmZvcm1hdHRlZFZhbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInJlcG9ydC1jb2x1bW5cIj5cclxuICAgIDwhLS0ga28gZm9yZWFjaDogSXRlbXMgLS0+XHJcbiAgICA8dGQgZGF0YS1iaW5kPVwiaGlkZGVuOiBvdXRlckdyb3VwLCBzdHlsZTogeydiYWNrZ3JvdW5kLWNvbG9yJzogX2JhY2tDb2xvciA/PyBiYWNrQ29sb3IoKSwgJ2NvbG9yJzogX2ZvbnRDb2xvciA/PyBmb250Q29sb3IoKSwgJ2ZvbnQtd2VpZ2h0JzogZm9udEJvbGQoKSB8fCBfZm9udEJvbGQgPyAnYm9sZCcgOiAnbm9ybWFsJywgJ3RleHQtYWxpZ24nOiBmaWVsZEFsaWduKCkgPyBmaWVsZEFsaWduKCkgOiAoQ29sdW1uLklzTnVtZXJpYyA/ICdyaWdodCcgOiAnbGVmdCcpfVwiPlxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwic3R5bGU6IHsnd2lkdGgnOiBmaWVsZFdpZHRoIH0sIGNzczogeyAndGV4dC13cmFwJzogZmllbGRXaWR0aCB9XCI+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6IExpbmtUby0tPlxyXG4gICAgICAgICAgICA8YSBkYXRhLWJpbmQ9XCJhdHRyOiB7aHJlZjogTGlua1RvfVwiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGRhdGEtYmluZD1cImh0bWw6IGZvcm1hdHRlZFZhbFwiPjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWZub3Q6IExpbmtUby0tPlxyXG4gICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJodG1sOiBmb3JtYXR0ZWRWYWxcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L3RkPlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LXBpdm90XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiIGRhdGEtYmluZD1cIndpdGg6IFJlcG9ydERhdGFcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIHRhYmxlLWNvbmRlbnNlZFwiPlxyXG4gICAgICAgICAgICA8dGhlYWQgc3R5bGU9XCJwb3NpdGlvbjogc3RpY2t5OyB0b3A6IC0xcHg7IHotaW5kZXg6IDI7XCI+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBSb3dzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogSXRlbXNbMF0uRm9ybWF0dGVkVmFsdWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgIDx0Ym9keSBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBDb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogJGluZGV4KCkgPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogZmllbGRMYWJlbCB8fCBDb2x1bW5OYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiAkcGFyZW50LlJvd3MgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cInN0eWxlOiB7J2JhY2tncm91bmQtY29sb3InOiAkcGFyZW50LmJhY2tDb2xvciwgJ2NvbG9yJzogJHBhcmVudC5mb250Q29sb3IsICdmb250LXdlaWdodCc6ICRwYXJlbnQuZm9udEJvbGQoKSA/ICdib2xkJyA6ICdub3JtYWwnLCAndGV4dC1hbGlnbic6ICRwYXJlbnQuZmllbGRBbGlnbiA/ICRwYXJlbnQuZmllbGRBbGlnbiA6ICgkcGFyZW50LklzTnVtZXJpYyA/ICdyaWdodCcgOiAnbGVmdCcpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogSXRlbXNbJHBhcmVudENvbnRleHQuJGluZGV4KCldLkZvcm1hdHRlZFZhbHVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LXRhYmxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyIHRhYmxlLWNvbmRlbnNlZFwiIGRhdGEtYmluZD1cImF0dHI6IHtjbGFzczogJ3RhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXIgdGFibGUtY29uZGVuc2VkICcgKyAkcGFyZW50c1syXS5zZWxlY3RlZFN0eWxlKCl9XCI+XHJcbiAgICAgICAgICAgIDx0aGVhZCBzdHlsZT1cInBvc2l0aW9uOiBzdGlja3k7IHRvcDogLTFweDsgei1pbmRleDogMjtcIiBkYXRhLWJpbmQ9XCJpZjogISRwYXJlbnRzWzJdLm5vSGVhZGVyUm93KClcIj5cclxuICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cIm5vLWhpZ2hsaWdodFwiIGRhdGEtYmluZD1cInNvcnRhYmxlQ29sdW1uczogeyBoYW5kbGU6ICcuc29ydGFibGUnLCBjdXJzb3I6ICdtb3ZlJywgcGxhY2Vob2xkZXI6ICdkcm9wLWhpZ2hsaWdodCcsc2VsZWN0ZWRGaWVsZHM6ICRwYXJlbnRzWzJdLlNlbGVjdGVkRmllbGRzIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50Q29udGV4dC4kcGFyZW50Q29udGV4dC4kcGFyZW50LmNhbkRyaWxsZG93bigpICYmICFJc0RyaWxsRG93bigpICYmICFDYW5FeHBhbmRPcHRpb24oKSAmJiAoISRwYXJlbnRzWzJdLmhhc1Bpdm90Q29sdW1uKCkgfHwgKCRwYXJlbnRzWzJdLmhhc1Bpdm90Q29sdW1uKCkgJiYgJHBhcmVudHNbMl0uYXBwU2V0dGluZ3MudXNlQWx0UGl2b3QpKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMzBweDsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcIiBkYXRhLWJpbmQ9XCJzdHlsZTogeydiYWNrZ3JvdW5kLWNvbG9yJzogQ29sdW1uc1swXS5oZWFkZXJCYWNrQ29sb3J9XCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiAncmVwb3J0LWNvbHVtbi1oZWFkZXInLCBkYXRhOiAkZGF0YSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rby0tPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5IGRhdGEtYmluZD1cImF0dHI6IHtpZDogJ3JlcG9ydC10YWJsZS1ib2R5JyArICRwYXJlbnRzWzJdLlJlcG9ydElEKCl9XCI+XHJcbiAgICAgICAgICAgICAgICA8dHIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGRhdGEtYmluZD1cInZpc2libGU6IFJvd3MubGVuZ3RoIDwgMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBkYXRhLWJpbmQ9XCJhdHRyOntjb2xzcGFuOiBDb2x1bW5zLmxlbmd0aCArIDF9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE5vIHJlY29yZHMgZm91bmRcclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAhJHBhcmVudHNbMl0udXNlUmVuZGVyVGFibGUoKSAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogJHBhcmVudC5yb3dzICAtLT5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50Q29udGV4dC4kcGFyZW50Q29udGV4dC4kcGFyZW50Q29udGV4dC4kcGFyZW50LmNhbkRyaWxsZG93bigpICYmICEkcGFyZW50LklzRHJpbGxEb3duKCkgJiYgISRwYXJlbnQuQ2FuRXhwYW5kT3B0aW9uKCkgJiYgJHBhcmVudENvbnRleHQuJHBhcmVudENvbnRleHQuJHBhcmVudENvbnRleHQuJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ1NpbmdsZScgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDMwcHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCIgZGF0YS1iaW5kPVwic3R5bGU6IHsnYmFja2dyb3VuZC1jb2xvcic6IEl0ZW1zWzBdLl9iYWNrQ29sb3IgPz8gSXRlbXNbMF0uYmFja0NvbG9yKCksICdjb2xvcic6IEl0ZW1zWzBdLl9mb250Q29sb3IgPz8gSXRlbXNbMF0uZm9udENvbG9yKCl9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHRvZ2dsZSgpOyB9XCI+PHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogeydmYS1wbHVzJzogIWlzRXhwYW5kZWQoKSwgJ2ZhLW1pbnVzJzogaXNFeHBhbmRlZCgpfVwiPjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiAncmVwb3J0LWNvbHVtbicsIGRhdGE6ICRkYXRhIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogaXNFeHBhbmRlZCAtLT5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMzBweDtcIj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBkYXRhLWJpbmQ9XCJhdHRyOntjb2xzcGFuOiAkcGFyZW50LkNvbHVtbnMubGVuZ3RoIH1cIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6ICFEcmlsbERvd25EYXRhKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXBvcnQtc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogRHJpbGxEb3duRGF0YSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciB0YWJsZS1jb25kZW5zZWRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBEcmlsbERvd25EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwibm8taGlnaGxpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gdGVtcGxhdGU6ICdyZXBvcnQtY29sdW1uLWhlYWRlcicsIGRhdGE6ICRkYXRhIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rby0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUm93cyAmJiBSb3dzLmxlbmd0aCA8IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cImF0dHI6IHtjb2xzcGFuOiBDb2x1bW5zLmxlbmd0aH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIHJlY29yZHMgZm91bmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogUm93cyAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiAncmVwb3J0LWNvbHVtbicsIGRhdGE6ICRkYXRhIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rby0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1jZW50ZXJlZFwiIGRhdGEtYmluZD1cIndpdGg6IHBhZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1pbmxpbmUgc21hbGwgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnQgdG90YWwtcmVjb3Jkc1wiIGRhdGEtYmluZD1cInZpc2libGU6IHBhZ2VzKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogJ1RvdGFsIFJlY29yZHM6ICcgKyB0b3RhbFJlY29yZHMoKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0IHRvdGFsLXJlY29yZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgdGl0bGU9XCJEb3dubG9hZCBFeGNlbFwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LmV4cG9ydEV4Y2VsXCI+PHNwYW4gY2xhc3M9XCJmYSBmYS1maWxlLWV4Y2VsLW9cIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiB0aXRsZT1cIlZpZXcgQ29kZVwiIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIiBkYXRhLWJzLXRhcmdldD1cIiNzcWxEcmlsbERvd25Nb2RhbFwiIGRhdGEtYmluZD1cInZpc2libGU6ICRyb290LmFkbWluTW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1jb2RlXCI+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdWxsLXJpZ2h0XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogcGFnZXMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncGFnZXItdGVtcGxhdGUnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogc3ViUmVwb3J0c1JhbigpLmxlbmd0aCA+IDAgLS0+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cImF0dHI6e2NvbHNwYW46ICRwYXJlbnQuQ29sdW1ucy5sZW5ndGggfVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiZm9yZWFjaDogc3ViUmVwb3J0c1JhblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAyMHB4O1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwicHVsbC1sZWZ0XCIgZGF0YS1iaW5kPVwidGV4dDogUmVwb3J0TmFtZVwiPjwvaDI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3Qtb3ZlcmZsb3ctYXV0b1wiIHN0eWxlPVwicGFkZGluZy10b3A6IDA7IG1hcmdpbi10b3A6IDA7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBkYXRhLWJpbmQ9XCJodG1sOiBSZXBvcnREZXNjcmlwdGlvbiwgdmlzaWJsZTogUmVwb3J0RGVzY3JpcHRpb25cIj48L3A+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBSZXBvcnRSZXN1bHRcIiBjbGFzcz1cInNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhUmVwb3J0RGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXBvcnQtc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdyZXBvcnQtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1pbmxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiIGRhdGEtYmluZD1cIndpdGg6IHBhZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHVsbC1sZWZ0IHRvdGFsLXJlY29yZHNcIiBkYXRhLWJpbmQ9XCJpZjogdG90YWxSZWNvcmRzKCk+MSAmJiAkcGFyZW50LlJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiAnVG90YWwgUmVjb3JkczogJyArIHRvdGFsUmVjb3JkcygpXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB1bGwtcmlnaHRcIiBkYXRhLWJpbmQ9XCJpZjogcGFnZXMoKT4xICYmICRwYXJlbnQuUmVwb3J0VHlwZSgpICE9ICdTaW5nbGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdwYWdlci10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRDb250ZXh0LiRwYXJlbnQuU3ViVG90YWxzKCkubGVuZ3RoID09IDEgJiYgJHBhcmVudENvbnRleHQuJHBhcmVudENvbnRleHQuJHBhcmVudC5PdXRlckdyb3VwQ29sdW1ucygpLmxlbmd0aCA9PSAwIC0tPlxyXG4gICAgICAgICAgICA8dGZvb3QgZGF0YS1iaW5kPVwiZm9yZWFjaDogJHBhcmVudENvbnRleHQuJHBhcmVudC5TdWJUb3RhbHNcIj5cclxuICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInN1Yi10b3RhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRDb250ZXh0LiRwYXJlbnRDb250ZXh0LiRwYXJlbnRDb250ZXh0LiRwYXJlbnQuY2FuRHJpbGxkb3duKCkgJiYgISRwYXJlbnQuSXNEcmlsbERvd24oKSAmJiAhJHBhcmVudC5DYW5FeHBhbmRPcHRpb24oKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IEl0ZW1zIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6IFZhbHVlICE9ICdOQScgJiYgVmFsdWUgIT0gJ05hTicgJiYgIW91dGVyR3JvdXAoKSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgZGF0YS1iaW5kPVwic3R5bGU6IHsnYmFja2dyb3VuZC1jb2xvcic6IF9iYWNrQ29sb3IgPz8gYmFja0NvbG9yKCksICdjb2xvcic6IF9mb250Q29sb3IgPz8gZm9udENvbG9yKCksICdmb250LXdlaWdodCc6IGZvbnRCb2xkKCkgfHwgX2ZvbnRCb2xkID8gJ2JvbGQnIDogJ25vcm1hbCcsICd0ZXh0LWFsaWduJzogZmllbGRBbGlnbigpID8gZmllbGRBbGlnbigpIDogJ3JpZ2h0J31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJzdHlsZTogeyd3aWR0aCc6IGZpZWxkV2lkdGggfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJodG1sOiBmb3JtYXR0ZWRWYWxcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rmb290PlxyXG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJyZXBvcnQtcmVuZGVyXCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IFJlcG9ydERhdGFcIj5cclxuICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBSb3dzXCI+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJodG1sOiByZW5kZXJlZEh0bWwsIGNzczogeyAnY2FyZC12aWV3JzogJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTFdLmNhcmRWaWV3IH1cIj48L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBzdWJSZXBvcnRzUmFuXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAyMHB4O1wiID5cclxuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJwdWxsLWxlZnRcIiBkYXRhLWJpbmQ9XCJ0ZXh0OiBSZXBvcnROYW1lXCI+PC9oMj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3Qtb3ZlcmZsb3ctYXV0b1wiIHN0eWxlPVwicGFkZGluZy10b3A6IDA7IG1hcmdpbi10b3A6IDA7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRhdGEtYmluZD1cImh0bWw6IFJlcG9ydERlc2NyaXB0aW9uLCB2aXNpYmxlOiBSZXBvcnREZXNjcmlwdGlvblwiPjwvcD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogUmVwb3J0UmVzdWx0XCIgY2xhc3M9XCJzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhUmVwb3J0RGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcG9ydC1zcGlubmVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdyZXBvcnQtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1pbmxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgZGF0YS1iaW5kPVwid2l0aDogcGFnZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB1bGwtbGVmdCB0b3RhbC1yZWNvcmRzXCIgZGF0YS1iaW5kPVwiaWY6IHRvdGFsUmVjb3JkcygpPjEgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiAnVG90YWwgUmVjb3JkczogJyArIHRvdGFsUmVjb3JkcygpXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdWxsLXJpZ2h0XCIgZGF0YS1iaW5kPVwiaWY6IHBhZ2VzKCk+MSAmJiAkcGFyZW50LlJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdwYWdlci10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LXRlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVwb3J0LWNoYXJ0XCIgZGF0YS1iaW5kPVwiYXR0cjoge2lkOiAnY2hhcnRfZGl2XycgKyAkcGFyZW50LlJlcG9ydElEKCl9LCB2aXNpYmxlOiAkcGFyZW50LmlzQ2hhcnRcIj48L2Rpdj5cclxuICAgIDwhLS0ga28gaWY6ICRwYXJlbnQuUmVwb3J0VHlwZSgpID09ICdQaXZvdCcgLS0+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC1waXZvdCcsIGRhdGE6ICRkYXRhIH1cIj48L2Rpdj5cclxuICAgIDwhLS0gL2tvIC0tPlxyXG5cclxuICAgIDwhLS0ga28gaWY6ICRwYXJlbnQuUmVwb3J0VHlwZSgpID09ICdIdG1sJyAtLT5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LXJlbmRlcicsIGRhdGE6ICRkYXRhIH1cIj48L2Rpdj5cclxuICAgIDwhLS0gL2tvIC0tPlxyXG5cclxuICAgIDwhLS0ga28gaWY6ICRwYXJlbnQuUmVwb3J0VHlwZSgpICE9ICdQaXZvdCcgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ0h0bWwnICYmICghJHBhcmVudC5pc0NoYXJ0KCkgfHwgJHBhcmVudC5TaG93RGF0YVdpdGhHcmFwaCgpKSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCIgZGF0YS1iaW5kPVwiaWY6ICRwYXJlbnQuT3V0ZXJHcm91cENvbHVtbnMoKS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cIiNcIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1oYXNwb3B1cD1cImZhbHNlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgIE1hbmFnZSBHcm91cHMgPHNwYW4gY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy12XCI+PC9zcGFuPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgc3R5bGU9XCJ6LWluZGV4OiAxMDAxO1wiIGRhdGEtYmluZD1cImZvcmVhY2g6ICRwYXJlbnQuT3V0ZXJHcm91cENvbHVtbnNcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiZHJvcGRvd24taXRlbSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogcmVtb3ZlXCIgdGl0bGU9XCJSZW1vdmUgZnJvbSBHcm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY2xvc2VcIj48L3NwYW4+IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IGZpZWxkTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xlYXItZml4XCI+PC9kaXY+XHJcblxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBvdXRlckdyb3VwRGF0YVwiPlxyXG4gICAgICAgIDwhLS0ga28gaWY6IHJvd3MubGVuZ3RoID4gMCB8fCAoJHBhcmVudC5vdXRlckdyb3VwRGF0YSAmJiAkcGFyZW50Lm91dGVyR3JvdXBEYXRhKCkubGVuZ3RoID09IDEpIC0tPlxyXG4gICAgICAgIDxoNiBkYXRhLWJpbmQ9XCJodG1sOiBkaXNwbGF5XCI+PC9oNj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNXB4O1wiPjwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50c1sxXS5SZXBvcnRUeXBlKCkgIT0gJ1NpbmdsZSctLT5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC10YWJsZScsIGRhdGE6ICRwYXJlbnQuUmVwb3J0RGF0YSB9XCI+PC9kaXY+XHJcbiAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPCEtLSBrbyBpZjogJHBhcmVudHNbMV0uUmVwb3J0VHlwZSgpID09ICdTaW5nbGUnLS0+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdyZXBvcnQtd2lkZ2V0JywgZGF0YTogJHBhcmVudC5SZXBvcnREYXRhIH1cIj48L2Rpdj5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSAva28gLS0+XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImFkbWluLW1vZGUtdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJnYXA6IDEwcHg7XCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogYWRtaW5Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBkLWlubGluZS1ibG9ja1wiIHN0eWxlPVwiZm9udC1zaXplOiAxMHB0OyBwYWRkaW5nOiA1cHg7IG1heC13aWR0aDogMzUwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IG1hcmdpbi1ib3R0b206IDA7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS11c2VyLWNpcmNsZVwiPjwvaT4gWW91IGNhbiBtYW5hZ2UgUmVwb3J0cy9EYXNoYm9hcmRzIGZvciBhbGwgdXNlcnNcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWJibGUtYmFkZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICBBZG1pbiBNb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogYWRtaW5Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwibWFuYWdlLWFjY2Vzcy10ZW1wbGF0ZVwiPlxyXG4gICAgPGg1PjxzcGFuIGNsYXNzPVwiZmEgZmEta2V5XCI+PC9zcGFuPk1hbmFnZSBBY2Nlc3M8L2g1PlxyXG4gICAgPGRpdiBjbGFzcz1cInBhbmVsIHBhbmVsLWRlZmF1bHQgcGFuZWwtYm9keVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbWQtMyBjb2wtc20tMyBjb250cm9sLWxhYmVsXCI+Q2xpZW50IElkIHRvIFJlc3RyaWN0IEFjY2VzczwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIHRleHQtYm94IHNpbmdsZS1saW5lXCIgdHlwZT1cInRleHRcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogY2xpZW50SWRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMSBjb2wtc20tMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1icy10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJyaWdodFwiIGNsYXNzPVwiZmEgZmEtcXVlc3Rpb24tY2lyY2xlIGhlbHB0aXBcIiB0aXRsZT1cIkxlYXZlIGJsYW5rIHRvIGdpdmUgYWxsIGNsaWVudHMgYWNjZXNzIChHbG9iYWwgUmVwb3J0cylcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW8gZmEtMnhcIj48L3NwYW4+Jm5ic3A7VXNlciBsZXZlbCByaWdodHMgb3ZlcnJpZGUgUm9sZSBsZXZlbCByaWdodHMuIE5vIHNlbGVjdGlvbiBmb3IgYSBydWxlIGltcGxpZXMgcmVwb3J0IGlzIGF2YWlsYWJsZSB0byBhbGwuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgc21hbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInRvZ2dsZS1pY29uIGZhXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZU1hbmFnZVVzZXJzLGNzczogeyAnZmEtY2hldnJvbi1kb3duJzogc2hvd01hbmFnZVVzZXJzKCksICdmYS1jaGV2cm9uLXJpZ2h0JzogIXNob3dNYW5hZ2VVc2VycygpIH1cIj48L2k+IDxiPk1hbmFnZSBieSBVc2VyPC9iPiAoYWxsb3cgZWRpdClcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29udGFpbmVyLWZsdWlkXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2hvd01hbmFnZVVzZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogZ3JvdXBlZFVzZXJzKCkubGVuZ3RoID4gMCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IGdyb3VwZWRVc2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktaGVhZGVyXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyBzaG93KCFzaG93KCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgdG9nZ2xlLWljb25cIiBkYXRhLWJpbmQ9XCJjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3coKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvdygpIH1cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgZGF0YS1iaW5kPVwidGV4dDogY2F0ZWdvcnlcIj48L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogdXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+ICZuYnNwOyA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiB0ZXh0XCI+PC9zcGFuPiZuYnNwOyA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBncm91cGVkVXNlcnMoKS5sZW5ndGggPT0gMCAmJiB1c2Vycy5sZW5ndGggPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogdXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2VsZWN0ZWRcIj4mbmJzcDs8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiB0ZXh0XCI+PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogZ3JvdXBlZFVzZXJzKCkubGVuZ3RoID09IDAgJiYgdXNlcnMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVXNlcnMgbGlzdCBub3QgcG9wdWxhdGVkIG9yIG5vdCBhcHBsaWNhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ0b2dnbGUtaWNvbiBmYVwiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVWaWV3VXNlcnMsY3NzOiB7ICdmYS1jaGV2cm9uLWRvd24nOiBzaG93Vmlld1VzZXJzKCksICdmYS1jaGV2cm9uLXJpZ2h0JzogIXNob3dWaWV3VXNlcnMoKSB9XCI+PC9pPiA8Yj5WaWV3IG9ubHkgYnkgVXNlcjwvYj4gKG5vIGVkaXQvZGVsZXRlKVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93Vmlld1VzZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogZ3JvdXBlZFZpZXdPbmx5VXNlcnMoKS5sZW5ndGggPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogZ3JvdXBlZFZpZXdPbmx5VXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWhlYWRlclwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHsgc2hvdyghc2hvdygpKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIHRvZ2dsZS1pY29uXCIgZGF0YS1iaW5kPVwiY3NzOiB7ICdmYS1jaGV2cm9uLWRvd24nOiBzaG93KCksICdmYS1jaGV2cm9uLXJpZ2h0JzogIXNob3coKSB9XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nIGRhdGEtYmluZD1cInRleHQ6IGNhdGVnb3J5XCI+PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29udGFpbmVyLWZsdWlkXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2hvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IHZpZXdPbmx5VXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+ICZuYnNwOyA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiB0ZXh0XCI+PC9zcGFuPiZuYnNwOyA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBncm91cGVkVmlld09ubHlVc2VycygpLmxlbmd0aCA9PSAwICYmIHZpZXdPbmx5VXNlcnMubGVuZ3RoID4gMCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IHZpZXdPbmx5VXNlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogc2VsZWN0ZWRcIj4mbmJzcDs8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiB0ZXh0XCI+PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogZ3JvdXBlZFZpZXdPbmx5VXNlcnMoKS5sZW5ndGggPT0gMCAmJiB1c2Vycy5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBVc2VycyBsaXN0IG5vdCBwb3B1bGF0ZWQgb3Igbm90IGFwcGxpY2FibGVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmbm90OiBpc0Rhc2hib2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwidG9nZ2xlLWljb24gZmFcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlRGVsZXRlVXNlcnMsY3NzOiB7ICdmYS1jaGV2cm9uLWRvd24nOiBzaG93RGVsZXRlVXNlcnMoKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvd0RlbGV0ZVVzZXJzKCkgfVwiPjwvaT48Yj5EZWxldGUgYnkgVXNlcjwvYj4gKGFsbG93IGRlbGV0ZSlcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dEZWxldGVVc2Vyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6IGdyb3VwZWREZWxldGVPbmx5VXNlcnMoKS5sZW5ndGggPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogZ3JvdXBlZERlbGV0ZU9ubHlVc2VycyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktaGVhZGVyXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyBzaG93KCFzaG93KCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgdG9nZ2xlLWljb25cIiBkYXRhLWJpbmQ9XCJjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3coKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvdygpIH1cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgZGF0YS1iaW5kPVwidGV4dDogY2F0ZWdvcnlcIj48L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogZGVsZXRlT25seVVzZXJzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPiAmbmJzcDsgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogdGV4dFwiPjwvc3Bhbj4mbmJzcDsgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogZ3JvdXBlZERlbGV0ZU9ubHlVc2VycygpLmxlbmd0aCA9PSAwICYmIGRlbGV0ZU9ubHlVc2Vycy5sZW5ndGggPiAwIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogZGVsZXRlT25seVVzZXJzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPiZuYnNwOzxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBncm91cGVkRGVsZXRlT25seVVzZXJzKCkubGVuZ3RoID09IDAgJiYgIHVzZXJzLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VycyBsaXN0IG5vdCBwb3B1bGF0ZWQgb3Igbm90IGFwcGxpY2FibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ0b2dnbGUtaWNvbiBmYVwiIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVNYW5hZ2VSb2xlcyxjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3dNYW5hZ2VSb2xlcygpLCAnZmEtY2hldnJvbi1yaWdodCc6ICFzaG93TWFuYWdlUm9sZXMoKSB9XCI+PC9pPjxiPk1hbmFnZSBieSBVc2VyIFJvbGU8L2I+IChhbGxvdyBlZGl0KVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93TWFuYWdlUm9sZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IHVzZXJSb2xlcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPiZuYnNwOzxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiB1c2VyUm9sZXMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVXNlciBSb2xlcyBsaXN0IG5vdCBwb3B1bGF0ZWQgb3Igbm90IGFwcGxpY2FibGVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInRvZ2dsZS1pY29uIGZhXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZVZpZXdSb2xlcyxjc3M6IHsgJ2ZhLWNoZXZyb24tZG93bic6IHNob3dWaWV3Um9sZXMoKSwgJ2ZhLWNoZXZyb24tcmlnaHQnOiAhc2hvd1ZpZXdSb2xlcygpIH1cIj48L2k+PGI+VmlldyBvbmx5IGJ5IFVzZXIgUm9sZTwvYj4gKG5vIGVkaXQvZGVsZXRlKVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb250YWluZXItZmx1aWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBzaG93Vmlld1JvbGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiB2aWV3T25seVVzZXJSb2xlcyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPiZuYnNwOzxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRleHRcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiB1c2VyUm9sZXMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVXNlciBSb2xlcyBsaXN0IG5vdCBwb3B1bGF0ZWQgb3Igbm90IGFwcGxpY2FibGVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZm5vdDogaXNEYXNoYm9hcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInRvZ2dsZS1pY29uIGZhXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZURlbGV0ZVJvbGVzLGNzczogeyAnZmEtY2hldnJvbi1kb3duJzogc2hvd0RlbGV0ZVJvbGVzKCksICdmYS1jaGV2cm9uLXJpZ2h0JzogIXNob3dEZWxldGVSb2xlcygpIH1cIj48L2k+PGI+RGVsZXRlIGJ5IFVzZXIgUm9sZTwvYj4gKGFsbG93IGRlbGV0ZSlcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dEZWxldGVSb2xlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IGRlbGV0ZU9ubHlVc2VyUm9sZXMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+Jm5ic3A7PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogdGV4dFwiPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogdXNlclJvbGVzLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyIFJvbGVzIGxpc3Qgbm90IHBvcHVsYXRlZCBvciBub3QgYXBwbGljYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJmaWx0ZXItZ3JvdXBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJxdWVyeS1idWlsZGVyIGZvcm0taW5saW5lXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogRmlsdGVyR3JvdXBzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJ1bGVzLWdyb3VwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnVsZXMtZ3JvdXAtaGVhZGVyXCIgZGF0YS1iaW5kPVwiYXR0cjoge3BhcmVudGRpdmlkOiBnZW5lcmF0ZVVuaXF1ZUlkKCl9XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6ICFpc1Jvb3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLXRvZ2dsZSBidG4tZ3JvdXAtc21cIiBkYXRhLWJzLXRvZ2dsZT1cImJ1dHRvbnNcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJ0biBidG4tbGlnaHQgYWN0aXZlXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgZGF0YS1iaW5kPVwiYXR0cjogeyBuYW1lOiAnYW5kT3JHcm91cC0nICsgJGVsZW1lbnQuY2xvc2VzdCgnLnJ1bGVzLWdyb3VwLWhlYWRlcicpLmdldEF0dHJpYnV0ZSgncGFyZW50ZGl2aWQnKSB9LCBjaGVja2VkOiBBbmRPclwiIHZhbHVlPVwiQW5kXCIgLz4gQW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBhY3RpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgZGF0YS1iaW5kPVwiYXR0cjogeyBuYW1lOiAnYW5kT3JHcm91cC0nICsgJGVsZW1lbnQuY2xvc2VzdCgnLnJ1bGVzLWdyb3VwLWhlYWRlcicpLmdldEF0dHJpYnV0ZSgncGFyZW50ZGl2aWQnKSB9LCBjaGVja2VkOiBBbmRPclwiIHZhbHVlPVwiT3JcIiAvPiBPclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LlJlbW92ZUZpbHRlckdyb3VwLCB2aXNpYmxlOiAhaXNSb290XCI+UmVtb3ZlIEdyb3VwPC9idXR0b24+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogaXNSb290XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdCBwYWRkZWQtZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD4gJm5ic3A7RmlsdGVyIENvbmRpdGlvbnM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnVsZXMtZ3JvdXAtYm9keVwiIGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ2ZpbHRlci1pbm5lcid9XCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiZmx5LWZpbHRlci10ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBGbHlGaWx0ZXJzKCkubGVuZ3RoPjAgfHwgRG9udEV4ZWN1dGVPblJ1blwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8YSBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCIgZGF0YS1iaW5kPVwiYXR0cjogeydkYXRhLWJzLXRhcmdldCc6ICcjZmlsdGVyLXBhbmVsLScgKyBSZXBvcnRJRCgpIH1cIiBocmVmPVwiI1wiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1maWx0ZXJcIj48L2k+IENob29zZSBGaWx0ZXJzXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImF0dHI6IHtpZDogJ2ZpbHRlci1wYW5lbC0nICsgUmVwb3J0SUQoKSB9LCBjc3M6IHtjb2xscGFzZWQ6ICFEb250RXhlY3V0ZU9uUnVuKCksIGNvbGxhcHNlOiAhRG9udEV4ZWN1dGVPblJ1bigpfVwiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IEZseUZpbHRlcnMgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS01IGNvbC14cy00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiB0aXRsZT1cIkFwcGx5IHRoaXMgZmlsdGVyXCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogJHBhcmVudC5BcHBseSwgZGlzYWJsZWQ6IGZvcmNlZFwiIC8+IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkRmlsdGVyTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIiBjbGFzcz1cImNvbC1zbS0yIGNvbC14cy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgZGF0YS1iaW5kPVwiaWY6ICRwYXJlbnQuQXBwbHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IGZpZWxkRmlsdGVyLCB2YWx1ZTogJHBhcmVudC5PcGVyYXRvclwiIHJlcXVpcmVkPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IEZpZWxkXCIgY2xhc3M9XCJjb2wtc20tNSBjb2wteHMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiAkcGFyZW50LkFwcGx5XCIgZGF0YS1wYXJlbnRwcmVmaXg9XCJGXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3JlcG9ydC1maWx0ZXInLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IEV4ZWN1dGVSZXBvcnRcIj5SdW48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImZpbHRlci1pbm5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJ1bGVzLWxpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicnVsZS1jb250YWluZXJcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBGaWx0ZXJzKCkubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciB0YWJsZS1ib3JkZXJsZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+RmllbGQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+RmlsdGVyPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keSBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBGaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwicnVsZS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGRhdGEtYmluZD1cInZhbHVlOiBBbmRPciwgdmlzaWJsZTogJGluZGV4KCk+MFwiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5BbmQ8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5Pcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGRhdGEtYmluZD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTJdLnNlbGVjdGVkRmllbGRzQ2FuRmlsdGVyICE9IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMl0uc2VsZWN0ZWRGaWVsZHNDYW5GaWx0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHBhcmVudHNbJHBhcmVudHMubGVuZ3RoLTFdLnNlbGVjdGVkRmllbGRzQ2FuRmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1RleHQ6ICdzZWxlY3RlZEZpZWxkTmFtZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zQ2FwdGlvbjogJ1BsZWFzZSBDaG9vc2UnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEZpZWxkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cjoge3JlcXVpcmVkOiBGaWVsZCgpPT1udWxsPydyZXF1aXJlZCc6ZmFsc2V9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZTogRmllbGQoKSAmJiBGaWVsZCgpLmZvcmNlZFwiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGRhdGEtYmluZD1cIm9wdGlvbnM6IGZpZWxkRmlsdGVyLCB2YWx1ZTogJHBhcmVudC5PcGVyYXRvclwiIHJlcXVpcmVkPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBGaWVsZFwiIGRhdGEtcGFyZW50cHJlZml4PVwiTVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncmVwb3J0LWZpbHRlcicsIGRhdGE6ICRkYXRhXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogRmllbGQoKSAmJiBGaWVsZCgpLmZpZWxkVHlwZSA9PSAnRGF0ZVRpbWUnICYmIE9wZXJhdG9yKCkgPT0gJ3JhbmdlJyAmJiAkaW5kZXgoKT09MCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMl0uY2FuQWRkU2VyaWVzICE9IHVuZGVmaW5lZCAmJiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMl0uY2FuQWRkU2VyaWVzKCkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50c1skcGFyZW50cy5sZW5ndGgtMl0uQWRkU2VyaWVzLmJpbmQoJGRhdGEpXCI+QWRkIENvbXBhcmlzb248L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ga28gaWY6ICRwYXJlbnRzWyRwYXJlbnRzLmxlbmd0aC0yXS5jYW5BZGRTZXJpZXMgPT0gdW5kZWZpbmVkICYmICRwYXJlbnRDb250ZXh0LiRwYXJlbnQuY2FuQWRkU2VyaWVzICE9IHVuZGVmaW5lZCAmJiAkcGFyZW50Q29udGV4dC4kcGFyZW50LmNhbkFkZFNlcmllcygpLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50Q29udGV4dC4kcGFyZW50LkFkZFNlcmllcy5iaW5kKCRkYXRhKVwiPkFkZCBDb21wYXJpc29uPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLS9rbyAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInZpc2libGU6IEZpZWxkKCkgJiYgRmllbGQoKS5mb3JjZWRcIiBjbGFzcz1cImJhZGdlIGJnLWluZm9cIj5SZXF1aXJlZCBGaWx0ZXI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIHN0eWxlPVwiZmxleC1ncm93OiAxO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LlJlbW92ZUZpbHRlciwgaGlkZGVuOiBGaWVsZCgpICYmIEZpZWxkKCkuZm9yY2VkXCIgdGl0bGU9XCJSZW1vdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRyYXNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIHN0eWxlPVwiZmxleC1ncm93OiAxO1wiIGRhdGEtYmluZD1cIndpdGg6IEZpZWxkLCBoaWRkZW46IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNmaWx0ZXItcGFuZWwuY2FyZC1ib2R5LmNvbGxhcHNlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnRuIGJ0bi1zbVwiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBmaWx0ZXJPbkZseSghZmlsdGVyT25GbHkoKSk7IH0sIGNzczogeydidG4tc3VjY2Vzcyc6IGZpbHRlck9uRmx5KCk9PXRydWUsICdidG4tc2Vjb25kYXJ5JzogZmlsdGVyT25GbHkoKT09ZmFsc2V9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1maWx0ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIkZpbHRlciBvbiBSZXBvcnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBjb21wYXJlVG8gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPiZuYnNwOzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodFwiPjxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnRzWzJdLlJlbW92ZVNlcmllc1wiPjxzcGFuIGNsYXNzPVwiZmEgZmEtdHJhc2gtb1wiPjwvc3Bhbj48L2J1dHRvbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdXRlZFwiPkNvbXBhcmUgdG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGRhdGEtYmluZD1cIm9wdGlvbnM6IFJhbmdlLCB2YWx1ZTogVmFsdWVcIiByZXF1aXJlZD48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicnVsZS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdmaWx0ZXItZ3JvdXAnfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IEFkZEZpbHRlclwiPkFkZCBGaWx0ZXI8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBBZGRGaWx0ZXJHcm91cFwiPkFkZCBGaWx0ZXIgR3JvdXA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJmaWx0ZXItcGFyYW1ldGVyc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJoaWRkZW46IHNob3dQYXJhbWV0ZXJzXCI+Tm8gZmlsdGVycyBhdmFpbGFibGUgdG8gY2hvb3NlPC9zcGFuPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXIgdGFibGUtYm9yZGVybGVzc1wiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dQYXJhbWV0ZXJzXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMzAlXCI+RmlsdGVyPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMjAlXCI+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMzAlXCI+VmFsdWU8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5IGRhdGEtYmluZD1cImZvcmVhY2g6IFBhcmFtZXRlcnNcIj5cclxuICAgICAgICAgICAgICAgIDx0ciBkYXRhLWJpbmQ9XCJpZm5vdDogSGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cInRleHQ6IERpc3BsYXlOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGRhdGEtYmluZD1cIm9wdGlvbnM6IG9wZXJhdG9ycywgdmFsdWU6IE9wZXJhdG9yXCIgcmVxdWlyZWQ+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGRhdGEtYmluZD1cIndpdGg6IEZpZWxkXCIgZGF0YS1wYXJlbnRwcmVmaXg9XCJQXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdyZXBvcnQtZmlsdGVyJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LXNjaGVkdWxlXCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IHNjaGVkdWxlQnVpbGRlclwiIGlkPVwic2NoZWR1bGUtYnVpbGRlci1kaXZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogaGFzU2NoZWR1bGVcIiBpZD1cInNjaGVkdWxlUmVwb3J0Q2hlY2tib3hcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInNjaGVkdWxlUmVwb3J0Q2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgIFNldCBTY2hlZHVsZSB0byBzZW5kIGJ5IEVtYWlsXHJcbiAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogaGFzU2NoZWR1bGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZS0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZE9wdGlvbigpICE9ICdvbmNlJyA/ICdFdmVyeSAnIDogJydcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQgZGF0YS1iaW5kPVwib3B0aW9uczogb3B0aW9ucywgdmFsdWU6IHNlbGVjdGVkT3B0aW9uXCIgc3R5bGU9XCJtaW4td2lkdGg6IDgwcHg7XCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IHNlbGVjdGVkT3B0aW9uKCkgPT0gJ29uY2UnXCIgY2xhc3M9XCJtZS0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAmbmJzcDtvbiZuYnNwOzxpbnB1dCBkYXRhLWJpbmQ9XCJkYXRlcGlja2VyOiBzZWxlY3RlZERhdGUsIGRhdGVwaWNrZXJPcHRpb25zOiB7dmFsdWU6IHNlbGVjdGVkRGF0ZX1cIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogc2hvd0RheXNcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7b24mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBtdWx0aXBsZSBjbGFzcz1cImZvcm0tc2VsZWN0IG1zLTJcIiByZXF1aXJlZCBkYXRhLWJpbmQ9XCJzZWxlY3QyOiB7IHBsYWNlaG9sZGVyOiAnQ2hvb3NlIERheXMnLCBhbGxvd0NsZWFyOiB0cnVlIH0sIG9wdGlvbnM6IGRheXMsIHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWREYXlzXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogc2hvd0RhdGVzXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO29uJm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbXVsdGlwbGUgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHJlcXVpcmVkIGRhdGEtYmluZD1cInNlbGVjdDI6IHsgcGxhY2Vob2xkZXI6ICdDaG9vc2UgRGF0ZXMnLCBhbGxvd0NsZWFyOiB0cnVlIH0sIG9wdGlvbnM6IGRhdGVzLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkRGF0ZXNcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBzaG93TW9udGhzXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO29uJm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbXVsdGlwbGUgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHJlcXVpcmVkIGRhdGEtYmluZD1cInNlbGVjdDI6IHsgcGxhY2Vob2xkZXI6ICdDaG9vc2UgTW9udGhzJywgYWxsb3dDbGVhcjogdHJ1ZSB9LCBvcHRpb25zOiBtb250aHMsIHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWRNb250aHNcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBzaG93QXRUaW1lXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7YXQmbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IG1lLTJcIiBzdHlsZT1cIm1pbi13aWR0aDogNjBweDtcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBob3VycywgdmFsdWU6IHNlbGVjdGVkSG91clwiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgbWUtMlwiIHN0eWxlPVwibWluLXdpZHRoOiA2MHB4O1wiIGRhdGEtYmluZD1cIm9wdGlvbnM6IG1pbnV0ZXMsIHZhbHVlOiBzZWxlY3RlZE1pbnV0ZVwiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBzdHlsZT1cIm1pbi13aWR0aDogODBweDtcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogc2VsZWN0ZWRBbVBtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkFNPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlBNPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgIFJlcG9ydCB3aWxsIGJlIHJ1biBhbmQgZW1haWxlZCA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZE9wdGlvbigpICE9ICdvbmNlJyA/ICdldmVyeScgOiAnJ1wiPjwvc3Bhbj4gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRPcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJpZjogc2VsZWN0ZWRPcHRpb24oKSA9PSAnb25jZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz1cImVycm9yXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogIXNlbGVjdGVkRGF0ZSgpXCI+UGxlYXNlIHBpY2sgYSBEYXRlPC9zcGFuPiA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZERhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJpZjogc2hvd0RheXNcIj5cclxuICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz1cImVycm9yXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2VsZWN0ZWREYXlzKCkubGVuZ3RoID09IDBcIj5QbGVhc2UgcGljayBEYXkocyk8L3NwYW4+IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkRGF5c1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImlmOiBzaG93RGF0ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz1cImVycm9yXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2VsZWN0ZWREYXRlcygpLmxlbmd0aCA9PSAwXCI+UGxlYXNlIHBpY2sgRGF0ZShzKTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBzZWxlY3RlZERhdGVzXCI+PHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogJGluZGV4KCk+MFwiPiwgPC9zcGFuPjxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICRkYXRhID09IDEgPyAnMXN0JzogKCRkYXRhID09IDIgPyAnMm5kJyA6ICgkZGF0YSA9PSAzID8gJzNyZCcgOiAoJGRhdGEgPT0gMzEgPyAnMzFzdCcgOiAkZGF0YSsndGgnKSkpXCI+PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cImlmOiBzaG93TW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgb2YgPHNwYW4gY2xhc3M9XCJlcnJvclwiIGRhdGEtYmluZD1cInZpc2libGU6IHNlbGVjdGVkTW9udGhzKCkubGVuZ3RoID09IDBcIj5QbGVhc2UgcGljayBNb250aChzKTwvc3Bhbj4gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRNb250aHNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJpZjogc2hvd0F0VGltZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIGF0IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkSG91clwiPjwvc3Bhbj46PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRNaW51dGVcIj48L3NwYW4+IDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHNlbGVjdGVkQW1QbVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsXCI+RW1haWwgdG88L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBlbWFpbFRvXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBFbWFpbCBBZGRyZXNzZXMgc2VwYXJhdGVkIGJ5IGNvbW1hIHRvIHNlbmQgdGhlIFJlcG9ydCB0b1wiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTEgY29sLWZvcm0tbGFiZWxcIj5Gb3JtYXQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9ybWF0LGV2ZW50OiB7IGNoYW5nZTogb25Gb3JtYXRDaGFuZ2UgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkVYQ0VMXCI+RXhjZWw8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5jYW5EcmlsbGRvd24gJiYgJHBhcmVudC5jYW5EcmlsbGRvd24oKVwiIHZhbHVlPVwiRVhDRUwtU1VCXCI+RXhjZWwgKEV4cGFuZGVkKTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkNTVlwiPkNTVjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlBERlwiPlBERjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIldPUkRcIj5Xb3JkPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiTElOS1wiPkxpbms8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGctM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsXCI+UGljayBUaW1lIFpvbmU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiB0aW1lem9uT3B0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2Rpc3BsYXlOYW1lJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1ZhbHVlOiAndGltZVpvbmVJZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFRpbWV6b25lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QyOiB7ZHJvcGRvd25QYXJlbnQ6ICQoJyNzY2hlZHVsZS1idWlsZGVyLWRpdicpLCBhbGxvd0NsZWFyOiB0cnVlLCBwbGFjZWhvbGRlcjogJ1NldCBhIHRpbWUgem9uZSB0byBzZW5kIHJlcG9ydCd9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiB0aXRsZT1cIlNldCBhIGRhdGUgdG8gc3RhcnQgc2VuZGluZyBzY2hlZHVsZWQgcmVwb3J0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogaGFzU2NoZWR1bGVTdGFydFwiIGlkPVwic2NoZWR1bGVTdGFydENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic2NoZWR1bGVTdGFydENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NoZWR1bGUgU3RhcnQgRGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS00XCIgZGF0YS1iaW5kPVwiaWY6IGhhc1NjaGVkdWxlU3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJkYXRlcGlja2VyOiBzY2hlZHVsZVN0YXJ0LCBkYXRlcGlja2VyT3B0aW9uczoge3ZhbHVlOiBzY2hlZHVsZVN0YXJ0fVwiIHRpdGxlPVwiU2NoZWR1bGVkIFJlcG9ydCB3aWxsIG5vdCBiZSBzZW50IGJlZm9yZSB0aGlzIGRhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiB0aXRsZT1cIlNldCBhIGRhdGUgdG8gc3RvcCBzZW5kaW5nIHNjaGVkdWxlZCByZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBoYXNTY2hlZHVsZUVuZFwiIGlkPVwic2NoZWR1bGVFbmRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInNjaGVkdWxlRW5kQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY2hlZHVsZSBFbmQgRGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS00XCIgZGF0YS1iaW5kPVwiaWY6IGhhc1NjaGVkdWxlRW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwiZGF0ZXBpY2tlcjogc2NoZWR1bGVFbmQsIGRhdGVwaWNrZXJPcHRpb25zOiB7dmFsdWU6IHNjaGVkdWxlRW5kfVwiIHRpdGxlPVwiU2NoZWR1bGVkIFJlcG9ydCB3aWxsIG5vdCBiZSBzZW50IGFmdGVyIHRoaXMgZGF0ZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwicmVwb3J0LWZpZWxkLW9wdGlvbnNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBzdHlsZT1cIm1heC13aWR0aDogNzUwcHg7XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBlZGl0RmllbGRPcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogZmllbGROYW1lXCI+PC9zcGFuPiAtIFNldHVwIEFkZGl0aW9uYWwgRmllbGQgT3B0aW9uczwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBuZWVkcy12YWxpZGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Yj5Db2x1bW4gRm9ybWF0IFNldHRpbmdzPC9iPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+UGljayBEYXRhIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZGF0YS1iaW5kPVwib3B0aW9uczogWydEYXlzJywgJ0hvdXJzJywgJ01pbnV0ZXMnLCAnU2Vjb25kcyddLmluZGV4T2YoZmllbGRGb3JtYXQoKSkgPj0gMCA/IFsnRGF5cycsICdIb3VycycsICdNaW51dGVzJywgJ1NlY29uZHMnXSA6ICRwYXJlbnRzWzFdLmZpZWxkRm9ybWF0VHlwZXMsIHZhbHVlOiBmaWVsZEZvcm1hdFwiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50c1sxXS5kZWNpbWFsRm9ybWF0VHlwZXMuaW5kZXhPZigkZGF0YS5maWVsZEZvcm1hdCgpKT49MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+UGljayBEZWNpbWFsIFBsYWNlczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBkZWNpbWFsUGxhY2VzXCIgcGxhY2Vob2xkZXI9XCJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBmaWVsZEZvcm1hdCgpPT0nQ3VycmVuY3knXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5QaWNrIEN1cnJlbmN5IEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQgZGF0YS1iaW5kPVwib3B0aW9uczogJHBhcmVudHNbMV0uY3VycmVuY3lGb3JtYXRzLCBvcHRpb25zVGV4dDogJ2Rpc3BsYXknLG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJywgdmFsdWU6IGN1cnJlbmN5Rm9ybWF0XCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IGZpZWxkRm9ybWF0KCk9PSdEYXRlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+UGljayBEYXRlIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZGF0YS1iaW5kPVwib3B0aW9uczogJHBhcmVudHNbMV0uZGF0ZUZvcm1hdHMsIHZhbHVlOiBkYXRlRm9ybWF0XCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6c2VsZWN0ZWRBZ2dyZWdhdGUoKT09J1Bpdm90JyAmJiBmaWVsZEZvcm1hdCgpPT0nRGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPlBpdm90IERyaWxsZG93biBEYXRlIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgZGF0YS1iaW5kPVwib3B0aW9uczogWycnLCAnRGF5JywgJ01vbnRoJywgJ1llYXInLCAnTW9udGgvWWVhciddLCB2YWx1ZTogZHJpbGxEYXRhRm9ybWF0XCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBmaWVsZEZvcm1hdCgpPT0nRGF0ZScgJiYgZGF0ZUZvcm1hdCgpPT09J0N1c3RvbSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPkVudGVyIEN1c3RvbSBEYXRlIEZvcm1hdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogY3VzdG9tRGF0ZUZvcm1hdFwiIHBsYWNlaG9sZGVyPVwiZGQvbW0veXl5eVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+Q2hvb3NlIENvbHVtbiBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZmllbGRMYWJlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+SW5uZXIgQ29sdW1uIExhYmVsPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBmaWVsZExhYmVsMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+Q2hvb3NlIFRleHQgQWxpZ25tZW50PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiAkcGFyZW50c1sxXS5maWVsZEFsaWdubWVudHMsIHZhbHVlOiBmaWVsZEFsaWduXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNSBjb2wtbWQtNSBjb250cm9sLWxhYmVsXCI+Q2hvb3NlIFdpZHRoIChsZWF2ZSBibGFuayBmb3IgYXV0byk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZpZWxkV2lkdGhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+SGVhZGVyIFNldHRpbmdzPC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UGljayBUZXh0IENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDM4cHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBoZWFkZXJGb250Q29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOiAxMDBweFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogaGVhZGVyRm9udENvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIHRpdGxlPVwiQXBwbHkgdG8gYWxsIGNvbHVtbnNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXthcHBseUFsbEhlYWRlckZvbnRDb2xvcighYXBwbHlBbGxIZWFkZXJGb250Q29sb3IoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFcIiBkYXRhLWJpbmQ9XCJjc3M6IGFwcGx5QWxsSGVhZGVyRm9udENvbG9yKCkgPyAnZmEtY2hlY2snIDogJ2ZhLXBhc3RlJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBpY2sgQmFja2dyb3VuZCBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgc3R5bGU9XCJ3aWR0aDogNTBweDsgaGVpZ2h0OiAzOHB4O1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogaGVhZGVyQmFja0NvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ3aWR0aDogMTAwcHhcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGhlYWRlckJhY2tDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiB0aXRsZT1cIkFwcGx5IHRvIGFsbCBjb2x1bW5zXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7YXBwbHlBbGxIZWFkZXJCYWNrQ29sb3IoIWFwcGx5QWxsSGVhZGVyQmFja0NvbG9yKCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiBhcHBseUFsbEhlYWRlckJhY2tDb2xvcigpID8gJ2ZhLWNoZWNrJyA6ICdmYS1wYXN0ZSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogaGVhZGVyRm9udEJvbGRcIiBpZD1cImhlYWRlckZvbnRCb2xkQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiaGVhZGVyRm9udEJvbGRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb2xkIFRleHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgdGl0bGU9XCJBcHBseSB0byBhbGwgY29sdW1uc1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpe2FwcGx5QWxsSGVhZGVyQm9sZCghYXBwbHlBbGxIZWFkZXJCb2xkKCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogYXBwbHlBbGxIZWFkZXJCb2xkKCkgPyAnZmEtY2hlY2snIDogJ2ZhLXBhc3RlJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+VGV4dCBTZXR0aW5nczwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBpY2sgVGV4dCBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgc3R5bGU9XCJ3aWR0aDogNTBweDsgaGVpZ2h0OiAzOHB4O1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9udENvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBmb250Q29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgdGl0bGU9XCJBcHBseSB0byBhbGwgY29sdW1uc1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpe2FwcGx5QWxsRm9udENvbG9yKCFhcHBseUFsbEZvbnRDb2xvcigpKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogYXBwbHlBbGxGb250Q29sb3IoKSA/ICdmYS1jaGVjaycgOiAnZmEtcGFzdGUnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UGljayBCYWNrZ3JvdW5kIENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDM4cHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBiYWNrQ29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOiAxMDBweDtcIiBjbGFzcz1cImZvcm0tY29udHJvbCBtZS0yXCIgZGF0YS1iaW5kPVwidmFsdWU6IGJhY2tDb2xvclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiB0aXRsZT1cIkFwcGx5IHRvIGFsbCBjb2x1bW5zXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7YXBwbHlBbGxCYWNrQ29sb3IoIWFwcGx5QWxsQmFja0NvbG9yKCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgZGF0YS1iaW5kPVwiY3NzOiBhcHBseUFsbEJhY2tDb2xvcigpID8gJ2ZhLWNoZWNrJyA6ICdmYS1wYXN0ZSdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogZm9udEJvbGRcIiBpZD1cImZvbnRCb2xkQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwiZm9udEJvbGRDaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb2xkIFRleHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgdGl0bGU9XCJBcHBseSB0byBhbGwgY29sdW1uc1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpe2FwcGx5QWxsQm9sZCghYXBwbHlBbGxCb2xkKCkpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogYXBwbHlBbGxCb2xkKCkgPyAnZmEtY2hlY2snIDogJ2ZhLXBhc3RlJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZGRlZC1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHthZGRDb25kaXRpb25hbEZvcm1hdFNldHRpbmcobnVsbCl9XCI+QWRkIENvbmRpdGlvbmFsIEZvcm1hdHRpbmc8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBmaWVsZENvbmR0aW9uYWxGb3JtYXRzXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDQwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5Db25kaXRpb25hbCBGb3JtYXQgIzxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICRpbmRleCgpKzFcIj48L3NwYW4+PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LnJlbW92ZVNldHRpbmdcIj5SZW1vdmU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlBpY2sgVGV4dCBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBzdHlsZT1cIndpZHRoOiA1MHB4OyBoZWlnaHQ6IDM4cHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBmb250Q29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWUtMlwiIGRhdGEtYmluZD1cInZhbHVlOiBmb250Q29sb3JcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5QaWNrIEJhY2tncm91bmQgQ29sb3I8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgc3R5bGU9XCJ3aWR0aDogNTBweDsgaGVpZ2h0OiAzOHB4O1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogYmFja0NvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHN0eWxlPVwid2lkdGg6IDEwMHB4O1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1lLTJcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogYmFja0NvbG9yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGZvbnRCb2xkXCIgaWQ9XCJmb250Qm9sZENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJmb250Qm9sZENoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb2xkIFRleHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbS0yXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogZmlsdGVyLkZpbHRlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogRmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgZGF0YS1iaW5kPVwib3B0aW9uczogZmllbGRGaWx0ZXIsIHZhbHVlOiAkcGFyZW50Lk9wZXJhdG9yXCIgcmVxdWlyZWQ+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cIndpdGg6IEZpZWxkXCIgZGF0YS1wYXJlbnRwcmVmaXg9XCJDXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdyZXBvcnQtZmlsdGVyJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudHNbMV0udXNlU3RvcmVkUHJvYygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggcHVsbC1sZWZ0XCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBjaGVja091dGVyR3JvdXBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dGVyIEdyb3VwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlclwiIGRhdGEtYmluZD1cImNsaWNrOiBjYW5jZWxGaWVsZE9wdGlvbnNcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IHNhdmVGaWVsZE9wdGlvbnNcIj5TYXZlIENoYW5nZXM8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInJlcG9ydC1saW5rLWVkaXRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBzdHlsZT1cIm1heC13aWR0aDogNzUwcHg7XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBlZGl0TGlua0ZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+U2V0dXAgTGluayBGaWVsZDwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBuZWVkcy12YWxpZGF0aW9uXCIgZGF0YS1iaW5kPVwid2l0aDogbGlua0ZpZWxkSXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPlRoaXMgZmllbGQgd2lsbCBsaW5rIHRvPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQgZGF0YS1iaW5kPVwib3B0aW9uczogbGlua1R5cGVzLCB2YWx1ZTogc2VsZWN0ZWRMaW5rVHlwZVwiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBMaW5rc1RvUmVwb3J0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5MaW5rIHRvIHRoaXMgUmVwb3J0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS03IGNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiByZXF1aXJlZCBkYXRhLWJpbmQ9XCJvcHRpb25zOiAkcGFyZW50Q29udGV4dC4kcGFyZW50LlNhdmVkUmVwb3J0cywgb3B0aW9uc1RleHQ6ICdyZXBvcnROYW1lJywgb3B0aW9uc1ZhbHVlOiAncmVwb3J0SWQnLCB2YWx1ZTogTGlua2VkVG9SZXBvcnRJZCwgb3B0aW9uc0NhcHRpb246ICdDaG9vc2UgdGhlIFJlcG9ydCB0byBsaW5rIHRvJ1wiPjwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJpZjogTGlua2VkVG9SZXBvcnRJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2VuZEFzRmlsdGVyUGFyYW1ldGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmQgZmllbGQgdmFsdWUgYXMgUmVwb3J0IEZpbHRlciBQYXJhbWV0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJpZjogU2VuZEFzRmlsdGVyUGFyYW1ldGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5MaW5rIHRvIHRoaXMgUmVwb3J0IEZpbHRlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNyBjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgcmVxdWlyZWQgZGF0YS1iaW5kPVwib3B0aW9uczogYWxsRmllbGRzLCBvcHRpb25zVGV4dDogJ2ZpZWxkTmFtZScsIG9wdGlvbnNWYWx1ZTogJ2ZpZWxkSWQnLCB2YWx1ZTogU2VsZWN0ZWRGaWx0ZXJJZCwgb3B0aW9uc0NhcHRpb246ICdDaG9vc2UgdGhlIEZpZWxkIHRvIEZpbHRlciBieSB2YWx1ZSdcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWZub3Q6IExpbmtzVG9SZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTUgY29sLW1kLTUgY29udHJvbC1sYWJlbFwiPkxpbmsgdG8gdGhpcyBVUkw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9XCJFbnRlciBhIHVybCB0byBvcGVuXCIgZGF0YS1iaW5kPVwidmFsdWU6IExpbmtUb1VybFwiIHRpdGxlPVwiVmFsaWQgVVJMIG5lZWRzIHRvIHN0YXJ0IHdpdGggaHR0cDovLyBvciBodHRwczovL1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IFNlbmRBc1F1ZXJ5UGFyYW1ldGVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmQgZmllbGQgdmFsdWUgYXMgUXVlcnkgUGFyYW1ldGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCIgZGF0YS1iaW5kPVwiaWY6IFNlbmRBc1F1ZXJ5UGFyYW1ldGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS01IGNvbC1tZC01IGNvbnRyb2wtbGFiZWxcIj5QYXJhbWV0ZXIgTmFtZSB0byB1c2U8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTcgY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9XCJFbnRlciBwYXJhbWV0ZXIgbmFtZSB0byBzZW5kIHZhbHVlIGFzXCIgZGF0YS1iaW5kPVwidmFsdWU6IFF1ZXJ5UGFyYW1ldGVyTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlclwiIGRhdGEtYmluZD1cImNsaWNrOiByZW1vdmVMaW5rRmllbGRcIj5SZW1vdmUgTGluazwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogc2F2ZUxpbmtGaWVsZFwiPlNhdmUgQ2hhbmdlczwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiZGVzaWduZXItY2hvb3NlLXZpc3VhbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJWaXN1YWxpemF0aW9uIE9wdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdMaXN0Jyk7IH0sIGNzczogeyBhY3RpdmU6IFJlcG9ydFR5cGUoKT09J0xpc3QnIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS1saXN0LWFsdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+TGlzdDwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdTdW1tYXJ5Jyk7IH0sIGNzczogeyBhY3RpdmU6IFJlcG9ydFR5cGUoKT09J1N1bW1hcnknIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS10YWJsZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+U3VtbWFyeTwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdCYXInKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nQmFyJyB9XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtMnggZmEtYmFyLWNoYXJ0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5CYXI8L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2V0UmVwb3J0VHlwZSgnUGllJyk7IH0sIGNzczogeyBhY3RpdmU6IFJlcG9ydFR5cGUoKT09J1BpZScgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLXBpZS1jaGFydFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+UGllPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ0xpbmUnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nTGluZScgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLWxpbmUtY2hhcnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwPkxpbmU8L3A+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgc2V0UmVwb3J0VHlwZSgnQ29tYm8nKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nQ29tYm8nIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS1zaWduYWxcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwPkNvbWJvPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ0h0bWwnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpPT0nSHRtbCcgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLWNvZGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwPkN1c3RvbTwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdNYXAnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpLmluZGV4T2YoJ01hcCcpPT0wIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS1nbG9iZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+TWFwPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ0hlYXRNYXAnKTsgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpLmluZGV4T2YoJ0hlYXRNYXAnKT09MCB9XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtMnggZmEtbWFwXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8cD5IZWF0TWFwPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNldFJlcG9ydFR5cGUoJ1NpbmdsZScpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCk9PSdTaW5nbGUnIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS13aW5kb3ctbWF4aW1pemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxwPktQSTwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdUcmVlbWFwJyk7IH0sIGNzczogeyBhY3RpdmU6IFJlcG9ydFR5cGUoKT09J1RyZWVtYXAnIH1cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS0yeCBmYS13aW5kb3ctcmVzdG9yZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+VHJlZW1hcDwvcD5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBzZXRSZXBvcnRUeXBlKCdQaXZvdCcpOyB9LCBjc3M6IHsgYWN0aXZlOiBSZXBvcnRUeXBlKCk9PSdQaXZvdCcgfVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLTJ4IGZhLXJhbmRvbVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHA+VHJhbnNwb3NlPC9wPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJkZXNpZ25lci1jaG9vc2UtZGF0YVwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0IGJ0bi1ncm91cCBidG4tZ3JvdXAtdG9nZ2xlXCIgcm9sZT1cImdyb3VwXCIgZGF0YS1iaW5kPVwiaWY6IFJlcG9ydElEKCkgPD0gMFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saWdodCBhY3RpdmVcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMHB4O1wiIHRpdGxlPVwiWW91IGNhbiBjaGFuZ2UgdGhlIERhdGEgc291cmNlIG9ubHkgd2hlbiBjcmVhdGluZyBhIG5ldyByZXBvcnQsIGNoYW5naW5nIHRoaXMgd2lsbCBjbGVhciBhbGwgc2VsZWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJkYXRhb3B0aW9uXCIgaWQ9XCJ0YWJsZVwiIGNoZWNrZWQgZGF0YS1iaW5kPVwiY2hlY2tlZDogdXNlU3RvcmVkUHJvYywgY2hlY2tlZFZhbHVlOiBmYWxzZVwiPiBEeW5hbWljXHJcbiAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpZ2h0IGFjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJkYXRhb3B0aW9uXCIgaWQ9XCJwcm9jXCIgdmFsdWU9XCIxXCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogdXNlU3RvcmVkUHJvYywgY2hlY2tlZFZhbHVlOiB0cnVlXCI+IFByZWRlZmluZWRcclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgdGl0bGU9XCJBZGQgQ3VzdG9tIEZpZWxkIHVzaW5nIEZvcm11bGFcIiBkYXRhLWJpbmQ9XCJoaWRkZW46IGlzRnVuY3Rpb25GaWVsZCgpIHx8IHVzZVN0b3JlZFByb2MoKSwgY2xpY2s6IGNhbmNlbEZvcm11bGFGaWVsZCwgdGV4dDogaXNGb3JtdWxhRmllbGQoKT8gJ0NhbmNlbCc6ICdDdXN0b20gRmllbGQnLCBjc3M6IHsnYnRuLXByaW1hcnknOiAhaXNGb3JtdWxhRmllbGQoKSwgJ2J0bi1kYW5nZXInOiBpc0Zvcm11bGFGaWVsZH1cIj48L2E+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIiB0aXRsZT1cIkFkZCBDdXN0b20gRmllbGQgdXNpbmcgRnVuY3Rpb25cIiBkYXRhLWJpbmQ9XCJoaWRkZW46IHRydWUgfHwgaXNGb3JtdWxhRmllbGQoKSB8fCB1c2VTdG9yZWRQcm9jKCksIGNsaWNrOiBmdW5jdGlvbigpe2Rlc2lnbkZ1bmN0aW9uRmllbGQoKX0sIHRleHQ6IGlzRnVuY3Rpb25GaWVsZCgpPyAnQ2FuY2VsJzogJ0Z1bmN0aW9uIEZpZWxkJywgY3NzOiB7J2J0bi1wcmltYXJ5JzogIWlzRnVuY3Rpb25GaWVsZCgpLCAnYnRuLWRhbmdlcic6IGlzRnVuY3Rpb25GaWVsZH1cIj48L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiBkYXRhLWJpbmQ9XCJkaXNhYmxlOiBpc0Zvcm11bGFGaWVsZCwgaGlkZGVuOiB1c2VTdG9yZWRQcm9jXCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogdGV4dFF1ZXJ5LnNlYXJjaEZpZWxkc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cInNlYXJjaC1maWVsZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwic2VsZWN0Mjoge2Ryb3Bkb3duUGFyZW50OiAkcm9vdC5hY3RpdmVEZXNpZ24oKSA/ICQoJyNjaG9vc2UtZGF0YS1kZXNpZ24nKSA6ICQoJyNjaG9vc2UtZGF0YS1jYXJkJyksIHBsYWNlaG9sZGVyOiAnU2VhcmNoIGZvciBhIERhdGEgRmllbGQuLi4nLCBhamF4OiB7IHVybDogdXJsLCBkYXRhVHlwZTogJ2pzb24nLCBkYXRhOiBxdWVyeSwgcHJvY2Vzc1Jlc3VsdHM6IHByb2Nlc3NSZXN1bHRzLCBoZWFkZXJzOiBoZWFkZXJzIH0sIG1pbmltdW1JbnB1dExlbmd0aDogMiwgYWxsb3dDbGVhcjogdHJ1ZSB9LCB2YWx1ZTogc2VsZWN0ZWRPcHRpb25cIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiB1c2VTdG9yZWRQcm9jXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwic2VsZWN0MlZhbHVlOiB7ZHJvcGRvd25QYXJlbnQ6ICRyb290LmFjdGl2ZURlc2lnbigpID8gJCgnI2Nob29zZS1kYXRhLWRlc2lnbicpIDogJCgnI2Nob29zZS1kYXRhLWNhcmQnKX0sIG9wdGlvbnM6IFByb2NzLCBvcHRpb25zQ2FwdGlvbjogJ0Nob29zZSBTZWN0aW9uLi4uJywgb3B0aW9uc1RleHQ6ICdEaXNwbGF5TmFtZScsIHZhbHVlOiBTZWxlY3RlZFByb2MsIHZpc2libGU6IHVzZVN0b3JlZFByb2NcIj48L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIGRhdGEtYmluZD1cImhpZGRlbjogdXNlU3RvcmVkUHJvY1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIFNlbGVjdCBEYXRhIHRvIHVzZSBpbiBSZXBvcnRcclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlIHRleHQtbXV0ZWRcIiBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIiB0aXRsZT1cIkNob29zZSBhIHRhYmxlIHRvIHNob3cgZmllbGRzIHRvIHNlbGVjdC5cIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGEtc2VsZWN0LXRyZWVcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogQ2F0ZWdvcml6ZWRUYWJsZXMgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyBpc0V4cGFuZGVkKCFpc0V4cGFuZGVkKCkpOyB9LCB2aXNpYmxlOiBjYXRlZ29yeU5hbWVcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogaXNFeHBhbmRlZCgpID8gJ2ZhLWNoZXZyb24tZG93biB0ZXh0LXNlY29uZGFyeScgOiAnZmEtY2hldnJvbi1yaWdodCB0ZXh0LXNlY29uZGFyeSdcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFcIiBkYXRhLWJpbmQ9XCJjc3M6IGlzRXhwYW5kZWQoKSA/ICdmYS1mb2xkZXItb3BlbicgOiAnZmEtZm9sZGVyJ1wiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogY2F0ZWdvcnlOYW1lXCIgY2xhc3M9XCJtbC0yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXBvcnQtbGlzdFwiIGRhdGEtYmluZD1cInZpc2libGU6IGlzRXhwYW5kZWQoKSwgZm9yZWFjaDogdGFibGVzXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYm9yZGVyLWJvdHRvbSBweS0yIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtbGVmdFwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHsgc2VsZWN0VGFibGUoJGRhdGEpOyB9LCBjc3M6IHsndGV4dC1tdXRlZCc6ICFpc0VuYWJsZWQoKX0sIHN0eWxlOiB7Y3Vyc29yOiBpc0VuYWJsZWQoKSA/ICdwb2ludGVyJyA6ICcnfSwgYXR0cjoge3RpdGxlOiAhaXNFbmFibGVkKCkgPyAnQ2Fubm90IHVzZSB0YWJsZSBhcyBqb2lucyBkbyBub3QgZXhpc3QnOiAnJ31cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeSBmYVwiIGRhdGEtYmluZD1cImNzczogaXNFbmFibGVkKCkgPyAoJGRhdGEgPT09ICRwYXJlbnRzWzFdLlNlbGVjdGVkVGFibGUoKSA/ICdmYS1jaGV2cm9uLWRvd24nIDogJ2ZhLWNoZXZyb24tcmlnaHQnKSA6ICdmYS1iYW4nXCI+PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXRhYmxlXCI+PC9zcGFuPiZuYnNwOzxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHRhYmxlTmFtZVwiIGNsYXNzPVwiXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJGRhdGEgPT09ICRwYXJlbnRzWzFdLlNlbGVjdGVkVGFibGUoKSAmJiAhJHBhcmVudHNbMV0uaXNGb3JtdWxhRmllbGQoKSAmJiAhJHBhcmVudHNbMV0uU2VsZWN0ZWRUYWJsZSgpLmR5bmFtaWNDb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzbWFsbCB0ZXh0LW11dGVkXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnRzWzFdLk1vdmVBbGxGaWVsZHNcIj5TZWxlY3QgYWxsPC9hPiB8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzbWFsbCB0ZXh0LW11dGVkXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnRzWzFdLlJlbW92ZVNlbGVjdGVkRmllbGRzXCI+UmVtb3ZlIGFsbDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRmllbGRzIEV4cGFuZCBIZXJlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkZGF0YSA9PT0gJHBhcmVudHNbMV0uU2VsZWN0ZWRUYWJsZSgpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDMwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiAkcGFyZW50c1sxXS5DaG9vc2VGaWVsZHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBib3JkZXItYm90dG9tIHB5LTIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkSW5BcnJheToge2FycmF5OiAkcGFyZW50c1syXS5pc0Zvcm11bGFGaWVsZCgpID8gJHBhcmVudHNbMl0uZm9ybXVsYUZpZWxkcyA6ICRwYXJlbnRzWzJdLlNlbGVjdGVkRmllbGRzLCB2YWx1ZTogJGRhdGF9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogZmllbGROYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLS9rby0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImRlc2lnbmVyLXNlbGVjdGVkLWRhdGFcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogU2VsZWN0ZWRGaWVsZHMoKS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICAgIFBsZWFzZSBjaG9vc2UgZGF0YVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBTZWxlY3RlZEZpZWxkcygpLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0JhcidcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHNtYWxsIHB5LTEgbWItMlwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vXCI+PC9zcGFuPiZuYnNwO0ZvciBCYXIgR3JhcGgsIHRoZSBmaXJzdCBmaWVsZCBiZWxvdyB3aWxsIHNob3cgb24gdGhlIHgtYXhpcy4gQWxsIG90aGVyIG51bWVyaWMgZmllbGRzIHdpbGwgc2hvdyBvbiB5LWF4aXMuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgc21hbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogYmFyQ2hhcnRIb3Jpem9udGFsXCIgLz5cclxuICAgICAgICAgICAgICAgIEhvcml6b250YWwgQmFyIENoYXJ0XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogYmFyQ2hhcnRTdGFja2VkXCIgLz5cclxuICAgICAgICAgICAgICAgIFN0YWNrZWQgQmFyIENoYXJ0XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nUGllJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gc21hbGwgcHktMSBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW9cIj48L3NwYW4+Jm5ic3A7Rm9yIFBpZSBHcmFwaCwgdGhlIGZpcnN0IGZpZWxkIGJlbG93IHdpbGwgYmUgZ3JvdXBlZCwgYW5kIHRoZSBmaXJzdCBudW1lcmljIGZpZWxkIHdpbGwgc2hvdyBhcyB0aGUgcmF0aW8uXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgc21hbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogcGllQ2hhcnREb251dFwiIC8+XHJcbiAgICAgICAgICAgICAgICBEb251dCBDaGFydFxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J1RyZWVtYXAnXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBzbWFsbCBweS0xIG1iLTBcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saWdodGJ1bGItb1wiPjwvc3Bhbj4mbmJzcDtGb3IgVHJlZW1hcCwgdGhlIGRhdGEgbXVzdCBiZSBpbiBhIGhpZXJhcmNoaWNhbCBmb3JtYXQgd2l0aCAybmQgY29sdW1uIGhhdmluZyBwYXJlbnQgYW5kIHRoaXJkIGNvbHVtbiBoYXZpbmcgYSBudW1lcmljIHZhbHVlLiBUaGUgZGF0YSBtdXN0IGhhdmUgYSBzaW5nbGUgcm9vdCBub2RlIGhhdmluZyBudWxsIGFzIGl0cyBwYXJlbnQgYXMgd2VsbC5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdIZWF0TWFwJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saWdodGJ1bGItbyBmYS0yeFwiPjwvc3Bhbj4mbmJzcDtGb3IgSGVhdE1hcCwgdGhlIGZpcnN0IHR3byBjb2x1bW5zIG11c3QgYmUgbnVtZXJpYyB2YWx1ZXMgcmVwcmVzZW50aW5nXHJcbiAgICAgICAgICAgICAgICA8c3Ryb25nPkxhdGl0dWRlPC9zdHJvbmc+IGFuZCA8c3Ryb25nPkxvbmdpdHVkZTwvc3Ryb25nPi4gQXQgbGVhc3Qgb25lIGFkZGl0aW9uYWwgbnVtZXJpYyBjb2x1bW4gaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aGVcclxuICAgICAgICAgICAgICAgIDxzdHJvbmc+aW50ZW5zaXR5PC9zdHJvbmc+IG9mIGVhY2ggcG9pbnQuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGhlYXRNYXBPcHRpb25zLnNob3dNYXJrZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTaG93IE1hcmtlclxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTEyIGZ3LWJvbGRcIj5IZWF0bWFwIENvbG9yczwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IG1iLTJcIj4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ2YWx1ZTogaGVhdE1hcE9wdGlvbnMuZ3JhZGllbnQxXCIgdGl0bGU9XCJHcmFkaWVudCAxXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmFsdWU6IGhlYXRNYXBPcHRpb25zLmdyYWRpZW50MlwiIHRpdGxlPVwiR3JhZGllbnQgMlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZhbHVlOiBoZWF0TWFwT3B0aW9ucy5ncmFkaWVudDNcIiB0aXRsZT1cIkdyYWRpZW50IDNcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0xpbmUnXCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBzbWFsbCBweS0xIG1iLTJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saWdodGJ1bGItb1wiPjwvc3Bhbj4mbmJzcDtGb3IgTGluZSBHcmFwaCwgdGhlIGZpcnN0IGZpZWxkIGJlbG93IHdpbGwgc2hvdyBvbiB0aGUgeC1heGlzLiBBbGwgb3RoZXIgZmllbGRzIHdpbGwgbnVtZXJpYyBmaWVsZHMgd2lsbCBzaG93IG9uIHktYXhpcy5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBzbWFsbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBsaW5lQ2hhcnRBcmVhXCIgLz5cclxuICAgICAgICAgICAgICAgIEFyZWEgQ2hhcnRcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdDb21ibydcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHNtYWxsIHB5LTEgbWItMlwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vXCI+PC9zcGFuPiZuYnNwO0ZvciBDb21ibyBHcmFwaCwgdGhlIGZpcnN0IGZpZWxkIGJlbG93IHdpbGwgc2hvdyBvbiB0aGUgeC1heGlzLiBBbGwgb3RoZXIgbnVtZXJpYyBmaWVsZHMgd2lsbCBzaG93IG9uIHktYXhpcywgYW5kIHlvdSBjYW4gY2hvb3NlIGRpc3BsYXkgZWFjaCBzZXJpZXMgYXMgbGluZSwgYmFyIG9yIGFyZWEuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgc21hbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+RGVmYXVsdCBTZXJpZXMgVHlwZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBzZXJpZXNUeXBlcywgdmFsdWU6IGNvbWJvQ2hhcnRUeXBlXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdQaXZvdCdcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHNtYWxsIHB5LTEgbWItMFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vXCI+PC9zcGFuPiZuYnNwO0ZvciBUcmFuc3Bvc2UsIHRoZSBmaXJzdCBmaWVsZCBiZWxvdyB3aWxsIGJlIHVzZWQgdG8gUGl2b3QvVHJhbnNwb3NlIHRoZSByb3dzIGFzIGNvbHVtbnMsIGFuZCBpdCBtdXN0IGJlIGdyb3VwZWQuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J1NpbmdsZSdcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvIHNtYWxsIHB5LTEgbWItMFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpZ2h0YnVsYi1vXCI+PC9zcGFuPiZuYnNwO0tQSSBpcyBhIHNpbmdsZSB2YWx1ZSByZXBvcnQgdGhhdCBpcyBpZGVhbCBmb3IgcGxhY2luZyBvbiBhIERhc2hib2FyZC4gQWxsIGZpZWxkcyBleGNlcHQgb25lIG11c3QgYmUgaGlkZGVuIGZvciBXaWRnZXRzLlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCk9PSdIdG1sJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93IHNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGRvbnRHcm91cEN1c3RvbVwiIC8+XHJcbiAgICAgICAgICAgICAgICBMaXN0IChEb24ndCBTdW1tYXJpemUpXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nTWFwJ1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm8gc21hbGwgcHktMSBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlnaHRidWxiLW9cIj48L3NwYW4+Jm5ic3A7Rm9yIE1hcCBHcmFwaCwgdGhlIGZpcnN0IGZpZWxkIGJlbG93IGhhcyB0byBiZSBhIFJlZ2lvbiwgbGlrZSBhIENvdW50cnkuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgc21hbGxcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTMgY29udHJvbC1sYWJlbFwiPk1hcCBEaXNwbGF5PC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS01XCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBtYXBSZWdpb25zLCB2YWx1ZTogbWFwUmVnaW9uXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cFwiIGRhdGEtYmluZD1cInNvcnRhYmxlOiB7IGRhdGE6IFNlbGVjdGVkRmllbGRzLCBvcHRpb25zOiB7IGhhbmRsZTogJy5zb3J0YWJsZScsIGN1cnNvcjogJ21vdmUnLCBwbGFjZWhvbGRlcjogJ2Ryb3AtaGlnaGxpZ2h0JyB9LCBzdHJhdGVneU1vdmU6IHRydWUgfVwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNvcnRhYmxlIHB1bGwtbGVmdFwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMTVweDtcIiBkYXRhLWJpbmQ9XCJpZm5vdDogJHBhcmVudC51c2VTdG9yZWRQcm9jXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZWxsaXBzaXMtdlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiRHJhZyB0byByZW9yZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWNvbHVtbnNcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRGaWVsZE5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogaXNGb3JtdWxhRmllbGQoKSA/ICcoJyArIGZpZWxkRm9ybWF0KCkgKyAnKScgOiAnJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAhJHBhcmVudC5pc0ZpZWxkVmFsaWRGb3JZQXhpcygkaW5kZXgoKSwgZmllbGRUeXBlIHx8IGZpZWxkRm9ybWF0KCksIHNlbGVjdGVkQWdncmVnYXRlKCkpICYmICRwYXJlbnQuUmVwb3J0VHlwZSgpICE9J1RyZWVtYXAnICYmICRwYXJlbnQuaXNDaGFydCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctZGFuZ2VyXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogIWdyb3VwSW5HcmFwaCgpXCI+V2lsbCBub3Qgc2hvdyBpbiA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiAkcGFyZW50LlJlcG9ydFR5cGVcIj48L3NwYW4+Q2hhcnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInZpc2libGU6ICRwYXJlbnQuSXNQaXZvdEZpZWxkTGFzdENvbHVtbigkaW5kZXgoKSxzZWxlY3RlZEFnZ3JlZ2F0ZSgpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLWRhbmdlclwiID5QaXZvdCBmaWVsZCBjYW5ub3QgYmUgdGhlIGxhc3QgY29sdW1uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5Jc0R5bmFtaWNGaWVsZEZpcnN0Q29sdW1uKCRpbmRleCgpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLWRhbmdlclwiID5EeW5hbWljIGNhbm5vdCBiZSBmaXJzdCBjb2x1bW4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC01cHg7XCIgZGF0YS1iaW5kPVwiaWY6ICRwYXJlbnQuQWdncmVnYXRlUmVwb3J0KCkgJiYgISRwYXJlbnQudXNlU3RvcmVkUHJvYygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2wtc21cIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiAkcGFyZW50LmNhbkRyaWxsZG93bigpICYmICRpbmRleCgpPjAgPyBmaWVsZEFnZ3JlZ2F0ZVdpdGhEcmlsbGRvd24gOiBmaWVsZEFnZ3JlZ2F0ZSwgdmFsdWU6IHNlbGVjdGVkQWdncmVnYXRlXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiAxMHB4O1wiIGRhdGEtYmluZD1cImlmbm90OiAkcGFyZW50LnVzZVN0b3JlZFByb2NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS10cmFzaC1vXCIgdGl0bGU9XCJDYW5ub3QgRGVsZXRlIFJlcXVpcmVkIEZpbHRlclwiIGRhdGEtYmluZD1cInZpc2libGU6IGZvcmNlRmlsdGVyRm9yVGFibGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtdHJhc2hcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIkRlbGV0ZSB0aGlzIEZpZWxkXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQuUmVtb3ZlRmllbGQsIGhpZGRlbjogZm9yY2VGaWx0ZXJGb3JUYWJsZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwiaWZub3Q6ICRwYXJlbnQudXNlU3RvcmVkUHJvY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi1ib3ggbm8tcGFkZGluZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyBmaWx0ZXJPbkZseSghZmlsdGVyT25GbHkoKSk7IH0sIGNzczoge2FjdGl2ZTogZmlsdGVyT25GbHkoKT09dHJ1ZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsdGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJGaWx0ZXIgYnkgdGhpcyBmaWVsZCBvbiB0aGUgUmVwb3J0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5SZXBvcnRUeXBlKCkhPSdQaXZvdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlRGlzYWJsZSwgY3NzOiB7YWN0aXZlOiBkaXNhYmxlZCgpPT10cnVlfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1jbG9zZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiRG8gbm90IGluY2x1ZGUgaW4gUmVwb3J0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5SZXBvcnRUeXBlKCkhPSdQaXZvdCcgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkhPSdMaXN0JyAmJiAhJHBhcmVudC51c2VTdG9yZWRQcm9jKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgaGlkZUluRGV0YWlsKCFoaWRlSW5EZXRhaWwoKSk7IH0sIGNzczoge2FjdGl2ZTogaGlkZUluRGV0YWlsKCk9PXRydWV9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWV5ZS1zbGFzaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiSGlkZSBpbiBEZXRhaWxzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5pc0ZpZWxkVmFsaWRGb3JZQXhpcygkaW5kZXgoKSwgZmllbGRUeXBlIHx8IGZpZWxkRm9ybWF0KCksIHNlbGVjdGVkQWdncmVnYXRlKCkpICAmJiAkcGFyZW50LmlzQ2hhcnQoKSAmJiAkaW5kZXgoKT4wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWJveCBuby1wYWRkaW5nXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IGdyb3VwSW5HcmFwaCghZ3JvdXBJbkdyYXBoKCkpOyB9LCBjc3M6IHthY3RpdmU6IGdyb3VwSW5HcmFwaCgpPT1mYWxzZX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtc2lnbmFsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJJbmNsdWRlIGluIHNlcmllc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiAxMHB4O1wiIGRhdGEtYmluZD1cInZpc2libGU6ICRwYXJlbnQuSW5jbHVkZVN1YlRvdGFsKCkgICYmICAoWydJbnQnLCAnRG91YmxlJywgJ01vbmV5JywgJ0RlY2ltYWwnLCAnQ3VycmVuY3knXS5pbmRleE9mKGZpZWxkVHlwZSkgPj0gMCB8fCBbJ0ludCcsICdEb3VibGUnLCAnTW9uZXknLCAnRGVjaW1hbCcsICdDdXJyZW5jeSddLmluZGV4T2YoZmllbGRGb3JtYXQoKSkgPj0gMClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgZG9udFN1YlRvdGFsKCFkb250U3ViVG90YWwoKSk7IH0sIGNzczoge2FjdGl2ZTogZG9udFN1YlRvdGFsKCk9PXRydWV9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJEb24ndCBhZGQgdG8gVG90YWwgcm93XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5SZXBvcnRUeXBlKCkhPSdQaXZvdCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tYm94IG5vLXBhZGRpbmdcIiB0YWJpbmRleD1cIjBcIiBkYXRhLWJpbmQ9XCJjbGljazogc2V0dXBMaW5rRmllbGQsIGNzczoge2FjdGl2ZTogbGlua0ZpZWxkKCk9PXRydWV9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIkxpbmsgdG8gYW5vdGhlciBSZXBvcnQgb3IgVXJsXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5SZXBvcnRUeXBlKCk9PSdDb21ibycgJiYgJHBhcmVudC5pc0ZpZWxkVmFsaWRGb3JZQXhpcygkaW5kZXgoKSwgZmllbGRUeXBlIHx8IGZpZWxkRm9ybWF0KCksIHNlbGVjdGVkQWdncmVnYXRlKCkpICAmJiAkcGFyZW50LmlzQ2hhcnQoKSAmJiAkaW5kZXgoKT4wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWJveCBuby1wYWRkaW5nXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHNlcmllc1R5cGUoc2VyaWVzVHlwZSgpID09ICdsaW5lJyA/ICdhcmVhJyA6IChzZXJpZXNUeXBlKCk9PSdiYXJzJyA/ICdsaW5lJyA6ICdiYXJzJykpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwiY3NzOiB7J2ZhLWxpbmUtY2hhcnQnOiBzZXJpZXNUeXBlKCkgPT0gJ2xpbmUnLCAnZmEtYmFyLWNoYXJ0Jzogc2VyaWVzVHlwZSgpID09ICdiYXJzJywgJ2ZhLWFyZWEtY2hhcnQnOiBzZXJpZXNUeXBlKCk9PSdhcmVhJyB9LCBhdHRyOiB7dGl0bGU6IHNlcmllc1R5cGV9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDEwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLWJveCBuby1wYWRkaW5nXCIgdGFiaW5kZXg9XCIwXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHNldHVwRmllbGRPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWdlYXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIk1vcmUgT3B0aW9uc1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiAxMHB4O1wiIGRhdGEtYmluZD1cImlmOiBpc0Zvcm11bGFGaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi1ib3ggbm8tcGFkZGluZ1wiIHRhYmluZGV4PVwiMFwiIGRhdGEtYmluZD1cImNsaWNrOiBlZGl0Rm9ybXVsYUZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXBlbmNpbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiRWRpdCBGb3JtdWxhIEZpZWxkXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJkZXNpZ25lci1zdWItcmVwb3J0XCI+XHJcbiAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWQgbWItM1wiPlxyXG4gICAgICAgIExpbmtlZCByZXBvcnRzIGFyZSBhdmFpbGFibGUgdG8gYWRkIGFzIHN1YiByZXBvcnRzLlxyXG4gICAgICAgIFNlbGVjdGluZyBzdWIgcmVwb3J0cyB3aWxsIHJlc3RyaWN0IHRoZSByZXBvcnQgdG8gPHN0cm9uZz5vbmUgcmVjb3JkIHBlciBwYWdlPC9zdHJvbmc+LlxyXG4gICAgPC9wPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCJcclxuICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IGxpbmtlZFJlcG9ydEZpZWxkcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNUZXh0OiAnbmFtZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRTdWJSZXBvcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zQ2FwdGlvbjogJ1NlbGVjdCBhIGxpbmtlZCByZXBvcnQuLi4nXCI+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXBcIlxyXG4gICAgICAgIGRhdGEtYmluZD1cInNvcnRhYmxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHN1YlJlcG9ydHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgaGFuZGxlOiAnLnNvcnRhYmxlJywgY3Vyc29yOiAnbW92ZScsIHBsYWNlaG9sZGVyOiAnZHJvcC1oaWdobGlnaHQnIH1cclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnMgc29ydGFibGUgbWUtMlwiIHN0eWxlPVwiY3Vyc29yOm1vdmU7XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogbmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtZGFuZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5yZW1vdmVTdWJSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgIERlbGV0ZVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImRlc2lnbmVyLWh0bWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIG1iLTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBTZWxlY3RlZEZpZWxkcywgdmFsdWU6IFNlbGVjdEZpZWxkVG9JbnNlcnQsIG9wdGlvbnNDYXB0aW9uOiAnU2VsZWN0IGEgZmllbGQuLi4nLCBvcHRpb25zVGV4dDogJ3NlbGVjdGVkRmllbGROYW1lJ1wiPjwvc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBkcm9wZG93blwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10YWJsZVwiPjwvaT4gSW5zZXJ0IGFzIFRhYmxlXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogaW5zZXJ0RmllbGRUYWJsZVRyYW5zcG9zZWRcIj5UcmFuc3Bvc2VkPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogaW5zZXJ0RmllbGRUYWJsZVN0YW5kYXJkXCI+U3RhbmRhcmQ8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaT48aHIgY2xhc3M9XCJkcm9wZG93bi1kaXZpZGVyXCI+PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBpbnNlcnRIZWFkZXJCcmVha1wiPkFkZCBIZWFkZXIgQnJlYWs8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBpbnNlcnRGb290ZXJCcmVha1wiPkFkZCBGb290ZXIgQnJlYWs8L2E+PC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC1hdXRvIG1zLTJcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtMlwiIHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGNhcmRWaWV3XCI+XHJcbiAgICAgICAgICAgIENhcmQgTGF5b3V0XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8dGV4dGFyZWEgZGF0YS1iaW5kPVwic3VtbWVybm90ZTogcmVwb3J0SHRtbFwiPjwvdGV4dGFyZWE+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cImRlc2lnbmVyLXNvcnRcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwiaWZub3Q6IHVzZVN0b3JlZFByb2NcIj5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLWF1dG8gY29udHJvbC1sYWJlbFwiPlNvcnQgQnk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IEZpbHRlcmVkRmllbGRzLCBvcHRpb25zVGV4dDogJ3NlbGVjdGVkRmllbGROYW1lJywgb3B0aW9uc1ZhbHVlOiAnZmllbGRJZCcsIHZhbHVlOiBTb3J0QnlGaWVsZCwgb3B0aW9uc0NhcHRpb246ICdTZWxlY3QgZmllbGQgdG8gc29ydC4uLicsIGFsbG93Q2xlYXI6IHRydWVcIj5cclxuICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIGQtZmxleCBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJ0ZXh0OiAhU29ydERlc2MoKSA/ICfilrIgQXNjZW5kaW5nJyA6ICdEZXNjZW5kaW5nIOKWvCcsIGNsaWNrOiBmdW5jdGlvbigpIHsgU29ydERlc2MoIVNvcnREZXNjKCkpOyByZXR1cm4gZmFsc2U7IH1cIj5cclxuICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6IGFkZFNvcnRGaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICBBZGQgU29ydFxyXG4gICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBTb3J0RmllbGRzXCI+XHJcbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3cgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLWF1dG8gY29udHJvbC1sYWJlbFwiPiZuYnNwOyZuYnNwO1RoZW4gU29ydCBCeTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogJHBhcmVudC5GaWx0ZXJlZEZpZWxkcywgb3B0aW9uc1RleHQ6ICdzZWxlY3RlZEZpZWxkTmFtZScsIG9wdGlvbnNWYWx1ZTogJ2ZpZWxkSWQnLCB2YWx1ZTogc29ydEJ5RmllbGRJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gZC1mbGV4IGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6IHJlbW92ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZlIFNvcnRcclxuICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidGV4dDogIXNvcnREZXNjKCkgPyAn4payIEFzY2VuZGluZycgOiAnRGVzY2VuZGluZyDilrwnLCBjbGljazogZnVuY3Rpb24oKSB7IHNvcnREZXNjKCFzb3J0RGVzYygpKTsgcmV0dXJuIGZhbHNlOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiAkcGFyZW50LmFkZFNvcnRGaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgQWRkIFNvcnRcclxuICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgPC9kaXY+XHJcbjwvc2NyaXB0PlxyXG5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJkZXNpZ25lci1vcHRpb25zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKSE9J1Bpdm90J1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBJbmNsdWRlU3ViVG90YWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIEluY2x1ZGUgVG90YWwgUm93XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiaGlkZGVuOiBBZ2dyZWdhdGVSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogU2hvd1VuaXF1ZVJlY29yZHNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIFNob3cgb25seSBVbmlxdWUgUmVjb3Jkc1xyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKSE9J0xpc3QnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IFNob3dFeHBhbmRPcHRpb25cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIERvbid0IFNob3cgRXhwYW5kIE9wdGlvblxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBpc0NoYXJ0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IFNob3dEYXRhV2l0aEdyYXBoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICBTaG93IERhdGEgYWxvbmcgd2l0aCBHcmFwaFxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBEb250RXhlY3V0ZU9uUnVuXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICBXYWl0IHRvIFNlbGVjdCBGaWx0ZXJzIGJlZm9yZSBSdW5uaW5nIFJlcG9ydFxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogbWF4UmVjb3Jkc1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE1heCBSZWNvcmRzXHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCIgZGF0YS1iaW5kPVwiaWY6IG1heFJlY29yZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIHN0eWxlPVwid2lkdGg6IDE1MHB4O1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9XCJPbmx5IHRvcCBuLi4uXCIgZGF0YS1iaW5kPVwidmFsdWU6IE9ubHlUb3AsIHZpc2libGU6IG1heFJlY29yZHNcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLW1kLTVcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogY2hhbmdlUGFnZVNpemUsIGRpc2FibGU6IHN1YlJlcG9ydHMoKS5sZW5ndGggPiAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICBDaGFuZ2UgUGFnZSBTaXplXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZpc2libGU6IGNoYW5nZVBhZ2VTaXplLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzczogeyAndGV4dC1tdXRlZCc6IHN1YlJlcG9ydHMoKS5sZW5ndGggPiAwIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3Qgc3R5bGU9XCJ3aWR0aDogMTUwcHg7XCIgY2xhc3M9XCJmb3JtLXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cIm9wdGlvbnM6IFsxLDEwLDMwLDUwLDEwMCwxNTAsMjAwLDUwMCwxMDAwXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IERlZmF1bHRQYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZTogc3ViUmVwb3J0cygpLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPCEtLSBGb3JjZSBkZWZhdWx0IHRvIDEgaWYgc3ViIHJlcG9ydHMgc2VsZWN0ZWQgLS0+XHJcbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiIGRhdGEtYmluZD1cInZpc2libGU6IHN1YlJlcG9ydHMoKS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgUGFnZSBzaXplIGlzIHJlc3RyaWN0ZWQgdG8gMSB3aGVuIHN1YiByZXBvcnRzIGFyZSBzZWxlY3RlZC5cclxuICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgIDxwPjxzcGFuIGNsYXNzPVwiZmEgZmEtcGFpbnQtYnJ1c2hcIj48L3NwYW4+IFBpY2sgUmVwb3J0IEZvcm1hdDwvcD5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0ga28gZm9yZWFjaDogdGFibGVTdHlsZXMgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tb3B0aW9uXCIgZGF0YS1iaW5kPVwidGl0bGU6ICRkYXRhLm5hbWUsIGNsaWNrOiAkcGFyZW50LnNlbGVjdFN0eWxlLCBjc3M6IHsnZHJvcGRvd24tb3B0aW9uLXNlbGVjdGVkJzogJHBhcmVudC5zZWxlY3RlZFN0eWxlKCkgPT0gJGRhdGEuY29sb3JzY2hlbWV9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbmktdGFibGUtcHJldmlld1wiIGRhdGEtYmluZD1cImZvcmVhY2g6IG5ldyBBcnJheSg1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS10YWJsZS1yb3dcIiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBuZXcgQXJyYXkoNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLXRhYmxlLWNlbGxcIiBkYXRhLWJpbmQ9XCJzdHlsZTogeyBiYWNrZ3JvdW5kQ29sb3I6ICRwYXJlbnRDb250ZXh0LiRpbmRleCgpID09PSAwID8gJHBhcmVudHNbMV0uaGVhZGVyQmcgOiAoJHBhcmVudENvbnRleHQuJGluZGV4KCkgJSAyID09PSAwID8gJHBhcmVudHNbMV0uYWx0Um93QmcgOiAkcGFyZW50c1sxXS5yb3dCZyksIGNvbG9yOiAkcGFyZW50c1sxXS50ZXh0Q29sb3IgfVwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IG5vSGVhZGVyUm93XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICBObyBIZWFkZXIgUm93XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IG5vRGFzaGJvYXJkQm9yZGVyc1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgQm9yZGVybGVzcyBvbiBEYXNoYm9hcmRcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJpZjogUmVwb3J0VHlwZSgpID09ICdTaW5nbGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNob3dQcmlvckluS3BpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICBTaG93IHByZXZpb3VzIGNvbXBhcmlzaW9uIGluIEtQSSBpZiBhcHBsaWNhYmxlXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiY3VzdG9tLWZpZWxkLWRlc2lnbmVyXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIGRhdGEtYmluZD1cInZpc2libGU6IGlzRm9ybXVsYUZpZWxkKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgWW91IGFyZSBub3cgY3JlYXRpbmcgYSBDdXN0b21pemVkIEZpZWxkLiBQbGVhc2Ugc2VsZWN0IHRoZSBmaWVsZHMgeW91IHdhbnQgdG8gdXNlIGluIHRoZSBjYWxjdWxhdGlvbiwgdGhlbiBjaG9vc2UgdGhlIG9wZXJhdGlvbnMgeW91IHdhbnQgdG8gcGVyZm9ybSwgYW5kIGNsaWNrIFwiU2F2ZVwiIHRvIGFkZCB5b3VyIEN1c3RvbSBmaWVsZC5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgU2V0dXAgeW91ciBGb3JtdWxhIGZvciBjYWxjdWxhdGluZyB0aGlzIEZpZWxkXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTYgcmlnaHQtYWxpZ25cIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBmb3JtdWxhVHlwZSgpPT0nYnVpbGQnXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGFkZEZvcm11bGFQYXJlbnRoZXNlc1wiPkFkZCAoICk8L2E+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgdGl0bGU9XCJBZGQgVG9kYXlcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBmb3JtdWxhT25seUhhc0RhdGVGaWVsZHMoKSB8fCBmb3JtdWxhRmllbGRzKCkubGVuZ3RoID09IDAsIGNsaWNrOiBhZGRGb3JtdWxhRGF0ZVRvZGF5XCI+QWRkIFRvZGF5PC9hPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiIHRpdGxlPVwiQWRkIGEgQ29uc3RhbnQgVmFsdWVcIiBkYXRhLWJpbmQ9XCJjbGljazogYWRkRm9ybXVsYUNvbnN0YW50VmFsdWVcIj5BZGQgVmFsdWU8L2E+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGNsZWFyRm9ybXVsYUZpZWxkXCI+Q2xlYXI8L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiIGRhdGEtYmluZD1cImlmOiBmb3JtdWxhT25seUhhc0RhdGVGaWVsZHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICBGb3IgRGF0ZXMgRmllbGQgY2FsY3VsYXRpb24sIHlvdSBjYW4gb25seSBzdWJzdHJhY3QgZGF0ZSBmaWVsZHMgYW5kIGRpc3BsYXkgdGhlIHJlc3VsdCBhcyBkYXlzLCBob3VycywgbWludXRlcyBvciBzZWNvbmRzLlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMiBjb250cm9sLWxhYmVsXCI+RmllbGQgTGFiZWw8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9ybXVsYUZpZWxkTGFiZWxcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIkN1c3RvbSBGaWVsZCBMYWJlbFwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMiBjb250cm9sLWxhYmVsXCI+RGF0YSBGb3JtYXQ8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9ybXVsYURhdGFGb3JtYXRcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmbm90OiBmb3JtdWxhT25seUhhc0RhdGVGaWVsZHMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5TdHJpbmc8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkludGVnZXI8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkRlY2ltYWw8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkN1cnJlbmN5PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogZm9ybXVsYU9ubHlIYXNEYXRlRmllbGRzIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+RGF5czwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24+SG91cnM8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPk1pbnV0ZXM8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPlNlY29uZHM8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIC9rbyAtLT5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBmb3JtdWxhRGF0YUZvcm1hdCgpID09ICdEZWNpbWFsJyB8fCBmb3JtdWxhRGF0YUZvcm1hdCgpID09ICdDdXJyZW5jeSdcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTIgY29udHJvbC1sYWJlbFwiPlJvdW5kIHRvIERlY2ltYWwgUGxhY2VzPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRhdGEtYmluZD1cInZhbHVlOiBmb3JtdWxhRGVjaW1hbFBsYWNlc1wiIHBsYWNlaG9sZGVyPVwiQ2hvb3NlIERlY2ltYWwgcGxhY2VzIChsZWF2ZSBibGFuayB0byBub3QgdXNlIHJvdW5kaW5nKVwiIHRpdGxlPVwiQ2hvb3NlIERlY2ltYWwgcGxhY2VzIChsZWF2ZSBibGFuayB0byBub3QgdXNlIHJvdW5kaW5nKVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IGFwcFNldHRpbmdzLnVzZVNxbEN1c3RvbUZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5GaWVsZCBCdWlsZGVyIFR5cGU8L2xhYmVsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogZm9ybXVsYVR5cGVcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYnVpbGRcIj5TaW1wbGUgQ2FsY3VsYXRpb248L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwic3FsXCI+QWR2YW5jZWQgRXhwcmVzc2lvbjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJpZjogZm9ybXVsYVR5cGUoKT09J2J1aWxkJ1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMiBjb250cm9sLWxhYmVsXCI+RmllbGQgRm9ybXVsYTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogZm9ybXVsYUZpZWxkcygpLmxlbmd0aCA9PSAwXCI+UGljayBmaWVsZHMgdG8gYnVpbGQgY2FsY3VsYXRpb248L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcFwiIGRhdGEtYmluZD1cImZvcmVhY2g6IGZvcm11bGFGaWVsZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtZS0zXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2V0dXBGb3JtdWxhLmlzUGFyZW50aGVzZXNTdGFydFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMDtcIj4oPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiAhc2V0dXBGb3JtdWxhLmlzUGFyZW50aGVzZXNTdGFydCgpICYmICFzZXR1cEZvcm11bGEuaXNQYXJlbnRoZXNlc0VuZCgpXCIgY2xhc3M9XCJsaXN0LWdyb3VwIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZvcm11bGEtZmllbGQtaXRlbVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE1cHg7IHBhZGRpbmc6IDVweCAxNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmaWVsZE5hbWUsIHZpc2libGU6ICFzZXR1cEZvcm11bGEuaXNDb25zdGFudFZhbHVlKClcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBzZXR1cEZvcm11bGEuaXNDb25zdGFudFZhbHVlXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGRhdGEtYmluZD1cInZhbHVlOiBzZXR1cEZvcm11bGEuY29uc3RhbnRWYWx1ZSwgdmlzaWJsZTogc2V0dXBGb3JtdWxhLmNvbnN0YW50VmFsdWUoKSE9J3xUb2RheXwnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIG1lLTJcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInZpc2libGU6IHNldHVwRm9ybXVsYS5jb25zdGFudFZhbHVlKCkgPT0gJ3xUb2RheXwnXCI+PGI+VG9kYXk8L2I+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgYnRuLXNtIG1zLTJcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5yZW1vdmVGaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2hcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibWUtM1wiIGRhdGEtYmluZD1cInZpc2libGU6IHNldHVwRm9ybXVsYS5pc1BhcmVudGhlc2VzRW5kXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAwO1wiPik8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZS0zXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTVweDtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LnNob3dGb3JtdWxhT3BlcmF0aW9uKCRpbmRleCgpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIHN0eWxlPVwibWF4LXdpZHRoOiA1MHB4O1wiIGRhdGEtYmluZD1cInZhbHVlOiBzZXR1cEZvcm11bGEuZm9ybXVsYU9wZXJhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogISRwYXJlbnQuZm9ybXVsYU9ubHlIYXNEYXRlRmllbGRzKCkgfHwgKCRwYXJlbnQuZm9ybXVsYU9ubHlIYXNEYXRlRmllbGRzKCkgJiYgJHBhcmVudC5pc0NvbnN0YW50T3BlcmF0aW9uKCRpbmRleCgpKSkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPis8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4tPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGlmOiBbJ0ludGVnZXInLCdNb25leScsJ0Zsb2F0JywnRG91YmxlJywnRGVjaW1hbCcsJ0N1cnJlbmN5J10uaW5kZXhPZigkcGFyZW50LmZvcm11bGFEYXRhRm9ybWF0KCkpICE9IC0xIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj4qPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPi88L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogY3VzdG9tU3FsRmllbGQsIHZpc2libGU6IGZvcm11bGFUeXBlKCk9PSdzcWwnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlNlbGVjdCBEYXRhIE9wZXJhdGlvbjo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBkYXRhLWJpbmQ9XCJzZWxlY3QyOiB7XHJcbiAgICAgICAgICAgICAgICBkcm9wZG93blBhcmVudDogJHJvb3QuYWN0aXZlRGVzaWduKCkgPyAkKCcjY2hvb3NlLWRhdGEtZGVzaWduJykgOiAkKCcjY2hvb3NlLWRhdGEtY2FyZCcpLFxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgRnVuY3Rpb24uLi4nLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogYXZhaWxhYmxlRnVuY3Rpb25zR3JvdXBlZCgpLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVSZXN1bHQ6IHRlbXBsYXRlUmVzdWx0XHJcbiAgICAgICAgICAgIH0sIHZhbHVlOiBzZWxlY3RlZFNxbEZ1bmN0aW9uXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgZGF0YS1iaW5kPVwiaGlkZGVuOiBpc0NvbmRpdGlvbmFsRnVuY3Rpb24oKSB8fCBzZWxlY3RlZFNxbEZ1bmN0aW9uKCkgPT0gJ090aGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IHRoZSBEYXRhIEZpZWxkIHRvIHVzZTo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInNlbGVjdDI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJvcGRvd25QYXJlbnQ6ICRyb290LmFjdGl2ZURlc2lnbigpID8gJCgnI2Nob29zZS1kYXRhLWRlc2lnbicpIDogJCgnI2Nob29zZS1kYXRhLWNhcmQnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWFyY2ggRmllbGQuLi4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhamF4OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICRwYXJlbnQudGV4dFF1ZXJ5LnNlYXJjaEZpZWxkcy51cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogJHBhcmVudC50ZXh0UXVlcnkuc2VhcmNoRmllbGRzLnF1ZXJ5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc1Jlc3VsdHM6ICRwYXJlbnQudGV4dFF1ZXJ5LnNlYXJjaEZpZWxkcy5wcm9jZXNzUmVzdWx0cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6ICRwYXJlbnQudGV4dFF1ZXJ5LnNlYXJjaEZpZWxkcy5oZWFkZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1JbnB1dExlbmd0aDogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dDbGVhcjogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHNlbGVjdDJUZXh0OiBzZWxlY3RlZEZpZWxkLHNlbGVjdDJUYWJsZUlkOnNlbGVjdGVkRmllbGRUYWJsZUlkXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogc2VsZWN0ZWRGaWVsZFwiIGNsYXNzPVwic21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3RlZDogPHNwYW4gY2xhc3M9XCJoaWdobGlnaHRcIiBkYXRhLWJpbmQ9XCJ0ZXh0OiAkZGF0YVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgZGF0YS1iaW5kPVwiaWY6IHJlcXVpcmVzVmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlucHV0VmFsdWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Qcm92aWRlIHRoZSByZWxldmFudCB2YWx1ZSB0byB1c2U6PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJpbnB1dFZhbHVlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogaW5wdXRWYWx1ZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogc2VsZWN0ZWRTcWxGdW5jdGlvbigpID09ICdPdGhlcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImN1c3RvbS1zcWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5DdXN0b20gU1FMIEV4cHJlc3Npb246PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsZCB5b3VyIGN1c3RvbSBTUUwgRXhwcmVzc2lvbiBiZWxvdyBieSBzZWxlY3RpbmcgZGF0YSBmaWVsZHMsIGFkZGluZyBjYWxjdWxhdGlvbnMgb3IgdXNpbmcgU1FMIGtleXdvcmRzIGFzIG5lZWRlZC4gRm9yIHN0cmluZyB2YWx1ZXMsIHJlbWVtYmVyIHRvIGVuY2xvc2UgdGhlbSBpbiBzaW5nbGUgcXVvdGVzICgnJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD1cImN1c3RvbS1zcWxcIiBjbGFzcz1cImhpbnQtaW5wdXRcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJXcml0ZSB5b3VyIGN1c3RvbSBTUUxcIj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBpc0NvbmRpdGlvbmFsRnVuY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsZCB5b3VyIGNvbmRpdGlvbmFsIGxvZ2ljIGJlbG93IGJ5IHNlbGVjdGluZyBkYXRhIGZpZWxkcywgYWRkaW5nIGNhbGN1bGF0aW9ucyBhbmQgZGVmaW5pbmcgY29uZGl0aW9ucyBhcyBuZWVkZWQsIGFuZCBwcm92aWRlIGNvcnJlc3BvbmRpbmcgcmVzdWx0cy4gRm9yIHN0cmluZyB2YWx1ZXMsIHJlbWVtYmVyIHRvIGVuY2xvc2UgdGhlbSBpbiBzaW5nbGUgcXVvdGVzICgnJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoaW50LWlucHV0XCIgaWQ9XCJjb25kaXRpb24tZmllbGRcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJGaWVsZCB0byBjb21wYXJlXCIgdGl0bGU9XCJGaWVsZCB0byBjb21wYXJlXCI+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTJcIiBzdHlsZT1cIndpZHRoOiAxMjBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIiBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVPcGVyYXRvcnMsIHZhbHVlOiBzZWxlY3RlZE9wZXJhdG9yXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhpbnQtaW5wdXRcIiBpZD1cImNvbmRpdGlvbi12YWx1ZVwiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIlZhbHVlIHRvIGNvbXBhcmVcIiB0aXRsZT1cIlZhbHVlIHRvIGNvbXBhcmVcIj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDMycHg7XCI+VEhFTjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhpbnQtaW5wdXRcIiBpZD1cImNvbmRpdGlvbi1yZXN1bHRcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJDb25kaXRpb24gUmVzdWx0XCIgdGl0bGU9XCJDb25kaXRpb24gUmVzdWx0XCI+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGFkZENvbmRpdGlvblwiPkFkZCBDb25kaXRpb248L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cCBtdC0zXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogY29uZGl0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBjb25kaXRpb25EaXNwbGF5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1kYW5nZXJcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5yZW1vdmVDb25kaXRpb25cIj5SZW1vdmU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgbWItM1wiIHN0eWxlPVwicGFkZGluZy10b3A6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIHN0eWxlPVwibWF4LWhlaWdodDogMzJweDtcIj5FTFNFPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoaW50LWlucHV0XCIgaWQ9XCJjb25kaXRpb24tZWxzZVwiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIkRlZmF1bHQgUmVzdWx0XCIgdGl0bGU9XCJEZWZhdWx0IFJlc3VsdFwiPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgPGhyIC8+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgdGl0bGU9XCJTYXZlIEN1c3RvbSBGb3JtdWxhIEZpZWxkXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHNhdmVGb3JtdWxhRmllbGQsIHZpc2libGU6IGlzRm9ybXVsYUZpZWxkXCI+U2F2ZTwvYT5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tc21cIiB0aXRsZT1cIkN1c3RvbSBGaWVsZCB1c2luZyBGb3JtdWxhXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGNhbmNlbEZvcm11bGFGaWVsZCwgdGV4dDogaXNGb3JtdWxhRmllbGQoKT8gJ0NhbmNlbCc6ICdDdXN0b21pemUnLCBjc3M6IHsnYnRuLXByaW1hcnknOiAhaXNGb3JtdWxhRmllbGQoKSwgJ2J0bi1kYW5nZXInOiBpc0Zvcm11bGFGaWVsZH1cIj48L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInJlcG9ydC1kZXNpZ25lci1jb21wYWN0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVzaWduZXItY29udGFpbmVyIGNvbXBhY3QtZGVzaWduZXJcIiBpZD1cImNob29zZS1kYXRhLWRlc2lnblwiIHN0eWxlPVwiZm9udC1zaXplOjEycHg7XCI+XHJcblxyXG4gICAgICA8IS0tIFZpc3VhbGl6YXRpb24gVG9vbGJhciAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0xIG1iLTJcIj5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICA8c3Bhbj48aSBjbGFzcz1cImZhIGZhLWZpbGVcIj48L2k+IFZpc3VhbGl6YXRpb248L3NwYW4+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpZ2h0XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0SUQoKSwgY2xpY2s6IGZ1bmN0aW9uKCkge2FjdGl2ZURlc2lnbihmYWxzZSk7fVwiIHRpdGxlPVwiQ2xvc2VcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT4gQ2xvc2UgRGVzaWduZXJcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xXCI+XHJcbiAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItY2hvb3NlLXZpc3VhbCdcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIE1haW4gR3JpZCAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAgZ2FwLTIgY29tcGFjdC1maWx0ZXJzIG5lZWRzLXZhbGlkYXRpb25cIj5cclxuXHJcbiAgICAgICAgPCEtLSBEYXRhIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGZsZXgtZmlsbCBleHBhbmRhYmxlLXBhbmVsXCIgaWQ9XCJkYXRhUGFuZWxcIiBzdHlsZT1cIm1heC13aWR0aDogMzAwcHhcIlxyXG4gICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOnsnY29sbGFwc2VkLXZlcnRpY2FsJzogcGFuZWxzLmlzQ29sbGFwc2VkKCdkYXRhUGFuZWwnKX1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBwLTFcIiBkYXRhLWJpbmQ9XCJjbGljazpmdW5jdGlvbigpe3BhbmVscy50b2dnbGVQYW5lbCgnZGF0YVBhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZGF0YWJhc2VcIj48L2k+IERhdGFcclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLWNob29zZS1kYXRhJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gU2VsZWN0ZWQgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cInNlbGVjdGVkUGFuZWxcIiBzdHlsZT1cIm1heC13aWR0aDogNDAwcHhcIlxyXG4gICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ3NlbGVjdGVkUGFuZWwnKX1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBwLTFcIiBkYXRhLWJpbmQ9XCJjbGljazpmdW5jdGlvbigpe3BhbmVscy50b2dnbGVQYW5lbCgnc2VsZWN0ZWRQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRhYmxlXCI+PC9pPiBTZWxlY3RlZCBkYXRhIGZvciB0aGUgUmVwb3J0XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzbWFsbCB0ZXh0LW11dGVkIGZsb2F0LWVuZFwiXHJcbiAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZpc2libGU6IFNlbGVjdGVkRmllbGRzKCkubGVuZ3RoLCBjbGljazpmdW5jdGlvbigpe1NlbGVjdGVkRmllbGRzKFtdKTt9XCI+Q2xlYXIgYWxsPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkZXNpZ25lci1hdXRvLXVwZGF0ZSBwLTFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXgtaGVpZ2h0OiAzMDBweDsgb3ZlcmZsb3cteTogYXV0bztcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItc2VsZWN0ZWQtZGF0YSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cInN1YlJlcG9ydHNQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ3N1YlJlcG9ydHNQYW5lbCcpfSwgdmlzaWJsZTogbGlua2VkUmVwb3J0RmllbGRzKCkubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgcC0xXCIgZGF0YS1iaW5kPVwiY2xpY2s6ZnVuY3Rpb24oKXtwYW5lbHMudG9nZ2xlUGFuZWwoJ3N1YlJlcG9ydHNQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCI+PC9pPiBTdWIgUmVwb3J0c1xyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTFcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLXN1Yi1yZXBvcnQnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cImh0bWxSZXBvcnRQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ2h0bWxSZXBvcnRQYW5lbCcpfSwgdmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nSHRtbCdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdodG1sUmVwb3J0UGFuZWwnKX1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wZW5jaWxcIj48L2k+IEN1c3RvbSBEZXNpZ25cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1odG1sJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gQ3VzdG9tIEZpZWxkIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGZsZXgtZmlsbCBleHBhbmRhYmxlLXBhbmVsXCIgaWQ9XCJjdXN0b21GaWVsZFBhbmVsXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogaXNGb3JtdWxhRmllbGRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLW1hZ2ljXCI+PC9pPiBDdXN0b20gRmllbGRcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xIGN1c3RvbS1maWVsZC1kZXNpZ25cIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDQwMHB4OyBvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW47XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnY3VzdG9tLWZpZWxkLWRlc2lnbmVyJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBGaWVsZCBPcHRpb25zIFBhbmVsIC0tPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJmaWVsZE9wdGlvbnNQYW5lbFwiIGNsYXNzPVwiY2FyZCBwLTIgbXQtMiBjb2xsYXBzZVwiPlxyXG4gICAgICAgIDwhLS0gZHluYW1pYyBmaWVsZCBzZXR0aW5ncyBsb2FkIGhlcmUgLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBGaWx0ZXJzIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGZsZXgtZmlsbCBleHBhbmRhYmxlLXBhbmVsXCIgaWQ9XCJmaWx0ZXJzUGFuZWxcIlxyXG4gICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOnsnY29sbGFwc2VkLXZlcnRpY2FsJzogcGFuZWxzLmlzQ29sbGFwc2VkKCdmaWx0ZXJzUGFuZWwnKX0sIGhpZGRlbjogaXNGb3JtdWxhRmllbGRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBwLTFcIiBkYXRhLWJpbmQ9XCJjbGljazpmdW5jdGlvbigpe3BhbmVscy50b2dnbGVQYW5lbCgnZmlsdGVyc1BhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZmlsdGVyXCI+PC9pPiBGaWx0ZXJzXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xIGRlc2lnbmVyLWF1dG8tdXBkYXRlXCIgc3R5bGU9XCJtYXgtaGVpZ2h0OjMwMHB4OyBvdmVyZmxvdy15OmF1dG87XCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6dXNlU3RvcmVkUHJvY1wiPjxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6e25hbWU6J2ZpbHRlci1wYXJhbWV0ZXJzJ31cIj48L2Rpdj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZm5vdDp1c2VTdG9yZWRQcm9jXCI+PGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTp7bmFtZTonZmlsdGVyLWdyb3VwJ31cIj48L2Rpdj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFNvcnQgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgZmxleC1maWxsIGV4cGFuZGFibGUtcGFuZWxcIiBpZD1cInNvcnRQYW5lbFwiXHJcbiAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ3NvcnRQYW5lbCcpfSwgaGlkZGVuOiB1c2VTdG9yZWRQcm9jKCkgfHwgaXNGb3JtdWxhRmllbGQoKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdzb3J0UGFuZWwnKX1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zb3J0XCI+PC9pPiBTb3J0XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0xIGRlc2lnbmVyLWF1dG8tdXBkYXRlIHJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItc29ydCdcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFNldHRpbmdzIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGZsZXgtZmlsbCBleHBhbmRhYmxlLXBhbmVsXCIgaWQ9XCJzZXR0aW5nc1BhbmVsXCJcclxuICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnc2V0dGluZ3NQYW5lbCcpfSwgaGlkZGVuOiBpc0Zvcm11bGFGaWVsZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdzZXR0aW5nc1BhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZ2VhclwiPjwvaT5PcHRpb25zXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtZm9ybS1sYWJlbCBoNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZmlsZVwiPjwvaT4gUmVwb3J0IE5hbWVcclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9XCJSZXBvcnQgTmFtZVwiIGRhdGEtYmluZD1cInZhbHVlOiBSZXBvcnROYW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29udHJvbC1sYWJlbCBoNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+IFJlcG9ydCBEZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiByb3dzPVwiM1wiIHBsYWNlaG9sZGVyPVwiQWRkaXRpb25hbCBkZXRhaWxzIChvcHRpb25hbClcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogUmVwb3J0RGVzY3JpcHRpb25cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBDYW5TYXZlUmVwb3J0cygpXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IFNhdmVSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICBTYXZlIFJlcG9ydFxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IFNhdmVSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbnRyb2wtbGFiZWwgaDZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZvbGRlci1vcGVuXCI+PC9pPiBDaG9vc2UgRm9sZGVyXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGRhdGEtYmluZD1cIm9wdGlvbnM6IEZvbGRlcnMsIG9wdGlvbnNUZXh0OiAnRm9sZGVyTmFtZScsIG9wdGlvbnNWYWx1ZTogJ0lkJywgdmFsdWU6IEZvbGRlcklEXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxociAvPlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItb3B0aW9ucydcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFNjaGVkdWxlIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGZsZXgtZmlsbCBleHBhbmRhYmxlLXBhbmVsXCIgaWQ9XCJzY2hlZHVsZVBhbmVsXCJcclxuICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczp7J2NvbGxhcHNlZC12ZXJ0aWNhbCc6IHBhbmVscy5pc0NvbGxhcHNlZCgnc2NoZWR1bGVQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdzY2hlZHVsZVBhbmVsJyl9XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaG91cmdsYXNzXCI+PC9pPiBTY2hlZHVsZVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMSBkZXNpZ25lci1hdXRvLXVwZGF0ZSByb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdyZXBvcnQtc2NoZWR1bGUnfVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gQWNjZXNzIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGZsZXgtZmlsbCBleHBhbmRhYmxlLXBhbmVsXCIgaWQ9XCJhY2Nlc3NQYW5lbFwiXHJcbiAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjc3M6eydjb2xsYXBzZWQtdmVydGljYWwnOiBwYW5lbHMuaXNDb2xsYXBzZWQoJ2FjY2Vzc1BhbmVsJyl9LCB2aXNpYmxlOiBhZG1pbk1vZGUoKSAmJiAhaXNGb3JtdWxhRmllbGQoKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMVwiIGRhdGEtYmluZD1cImNsaWNrOmZ1bmN0aW9uKCl7cGFuZWxzLnRvZ2dsZVBhbmVsKCdhY2Nlc3NQYW5lbCcpfVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWtleVwiPjwvaT5TZWN1cml0eVxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnbWFuYWdlLWFjY2Vzcy10ZW1wbGF0ZScsIGRhdGE6IG1hbmFnZUFjY2Vzc31cIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHIgLz5cclxuPC9zY3JpcHQ+XHJcblxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0L2h0bWxcIiBpZD1cInJlcG9ydC1kZXNpZ25lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDB2aDtcIiBpZD1cInJlcG9ydC1kZXNpZ25lci1tb2RhbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJteU1vZGFsTGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT1cIk5lZWQgaGVscCBzZXR0aW5nIHVwIGEgcmVwb3J0P1wiIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2RvdG5ldHJlcG9ydC5jb20vYmxvZ3MvZG9jcy9kZXNpZ25pbmctcmVwb3J0c1wiPjxzcGFuIGNsYXNzPVwiZmEgZmEtcXVlc3Rpb24tY2lyY2xlXCI+PC9zcGFuPjwvYT4gRGVzaWduIHlvdXIgUmVwb3J0XHJcbiAgICAgICAgICAgICAgICA8L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGRhdGEtYmluZD1cImNsaWNrOiBvbk1vZGFsQ2xvc2VDbGlja2VkXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBuZWVkcy12YWxpZGF0aW9uXCIgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBmbGV4LWdyb3c6IDE7XCI+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCIgaWQ9XCJjaG9vc2UtZGF0YS1jYXJkXCIgIHN0eWxlPVwibWluLWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNCBjb2wtZm9ybS1sYWJlbCBoNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGVcIj48L2k+IFJlcG9ydCBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cIlJlcG9ydCBOYW1lXCIgZGF0YS1iaW5kPVwidmFsdWU6IFJlcG9ydE5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+PHNwYW4gY2xhc3M9XCJmYSBmYS1kYXRhYmFzZVwiPjwvc3Bhbj4mbmJzcDtDaG9vc2UgRGF0YSBmb3IgUmVwb3J0PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdkZXNpZ25lci1jaG9vc2UtZGF0YSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29udHJvbC1sYWJlbCBoNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlXCI+PC9pPiBSZXBvcnQgRGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0tY29udHJvbFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgcm93cz1cIjNcIiBwbGFjZWhvbGRlcj1cIkFkZGl0aW9uYWwgZGV0YWlscyAob3B0aW9uYWwpXCIgZGF0YS1iaW5kPVwidmFsdWU6IFJlcG9ydERlc2NyaXB0aW9uXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogQ2FuU2F2ZVJlcG9ydHMoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IFNhdmVSZXBvcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2F2ZSBSZXBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBTYXZlUmVwb3J0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29udHJvbC1sYWJlbCBoNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZvbGRlci1vcGVuXCI+PC9pPiBDaG9vc2UgRm9sZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGRhdGEtYmluZD1cIm9wdGlvbnM6IEZvbGRlcnMsIG9wdGlvbnNUZXh0OiAnRm9sZGVyTmFtZScsIG9wdGlvbnNWYWx1ZTogJ0lkJywgdmFsdWU6IEZvbGRlcklEXCI+PC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PjxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsZVwiPjwvc3Bhbj4mbmJzcDtDaG9vc2UgVmlzdWFsaXphdGlvbjwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwib3ZlcmZsb3cteDogYXV0bzsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItY2hvb3NlLXZpc3VhbCdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6IGlzRnVuY3Rpb25GaWVsZFwiIGNsYXNzPVwiY3VzdG9tLWZpZWxkLWRlc2lnblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIHB1bGwtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiB0aXRsZT1cIlNhdmUgQ3VzdG9tIEZ1bmN0aW9uIEZpZWxkXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHNhdmVGdW5jdGlvbkZpZWxkLCB2aXNpYmxlOiBpc0Z1bmN0aW9uRmllbGRcIj5TYXZlPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zbVwiIHRpdGxlPVwiQ3VzdG9tIEZpZWxkIHVzaW5nIEZ1bmN0aW9uXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7aXNGdW5jdGlvbkZpZWxkKCFpc0Z1bmN0aW9uRmllbGQoKSl9LCB0ZXh0OiBpc0Z1bmN0aW9uRmllbGQoKT8gJ0NhbmNlbCc6ICdGdW5jdGlvbicsIGNzczogeydidG4tcHJpbWFyeSc6ICFpc0Z1bmN0aW9uRmllbGQoKSwgJ2J0bi1kYW5nZXInOiBpc0Z1bmN0aW9uRmllbGR9XCI+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgcGFkZGVkLWRpdlwiIGRhdGEtYmluZD1cInZpc2libGU6IGlzRnVuY3Rpb25GaWVsZCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgYXJlIG5vdyBjcmVhdGluZyBhIEN1c3RvbWl6ZWQgRmllbGQgdXNpbmcgRnVuY3Rpb25zIGF2YWlsYWJsZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMiBjb250cm9sLWxhYmVsXCI+RmllbGQgTGFiZWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvcm11bGFGaWVsZExhYmVsXCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9XCJDdXN0b20gRmllbGQgTGFiZWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tMiBjb250cm9sLWxhYmVsXCI+RGF0YSBGb3JtYXQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbC1zbVwiIGRhdGEtYmluZD1cInZhbHVlOiBmb3JtdWxhRGF0YUZvcm1hdFwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5TdHJpbmc8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+SW50ZWdlcjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj5EZWNpbWFsPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkN1cnJlbmN5PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uPkRhdGU8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJEYXRlVGltZVwiPkRhdGUgYW5kIFRpbWU8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiIGRhdGEtYmluZD1cInZpc2libGU6IGZvcm11bGFEYXRhRm9ybWF0KCkgPT0gJ0RlY2ltYWwnIHx8IGZvcm11bGFEYXRhRm9ybWF0KCkgPT0gJ0N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS0yIGNvbnRyb2wtbGFiZWxcIj5Sb3VuZCB0byBEZWNpbWFsIFBsYWNlczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGF0YS1iaW5kPVwidmFsdWU6IGZvcm11bGFEZWNpbWFsUGxhY2VzXCIgcGxhY2Vob2xkZXI9XCJDaG9vc2UgRGVjaW1hbCBwbGFjZXMgKGxlYXZlIGJsYW5rIHRvIG5vdCB1c2Ugcm91bmRpbmcpXCIgdGl0bGU9XCJDaG9vc2UgRGVjaW1hbCBwbGFjZXMgKGxlYXZlIGJsYW5rIHRvIG5vdCB1c2Ugcm91bmRpbmcpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmaW5lIHlvdXIgRnVuY3Rpb246XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPVwiZnVuY3Rpb24tY29kZVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBsYXN0UGlja2VkRmllbGQoKSAmJiBsYXN0UGlja2VkRmllbGQoKS5maWVsZFR5cGUgPT0gJ0pzb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDY+U2VsZWN0IERhdGEgRmllbGRzIGZyb20gPHNwYW4gZGF0YS1iaW5kPVwidGV4dDogbGFzdFBpY2tlZEZpZWxkKCkuZmllbGROYW1lXCI+PC9zcGFuPjwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbnRhaW5lci1mbHVpZFwiIGRhdGEtYmluZD1cImZvcmVhY2g6IGpzb25GaWVsZHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgY29sLXNtLTQgY29sLXhzLTYgbGlzdC1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkSW5BcnJheToge2FycmF5OiAkcGFyZW50LlNlbGVjdGVkRmllbGRzLCB2YWx1ZTogJGRhdGF9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IGpzb25Db2x1bW5OYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiY3VzdG9tRmllbGRTZWN0aW9uXCIgZGF0YS1iaW5kPVwiaWY6IGlzRm9ybXVsYUZpZWxkXCIgY2xhc3M9XCJjdXN0b20tZmllbGQtZGVzaWduXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5CdWlsZCBDdXN0b20gRmllbGQ8L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCIgZGF0YS1iaW5kPVwidGVtcGxhdGU6ICdjdXN0b20tZmllbGQtZGVzaWduZXInXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNvbC04IHB1bGwtbGVmdFwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtdGFibGVcIj48L3NwYW4+Jm5ic3A7U2VsZWN0ZWQgZGF0YSBmb3IgdGhlIFJlcG9ydDwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IHB1bGwtcmlnaHQgcmlnaHQtYWxpZ25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInNtYWxsIHRleHQtbXV0ZWRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBTZWxlY3RlZEZpZWxkcygpLmxlbmd0aCwgY2xpY2s6IGZ1bmN0aW9uKCkge1NlbGVjdGVkRmllbGRzKFtdKTt9XCI+Q2xlYXIgYWxsPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLXNlbGVjdGVkLWRhdGEnXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBsaW5rZWRSZXBvcnRGaWVsZHMoKS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYmctbGlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIj48L2k+IEluY2x1ZGUgU3ViIFJlcG9ydHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLXN1Yi1yZXBvcnQnXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nSHRtbCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBiZy1saWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1iLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wZW5jaWxcIj48L2k+IERlc2lnbiB5b3VyIFJlcG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnZGVzaWduZXItaHRtbCdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PjxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsdGVyXCI+PC9zcGFuPiZuYnNwO0Nob29zZSBGaWx0ZXJzPC9oNT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJwYWRkaW5nOiAxMHB4IDEwcHg7IG92ZXJmbG93LXg6IGF1dG87XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogdXNlU3RvcmVkUHJvY1wiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnZmlsdGVyLXBhcmFtZXRlcnMnfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWZub3Q6IHVzZVN0b3JlZFByb2NcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ2ZpbHRlci1ncm91cCd9XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IEVkaXRGaWx0ZXJzT25SZXBvcnRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb3cgc2V0dGluZyB1cCBhbmQgc2F2aW5nIGZpbHRlcnMgb24gUmVwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImhpZGRlbjogdXNlU3RvcmVkUHJvY1wiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT48c3BhbiBjbGFzcz1cImZhIGZhLXNvcnRcIj48L3NwYW4+Jm5ic3A7Q2hvb3NlIFNvcnRpbmc8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLXNvcnQnXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBTYXZlUmVwb3J0XCIgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PjxzcGFuIGNsYXNzPVwiZmEgZmEtaG91cmdsYXNzXCI+PC9zcGFuPiZuYnNwO0Nob29zZSBTY2hlZHVsZTwvaDU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBhZGRpbmc6IDEwcHggMTBweFwiIGRhdGEtYmluZD1cImlmOiBTYXZlUmVwb3J0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdyZXBvcnQtc2NoZWR1bGUnfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZm5vdDogdXNlU3RvcmVkUHJvY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ2Rlc2lnbmVyLW9wdGlvbnMnXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IGFkbWluTW9kZVwiIGNsYXNzPVwiY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAnbWFuYWdlLWFjY2Vzcy10ZW1wbGF0ZScsIGRhdGE6IG1hbmFnZUFjY2Vzc31cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgZGF0YS1iaW5kPVwidmlzaWJsZTogYWRtaW5Nb2RlLCBjbGljazogUnVuUmVwb3J0U3FsUHJldmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29kZVwiPjwvaT4gUHJldmlldyBSZXBvcnQgQ29kZVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXJcIiBkYXRhLWJpbmQ9XCJjbGljazogY2FuY2VsQ3JlYXRlUmVwb3J0XCI+Q2FuY2VsIGVkaXRpbmcgUmVwb3J0PC9hPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBTYXZlUmVwb3J0KCkgJiYgQ2FuU2F2ZVJlcG9ydHMoKSwgY2xpY2s6IFNhdmVXaXRob3V0UnVuXCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiAxMHB4O1wiPlNhdmUgUmVwb3J0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYmluZD1cInRleHQ6IFNhdmVSZXBvcnQoKSAmJiBDYW5TYXZlUmVwb3J0cygpPyAnU2F2ZSAmIFJ1biBSZXBvcnQnOiAnUnVuIFJlcG9ydCcsIGNsaWNrOiBSdW5SZXBvcnRcIj5SdW4gUmVwb3J0PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwiY2hhcnQtc2V0dGluZ3NcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXIgcHVsbC1yaWdodFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG10LTIgY2hhcnQtc2V0dGluZ3MtYnRuXCJcclxuICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiB0b2dnbGVDaGFydFNldHRpbmdzXCIgdGl0bGU9XCJSZXBvcnQgc2V0dGluZ3NcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2dcIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC1zZXR0aW5ncy1wYW5lbCBib3JkZXIgcC0yIHNoYWRvdy1zbSBiZy1saWdodFwiIGRhdGEtYmluZD1cInZpc2libGU6IHNob3dTZXR0aW5nc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tY2xvc2VcIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlQ2hhcnRTZXR0aW5nc1wiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibWItMFwiPlJlcG9ydCBTZXR0aW5nczwvaDY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzIG5hdi1zbSBtYi0yIHNtYWxsXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpID09PSAnQmFyJyB8fCBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJhdHRyOiB7IGhyZWY6ICcjY2hhcnRUYWItJyArIFJlcG9ydElEKCkgfSwgY3NzOiB7IGFjdGl2ZTogUmVwb3J0VHlwZSgpID09PSAnQmFyJyB8fCBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcnRcclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cInRhYlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiYXR0cjogeyBocmVmOiAnI3RhYmxlVGFiLScgKyBSZXBvcnRJRCgpIH0sIGNzczogeyBhY3RpdmU6ICEoUmVwb3J0VHlwZSgpID09PSAnQmFyJyB8fCBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50IHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLXBhbmUgZmFkZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6ICdjaGFydFRhYi0nICsgUmVwb3J0SUQoKSB9LCBjc3M6IHsgJ3Nob3cgYWN0aXZlJzogUmVwb3J0VHlwZSgpID09PSAnQmFyJyB8fCBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpID09PSAnQmFyJyB8fCBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiB0aXRsZT1cIkJhciBDaGFydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNzczogeyAnYWN0aXZlJzogUmVwb3J0VHlwZSgpID09PSAnQmFyJyB9LCBjbGljazogZnVuY3Rpb24oKSB7IFJlcG9ydFR5cGUoJ0JhcicpOyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1iYXItY2hhcnRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIHRpdGxlPVwiUGllIENoYXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOiB7ICdhY3RpdmUnOiBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIH0sIGNsaWNrOiBmdW5jdGlvbigpIHsgUmVwb3J0VHlwZSgnUGllJyk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXBpZS1jaGFydFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgZGF0YS1icy10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJMaW5lIENoYXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY3NzOiB7ICdhY3RpdmUnOiBSZXBvcnRUeXBlKCkgPT09ICdMaW5lJyB9LCBjbGljazogZnVuY3Rpb24oKSB7IFJlcG9ydFR5cGUoJ0xpbmUnKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGluZS1jaGFydFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0JhcidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGJhckNoYXJ0SG9yaXpvbnRhbFwiIC8+IEhvcml6b250YWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3ggY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGJhckNoYXJ0U3RhY2tlZFwiIC8+IFN0YWNrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpPT0nUGllJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveCBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogcGllQ2hhcnREb251dFwiIC8+IERvbnV0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKT09J0xpbmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94IGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBsaW5lQ2hhcnRBcmVhXCIgLz4gQXJlYTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPkJhY2tncm91bmQgQ29sb3I8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiIGRhdGEtYmluZD1cInZhbHVlOiBjaGFydE9wdGlvbnMoKS5iYWNrZ3JvdW5kQ29sb3IsIGF0dHI6IHsgcGxhY2Vob2xkZXI6ICdTZWxlY3QnIH0sIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+Rm9udCBDb2xvcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLmZvbnRDb2xvciwgYXR0cjogeyBwbGFjZWhvbGRlcjogJ1NlbGVjdCcgfSwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5TZXJpZXMgQ29sb3JzPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXBcIiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiBjaGFydE9wdGlvbnMoKS5zZXJpZXNDb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1ib3ggbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZhbHVlOiAkZGF0YSwgZXZlbnQ6IHsgaW5wdXQ6IGZ1bmN0aW9uKGRhdGEsIGV2ZW50KSB7ICRwYXJlbnQudXBkYXRlU2VyaWVzQ29sb3IoJGluZGV4KCksIGV2ZW50LnRhcmdldC52YWx1ZSk7IH0gfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1kYW5nZXIgcmVtb3ZlLWNvbG9yXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQucmVtb3ZlU2VyaWVzQ29sb3JcIj4mdGltZXM7PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb2xvci1ib3ggYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6IGFkZFNlcmllc0NvbG9yXCIgdGl0bGU9XCJBZGQgU2VyaWVzIENvbG9yXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAtN3B4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5MZWdlbmQgUG9zaXRpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCIgZGF0YS1iaW5kPVwidmFsdWU6IGNoYXJ0T3B0aW9ucygpLmxlZ2VuZFBvc2l0aW9uLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmlnaHRcIj5SaWdodDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ0b3BcIj5Ub3A8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiYm90dG9tXCI+Qm90dG9tPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm5vbmVcIj5Ob25lPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+Rm9udCBTaXplPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtIGZvbnQtc2l6ZS1pbnB1dFwiIGRhdGEtYmluZD1cInZhbHVlOiBjaGFydE9wdGlvbnMoKS5mb250U2l6ZSwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpIT0nUGllJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBzbWFsbCBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogY2hhcnRPcHRpb25zKCkuc2hvd1hBeGlzTGFiZWwsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlgtQXhpcyBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBzbWFsbCBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogY2hhcnRPcHRpb25zKCkuc2hvd1lBeGlzTGFiZWwsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlktQXhpcyBMYWJlbDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBzbWFsbCBtYi0xXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogUmVwb3J0VHlwZSgpICE9PSAnUGllJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IGNoYXJ0T3B0aW9ucygpLnNob3dHcmlkbGluZXMsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlQ2hhcnQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPkdyaWRsaW5lczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaCBzbWFsbCBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgZGF0YS1iaW5kPVwiY2hlY2tlZDogY2hhcnRPcHRpb25zKCkuc2hvd1NtYWxsVmFsdWVzT25MYWJlbCwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+U2hvdyBTbWFsbCBWYWx1ZXMgT24gTGFiZWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgc21hbGwgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlktQXhpcyBGb3JtYXQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgcGxhY2Vob2xkZXI9XCIjLCMjMC4wMFwiIGRhdGEtYmluZD1cInZhbHVlOiBjaGFydE9wdGlvbnMoKS55QXhpc0Zvcm1hdCwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVDaGFydCB9XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHNtYWxsIG1iLTEgZC1mbGV4IGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5ZLUF4aXMgTWluPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIGRhdGEtYmluZD1cInZhbHVlOiBjaGFydE9wdGlvbnMoKS55TWluLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy01MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5ZLUF4aXMgTWF4PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIGRhdGEtYmluZD1cInZhbHVlOiBjaGFydE9wdGlvbnMoKS55TWF4LCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZUNoYXJ0IH1cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1wYW5lIGZhZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJhdHRyOiB7IGlkOiAndGFibGVUYWItJyArIFJlcG9ydElEKCkgfSwgY3NzOiB7ICdzaG93IGFjdGl2ZSc6ICEoUmVwb3J0VHlwZSgpID09PSAnQmFyJyB8fCBSZXBvcnRUeXBlKCkgPT09ICdQaWUnIHx8IFJlcG9ydFR5cGUoKSA9PT0gJ0xpbmUnKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+SGVhZGVyIEJhY2sgQ29sb3I8L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJhdHRyOiB7IGlkOiAndGJsLWNvbG9yLXBpY2tlci0nICsgUmVwb3J0SUQoKX0gLCB2YWx1ZTogdGFibGVTZXR0aW5ncygpLmhlYWRlckJhY2tDb2xvciwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVUYWJsZSB9XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5IZWFkZXIgRm9udCBDb2xvcjwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCIgY2xhc3M9XCJjb2xvci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6ICd0YmwtY29sb3ItcGlja2VyLScgKyBSZXBvcnRJRCgpfSAsdmFsdWU6IHRhYmxlU2V0dGluZ3MoKS5oZWFkZXJGb250Q29sb3IsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlVGFibGUgfVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+Um93IEJhY2sgQ29sb3I8L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJhdHRyOiB7IGlkOiAndGJsLWNvbG9yLXBpY2tlci0nICsgUmVwb3J0SUQoKX0gLHZhbHVlOiB0YWJsZVNldHRpbmdzKCkucm93QmFja0NvbG9yLCBldmVudDogeyBjaGFuZ2U6IHVwZGF0ZVRhYmxlIH1cIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPlJvdyBGb250IENvbG9yPC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiYXR0cjogeyBpZDogJ3RibC1jb2xvci1waWNrZXItJyArIFJlcG9ydElEKCl9ICx2YWx1ZTogdGFibGVTZXR0aW5ncygpLnJvd0ZvbnRDb2xvciwgZXZlbnQ6IHsgY2hhbmdlOiB1cGRhdGVUYWJsZSB9XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+QWx0IFJvdyBCYWNrIENvbG9yPC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmFsdWU6IHRhYmxlU2V0dGluZ3MoKS5hbHRSb3dCYWNrQ29sb3IsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlVGFibGUgfVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIHNtYWxsXCI+QWx0IFJvdyBGb250IENvbG9yPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBjbGFzcz1cImNvbG9yLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwidmFsdWU6IHRhYmxlU2V0dGluZ3MoKS5hbHRSb3dGb250Q29sb3IsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlVGFibGUgfVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMlwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBzbWFsbFwiPkJvcmRlcnM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIGQtZmxleCBmbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gZmxleC1maWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCl7IHRhYmxlU2V0dGluZ3MoKS5ib3JkZXIoJ25vbmUnKTsgdXBkYXRlVGFibGUoKTsgfSwgY3NzOiB7IGFjdGl2ZTogdGFibGVTZXR0aW5ncygpLmJvcmRlciA9PT0gJ25vbmUnIH1cIj5Ob25lPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGZsZXgtZmlsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpeyB0YWJsZVNldHRpbmdzKCkuYm9yZGVyKCdhbGwnKTsgdXBkYXRlVGFibGUoKTsgfSwgY3NzOiB7IGFjdGl2ZTogdGFibGVTZXR0aW5ncygpLmJvcmRlciA9PT0gJ2FsbCcgfVwiPkFsbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBmbGV4LWZpbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgdGFibGVTZXR0aW5ncygpLmJvcmRlcignb3V0ZXInKTsgdXBkYXRlVGFibGUoKTsgfSwgY3NzOiB7IGFjdGl2ZTogdGFibGVTZXR0aW5ncygpLmJvcmRlciA9PT0gJ291dGVyJyB9XCI+T3V0c2lkZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGJ0bi1zbSBmbGV4LWZpbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKXsgdGFibGVTZXR0aW5ncygpLmJvcmRlcignaW5uZXInKTsgdXBkYXRlVGFibGUoKTsgfSwgY3NzOiB7IGFjdGl2ZTogdGFibGVTZXR0aW5ncygpLmJvcmRlciA9PT0gJ2lubmVyJyB9XCI+SW5zaWRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjb2wtNlwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgc21hbGxcIj5Cb3JkZXIgQ29sb3I8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiY29sb3ItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cInZhbHVlOiB0YWJsZVNldHRpbmdzKCkuYm9yZGVyQ29sb3IsIGV2ZW50OiB7IGNoYW5nZTogdXBkYXRlVGFibGUgfVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC02IGQtZmxleCBhbGlnbi1pdGVtcy1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBzbWFsbCBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBkYXRhLWJpbmQ9XCJjbGljazogY2xlYXJUYWJsZVNldHRpbmdzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xlYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwiZHJpbGxkb3duTW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1sZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgZGF0YS1iaW5kPVwid2l0aDogQ2hhcnREcmlsbERvd25EYXRhXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+RHJpbGxkb3duIERhdGE8L2g0PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgcHVsbC1yaWdodFwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIGtvIGlmOiBEcmlsbERvd25EYXRhIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm92ZXJmbG93LXg6IGF1dG87IG1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXIgdGFibGUtY29uZGVuc2VkXCIgZGF0YS1iaW5kPVwid2l0aDogRHJpbGxEb3duRGF0YSwgYXR0cjoge2NsYXNzOiAndGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciB0YWJsZS1jb25kZW5zZWQgJyArICRwYXJlbnQuc2VsZWN0ZWRTdHlsZSgpfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQgc3R5bGU9XCJwb3NpdGlvbjogc3RpY2t5OyB0b3A6IC0xcHg7IHotaW5kZXg6IDI7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJuby1oaWdobGlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IENvbHVtbnMgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtYmluZD1cImF0dHI6IHsgaWQ6IGZpZWxkSWQgfSwgY3NzOiB7J3JpZ2h0LWFsaWduJzogSXNOdW1lcmljfSwgc3R5bGU6IHsnd2lkdGgnOiBmaWVsZFdpZHRoLCAnYmFja2dyb3VuZC1jb2xvcic6IGhlYWRlckJhY2tDb2xvciB9LCBoaWRkZW46IG91dGVyR3JvdXBcIiBzdHlsZT1cImJvcmRlci1yaWdodDogMXB4IHNvbGlkO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmaWVsZExhYmVsMigpID8gZmllbGRMYWJlbDIoKSA6IChmaWVsZExhYmVsKCkgPyBmaWVsZExhYmVsKCkgOiBmaWVsZE5hbWUpLCBzdHlsZTogeydjb2xvcic6IGhlYWRlckZvbnRDb2xvciwgJ2ZvbnQtd2VpZ2h0JzogaGVhZGVyRm9udEJvbGQoKSA/ICdib2xkJyA6ICdub3JtYWwnfVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSb3dzICYmIFJvd3MubGVuZ3RoIDwgMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBkYXRhLWJpbmQ9XCJhdHRyOntjb2xzcGFuOiBDb2x1bW5zLmxlbmd0aH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gcmVjb3JkcyBmb3VuZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBmb3JlYWNoOiBSb3dzICAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGtvIGZvcmVhY2g6IEl0ZW1zIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBkYXRhLWJpbmQ9XCJoaWRkZW46IG91dGVyR3JvdXAsIHN0eWxlOiB7J2JhY2tncm91bmQtY29sb3InOiBiYWNrQ29sb3IsICdjb2xvcic6IGZvbnRDb2xvciwgJ2ZvbnQtd2VpZ2h0JzogZm9udEJvbGQoKSA/ICdib2xkJyA6ICdub3JtYWwnIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJzdHlsZTogeyd3aWR0aCc6IGZpZWxkV2lkdGggfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZjogTGlua1RvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBkYXRhLWJpbmQ9XCJhdHRyOiB7aHJlZjogTGlua1RvfVwiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGRhdGEtYmluZD1cImh0bWw6IGZvcm1hdHRlZFZhbFwiPjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rby0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBrbyBpZm5vdDogTGlua1RvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJodG1sOiBmb3JtYXR0ZWRWYWxcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9rby0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL2tvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtY2VudGVyZWRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBwYWdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWlubGluZSBzbWFsbCB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnQgdG90YWwtcmVjb3Jkc1wiIGRhdGEtYmluZD1cInZpc2libGU6IHBhZ2VzKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICdUb3RhbCBSZWNvcmRzOiAnICsgdG90YWxSZWNvcmRzKClcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi14c1wiIHRpdGxlPVwiRG93bmxvYWQgRXhjZWxcIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5leHBvcnRFeGNlbFwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsZS1leGNlbC1vXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIiBkYXRhLWJzLXRhcmdldD1cIiNzcWxEcmlsbERvd25Nb2RhbFwiIGRhdGEtYmluZD1cInZpc2libGU6ICRyb290LmFkbWluTW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY29kZVwiPjwvc3Bhbj4gVmlldyBDb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB1bGwtcmlnaHRcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBwYWdlcygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncGFnZXItdGVtcGxhdGUnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSAva28gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibW9kYWxcIiBpZD1cInNxbE1vZGFsXCIgdGFiaW5kZXg9XCItMVwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtbGdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+UmVwb3J0IENvZGU8L2g0PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oZGF0YSwgZXZlbnQpIHsgY29weVNxbFRvQ2xpcGJvYXJkKGV2ZW50LnRhcmdldCk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNsaXBib2FyZFwiPjwvaT4mbmJzcDtDb3B5XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlIHB1bGwtcmlnaHRcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBSZXBvcnRSZXN1bHRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJyZXBvcnRTcWxDb2RlXCIgc3R5bGU9XCJvdmVyZmxvdy14OiBhdXRvOyBtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogc2Nyb2xsOyBib3JkZXI6IDFweCBzb2xpZDsgcGFkZGluZzogMTBweDtcIiBjbGFzcz1cImJnLWRhcmsgdGV4dC1saWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwcmU+PGNvZGUgZGF0YS1iaW5kPVwiaHRtbDogUmVwb3J0U3FsXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XCI+PC9jb2RlPjwvcHJlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJzcWxEcmlsbERvd25Nb2RhbFwiIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWxnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBkYXRhLWJpbmQ9XCJ3aXRoOkNoYXJ0RHJpbGxEb3duRGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+RHJpbGwgRG93biBSZXBvcnQgQ29kZTwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbihkYXRhLCBldmVudCkgeyBjb3B5U3FsVG9DbGlwYm9hcmQoZXZlbnQudGFyZ2V0KTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2xpcGJvYXJkXCI+PC9pPiZuYnNwO0NvcHlcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgcHVsbC1yaWdodFwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIGRhdGEtYmluZD1cIndpdGg6RHJpbGxEb3duRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInJlcG9ydFNxbENvZGVcIiBzdHlsZT1cIm92ZXJmbG93LXg6IGF1dG87IG1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGw7IGJvcmRlcjogMXB4IHNvbGlkOyBwYWRkaW5nOiAxMHB4O1wiIGNsYXNzPVwiYmctZGFyayB0ZXh0LWxpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHByZT48Y29kZSBkYXRhLWJpbmQ9XCJodG1sOiBSZXBvcnRTcWxcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtd3JhcDtcIj48L2NvZGU+PC9wcmU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwibm9hY2NvdW50TW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+QWNjb3VudCBub3QgU2V0dXA8L2g0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+ZG90bmV0IFJlcG9ydCBBY2NvdW50IENvbmZpZ3VyYXRpb24gbWlzc2luZyE8L3A+XHJcbiAgICAgICAgICAgICAgICA8cD5Zb3UgZG8gbm90IGhhdmUgdGhlIG5lY2Nlc3NhcnkgaW5pdGlhbCBjb25maWd1cmF0aW9uIGNvbXBsZXRlZCB0byB1c2UgZG90bmV0IFJlcG9ydC48L3A+XHJcbiAgICAgICAgICAgICAgICA8cD5QbGVhc2UgdmlldyB0aGUgPGEgaHJlZj1cImh0dHBzOi8vZG90bmV0cmVwb3J0LmNvbS9ibG9ncy9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1kb3RuZXQtcmVwb3J0L1wiIHRhcmdldD1cIl9ibGFua1wiPkdldHRpbmcgU3RhcnRlZCBHdWlkZTwvYT4gdG8gY29ycmVjdGx5IGNvbmZpZ3VyZSBkb3RuZXQgUmVwb3J0LjwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5DbG9zZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJwZGYtb3B0aW9ucy1zY2hlZHVsZS10ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6IFBkZlBhZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cInBkZk9wdGlvbnNTY2hlZHVsZU1vZGFsTGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGUtcGRmLW8gbWUtMlwiPjwvaT4gU2V0IFBERiBQYWdlIFNpemVcclxuICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSByb3cgZy0wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhZ2VQcmV2aWV3Qm94XCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2VsZWN0ZWRXaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzZWxlY3RlZEhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzZWxlY3RlZEJhY2tncm91bmRTdHlsZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2FsbCAwLjNzIGVhc2UnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhZG93IHJvdW5kZWQgbXgtYXV0byBtYi0yIGJvcmRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgc3RhcnQtNTAgdHJhbnNsYXRlLW1pZGRsZSB0ZXh0LW11dGVkIHNtYWxsXCI+UHJldmlldzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRQYWdlTGFiZWxcIiBjbGFzcz1cImZ3LWJvbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VEaW1lbnNpb25cIiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhZ2VTaXplU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIFNpemU6PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlU2l6ZVNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogYXZhaWxhYmxlUGFnZVNpemVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1RleHQ6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVmFsdWU6ICd2YWx1ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRQYWdlU2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIE9yaWVudGF0aW9uOjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGlkPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlT3JpZW50YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VPcmllbnRhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBwLTIgc21hbGwgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIFBERiB3aWxsIGJlIGV4cG9ydGVkIHVzaW5nIHRoZSBzZWxlY3RlZCBwYWdlIHNpemUuIEVuc3VyZSB5b3VyIGNvbnRlbnQgZml0cyB3ZWxsLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJZiB0aGUgY29udGVudCB3aWR0aCBleGNlZWRzIHRoZSBzZWxlY3RlZCBzaXplLCBpdCB3aWxsIGRlZmF1bHQgdG8gTGV0dGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGRhdGEtYmluZD1cImNsaWNrOiBzYXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIFNhdmVcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJ3b3JkLW9wdGlvbnMtc2NoZWR1bGUtdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtZGlhbG9nLWNlbnRlcmVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBXb3JkUGFnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwicGRmT3B0aW9uc1NjaGVkdWxlTW9kYWxMYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGYtbyBtZS0yXCI+PC9pPiBTZXQgV09SRCBQYWdlIFNpemVcclxuICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSByb3cgZy0wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhZ2VQcmV2aWV3Qm94XCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2VsZWN0ZWRXaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzZWxlY3RlZEhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzZWxlY3RlZEJhY2tncm91bmRTdHlsZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2FsbCAwLjNzIGVhc2UnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhZG93IHJvdW5kZWQgbXgtYXV0byBtYi0yIGJvcmRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgc3RhcnQtNTAgdHJhbnNsYXRlLW1pZGRsZSB0ZXh0LW11dGVkIHNtYWxsXCI+UHJldmlldzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRQYWdlTGFiZWxcIiBjbGFzcz1cImZ3LWJvbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VEaW1lbnNpb25cIiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhZ2VTaXplU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIFNpemU6PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlU2l6ZVNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogYXZhaWxhYmxlUGFnZVNpemVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1RleHQ6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVmFsdWU6ICd2YWx1ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRQYWdlU2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIE9yaWVudGF0aW9uOjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGlkPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlT3JpZW50YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VPcmllbnRhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBwLTIgc21hbGwgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIFdPUkQgd2lsbCBiZSBleHBvcnRlZCB1c2luZyB0aGUgc2VsZWN0ZWQgcGFnZSBzaXplLiBFbnN1cmUgeW91ciBjb250ZW50IGZpdHMgd2VsbC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIGNvbnRlbnQgd2lkdGggZXhjZWVkcyB0aGUgc2VsZWN0ZWQgc2l6ZSwgaXQgd2lsbCBkZWZhdWx0IHRvIExldHRlci5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBkYXRhLWJpbmQ9XCJjbGljazogc2F2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICBTYXZlXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcbjxzY3JpcHQgdHlwZT1cInRleHQvaHRtbFwiIGlkPVwid29yZC1vcHRpb25zLXRlbXBsYXRlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6IFdvcmRQYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJ3b3JkT3B0aW9uc01vZGFsTGFiZWxcIj48aSBjbGFzcz1cImZhIGZhLWZpbGUtcGRmLW8gbWUtMlwiPjwvaT4gRXhwb3J0IHRvIFdPUkQ8L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgcm93IGctMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBMZWZ0IFNpZGU6IFBhZ2UgUHJldmlldyBTVkcgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhZ2VQcmV2aWV3Qm94XCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2VsZWN0ZWRXaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzZWxlY3RlZEhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzZWxlY3RlZEJhY2tncm91bmRTdHlsZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2FsbCAwLjNzIGVhc2UnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhZG93IHJvdW5kZWQgbXgtYXV0byBtYi0yIGJvcmRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgc3RhcnQtNTAgdHJhbnNsYXRlLW1pZGRsZSB0ZXh0LW11dGVkIHNtYWxsXCI+UHJldmlldzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRQYWdlTGFiZWxcIiBjbGFzcz1cImZ3LWJvbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VEaW1lbnNpb25cIiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gUmlnaHQgU2lkZTogRm9ybSBPcHRpb25zIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhZ2VTaXplU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIFNpemU6PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlU2l6ZVNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogYXZhaWxhYmxlUGFnZVNpemVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1RleHQ6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVmFsdWU6ICd2YWx1ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRQYWdlU2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIE9yaWVudGF0aW9uOjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGlkPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlT3JpZW50YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VPcmllbnRhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBwLTIgc21hbGwgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIFdvcmQgd2lsbCBiZSBleHBvcnRlZCB1c2luZyB0aGUgc2VsZWN0ZWQgcGFnZSBzaXplLiBFbnN1cmUgeW91ciBjb250ZW50IGZpdHMgd2VsbC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIGNvbnRlbnQgd2lkdGggZXhjZWVkcyB0aGUgc2VsZWN0ZWQgc2l6ZSwgaXQgd2lsbCBkZWZhdWx0IHRvIExldHRlci5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBkYXRhLWJpbmQ9XCJjbGljazogZG93bmxvYWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWRvd25sb2FkIG1lLTFcIj48L2k+IERvd25sb2FkIFdPUkRcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwidGV4dC9odG1sXCIgaWQ9XCJwZGYtb3B0aW9ucy10ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIGRhdGEtYmluZD1cIndpdGg6IFBkZlBhZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cInBkZk9wdGlvbnNNb2RhbExhYmVsXCI+PGkgY2xhc3M9XCJmYSBmYS1maWxlLXBkZi1vIG1lLTJcIj48L2k+IEV4cG9ydCB0byBQREY8L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgcm93IGctMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBMZWZ0IFNpZGU6IFBhZ2UgUHJldmlldyBTVkcgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhZ2VQcmV2aWV3Qm94XCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogc2VsZWN0ZWRXaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzZWxlY3RlZEhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzZWxlY3RlZEJhY2tncm91bmRTdHlsZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2FsbCAwLjNzIGVhc2UnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhZG93IHJvdW5kZWQgbXgtYXV0byBtYi0yIGJvcmRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTAgc3RhcnQtNTAgdHJhbnNsYXRlLW1pZGRsZSB0ZXh0LW11dGVkIHNtYWxsXCI+UHJldmlldzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGV4dDogc2VsZWN0ZWRQYWdlTGFiZWxcIiBjbGFzcz1cImZ3LWJvbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZXh0OiBzZWxlY3RlZFBhZ2VEaW1lbnNpb25cIiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gUmlnaHQgU2lkZTogRm9ybSBPcHRpb25zIC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBhZ2VTaXplU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIFNpemU6PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0XCIgaWQ9XCJwYWdlU2l6ZVNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1iaW5kPVwib3B0aW9uczogYXZhaWxhYmxlUGFnZVNpemVzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc1RleHQ6ICdsYWJlbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVmFsdWU6ICd2YWx1ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWRQYWdlU2l6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCIgY2xhc3M9XCJmb3JtLWxhYmVsIGZ3LWJvbGRcIj5QYWdlIE9yaWVudGF0aW9uOjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIGlkPVwicGFnZU9yaWVudGF0aW9uU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWJpbmQ9XCJvcHRpb25zOiBhdmFpbGFibGVQYWdlT3JpZW50YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zVGV4dDogJ2xhYmVsJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNWYWx1ZTogJ3ZhbHVlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFBhZ2VPcmllbnRhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mbyBwLTIgc21hbGwgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIFBERiB3aWxsIGJlIGV4cG9ydGVkIHVzaW5nIHRoZSBzZWxlY3RlZCBwYWdlIHNpemUuIEVuc3VyZSB5b3VyIGNvbnRlbnQgZml0cyB3ZWxsLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJZiB0aGUgY29udGVudCB3aWR0aCBleGNlZWRzIHRoZSBzZWxlY3RlZCBzaXplLCBpdCB3aWxsIGRlZmF1bHQgdG8gTGV0dGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGRhdGEtYmluZD1cImNsaWNrOiBkb3dubG9hZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZG93bmxvYWQgbWUtMVwiPjwvaT4gRG93bmxvYWQgUERGXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zY3JpcHQ+XHJcbmApO1xyXG4gICAgdGhpcy5jZHJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHByaXZhdGUgYmluZFdpbmRvd1Jlc2l6ZSh2bTogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgX3ZtID0gdm07XHJcbiAgICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBfdm0uZHJhd0NoYXJ0KClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBiaW5kR3JpZEluaXQodm06YW55KTogdm9pZCB7XHJcbiAgICBsZXQgX3ZtID0gdm07XHJcblxyXG4gICAgJChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgJCgnLmdyaWQtc3RhY2snKS5zaG93KCk7XHJcbiAgICAgICAgdmFyIGdyaWQgPSBHcmlkU3RhY2suaW5pdCh7XHJcbiAgICAgICAgICAgIGNlbGxIZWlnaHQ6IDYwLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbE1hcmdpbjogMTAsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZToge1xyXG4gICAgICAgICAgICAgICAgaGFuZGxlczogJ3NlLCBzdywgbmUsIG53LCBuLCBlLCBzLCB3JyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGdyaWQub24oJ2NoYW5nZScsIGZ1bmN0aW9uKGV2ZW50OiBhbnksIGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgICAgICAgaWYgKGl0ZW1zKSB7XHJcbiAgICAgICAgICAgIF8uZm9yRWFjaChpdGVtcywgZnVuY3Rpb24oeDogYW55KSB7XHJcbiAgICAgICAgICAgICAgX3ZtLnVwZGF0ZVBvc2l0aW9uKHgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBncmlkLm9uKCdyZXNpemVzdG9wJywgZnVuY3Rpb24oZXZlbnQ6IHsgdGFyZ2V0OiBhbnk7IH0sIGl0ZW06IHsgc2l6ZTogeyBoZWlnaHQ6IG51bWJlcjsgfTsgfSkge1xyXG4gICAgICAgICAgICB2YXIgZSA9ICQoZXZlbnQudGFyZ2V0KS5maW5kKCcucmVwb3J0LWNoYXJ0Jyk7XHJcbiAgICAgICAgICAgIHZhciBkID0gJChldmVudC50YXJnZXQpLmZpbmQoJ3RhYmxlJyk7XHJcbiAgICAgICAgICAgIGlmIChlICYmICFkKSB7XHJcbiAgICAgICAgICAgICAgIF92bS5kcmF3Q2hhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pOyAgXHJcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgX3ZtLmRyYXdDaGFydCgpO1xyXG4gICAgICAgIGdyaWQuZW5hYmxlTW92ZShmYWxzZSk7XHJcbiAgICAgICAgZ3JpZC5lbmFibGVSZXNpemUoZmFsc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgfSwgMTAwMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICBcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgfVxyXG4iLCI8ZGl2IGlkPVwiZG90LW5ldC1yZXBvcnRcIiBjbGFzcz1cImJvZHktY29udGVudFwiPlxyXG5cclxuPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZToge25hbWU6ICdhZG1pbi1tb2RlLXRlbXBsYXRlJ30sIHZpc2libGU6IGFsbG93QWRtaW5cIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgZGF0YS1iaW5kPVwidmlzaWJsZTogY3VycmVudERhc2hib2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtdGFicyBmbGV4LWdyb3ctMVwiIGRhdGEtYmluZD1cImZvcmVhY2g6IGRhc2hib2FyZHNcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxoMj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJ0ZXh0OiBuYW1lLCBjbGljazogZnVuY3Rpb24oKSB7ICRwYXJlbnQuc2VsZWN0RGFzaGJvYXJkKGlkKTt9LCBjc3M6IHsgJ2FjdGl2ZSc6ICRwYXJlbnQuY3VycmVudERhc2hib2FyZCgpLmlkID09PSBpZCwgJ3NlbGVjdGVkLXRhYic6ICRwYXJlbnQuY3VycmVudERhc2hib2FyZCgpLmlkID09PSBpZCB9XCI+PC9hPlxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGFsaWduLWl0ZW1zLWVuZCBnYXAtMiBtdC0yIG10LW1kLTAgYm9yZGVyLWJvdHRvbVwiIHN0eWxlPVwicGFkZGluZy10b3A6IDIxcHg7XCI+ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQgYnRuLXNtIGRyb3Bkb3duLXRvZ2dsZVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBlbmNpbC1zcXVhcmVcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+TWFuYWdlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZHJvcGRvd24gZHJvcGRvd24taG92ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBkcm9wZG93bi1pdGVtXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IG5ld1JlcG9ydCh0cnVlKSB9LCB2aXNpYmxlOiBjdXJyZW50RGFzaGJvYXJkKCkuY2FuTWFuYWdlIHx8IGFkbWluTW9kZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXBsdXNcIj48L3NwYW4+IEFkZCBOZXcgUmVwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyBuZXdSZXBvcnQoZmFsc2UpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1wZW5jaWxcIj48L3NwYW4+IEFkZCB1c2luZyBTdGFuZGFyZCBEZXNpZ25lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgaHJlZj1cIiNcIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IG5ld1JlcG9ydCh0cnVlKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtYm9sdFwiPjwvc3Bhbj4gQWRkIHVzaW5nIFNtYXJ0ZXIgRGVzaWduZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIiBkYXRhLWJzLXRhcmdldD1cIiNhZGQtZGFzaGJvYXJkLW1vZGFsXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGVkaXREYXNoYm9hcmQsIHZpc2libGU6IGN1cnJlbnREYXNoYm9hcmQoKS5jYW5NYW5hZ2UgfHwgYWRtaW5Nb2RlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGVuY2lsXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RWRpdCBEYXNoYm9hcmQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYnMtdG9nZ2xlPVwibW9kYWxcIiBkYXRhLWJzLXRhcmdldD1cIiNhZGQtZGFzaGJvYXJkLW1vZGFsXCIgZGF0YS1iaW5kPVwiY2xpY2s6IG5ld0Rhc2hib2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1kYXNoYm9hcmRcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BZGQgYSBOZXcgRGFzaGJvYXJkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogUmVmcmVzaEFsbFJlcG9ydHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlJlZnJlc2g8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZG93bmxvYWRcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+RXhwb3J0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyByZXR1cm4gYXBwU2V0dGluZ3Muc2hvd1BhZ2VTaXplID8gRXhwb3J0QWxsUGRmUmVwb3J0c1dpdGhQYWdlT3B0aW9uKCkgOiBFeHBvcnRBbGxQZGZSZXBvcnRzKCcnLCcnKTsgfSwgaGlkZGVuOiBhcHBTZXR0aW5ncy51c2VBbHRQZGZcIj48aSBjbGFzcz1cImZhIGZhLWZpbGUtcGRmLW9cIj48L2k+IFBkZjwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBmdW5jdGlvbigpIHsgcmV0dXJuIGFwcFNldHRpbmdzLnNob3dQYWdlU2l6ZSA/IEV4cG9ydEFsbFBkZkFsdFJlcG9ydHNXaXRoUGFnZU9wdGlvbigpIDogRXhwb3J0QWxsUGRmQWx0UmVwb3J0cygnJywnJyk7IH0sIHZpc2libGU6IGFwcFNldHRpbmdzLnVzZUFsdFBkZlwiPjxpIGNsYXNzPVwiZmEgZmEtZmlsZS1wZGYtb1wiPjwvaT4gUGRmPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IEV4cG9ydEFsbEV4Y2VsUmVwb3J0c1wiPjxpIGNsYXNzPVwiZmEgZmEtZmlsZS1leGNlbC1vXCI+PC9pPiBFeGNlbDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBjYW5EcmlsbGRvd25cIj48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBFeHBvcnRBbGxFeGNlbEV4cGFuZGVkUmVwb3J0c1wiPjxpIGNsYXNzPVwiZmEgZmEtZmlsZS1leGNlbC1vXCI+PC9pPiBFeGNlbCAoRXhwYW5kZWQpPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyByZXR1cm4gYXBwU2V0dGluZ3Muc2hvd1BhZ2VTaXplID8gRXhwb3J0QWxsV29yZFJlcG9ydHNXaXRoUGFnZU9wdGlvbigpIDogRXhwb3J0QWxsV29yZFJlcG9ydHMoJycsJycpO31cIj48aSBjbGFzcz1cImZhIGZhLWZpbGUtd29yZC1vXCI+PC9pPiBXb3JkPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IFByaW50RGFzaGJvYXJkXCI+PGkgY2xhc3M9XCJmYSBmYS1wcmludFwiPjwvaT4gUHJpbnQ8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBjdXJyZW50RGFzaGJvYXJkKCkuY2FuTWFuYWdlIHx8IGFkbWluTW9kZSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIG0tMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgaWQ9XCJhcnJhbmdlLW1vZGVcIiB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBhcnJhbmdlRGFzaGJvYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+QXJyYW5nZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtc21cIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgZGF0YS1iaW5kPVwiY2xpY2s6IHpvb21PdXREYXNoYm9hcmRcIiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiB0aXRsZT1cIlpvb20gT3V0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2gtbWludXNcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIGRhdGEtYmluZD1cImNsaWNrOiByZXNldFpvb21EYXNoYm9hcmRcIiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiB0aXRsZT1cIlJlc2V0IFpvb21cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvbXByZXNzXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiBkYXRhLWJpbmQ9XCJjbGljazogem9vbUluRGFzaGJvYXJkXCIgZGF0YS1icy10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJab29tIEluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2gtcGx1c1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBjdXJyZW50RGFzaGJvYXJkXCI+XHJcbiAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ3aXRoOiBjdXJyZW50RGFzaGJvYXJkXCI+XHJcbiAgICAgICAgICAgIDxwIGRhdGEtYmluZD1cInRleHQ6IGRlc2NyaXB0aW9uXCI+PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInBhZGRlZC10b3BcIj48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ2ZseS1maWx0ZXItdGVtcGxhdGUnfVwiPjwvZGl2PlxyXG4gICAgICAgIDxiciAvPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNlbnRlcmVkXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGRhdGEtYmluZD1cInZpc2libGU6IGRhc2hib2FyZHMoKS5sZW5ndGggPT0gMCBcIj5cclxuICAgIE5vIERhc2hib2FyZHMgeWV0LiBDbGljayBiZWxvdyB0byBTdGFydDxiciAvPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGcgYnRuLXByaW1hcnlcIiBkYXRhLWJzLXRvZ2dsZT1cIm1vZGFsXCIgZGF0YS1icy10YXJnZXQ9XCIjYWRkLWRhc2hib2FyZC1tb2RhbFwiPjxpIGNsYXNzPVwiZmEgZmEtZGFzaGJvYXJkXCI+PC9pPiBDcmVhdGUgYSBOZXcgRGFzaGJvYXJkPC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsIG1vZGFsLWZ1bGxzY3JlZW5cIiBpZD1cImFkZC1kYXNoYm9hcmQtbW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgYXJpYS1sYWJlbGxlZGJ5PVwiYWRkLWRhc2hib2FyZC1tb2RhbC1sYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiIHJvbGU9XCJkb2N1bWVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgZGF0YS1iaW5kPVwid2l0aDogZGFzaGJvYXJkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJhZGQtZGFzaGJvYXJkLW1vZGFsLWxhYmVsXCI+PHNwYW4gZGF0YS1iaW5kPVwidGV4dDogSWQoKSA/ICdFZGl0JyA6ICdBZGQnXCI+PC9zcGFuPiBEYXNoYm9hcmQ8L2g0PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGRhdGEtYmluZD1cImNsaWNrOiAkcm9vdC5vbk1vZGFsQ2xvc2VDbGlja2VkXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTQgY2FyZCBjYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLTMgY29sLWZvcm0tbGFiZWxcIj5OYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLXZhbD1cInRydWVcIiBkYXRhLXZhbC1yZXF1aXJlZD1cIkRhc2hib2FyZCBOYW1lIGlzIHJlcXVpcmVkLlwiIHR5cGU9XCJ0ZXh0XCIgZGF0YS1iaW5kPVwidmFsdWU6IE5hbWVcIiBwbGFjZWhvbGRlcj1cIkRhc2hib2FyZCBOYW1lLCBlLmcuLCBTYWxlcywgQWNjb3VudGluZ1wiIGlkPVwiYWRkLWRhc2gtbmFtZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbWQtMyBjb2wtZm9ybS1sYWJlbFwiPkRlc2NyaXB0aW9uPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkYXRhLWJpbmQ9XCJ2YWx1ZTogRGVzY3JpcHRpb25cIiBwbGFjZWhvbGRlcj1cIk9wdGlvbmFsIERlc2NyaXB0aW9uIGZvciB0aGUgRGFzaGJvYXJkXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNCBjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+PGkgY2xhc3M9XCJmYSBmYS1wYXBlcmNsaXBcIj48L2k+IENob29zZSBSZXBvcnRzIGZvciB0aGUgRGFzaGJvYXJkPC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSZXBvcnQgYnkgTmFtZSBvciBEZXNjcmlwdGlvbi4uLlwiIGRhdGEtYmluZD1cInRleHRJbnB1dDogJHBhcmVudC5zZWFyY2hSZXBvcnRzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwiaWY6ICRwYXJlbnQuc2VhcmNoUmVwb3J0cygpICYmICRwYXJlbnQucmVwb3J0c0luU2VhcmNoKCkubGVuZ3RoPT0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gcmVwb3J0cyBmb3VuZCBtYXRjaGluZyB5b3VyIHNlYXJjaC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogJHBhcmVudC5zZWFyY2hSZXBvcnRzKCkgJiYgICRwYXJlbnQucmVwb3J0c0luU2VhcmNoKCkubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cFwiIGRhdGEtYmluZD1cImZvcmVhY2g6ICRwYXJlbnQucmVwb3J0c0luU2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtLWhlYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkYXRhLWJpbmQ9XCJjaGVja2VkOiBzZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYVwiIGRhdGEtYmluZD1cImNzczogeydmYS1maWxlJzogcmVwb3J0VHlwZT09J0xpc3QnLCAnZmEtdGgtbGlzdCc6IHJlcG9ydFR5cGU9PSdTdW1tYXJ5JywgJ2ZhLWJhci1jaGFydCc6IHJlcG9ydFR5cGU9PSdCYXInLCAnZmEtcGllLWNoYXJ0JzogcmVwb3J0VHlwZT09J1BpZScsICdmYS1saW5lLWNoYXJ0JzogcmVwb3J0VHlwZT09J0xpbmUnLCAnZmEtZ2xvYmUnOiByZXBvcnRUeXBlID09J01hcCcsICdmYS13aW5kb3ctcmVzdG9yZSc6IHJlcG9ydFR5cGU9PSdUcmVlbWFwJywgJ2ZhLWNvZGUnOiByZXBvcnRUeXBlPT0nSHRtbCd9XCIgc3R5bGU9XCJmb250LXNpemU6IDE0cHQ7IGNvbG9yOiAjODA4MDgwXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwiaGlnaGxpZ2h0ZWRUZXh0OiB7IHRleHQ6IHJlcG9ydE5hbWUsIGhpZ2hsaWdodDogJHBhcmVudC5zZWFyY2hSZXBvcnRzLCBjc3M6ICdoaWdobGlnaHQnIH1cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0tdGV4dCBzbWFsbFwiIGRhdGEtYmluZD1cInRleHQ6IHJlcG9ydERlc2NyaXB0aW9uXCI+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogISRwYXJlbnQuc2VhcmNoUmVwb3J0cygpXCIgY2xhc3M9XCJsaXN0LWdyb3VwIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJmb3JlYWNoOiAkcGFyZW50LnJlcG9ydHNBbmRGb2xkZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIiBkYXRhLWJpbmQ9XCJhdHRyOiB7aHJlZjogJyNmb2xkZXItJyArIGZvbGRlcklkIH1cIiBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC13ZWlnaHQ6IG5vcm1hbDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZm9sZGVyIG1lLTIgdGV4dC1zZWNvbmRhcnlcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWJpbmQ9XCJ0ZXh0OiBmb2xkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZXZyb24tZG93blwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlIG10LTJcIiBkYXRhLWJpbmQ9XCJhdHRyOiB7aWQ6ICdmb2xkZXItJyArIGZvbGRlcklkIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LWdyb3VwLWZsdXNoXCIgZGF0YS1iaW5kPVwiZm9yZWFjaDogcmVwb3J0c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIGRhdGEtYmluZD1cImNoZWNrZWQ6IHNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFcIiBkYXRhLWJpbmQ9XCJjc3M6IHsnZmEtZmlsZSc6IHJlcG9ydFR5cGU9PSdMaXN0JywgJ2ZhLXRoLWxpc3QnOiByZXBvcnRUeXBlPT0nU3VtbWFyeScsICdmYS1iYXItY2hhcnQnOiByZXBvcnRUeXBlPT0nQmFyJywgJ2ZhLXBpZS1jaGFydCc6IHJlcG9ydFR5cGU9PSdQaWUnLCAnZmEtbGluZS1jaGFydCc6IHJlcG9ydFR5cGU9PSdMaW5lJywgJ2ZhLWdsb2JlJzogcmVwb3J0VHlwZSA9PSdNYXAnLCAnZmEtd2luZG93LXJlc3RvcmUnOiByZXBvcnRUeXBlPT0nVHJlZW1hcCcsICdmYS1jb2RlJzogcmVwb3J0VHlwZT09J0h0bWwnfVwiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB0OyBjb2xvcjogIzgwODA4MFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6IHJlcG9ydE5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiIGRhdGEtYmluZD1cInRleHQ6IHJlcG9ydERlc2NyaXB0aW9uXCI+PC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWJvZHkgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNT48aSBjbGFzcz1cImZhIGZhLWhvdXJnbGFzc1wiPjwvaT4mbmJzcDtDaG9vc2UgU2NoZWR1bGU8L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LXNjaGVkdWxlJ31cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5hZG1pbk1vZGVcIiBjbGFzcz1cImNhcmQgY2FyZC1ib2R5IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ21hbmFnZS1hY2Nlc3MtdGVtcGxhdGUnLCBkYXRhOiBtYW5hZ2VBY2Nlc3N9XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXJcIiBkYXRhLWJpbmQ9XCJjbGljazogJHJvb3QuZGVsZXRlRGFzaGJvYXJkLCB2aXNpYmxlOiBJZFwiPkRlbGV0ZSBEYXNoYm9hcmQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRyb290LnNhdmVEYXNoYm9hcmRcIj5TYXZlIERhc2hib2FyZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48ZGl2IGNsYXNzPVwiZ3JpZC1zdGFja1wiIGRhdGEtYmluZD1cImZvcmVhY2g6IHJlcG9ydHNcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1zdGFjay1pdGVtXCIgZGF0YS1iaW5kPVwiYXR0cjogeydncy14JzogeCwgJ2dzLXknOiB5LCAnZ3Mtdyc6IHdpZHRoLCAnZ3MtaCc6IGhlaWdodCwgJ2dzLWF1dG8tcG9zaXRpb24nOiB0cnVlLCAnZ3MtaWQnOiBSZXBvcnRJRH1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiIGRhdGEtYmluZD1cImF0dHI6IHtjbGFzczogJ2NhcmQgJyArIHBhbmVsU3R5bGUgKyAnIGdyaWQtc3RhY2staXRlbS1jb250ZW50J30sIGNzczogeyBleHBhbmRlZDogaXNFeHBhbmRlZCB9LCBzdHlsZTogeyBib3JkZXI6IG5vRGFzaGJvYXJkQm9yZGVycygpID8gJ25vbmUnIDogJycsICdib3gtc2hhZG93Jzogbm9EYXNoYm9hcmRCb3JkZXJzKCkgPyAnbm9uZScgOiAnJyB9XCIgc3R5bGU9XCJvdmVyZmxvdy15OiBoaWRkZW47XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWRkZWQtZGl2XCIgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogMDsgbWFyZ2luLWJvdHRvbTogMDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0blwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwiZmFsc2VcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1lbGxpcHNpcy12XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgc21hbGxcIiBzdHlsZT1cInotaW5kZXg6IDEwMDE7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBGbHlGaWx0ZXJzKCkubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogdG9nZ2xlRmx5RmlsdGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsdGVyXCI+PC9zcGFuPiBGaWx0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZHJvcGRvd24gZHJvcGRvd24taG92ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgZHJvcGRvd24taXRlbVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGVkaXRSZXBvcnRBaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtcGVuY2lsXCI+PC9zcGFuPiBFZGl0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBocmVmPVwiI1wiIGRhdGEtYmluZD1cImNsaWNrOiBvcGVuUmVwb3J0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXBlbmNpbFwiPjwvc3Bhbj4gRWRpdCBTdGFuZGFyZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCIjXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGVkaXRSZXBvcnRBaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1ib2x0XCI+PC9zcGFuPiBFZGl0IFNtYXJ0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkcm9wZG93biBkcm9wZG93bi1ob3ZlclwiIGRhdGEtYmluZD1cInZpc2libGU6IFJlcG9ydFR5cGUoKSE9J1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZG93bmxvYWRcIj48L3NwYW4+IEV4cG9ydFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogZG93bmxvYWRFeGNlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1maWxlLWV4Y2VsLW9cIj48L3NwYW4+IEV4Y2VsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBjYW5EcmlsbGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogZG93bmxvYWRFeGNlbFdpdGhEcmlsbGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZmlsZS1leGNlbC1vXCI+PC9zcGFuPiBFeGNlbCAoRXhwYW5kZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogJHBhcmVudC5hcHBTZXR0aW5ncy5zaG93UGFnZVNpemUgPyBmdW5jdGlvbigpIHsgbG9hZFBkZk1vZGVsKCkgfSA6IGZ1bmN0aW9uKCkgeyAkcGFyZW50LmFwcFNldHRpbmdzLnVzZUFsdFBkZiA/IGRvd25sb2FkUGRmQWx0KCcnLCcnKSA6IGRvd25sb2FkUGRmKCcnLCcnKSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWZpbGUtcGRmLW9cIj48L3NwYW4+IFBERlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgZGF0YS1iaW5kPVwiY2xpY2s6ICRwYXJlbnQuYXBwU2V0dGluZ3Muc2hvd1BhZ2VTaXplID8gZnVuY3Rpb24oKSB7IGxvYWRXb3JkTW9kZWwoKX0gOiBmdW5jdGlvbigpIHsgZG93bmxvYWRXb3JkKCcnLCcnKTsgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1maWxlLXdvcmQtb1wiPjwvc3Bhbj4gV29yZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBSZXBvcnRUeXBlKCkhPSdTaW5nbGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJhdHRyOiB7aHJlZjogJy9Eb3ROZXRSZXBvcnQ/bGlua2VkcmVwb3J0PXRydWUmbm9wYXJlbnQ9dHJ1ZSZyZXBvcnRJZD0nICsgUmVwb3J0SUQoKSB9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1mb2xkZXItb3BlblwiPjwvc3Bhbj4gT3BlbiBSZXBvcnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGRhdGEtYmluZD1cInZpc2libGU6IENhbkVkaXQoKSAmJiBDYW5TYXZlUmVwb3J0cygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGRhdGEtYmluZD1cImNsaWNrOiBTYXZlV2l0aG91dFJ1blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtc2F2ZVwiPjwvc3Bhbj4gU2F2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgZGF0YS1iaW5kPVwidmlzaWJsZTogJHBhcmVudC5jdXJyZW50RGFzaGJvYXJkKCkuY2FuTWFuYWdlIHx8ICRwYXJlbnQuYWRtaW5Nb2RlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgZGF0YS1iaW5kPVwiY2xpY2s6IGZ1bmN0aW9uKCkgeyAkcGFyZW50LnJlbW92ZVJlcG9ydEZyb21EYXNoYm9hcmQoUmVwb3J0SUQoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWNsb3NlXCI+PC9zcGFuPiBSZW1vdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJpbmQ9XCJjbGljazogZnVuY3Rpb24oKSB7IFJlZnJlc2hSZXBvcnQoUmVwb3J0SUQoKSk7IH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXJlZnJlc2hcIj48L3NwYW4+IFJlZnJlc2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBkYXRhLWJzLXRvZ2dsZT1cIm1vZGFsXCIgZGF0YS1icy10YXJnZXQ9XCIjc3FsTW9kYWxcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiAkcGFyZW50LmFkbWluTW9kZSwgY2xpY2s6IGdldENvZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWNvZGVcIj48L3NwYW4+IFJlcG9ydCBDb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJwdWxsLWxlZnRcIiBkYXRhLWJpbmQ9XCJ0ZXh0OiBSZXBvcnROYW1lXCI+PC9oMj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1iaW5kPVwidmlzaWJsZTogaXNEaXJ0eVwiIGNsYXNzPVwidGV4dC13YXJuaW5nIHNtYWxsXCIgdGl0bGU9XCJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpbmtcIiBkYXRhLWJpbmQ9XCJ2aXNpYmxlOiBDYW5FZGl0KCkgJiYgQ2FuU2F2ZVJlcG9ydHMoKSAmJiBpc0RpcnR5KCksIGNsaWNrOiBTYXZlV2l0aG91dFJ1blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXNhdmVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCIgZGF0YS1iaW5kPVwiY2xpY2s6IHRvZ2dsZUV4cGFuZFwiPjxzcGFuIGNsYXNzPVwiZmFcIiBkYXRhLWJpbmQ9XCJjc3M6IHsnZmEtZXhwYW5kJzogIWlzRXhwYW5kZWQoKSwgJ2ZhLW1pbnVzJzogaXNFeHBhbmRlZCgpIH0sIHZpc2libGU6IFJlcG9ydFR5cGUoKSAhPSAnU2luZ2xlJyAmJiAhbm9EYXNoYm9hcmRCb3JkZXJzKClcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cImlmOiBhY3RpdmVEZXNpZ24oKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3JlcG9ydC1kZXNpZ25lci1jb21wYWN0J1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBsaXN0LW92ZXJmbG93LWF1dG9cIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwOyBtYXJnaW4tdG9wOiAwO1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJpZjogUmVwb3J0VHlwZSgpIT0nU2luZ2xlJyAmJiBSZXBvcnRUeXBlKCkhPSdIdG1sJyAmJiBDYW5FZGl0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAnY2hhcnQtc2V0dGluZ3MnLCBkYXRhOiAkZGF0YVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cCBkYXRhLWJpbmQ9XCJodG1sOiBSZXBvcnREZXNjcmlwdGlvbiwgdmlzaWJsZTogUmVwb3J0RGVzY3JpcHRpb25cIj48L3A+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ2ZseS1maWx0ZXItdGVtcGxhdGUnfSwgdmlzaWJsZTogc2hvd0ZseUZpbHRlcnNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwid2l0aDogUmVwb3J0UmVzdWx0XCIgY2xhc3M9XCJzbWFsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1iaW5kPVwidmlzaWJsZTogIVJlcG9ydERhdGEoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVwb3J0LXNwaW5uZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiAncmVwb3J0LXRlbXBsYXRlJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taW5saW5lXCIgZGF0YS1iaW5kPVwiaWZub3Q6IG5vRGFzaGJvYXJkQm9yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgZGF0YS1iaW5kPVwid2l0aDogcGFnZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdWxsLWxlZnQgdG90YWwtcmVjb3Jkc1wiIGRhdGEtYmluZD1cImlmOiB0b3RhbFJlY29yZHMoKT4xICYmICRwYXJlbnQuUmVwb3J0VHlwZSgpICE9ICdTaW5nbGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYmluZD1cInRleHQ6ICdUb3RhbCBSZWNvcmRzOiAnICsgdG90YWxSZWNvcmRzKClcIj48L3NwYW4+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHVsbC1yaWdodFwiIGRhdGEtYmluZD1cImlmOiBwYWdlcygpPjEgJiYgJHBhcmVudC5SZXBvcnRUeXBlKCkgIT0gJ1NpbmdsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogJ3BhZ2VyLXRlbXBsYXRlJywgZGF0YTogJGRhdGFcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIFJlcG9ydCBCdWlsZGVyIC0tPlxyXG48ZGl2IGNsYXNzPVwibW9kYWwgbW9kYWwtZnVsbHNjcmVlblwiIGlkPVwibW9kYWwtcmVwb3J0YnVpbGRlclwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWxhYmVsbGVkYnk9XCJteU1vZGFsTGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1wiIGRhdGEtYmluZD1cIndpdGg6IHNlbGVjdGVkUmVwb3J0XCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC1kZXNpZ25lcicsIGRhdGE6ICRkYXRhfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gRmllbGQgT3B0aW9ucyBNb2RhbCAtLT5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJmaWVsZE9wdGlvbnNNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwid2l0aDogc2VsZWN0ZWRSZXBvcnRcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHtuYW1lOiAncmVwb3J0LWZpZWxkLW9wdGlvbnMnLCBkYXRhOiAkZGF0YX1cIj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIExpbmsgRWRpdCBNb2RhbCAtLT5cclxuPGRpdiBjbGFzcz1cIm1vZGFsXCIgaWQ9XCJsaW5rTW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGRhdGEtYmluZD1cIndpdGg6IHNlbGVjdGVkUmVwb3J0XCI+XHJcbiAgICA8ZGl2IGRhdGEtYmluZD1cInRlbXBsYXRlOiB7bmFtZTogJ3JlcG9ydC1saW5rLWVkaXQnLCBkYXRhOiAkZGF0YX1cIj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIFRoaXMgcmVuZGVycyB0aGUgdGVtcGxhdGUgLS0+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwicGRmT3B0aW9uc1NjaGVkdWxlTW9kYWxcIiB0YWJpbmRleD1cIi0xXCIgYXJpYS1sYWJlbGxlZGJ5PVwicGRmT3B0aW9uc1NjaGVkdWxlTW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGRhdGEtYmluZD1cIndpdGg6IGRhc2hib2FyZFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogeyBuYW1lOiAncGRmLW9wdGlvbnMtc2NoZWR1bGUtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YSAgfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBUaGlzIHJlbmRlcnMgdGhlIHRlbXBsYXRlIC0tPlxyXG48ZGl2IGNsYXNzPVwibW9kYWxcIiBpZD1cIndvcmRPcHRpb25zU2NoZWR1bGVNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJ3b3JkT3B0aW9uc1NjaGVkdWxlTW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGRhdGEtYmluZD1cIndpdGg6IGRhc2hib2FyZFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogeyBuYW1lOiAnd29yZC1vcHRpb25zLXNjaGVkdWxlLXRlbXBsYXRlJywgZGF0YTogJGRhdGEgfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwid29yZE9wdGlvbnNNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJ3b3JkT3B0aW9uc01vZGFsTGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBzZWxlY3RlZFJlcG9ydFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogeyBuYW1lOiAnd29yZC1vcHRpb25zLXRlbXBsYXRlJywgZGF0YTogJGRhdGEgIH1cIj48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwicGRmT3B0aW9uc01vZGFsXCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cInBkZk9wdGlvbnNNb2RhbExhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZGF0YS1iaW5kPVwid2l0aDogc2VsZWN0ZWRSZXBvcnRcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHsgbmFtZTogJ3BkZi1vcHRpb25zLXRlbXBsYXRlJywgZGF0YTogJGRhdGEgIH1cIj48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbFwiIGlkPVwiZXhwb3J0QWxsV29yZE9wdGlvbnNNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJleHBvcnRBbGxXb3JkT3B0aW9uc01vZGFsTGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBkYXRhLWJpbmQ9XCJ3aXRoOiBkYXNoYm9hcmRcIj5cclxuICAgIDxkaXYgZGF0YS1iaW5kPVwidGVtcGxhdGU6IHsgbmFtZTogJ3dvcmQtb3B0aW9ucy10ZW1wbGF0ZScsIGRhdGE6ICRkYXRhICB9XCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWxcIiBpZD1cImV4cG9ydEFsbFBkZk9wdGlvbnNNb2RhbFwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJleHBvcnRBbGxQZGZPcHRpb25zTW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGRhdGEtYmluZD1cIndpdGg6IGRhc2hib2FyZFwiPlxyXG4gICAgPGRpdiBkYXRhLWJpbmQ9XCJ0ZW1wbGF0ZTogeyBuYW1lOiAncGRmLW9wdGlvbnMtdGVtcGxhdGUnLCBkYXRhOiAkZGF0YSAgfVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gVGVtcGxhdGVzIC0tPlxyXG48ZGl2IFtpbm5lckh0bWxdPVwicmVwb3J0VGVtcGxhdGVzXCI+PC9kaXY+XHJcbjwhLS0gVGVtcGxhdGVzIC0tPlxyXG5cclxuPC9kaXY+Il19