@esfaenza/admin-module 13.1.0-beta6 → 13.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -24
- package/esm2020/lib/admin-module.module.mjs +13 -15
- package/esm2020/lib/components/audits/adm_audits.component.mjs +11 -13
- package/esm2020/lib/components/enqueues/adm_enq.component.mjs +11 -14
- package/esm2020/lib/components/logs/adm_logs.component.mjs +12 -9
- package/esm2020/lib/components/metrics/metrics_search.component.mjs +10 -11
- package/esm2020/lib/components/profiler/adm_profiler.component.loc.mjs +2 -2
- package/esm2020/lib/components/profiler/adm_profiler.component.mjs +12 -16
- package/esm2020/lib/components/topact/topact_search.component.mjs +10 -12
- package/esm2020/lib/components/workers/adm_wrk.component.mjs +8 -11
- package/esm2020/lib/models/components/AuditsView.mjs +1 -1
- package/esm2020/lib/models/components/LocksView.mjs +1 -1
- package/esm2020/lib/models/components/ProfilerDataNode.mjs +3 -3
- package/esm2020/lib/models/components/ProfilerDataNodesView.mjs +1 -1
- package/esm2020/lib/models/components/TopActivitiesDataView.mjs +1 -1
- package/esm2020/lib/models/components/TopActivity.mjs +1 -1
- package/fesm2015/esfaenza-admin-module.mjs +620 -730
- package/fesm2015/esfaenza-admin-module.mjs.map +1 -1
- package/fesm2020/esfaenza-admin-module.mjs +613 -719
- package/fesm2020/esfaenza-admin-module.mjs.map +1 -1
- package/lib/admin-module.module.d.ts +23 -16
- package/lib/components/audits/adm_audits.component.d.ts +2 -1
- package/lib/components/enqueues/adm_enq.component.d.ts +3 -3
- package/lib/components/logs/adm_logs.component.d.ts +3 -1
- package/lib/components/metrics/metrics_search.component.d.ts +6 -3
- package/lib/components/profiler/adm_profiler.component.d.ts +3 -3
- package/lib/components/topact/topact_search.component.d.ts +6 -3
- package/lib/components/workers/adm_wrk.component.d.ts +3 -2
- package/lib/models/components/AuditsView.d.ts +1 -1
- package/lib/models/components/ProfilerDataNodesView.d.ts +1 -1
- package/lib/models/components/TopActivitiesDataView.d.ts +1 -1
- package/lib/models/components/TopActivity.d.ts +3 -1
- package/package.json +10 -2
- package/esm2020/lib/components/index.mjs +0 -14
- package/esm2020/lib/models/components/Lock.loc.mjs +0 -13
- package/esm2020/lib/models/components/Lock.mjs +0 -48
- package/esm2020/lib/models/index.mjs +0 -22
- package/lib/components/index.d.ts +0 -13
- package/lib/models/components/Lock.d.ts +0 -12
- package/lib/models/components/Lock.loc.d.ts +0 -42
- package/lib/models/index.d.ts +0 -21
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
// Angular
|
|
1
2
|
import { Component, Inject } from "@angular/core";
|
|
2
3
|
// Configurazioni
|
|
3
4
|
import { DateValue, Limit, LineChartData, LineSerie } from "@esfaenza/es-charts";
|
|
4
5
|
import { LocalizationService } from "@esfaenza/localizations";
|
|
5
|
-
// Classi
|
|
6
|
-
import { Repository, TopActivitiesDataView } from "../../models";
|
|
7
6
|
import { map } from "rxjs/operators";
|
|
8
|
-
|
|
9
|
-
import {
|
|
7
|
+
import { Repository } from "../../models/externals/Repository";
|
|
8
|
+
import { TopActivitiesDataView } from "../../models/components/TopActivitiesDataView";
|
|
10
9
|
import { ADM_BACKEND_URL } from "../../tokens";
|
|
10
|
+
// Localizzazione
|
|
11
|
+
import { AdmTopActivitieLoc } from "./topact_search.component.loc";
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@esfaenza/extensions";
|
|
13
14
|
import * as i2 from "@esfaenza/localizations";
|
|
@@ -44,7 +45,7 @@ export class AdmTopActivitiesComponent {
|
|
|
44
45
|
["sleeptime"]: "Sleep",
|
|
45
46
|
["iotime"]: "IO"
|
|
46
47
|
};
|
|
47
|
-
this._state.handleNavigation(this.route.snapshot.data["title"], false);
|
|
48
|
+
this._state.handleNavigation(this.lc.loc(this.route.snapshot.data["title"]), false);
|
|
48
49
|
}
|
|
49
50
|
ngOnInit() {
|
|
50
51
|
this.storageSub = this.route.queryParams.subscribe(params => {
|
|
@@ -67,16 +68,13 @@ export class AdmTopActivitiesComponent {
|
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
init(HotPotato) {
|
|
70
|
-
//Se ho la HotPotato vuol dire che sono appena tornato dall'edit/nuovo. Rifaccio la ricerca in base ai filtri precedenti
|
|
71
|
-
//Altirmenti genero il modello nuovo normalmente
|
|
72
71
|
if (HotPotato) {
|
|
73
72
|
this.searchView = HotPotato;
|
|
74
73
|
this.POSTGetItems(this.backend + Repository["POST_Adm_GetTopActivities"], this.searchView, false);
|
|
75
74
|
}
|
|
76
75
|
else {
|
|
77
76
|
this.searchView = new TopActivitiesDataView();
|
|
78
|
-
|
|
79
|
-
setTimeout(() => this.sendSearch());
|
|
77
|
+
this.sendSearch();
|
|
80
78
|
}
|
|
81
79
|
}
|
|
82
80
|
ngOnDestroy() {
|
|
@@ -91,7 +89,7 @@ export class AdmTopActivitiesComponent {
|
|
|
91
89
|
}
|
|
92
90
|
POSTGetItems(url, data, update) {
|
|
93
91
|
this.http.post(url, data).subscribe(async (t) => {
|
|
94
|
-
//Se sono in
|
|
92
|
+
//Se sono in modalità di update non devo toccare la searchView attuale se non per il searchinprogress che viene messo dall'es table
|
|
95
93
|
if (!update) {
|
|
96
94
|
this.searchView = t;
|
|
97
95
|
this.localStorage.setItem("HotSearchTopAct", this.searchView).subscribe();
|
|
@@ -176,7 +174,7 @@ export class AdmTopActivitiesComponent {
|
|
|
176
174
|
AdmTopActivitiesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AdmTopActivitiesComponent, deps: [{ token: i1.DateService }, { token: i2.LocalizationService }, { token: i3.PreferencesService }, { token: i4.Location }, { token: i5.BaseModuleCommunicationsConsumer }, { token: i6.HTTPService }, { token: i7.ActivatedRoute }, { token: ADM_BACKEND_URL }], target: i0.ɵɵFactoryTarget.Component });
|
|
177
175
|
AdmTopActivitiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AdmTopActivitiesComponent, selector: "topact_search", providers: [
|
|
178
176
|
{ provide: LocalizationService, useClass: AdmTopActivitieLoc }
|
|
179
|
-
], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">\r\n {{'Top Activities' | localize : lc}}\r\n <span *ngIf=\"DirInfos\"> - {{'' + DirInfos.cpus + ' ' + ('CPUs' | localize : lc) + (DirInfos.rssplan ? ' - ' + DirInfos.rssplan : '')}}</span> \r\n </span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 app-relative\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\"></form-datetime>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\"></form-datetime>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress || autoUpdate\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n\r\n <div class=\"app-absolute app-right-25 app-top-40\">\r\n <div class=\"pull-right\">\r\n {{'Update every' | localize : lc}} <input [readonly]=\"autoUpdate\" maxlength=\"3\" class=\"form-control app-updevery-input\" type=\"text\" [(ngModel)]=\"seconds\" name=\"secs\" /> {{'second/s' | localize : lc}}\r\n </div>\r\n <div class=\"pull-right m-t-2 app-margin-right-5\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" [(ngModel)]=\"autoUpdate\" (ngModelChange)=\"autoUpdateChanged();\" />\r\n <div class=\"slider round\"></div>\r\n </label>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 app-margin-top-5\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView\" class=\"row\">\r\n <div class=\"col-md-12 app-no-padding\">\r\n <!--<h5 class=\"app-margin-top-5\">{{'Active Sessions' | localize : lc}}</h5>-->\r\n <div style=\"width: 100%; height: 290px\">\r\n <es-line-chart *ngIf=\"TopActiveSessions\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"TopActiveSessions\"\r\n [Legend]=\"true\" \r\n name=\"topactsession\"\r\n [DataGroupingThreshold]=\"99999999\"\r\n (onSelectionChanged)=\"dataSelectionChanged($event)\" (chartLoaded)=\"onChartLoaded($event)\"></es-line-chart>\r\n </div>\r\n </div>\r\n <div class=\"col-md-5\">\r\n <h5>{{'Top Nodes' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopNodes\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">{{'Node' | localize : lc}}</th>\r\n <th>{{'Node Description' | localize : lc}}</th>\r\n <th class=\"app-col-min\">{{'Activity' | localize : lc}}</th>\r\n <th class=\"app-col-min app-nowrap\">{{'Node Type' | localize : lc}}</th>\r\n </ng-template>\r\n <ng-template #body let-node>\r\n <td class=\"app-col-min\"><strong>{{node.profnodeid}}</strong></td>\r\n <td><span title=\"{{node.profnodedesc}}\">{{node.profnodedesc.length > 40 ? node.profnodedesc.substr(0,40) + \"...\" : node.profnodedesc}}</span></td>\r\n <td class=\"app-nowrap\">{{node.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{node.nodetypename}}</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"col-md-7\">\r\n <h5>{{'Top Sessions' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopSessions\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">ID</th>\r\n <th>{{'User' | localize : lc}}</th>\r\n <th>{{'Tenant' | localize : lc}}</th>\r\n <th>{{'Process' | localize : lc}}</th>\r\n <th>{{'Activity' | localize : lc}}</th>\r\n <th>Cpu</th>\r\n <th>Wait</th>\r\n <th>DB</th>\r\n <th>Script</th>\r\n <th>Throttle</th>\r\n <th>Sleep</th>\r\n <th>Networking</th>\r\n <th>IO</th>\r\n </ng-template>\r\n\r\n <ng-template #body let-session>\r\n <td><strong>{{session.sid}}</strong></td>\r\n <td>{{session.user}}</td>\r\n <td>{{session.tenant}}</td>\r\n <td>{{session.bgprocess}}</td>\r\n <td>{{session.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.cpu | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.wait | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.db | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.script | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.throttle | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.sleep | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.net | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.io | number : '1.1-2' : 'it'}} %</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i8.FormDateTimeComponent, selector: "form-datetime", inputs: ["JsDates"] }, { type: i9.EsLineChartComponent, selector: "es-line-chart", inputs: ["Data", "DataArray", "Step", "DataGroupBucketSize", "DataGroupingThreshold", "StrokeSize", "AllowGaps", "MergeDatasets", "FinalInstants", "Min", "Max", "Fill"] }, { type: i10.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "SecondarySource", "TertiarySource", "UseSelectionCache", "ShowItemGroupsColumns", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i11.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }], pipes: { "localize": i2.LocalizePipe, "number": i4.DecimalPipe } });
|
|
177
|
+
], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">\r\n {{'Top Activities' | localize : lc}}\r\n <span *ngIf=\"DirInfos\"> - {{'' + DirInfos.cpus + ' ' + ('CPUs' | localize : lc) + (DirInfos.rssplan ? ' - ' + DirInfos.rssplan : '')}}</span> \r\n </span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 app-relative\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\"></form-datetime>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\"></form-datetime>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress || autoUpdate\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n\r\n <div class=\"app-absolute app-right-25 app-top-40\">\r\n <div class=\"pull-right\">\r\n {{'Update every' | localize : lc}} <input [readonly]=\"autoUpdate\" maxlength=\"3\" class=\"form-control app-updevery-input\" type=\"text\" [(ngModel)]=\"seconds\" name=\"secs\" /> {{'second/s' | localize : lc}}\r\n </div>\r\n <div class=\"pull-right m-t-2 app-margin-right-5\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" [(ngModel)]=\"autoUpdate\" (ngModelChange)=\"autoUpdateChanged();\" />\r\n <div class=\"slider round\"></div>\r\n </label>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 app-margin-top-5\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView\" class=\"row\">\r\n <div class=\"col-md-12 app-no-padding\">\r\n <!--<h5 class=\"app-margin-top-5\">{{'Active Sessions' | localize : lc}}</h5>-->\r\n <div style=\"width: 100%; height: 290px\">\r\n <es-line-chart *ngIf=\"TopActiveSessions\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"TopActiveSessions\"\r\n [Legend]=\"true\" \r\n name=\"topactsession\"\r\n [DataGroupingThreshold]=\"99999999\"\r\n (onSelectionChanged)=\"dataSelectionChanged($event)\" (chartLoaded)=\"onChartLoaded($event)\"></es-line-chart>\r\n </div>\r\n </div>\r\n <div class=\"col-md-5\">\r\n <h5>{{'Top Nodes' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopNodes\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">{{'Node' | localize : lc}}</th>\r\n <th>{{'Node Description' | localize : lc}}</th>\r\n <th class=\"app-col-min\">{{'Activity' | localize : lc}}</th>\r\n <th class=\"app-col-min app-nowrap\">{{'Node Type' | localize : lc}}</th>\r\n </ng-template>\r\n <ng-template #body let-node>\r\n <td class=\"app-col-min\"><strong>{{node.profnodeid}}</strong></td>\r\n <td><span title=\"{{node.profnodedesc}}\">{{node.profnodedesc.length > 40 ? node.profnodedesc.substr(0,40) + \"...\" : node.profnodedesc}}</span></td>\r\n <td class=\"app-nowrap\">{{node.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{node.nodetypename}}</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"col-md-7\">\r\n <h5>{{'Top Sessions' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopSessions\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">ID</th>\r\n <th>{{'User' | localize : lc}}</th>\r\n <th>{{'Tenant' | localize : lc}}</th>\r\n <th>{{'Process' | localize : lc}}</th>\r\n <th>{{'Activity' | localize : lc}}</th>\r\n <th>Cpu</th>\r\n <th>Wait</th>\r\n <th>DB</th>\r\n <th>Script</th>\r\n <th>Throttle</th>\r\n <th>Sleep</th>\r\n <th>Networking</th>\r\n <th>IO</th>\r\n </ng-template>\r\n\r\n <ng-template #body let-session>\r\n <td><strong>{{session.sid}}</strong></td>\r\n <td>{{session.user}}</td>\r\n <td>{{session.tenant}}</td>\r\n <td>{{session.bgprocess}}</td>\r\n <td>{{session.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.cpu | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.wait | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.db | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.script | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.throttle | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.sleep | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.net | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.io | number : '1.1-2' : 'it'}} %</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i8.FormDateTimeComponent, selector: "form-datetime", inputs: ["JsDates"] }, { type: i9.EsLineChartComponent, selector: "es-line-chart", inputs: ["Data", "DataArray", "Step", "DataGroupBucketSize", "DataGroupingThreshold", "StrokeSize", "AllowGaps", "MergeDatasets", "FinalInstants", "Min", "Max", "Fill"] }, { type: i10.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "SecondarySource", "TertiarySource", "UseSelectionCache", "ShowItemGroupsColumns", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i11.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }], pipes: { "localize": i2.LocalizePipe, "number": i4.DecimalPipe } });
|
|
180
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AdmTopActivitiesComponent, decorators: [{
|
|
181
179
|
type: Component,
|
|
182
180
|
args: [{ selector: "topact_search", providers: [
|
|
@@ -186,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
186
184
|
type: Inject,
|
|
187
185
|
args: [ADM_BACKEND_URL]
|
|
188
186
|
}] }]; } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYWN0X3NlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RvcGFjdC90b3BhY3Rfc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdG9wYWN0L3RvcGFjdF9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBc0IsU0FBUyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHOUQsU0FBUztBQUNULE9BQU8sRUFBaUIsVUFBVSxFQUFFLHFCQUFxQixFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUlyRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsZUFBZTtBQUNmLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBZS9DLE1BQU0sT0FBTyx5QkFBeUI7SUFVbEMsWUFDVyxRQUFxQixFQUNyQixFQUF1QixFQUN0QixZQUFnQyxFQUNoQyxRQUFrQixFQUNsQixNQUF3QyxFQUN4QyxJQUFpQixFQUNqQixLQUFxQixFQUNJLE9BQWU7UUFQekMsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsYUFB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QyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdkUsS0FBSyxDQUFDLEtBQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUUzRiwyR0FBMkc7WUFDL0csQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzSEFoTVEseUJBQXlCLG1QQWtCdEIsZUFBZTswR0FsQmxCLHlCQUF5Qix3Q0FMdkI7UUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7S0FDakUsMEJDcENMLGlrUkFxSE07MkZEOUVPLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxlQUFlLGFBQ2Q7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3FCQUNqRTs7MEJBcUJJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQsIERhdGVWYWx1ZSwgTGltaXQsIExpbmVDaGFydERhdGEsIExpbmVTZXJpZSB9IGZyb20gXCJAZXNmYWVuemEvZXMtY2hhcnRzXCI7XHJcbmltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIENsYXNzaVxyXG5pbXBvcnQgeyBEaXJlY3RvckluZm9zLCBSZXBvc2l0b3J5LCBUb3BBY3Rpdml0aWVzRGF0YVZpZXcsIFRvcE5vZGUsIFRvcFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQWRtVG9wQWN0aXZpdGllTG9jIH0gZnJvbSBcIi4uL1wiO1xyXG5cclxuLy8gQ2hpYW1hdGUgYWkgUmVwb3NpdG9yeVxyXG5pbXBvcnQgeyBCYXNlTW9kdWxlQ29tbXVuaWNhdGlvbnNDb25zdW1lciB9IGZyb20gXCIuLi8uLi9jb21tdW5pY2F0aW9ucy9iYXNlL0Jhc2VNb2R1bGVDb21tdW5pY2F0aW9uc0NvbnN1bWVyXCI7XHJcbmltcG9ydCB7IEFETV9CQUNLRU5EX1VSTCB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8qKlxyXG4gKiBEaWNoaWFyYXppb25lIGRlbGxhIHZhcmlhYmlsZSBnbG9iYWxlIGRheWpzLiBMJ29uZXJlIGRpIFwiY3JlYXJsYVwiIMOoIGFmZmlkYXRvIGFsbCdhcHBsaWNhemlvbmUgY2hlIHV0aWxpenphIHF1ZXN0YSBsaWJyZXJpYSwgXHJcbiAqIGNoZSBkb3Zyw6AgaW1wb3J0YXJlIGxvIHNjcmlwdCBnbG9iYWxlIGRpIGRheWpzIG5lbGxhIENMSVxyXG4gKi9cclxuIGRlY2xhcmUgdmFyIGRheWpzOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcInRvcGFjdF9zZWFyY2hcIixcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogTG9jYWxpemF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IEFkbVRvcEFjdGl2aXRpZUxvYyB9XHJcbiAgICBdLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90b3BhY3Rfc2VhcmNoLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkbVRvcEFjdGl2aXRpZXNDb21wb25lbnQge1xyXG4gICAgcHVibGljIHNlYXJjaFZpZXc6IFRvcEFjdGl2aXRpZXNEYXRhVmlldyA9IG5ldyBUb3BBY3Rpdml0aWVzRGF0YVZpZXcoKTtcclxuICAgIHB1YmxpYyBzdG9yYWdlU3ViOiBhbnk7XHJcbiAgICBwcml2YXRlIExhc3REYXRhUG9pbnQ6IGFueTtcclxuXHJcbiAgICBwdWJsaWMgYXV0b1VwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNlY29uZHM6IHN0cmluZyA9IFwiNVwiO1xyXG5cclxuICAgIHByaXZhdGUgQ2hhcnRJbnN0YW5jZTogQmFzZUNoYXJ0Q29tcG9uZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBkYXRlRXh0czogRGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICAgICAgcHJpdmF0ZSBfc3RhdGU6IEJhc2VNb2R1bGVDb21tdW5pY2F0aW9uc0NvbnN1bWVyLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgQEluamVjdChBRE1fQkFDS0VORF9VUkwpIHByaXZhdGUgYmFja2VuZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0YXRlLmhhbmRsZU5hdmlnYXRpb24odGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0sIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgSW5pdChpZ25vcmVTdG9yZSkge1xyXG4gICAgICAgIHRoaXMuZG9Jbml0KGlnbm9yZVN0b3JlKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb0luaXQoaWdub3JlU3RvcmFnZSkge1xyXG4gICAgICAgIGxldCBpdGVtID0gYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbTxUb3BBY3Rpdml0aWVzRGF0YVZpZXc+KFwiSG90U2VhcmNoVG9wQWN0XCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKFwiL3BhZ2VzL2FkbS90b3BhY3RcIik7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdFNlYXJjaFRvcEFjdFwiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IFRvcEFjdGl2aXRpZXNEYXRhVmlldykge1xyXG4gICAgICAgIC8vU2UgaG8gbGEgSG90UG90YXRvIHZ1b2wgZGlyZSBjaGUgc29ubyBhcHBlbmEgdG9ybmF0byBkYWxsJ2VkaXQvbnVvdm8uIFJpZmFjY2lvIGxhIHJpY2VyY2EgaW4gYmFzZSBhaSBmaWx0cmkgcHJlY2VkZW50aVxyXG4gICAgICAgIC8vQWx0aXJtZW50aSBnZW5lcm8gaWwgbW9kZWxsbyBudW92byBub3JtYWxtZW50ZVxyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gSG90UG90YXRvO1xyXG4gICAgICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0VG9wQWN0aXZpdGllc1wiXSwgdGhpcy5zZWFyY2hWaWV3LCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBuZXcgVG9wQWN0aXZpdGllc0RhdGFWaWV3KCk7XHJcblxyXG4gICAgICAgICAgICAvL1BlciBmYXJlIHVuIHByaW1vIGdpcm8gZGkgYmluZGluZyBzdWxsYSBWaWV3IGNoZSBzZXJ2ZSBhIHZhbG9yaXp6YXJlIGxlIGNvbG9ubmUgZGVsIG1vZGVsbG8gYW5jaGUgcGVyIGxhIHByaW1hIGNoaWFtYXRhXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZW5kU2VhcmNoKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yYWdlU3ViKVxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUsIHVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlLCBzZWFyY2hWaWV3T3ZlcnJpZGU6IFRvcEFjdGl2aXRpZXNEYXRhVmlldyA9IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnBhZ2UgPSAxO1xyXG5cclxuICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0VG9wQWN0aXZpdGllc1wiXSwgc2VhcmNoVmlld092ZXJyaWRlID8/IHRoaXMuc2VhcmNoVmlldywgdXBkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0SXRlbXModXJsOiBzdHJpbmcsIGRhdGE6IFRvcEFjdGl2aXRpZXNEYXRhVmlldywgdXBkYXRlOiBib29sZWFuKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PFRvcEFjdGl2aXRpZXNEYXRhVmlldz4odXJsLCBkYXRhKS5zdWJzY3JpYmUoYXN5bmMgKHQpID0+IHtcclxuICAgICAgICAgICAgLy9TZSBzb25vIGluIG1vZGFsaXTvv70gZGkgdXBkYXRlIG5vbiBkZXZvIHRvY2NhcmUgbGEgc2VhcmNoVmlldyBhdHR1YWxlIHNlIG5vbiBwZXIgaWwgc2VhcmNoaW5wcm9ncmVzcyBjaGUgdmllbmUgbWVzc28gZGFsbCdlcyB0YWJsZVxyXG4gICAgICAgICAgICBpZiAoIXVwZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gdDtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJIb3RTZWFyY2hUb3BBY3RcIiwgdGhpcy5zZWFyY2hWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2YXIgZGlyaW5mb3MgPSBhd2FpdCB0aGlzLmdldERpcmVjdG9ySW5mb3MoKTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZXZpZXdCaW5kaW5ncyh1cGRhdGUsIHQsIGRpcmluZm9zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXREaXJlY3RvckluZm9zKCk6IFByb21pc2U8RGlyZWN0b3JJbmZvcz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PERpcmVjdG9ySW5mb3M+KHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJHRVRfQWRtX0dldEluZm9zXCJdKS5waXBlKG1hcChyZXMgPT4geyByZXR1cm4gcmVzOyB9KSkudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUcmFzZm9ybWF6aW9uZSBkYSBzZWFyY2h2aWV3IGNvbiB1bmljbyBlbGVtZW50byBjb24gdHV0dG8gYWkgMyBlbGVtZW50aTpcclxuICAgIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR3JhZmljbywgVG9wTm9kZXMgZSBUb3BTZXNzaW9uc1xyXG4gICAgVG9wQWN0aXZlU2Vzc2lvbnM6IExpbmVDaGFydERhdGE7XHJcbiAgICBUb3BOb2RlczogVG9wTm9kZVtdO1xyXG4gICAgVG9wU2Vzc2lvbnM6IFRvcFNlc3Npb25bXTtcclxuICAgIERpckluZm9zOiBEaXJlY3RvckluZm9zO1xyXG4gICAgc2VyaWVzUHJvcGVydGllc01hcHBpbmc6IHsgW2luZGV4OiBzdHJpbmddOiBMaW5lU2VyaWUgfSA9IHt9O1xyXG4gICAgcHJvcGVydGllc1Nlcmllc01hcHBpbmc6IHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAgICAgICBbXCJjcHV0aW1lXCJdOiBcIkNQVVwiLFxyXG4gICAgICAgIFtcIndhaXR0aW1lXCJdOiBcIldhaXRcIixcclxuICAgICAgICBbXCJzY3JpcHR0aW1lXCJdOiBcIlNjcmlwdGluZ1wiLFxyXG4gICAgICAgIFtcImRidGltZVwiXTogXCJEQlwiLFxyXG4gICAgICAgIFtcIm5ldHRpbWVcIl06IFwiTmV0d29ya1wiLFxyXG4gICAgICAgIFtcInRocm90dGxldGltZVwiXTogXCJUaHJvdHRsaW5nXCIsXHJcbiAgICAgICAgW1wic2xlZXB0aW1lXCJdOiBcIlNsZWVwXCIsXHJcbiAgICAgICAgW1wiaW90aW1lXCJdOiBcIklPXCJcclxuICAgIH07XHJcblxyXG4gICAgcmV2aWV3QmluZGluZ3ModXBkYXRlOiBib29sZWFuLCBzZWFyY2hWaWV3T3ZlcnJpZGU/LCBkaXJJbmZvcz86IERpcmVjdG9ySW5mb3MpIHtcclxuICAgICAgICBsZXQgcmVmZXJlbmNlID0gKHNlYXJjaFZpZXdPdmVycmlkZSA/PyB0aGlzLnNlYXJjaFZpZXcpLml0ZW1zWzBdO1xyXG4gICAgICAgIHRoaXMuVG9wTm9kZXMgPSByZWZlcmVuY2UudG9wbm9kZXM7XHJcbiAgICAgICAgdGhpcy5Ub3BTZXNzaW9ucyA9IHJlZmVyZW5jZS50b3BzZXNzaW9ucztcclxuICAgICAgICB0aGlzLkRpckluZm9zID0gZGlySW5mb3M7XHJcblxyXG4gICAgICAgIGlmICghcmVmZXJlbmNlLmFjdHNlc3Npb25zIHx8IHJlZmVyZW5jZS5hY3RzZXNzaW9ucy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLlRvcEFjdGl2ZVNlc3Npb25zID0gbnVsbDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNlcmllczogTGluZVNlcmllW10gPSBbXTsgICAgICBcclxuICAgICAgICBsZXQgcHJvcHMgPSBPYmplY3Qua2V5cyhyZWZlcmVuY2UuYWN0c2Vzc2lvbnNbMF0pO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzW2ldICE9ICdzYW1wbGV0aW1lJykge1xyXG4gICAgICAgICAgICAgICAgbGV0IHMgPSBuZXcgTGluZVNlcmllKHRoaXMucHJvcGVydGllc1Nlcmllc01hcHBpbmdbcHJvcHNbaV1dLCBbXSwgbnVsbCwgbnVsbCwgXCJzZXNzaW9uc1wiKTtcclxuICAgICAgICAgICAgICAgIHNlcmllcy5wdXNoKHMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJpZXNQcm9wZXJ0aWVzTWFwcGluZ1twcm9wc1tpXV0gPSBzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlZmVyZW5jZS5hY3RzZXNzaW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXRlbXJlZiA9IHJlZmVyZW5jZS5hY3RzZXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgbGV0IHRoZUQgPSBuZXcgRGF0ZShpdGVtcmVmLnNhbXBsZXRpbWUpO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICAgIGlmIChwcm9wc1tpXSAhPSAnc2FtcGxldGltZScgJiYgKCF1cGRhdGUgfHwgdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih0aGVEKS5pc0FmdGVyKHRoaXMuTGFzdERhdGFQb2ludCkpKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VyaWVzUHJvcGVydGllc01hcHBpbmdbcHJvcHNbaV1dLnZhbHVlcy5wdXNoKG5ldyBEYXRlVmFsdWUodGhlRCwgaXRlbXJlZltwcm9wc1tpXV0pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh1cGRhdGUgJiYgdGhpcy5DaGFydEluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gbmV3IExpbmVDaGFydERhdGEoc2VyaWVzLCBuZXcgTGltaXQoZGlySW5mb3M/LnRocmVhZHMsIHRoaXMubGMubG9jKFwiTWF4aW11bSBUaHJlYWRzXCIpKSk7XHJcbiAgICAgICAgICAgIGlmIChzZXJpZXMuc29tZSh0ID0+IHQudmFsdWVzLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkNoYXJ0SW5zdGFuY2UuYWRkRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuTGFzdERhdGFQb2ludCA9IHNlcmllcy5tYXAodCA9PiBkYXlqcy5tYXgodC52YWx1ZXMubWFwKHYgPT4gdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih2LmQpKSkpWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLlRvcEFjdGl2ZVNlc3Npb25zID0gbmV3IExpbmVDaGFydERhdGEoc2VyaWVzLCBuZXcgTGltaXQoZGlySW5mb3M/LnRocmVhZHMsIHRoaXMubGMubG9jKFwiTWF4aW11bSBUaHJlYWRzXCIpKSk7XHJcbiAgICAgICAgICAgIHRoaXMuTGFzdERhdGFQb2ludCA9IHNlcmllcy5tYXAodCA9PiBkYXlqcy5tYXgodC52YWx1ZXMubWFwKHYgPT4gdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih2LmQpKSkpWzBdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAjcmVnaW9uIEdlc3Rpb25lIHVwZGF0ZSBhdXRvbWF0aWNvXHJcbiAgICB1cGRhdGVUaW1lcjogYW55O1xyXG4gICAgYXV0b1VwZGF0ZUNoYW5nZWQoKSB7XHJcbiAgICAgICAgaWYgKCEvXlsxLTldXFxkKiQvLnRlc3QodGhpcy5zZWNvbmRzKSlcclxuICAgICAgICAgICAgdGhpcy5zZWNvbmRzID0gJzEwJztcclxuICAgICAgICBjb25zdCBzZWNvbmRzSW5NcyA9IHBhcnNlSW50KHRoaXMuc2Vjb25kcywgbnVsbCkgKiAxMDAwO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9VcGRhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKGZhbHNlLCB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lciA9IHNldEludGVydmFsKCgpID0+IHsgdGhpcy5zZW5kU2VhcmNoKGZhbHNlLCB0cnVlKTsgfSwgc2Vjb25kc0luTXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy51cGRhdGVUaW1lcik7XHJcbiAgICB9XHJcbiAgICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gICAgcHJpdmF0ZSBmcm9tOiBEYXRlO1xyXG4gICAgcHJpdmF0ZSB0bzogRGF0ZTtcclxuXHJcbiAgICBkYXRhU2VsZWN0aW9uQ2hhbmdlZChldmVudDogeyBmcm9tOiBEYXRlLCB0bzogRGF0ZSwgaW5pdGlhbDogYm9vbGVhbiB9KSB7XHJcbiAgICAgICAgdGhpcy5mcm9tID0gZXZlbnQuaW5pdGlhbCA/ICh0aGlzLnNlYXJjaFZpZXcuZmlsdGVyZnJvbSA/IHRoaXMuZGF0ZUV4dHMuZ2V0RGF0ZUNvbnZlcnRpb24odGhpcy5zZWFyY2hWaWV3LmZpbHRlcmZyb20pLnRvRGF0ZSgpIDogXCJcIikgOiBldmVudC5mcm9tO1xyXG4gICAgICAgIHRoaXMudG8gPSBldmVudC5pbml0aWFsID8gKHRoaXMuc2VhcmNoVmlldy5maWx0ZXJ0byA/IHRoaXMuZGF0ZUV4dHMuZ2V0RGF0ZUNvbnZlcnRpb24odGhpcy5zZWFyY2hWaWV3LmZpbHRlcnRvKS50b0RhdGUoKSA6IFwiXCIpIDogZXZlbnQudG87XHJcblxyXG4gICAgICAgIHZhciBwc2V1ZG9TZWFyY2hWaWV3OiBUb3BBY3Rpdml0aWVzRGF0YVZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc2VhcmNoVmlldykpO1xyXG4gICAgICAgIHBzZXVkb1NlYXJjaFZpZXcuZmlsdGVyZnJvbSA9IHRoaXMuZnJvbSA/IGRheWpzKHRoaXMuZnJvbSkuZm9ybWF0KHRoaXMubGMudG9rZW4oXCJnZXRGdWxsRGF0ZURpc3BsYXlGb3JtYXRcIikpIDogXCJcIjtcclxuICAgICAgICBwc2V1ZG9TZWFyY2hWaWV3LmZpbHRlcnRvID0gdGhpcy50byA/IGRheWpzKHRoaXMudG8pLmZvcm1hdCh0aGlzLmxjLnRva2VuKFwiZ2V0RnVsbERhdGVEaXNwbGF5Rm9ybWF0XCIpKSA6IFwiXCI7XHJcbiAgICAgICAgdGhpcy5zZW5kU2VhcmNoKHRydWUsIHRydWUsIHBzZXVkb1NlYXJjaFZpZXcpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhcnRMb2FkZWQoY2hhcnQ6IEJhc2VDaGFydENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZSA9IGNoYXJ0O1xyXG4gICAgICAgIGNoYXJ0LkNoYXJ0LmV2ZW50cy5vbihcInJlYWR5XCIsICgpID0+IHtcclxuICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueEF4ZXMuZWFjaCh4ID0+IHguem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG4gICAgICAgICAgICAoPGFtNGNoYXJ0cy5YWUNoYXJ0PmNoYXJ0LkNoYXJ0KS55QXhlcy5lYWNoKHkgPT4geS56b29tKHsgc3RhcnQ6IDAsIGVuZDogMSB9LCB0cnVlLCB0cnVlKSk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueEF4ZXMuZWFjaCh4ID0+IHguem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG4gICAgICAgICAgICAgICAgKDxhbTRjaGFydHMuWFlDaGFydD5jaGFydC5DaGFydCkueUF4ZXMuZWFjaCh5ID0+IHkuem9vbSh7IHN0YXJ0OiAwLCBlbmQ6IDEgfSwgdHJ1ZSwgdHJ1ZSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIDUwMCBtaWxsaXNlY29uZGkgw6ggcGnDuSBvIG1lbm8gaWwgdGVtcG8gZGkgcHJpbWEgYW5pbWF6aW9uZSBkZWwgZ3JhZmljby4gRmluaXRvIHF1ZXN0byBzaSByZXNldHRhIGxvIHpvb21cclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBhcHAtb3ZlcmZsb3ctdmlzaWJsZVwiIHdpZGdldD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJjYXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3snVG9wIEFjdGl2aXRpZXMnIHwgbG9jYWxpemUgOiBsY319XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJEaXJJbmZvc1wiPiZuYnNwOy0mbmJzcDt7eycnICsgRGlySW5mb3MuY3B1cyArICcgJyArICgnQ1BVcycgfCBsb2NhbGl6ZSA6IGxjKSArIChEaXJJbmZvcy5yc3NwbGFuID8gJyAtICcgKyBEaXJJbmZvcy5yc3NwbGFuIDogJycpfX08L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHdpZGdldC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGFwcC1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWRhdGV0aW1lIFtSZWFkb25seV09XCJhdXRvVXBkYXRlXCIgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJmcm9tXCIgbmFtZT1cImZpbHRlcmZyb21cIiBbUGxhY2Vob2xkZXJdPVwiJ0Zyb20nIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1kYXRldGltZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1kYXRldGltZSAgW1JlYWRvbmx5XT1cImF1dG9VcGRhdGVcIiBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnRvXCIgbmFtZT1cImZpbHRlcnRvXCIgW1BsYWNlaG9sZGVyXT1cIidUbycgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWRhdGV0aW1lPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJzZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgfHwgYXV0b1VwZGF0ZVwiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb24gYnRuIGFwcC1idG4tc2VhcmNoIGFwcC1tYXJnaW4tdG9wLTIwXCIgKGNsaWNrKT1cInNlbmRTZWFyY2goKVwiIHR5cGU9XCJzdWJtaXRcIj48aSBjbGFzcz1cImZhIGZhLXNlYXJjaFwiPjwvaT48L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWFic29sdXRlIGFwcC1yaWdodC0yNSBhcHAtdG9wLTQwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB1bGwtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snVXBkYXRlIGV2ZXJ5JyB8IGxvY2FsaXplIDogbGN9fSZuYnNwOzxpbnB1dCBbcmVhZG9ubHldPVwiYXV0b1VwZGF0ZVwiIG1heGxlbmd0aD1cIjNcIiBjbGFzcz1cImZvcm0tY29udHJvbCBhcHAtdXBkZXZlcnktaW5wdXRcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2Vjb25kc1wiIG5hbWU9XCJzZWNzXCIgLz4mbmJzcDt7eydzZWNvbmQvcycgfCBsb2NhbGl6ZSA6IGxjfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodCBtLXQtMiBhcHAtbWFyZ2luLXJpZ2h0LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJhdXRvVXBkYXRlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiYXV0b1VwZGF0ZUNoYW5nZWQoKTtcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNsaWRlciByb3VuZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYXBwLW1hcmdpbi10b3AtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFzZWFyY2hWaWV3XCI+PGVtPnt7J0xvYWRpbmcgRGF0YScgfCBsb2NhbGl6ZSA6IGxjfX08L2VtPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFZpZXdcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBhcHAtbm8tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08aDUgY2xhc3M9XCJhcHAtbWFyZ2luLXRvcC01XCI+e3snQWN0aXZlIFNlc3Npb25zJyB8IGxvY2FsaXplIDogbGN9fTwvaDU+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDI5MHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy1saW5lLWNoYXJ0ICpuZ0lmPVwiVG9wQWN0aXZlU2Vzc2lvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTWluR3JpZERpc3RhbmNlXT1cIjY1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1RpbWVsaW5lXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZpbmFsSW5zdGFudHNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGVnZW5kUGFkZGluZ109XCJ7dG9wOiAwLCBib3R0b206IDcsIHJpZ2h0OiAwLCBsZWZ0OiAxMH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRmlsbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW01lcmdlRGF0YXNldHNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEYXRhXT1cIlRvcEFjdGl2ZVNlc3Npb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0xlZ2VuZF09XCJ0cnVlXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ0b3BhY3RzZXNzaW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RhdGFHcm91cGluZ1RocmVzaG9sZF09XCI5OTk5OTk5OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwiZGF0YVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiIChjaGFydExvYWRlZCk9XCJvbkNoYXJ0TG9hZGVkKCRldmVudClcIj48L2VzLWxpbmUtY2hhcnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT57eydUb3AgTm9kZXMnIHwgbG9jYWxpemUgOiBsY319PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtdGFibGUgWyhuZ01vZGVsKV09XCJUb3BOb2Rlc1wiIFtIaWRlUGFnaW5nXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pblwiPnt7J05vZGUnIHwgbG9jYWxpemUgOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eydOb2RlIERlc2NyaXB0aW9uJyB8IGxvY2FsaXplIDogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pblwiPnt7J0FjdGl2aXR5JyB8IGxvY2FsaXplIDogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pbiBhcHAtbm93cmFwXCI+e3snTm9kZSBUeXBlJyB8IGxvY2FsaXplIDogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtbm9kZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFwcC1jb2wtbWluXCI+PHN0cm9uZz57e25vZGUucHJvZm5vZGVpZH19PC9zdHJvbmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiB0aXRsZT1cInt7bm9kZS5wcm9mbm9kZWRlc2N9fVwiPnt7bm9kZS5wcm9mbm9kZWRlc2MubGVuZ3RoID4gNDAgPyBub2RlLnByb2Zub2RlZGVzYy5zdWJzdHIoMCw0MCkgKyBcIi4uLlwiIDogbm9kZS5wcm9mbm9kZWRlc2N9fTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXBwLW5vd3JhcFwiPnt7bm9kZS5hY3Rpdml0eSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tub2RlLm5vZGV0eXBlbmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VzLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+e3snVG9wIFNlc3Npb25zJyB8IGxvY2FsaXplIDogbGN9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLXRhYmxlIFsobmdNb2RlbCldPVwiVG9wU2Vzc2lvbnNcIiBbSGlkZVBhZ2luZ109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiYXBwLWNvbC1taW5cIj5JRDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snVXNlcicgfCBsb2NhbGl6ZSA6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudCcgfCBsb2NhbGl6ZSA6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1Byb2Nlc3MnIHwgbG9jYWxpemUgOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eydBY3Rpdml0eScgfCBsb2NhbGl6ZSA6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkNwdTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2FpdDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+REI8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlNjcmlwdDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+VGhyb3R0bGU8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlNsZWVwPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5OZXR3b3JraW5nPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5JTzwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHkgbGV0LXNlc3Npb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHN0cm9uZz57e3Nlc3Npb24uc2lkfX08L3N0cm9uZz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi51c2VyfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi50ZW5hbnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLmJncHJvY2Vzc319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uYWN0aXZpdHkgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5jcHUgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi53YWl0IHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uZGIgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5zY3JpcHQgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi50aHJvdHRsZSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnNsZWVwIHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24ubmV0IHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uaW8gfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXMtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYWN0X3NlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3RvcGFjdC90b3BhY3Rfc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdG9wYWN0L3RvcGFjdF9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxELGlCQUFpQjtBQUNqQixPQUFPLEVBQXNCLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFlbkUsTUFBTSxPQUFPLHlCQUF5QjtJQVVsQyxZQUNXLFFBQXFCLEVBQ3JCLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2hDLFFBQWtCLEVBQ2xCLE1BQXdDLEVBQ3hDLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ0ksT0FBZTtRQVB6QyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLE9BQUUsR0FBRixFQUFFLENBQXFC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LENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZFLEtBQUssQ0FBQyxLQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFM0YsMkdBQTJHO1lBQy9HLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBNUxRLHlCQUF5QixtUEFrQnRCLGVBQWU7MEdBbEJsQix5QkFBeUIsd0NBTHZCO1FBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO0tBQ2pFLDBCQ3RDTCxpa1JBcUhNOzJGRDVFTyx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksZUFBZSxhQUNkO3dCQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtxQkFDakU7OzBCQXFCSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQmFzZUNoYXJ0Q29tcG9uZW50LCBEYXRlVmFsdWUsIExpbWl0LCBMaW5lQ2hhcnREYXRhLCBMaW5lU2VyaWUgfSBmcm9tIFwiQGVzZmFlbnphL2VzLWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZU1vZHVsZUNvbW11bmljYXRpb25zQ29uc3VtZXIgfSBmcm9tIFwiLi4vLi4vY29tbXVuaWNhdGlvbnMvYmFzZS9CYXNlTW9kdWxlQ29tbXVuaWNhdGlvbnNDb25zdW1lclwiO1xyXG5pbXBvcnQgeyBEaXJlY3RvckluZm9zIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL0RpcmVjdG9ySW5mb3NcIjtcclxuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXh0ZXJuYWxzL1JlcG9zaXRvcnlcIjtcclxuaW1wb3J0IHsgVG9wQWN0aXZpdGllc0RhdGFWaWV3IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1RvcEFjdGl2aXRpZXNEYXRhVmlld1wiO1xyXG5pbXBvcnQgeyBUb3BOb2RlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1RvcE5vZGVcIjtcclxuaW1wb3J0IHsgVG9wU2Vzc2lvbiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tcG9uZW50cy9Ub3BTZXNzaW9uXCI7XHJcbmltcG9ydCB7IEFETV9CQUNLRU5EX1VSTCB9IGZyb20gXCIuLi8uLi90b2tlbnNcIjtcclxuXHJcbi8vIExvY2FsaXp6YXppb25lXHJcbmltcG9ydCB7IEFkbVRvcEFjdGl2aXRpZUxvYyB9IGZyb20gXCIuL3RvcGFjdF9zZWFyY2guY29tcG9uZW50LmxvY1wiO1xyXG5cclxuLyoqXHJcbiAqIERpY2hpYXJhemlvbmUgZGVsbGEgdmFyaWFiaWxlIGdsb2JhbGUgZGF5anMuIEwnb25lcmUgZGkgXCJjcmVhcmxhXCIgw6ggYWZmaWRhdG8gYWxsJ2FwcGxpY2F6aW9uZSBjaGUgdXRpbGl6emEgcXVlc3RhIGxpYnJlcmlhLCBcclxuICogY2hlIGRvdnLDoCBpbXBvcnRhcmUgbG8gc2NyaXB0IGdsb2JhbGUgZGkgZGF5anMgbmVsbGEgQ0xJXHJcbiAqL1xyXG4gZGVjbGFyZSB2YXIgZGF5anM6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwidG9wYWN0X3NlYXJjaFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQWRtVG9wQWN0aXZpdGllTG9jIH1cclxuICAgIF0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RvcGFjdF9zZWFyY2guY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtVG9wQWN0aXZpdGllc0NvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgc2VhcmNoVmlldzogVG9wQWN0aXZpdGllc0RhdGFWaWV3ID0gbmV3IFRvcEFjdGl2aXRpZXNEYXRhVmlldygpO1xyXG4gICAgcHVibGljIHN0b3JhZ2VTdWI6IGFueTtcclxuICAgIHByaXZhdGUgTGFzdERhdGFQb2ludDogYW55O1xyXG5cclxuICAgIHB1YmxpYyBhdXRvVXBkYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc2Vjb25kczogc3RyaW5nID0gXCI1XCI7XHJcblxyXG4gICAgcHJpdmF0ZSBDaGFydEluc3RhbmNlOiBCYXNlQ2hhcnRDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGRhdGVFeHRzOiBEYXRlU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IFByZWZlcmVuY2VzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgICAgICBwcml2YXRlIF9zdGF0ZTogQmFzZU1vZHVsZUNvbW11bmljYXRpb25zQ29uc3VtZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIVFRQU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBASW5qZWN0KEFETV9CQUNLRU5EX1VSTCkgcHJpdmF0ZSBiYWNrZW5kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RhdGUuaGFuZGxlTmF2aWdhdGlvbih0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSksIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgSW5pdChpZ25vcmVTdG9yZSkge1xyXG4gICAgICAgIHRoaXMuZG9Jbml0KGlnbm9yZVN0b3JlKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb0luaXQoaWdub3JlU3RvcmFnZSkge1xyXG4gICAgICAgIGxldCBpdGVtID0gYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbTxUb3BBY3Rpdml0aWVzRGF0YVZpZXc+KFwiSG90U2VhcmNoVG9wQWN0XCIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghaWdub3JlU3RvcmFnZSAmJiBpdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQobnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKFwiL3BhZ2VzL2FkbS90b3BhY3RcIik7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgPSBbXTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIkhvdFNlYXJjaFRvcEFjdFwiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IFRvcEFjdGl2aXRpZXNEYXRhVmlldykge1xyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gSG90UG90YXRvO1xyXG4gICAgICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0VG9wQWN0aXZpdGllc1wiXSwgdGhpcy5zZWFyY2hWaWV3LCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSBuZXcgVG9wQWN0aXZpdGllc0RhdGFWaWV3KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFNlYXJjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yYWdlU3ViKVxyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUsIHVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlLCBzZWFyY2hWaWV3T3ZlcnJpZGU6IFRvcEFjdGl2aXRpZXNEYXRhVmlldyA9IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnBhZ2UgPSAxO1xyXG5cclxuICAgICAgICB0aGlzLlBPU1RHZXRJdGVtcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0VG9wQWN0aXZpdGllc1wiXSwgc2VhcmNoVmlld092ZXJyaWRlID8/IHRoaXMuc2VhcmNoVmlldywgdXBkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0SXRlbXModXJsOiBzdHJpbmcsIGRhdGE6IFRvcEFjdGl2aXRpZXNEYXRhVmlldywgdXBkYXRlOiBib29sZWFuKSB7XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PFRvcEFjdGl2aXRpZXNEYXRhVmlldz4odXJsLCBkYXRhKS5zdWJzY3JpYmUoYXN5bmMgKHQpID0+IHtcclxuICAgICAgICAgICAgLy9TZSBzb25vIGluIG1vZGFsaXTDoCBkaSB1cGRhdGUgbm9uIGRldm8gdG9jY2FyZSBsYSBzZWFyY2hWaWV3IGF0dHVhbGUgc2Ugbm9uIHBlciBpbCBzZWFyY2hpbnByb2dyZXNzIGNoZSB2aWVuZSBtZXNzbyBkYWxsJ2VzIHRhYmxlXHJcbiAgICAgICAgICAgIGlmICghdXBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIkhvdFNlYXJjaFRvcEFjdFwiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciBkaXJpbmZvcyA9IGF3YWl0IHRoaXMuZ2V0RGlyZWN0b3JJbmZvcygpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJldmlld0JpbmRpbmdzKHVwZGF0ZSwgdCwgZGlyaW5mb3MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERpcmVjdG9ySW5mb3MoKTogUHJvbWlzZTxEaXJlY3RvckluZm9zPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGlyZWN0b3JJbmZvcz4odGhpcy5iYWNrZW5kICsgUmVwb3NpdG9yeVtcIkdFVF9BZG1fR2V0SW5mb3NcIl0pLnBpcGUobWFwKHJlcyA9PiB7IHJldHVybiByZXM7IH0pKS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRyYXNmb3JtYXppb25lIGRhIHNlYXJjaHZpZXcgY29uIHVuaWNvIGVsZW1lbnRvIGNvbiB0dXR0byBhaSAzIGVsZW1lbnRpOlxyXG4gICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHcmFmaWNvLCBUb3BOb2RlcyBlIFRvcFNlc3Npb25zXHJcbiAgICBUb3BBY3RpdmVTZXNzaW9uczogTGluZUNoYXJ0RGF0YTtcclxuICAgIFRvcE5vZGVzOiBUb3BOb2RlW107XHJcbiAgICBUb3BTZXNzaW9uczogVG9wU2Vzc2lvbltdO1xyXG4gICAgRGlySW5mb3M6IERpcmVjdG9ySW5mb3M7XHJcbiAgICBzZXJpZXNQcm9wZXJ0aWVzTWFwcGluZzogeyBbaW5kZXg6IHN0cmluZ106IExpbmVTZXJpZSB9ID0ge307XHJcbiAgICBwcm9wZXJ0aWVzU2VyaWVzTWFwcGluZzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICAgICAgIFtcImNwdXRpbWVcIl06IFwiQ1BVXCIsXHJcbiAgICAgICAgW1wid2FpdHRpbWVcIl06IFwiV2FpdFwiLFxyXG4gICAgICAgIFtcInNjcmlwdHRpbWVcIl06IFwiU2NyaXB0aW5nXCIsXHJcbiAgICAgICAgW1wiZGJ0aW1lXCJdOiBcIkRCXCIsXHJcbiAgICAgICAgW1wibmV0dGltZVwiXTogXCJOZXR3b3JrXCIsXHJcbiAgICAgICAgW1widGhyb3R0bGV0aW1lXCJdOiBcIlRocm90dGxpbmdcIixcclxuICAgICAgICBbXCJzbGVlcHRpbWVcIl06IFwiU2xlZXBcIixcclxuICAgICAgICBbXCJpb3RpbWVcIl06IFwiSU9cIlxyXG4gICAgfTtcclxuXHJcbiAgICByZXZpZXdCaW5kaW5ncyh1cGRhdGU6IGJvb2xlYW4sIHNlYXJjaFZpZXdPdmVycmlkZT8sIGRpckluZm9zPzogRGlyZWN0b3JJbmZvcykge1xyXG4gICAgICAgIGxldCByZWZlcmVuY2UgPSAoc2VhcmNoVmlld092ZXJyaWRlID8/IHRoaXMuc2VhcmNoVmlldykuaXRlbXNbMF07XHJcbiAgICAgICAgdGhpcy5Ub3BOb2RlcyA9IHJlZmVyZW5jZS50b3Bub2RlcztcclxuICAgICAgICB0aGlzLlRvcFNlc3Npb25zID0gcmVmZXJlbmNlLnRvcHNlc3Npb25zO1xyXG4gICAgICAgIHRoaXMuRGlySW5mb3MgPSBkaXJJbmZvcztcclxuXHJcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UuYWN0c2Vzc2lvbnMgfHwgcmVmZXJlbmNlLmFjdHNlc3Npb25zLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuVG9wQWN0aXZlU2Vzc2lvbnMgPSBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgc2VyaWVzOiBMaW5lU2VyaWVbXSA9IFtdOyAgICAgIFxyXG4gICAgICAgIGxldCBwcm9wcyA9IE9iamVjdC5rZXlzKHJlZmVyZW5jZS5hY3RzZXNzaW9uc1swXSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHNbaV0gIT0gJ3NhbXBsZXRpbWUnKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgcyA9IG5ldyBMaW5lU2VyaWUodGhpcy5wcm9wZXJ0aWVzU2VyaWVzTWFwcGluZ1twcm9wc1tpXV0sIFtdLCBudWxsLCBudWxsLCBcInNlc3Npb25zXCIpO1xyXG4gICAgICAgICAgICAgICAgc2VyaWVzLnB1c2gocyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlcmllc1Byb3BlcnRpZXNNYXBwaW5nW3Byb3BzW2ldXSA9IHM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVmZXJlbmNlLmFjdHNlc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtcmVmID0gcmVmZXJlbmNlLmFjdHNlc3Npb25zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdGhlRCA9IG5ldyBEYXRlKGl0ZW1yZWYuc2FtcGxldGltZSk7XHJcblxyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2ldICE9ICdzYW1wbGV0aW1lJyAmJiAoIXVwZGF0ZSB8fCB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHRoZUQpLmlzQWZ0ZXIodGhpcy5MYXN0RGF0YVBvaW50KSkpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJpZXNQcm9wZXJ0aWVzTWFwcGluZ1twcm9wc1tpXV0udmFsdWVzLnB1c2gobmV3IERhdGVWYWx1ZSh0aGVELCBpdGVtcmVmW3Byb3BzW2ldXSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHVwZGF0ZSAmJiB0aGlzLkNoYXJ0SW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSBuZXcgTGluZUNoYXJ0RGF0YShzZXJpZXMsIG5ldyBMaW1pdChkaXJJbmZvcz8udGhyZWFkcywgdGhpcy5sYy5sb2MoXCJNYXhpbXVtIFRocmVhZHNcIikpKTtcclxuICAgICAgICAgICAgaWYgKHNlcmllcy5zb21lKHQgPT4gdC52YWx1ZXMubGVuZ3RoID4gMCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuQ2hhcnRJbnN0YW5jZS5hZGREYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5MYXN0RGF0YVBvaW50ID0gc2VyaWVzLm1hcCh0ID0+IGRheWpzLm1heCh0LnZhbHVlcy5tYXAodiA9PiB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHYuZCkpKSlbMF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuVG9wQWN0aXZlU2Vzc2lvbnMgPSBuZXcgTGluZUNoYXJ0RGF0YShzZXJpZXMsIG5ldyBMaW1pdChkaXJJbmZvcz8udGhyZWFkcywgdGhpcy5sYy5sb2MoXCJNYXhpbXVtIFRocmVhZHNcIikpKTtcclxuICAgICAgICAgICAgdGhpcy5MYXN0RGF0YVBvaW50ID0gc2VyaWVzLm1hcCh0ID0+IGRheWpzLm1heCh0LnZhbHVlcy5tYXAodiA9PiB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHYuZCkpKSlbMF07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICNyZWdpb24gR2VzdGlvbmUgdXBkYXRlIGF1dG9tYXRpY29cclxuICAgIHVwZGF0ZVRpbWVyOiBhbnk7XHJcbiAgICBhdXRvVXBkYXRlQ2hhbmdlZCgpIHtcclxuICAgICAgICBpZiAoIS9eWzEtOV1cXGQqJC8udGVzdCh0aGlzLnNlY29uZHMpKVxyXG4gICAgICAgICAgICB0aGlzLnNlY29uZHMgPSAnMTAnO1xyXG4gICAgICAgIGNvbnN0IHNlY29uZHNJbk1zID0gcGFyc2VJbnQodGhpcy5zZWNvbmRzLCBudWxsKSAqIDEwMDA7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b1VwZGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRTZWFyY2goZmFsc2UsIHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4geyB0aGlzLnNlbmRTZWFyY2goZmFsc2UsIHRydWUpOyB9LCBzZWNvbmRzSW5Ncyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVyKTtcclxuICAgIH1cclxuICAgIC8vICNlbmRyZWdpb25cclxuXHJcbiAgICBwcml2YXRlIGZyb206IERhdGU7XHJcbiAgICBwcml2YXRlIHRvOiBEYXRlO1xyXG5cclxuICAgIGRhdGFTZWxlY3Rpb25DaGFuZ2VkKGV2ZW50OiB7IGZyb206IERhdGUsIHRvOiBEYXRlLCBpbml0aWFsOiBib29sZWFuIH0pIHtcclxuICAgICAgICB0aGlzLmZyb20gPSBldmVudC5pbml0aWFsID8gKHRoaXMuc2VhcmNoVmlldy5maWx0ZXJmcm9tID8gdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih0aGlzLnNlYXJjaFZpZXcuZmlsdGVyZnJvbSkudG9EYXRlKCkgOiBcIlwiKSA6IGV2ZW50LmZyb207XHJcbiAgICAgICAgdGhpcy50byA9IGV2ZW50LmluaXRpYWwgPyAodGhpcy5zZWFyY2hWaWV3LmZpbHRlcnRvID8gdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih0aGlzLnNlYXJjaFZpZXcuZmlsdGVydG8pLnRvRGF0ZSgpIDogXCJcIikgOiBldmVudC50bztcclxuXHJcbiAgICAgICAgdmFyIHBzZXVkb1NlYXJjaFZpZXc6IFRvcEFjdGl2aXRpZXNEYXRhVmlldyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zZWFyY2hWaWV3KSk7XHJcbiAgICAgICAgcHNldWRvU2VhcmNoVmlldy5maWx0ZXJmcm9tID0gdGhpcy5mcm9tID8gZGF5anModGhpcy5mcm9tKS5mb3JtYXQodGhpcy5sYy50b2tlbihcImdldEZ1bGxEYXRlRGlzcGxheUZvcm1hdFwiKSkgOiBcIlwiO1xyXG4gICAgICAgIHBzZXVkb1NlYXJjaFZpZXcuZmlsdGVydG8gPSB0aGlzLnRvID8gZGF5anModGhpcy50bykuZm9ybWF0KHRoaXMubGMudG9rZW4oXCJnZXRGdWxsRGF0ZURpc3BsYXlGb3JtYXRcIikpIDogXCJcIjtcclxuICAgICAgICB0aGlzLnNlbmRTZWFyY2godHJ1ZSwgdHJ1ZSwgcHNldWRvU2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFydExvYWRlZChjaGFydDogQmFzZUNoYXJ0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlID0gY2hhcnQ7XHJcbiAgICAgICAgY2hhcnQuQ2hhcnQuZXZlbnRzLm9uKFwicmVhZHlcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAoPGFtNGNoYXJ0cy5YWUNoYXJ0PmNoYXJ0LkNoYXJ0KS54QXhlcy5lYWNoKHggPT4geC56b29tKHsgc3RhcnQ6IDAsIGVuZDogMSB9LCB0cnVlLCB0cnVlKSk7XHJcbiAgICAgICAgICAgICg8YW00Y2hhcnRzLlhZQ2hhcnQ+Y2hhcnQuQ2hhcnQpLnlBeGVzLmVhY2goeSA9PiB5Lnpvb20oeyBzdGFydDogMCwgZW5kOiAxIH0sIHRydWUsIHRydWUpKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAoPGFtNGNoYXJ0cy5YWUNoYXJ0PmNoYXJ0LkNoYXJ0KS54QXhlcy5lYWNoKHggPT4geC56b29tKHsgc3RhcnQ6IDAsIGVuZDogMSB9LCB0cnVlLCB0cnVlKSk7XHJcbiAgICAgICAgICAgICAgICAoPGFtNGNoYXJ0cy5YWUNoYXJ0PmNoYXJ0LkNoYXJ0KS55QXhlcy5lYWNoKHkgPT4geS56b29tKHsgc3RhcnQ6IDAsIGVuZDogMSB9LCB0cnVlLCB0cnVlKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gNTAwIG1pbGxpc2Vjb25kaSDDqCBwacO5IG8gbWVubyBpbCB0ZW1wbyBkaSBwcmltYSBhbmltYXppb25lIGRlbCBncmFmaWNvLiBGaW5pdG8gcXVlc3RvIHNpIHJlc2V0dGEgbG8gem9vbVxyXG4gICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGFwcC1vdmVyZmxvdy12aXNpYmxlXCIgd2lkZ2V0PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC11cHBlcmNhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eydUb3AgQWN0aXZpdGllcycgfCBsb2NhbGl6ZSA6IGxjfX1cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkRpckluZm9zXCI+Jm5ic3A7LSZuYnNwO3t7JycgKyBEaXJJbmZvcy5jcHVzICsgJyAnICsgKCdDUFVzJyB8IGxvY2FsaXplIDogbGMpICsgKERpckluZm9zLnJzc3BsYW4gPyAnIC0gJyArIERpckluZm9zLnJzc3BsYW4gOiAnJyl9fTwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgd2lkZ2V0LWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYXBwLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gcm9sZT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhcHAtZmlyc3QtZmlsdGVyLWxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0tZGF0ZXRpbWUgW1JlYWRvbmx5XT1cImF1dG9VcGRhdGVcIiBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmZyb21cIiBuYW1lPVwiZmlsdGVyZnJvbVwiIFtQbGFjZWhvbGRlcl09XCInRnJvbScgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWRhdGV0aW1lPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWRhdGV0aW1lICBbUmVhZG9ubHldPVwiYXV0b1VwZGF0ZVwiIFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVydG9cIiBuYW1lPVwiZmlsdGVydG9cIiBbUGxhY2Vob2xkZXJdPVwiJ1RvJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0tZGF0ZXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyB8fCBhdXRvVXBkYXRlXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtYWJzb2x1dGUgYXBwLXJpZ2h0LTI1IGFwcC10b3AtNDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydVcGRhdGUgZXZlcnknIHwgbG9jYWxpemUgOiBsY319Jm5ic3A7PGlucHV0IFtyZWFkb25seV09XCJhdXRvVXBkYXRlXCIgbWF4bGVuZ3RoPVwiM1wiIGNsYXNzPVwiZm9ybS1jb250cm9sIGFwcC11cGRldmVyeS1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWNvbmRzXCIgbmFtZT1cInNlY3NcIiAvPiZuYnNwO3t7J3NlY29uZC9zJyB8IGxvY2FsaXplIDogbGN9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLXJpZ2h0IG0tdC0yIGFwcC1tYXJnaW4tcmlnaHQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzd2l0Y2hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImF1dG9VcGRhdGVcIiAobmdNb2RlbENoYW5nZSk9XCJhdXRvVXBkYXRlQ2hhbmdlZCgpO1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2xpZGVyIHJvdW5kXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBhcHAtbWFyZ2luLXRvcC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiIXNlYXJjaFZpZXdcIj48ZW0+e3snTG9hZGluZyBEYXRhJyB8IGxvY2FsaXplIDogbGN9fTwvZW0+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoVmlld1wiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGFwcC1uby1wYWRkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxoNSBjbGFzcz1cImFwcC1tYXJnaW4tdG9wLTVcIj57eydBY3RpdmUgU2Vzc2lvbnMnIHwgbG9jYWxpemUgOiBsY319PC9oNT4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMjkwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLWxpbmUtY2hhcnQgKm5nSWY9XCJUb3BBY3RpdmVTZXNzaW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtNaW5HcmlkRGlzdGFuY2VdPVwiNjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVGltZWxpbmVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRmluYWxJbnN0YW50c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtMZWdlbmRQYWRkaW5nXT1cInt0b3A6IDAsIGJvdHRvbTogNywgcmlnaHQ6IDAsIGxlZnQ6IDEwfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtGaWxsXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTWVyZ2VEYXRhc2V0c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RhdGFdPVwiVG9wQWN0aXZlU2Vzc2lvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTGVnZW5kXT1cInRydWVcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInRvcGFjdHNlc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRGF0YUdyb3VwaW5nVGhyZXNob2xkXT1cIjk5OTk5OTk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJkYXRhU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgKGNoYXJ0TG9hZGVkKT1cIm9uQ2hhcnRMb2FkZWQoJGV2ZW50KVwiPjwvZXMtbGluZS1jaGFydD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1Pnt7J1RvcCBOb2RlcycgfCBsb2NhbGl6ZSA6IGxjfX08L2g1PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlcy10YWJsZSBbKG5nTW9kZWwpXT1cIlRvcE5vZGVzXCIgW0hpZGVQYWdpbmddPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluXCI+e3snTm9kZScgfCBsb2NhbGl6ZSA6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J05vZGUgRGVzY3JpcHRpb24nIHwgbG9jYWxpemUgOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluXCI+e3snQWN0aXZpdHknIHwgbG9jYWxpemUgOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImFwcC1jb2wtbWluIGFwcC1ub3dyYXBcIj57eydOb2RlIFR5cGUnIHwgbG9jYWxpemUgOiBsY319PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNib2R5IGxldC1ub2RlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYXBwLWNvbC1taW5cIj48c3Ryb25nPnt7bm9kZS5wcm9mbm9kZWlkfX08L3N0cm9uZz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIHRpdGxlPVwie3tub2RlLnByb2Zub2RlZGVzY319XCI+e3tub2RlLnByb2Zub2RlZGVzYy5sZW5ndGggPiA0MCA/IG5vZGUucHJvZm5vZGVkZXNjLnN1YnN0cigwLDQwKSArIFwiLi4uXCIgOiBub2RlLnByb2Zub2RlZGVzY319PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhcHAtbm93cmFwXCI+e3tub2RlLmFjdGl2aXR5IHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e25vZGUubm9kZXR5cGVuYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXMtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT57eydUb3AgU2Vzc2lvbnMnIHwgbG9jYWxpemUgOiBsY319PC9oNT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtdGFibGUgWyhuZ01vZGVsKV09XCJUb3BTZXNzaW9uc1wiIFtIaWRlUGFnaW5nXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJhcHAtY29sLW1pblwiPklEPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eydVc2VyJyB8IGxvY2FsaXplIDogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snVGVuYW50JyB8IGxvY2FsaXplIDogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+e3snUHJvY2VzcycgfCBsb2NhbGl6ZSA6IGxjfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J0FjdGl2aXR5JyB8IGxvY2FsaXplIDogbGN9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+Q3B1PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XYWl0PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5EQjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U2NyaXB0PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJvdHRsZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U2xlZXA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5ldHdvcmtpbmc8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPklPPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtc2Vzc2lvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7c2Vzc2lvbi5zaWR9fTwvc3Ryb25nPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnVzZXJ9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnRlbmFudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uYmdwcm9jZXNzfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5hY3Rpdml0eSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLmNwdSB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLndhaXQgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5kYiB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnNjcmlwdCB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tzZXNzaW9uLnRocm90dGxlIHwgbnVtYmVyIDogJzEuMS0yJyA6ICdpdCd9fSAlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3Nlc3Npb24uc2xlZXAgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5uZXQgfCBudW1iZXIgOiAnMS4xLTInIDogJ2l0J319ICU8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7c2Vzc2lvbi5pbyB8IG51bWJlciA6ICcxLjEtMicgOiAnaXQnfX0gJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lcy10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -3,11 +3,11 @@ import { Component, Inject, ViewChild } from "@angular/core";
|
|
|
3
3
|
import { HttpParams } from "@angular/common/http";
|
|
4
4
|
import { EsTableOperationDefinition } from "@esfaenza/es-table";
|
|
5
5
|
import { LocalizationService } from "@esfaenza/localizations";
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
// Applicazione
|
|
9
|
-
import { AdmWrkLoc } from "../";
|
|
6
|
+
import { ProcessesView } from "../../models/components/ProcessesView";
|
|
7
|
+
import { Repository } from "../../models/externals/Repository";
|
|
10
8
|
import { ADM_BACKEND_URL } from "../../tokens";
|
|
9
|
+
// Localizzazione
|
|
10
|
+
import { AdmWrkLoc } from "./adm_wrk.component.loc";
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@esfaenza/extensions";
|
|
13
13
|
import * as i2 from "@esfaenza/localizations";
|
|
@@ -38,7 +38,7 @@ export class AdmWrkComponent {
|
|
|
38
38
|
this.newCg = "";
|
|
39
39
|
this.CGs = [];
|
|
40
40
|
this.CgDictionariesLoaded = false;
|
|
41
|
-
this._state.handleNavigation(this.route.snapshot.data["title"], false);
|
|
41
|
+
this._state.handleNavigation(this.lc.loc(this.route.snapshot.data["title"]), false);
|
|
42
42
|
this.DynamicOps = [
|
|
43
43
|
new EsTableOperationDefinition("trace_on", this.lc.loc("Activate Process Tracing"), "fa fa-circle text-danger", "", "trace_enabled", "N"),
|
|
44
44
|
new EsTableOperationDefinition("trace_off", this.lc.loc("Deactivate Process Tracing"), "fa fa-circle text-success", "", "trace_enabled", "Y"),
|
|
@@ -68,16 +68,13 @@ export class AdmWrkComponent {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
init(HotPotato) {
|
|
71
|
-
//Se ho la HotPotato vuol dire che sono appena tornato dall'edit/nuovo. Rifaccio la ricerca in base ai filtri precedenti
|
|
72
|
-
//Altirmenti genero il modello nuovo normalmente
|
|
73
71
|
if (HotPotato) {
|
|
74
72
|
this.searchView = HotPotato;
|
|
75
73
|
this.POSTGetProcesses(this.backend + Repository["POST_Adm_GetServerWorkers"], this.searchView);
|
|
76
74
|
}
|
|
77
75
|
else {
|
|
78
76
|
this.searchView = new ProcessesView();
|
|
79
|
-
|
|
80
|
-
setTimeout(() => this.sendSearch());
|
|
77
|
+
this.sendSearch();
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
80
|
sendSearch(resetPage = true) {
|
|
@@ -162,7 +159,7 @@ export class AdmWrkComponent {
|
|
|
162
159
|
}
|
|
163
160
|
}
|
|
164
161
|
AdmWrkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AdmWrkComponent, deps: [{ token: i1.UtilityService }, { token: i1.MessageService }, { token: i2.LocalizationService }, { token: i3.PreferencesService }, { token: i4.BaseModuleCommunicationsConsumer }, { token: i5.HTTPService }, { token: i6.ActivatedRoute }, { token: i7.Location }, { token: ADM_BACKEND_URL }], target: i0.ɵɵFactoryTarget.Component });
|
|
165
|
-
AdmWrkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AdmWrkComponent, selector: "adm_wrk", viewQueries: [{ propertyName: "cgFrom", first: true, predicate: ["cgFrom"], descendants: true }, { propertyName: "dlgChangeCg", first: true, predicate: ["dlgChangeCg"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Processes' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtertenant\" name=\"filterTenant\" [Placeholder]=\"'Tenant' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filterUser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterstate\" name=\"filterState\" [Placeholder]=\"'State' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper app-padding-top-10\">\r\n <form-checkbox [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterglobal\" name=\"filterglobal\"></form-checkbox> \r\n <span class=\"app-pointer\" (click)=\"searchView.filterglobal = !searchView.filterglobal\">{{'Global' | localize : lc}}</span>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Processes' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [DynamicOperations]=\"DynamicOps\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\" (onDynamicOperation)=\"onOperation($event)\">\r\n <span class=\"app-nowrap\" *td=\"'full_wait_stack'; let value\">\r\n <span class=\"fa fa-list app-pointer\" (click)=\"valueToShow = value; dlgValue.show();\"></span> \r\n {{value.length > 70 ? value.substr(0, 67) + '...' : value}}\r\n </span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\">\r\n <button class=\"btn btn-secondary pull-left\" type=\"button\" (click)=\"back()\">{{'Back' | localize : lc}}</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgChangeCg=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-lg\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">{{'Change Consumer Group' | localize : lc}}</h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgChangeCg.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <form novalidate #cgFrom=\"ngForm\" (ngSubmit)=\"cgFrom.valid && doChangeCg() && dlgChangeCg.hide()\">\r\n <div class=\"modal-body\">\r\n <form-select [Label]=\"'New Consumer Group' | localize : lc\" [(ngModel)]=\"newCg\" name=\"newcg\" [Source]=\"CGs\" required [Last]=\"true\"></form-select>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-5\" (click)=\"dlgChangeCg.hide()\">{{'Close' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">{{'Confirm' | localize : lc}}</button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div bsModal #dlgValue=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl\" app-draggable=\".modal-header\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title pull-left\">\r\n Full Wait Stack\r\n </h5>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgValue.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body app-padidng-bottom-20 app-padding-top-20\">\r\n <span class=\"app-wrap\">\r\n {{valueToShow}}\r\n </span>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"dlgValue.hide()\">Chiudi</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i8.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { type: i8.FormCheckboxComponent, selector: "form-checkbox" }, { type: i9.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "SecondarySource", "TertiarySource", "UseSelectionCache", "ShowItemGroupsColumns", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }, { type: i8.FormSelectComponent, selector: "form-select", inputs: ["SelectLabel", "PlaceholderValue", "RequiredPlaceholder", "EmptyFieldValue", "ShowValidationSymbol"] }], directives: [{ type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdIf", "tdClass"] }, { type: i11.ModalDirective, selector: "[bsModal]", inputs: ["config", "closeInterceptor"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["bs-modal"] }, { type: i10.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "localize": i2.LocalizePipe }, viewProviders: [{ provide: LocalizationService, useClass: AdmWrkLoc }] });
|
|
162
|
+
AdmWrkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AdmWrkComponent, selector: "adm_wrk", viewQueries: [{ propertyName: "cgFrom", first: true, predicate: ["cgFrom"], descendants: true }, { propertyName: "dlgChangeCg", first: true, predicate: ["dlgChangeCg"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Processes' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtertenant\" name=\"filterTenant\" [Placeholder]=\"'Tenant' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filterUser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterstate\" name=\"filterState\" [Placeholder]=\"'State' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper app-padding-top-10\">\r\n <form-checkbox [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterglobal\" name=\"filterglobal\"></form-checkbox> \r\n <span class=\"app-pointer\" (click)=\"searchView.filterglobal = !searchView.filterglobal\">{{'Global' | localize : lc}}</span>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Processes' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [DynamicOperations]=\"DynamicOps\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\" (onDynamicOperation)=\"onOperation($event)\">\r\n <span class=\"app-nowrap\" *td=\"'full_wait_stack'; let value\">\r\n <span class=\"fa fa-list app-pointer\" (click)=\"valueToShow = value; dlgValue.show();\"></span> \r\n {{value.length > 70 ? value.substr(0, 67) + '...' : value}}\r\n </span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\">\r\n <button class=\"btn btn-secondary pull-left\" type=\"button\" (click)=\"back()\">{{'Back' | localize : lc}}</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgChangeCg=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-lg\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">{{'Change Consumer Group' | localize : lc}}</h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgChangeCg.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <form novalidate #cgFrom=\"ngForm\" (ngSubmit)=\"cgFrom.valid && doChangeCg() && dlgChangeCg.hide()\">\r\n <div class=\"modal-body\">\r\n <form-select [Label]=\"'New Consumer Group' | localize : lc\" [(ngModel)]=\"newCg\" name=\"newcg\" [Source]=\"CGs\" required [Last]=\"true\"></form-select>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-5\" (click)=\"dlgChangeCg.hide()\">{{'Close' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">{{'Confirm' | localize : lc}}</button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div bsModal #dlgValue=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl\" app-draggable=\".modal-header\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title pull-left\">\r\n Full Wait Stack\r\n </h5>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgValue.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body app-padidng-bottom-20 app-padding-top-20\">\r\n <span class=\"app-wrap\">\r\n {{valueToShow}}\r\n </span>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"dlgValue.hide()\">Chiudi</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i8.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { type: i8.FormCheckboxComponent, selector: "form-checkbox" }, { type: i9.EsTableComponent, selector: "es-table", inputs: ["CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "UseCustomCells", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "PagingStyle", "RowGroupingPagingStyle", "SecondarySource", "TertiarySource", "UseSelectionCache", "ShowItemGroupsColumns", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onCornerAction", "onDynamicOperation"] }, { type: i8.FormSelectComponent, selector: "form-select", inputs: ["SelectLabel", "PlaceholderValue", "RequiredPlaceholder", "EmptyFieldValue", "ShowValidationSymbol"] }], directives: [{ type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EsTdDirective, selector: "[td]", inputs: ["tdVisible", "td", "tdIf", "tdClass"] }, { type: i11.ModalDirective, selector: "[bsModal]", inputs: ["config", "closeInterceptor"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["bs-modal"] }, { type: i10.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "localize": i2.LocalizePipe }, viewProviders: [{ provide: LocalizationService, useClass: AdmWrkLoc }] });
|
|
166
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AdmWrkComponent, decorators: [{
|
|
167
164
|
type: Component,
|
|
168
165
|
args: [{ selector: "adm_wrk", viewProviders: [{ provide: LocalizationService, useClass: AdmWrkLoc }], template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Processes' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtertenant\" name=\"filterTenant\" [Placeholder]=\"'Tenant' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filterUser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterstate\" name=\"filterState\" [Placeholder]=\"'State' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper app-padding-top-10\">\r\n <form-checkbox [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterglobal\" name=\"filterglobal\"></form-checkbox> \r\n <span class=\"app-pointer\" (click)=\"searchView.filterglobal = !searchView.filterglobal\">{{'Global' | localize : lc}}</span>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Processes' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [DynamicOperations]=\"DynamicOps\" [AutoUpdate]=\"true\" [OrderByColumn]=\"true\" (onSearchRequest)=\"sendSearch($event);\" (onDynamicOperation)=\"onOperation($event)\">\r\n <span class=\"app-nowrap\" *td=\"'full_wait_stack'; let value\">\r\n <span class=\"fa fa-list app-pointer\" (click)=\"valueToShow = value; dlgValue.show();\"></span> \r\n {{value.length > 70 ? value.substr(0, 67) + '...' : value}}\r\n </span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\">\r\n <button class=\"btn btn-secondary pull-left\" type=\"button\" (click)=\"back()\">{{'Back' | localize : lc}}</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgChangeCg=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-lg\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">{{'Change Consumer Group' | localize : lc}}</h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgChangeCg.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <form novalidate #cgFrom=\"ngForm\" (ngSubmit)=\"cgFrom.valid && doChangeCg() && dlgChangeCg.hide()\">\r\n <div class=\"modal-body\">\r\n <form-select [Label]=\"'New Consumer Group' | localize : lc\" [(ngModel)]=\"newCg\" name=\"newcg\" [Source]=\"CGs\" required [Last]=\"true\"></form-select>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-5\" (click)=\"dlgChangeCg.hide()\">{{'Close' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">{{'Confirm' | localize : lc}}</button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div bsModal #dlgValue=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-xl\" app-draggable=\".modal-header\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title pull-left\">\r\n Full Wait Stack\r\n </h5>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgValue.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body app-padidng-bottom-20 app-padding-top-20\">\r\n <span class=\"app-wrap\">\r\n {{valueToShow}}\r\n </span>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"dlgValue.hide()\">Chiudi</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
@@ -176,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
176
173
|
type: ViewChild,
|
|
177
174
|
args: ["dlgChangeCg"]
|
|
178
175
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3dyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RCxTQUFTO0FBQ1QsT0FBTyxFQUFZLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLbkUsZUFBZTtBQUNmLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU8vQyxNQUFNLE9BQU8sZUFBZTtJQU94QixZQUNZLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3hCLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2hDLE1BQXdDLEVBQ3hDLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZTtRQVJ4QyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN4QixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsV0FBTSxHQUFO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SSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3BLLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7NEdBbEtRLGVBQWUsb1JBZ0JaLGVBQWU7Z0dBaEJsQixlQUFlLDhPQzlCNUIsZy9MQTZGTSwrdUZEbEVhLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDOzJGQUc3RCxlQUFlO2tCQUwzQixTQUFTOytCQUNJLFNBQVMsaUJBQ0osQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7OzBCQW1CakUsTUFBTTsyQkFBQyxlQUFlOzRDQWlITixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ08sV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24gfSBmcm9tIFwiQGVzZmFlbnphL2VzLXRhYmxlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcblxyXG4vLyBDbGFzc2lcclxuaW1wb3J0IHsgS2V5VmFsdWUsIFByb2Nlc3Nlc1ZpZXcsIFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IE1vZGFsRGlyZWN0aXZlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBBZG1XcmtMb2MgfSBmcm9tIFwiLi4vXCI7XHJcbmltcG9ydCB7IEJhc2VNb2R1bGVDb21tdW5pY2F0aW9uc0NvbnN1bWVyIH0gZnJvbSBcIi4uLy4uL2NvbW11bmljYXRpb25zL2Jhc2UvQmFzZU1vZHVsZUNvbW11bmljYXRpb25zQ29uc3VtZXJcIjtcclxuaW1wb3J0IHsgQURNX0JBQ0tFTkRfVVJMIH0gZnJvbSBcIi4uLy4uL3Rva2Vuc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhZG1fd3JrXCIsXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogQWRtV3JrTG9jIH1dLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hZG1fd3JrLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkbVdya0NvbXBvbmVudCB7XHJcblxyXG4gICAgcHVibGljIHNlYXJjaFZpZXc6IFByb2Nlc3Nlc1ZpZXcgPSBuZXcgUHJvY2Vzc2VzVmlldygpO1xyXG4gICAgcHVibGljIER5bmFtaWNPcHM6IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBzdG9yYWdlU3ViOiBhbnk7XHJcbiAgICBwdWJsaWMgdmFsdWVUb1Nob3c6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB1dGlFeHRzOiBVdGlsaXR5U2VydmljZSwgXHJcbiAgICAgICAgcHJpdmF0ZSBtc2dFeHRzOiBNZXNzYWdlU2VydmljZSwgXHJcbiAgICAgICAgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZTogUHJlZmVyZW5jZXNTZXJ2aWNlLCBcclxuICAgICAgICBwcml2YXRlIF9zdGF0ZTogQmFzZU1vZHVsZUNvbW11bmljYXRpb25zQ29uc3VtZXIsIFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSFRUUFNlcnZpY2UsIFxyXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBcclxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbiwgXHJcbiAgICAgICAgQEluamVjdChBRE1fQkFDS0VORF9VUkwpIHByaXZhdGUgYmFja2VuZDogc3RyaW5nKSB7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0YXRlLmhhbmRsZU5hdmlnYXRpb24odGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhW1widGl0bGVcIl0sIGZhbHNlKTtcclxuXHJcbiAgICAgICAgdGhpcy5EeW5hbWljT3BzID0gW1xyXG4gICAgICAgICAgICBuZXcgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24oXCJ0cmFjZV9vblwiLCB0aGlzLmxjLmxvYyhcIkFjdGl2YXRlIFByb2Nlc3MgVHJhY2luZ1wiKSwgXCJmYSBmYS1jaXJjbGUgdGV4dC1kYW5nZXJcIiwgXCJcIiwgXCJ0cmFjZV9lbmFibGVkXCIsIFwiTlwiKSxcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwidHJhY2Vfb2ZmXCIsIHRoaXMubGMubG9jKFwiRGVhY3RpdmF0ZSBQcm9jZXNzIFRyYWNpbmdcIiksIFwiZmEgZmEtY2lyY2xlIHRleHQtc3VjY2Vzc1wiLCBcIlwiLCBcInRyYWNlX2VuYWJsZWRcIiwgXCJZXCIpLFxyXG4gICAgICAgICAgICBuZXcgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24oXCJraWxsXCIsIHRoaXMubGMubG9jKFwiS2lsbCBQcm9jZXNzXCIpLCBcImZhIGZhLWJhbiB0ZXh0LWRhbmdlclwiKSxcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwiY2hhbmdlX2NnXCIsIHRoaXMubGMubG9jKFwiQ2hhbmdlIENvbnN1bWVyIEdyb3VwXCIpLCBcImZhIGZhLWVkaXQgdGV4dC1pbmZvXCIpXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPFByb2Nlc3Nlc1ZpZXc+KFwiSG90UHJvY2Vzc2F0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpZiAoIWlnbm9yZVN0b3JhZ2UgJiYgaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShcIi9wYWdlcy9hZG0vc2VydmVyd29ya2Vyc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiSG90UHJvY2Vzc2F0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IFByb2Nlc3Nlc1ZpZXcpIHtcclxuICAgICAgICAvL1NlIGhvIGxhIEhvdFBvdGF0byB2dW9sIGRpcmUgY2hlIHNvbm8gYXBwZW5hIHRvcm5hdG8gZGFsbCdlZGl0L251b3ZvLiBSaWZhY2NpbyBsYSByaWNlcmNhIGluIGJhc2UgYWkgZmlsdHJpIHByZWNlZGVudGlcclxuICAgICAgICAvL0FsdGlybWVudGkgZ2VuZXJvIGlsIG1vZGVsbG8gbnVvdm8gbm9ybWFsbWVudGVcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuXHJcbiAgICAgICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3Nlcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyV29ya2Vyc1wiXSwgdGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IG5ldyBQcm9jZXNzZXNWaWV3KCk7XHJcblxyXG4gICAgICAgICAgICAvL1BlciBmYXJlIHVuIHByaW1vIGdpcm8gZGkgYmluZGluZyBzdWxsYSBWaWV3IGNoZSBzZXJ2ZSBhIHZhbG9yaXp6YXJlIGxlIGNvbG9ubmUgZGVsIG1vZGVsbG8gYW5jaGUgcGVyIGxhIHByaW1hIGNoaWFtYXRhXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZW5kU2VhcmNoKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZW5kU2VhcmNoKHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHJlc2V0UGFnZSlcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnBhZ2UgPSAxO1xyXG5cclxuICAgICAgICB0aGlzLlBPU1RHZXRQcm9jZXNzZXModGhpcy5iYWNrZW5kICsgUmVwb3NpdG9yeVtcIlBPU1RfQWRtX0dldFNlcnZlcldvcmtlcnNcIl0sIHRoaXMuc2VhcmNoVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgUE9TVEdldFByb2Nlc3Nlcyh1cmw6IHN0cmluZywgZGF0YTogUHJvY2Vzc2VzVmlldykge1xyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PFByb2Nlc3Nlc1ZpZXc+KHVybCwgZGF0YSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcgPSB0O1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiSG90UHJvY2Vzc2F0b1wiLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2soKSB7XHJcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVyYXRpb24oZXZlbnQ6IHsgaWQ6IHN0cmluZywgaXRlbTogYW55IH0pIHtcclxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmlkKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ0cmFjZV9vblwiOiB0aGlzLnRvZ2dsZVRyYWNpbmcoZXZlbnQuaXRlbSwgdHJ1ZSk7IGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwidHJhY2Vfb2ZmXCI6IHRoaXMudG9nZ2xlVHJhY2luZyhldmVudC5pdGVtLCBmYWxzZSk7IGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwia2lsbFwiOiB0aGlzLmtpbGxQcm9jZXNzKGV2ZW50Lml0ZW0pOyBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImNoYW5nZV9jZ1wiOiB0aGlzLmNoYW5nZVByb2Nlc3NDZyhldmVudC5pdGVtKTsgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZVRyYWNpbmcocHJvY2VzczogYW55LCB0cmFjaW5nOiBib29sZWFuKSB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIHByb2Nlc3MucHJvcGVydGllc1tcImluc3RfaWRcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2lkXCJdKVxyXG4gICAgICAgICAgICAuc2V0KFwic2VyaWFsXCIsIHByb2Nlc3MucHJvcGVydGllc1tcInNlcmlhbFwiXSlcclxuICAgICAgICAgICAgLnNldChcImVuYWJsZVwiLCB0cmFjaW5nLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiR0VUX0FkbV9TZXRQcm9jZXNzVHJhY2luZ1wiXSwgcGFycykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlU3RyaW5nUmVzcG9uc2UodCwgXCJcIiwgdGhpcy5sYy5sb2MoXCJFcnJvcnMgdG9nZ2xpbmcgUHJvY2VzcyBUcmFjaW5nXCIpLCAoKSA9PiB0aGlzLnNlbmRTZWFyY2goKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAga2lsbFByb2Nlc3MocHJvY2VzczogYW55KSB7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzLnNpbXBsZVdhcm5pbmdXaXRoQ2hvaWNlKFxyXG4gICAgICAgICAgICB0aGlzLmxjLmxvYyhcIkNvbmZpcm0gUHJvY2VzcyBLaWxsXCIpLFxyXG4gICAgICAgICAgICB0aGlzLmxjLmxvYyhcIkFyZSB5b3Ugc3VyZSB5b3Ugd2lzaCB0byBraWxsIHRoZSBzZWxlY3RlZCBwcm9jZXNzPyBUaGUgYXNzb2NpYXRlZCB1c2VyIHdpbGwgYmUgZGlzY29ubmVjdGVkXCIpLFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgcGFycyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgICAgICAgICAgICAgICAuc2V0KFwiaW5zdGFuY2VpZFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJpbnN0X2lkXCJdKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2lkXCJdKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXQoXCJzZXJpYWxcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2VyaWFsXCJdKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiR0VUX0FkbV9LaWxsUHJvY2Vzc1wiXSwgcGFycykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubXNnRXh0cy5tYW5hZ2VTdHJpbmdSZXNwb25zZSh0LCB0aGlzLmxjLmxvYyhcIlByb2Nlc3Mgc3VjY2VzZnVsbHkga2lsbGVkXCIpLCB0aGlzLmxjLmxvYyhcIkVycm9ycyBraWxsaW5nIHRoZSBQcm9jZXNzXCIpLCAoKSA9PiB0aGlzLnNlbmRTZWFyY2goKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdlc3Rpb25lIG1vZGlmaWNhIENvbnN1bWVyIEdyb3VwICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAgIG5ld0NnOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgQ0dzOiBLZXlWYWx1ZVtdID0gW107XHJcbiAgICBDZ0RpY3Rpb25hcmllc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgUHJvY2Vzc09uRWRpdDogYW55O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJjZ0Zyb21cIikgY2dGcm9tOiBOZ0Zvcm07XHJcbiAgICBAVmlld0NoaWxkKFwiZGxnQ2hhbmdlQ2dcIikgZGxnQ2hhbmdlQ2c6IE1vZGFsRGlyZWN0aXZlO1xyXG5cclxuICAgIGNoYW5nZVByb2Nlc3NDZyhwcm9jZXNzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLlByb2Nlc3NPbkVkaXQgPSBwcm9jZXNzO1xyXG4gICAgICAgIGlmICghdGhpcy5DZ0RpY3Rpb25hcmllc0xvYWRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRDZ0RpY3Rpb25hcmllcygpO1xyXG4gICAgICAgICAgICB0aGlzLkNnRGljdGlvbmFyaWVzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXR1cENoYW5nZUNnKCk7XHJcbiAgICAgICAgdGhpcy5kbGdDaGFuZ2VDZy5zaG93KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZENnRGljdGlvbmFyaWVzKCkge1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8S2V5VmFsdWVbXT4odGhpcy5iYWNrZW5kICsgUmVwb3NpdG9yeVtcIkdFVF9BZG1fR2V0Q29uc3VtZXJHcm91cHNcIl0pLnN1YnNjcmliZSh0ID0+IHRoaXMuQ0dzID0gdCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBDaGFuZ2VDZygpIHtcclxuICAgICAgICB0aGlzLnV0aUV4dHMuY2xlYW5Gb3JtKHRoaXMuY2dGcm9tKVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLm5ld0NnID0gXCJcIiB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkb0NoYW5nZUNnKCkge1xyXG4gICAgICAgIHZhciBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAgICAgICAuc2V0KFwiaW5zdGFuY2VpZFwiLCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcImluc3RfaWRcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzaWRcIiwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJzaWRcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzZXJpYWxcIiwgdGhpcy5Qcm9jZXNzT25FZGl0LnByb3BlcnRpZXNbXCJzZXJpYWxcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJjb25zdW1lcl9ncm91cFwiLCB0aGlzLm5ld0NnKTtcclxuICAgICAgICB0aGlzLmh0dHAuZ2V0PHN0cmluZz4odGhpcy5iYWNrZW5kICsgUmVwb3NpdG9yeVtcIkdFVF9BZG1fQ2hhbmdlUHJvY2Vzc0NvbnN1bWVyR3JvdXBcIl0sIHBhcnMpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZVN0cmluZ1Jlc3BvbnNlKHQsIHRoaXMubGMubG9jKFwiQ29uc3VtZXIgR3JvdXAgc3VjY2VzZnVsbHkgY2hhbmdlZFwiKSwgdGhpcy5sYy5sb2MoXCJFcnJvcnMgY2hhbmdpbmcgQ29uc3VtZXIgR3JvdXBcIiksICgpID0+IHRoaXMuc2VuZFNlYXJjaCgpKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgYXBwLW92ZXJmbG93LXZpc2libGVcIiB3aWRnZXQ+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXVwcGVyY2FzZVwiPnt7J1NlYXJjaCBBcHBsaWNhdGlvbiBQcm9jZXNzZXMnIHwgbG9jYWxpemUgOiBsY319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB3aWRnZXQtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIHJvbGU9XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXBwLWZpcnN0LWZpbHRlci1saW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVydGVuYW50XCIgbmFtZT1cImZpbHRlclRlbmFudFwiIFtQbGFjZWhvbGRlcl09XCInVGVuYW50JyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ1c2VyXCIgbmFtZT1cImZpbHRlclVzZXJcIiBbUGxhY2Vob2xkZXJdPVwiJ1VzZXInIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnN0YXRlXCIgbmFtZT1cImZpbHRlclN0YXRlXCIgW1BsYWNlaG9sZGVyXT1cIidTdGF0ZScgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlciBhcHAtcGFkZGluZy10b3AtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1jaGVja2JveCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcmdsb2JhbFwiIG5hbWU9XCJmaWx0ZXJnbG9iYWxcIj48L2Zvcm0tY2hlY2tib3g+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtcG9pbnRlclwiIChjbGljayk9XCJzZWFyY2hWaWV3LmZpbHRlcmdsb2JhbCA9ICFzZWFyY2hWaWV3LmZpbHRlcmdsb2JhbFwiPnt7J0dsb2JhbCcgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInNlYXJjaFZpZXcuc2VhcmNoaW5wcm9ncmVzc1wiIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb24gYnRuIGFwcC1idG4tc2VhcmNoIGFwcC1tYXJnaW4tdG9wLTIwXCIgKGNsaWNrKT1cInNlbmRTZWFyY2goKVwiIHR5cGU9XCJzdWJtaXRcIj48aSBjbGFzcz1cImZhIGZhLXNlYXJjaFwiPjwvaT48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFzZWFyY2hWaWV3XCI+PGVtPnt7J0xvYWRpbmcgQXBwbGljYXRpb24gUHJvY2Vzc2VzJyB8IGxvY2FsaXplIDogbGN9fS4uLjwvZW0+PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoVmlld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVzLXRhYmxlIFsobmdNb2RlbCldPVwic2VhcmNoVmlld1wiIFtEeW5hbWljT3BlcmF0aW9uc109XCJEeW5hbWljT3BzXCIgW0F1dG9VcGRhdGVdPVwidHJ1ZVwiIFtPcmRlckJ5Q29sdW1uXT1cInRydWVcIiAob25TZWFyY2hSZXF1ZXN0KT1cInNlbmRTZWFyY2goJGV2ZW50KTtcIiAob25EeW5hbWljT3BlcmF0aW9uKT1cIm9uT3BlcmF0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1ub3dyYXBcIiAqdGQ9XCInZnVsbF93YWl0X3N0YWNrJzsgbGV0IHZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtbGlzdCBhcHAtcG9pbnRlclwiIChjbGljayk9XCJ2YWx1ZVRvU2hvdyA9IHZhbHVlOyBkbGdWYWx1ZS5zaG93KCk7XCI+PC9zcGFuPiZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3ZhbHVlLmxlbmd0aCA+IDcwID8gdmFsdWUuc3Vic3RyKDAsIDY3KSArICcuLi4nIDogdmFsdWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXMtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLW1hcmdpbi10b3AtMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgcHVsbC1sZWZ0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJiYWNrKClcIj57eydCYWNrJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBic01vZGFsICNkbGdDaGFuZ2VDZz1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1sZ1wiIGNka0RyYWc+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIj57eydDaGFuZ2UgQ29uc3VtZXIgR3JvdXAnIHwgbG9jYWxpemUgOiBsY319PC9oND5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2UgcHVsbC1yaWdodFwiIChjbGljayk9XCJkbGdDaGFuZ2VDZy5oaWRlKClcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlICNjZ0Zyb209XCJuZ0Zvcm1cIiAobmdTdWJtaXQpPVwiY2dGcm9tLnZhbGlkICYmIGRvQ2hhbmdlQ2coKSAmJiBkbGdDaGFuZ2VDZy5oaWRlKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0tc2VsZWN0IFtMYWJlbF09XCInTmV3IENvbnN1bWVyIEdyb3VwJyB8IGxvY2FsaXplIDogbGNcIiBbKG5nTW9kZWwpXT1cIm5ld0NnXCIgbmFtZT1cIm5ld2NnXCIgW1NvdXJjZV09XCJDR3NcIiByZXF1aXJlZCBbTGFzdF09XCJ0cnVlXCI+PC9mb3JtLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYXBwLW1hcmdpbi1yaWdodC01XCIgKGNsaWNrKT1cImRsZ0NoYW5nZUNnLmhpZGUoKVwiPnt7J0Nsb3NlJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+e3snQ29uZmlybScgfCBsb2NhbGl6ZSA6IGxjfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPGRpdiBic01vZGFsICNkbGdWYWx1ZT1cImJzLW1vZGFsXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC14bFwiIGFwcC1kcmFnZ2FibGU9XCIubW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRnVsbCBXYWl0IFN0YWNrXHJcbiAgICAgICAgICAgICAgICA8L2g1PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgKGNsaWNrKT1cImRsZ1ZhbHVlLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IGFwcC1wYWRpZG5nLWJvdHRvbS0yMCBhcHAtcGFkZGluZy10b3AtMjBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3ZhbHVlVG9TaG93fX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImRsZ1ZhbHVlLmhpZGUoKVwiPkNoaXVkaTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtX3dyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtlcnMvYWRtX3dyay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU9sRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU9wRCxNQUFNLE9BQU8sZUFBZTtJQU94QixZQUNZLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3hCLEVBQXVCLEVBQ3RCLFlBQWdDLEVBQ2hDLE1BQXdDLEVBQ3hDLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLFFBQWtCLEVBQ08sT0FBZTtRQVJ4QyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN4QixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBa0M7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ08sWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQWQ3QyxlQUFVLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEQsZUFBVSxHQUFpQyxFQUFFLENBQUM7UUFFOUMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFnSGhDLHlIQUF5SDtRQUV6SCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFFBQUcsR0FBZSxFQUFFLENBQUM7UUFDckIseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBdkdsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXBGLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDZCxJQUFJLDBCQUEwQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLDBCQUEwQixFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsR0FBRyxDQUFDO1lBQ3pJLElBQUksMEJBQTBCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUM7WUFDN0ksSUFBSSwwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsdUJBQXVCLENBQUM7WUFDNUYsSUFBSSwwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztTQUM1RyxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhO1FBQ3BCLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQWdCLGVBQWUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbkU7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQXdCO1FBQ3pCLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xHO2FBQ0k7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxZQUFxQixJQUFJO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLElBQUksU0FBUztZQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVcsRUFBRSxJQUFtQjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0IsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0M7UUFDeEMsUUFBUSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ2QsS0FBSyxVQUFVO2dCQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFBQyxNQUFNO1lBQzdELEtBQUssV0FBVztnQkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQUMsTUFBTTtZQUMvRCxLQUFLLE1BQU07Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQUMsTUFBTTtZQUNqRCxLQUFLLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQUMsTUFBTTtTQUM3RDtJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBWSxFQUFFLE9BQWdCO1FBQ3hDLElBQUksSUFBSSxHQUFHLElBQUksVUFBVSxFQUFFO2FBQ3RCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNoRCxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDckMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdEgsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FDaEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsRUFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsOEZBQThGLENBQUMsRUFDM0csR0FBRyxFQUFFO1lBQ0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUU7aUJBQ3RCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDaEQsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNyQyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDeEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3hKLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBWUQsZUFBZSxDQUFDLE9BQVk7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ25DLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUU7YUFDdEIsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMzRCxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2hELEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEQsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEssQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs0R0E3SlEsZUFBZSxvUkFnQlosZUFBZTtnR0FoQmxCLGVBQWUsOE9DaEM1QixnL0xBNkZNLGt3RkRoRWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7MkZBRzdELGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0ksU0FBUyxpQkFDSixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQzs7MEJBbUJqRSxNQUFNOzJCQUFDLGVBQWU7NENBNEdOLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDTyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24gfSBmcm9tIFwiQGVzZmFlbnphL2VzLXRhYmxlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9wcmVmZXJlbmNlc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgTW9kYWxEaXJlY3RpdmUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC9tb2RhbFwiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEJhc2VNb2R1bGVDb21tdW5pY2F0aW9uc0NvbnN1bWVyIH0gZnJvbSBcIi4uLy4uL2NvbW11bmljYXRpb25zL2Jhc2UvQmFzZU1vZHVsZUNvbW11bmljYXRpb25zQ29uc3VtZXJcIjtcclxuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NoYXJlZC9LZXlWYWx1ZVwiO1xyXG5pbXBvcnQgeyBQcm9jZXNzZXNWaWV3IH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnRzL1Byb2Nlc3Nlc1ZpZXdcIjtcclxuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXh0ZXJuYWxzL1JlcG9zaXRvcnlcIjtcclxuaW1wb3J0IHsgQURNX0JBQ0tFTkRfVVJMIH0gZnJvbSBcIi4uLy4uL3Rva2Vuc1wiO1xyXG5cclxuLy8gTG9jYWxpenphemlvbmVcclxuaW1wb3J0IHsgQWRtV3JrTG9jIH0gZnJvbSBcIi4vYWRtX3dyay5jb21wb25lbnQubG9jXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFkbV93cmtcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBBZG1XcmtMb2MgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FkbV93cmsuY29tcG9uZW50Lmh0bWxcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtV3JrQ29tcG9uZW50IHtcclxuXHJcbiAgICBwdWJsaWMgc2VhcmNoVmlldzogUHJvY2Vzc2VzVmlldyA9IG5ldyBQcm9jZXNzZXNWaWV3KCk7XHJcbiAgICBwdWJsaWMgRHluYW1pY09wczogRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb25bXSA9IFtdO1xyXG4gICAgcHVibGljIHN0b3JhZ2VTdWI6IGFueTtcclxuICAgIHB1YmxpYyB2YWx1ZVRvU2hvdzogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBcclxuICAgICAgICBwcml2YXRlIG1zZ0V4dHM6IE1lc3NhZ2VTZXJ2aWNlLCBcclxuICAgICAgICBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIFxyXG4gICAgICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBQcmVmZXJlbmNlc1NlcnZpY2UsIFxyXG4gICAgICAgIHByaXZhdGUgX3N0YXRlOiBCYXNlTW9kdWxlQ29tbXVuaWNhdGlvbnNDb25zdW1lciwgXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIVFRQU2VydmljZSwgXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIFxyXG4gICAgICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLCBcclxuICAgICAgICBASW5qZWN0KEFETV9CQUNLRU5EX1VSTCkgcHJpdmF0ZSBiYWNrZW5kOiBzdHJpbmcpIHtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RhdGUuaGFuZGxlTmF2aWdhdGlvbih0aGlzLmxjLmxvYyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbXCJ0aXRsZVwiXSksIGZhbHNlKTtcclxuXHJcbiAgICAgICAgdGhpcy5EeW5hbWljT3BzID0gW1xyXG4gICAgICAgICAgICBuZXcgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24oXCJ0cmFjZV9vblwiLCB0aGlzLmxjLmxvYyhcIkFjdGl2YXRlIFByb2Nlc3MgVHJhY2luZ1wiKSwgXCJmYSBmYS1jaXJjbGUgdGV4dC1kYW5nZXJcIiwgXCJcIiwgXCJ0cmFjZV9lbmFibGVkXCIsIFwiTlwiKSxcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwidHJhY2Vfb2ZmXCIsIHRoaXMubGMubG9jKFwiRGVhY3RpdmF0ZSBQcm9jZXNzIFRyYWNpbmdcIiksIFwiZmEgZmEtY2lyY2xlIHRleHQtc3VjY2Vzc1wiLCBcIlwiLCBcInRyYWNlX2VuYWJsZWRcIiwgXCJZXCIpLFxyXG4gICAgICAgICAgICBuZXcgRXNUYWJsZU9wZXJhdGlvbkRlZmluaXRpb24oXCJraWxsXCIsIHRoaXMubGMubG9jKFwiS2lsbCBQcm9jZXNzXCIpLCBcImZhIGZhLWJhbiB0ZXh0LWRhbmdlclwiKSxcclxuICAgICAgICAgICAgbmV3IEVzVGFibGVPcGVyYXRpb25EZWZpbml0aW9uKFwiY2hhbmdlX2NnXCIsIHRoaXMubGMubG9jKFwiQ2hhbmdlIENvbnN1bWVyIEdyb3VwXCIpLCBcImZhIGZhLWVkaXQgdGV4dC1pbmZvXCIpXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkluaXQocGFyYW1zW1wiaWdub3JlU3RvcmFnZVwiXSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPFByb2Nlc3Nlc1ZpZXc+KFwiSG90UHJvY2Vzc2F0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpZiAoIWlnbm9yZVN0b3JhZ2UgJiYgaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0KG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShcIi9wYWdlcy9hZG0vc2VydmVyd29ya2Vyc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyA9IFtdO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiSG90UHJvY2Vzc2F0b1wiKS50b1Byb21pc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChIb3RQb3RhdG86IFByb2Nlc3Nlc1ZpZXcpIHtcclxuICAgICAgICBpZiAoSG90UG90YXRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEhvdFBvdGF0bztcclxuICAgICAgICAgICAgdGhpcy5QT1NUR2V0UHJvY2Vzc2VzKHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJQT1NUX0FkbV9HZXRTZXJ2ZXJXb3JrZXJzXCJdLCB0aGlzLnNlYXJjaFZpZXcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gbmV3IFByb2Nlc3Nlc1ZpZXcoKTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbmRTZWFyY2gocmVzZXRQYWdlOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICBpZiAocmVzZXRQYWdlKVxyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcblxyXG4gICAgICAgIHRoaXMuUE9TVEdldFByb2Nlc3Nlcyh0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiUE9TVF9BZG1fR2V0U2VydmVyV29ya2Vyc1wiXSwgdGhpcy5zZWFyY2hWaWV3KTtcclxuICAgIH1cclxuXHJcbiAgICBQT1NUR2V0UHJvY2Vzc2VzKHVybDogc3RyaW5nLCBkYXRhOiBQcm9jZXNzZXNWaWV3KSB7XHJcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8UHJvY2Vzc2VzVmlldz4odXJsLCBkYXRhKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IHQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJIb3RQcm9jZXNzYXRvXCIsIHRoaXMuc2VhcmNoVmlldykuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFjaygpIHtcclxuICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk9wZXJhdGlvbihldmVudDogeyBpZDogc3RyaW5nLCBpdGVtOiBhbnkgfSkge1xyXG4gICAgICAgIHN3aXRjaCAoZXZlbnQuaWQpIHtcclxuICAgICAgICAgICAgY2FzZSBcInRyYWNlX29uXCI6IHRoaXMudG9nZ2xlVHJhY2luZyhldmVudC5pdGVtLCB0cnVlKTsgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ0cmFjZV9vZmZcIjogdGhpcy50b2dnbGVUcmFjaW5nKGV2ZW50Lml0ZW0sIGZhbHNlKTsgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJraWxsXCI6IHRoaXMua2lsbFByb2Nlc3MoZXZlbnQuaXRlbSk7IGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiY2hhbmdlX2NnXCI6IHRoaXMuY2hhbmdlUHJvY2Vzc0NnKGV2ZW50Lml0ZW0pOyBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdG9nZ2xlVHJhY2luZyhwcm9jZXNzOiBhbnksIHRyYWNpbmc6IGJvb2xlYW4pIHtcclxuICAgICAgICB2YXIgcGFycyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgICAgICAgLnNldChcImluc3RhbmNlaWRcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wiaW5zdF9pZFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNpZFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJzaWRcIl0pXHJcbiAgICAgICAgICAgIC5zZXQoXCJzZXJpYWxcIiwgcHJvY2Vzcy5wcm9wZXJ0aWVzW1wic2VyaWFsXCJdKVxyXG4gICAgICAgICAgICAuc2V0KFwiZW5hYmxlXCIsIHRyYWNpbmcudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgdGhpcy5odHRwLmdldDxzdHJpbmc+KHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJHRVRfQWRtX1NldFByb2Nlc3NUcmFjaW5nXCJdLCBwYXJzKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXNnRXh0cy5tYW5hZ2VTdHJpbmdSZXNwb25zZSh0LCBcIlwiLCB0aGlzLmxjLmxvYyhcIkVycm9ycyB0b2dnbGluZyBQcm9jZXNzIFRyYWNpbmdcIiksICgpID0+IHRoaXMuc2VuZFNlYXJjaCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBraWxsUHJvY2Vzcyhwcm9jZXNzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm1zZ0V4dHMuc2ltcGxlV2FybmluZ1dpdGhDaG9pY2UoXHJcbiAgICAgICAgICAgIHRoaXMubGMubG9jKFwiQ29uZmlybSBQcm9jZXNzIEtpbGxcIiksXHJcbiAgICAgICAgICAgIHRoaXMubGMubG9jKFwiQXJlIHlvdSBzdXJlIHlvdSB3aXNoIHRvIGtpbGwgdGhlIHNlbGVjdGVkIHByb2Nlc3M/IFRoZSBhc3NvY2lhdGVkIHVzZXIgd2lsbCBiZSBkaXNjb25uZWN0ZWRcIiksXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIHByb2Nlc3MucHJvcGVydGllc1tcImluc3RfaWRcIl0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnNldChcInNpZFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJzaWRcIl0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnNldChcInNlcmlhbFwiLCBwcm9jZXNzLnByb3BlcnRpZXNbXCJzZXJpYWxcIl0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldDxzdHJpbmc+KHRoaXMuYmFja2VuZCArIFJlcG9zaXRvcnlbXCJHRVRfQWRtX0tpbGxQcm9jZXNzXCJdLCBwYXJzKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZVN0cmluZ1Jlc3BvbnNlKHQsIHRoaXMubGMubG9jKFwiUHJvY2VzcyBzdWNjZXNmdWxseSBraWxsZWRcIiksIHRoaXMubGMubG9jKFwiRXJyb3JzIGtpbGxpbmcgdGhlIFByb2Nlc3NcIiksICgpID0+IHRoaXMuc2VuZFNlYXJjaCgpKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogR2VzdGlvbmUgbW9kaWZpY2EgQ29uc3VtZXIgR3JvdXAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgbmV3Q2c6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBDR3M6IEtleVZhbHVlW10gPSBbXTtcclxuICAgIENnRGljdGlvbmFyaWVzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBQcm9jZXNzT25FZGl0OiBhbnk7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcImNnRnJvbVwiKSBjZ0Zyb206IE5nRm9ybTtcclxuICAgIEBWaWV3Q2hpbGQoXCJkbGdDaGFuZ2VDZ1wiKSBkbGdDaGFuZ2VDZzogTW9kYWxEaXJlY3RpdmU7XHJcblxyXG4gICAgY2hhbmdlUHJvY2Vzc0NnKHByb2Nlc3M6IGFueSkge1xyXG4gICAgICAgIHRoaXMuUHJvY2Vzc09uRWRpdCA9IHByb2Nlc3M7XHJcbiAgICAgICAgaWYgKCF0aGlzLkNnRGljdGlvbmFyaWVzTG9hZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZENnRGljdGlvbmFyaWVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuQ2dEaWN0aW9uYXJpZXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldHVwQ2hhbmdlQ2coKTtcclxuICAgICAgICB0aGlzLmRsZ0NoYW5nZUNnLnNob3coKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkQ2dEaWN0aW9uYXJpZXMoKSB7XHJcbiAgICAgICAgdGhpcy5odHRwLmdldDxLZXlWYWx1ZVtdPih0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiR0VUX0FkbV9HZXRDb25zdW1lckdyb3Vwc1wiXSkuc3Vic2NyaWJlKHQgPT4gdGhpcy5DR3MgPSB0KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cENoYW5nZUNnKCkge1xyXG4gICAgICAgIHRoaXMudXRpRXh0cy5jbGVhbkZvcm0odGhpcy5jZ0Zyb20pXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMubmV3Q2cgPSBcIlwiIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRvQ2hhbmdlQ2coKSB7XHJcbiAgICAgICAgdmFyIHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgICAgICAgIC5zZXQoXCJpbnN0YW5jZWlkXCIsIHRoaXMuUHJvY2Vzc09uRWRpdC5wcm9wZXJ0aWVzW1wiaW5zdF9pZFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNpZFwiLCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcInNpZFwiXSlcclxuICAgICAgICAgICAgLnNldChcInNlcmlhbFwiLCB0aGlzLlByb2Nlc3NPbkVkaXQucHJvcGVydGllc1tcInNlcmlhbFwiXSlcclxuICAgICAgICAgICAgLnNldChcImNvbnN1bWVyX2dyb3VwXCIsIHRoaXMubmV3Q2cpO1xyXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmJhY2tlbmQgKyBSZXBvc2l0b3J5W1wiR0VUX0FkbV9DaGFuZ2VQcm9jZXNzQ29uc3VtZXJHcm91cFwiXSwgcGFycykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlU3RyaW5nUmVzcG9uc2UodCwgdGhpcy5sYy5sb2MoXCJDb25zdW1lciBHcm91cCBzdWNjZXNmdWxseSBjaGFuZ2VkXCIpLCB0aGlzLmxjLmxvYyhcIkVycm9ycyBjaGFuZ2luZyBDb25zdW1lciBHcm91cFwiKSwgKCkgPT4gdGhpcy5zZW5kU2VhcmNoKCkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBhcHAtb3ZlcmZsb3ctdmlzaWJsZVwiIHdpZGdldD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdXBwZXJjYXNlXCI+e3snU2VhcmNoIEFwcGxpY2F0aW9uIFByb2Nlc3NlcycgfCBsb2NhbGl6ZSA6IGxjfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHdpZGdldC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZvcm0gcm9sZT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhcHAtZmlyc3QtZmlsdGVyLWxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0taW5wdXQgW0Zvcm1MYXlvdXRdPVwiZmFsc2VcIiBbVmFsaWRhdGlvbl09XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmlldy5maWx0ZXJ0ZW5hbnRcIiBuYW1lPVwiZmlsdGVyVGVuYW50XCIgW1BsYWNlaG9sZGVyXT1cIidUZW5hbnQnIHwgbG9jYWxpemUgOiBsY1wiPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC0yIGNvbC1sZy0yIGNvbC1tZC0xMiBhcHAtZmlsdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybS1pbnB1dCBbRm9ybUxheW91dF09XCJmYWxzZVwiIFtWYWxpZGF0aW9uXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3LmZpbHRlcnVzZXJcIiBuYW1lPVwiZmlsdGVyVXNlclwiIFtQbGFjZWhvbGRlcl09XCInVXNlcicgfCBsb2NhbGl6ZSA6IGxjXCI+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTIgY29sLWxnLTIgY29sLW1kLTEyIGFwcC1maWx0ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWlucHV0IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyc3RhdGVcIiBuYW1lPVwiZmlsdGVyU3RhdGVcIiBbUGxhY2Vob2xkZXJdPVwiJ1N0YXRlJyB8IGxvY2FsaXplIDogbGNcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtMiBjb2wtbGctMiBjb2wtbWQtMTIgYXBwLWZpbHRlci13cmFwcGVyIGFwcC1wYWRkaW5nLXRvcC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtLWNoZWNrYm94IFtGb3JtTGF5b3V0XT1cImZhbHNlXCIgW1ZhbGlkYXRpb25dPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZpZXcuZmlsdGVyZ2xvYmFsXCIgbmFtZT1cImZpbHRlcmdsb2JhbFwiPjwvZm9ybS1jaGVja2JveD4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1wb2ludGVyXCIgKGNsaWNrKT1cInNlYXJjaFZpZXcuZmlsdGVyZ2xvYmFsID0gIXNlYXJjaFZpZXcuZmlsdGVyZ2xvYmFsXCI+e3snR2xvYmFsJyB8IGxvY2FsaXplIDogbGN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwic2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzXCIgY2xhc3M9XCJpbnB1dC1ncm91cC1hZGRvbiBidG4gYXBwLWJ0bi1zZWFyY2ggYXBwLW1hcmdpbi10b3AtMjBcIiAoY2xpY2spPVwic2VuZFNlYXJjaCgpXCIgdHlwZT1cInN1Ym1pdFwiPjxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiIXNlYXJjaFZpZXdcIj48ZW0+e3snTG9hZGluZyBBcHBsaWNhdGlvbiBQcm9jZXNzZXMnIHwgbG9jYWxpemUgOiBsY319Li4uPC9lbT48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hWaWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXMtdGFibGUgWyhuZ01vZGVsKV09XCJzZWFyY2hWaWV3XCIgW0R5bmFtaWNPcGVyYXRpb25zXT1cIkR5bmFtaWNPcHNcIiBbQXV0b1VwZGF0ZV09XCJ0cnVlXCIgW09yZGVyQnlDb2x1bW5dPVwidHJ1ZVwiIChvblNlYXJjaFJlcXVlc3QpPVwic2VuZFNlYXJjaCgkZXZlbnQpO1wiIChvbkR5bmFtaWNPcGVyYXRpb24pPVwib25PcGVyYXRpb24oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLW5vd3JhcFwiICp0ZD1cIidmdWxsX3dhaXRfc3RhY2snOyBsZXQgdmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1saXN0IGFwcC1wb2ludGVyXCIgKGNsaWNrKT1cInZhbHVlVG9TaG93ID0gdmFsdWU7IGRsZ1ZhbHVlLnNob3coKTtcIj48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dmFsdWUubGVuZ3RoID4gNzAgPyB2YWx1ZS5zdWJzdHIoMCwgNjcpICsgJy4uLicgOiB2YWx1ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lcy10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbWFyZ2luLXRvcC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBwdWxsLWxlZnRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhY2soKVwiPnt7J0JhY2snIHwgbG9jYWxpemUgOiBsY319PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGJzTW9kYWwgI2RsZ0NoYW5nZUNnPVwiYnMtbW9kYWxcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWxnXCIgY2RrRHJhZz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCIgY2RrRHJhZ0hhbmRsZT5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPnt7J0NoYW5nZSBDb25zdW1lciBHcm91cCcgfCBsb2NhbGl6ZSA6IGxjfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZSBwdWxsLXJpZ2h0XCIgKGNsaWNrKT1cImRsZ0NoYW5nZUNnLmhpZGUoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgI2NnRnJvbT1cIm5nRm9ybVwiIChuZ1N1Ym1pdCk9XCJjZ0Zyb20udmFsaWQgJiYgZG9DaGFuZ2VDZygpICYmIGRsZ0NoYW5nZUNnLmhpZGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybS1zZWxlY3QgW0xhYmVsXT1cIidOZXcgQ29uc3VtZXIgR3JvdXAnIHwgbG9jYWxpemUgOiBsY1wiIFsobmdNb2RlbCldPVwibmV3Q2dcIiBuYW1lPVwibmV3Y2dcIiBbU291cmNlXT1cIkNHc1wiIHJlcXVpcmVkIFtMYXN0XT1cInRydWVcIj48L2Zvcm0tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBhcHAtbWFyZ2luLXJpZ2h0LTVcIiAoY2xpY2spPVwiZGxnQ2hhbmdlQ2cuaGlkZSgpXCI+e3snQ2xvc2UnIHwgbG9jYWxpemUgOiBsY319PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj57eydDb25maXJtJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48ZGl2IGJzTW9kYWwgI2RsZ1ZhbHVlPVwiYnMtbW9kYWxcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLXhsXCIgYXBwLWRyYWdnYWJsZT1cIi5tb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICBGdWxsIFdhaXQgU3RhY2tcclxuICAgICAgICAgICAgICAgIDwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlIHB1bGwtcmlnaHRcIiAoY2xpY2spPVwiZGxnVmFsdWUuaGlkZSgpXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgYXBwLXBhZGlkbmctYm90dG9tLTIwIGFwcC1wYWRkaW5nLXRvcC0yMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7dmFsdWVUb1Nob3d9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiZGxnVmFsdWUuaGlkZSgpXCI+Q2hpdWRpPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -6,4 +6,4 @@ export class AuditsView extends AppSearch {
|
|
|
6
6
|
this.filterhttp = '';
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXVkaXRzVmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkbWluLW1vZHVsZS9zcmMvbGliL21vZGVscy9jb21wb25lbnRzL0F1ZGl0c1ZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRy9DLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBZ0I7SUFDNUM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FXSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFNlYXJjaCB9IGZyb20gXCJAZXNmYWVuemEvZXMtdGFibGVcIjtcclxuaW1wb3J0IHsgQXVkaXQgfSBmcm9tIFwiLi9BdWRpdFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEF1ZGl0c1ZpZXcgZXh0ZW5kcyBBcHBTZWFyY2g8QXVkaXQ+IHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJhY3Rpb24gPSAnJztcclxuICAgICAgICB0aGlzLmZpbHRlcmh0dHAgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXJkYTogc3RyaW5nO1xyXG4gICAgZmlsdGVyYTogc3RyaW5nO1xyXG4gICAgZmlsdGVydXNlcjogc3RyaW5nO1xyXG4gICAgZmlsdGVycm91dGU6IHN0cmluZztcclxuICAgIGZpbHRlcmFjdGlvbjogc3RyaW5nO1xyXG4gICAgZmlsdGVyaHR0cDogc3RyaW5nO1xyXG4gICAgZmlsdGVyYXJnczogc3RyaW5nO1xyXG4gICAgZmlsdGVyb2JqaWQ6IHN0cmluZztcclxuICAgIGZpbHRlcm9ianR5cGU6IHN0cmluZztcclxufSJdfQ==
|
|
@@ -2,4 +2,4 @@ import { AppSearch } from "@esfaenza/es-table";
|
|
|
2
2
|
export class LocksView extends AppSearch {
|
|
3
3
|
constructor() { super(); }
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9ja3NWaWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRtaW4tbW9kdWxlL3NyYy9saWIvbW9kZWxzL2NvbXBvbmVudHMvTG9ja3NWaWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sU0FBVSxTQUFRLFNBQXNCO0lBQ2pELGdCQUFnQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FLN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBTZWFyY2gsIEdlbmVyaWNJdGVtIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy10YWJsZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIExvY2tzVmlldyBleHRlbmRzIEFwcFNlYXJjaDxHZW5lcmljSXRlbT57XHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgfVxyXG5cclxuICAgIGZpbHRlcnNpZDogc3RyaW5nO1xyXG4gICAgZmlsdGVybG9jazogc3RyaW5nO1xyXG4gICAgZmlsdGVyZ2xvYmFsOiBib29sZWFuO1xyXG59Il19
|