@tuki-io/tuki-widgets 0.0.219-dev.51 → 0.0.219-dev.53
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/esm2020/locations/src/app.constants.mjs +6 -2
- package/esm2020/locations/src/locations.component.mjs +19 -4
- package/esm2020/locations/src/services/locations.service.mjs +7 -3
- package/esm2020/locations/src/types/location.mjs +1 -1
- package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +30 -8
- package/esm2020/workspaces/src/services/workspace-detail.service.mjs +7 -2
- package/esm2020/workspaces/src/services/workspaces.service.mjs +7 -4
- package/esm2020/workspaces/src/types/workspace.mjs +1 -1
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs +29 -6
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +54 -23
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs +29 -6
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +51 -22
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/locations/src/app.constants.d.ts +1 -0
- package/locations/src/locations.component.d.ts +3 -0
- package/locations/src/services/locations.service.d.ts +6 -1
- package/locations/src/types/location.d.ts +1 -0
- package/package.json +1 -1
- package/workspaces/src/components/workspace-detail/workspace-detail.component.d.ts +4 -0
- package/workspaces/src/types/workspace.d.ts +4 -0
|
@@ -5,6 +5,7 @@ import * as i1 from "../../services/workspace-detail.service";
|
|
|
5
5
|
import * as i2 from "@angular/common";
|
|
6
6
|
import * as i3 from "@angular/material/icon";
|
|
7
7
|
import * as i4 from "@angular/material/menu";
|
|
8
|
+
import * as i5 from "../../utils/app-loader/app-loader";
|
|
8
9
|
export class WorkspaceDetailComponent {
|
|
9
10
|
constructor(workspaceDetailService, location) {
|
|
10
11
|
this.workspaceDetailService = workspaceDetailService;
|
|
@@ -13,16 +14,34 @@ export class WorkspaceDetailComponent {
|
|
|
13
14
|
this.back = new EventEmitter();
|
|
14
15
|
this.activeTab = 'overview';
|
|
15
16
|
this.details = null;
|
|
17
|
+
this.isLoading = false;
|
|
18
|
+
this.expandedIssueId = null;
|
|
16
19
|
}
|
|
17
20
|
ngOnInit() {
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.
|
|
22
|
-
|
|
21
|
+
this.isLoading = true;
|
|
22
|
+
this.workspaceDetailService.getByWorkspace(this.workspace, this.connectionType, this.customerId).subscribe({
|
|
23
|
+
next: details => {
|
|
24
|
+
this.details = details;
|
|
25
|
+
if (details.capacity != null) {
|
|
26
|
+
this.workspace = { ...this.workspace, capacity: details.capacity };
|
|
27
|
+
}
|
|
28
|
+
this.isLoading = false;
|
|
29
|
+
},
|
|
30
|
+
error: () => {
|
|
31
|
+
this.isLoading = false;
|
|
32
|
+
},
|
|
23
33
|
});
|
|
24
34
|
this.updateUrl();
|
|
25
35
|
}
|
|
36
|
+
get callerIdLabel() {
|
|
37
|
+
const calling = this.details?.calling;
|
|
38
|
+
if (!calling?.externalCallerIdNumber) {
|
|
39
|
+
return 'Not set';
|
|
40
|
+
}
|
|
41
|
+
return calling.externalCallerIdName
|
|
42
|
+
? `${calling.externalCallerIdName}: ${calling.externalCallerIdNumber}`
|
|
43
|
+
: `Location number: ${calling.externalCallerIdNumber}`;
|
|
44
|
+
}
|
|
26
45
|
get deviceName() {
|
|
27
46
|
if (this.connectionType === 'webex') {
|
|
28
47
|
return this.workspace.device?.webexUUID || this.workspace.device?.name || this.workspace.id;
|
|
@@ -32,6 +51,9 @@ export class WorkspaceDetailComponent {
|
|
|
32
51
|
resolveIcon(model) {
|
|
33
52
|
return getDeviceIcon(model);
|
|
34
53
|
}
|
|
54
|
+
toggleIssue(issueId) {
|
|
55
|
+
this.expandedIssueId = this.expandedIssueId === issueId ? null : issueId;
|
|
56
|
+
}
|
|
35
57
|
selectTab(tab) {
|
|
36
58
|
this.activeTab = tab;
|
|
37
59
|
this.updateUrl();
|
|
@@ -45,10 +67,10 @@ export class WorkspaceDetailComponent {
|
|
|
45
67
|
}
|
|
46
68
|
}
|
|
47
69
|
WorkspaceDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailComponent, deps: [{ token: i1.WorkspaceDetailService }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
WorkspaceDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspaceDetailComponent, selector: "tk-workspace-detail", inputs: { workspace: "workspace", connectionType: "connectionType", customerId: "customerId" }, outputs: { back: "back" }, ngImport: i0, template: "<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\n <mat-icon>chevron_left</mat-icon>\n Workspaces\n</button>\n\n<div class=\"tk-workspace-detail__header\">\n <span class=\"tk-workspace-detail__icon\">\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n </span>\n <div class=\"tk-workspace-detail__title-block\">\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\n <div class=\"tk-workspace-detail__meta\">\n <span class=\"tk-workspace-detail__status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Live status unavailable\n </span>\n <span class=\"tk-workspace-detail__meta-sep\">·</span>\n <span>Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\n <span class=\"tk-workspace-detail__meta-sep\">·</span>\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\n <span>Capacity: {{ workspace.capacity ?? 'Not set' }}</span>\n <span class=\"tk-workspace-detail__meta-sep\">·</span>\n <span class=\"tk-workspace-detail__meta-muted\">Size not set</span>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\n Actions\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #actionsMenu=\"matMenu\">\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\n </mat-menu>\n</div>\n\n<nav class=\"tk-workspace-detail__tabs\">\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\n (click)=\"selectTab('overview')\">\n Overview\n </button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\n (click)=\"selectTab('calling')\">\n Calling\n </button>\n</nav>\n\n<ng-container *ngIf=\"details\">\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\n There are currently no issues detected in your workspace.\n </div>\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\n <div class=\"tk-workspace-detail__issue-info\">\n <mat-icon class=\"tk-workspace-detail__issue-icon\">info</mat-icon>\n <div>\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">\n {{ issue.actionLabel }}\n <mat-icon>expand_more</mat-icon>\n </button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\n </div>\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\n <div class=\"tk-workspace-detail__device-info\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\">{{ device.label }}</a>\n <div class=\"tk-workspace-detail__device-status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Status unavailable\n <mat-icon class=\"tk-workspace-detail__info-icon\">info_outline</mat-icon>\n </div>\n </div>\n </div>\n </div>\n <ng-template #noDevices>\n <div class=\"tk-workspace-detail__empty\">No devices assigned.</div>\n </ng-template>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <mat-icon class=\"tk-workspace-detail__settings-icon\">settings</mat-icon>\n </div>\n <div class=\"tk-workspace-detail__calling-license\">\n <mat-icon>call</mat-icon>\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\n <mat-icon class=\"tk-workspace-detail__card-icon\">event</mat-icon>\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\n <mat-icon class=\"tk-workspace-detail__card-icon\">info</mat-icon>\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">\n Planned Maintenance\n <mat-icon class=\"tk-workspace-detail__info-icon\">info_outline</mat-icon>\n </h2>\n <div class=\"tk-workspace-detail__row\">\n <mat-icon>build</mat-icon>\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\n <div class=\"tk-workspace-detail__row\">\n <mat-icon>event</mat-icon>\n <div>\n <div>Schedule</div>\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\n <mat-icon class=\"tk-workspace-detail__card-icon\">description</mat-icon>\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\n </section>\n </div>\n\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\n <mat-icon class=\"tk-workspace-detail__settings-icon\">settings</mat-icon>\n </div>\n <div class=\"tk-workspace-detail__location\">\n <mat-icon>location_on</mat-icon>\n <div>\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\n </div>\n </div>\n </section>\n </div>\n </div>\n\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'calling'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <div class=\"tk-workspace-detail__calling-license\">\n <mat-icon>call</mat-icon>\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Directory Number</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.directoryNumber }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.externalCallerIdNumber\">\n <span class=\"tk-workspace-detail__row-label\">External Caller ID</span>\n <span class=\"tk-workspace-detail__row-value\">\n {{ details.calling.externalCallerIdName }} ({{ details.calling.externalCallerIdNumber }})\n </span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.routePartition\">\n <span class=\"tk-workspace-detail__row-label\">Route Partition</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.routePartition }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.callingSearchSpace\">\n <span class=\"tk-workspace-detail__row-label\">Calling Search Space</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.callingSearchSpace }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.securityProfile\">\n <span class=\"tk-workspace-detail__row-label\">Device Security Profile</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.securityProfile }}</span>\n </div>\n </section>\n </div>\n </div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.125rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-sep{color:#0000004d}.tk-workspace-detail__meta-icon{height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1.25rem}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.8125rem;color:#0009;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.12);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-top:1px solid rgba(0,0,0,.12)}.tk-workspace-detail__issue:first-of-type{border-top:none;padding-top:0}.tk-workspace-detail__issue-info{display:flex;align-items:flex-start;gap:.5rem}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#0006}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.3);border-radius:6.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem}.tk-workspace-detail__device{display:flex;align-items:center;gap:.625rem;padding:.75rem;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;min-width:12rem}.tk-workspace-detail__device-icon{width:2.25rem;height:auto;flex-shrink:0}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#0009}.tk-workspace-detail__empty{font-size:.875rem;color:#0009}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action{justify-content:space-between}.tk-workspace-detail__row--kv{justify-content:space-between;padding:.5rem 0;border-top:1px solid rgba(0,0,0,.12)}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#0009}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:.75rem;color:#0006}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:.5rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.8125rem;color:#0009}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
|
|
70
|
+
WorkspaceDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WorkspaceDetailComponent, selector: "tk-workspace-detail", inputs: { workspace: "workspace", connectionType: "connectionType", customerId: "customerId" }, outputs: { back: "back" }, ngImport: i0, template: "<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\n Workspaces\n</button>\n\n<div class=\"tk-workspace-detail__header\">\n <span class=\"tk-workspace-detail__icon\">\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n </span>\n <div class=\"tk-workspace-detail__title-block\">\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\n <div class=\"tk-workspace-detail__meta\">\n <span class=\"tk-workspace-detail__meta-pill\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Live status unavailable\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\n Capacity: {{ workspace.capacity ?? 'Not set' }}\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n Size not set\n </span>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\n Actions\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n <mat-menu #actionsMenu=\"matMenu\">\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\n </mat-menu>\n</div>\n\n<nav class=\"tk-workspace-detail__tabs\">\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\n (click)=\"selectTab('overview')\">\n Overview\n </button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\n (click)=\"selectTab('calling')\">\n Calling\n </button>\n</nav>\n\n<app-loader *ngIf=\"isLoading\"></app-loader>\n\n<ng-container *ngIf=\"details\">\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\n There are currently no issues detected in your workspace.\n </div>\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\n <div class=\"tk-workspace-detail__issue-row\">\n <div class=\"tk-workspace-detail__issue-info\">\n <div class=\"tk-workspace-detail__issue-message-row\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-actions\">\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__issue-toggle\"\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\n (click)=\"'void 0'\">\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n </div>\n </div>\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\n <p>{{ issue.description }}</p>\n <p>\n Suggested action:<br />\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\n </p>\n </div>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\n <div class=\"tk-workspace-detail__device-info\">\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\">{{ device.label }}</a>\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\n </div>\n <div class=\"tk-workspace-detail__device-status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Status unavailable\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n </div>\n </div>\n </div>\n <ng-template #noDevices>\n <div class=\"tk-workspace-detail__no-devices\">\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\n </div>\n </ng-template>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__calling-license\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">\n Planned Maintenance\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </h2>\n <div class=\"tk-workspace-detail__row\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <div>Schedule</div>\n </div>\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\n </section>\n </div>\n\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__location\">\n <!-- <mat-icon>location_on</mat-icon> -->\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\n </div>\n </div>\n </section>\n </div>\n </div>\n\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\n\n <div class=\"tk-workspace-detail__numbers-content\">\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Directory number\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <table class=\"tk-workspace-detail__numbers-table\">\n <thead>\n <tr>\n <th>Type</th>\n <th>Phone Number</th>\n <th>Extension</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\n <td>\n {{ details.calling.directoryNumber }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td>\n {{ details.calling.extension || 'Not set' }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Caller ID\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>{{ callerIdLabel }}</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Emergency Calling\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>Not set</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n </div>\n </section>\n </div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.AppLoaderComponent, selector: "app-loader" }] });
|
|
49
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailComponent, decorators: [{
|
|
50
72
|
type: Component,
|
|
51
|
-
args: [{ selector: 'tk-workspace-detail', template: "<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\n <mat-icon>chevron_left</mat-icon>\n Workspaces\n</button>\n\n<div class=\"tk-workspace-detail__header\">\n <span class=\"tk-workspace-detail__icon\">\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n </span>\n <div class=\"tk-workspace-detail__title-block\">\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\n <div class=\"tk-workspace-detail__meta\">\n <span class=\"tk-workspace-detail__status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Live status unavailable\n </span>\n <span class=\"tk-workspace-detail__meta-sep\">·</span>\n <span>Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\n <span class=\"tk-workspace-detail__meta-sep\">·</span>\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\n <span>Capacity: {{ workspace.capacity ?? 'Not set' }}</span>\n <span class=\"tk-workspace-detail__meta-sep\">·</span>\n <span class=\"tk-workspace-detail__meta-muted\">Size not set</span>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\n Actions\n <mat-icon>expand_more</mat-icon>\n </button>\n <mat-menu #actionsMenu=\"matMenu\">\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\n </mat-menu>\n</div>\n\n<nav class=\"tk-workspace-detail__tabs\">\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\n (click)=\"selectTab('overview')\">\n Overview\n </button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\n (click)=\"selectTab('calling')\">\n Calling\n </button>\n</nav>\n\n<ng-container *ngIf=\"details\">\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\n There are currently no issues detected in your workspace.\n </div>\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\n <div class=\"tk-workspace-detail__issue-info\">\n <mat-icon class=\"tk-workspace-detail__issue-icon\">info</mat-icon>\n <div>\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">\n {{ issue.actionLabel }}\n <mat-icon>expand_more</mat-icon>\n </button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\n </div>\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\n <div class=\"tk-workspace-detail__device-info\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\">{{ device.label }}</a>\n <div class=\"tk-workspace-detail__device-status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Status unavailable\n <mat-icon class=\"tk-workspace-detail__info-icon\">info_outline</mat-icon>\n </div>\n </div>\n </div>\n </div>\n <ng-template #noDevices>\n <div class=\"tk-workspace-detail__empty\">No devices assigned.</div>\n </ng-template>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <mat-icon class=\"tk-workspace-detail__settings-icon\">settings</mat-icon>\n </div>\n <div class=\"tk-workspace-detail__calling-license\">\n <mat-icon>call</mat-icon>\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\n <mat-icon class=\"tk-workspace-detail__card-icon\">event</mat-icon>\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\n <mat-icon class=\"tk-workspace-detail__card-icon\">info</mat-icon>\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">\n Planned Maintenance\n <mat-icon class=\"tk-workspace-detail__info-icon\">info_outline</mat-icon>\n </h2>\n <div class=\"tk-workspace-detail__row\">\n <mat-icon>build</mat-icon>\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\n <div class=\"tk-workspace-detail__row\">\n <mat-icon>event</mat-icon>\n <div>\n <div>Schedule</div>\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\n <mat-icon class=\"tk-workspace-detail__card-icon\">description</mat-icon>\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\n </section>\n </div>\n\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\n <mat-icon class=\"tk-workspace-detail__settings-icon\">settings</mat-icon>\n </div>\n <div class=\"tk-workspace-detail__location\">\n <mat-icon>location_on</mat-icon>\n <div>\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\n </div>\n </div>\n </section>\n </div>\n </div>\n\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'calling'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <div class=\"tk-workspace-detail__calling-license\">\n <mat-icon>call</mat-icon>\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Directory Number</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.directoryNumber }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.externalCallerIdNumber\">\n <span class=\"tk-workspace-detail__row-label\">External Caller ID</span>\n <span class=\"tk-workspace-detail__row-value\">\n {{ details.calling.externalCallerIdName }} ({{ details.calling.externalCallerIdNumber }})\n </span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.routePartition\">\n <span class=\"tk-workspace-detail__row-label\">Route Partition</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.routePartition }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.callingSearchSpace\">\n <span class=\"tk-workspace-detail__row-label\">Calling Search Space</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.callingSearchSpace }}</span>\n </div>\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\" *ngIf=\"details.calling.securityProfile\">\n <span class=\"tk-workspace-detail__row-label\">Device Security Profile</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.securityProfile }}</span>\n </div>\n </section>\n </div>\n </div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.125rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-sep{color:#0000004d}.tk-workspace-detail__meta-icon{height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1.25rem}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.8125rem;color:#0009;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.12);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-top:1px solid rgba(0,0,0,.12)}.tk-workspace-detail__issue:first-of-type{border-top:none;padding-top:0}.tk-workspace-detail__issue-info{display:flex;align-items:flex-start;gap:.5rem}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#0006}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.3);border-radius:6.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem}.tk-workspace-detail__device{display:flex;align-items:center;gap:.625rem;padding:.75rem;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;min-width:12rem}.tk-workspace-detail__device-icon{width:2.25rem;height:auto;flex-shrink:0}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#0009}.tk-workspace-detail__empty{font-size:.875rem;color:#0009}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action{justify-content:space-between}.tk-workspace-detail__row--kv{justify-content:space-between;padding:.5rem 0;border-top:1px solid rgba(0,0,0,.12)}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#0009}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:.75rem;color:#0006}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:.5rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.8125rem;color:#0009}\n"] }]
|
|
73
|
+
args: [{ selector: 'tk-workspace-detail', template: "<button type=\"button\" class=\"tk-workspace-detail__breadcrumb\" (click)=\"onBack()\">\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-left-bold.svg\" alt=\"Back\" />\n Workspaces\n</button>\n\n<div class=\"tk-workspace-detail__header\">\n <span class=\"tk-workspace-detail__icon\">\n <img src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n </span>\n <div class=\"tk-workspace-detail__title-block\">\n <h1 class=\"tk-workspace-detail__name\">{{ workspace.displayName }}</h1>\n <div class=\"tk-workspace-detail__meta\">\n <span class=\"tk-workspace-detail__meta-pill\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Live status unavailable\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-type\">Type: {{ workspace.typeLabel === 'No type' ? 'Not set' : workspace.typeLabel }}</span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/people-regular.svg\" alt=\"\" />\n Capacity: {{ workspace.capacity ?? 'Not set' }}\n </span>\n <span class=\"tk-workspace-detail__meta-sep\"></span>\n <span class=\"tk-workspace-detail__meta-pill tk-workspace-detail__meta-pill--muted\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/device-in-room-regular.svg\" alt=\"\" />\n Size not set\n </span>\n </div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__actions-button\" [matMenuTriggerFor]=\"actionsMenu\">\n Actions\n <img style=\"width: 16px; height: 16px;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n <mat-menu #actionsMenu=\"matMenu\">\n <button type=\"button\" mat-menu-item disabled>More actions coming soon</button>\n </mat-menu>\n</div>\n\n<nav class=\"tk-workspace-detail__tabs\">\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'overview'\"\n (click)=\"selectTab('overview')\">\n Overview\n </button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__tab\"\n [class.tk-workspace-detail__tab--active]=\"activeTab === 'calling'\"\n (click)=\"selectTab('calling')\">\n Calling\n </button>\n</nav>\n\n<app-loader *ngIf=\"isLoading\"></app-loader>\n\n<ng-container *ngIf=\"details\">\n <div class=\"tk-workspace-detail__grid\" *ngIf=\"activeTab === 'overview'\">\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">Issues & Information</h2>\n <div class=\"tk-workspace-detail__no-issues\" *ngIf=\"!details.issues.length\">\n <mat-icon class=\"tk-workspace-detail__no-issues-icon\">check_circle</mat-icon>\n There are currently no issues detected in your workspace.\n </div>\n <div class=\"tk-workspace-detail__issue\" *ngFor=\"let issue of details.issues\">\n <div class=\"tk-workspace-detail__issue-row\">\n <div class=\"tk-workspace-detail__issue-info\">\n <div class=\"tk-workspace-detail__issue-message-row\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <div class=\"tk-workspace-detail__issue-message\">{{ issue.message }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-timestamp\">{{ issue.timestamp }}</div>\n </div>\n <div class=\"tk-workspace-detail__issue-actions\">\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">{{ issue.actionLabel }}</button>\n <button\n type=\"button\"\n class=\"tk-workspace-detail__issue-toggle\"\n [class.tk-workspace-detail__issue-toggle--open]=\"expandedIssueId === issue.id\"\n [attr.aria-expanded]=\"expandedIssueId === issue.id\"\n (click)=\"'void 0'\">\n <img style=\"width: .75rem; height: .75rem;\" src=\"assets/icons/arrow-down-regular.svg\" alt=\"Expand\" />\n </button>\n </div>\n </div>\n <div class=\"tk-workspace-detail__issue-details\" *ngIf=\"expandedIssueId === issue.id\">\n <p>{{ issue.description }}</p>\n <p>\n Suggested action:<br />\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__issue-link\">{{ issue.suggestedAction }}</a>\n </p>\n </div>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Devices</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__devices\" *ngIf=\"workspace.devices.length; else noDevices\">\n <div class=\"tk-workspace-detail__device\" *ngFor=\"let device of workspace.devices\">\n <img class=\"tk-workspace-detail__device-icon\" [src]=\"resolveIcon(device.model)\" [alt]=\"device.label\" />\n <div class=\"tk-workspace-detail__device-info\">\n <div style=\"display: flex; gap: 0.5rem; align-items: center;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__device-link\">{{ device.label }}</a>\n <span class=\"tk-workspace-detail__device-primary\">Primary</span>\n </div>\n <div class=\"tk-workspace-detail__device-status\">\n <span class=\"tk-workspace-detail__status-dot\"></span>\n Status unavailable\n <img class=\"tk-workspace-detail__info-icon\" style=\"width: 12px; height: 12px;\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n </div>\n </div>\n </div>\n <ng-template #noDevices>\n <div class=\"tk-workspace-detail__no-devices\">\n <img class=\"tk-workspace-detail__no-devices-icon\" src=\"assets/icons/desk-phone-bold.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add device</h3>\n <p class=\"tk-workspace-detail__card-text\">Add an IP Phone to collaborate in this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add device</button>\n </div>\n </ng-template>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Calling</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__calling-license\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/handset-regular.svg\" alt=\"\" />\n {{ details.calling.license }}\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--kv\">\n <span class=\"tk-workspace-detail__row-label\">Cisco Webex SIP Address</span>\n <span class=\"tk-workspace-detail__row-value\">{{ details.calling.sipAddress }}</span>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.schedulingConfigured\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Scheduling</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Choose scheduling</h3>\n <p class=\"tk-workspace-detail__card-text\">Choose a calendar service or setup hot-desking for this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Choose scheduling</button>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Meetings</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Device hosted meetings unavailable</h3>\n <p class=\"tk-workspace-detail__card-text\">Service not supported by Cisco IP phones</p>\n </section>\n\n <section class=\"tk-workspace-detail__card\">\n <h2 class=\"tk-workspace-detail__card-title\">\n Planned Maintenance\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </h2>\n <div class=\"tk-workspace-detail__row\">\n <img style=\"width: 20px; height: 20px;\" src=\"assets/icons/tools-regular.svg\" alt=\"\">\n <span>{{ details.plannedMaintenanceEnabled ? 'On' : 'Off' }}</span>\n </div>\n <hr class=\"tk-workspace-detail__divider\" />\n <div class=\"tk-workspace-detail__row tk-workspace-detail__row--with-action\">\n <div class=\"tk-workspace-detail__row\" style=\"flex-direction: column; gap: 1rem;\">\n <div style=\"display: flex; gap: 1rem; align-items: center;\">\n <img class=\"tk-workspace-detail__meta-icon\" style=\"width: 20px; height: 20px;\" src=\"assets/icons/calendar-month-regular.svg\" alt=\"\" />\n <div>Schedule</div>\n </div>\n <div class=\"tk-workspace-detail__row-hint\">No schedule set</div>\n </div>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Edit schedule</button>\n </div>\n </section>\n\n <section class=\"tk-workspace-detail__card tk-workspace-detail__card--centered\" *ngIf=\"!details.notes\">\n <div class=\"tk-workspace-detail__card-header\">\n <h2 class=\"tk-workspace-detail__card-title\">Add Notes</h2>\n </div>\n <img class=\"tk-workspace-detail__card-icon\" src=\"assets/icons/notes-regular.svg\" alt=\"\" />\n <h3 class=\"tk-workspace-detail__card-heading\">Add notes</h3>\n <p class=\"tk-workspace-detail__card-text\">Write a note about this workspace.</p>\n <button type=\"button\" class=\"tk-workspace-detail__pill-button\">Add notes</button>\n </section>\n </div>\n\n <div class=\"tk-workspace-detail__col\">\n <section class=\"tk-workspace-detail__card\">\n <div class=\"tk-workspace-detail__card-header\" style=\"margin-bottom: 1.25rem;\">\n <h2 class=\"tk-workspace-detail__card-title\">Location</h2>\n <div class=\"tk-workspace-detail__card-title__settings_icon_wrapper\">\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/settings-regular.svg\" alt=\"\" />\n </div>\n </div>\n <div class=\"tk-workspace-detail__location\">\n <!-- <mat-icon>location_on</mat-icon> -->\n <img class=\"tk-workspace-detail__meta-icon\" src=\"assets/icons/location-regular.svg\" alt=\"\" />\n <div style=\"display: flex; flex-direction: column; gap: .25rem;\">\n <a href=\"javascript:void(0)\" class=\"tk-workspace-detail__location-link\">{{ details.location.country }}</a>\n <div class=\"tk-workspace-detail__location-address\">{{ details.location.address }}</div>\n </div>\n </div>\n </section>\n </div>\n </div>\n\n <div class=\"tk-workspace-detail__col\" *ngIf=\"activeTab === 'calling'\">\n <section class=\"tk-workspace-detail__card tk-workspace-detail__numbers-card\">\n <h2 class=\"tk-workspace-detail__numbers-title\">Numbers</h2>\n\n <div class=\"tk-workspace-detail__numbers-content\">\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Directory number\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <table class=\"tk-workspace-detail__numbers-table\">\n <thead>\n <tr>\n <th>Type</th>\n <th>Phone Number</th>\n <th>Extension</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><span class=\"tk-workspace-detail__badge\">Primary</span></td>\n <td>\n {{ details.calling.directoryNumber }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td>\n {{ details.calling.extension || 'Not set' }}\n <img class=\"tk-workspace-detail__copy-icon\" src=\"assets/icons/copy-regular.svg\" alt=\"Copy\" />\n </td>\n <td class=\"tk-workspace-detail__numbers-chevron-cell\">\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Caller ID\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>{{ callerIdLabel }}</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n\n <hr class=\"tk-workspace-detail__divider\" />\n\n <div class=\"tk-workspace-detail__numbers-row\">\n <div class=\"tk-workspace-detail__numbers-row-label\">\n Emergency Calling\n <img class=\"tk-workspace-detail__info-icon\" src=\"assets/icons/info-circle-regular.svg\" alt=\"\" />\n </div>\n <div class=\"tk-workspace-detail__numbers-row-value\">\n <span>Not set</span>\n <img class=\"tk-workspace-detail__row-chevron\" src=\"assets/icons/arrow-right-regular.svg\" alt=\"Expand\" />\n </div>\n </div>\n </div>\n </section>\n </div>\n</ng-container>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{display:block;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2;padding:1.5rem}.tk-workspace-detail__breadcrumb{display:inline-flex;align-items:center;gap:.5rem;padding:0;margin-bottom:1rem;background:none;border:none;font-family:inherit;font-size:.875rem;font-weight:500;color:#0009;cursor:pointer}.tk-workspace-detail__breadcrumb:hover{color:#000000f2}.tk-workspace-detail__breadcrumb mat-icon{font-size:1.25rem;height:1.25rem;width:1.25rem}.tk-workspace-detail__header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tk-workspace-detail__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:#2b2b2b}.tk-workspace-detail__icon img{height:1.375rem;width:1.375rem;filter:brightness(0) invert(1)}.tk-workspace-detail__title-block{flex:1;min-width:0}.tk-workspace-detail__name{margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.tk-workspace-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;color:#0009}.tk-workspace-detail__meta-type{color:#000000f2}.tk-workspace-detail__meta-sep{display:inline-flex;align-items:center}.tk-workspace-detail__meta-sep:before{content:\"\";flex-shrink:0;inline-size:.25rem;block-size:.25rem;border-radius:50%;background-color:var(--mch-OutlinePrimary-normal, rgba(0, 0, 0, .45))}.tk-workspace-detail__meta-icon{height:1rem;width:1rem}.tk-workspace-detail__meta-muted{color:#0006}.tk-workspace-detail__meta-pill{display:inline-flex;font-size:.875rem;align-items:center;gap:.35rem;border:1px solid rgba(0,0,0,.2);padding:.25rem .5rem;cursor:pointer;min-inline-size:1.5rem;block-size:100%;max-block-size:1.5rem;color:#000000f2;border-radius:.5rem}.tk-workspace-detail__meta-pill--muted{color:#0006}.tk-workspace-detail__meta-pill-icon{font-size:.875rem;height:.875rem;width:.875rem;opacity:.4}.tk-workspace-detail__status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#707070}.tk-workspace-detail__actions-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0}.tk-workspace-detail__actions-button:hover{background:#2b2b2b}.tk-workspace-detail__actions-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__tabs{display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(0,0,0,.12);margin-bottom:1.25rem}.tk-workspace-detail__tab{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:.9375rem;font-weight:500;color:#000000b3;cursor:pointer}.tk-workspace-detail__tab:hover{color:#000000f2}.tk-workspace-detail__tab--active{color:#000000f2;border-bottom-color:#000}.tk-workspace-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media (max-width: 900px){.tk-workspace-detail__grid{grid-template-columns:1fr}}.tk-workspace-detail__col{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tk-workspace-detail__card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;padding:1rem 1.5rem;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-workspace-detail__card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:1rem 1.5rem}.tk-workspace-detail__card-icon{color:#0009;margin-bottom:.5rem}.tk-workspace-detail__card-heading{margin:0;font-size:.9375rem;font-weight:500}.tk-workspace-detail__card-text{margin:0 0 .5rem;font-size:.875rem;color:#000000b3;max-width:20rem}.tk-workspace-detail__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;width:100%}.tk-workspace-detail__card-title{display:flex;align-items:center;gap:.375rem;margin:0;padding:0;font-size:1rem;font-weight:500;margin-bottom:1rem}.tk-workspace-detail__card-title__settings_icon_wrapper{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.5019607843);color:#000000f2;cursor:pointer}.tk-workspace-detail__card-header .tk-workspace-detail__card-title{margin-bottom:0}.tk-workspace-detail__settings-icon,.tk-workspace-detail__info-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-workspace-detail__divider{border:none;border-top:1px solid rgba(0,0,0,.2);margin:.75rem 0}.tk-workspace-detail__no-issues{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__no-issues-icon{color:#1d805f;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__issue+.tk-workspace-detail__issue{margin-top:.75rem}.tk-workspace-detail__issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1rem;border-radius:.5rem;border:.0625rem solid rgba(0,0,0,.2);cursor:pointer;height:46px;box-sizing:content-box}.tk-workspace-detail__issue-row:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tk-workspace-detail__issue-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:50%;color:#0009;cursor:pointer;flex-shrink:0;background:transparent}.tk-workspace-detail__issue-toggle:hover{background:rgba(0,0,0,.0705882353)}.tk-workspace-detail__issue-toggle:active{background:rgba(0,0,0,.2)}.tk-workspace-detail__issue-toggle mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;transition:transform .15s ease}.tk-workspace-detail__issue-toggle--open mat-icon{transform:rotate(180deg)}.tk-workspace-detail__issue-details{padding:.75rem 1rem .25rem 2.75rem;font-size:.8125rem;color:#0009}.tk-workspace-detail__issue-details p{margin:0 0 .5rem}.tk-workspace-detail__issue-link{color:#0353a8;text-decoration:underline}.tk-workspace-detail__issue-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;height:100%;justify-content:space-around}.tk-workspace-detail__issue-icon{color:#0353a8;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__issue-message-row{display:flex;align-items:center;gap:.5rem}.tk-workspace-detail__issue-message-row .tk-workspace-detail__issue-message{font-size:.875rem;font-weight:500}.tk-workspace-detail__issue-timestamp{font-size:.75rem;color:#000000b3}.tk-workspace-detail__pill-button{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:6.25rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#000000f2;text-overflow:ellipsis;overflow:hidden!important;cursor:pointer;white-space:nowrap}.tk-workspace-detail__pill-button:hover{background:#ededed}.tk-workspace-detail__pill-button mat-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__devices{display:flex;flex-wrap:wrap;gap:.75rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:repeat(auto-fit,minmax(16.75rem,1fr));gap:.5rem}.tk-workspace-detail__device{align-items:center;gap:1.5rem;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;min-width:12rem;align-items:start;display:flex;flex-direction:column;grid-row:span 2;grid-column:1;min-block-size:8rem}.tk-workspace-detail__device-icon{width:3rem;height:3rem;flex-shrink:0}.tk-workspace-detail__device-info{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.tk-workspace-detail__device-info .tk-workspace-detail__device-primary{font-size:.75rem;min-inline-size:1.25rem;block-size:100%;max-block-size:1.25rem;border-color:#5ebff7;background-color:#08599c;color:#fffffff2;display:inline-flex;flex:0 0 auto;gap:.25rem;align-items:center;justify-content:center;overflow:hidden;padding:.25rem .5rem;border:.0625rem solid #5ebff7;border-radius:.25rem;line-height:1;text-overflow:ellipsis;box-sizing:border-box}.tk-workspace-detail__device-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__device-status{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#000000f2}.tk-workspace-detail__no-devices{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2rem 1.25rem}.tk-workspace-detail__no-devices-icon{width:2rem;height:2rem;margin-bottom:.5rem}.tk-workspace-detail__calling-license{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.tk-workspace-detail__calling-license mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-workspace-detail__row{display:flex;align-items:center;gap:1rem;font-size:.875rem}.tk-workspace-detail__row mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__row--with-action,.tk-workspace-detail__row--kv{justify-content:space-between}.tk-workspace-detail__row--kv:first-of-type{border-top:none}.tk-workspace-detail__row-label{color:#000000f2}.tk-workspace-detail__row-value{font-weight:500;text-align:right}.tk-workspace-detail__row-hint{font-size:14px;color:#000000b3}.tk-workspace-detail__row-chevron{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;flex-shrink:0}.tk-workspace-detail__numbers-card{display:flex;gap:1rem}.tk-workspace-detail__numbers-title{width:8.75rem;flex-shrink:0;margin:0;font-size:.9375rem;font-weight:600}.tk-workspace-detail__numbers-content{flex:1;min-width:0;display:flex;flex-direction:column}.tk-workspace-detail__numbers-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.tk-workspace-detail__numbers-row-label{width:9.375rem;flex-shrink:0;display:flex;align-items:center;gap:.375rem;font-size:.875rem}.tk-workspace-detail__numbers-row-value{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;color:#0009}.tk-workspace-detail__numbers-table{flex:1;min-width:0;border-collapse:collapse;font-size:.875rem}.tk-workspace-detail__numbers-table th{padding:0 .75rem .5rem 0;text-align:left;font-weight:400;font-size:.8125rem;color:#0009}.tk-workspace-detail__numbers-table td{padding:0 .75rem 0 0;vertical-align:middle;white-space:nowrap}.tk-workspace-detail__numbers-chevron-cell{width:1.5rem;text-align:right;white-space:nowrap}.tk-workspace-detail__copy-icon{font-size:1rem;height:1rem;width:1rem;margin-left:.25rem;color:#0006;vertical-align:middle;cursor:pointer}.tk-workspace-detail__badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:6.25rem;background:#e8f4fc;border:1px solid #b8d9ed;color:#1170a8;font-size:.75rem;font-weight:500}.tk-workspace-detail__location{display:flex;align-items:flex-start;gap:1rem}.tk-workspace-detail__location mat-icon{color:#0006;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-top:.125rem}.tk-workspace-detail__location-link{color:#0353a8;text-decoration:none;font-size:.875rem;font-weight:500}.tk-workspace-detail__location-address{font-size:.875rem;color:#000000f2}\n"] }]
|
|
52
74
|
}], ctorParameters: function () { return [{ type: i1.WorkspaceDetailService }, { type: i2.Location }]; }, propDecorators: { workspace: [{
|
|
53
75
|
type: Input
|
|
54
76
|
}], connectionType: [{
|
|
@@ -58,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
58
80
|
}], back: [{
|
|
59
81
|
type: Output
|
|
60
82
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2UtZGV0YWlsL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlLWRldGFpbC93b3Jrc3BhY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFTeEQsTUFBTSxPQUFPLHdCQUF3QjtJQVVuQyxZQUNVLHNCQUE4QyxFQUM5QyxRQUFrQjtRQURsQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFWbkIsbUJBQWMsR0FBNEIsSUFBSSxDQUFDO1FBRzlDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTFDLGNBQVMsR0FBdUIsVUFBVSxDQUFDO1FBQzNDLFlBQU8sR0FBNEIsSUFBSSxDQUFDO0lBS3BDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEU7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLE9BQU8sRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7U0FDN0Y7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3NIQWhEVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENickMscXVWQXFOQTs0RkR4TWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjtvSUFLdEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV29ya3NwYWNlLCBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSwgV29ya3NwYWNlRGV0YWlscyB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd29ya3NwYWNlLWRldGFpbC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldERldmljZUljb24gfSBmcm9tICcuLi8uLi91dGlscy9kZXZpY2UtaWNvbic7XG5cbmV4cG9ydCB0eXBlIFdvcmtzcGFjZURldGFpbFRhYiA9ICdvdmVydmlldycgfCAnY2FsbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RrLXdvcmtzcGFjZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd29ya3NwYWNlITogV29ya3NwYWNlO1xuICBASW5wdXQoKSBjb25uZWN0aW9uVHlwZTogV29ya3NwYWNlQ29ubmVjdGlvblR5cGUgPSAnZGknO1xuICBASW5wdXQoKSBjdXN0b21lcklkITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGFjdGl2ZVRhYjogV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JztcbiAgZGV0YWlsczogV29ya3NwYWNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgd29ya3NwYWNlRGV0YWlsU2VydmljZTogV29ya3NwYWNlRGV0YWlsU2VydmljZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLndvcmtzcGFjZURldGFpbFNlcnZpY2UuZ2V0QnlXb3Jrc3BhY2UodGhpcy53b3Jrc3BhY2UsIHRoaXMuY29ubmVjdGlvblR5cGUsIHRoaXMuY3VzdG9tZXJJZCkuc3Vic2NyaWJlKGRldGFpbHMgPT4ge1xuICAgICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcbiAgICAgIGlmIChkZXRhaWxzLmNhcGFjaXR5ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy53b3Jrc3BhY2UgPSB7IC4uLnRoaXMud29ya3NwYWNlLCBjYXBhY2l0eTogZGV0YWlscy5jYXBhY2l0eSB9O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlVXJsKCk7XG4gIH1cblxuICBnZXQgZGV2aWNlTmFtZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25UeXBlID09PSAnd2ViZXgnKSB7XG4gICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy53ZWJleFVVSUQgfHwgdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy5uYW1lIHx8IHRoaXMud29ya3NwYWNlLmlkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UuZGV2aWNlPy5uYW1lIHx8IHRoaXMud29ya3NwYWNlLmlkO1xuICB9XG5cbiAgcmVzb2x2ZUljb24obW9kZWw/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXREZXZpY2VJY29uKG1vZGVsKTtcbiAgfVxuXG4gIHNlbGVjdFRhYih0YWI6IFdvcmtzcGFjZURldGFpbFRhYik6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiO1xuICAgIHRoaXMudXBkYXRlVXJsKCk7XG4gIH1cblxuICBvbkJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoJy93b3Jrc3BhY2VzJyk7XG4gICAgdGhpcy5iYWNrLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVXJsKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKGAvd29ya3NwYWNlcy8ke3RoaXMuZGV2aWNlTmFtZX0vJHt0aGlzLmFjdGl2ZVRhYn1gKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19icmVhZGNydW1iXCIgKGNsaWNrKT1cIm9uQmFjaygpXCI+XG4gIDxtYXQtaWNvbj5jaGV2cm9uX2xlZnQ8L21hdC1pY29uPlxuICBXb3Jrc3BhY2VzXG48L2J1dHRvbj5cblxuPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2hlYWRlclwiPlxuICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2ljb25cIj5cbiAgICA8aW1nIHNyYz1cImFzc2V0cy9pY29ucy9kZXZpY2UtaW4tcm9vbS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gIDwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3RpdGxlLWJsb2NrXCI+XG4gICAgPGgxIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbmFtZVwiPnt7IHdvcmtzcGFjZS5kaXNwbGF5TmFtZSB9fTwvaDE+XG4gICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGFcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fc3RhdHVzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fc3RhdHVzLWRvdFwiPjwvc3Bhbj5cbiAgICAgICAgTGl2ZSBzdGF0dXMgdW5hdmFpbGFibGVcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj4mbWlkZG90Ozwvc3Bhbj5cbiAgICAgIDxzcGFuPlR5cGU6IHt7IHdvcmtzcGFjZS50eXBlTGFiZWwgPT09ICdObyB0eXBlJyA/ICdOb3Qgc2V0JyA6IHdvcmtzcGFjZS50eXBlTGFiZWwgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtc2VwXCI+Jm1pZGRvdDs8L3NwYW4+XG4gICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL3Blb3BsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICA8c3Bhbj5DYXBhY2l0eToge3sgd29ya3NwYWNlLmNhcGFjaXR5ID8/ICdOb3Qgc2V0JyB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj4mbWlkZG90Ozwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1tdXRlZFwiPlNpemUgbm90IHNldDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fYWN0aW9ucy1idXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uc01lbnVcIj5cbiAgICBBY3Rpb25zXG4gICAgPG1hdC1pY29uPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjYWN0aW9uc01lbnU9XCJtYXRNZW51XCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LW1lbnUtaXRlbSBkaXNhYmxlZD5Nb3JlIGFjdGlvbnMgY29taW5nIHNvb248L2J1dHRvbj5cbiAgPC9tYXQtbWVudT5cbjwvZGl2PlxuXG48bmF2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGFic1wiPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxuICAgIFtjbGFzcy50ay13b3Jrc3BhY2UtZGV0YWlsX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIgPT09ICdvdmVydmlldydcIlxuICAgIChjbGljayk9XCJzZWxlY3RUYWIoJ292ZXJ2aWV3JylcIj5cbiAgICBPdmVydmlld1xuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fdGFiXCJcbiAgICBbY2xhc3MudGstd29ya3NwYWNlLWRldGFpbF9fdGFiLS1hY3RpdmVdPVwiYWN0aXZlVGFiID09PSAnY2FsbGluZydcIlxuICAgIChjbGljayk9XCJzZWxlY3RUYWIoJ2NhbGxpbmcnKVwiPlxuICAgIENhbGxpbmdcbiAgPC9idXR0b24+XG48L25hdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNcIj5cbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2dyaWRcIiAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jb2xcIj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+SXNzdWVzICZhbXA7IEluZm9ybWF0aW9uPC9oMj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlc1wiICpuZ0lmPVwiIWRldGFpbHMuaXNzdWVzLmxlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlcy1pY29uXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICAgICAgICBUaGVyZSBhcmUgY3VycmVudGx5IG5vIGlzc3VlcyBkZXRlY3RlZCBpbiB5b3VyIHdvcmtzcGFjZS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZVwiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiBkZXRhaWxzLmlzc3Vlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1pbmZvXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1pY29uXCI+aW5mbzwvbWF0LWljb24+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtbWVzc2FnZVwiPnt7IGlzc3VlLm1lc3NhZ2UgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXRpbWVzdGFtcFwiPnt7IGlzc3VlLnRpbWVzdGFtcCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19waWxsLWJ1dHRvblwiPlxuICAgICAgICAgICAge3sgaXNzdWUuYWN0aW9uTGFiZWwgfX1cbiAgICAgICAgICAgIDxtYXQtaWNvbj5leHBhbmRfbW9yZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkRldmljZXM8L2gyPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5BZGQgZGV2aWNlPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlc1wiICpuZ0lmPVwid29ya3NwYWNlLmRldmljZXMubGVuZ3RoOyBlbHNlIG5vRGV2aWNlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2VcIiAqbmdGb3I9XCJsZXQgZGV2aWNlIG9mIHdvcmtzcGFjZS5kZXZpY2VzXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLWljb25cIiBbc3JjXT1cInJlc29sdmVJY29uKGRldmljZS5tb2RlbClcIiBbYWx0XT1cImRldmljZS5sYWJlbFwiIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLWluZm9cIj5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlLWxpbmtcIj57eyBkZXZpY2UubGFiZWwgfX08L2E+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2Utc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19zdGF0dXMtZG90XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIFN0YXR1cyB1bmF2YWlsYWJsZVxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiPmluZm9fb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI25vRGV2aWNlcz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZW1wdHlcIj5ObyBkZXZpY2VzIGFzc2lnbmVkLjwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkNhbGxpbmc8L2gyPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3NldHRpbmdzLWljb25cIj5zZXR0aW5nczwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FsbGluZy1saWNlbnNlXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNhbGw8L21hdC1pY29uPlxuICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5saWNlbnNlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLWt2XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctbGFiZWxcIj5DaXNjbyBXZWJleCBTSVAgQWRkcmVzczwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy12YWx1ZVwiPnt7IGRldGFpbHMuY2FsbGluZy5zaXBBZGRyZXNzIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkIHRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtLWNlbnRlcmVkXCIgKm5nSWY9XCIhZGV0YWlscy5zY2hlZHVsaW5nQ29uZmlndXJlZFwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIj5ldmVudDwvbWF0LWljb24+XG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkNob29zZSBzY2hlZHVsaW5nPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5DaG9vc2UgYSBjYWxlbmRhciBzZXJ2aWNlIG9yIHNldHVwIGhvdC1kZXNraW5nIGZvciB0aGlzIHdvcmtzcGFjZS48L3A+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5DaG9vc2Ugc2NoZWR1bGluZzwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC0tY2VudGVyZWRcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1pY29uXCI+aW5mbzwvbWF0LWljb24+XG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkRldmljZSBob3N0ZWQgbWVldGluZ3MgdW5hdmFpbGFibGU8L2gzPlxuICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPlNlcnZpY2Ugbm90IHN1cHBvcnRlZCBieSBDaXNjbyBJUCBwaG9uZXM8L3A+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+XG4gICAgICAgICAgUGxhbm5lZCBNYWludGVuYW5jZVxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiPmluZm9fb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3dcIj5cbiAgICAgICAgICA8bWF0LWljb24+YnVpbGQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7IGRldGFpbHMucGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZCA/ICdPbicgOiAnT2ZmJyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxociBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0td2l0aC1hY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZXZlbnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdj5TY2hlZHVsZTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWhpbnRcIj5ObyBzY2hlZHVsZSBzZXQ8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5FZGl0IHNjaGVkdWxlPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC0tY2VudGVyZWRcIiAqbmdJZj1cIiFkZXRhaWxzLm5vdGVzXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaWNvblwiPmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIG5vdGVzPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5Xcml0ZSBhIG5vdGUgYWJvdXQgdGhpcyB3b3Jrc3BhY2UuPC9wPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+QWRkIG5vdGVzPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkxvY2F0aW9uPC9oMj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19zZXR0aW5ncy1pY29uXCI+c2V0dGluZ3M8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2xvY2F0aW9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmxvY2F0aW9uX29uPC9tYXQtaWNvbj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb24tbGlua1wiPnt7IGRldGFpbHMubG9jYXRpb24uY291bnRyeSB9fTwvYT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19sb2NhdGlvbi1hZGRyZXNzXCI+e3sgZGV0YWlscy5sb2NhdGlvbi5hZGRyZXNzIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZ3JpZFwiICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnY2FsbGluZydcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkNhbGxpbmc8L2gyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FsbGluZy1saWNlbnNlXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNhbGw8L21hdC1pY29uPlxuICAgICAgICAgIHt7IGRldGFpbHMuY2FsbGluZy5saWNlbnNlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLWt2XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctbGFiZWxcIj5DaXNjbyBXZWJleCBTSVAgQWRkcmVzczwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy12YWx1ZVwiPnt7IGRldGFpbHMuY2FsbGluZy5zaXBBZGRyZXNzIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLWt2XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctbGFiZWxcIj5EaXJlY3RvcnkgTnVtYmVyPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LXZhbHVlXCI+e3sgZGV0YWlscy5jYWxsaW5nLmRpcmVjdG9yeU51bWJlciB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3cgdGstd29ya3NwYWNlLWRldGFpbF9fcm93LS1rdlwiICpuZ0lmPVwiZGV0YWlscy5jYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROdW1iZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1sYWJlbFwiPkV4dGVybmFsIENhbGxlciBJRDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy12YWx1ZVwiPlxuICAgICAgICAgICAge3sgZGV0YWlscy5jYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROYW1lIH19ICh7eyBkZXRhaWxzLmNhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE51bWJlciB9fSlcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0ta3ZcIiAqbmdJZj1cImRldGFpbHMuY2FsbGluZy5yb3V0ZVBhcnRpdGlvblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWxhYmVsXCI+Um91dGUgUGFydGl0aW9uPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LXZhbHVlXCI+e3sgZGV0YWlscy5jYWxsaW5nLnJvdXRlUGFydGl0aW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3JvdyB0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctLWt2XCIgKm5nSWY9XCJkZXRhaWxzLmNhbGxpbmcuY2FsbGluZ1NlYXJjaFNwYWNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctbGFiZWxcIj5DYWxsaW5nIFNlYXJjaCBTcGFjZTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy12YWx1ZVwiPnt7IGRldGFpbHMuY2FsbGluZy5jYWxsaW5nU2VhcmNoU3BhY2UgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0ta3ZcIiAqbmdJZj1cImRldGFpbHMuY2FsbGluZy5zZWN1cml0eVByb2ZpbGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1sYWJlbFwiPkRldmljZSBTZWN1cml0eSBQcm9maWxlPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LXZhbHVlXCI+e3sgZGV0YWlscy5jYWxsaW5nLnNlY3VyaXR5UHJvZmlsZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvY29tcG9uZW50cy93b3Jrc3BhY2UtZGV0YWlsL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL2NvbXBvbmVudHMvd29ya3NwYWNlLWRldGFpbC93b3Jrc3BhY2UtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBU3hELE1BQU0sT0FBTyx3QkFBd0I7SUFZbkMsWUFDVSxzQkFBOEMsRUFDOUMsUUFBa0I7UUFEbEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBWm5CLG1CQUFjLEdBQTRCLElBQUksQ0FBQztRQUc5QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQyxjQUFTLEdBQXVCLFVBQVUsQ0FBQztRQUMzQyxZQUFPLEdBQTRCLElBQUksQ0FBQztRQUN4QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdBQWtCLElBQUksQ0FBQztJQUtsQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUN2QixJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFO29CQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ3BFO2dCQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUU7WUFDcEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxvQkFBb0I7WUFDakMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixLQUFLLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN0RSxDQUFDLENBQUMsb0JBQW9CLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssT0FBTyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUM3RjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYztRQUN4QixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0UsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3NIQXZFVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENickMsMHlkQWdTQTs0RkRuUmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjtvSUFLdEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV29ya3NwYWNlLCBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSwgV29ya3NwYWNlRGV0YWlscyB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd29ya3NwYWNlLWRldGFpbC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldERldmljZUljb24gfSBmcm9tICcuLi8uLi91dGlscy9kZXZpY2UtaWNvbic7XG5cbmV4cG9ydCB0eXBlIFdvcmtzcGFjZURldGFpbFRhYiA9ICdvdmVydmlldycgfCAnY2FsbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RrLXdvcmtzcGFjZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dvcmtzcGFjZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd29ya3NwYWNlITogV29ya3NwYWNlO1xuICBASW5wdXQoKSBjb25uZWN0aW9uVHlwZTogV29ya3NwYWNlQ29ubmVjdGlvblR5cGUgPSAnZGknO1xuICBASW5wdXQoKSBjdXN0b21lcklkITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGFjdGl2ZVRhYjogV29ya3NwYWNlRGV0YWlsVGFiID0gJ292ZXJ2aWV3JztcbiAgZGV0YWlsczogV29ya3NwYWNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgZXhwYW5kZWRJc3N1ZUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdvcmtzcGFjZURldGFpbFNlcnZpY2U6IFdvcmtzcGFjZURldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMud29ya3NwYWNlRGV0YWlsU2VydmljZS5nZXRCeVdvcmtzcGFjZSh0aGlzLndvcmtzcGFjZSwgdGhpcy5jb25uZWN0aW9uVHlwZSwgdGhpcy5jdXN0b21lcklkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogZGV0YWlscyA9PiB7XG4gICAgICAgIHRoaXMuZGV0YWlscyA9IGRldGFpbHM7XG4gICAgICAgIGlmIChkZXRhaWxzLmNhcGFjaXR5ICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLndvcmtzcGFjZSA9IHsgLi4udGhpcy53b3Jrc3BhY2UsIGNhcGFjaXR5OiBkZXRhaWxzLmNhcGFjaXR5IH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZVVybCgpO1xuICB9XG5cbiAgZ2V0IGNhbGxlcklkTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjYWxsaW5nID0gdGhpcy5kZXRhaWxzPy5jYWxsaW5nO1xuICAgIGlmICghY2FsbGluZz8uZXh0ZXJuYWxDYWxsZXJJZE51bWJlcikge1xuICAgICAgcmV0dXJuICdOb3Qgc2V0JztcbiAgICB9XG4gICAgcmV0dXJuIGNhbGxpbmcuZXh0ZXJuYWxDYWxsZXJJZE5hbWVcbiAgICAgID8gYCR7Y2FsbGluZy5leHRlcm5hbENhbGxlcklkTmFtZX06ICR7Y2FsbGluZy5leHRlcm5hbENhbGxlcklkTnVtYmVyfWBcbiAgICAgIDogYExvY2F0aW9uIG51bWJlcjogJHtjYWxsaW5nLmV4dGVybmFsQ2FsbGVySWROdW1iZXJ9YDtcbiAgfVxuXG4gIGdldCBkZXZpY2VOYW1lKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvblR5cGUgPT09ICd3ZWJleCcpIHtcbiAgICAgIHJldHVybiB0aGlzLndvcmtzcGFjZS5kZXZpY2U/LndlYmV4VVVJRCB8fCB0aGlzLndvcmtzcGFjZS5kZXZpY2U/Lm5hbWUgfHwgdGhpcy53b3Jrc3BhY2UuaWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLndvcmtzcGFjZS5kZXZpY2U/Lm5hbWUgfHwgdGhpcy53b3Jrc3BhY2UuaWQ7XG4gIH1cblxuICByZXNvbHZlSWNvbihtb2RlbD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldERldmljZUljb24obW9kZWwpO1xuICB9XG5cbiAgdG9nZ2xlSXNzdWUoaXNzdWVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZElzc3VlSWQgPSB0aGlzLmV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWVJZCA/IG51bGwgOiBpc3N1ZUlkO1xuICB9XG5cbiAgc2VsZWN0VGFiKHRhYjogV29ya3NwYWNlRGV0YWlsVGFiKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWI7XG4gICAgdGhpcy51cGRhdGVVcmwoKTtcbiAgfVxuXG4gIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSgnL3dvcmtzcGFjZXMnKTtcbiAgICB0aGlzLmJhY2suZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVVcmwoKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUoYC93b3Jrc3BhY2VzLyR7dGhpcy5kZXZpY2VOYW1lfS8ke3RoaXMuYWN0aXZlVGFifWApO1xuICB9XG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2JyZWFkY3J1bWJcIiAoY2xpY2spPVwib25CYWNrKClcIj5cbiAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWxlZnQtYm9sZC5zdmdcIiBhbHQ9XCJCYWNrXCIgLz5cbiAgV29ya3NwYWNlc1xuPC9idXR0b24+XG5cbjxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19oZWFkZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pY29uXCI+XG4gICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICA8L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190aXRsZS1ibG9ja1wiPlxuICAgIDxoMSBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25hbWVcIj57eyB3b3Jrc3BhY2UuZGlzcGxheU5hbWUgfX08L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtcGlsbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3N0YXR1cy1kb3RcIj48L3NwYW4+XG4gICAgICAgIExpdmUgc3RhdHVzIHVuYXZhaWxhYmxlXG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtc2VwXCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXR5cGVcIj5UeXBlOiB7eyB3b3Jrc3BhY2UudHlwZUxhYmVsID09PSAnTm8gdHlwZScgPyAnTm90IHNldCcgOiB3b3Jrc3BhY2UudHlwZUxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXNlcFwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1waWxsXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvcGVvcGxlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgQ2FwYWNpdHk6IHt7IHdvcmtzcGFjZS5jYXBhY2l0eSA/PyAnTm90IHNldCcgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1zZXBcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtcGlsbCB0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLXBpbGwtLW11dGVkXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZGV2aWNlLWluLXJvb20tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICBTaXplIG5vdCBzZXRcbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fYWN0aW9ucy1idXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9uc01lbnVcIj5cbiAgICBBY3Rpb25zXG4gICAgPGltZyBzdHlsZT1cIndpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LWRvd24tcmVndWxhci5zdmdcIiBhbHQ9XCJFeHBhbmRcIiAvPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNhY3Rpb25zTWVudT1cIm1hdE1lbnVcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtbWVudS1pdGVtIGRpc2FibGVkPk1vcmUgYWN0aW9ucyBjb21pbmcgc29vbjwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG5cbjxuYXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJzXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYlwiXG4gICAgW2NsYXNzLnRrLXdvcmtzcGFjZS1kZXRhaWxfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiXG4gICAgKGNsaWNrKT1cInNlbGVjdFRhYignb3ZlcnZpZXcnKVwiPlxuICAgIE92ZXJ2aWV3XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX190YWJcIlxuICAgIFtjbGFzcy50ay13b3Jrc3BhY2UtZGV0YWlsX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIgPT09ICdjYWxsaW5nJ1wiXG4gICAgKGNsaWNrKT1cInNlbGVjdFRhYignY2FsbGluZycpXCI+XG4gICAgQ2FsbGluZ1xuICA8L2J1dHRvbj5cbjwvbmF2PlxuXG48YXBwLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiPjwvYXBwLWxvYWRlcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRldGFpbHNcIj5cbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2dyaWRcIiAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gJ292ZXJ2aWV3J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jb2xcIj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZFwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlXCI+SXNzdWVzICZhbXA7IEluZm9ybWF0aW9uPC9oMj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlc1wiICpuZ0lmPVwiIWRldGFpbHMuaXNzdWVzLmxlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX25vLWlzc3Vlcy1pY29uXCI+Y2hlY2tfY2lyY2xlPC9tYXQtaWNvbj5cbiAgICAgICAgICBUaGVyZSBhcmUgY3VycmVudGx5IG5vIGlzc3VlcyBkZXRlY3RlZCBpbiB5b3VyIHdvcmtzcGFjZS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZVwiICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiBkZXRhaWxzLmlzc3Vlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1tZXNzYWdlLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pc3N1ZS1tZXNzYWdlXCI+e3sgaXNzdWUubWVzc2FnZSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLXRpbWVzdGFtcFwiPnt7IGlzc3VlLnRpbWVzdGFtcCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+e3sgaXNzdWUuYWN0aW9uTGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGstd29ya3NwYWNlLWRldGFpbF9faXNzdWUtdG9nZ2xlLS1vcGVuXT1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRJc3N1ZUlkID09PSBpc3N1ZS5pZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIid2b2lkIDAnXCI+XG4gICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogLjc1cmVtOyBoZWlnaHQ6IC43NXJlbTtcIiBzcmM9XCJhc3NldHMvaWNvbnMvYXJyb3ctZG93bi1yZWd1bGFyLnN2Z1wiIGFsdD1cIkV4cGFuZFwiIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWRldGFpbHNcIiAqbmdJZj1cImV4cGFuZGVkSXNzdWVJZCA9PT0gaXNzdWUuaWRcIj5cbiAgICAgICAgICAgIDxwPnt7IGlzc3VlLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIFN1Z2dlc3RlZCBhY3Rpb246PGJyIC8+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2lzc3VlLWxpbmtcIj57eyBpc3N1ZS5zdWdnZXN0ZWRBY3Rpb24gfX08L2E+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkRldmljZXM8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvc2V0dGluZ3MtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZXNcIiAqbmdJZj1cIndvcmtzcGFjZS5kZXZpY2VzLmxlbmd0aDsgZWxzZSBub0RldmljZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGV2aWNlXCIgKm5nRm9yPVwibGV0IGRldmljZSBvZiB3b3Jrc3BhY2UuZGV2aWNlc1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1pY29uXCIgW3NyY109XCJyZXNvbHZlSWNvbihkZXZpY2UubW9kZWwpXCIgW2FsdF09XCJkZXZpY2UubGFiZWxcIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2UtbGlua1wiPnt7IGRldmljZS5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RldmljZS1wcmltYXJ5XCI+UHJpbWFyeTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kZXZpY2Utc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19zdGF0dXMtZG90XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIFN0YXR1cyB1bmF2YWlsYWJsZVxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19pbmZvLWljb25cIiBzdHlsZT1cIndpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7XCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EZXZpY2VzPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19uby1kZXZpY2VzXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbm8tZGV2aWNlcy1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Rlc2stcGhvbmUtYm9sZC5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIGRldmljZTwvaDM+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGV4dFwiPkFkZCBhbiBJUCBQaG9uZSB0byBjb2xsYWJvcmF0ZSBpbiB0aGlzIHdvcmtzcGFjZS48L3A+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+QWRkIGRldmljZTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkNhbGxpbmc8L2gyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRpdGxlX19zZXR0aW5nc19pY29uX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvc2V0dGluZ3MtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhbGxpbmctbGljZW5zZVwiPlxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9oYW5kc2V0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICB7eyBkZXRhaWxzLmNhbGxpbmcubGljZW5zZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3cgdGstd29ya3NwYWNlLWRldGFpbF9fcm93LS1rdlwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93LWxhYmVsXCI+Q2lzY28gV2ViZXggU0lQIEFkZHJlc3M8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19yb3ctdmFsdWVcIj57eyBkZXRhaWxzLmNhbGxpbmcuc2lwQWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMuc2NoZWR1bGluZ0NvbmZpZ3VyZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlNjaGVkdWxpbmc8L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jYWxlbmRhci1tb250aC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgIDxoMyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGluZ1wiPkNob29zZSBzY2hlZHVsaW5nPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5DaG9vc2UgYSBjYWxlbmRhciBzZXJ2aWNlIG9yIHNldHVwIGhvdC1kZXNraW5nIGZvciB0aGlzIHdvcmtzcGFjZS48L3A+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcGlsbC1idXR0b25cIj5DaG9vc2Ugc2NoZWR1bGluZzwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC0tY2VudGVyZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPk1lZXRpbmdzPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvaW5mby1jaXJjbGUtcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICA8aDMgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLWhlYWRpbmdcIj5EZXZpY2UgaG9zdGVkIG1lZXRpbmdzIHVuYXZhaWxhYmxlPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5TZXJ2aWNlIG5vdCBzdXBwb3J0ZWQgYnkgQ2lzY28gSVAgcGhvbmVzPC9wPlxuICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPlxuICAgICAgICAgIFBsYW5uZWQgTWFpbnRlbmFuY2VcbiAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvd1wiPlxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy90b29scy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiPlxuICAgICAgICAgIDxzcGFuPnt7IGRldGFpbHMucGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZCA/ICdPbicgOiAnT2ZmJyB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxociBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2RpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93IHRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy0td2l0aC1hY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fcm93XCIgc3R5bGU9XCJmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDFyZW07XCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbWV0YS1pY29uXCIgc3R5bGU9XCJ3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1wiIHNyYz1cImFzc2V0cy9pY29ucy9jYWxlbmRhci1tb250aC1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICAgIDxkaXY+U2NoZWR1bGU8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1oaW50XCI+Tm8gc2NoZWR1bGUgc2V0PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19waWxsLWJ1dHRvblwiPkVkaXQgc2NoZWR1bGU8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZCB0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLS1jZW50ZXJlZFwiICpuZ0lmPVwiIWRldGFpbHMubm90ZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC10aXRsZVwiPkFkZCBOb3RlczwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL25vdGVzLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgPGgzIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY2FyZC1oZWFkaW5nXCI+QWRkIG5vdGVzPC9oMz5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19jYXJkLXRleHRcIj5Xcml0ZSBhIG5vdGUgYWJvdXQgdGhpcyB3b3Jrc3BhY2UuPC9wPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3BpbGwtYnV0dG9uXCI+QWRkIG5vdGVzPC9idXR0b24+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fY29sXCI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtaGVhZGVyXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1wiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVcIj5Mb2NhdGlvbjwvaDI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQtdGl0bGVfX3NldHRpbmdzX2ljb25fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX21ldGEtaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9zZXR0aW5ncy1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb25cIj5cbiAgICAgICAgICA8IS0tIDxtYXQtaWNvbj5sb2NhdGlvbl9vbjwvbWF0LWljb24+IC0tPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19tZXRhLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvbG9jYXRpb24tcmVndWxhci5zdmdcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IC4yNXJlbTtcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2xvY2F0aW9uLWxpbmtcIj57eyBkZXRhaWxzLmxvY2F0aW9uLmNvdW50cnkgfX08L2E+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbG9jYXRpb24tYWRkcmVzc1wiPnt7IGRldGFpbHMubG9jYXRpb24uYWRkcmVzcyB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvbFwiICpuZ0lmPVwiYWN0aXZlVGFiID09PSAnY2FsbGluZydcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NhcmQgdGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1jYXJkXCI+XG4gICAgICA8aDIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXRpdGxlXCI+TnVtYmVyczwvaDI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XG4gICAgICAgICAgICBEaXJlY3RvcnkgbnVtYmVyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9faW5mby1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2luZm8tY2lyY2xlLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLXRhYmxlXCI+XG4gICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGg+VHlwZTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPlBob25lIE51bWJlcjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPkV4dGVuc2lvbjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fYmFkZ2VcIj5QcmltYXJ5PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAge3sgZGV0YWlscy5jYWxsaW5nLmRpcmVjdG9yeU51bWJlciB9fVxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvcHktaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jb3B5LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiQ29weVwiIC8+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICB7eyBkZXRhaWxzLmNhbGxpbmcuZXh0ZW5zaW9uIHx8ICdOb3Qgc2V0JyB9fVxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2NvcHktaWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9jb3B5LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiQ29weVwiIC8+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19udW1iZXJzLWNoZXZyb24tY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8aHIgY2xhc3M9XCJ0ay13b3Jrc3BhY2UtZGV0YWlsX19kaXZpZGVyXCIgLz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fbnVtYmVycy1yb3ctbGFiZWxcIj5cbiAgICAgICAgICAgIENhbGxlciBJRFxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LXZhbHVlXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBjYWxsZXJJZExhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGhyIGNsYXNzPVwidGstd29ya3NwYWNlLWRldGFpbF9fZGl2aWRlclwiIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LWxhYmVsXCI+XG4gICAgICAgICAgICBFbWVyZ2VuY3kgQ2FsbGluZ1xuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX2luZm8taWNvblwiIHNyYz1cImFzc2V0cy9pY29ucy9pbmZvLWNpcmNsZS1yZWd1bGFyLnN2Z1wiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX251bWJlcnMtcm93LXZhbHVlXCI+XG4gICAgICAgICAgICA8c3Bhbj5Ob3Qgc2V0PC9zcGFuPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInRrLXdvcmtzcGFjZS1kZXRhaWxfX3Jvdy1jaGV2cm9uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LXJlZ3VsYXIuc3ZnXCIgYWx0PVwiRXhwYW5kXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -36,6 +36,7 @@ export class WorkspaceDetailService {
|
|
|
36
36
|
license: workspaceRes.licenseName || 'Not set',
|
|
37
37
|
sipAddress: workspaceRes.sipAddress || 'Not assigned',
|
|
38
38
|
directoryNumber: primaryNumber?.external || primaryNumber?.extension || 'Not assigned',
|
|
39
|
+
extension: primaryNumber?.extension || undefined,
|
|
39
40
|
routePartition: '',
|
|
40
41
|
callingSearchSpace: '',
|
|
41
42
|
securityProfile: '',
|
|
@@ -50,7 +51,7 @@ export class WorkspaceDetailService {
|
|
|
50
51
|
}
|
|
51
52
|
getCucmDetails(workspace) {
|
|
52
53
|
const siteId = String(workspace.siteId);
|
|
53
|
-
const params = { siteId, workspaceId: workspace.
|
|
54
|
+
const params = { siteId, workspaceId: workspace.cucmDeviceName ?? workspace.device.name };
|
|
54
55
|
return forkJoin([
|
|
55
56
|
this.apiService.fetch(this.buildUrl(API.DETAILS.CUCM.WORKSPACE, params)),
|
|
56
57
|
this.apiService.fetch(this.buildUrl(API.DETAILS.CUCM.SITE, { siteId })),
|
|
@@ -91,12 +92,16 @@ export class WorkspaceDetailService {
|
|
|
91
92
|
message: 'Workspace type not set',
|
|
92
93
|
timestamp,
|
|
93
94
|
actionLabel: 'Assign type',
|
|
95
|
+
description: 'Adding a type specifies what the workspace is used for.',
|
|
96
|
+
suggestedAction: 'Set a type for this workspace.',
|
|
94
97
|
} : null,
|
|
95
98
|
capacity == null ? {
|
|
96
99
|
id: 'capacity',
|
|
97
100
|
message: 'Workspace capacity not set',
|
|
98
101
|
timestamp,
|
|
99
102
|
actionLabel: 'Set capacity',
|
|
103
|
+
description: 'Adding a capacity specifies how many people can use this workspace.',
|
|
104
|
+
suggestedAction: 'Set a capacity for this workspace.',
|
|
100
105
|
} : null,
|
|
101
106
|
].filter((issue) => issue !== null);
|
|
102
107
|
}
|
|
@@ -119,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
119
124
|
providedIn: 'root'
|
|
120
125
|
}]
|
|
121
126
|
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.ApiWebexService }]; } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3NlcnZpY2VzL3dvcmtzcGFjZS1kZXRhaWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWtCdkMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3RDLENBQUM7SUFFTCxjQUFjLENBQ1osU0FBb0IsRUFDcEIsY0FBdUMsRUFDdkMsVUFBMkI7UUFFM0IsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQTJCLEVBQUUsV0FBbUI7UUFDdEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRS9ELE9BQU8sUUFBUSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxD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QzFFLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2xDLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7WUFDZCxJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBMUlVLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4vYXBpLXdlYmV4LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ3VjbVNpdGVSZXNwb25zZSxcbiAgQ3VjbVdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcbiAgV2ViZXhDYWxsZXJJZFJlc3BvbnNlLFxuICBXZWJleE51bWJlcnNSZXNwb25zZSxcbiAgV2ViZXhXb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsXG4gIFdvcmtzcGFjZSxcbiAgV29ya3NwYWNlQ29ubmVjdGlvblR5cGUsXG4gIFdvcmtzcGFjZURldGFpbHMsXG4gIFdvcmtzcGFjZUlzc3VlLFxufSBmcm9tICcuLi90eXBlcy93b3Jrc3BhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpV2ViZXhTZXJ2aWNlOiBBcGlXZWJleFNlcnZpY2UsXG4gICkgeyB9XG5cbiAgZ2V0QnlXb3Jrc3BhY2UoXG4gICAgd29ya3NwYWNlOiBXb3Jrc3BhY2UsXG4gICAgY29ubmVjdGlvblR5cGU6IFdvcmtzcGFjZUNvbm5lY3Rpb25UeXBlLFxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlcixcbiAgKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VEZXRhaWxzPiB7XG4gICAgaWYgKGNvbm5lY3Rpb25UeXBlID09PSAnd2ViZXgnICYmIHdvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRXZWJleERldGFpbHMoY3VzdG9tZXJJZCwgd29ya3NwYWNlLmRldmljZS53ZWJleFVVSUQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRDdWNtRGV0YWlscyh3b3Jrc3BhY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXZWJleERldGFpbHMoY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyLCB3b3Jrc3BhY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VEZXRhaWxzPiB7XG4gICAgY29uc3QgcGFyYW1zID0geyBjdXN0b21lcklkOiBTdHJpbmcoY3VzdG9tZXJJZCksIHdvcmtzcGFjZUlkIH07XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5XRUJFWC5XT1JLU1BBQ0UsIHBhcmFtcykpLFxuICAgICAgdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5XRUJFWC5OVU1CRVJTLCBwYXJhbXMpKSxcbiAgICAgIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLmZldGNoKHRoaXMuYnVpbGRVcmwoQVBJLkRFVEFJTFMuV0VCRVguQ0FMTEVSSUQsIHBhcmFtcykpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt3b3Jrc3BhY2VSZXMsIG51bWJlcnNSZXMsIGNhbGxlcklkUmVzXTogW1xuICAgICAgICBXZWJleFdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcbiAgICAgICAgV2ViZXhOdW1iZXJzUmVzcG9uc2UsXG4gICAgICAgIFdlYmV4Q2FsbGVySWRSZXNwb25zZSxcbiAgICAgIF0pID0+IHRoaXMudG9XZWJleERldGFpbHMod29ya3NwYWNlUmVzLCBudW1iZXJzUmVzLCBjYWxsZXJJZFJlcykpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRvV2ViZXhEZXRhaWxzKFxuICAgIHdvcmtzcGFjZVJlczogV2ViZXhXb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsXG4gICAgbnVtYmVyc1JlczogV2ViZXhOdW1iZXJzUmVzcG9uc2UsXG4gICAgY2FsbGVySWRSZXM6IFdlYmV4Q2FsbGVySWRSZXNwb25zZSxcbiAgKTogV29ya3NwYWNlRGV0YWlscyB7XG4gICAgY29uc3QgcHJpbWFyeU51bWJlciA9IG51bWJlcnNSZXMucGhvbmVOdW1iZXJzPy5maW5kKG51bWJlciA9PiBudW1iZXIucHJpbWFyeSkgPz8gbnVtYmVyc1Jlcy5waG9uZU51bWJlcnM/LlswXTtcblxuICAgIHJldHVybiB7XG4gICAgICBpc3N1ZXM6IHRoaXMuYnVpbGRJc3N1ZXMod29ya3NwYWNlUmVzLnR5cGUsIHdvcmtzcGFjZVJlcy5jYXBhY2l0eSksXG4gICAgICBsb2NhdGlvbjoge1xuICAgICAgICBjb3VudHJ5OiBudW1iZXJzUmVzLmxvY2F0aW9uPy5uYW1lIHx8IHdvcmtzcGFjZVJlcy5sb2NhdGlvbk5hbWUgfHwgJ05vdCBzZXQnLFxuICAgICAgICBhZGRyZXNzOiBudW1iZXJzUmVzLmxvY2F0aW9uPy5hZGRyZXNzIHx8ICdBZGRyZXNzIG5vdCBhdmFpbGFibGUnLFxuICAgICAgfSxcbiAgICAgIGNhbGxpbmc6IHtcbiAgICAgICAgbGljZW5zZTogd29ya3NwYWNlUmVzLmxpY2Vuc2VOYW1lIHx8ICdOb3Qgc2V0JyxcbiAgICAgICAgc2lwQWRkcmVzczogd29ya3NwYWNlUmVzLnNpcEFkZHJlc3MgfHwgJ05vdCBhc3NpZ25lZCcsXG4gICAgICAgIGRpcmVjdG9yeU51bWJlcjogcHJpbWFyeU51bWJlcj8uZXh0ZXJuYWwgfHwgcHJpbWFyeU51bWJlcj8uZXh0ZW5zaW9uIHx8ICdOb3QgYXNzaWduZWQnLFxuICAgICAgICByb3V0ZVBhcnRpdGlvbjogJycsXG4gICAgICAgIGNhbGxpbmdTZWFyY2hTcGFjZTogJycsXG4gICAgICAgIHNlY3VyaXR5UHJvZmlsZTogJycsXG4gICAgICAgIGV4dGVybmFsQ2FsbGVySWROYW1lOiBjYWxsZXJJZFJlcy5sb2NhdGlvbkV4dGVybmFsQ2FsbGVySWROYW1lIHx8IGNhbGxlcklkUmVzLmN1c3RvbUV4dGVybmFsQ2FsbGVySWROYW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZXh0ZXJuYWxDYWxsZXJJZE51bWJlcjogY2FsbGVySWRSZXMubG9jYXRpb25OdW1iZXIgfHwgY2FsbGVySWRSZXMuY3VzdG9tTnVtYmVyIHx8IGNhbGxlcklkUmVzLmRpcmVjdE51bWJlciB8fCB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgc2NoZWR1bGluZ0NvbmZpZ3VyZWQ6IGZhbHNlLFxuICAgICAgcGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZDogZmFsc2UsXG4gICAgICBub3RlczogbnVsbCxcbiAgICAgIGNhcGFjaXR5OiB3b3Jrc3BhY2VSZXMuY2FwYWNpdHksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VjbURldGFpbHMod29ya3NwYWNlOiBXb3Jrc3BhY2UpOiBPYnNlcnZhYmxlPFdvcmtzcGFjZURldGFpbHM+IHtcbiAgICBjb25zdCBzaXRlSWQgPSBTdHJpbmcod29ya3NwYWNlLnNpdGVJZCk7XG4gICAgY29uc3QgcGFyYW1zID0geyBzaXRlSWQsIHdvcmtzcGFjZUlkOiB3b3Jrc3BhY2UuaWQgfTtcblxuICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5DVUNNLldPUktTUEFDRSwgcGFyYW1zKSksXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5DVUNNLlNJVEUsIHsgc2l0ZUlkIH0pKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbd29ya3NwYWNlUmVzLCBzaXRlUmVzXTogW0N1Y21Xb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsIEN1Y21TaXRlUmVzcG9uc2VdKSA9PlxuICAgICAgICB0aGlzLnRvQ3VjbURldGFpbHMod29ya3NwYWNlLCB3b3Jrc3BhY2VSZXMsIHNpdGVSZXMpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0N1Y21EZXRhaWxzKFxuICAgIHdvcmtzcGFjZTogV29ya3NwYWNlLFxuICAgIHdvcmtzcGFjZVJlczogQ3VjbVdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcbiAgICBzaXRlUmVzOiBDdWNtU2l0ZVJlc3BvbnNlLFxuICApOiBXb3Jrc3BhY2VEZXRhaWxzIHtcbiAgICBjb25zdCBkZXZpY2UgPSB3b3Jrc3BhY2VSZXMuZGV2aWNlO1xuICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlciA9IGRldmljZS5hc3NvY2lhdGVkRE5zPy5bMF0/LmRpcmVjdG9yeU51bWJlciA/PyAnJztcbiAgICBjb25zdCBzaXBBZGRyZXNzID0gYCR7KGRldmljZS5uYW1lIHx8IHdvcmtzcGFjZS5kaXNwbGF5TmFtZSB8fCAnd29ya3NwYWNlJykudG9Mb3dlckNhc2UoKX1AdHVraWRldi5yb29tcy53ZWJleC5jb21gO1xuICAgIGNvbnN0IGFkZHJlc3MgPSBbc2l0ZVJlcy5hZGRyZXNzMiwgc2l0ZVJlcy5hZGRyZXNzM10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJywgJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNzdWVzOiB0aGlzLmJ1aWxkSXNzdWVzKHdvcmtzcGFjZS50eXBlTGFiZWwsIHdvcmtzcGFjZS5jYXBhY2l0eSksXG4gICAgICBsb2NhdGlvbjoge1xuICAgICAgICBjb3VudHJ5OiBzaXRlUmVzLmNvdW50cnkgfHwgJ05vdCBzZXQnLFxuICAgICAgICBhZGRyZXNzOiBhZGRyZXNzIHx8ICdBZGRyZXNzIG5vdCBhdmFpbGFibGUnLFxuICAgICAgfSxcbiAgICAgIGNhbGxpbmc6IHtcbiAgICAgICAgbGljZW5zZTogd29ya3NwYWNlLmNhbGxpbmdMaWNlbnNlIHx8ICdDaXNjbyBXZWJleCBDYWxsaW5nIFByb2Zlc3Npb25hbCBXb3Jrc3BhY2UnLFxuICAgICAgICBzaXBBZGRyZXNzLFxuICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IGRpcmVjdG9yeU51bWJlciB8fCAnTm90IGFzc2lnbmVkJyxcbiAgICAgICAgcm91dGVQYXJ0aXRpb246IGRldmljZS5hc3NvY2lhdGVkRE5zPy5bMF0/LnJvdXRlUGFydGl0aW9uTmFtZSB8fCAnTm90IHNldCcsXG4gICAgICAgIGNhbGxpbmdTZWFyY2hTcGFjZTogZGV2aWNlLmNhbGxpbmdTZWFyY2hTcGFjZU5hbWUgfHwgJ05vdCBzZXQnLFxuICAgICAgICBzZWN1cml0eVByb2ZpbGU6IGRldmljZS5zZWN1cml0eVByb2ZpbGUgfHwgJ05vdCBzZXQnLFxuICAgICAgfSxcbiAgICAgIHNjaGVkdWxpbmdDb25maWd1cmVkOiBmYWxzZSxcbiAgICAgIHBsYW5uZWRNYWludGVuYW5jZUVuYWJsZWQ6IGZhbHNlLFxuICAgICAgbm90ZXM6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRVcmwodGVtcGxhdGU6IHN0cmluZywgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoKHVybCwga2V5KSA9PiB1cmwucmVwbGFjZShgOiR7a2V5fWAsIHBhcmFtc1trZXldKSwgdGVtcGxhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZElzc3Vlcyh0eXBlTGFiZWw6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGNhcGFjaXR5OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogV29ya3NwYWNlSXNzdWVbXSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5mb3JtYXRUaW1lc3RhbXAobmV3IERhdGUoKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgIXR5cGVMYWJlbCB8fCB0eXBlTGFiZWwgPT09ICdObyB0eXBlJyB8fCB0eXBlTGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gJ25vdHNldCcgPyB7XG4gICAgICAgIGlkOiAndHlwZScsXG4gICAgICAgIG1lc3NhZ2U6ICdXb3Jrc3BhY2UgdHlwZSBub3Qgc2V0JyxcbiAgICAgICAgdGltZXN0YW1wLFxuICAgICAgICBhY3Rpb25MYWJlbDogJ0Fzc2lnbiB0eXBlJyxcbiAgICAgIH0gOiBudWxsLFxuICAgICAgY2FwYWNpdHkgPT0gbnVsbCA/IHtcbiAgICAgICAgaWQ6ICdjYXBhY2l0eScsXG4gICAgICAgIG1lc3NhZ2U6ICdXb3Jrc3BhY2UgY2FwYWNpdHkgbm90IHNldCcsXG4gICAgICAgIHRpbWVzdGFtcCxcbiAgICAgICAgYWN0aW9uTGFiZWw6ICdTZXQgY2FwYWNpdHknLFxuICAgICAgfSA6IG51bGwsXG4gICAgXS5maWx0ZXIoKGlzc3VlKTogaXNzdWUgaXMgTm9uTnVsbGFibGU8dHlwZW9mIGlzc3VlPiA9PiBpc3N1ZSAhPT0gbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFRpbWVzdGFtcChkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XG4gICAgICB5ZWFyOiAnMi1kaWdpdCcsXG4gICAgICBtb250aDogJ251bWVyaWMnLFxuICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXIxMjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3NlcnZpY2VzL3dvcmtzcGFjZS1kZXRhaWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWtCdkMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3RDLENBQUM7SUFFTCxjQUFjLENBQ1osU0FBb0IsRUFDcEIsY0FBdUMsRUFDdkMsVUFBMkI7UUFFM0IsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQTJCLEVBQUUsV0FBbUI7UUFDdEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRS9ELE9BQU8sUUFBUSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxD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Z0JBQ1QsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLFdBQVcsRUFBRSxxRUFBcUU7Z0JBQ2xGLGVBQWUsRUFBRSxvQ0FBb0M7YUFDdEQsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNULENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFzQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2xDLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7WUFDZCxJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBL0lVLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4vYXBpLXdlYmV4LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ3VjbVNpdGVSZXNwb25zZSxcbiAgQ3VjbVdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcbiAgV2ViZXhDYWxsZXJJZFJlc3BvbnNlLFxuICBXZWJleE51bWJlcnNSZXNwb25zZSxcbiAgV2ViZXhXb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsXG4gIFdvcmtzcGFjZSxcbiAgV29ya3NwYWNlQ29ubmVjdGlvblR5cGUsXG4gIFdvcmtzcGFjZURldGFpbHMsXG4gIFdvcmtzcGFjZUlzc3VlLFxufSBmcm9tICcuLi90eXBlcy93b3Jrc3BhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VEZXRhaWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpV2ViZXhTZXJ2aWNlOiBBcGlXZWJleFNlcnZpY2UsXG4gICkgeyB9XG5cbiAgZ2V0QnlXb3Jrc3BhY2UoXG4gICAgd29ya3NwYWNlOiBXb3Jrc3BhY2UsXG4gICAgY29ubmVjdGlvblR5cGU6IFdvcmtzcGFjZUNvbm5lY3Rpb25UeXBlLFxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlcixcbiAgKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VEZXRhaWxzPiB7XG4gICAgaWYgKGNvbm5lY3Rpb25UeXBlID09PSAnd2ViZXgnICYmIHdvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRXZWJleERldGFpbHMoY3VzdG9tZXJJZCwgd29ya3NwYWNlLmRldmljZS53ZWJleFVVSUQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRDdWNtRGV0YWlscyh3b3Jrc3BhY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXZWJleERldGFpbHMoY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyLCB3b3Jrc3BhY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VEZXRhaWxzPiB7XG4gICAgY29uc3QgcGFyYW1zID0geyBjdXN0b21lcklkOiBTdHJpbmcoY3VzdG9tZXJJZCksIHdvcmtzcGFjZUlkIH07XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5XRUJFWC5XT1JLU1BBQ0UsIHBhcmFtcykpLFxuICAgICAgdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5XRUJFWC5OVU1CRVJTLCBwYXJhbXMpKSxcbiAgICAgIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLmZldGNoKHRoaXMuYnVpbGRVcmwoQVBJLkRFVEFJTFMuV0VCRVguQ0FMTEVSSUQsIHBhcmFtcykpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt3b3Jrc3BhY2VSZXMsIG51bWJlcnNSZXMsIGNhbGxlcklkUmVzXTogW1xuICAgICAgICBXZWJleFdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcbiAgICAgICAgV2ViZXhOdW1iZXJzUmVzcG9uc2UsXG4gICAgICAgIFdlYmV4Q2FsbGVySWRSZXNwb25zZSxcbiAgICAgIF0pID0+IHRoaXMudG9XZWJleERldGFpbHMod29ya3NwYWNlUmVzLCBudW1iZXJzUmVzLCBjYWxsZXJJZFJlcykpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRvV2ViZXhEZXRhaWxzKFxuICAgIHdvcmtzcGFjZVJlczogV2ViZXhXb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsXG4gICAgbnVtYmVyc1JlczogV2ViZXhOdW1iZXJzUmVzcG9uc2UsXG4gICAgY2FsbGVySWRSZXM6IFdlYmV4Q2FsbGVySWRSZXNwb25zZSxcbiAgKTogV29ya3NwYWNlRGV0YWlscyB7XG4gICAgY29uc3QgcHJpbWFyeU51bWJlciA9IG51bWJlcnNSZXMucGhvbmVOdW1iZXJzPy5maW5kKG51bWJlciA9PiBudW1iZXIucHJpbWFyeSkgPz8gbnVtYmVyc1Jlcy5waG9uZU51bWJlcnM/LlswXTtcblxuICAgIHJldHVybiB7XG4gICAgICBpc3N1ZXM6IHRoaXMuYnVpbGRJc3N1ZXMod29ya3NwYWNlUmVzLnR5cGUsIHdvcmtzcGFjZVJlcy5jYXBhY2l0eSksXG4gICAgICBsb2NhdGlvbjoge1xuICAgICAgICBjb3VudHJ5OiBudW1iZXJzUmVzLmxvY2F0aW9uPy5uYW1lIHx8IHdvcmtzcGFjZVJlcy5sb2NhdGlvbk5hbWUgfHwgJ05vdCBzZXQnLFxuICAgICAgICBhZGRyZXNzOiBudW1iZXJzUmVzLmxvY2F0aW9uPy5hZGRyZXNzIHx8ICdBZGRyZXNzIG5vdCBhdmFpbGFibGUnLFxuICAgICAgfSxcbiAgICAgIGNhbGxpbmc6IHtcbiAgICAgICAgbGljZW5zZTogd29ya3NwYWNlUmVzLmxpY2Vuc2VOYW1lIHx8ICdOb3Qgc2V0JyxcbiAgICAgICAgc2lwQWRkcmVzczogd29ya3NwYWNlUmVzLnNpcEFkZHJlc3MgfHwgJ05vdCBhc3NpZ25lZCcsXG4gICAgICAgIGRpcmVjdG9yeU51bWJlcjogcHJpbWFyeU51bWJlcj8uZXh0ZXJuYWwgfHwgcHJpbWFyeU51bWJlcj8uZXh0ZW5zaW9uIHx8ICdOb3QgYXNzaWduZWQnLFxuICAgICAgICBleHRlbnNpb246IHByaW1hcnlOdW1iZXI/LmV4dGVuc2lvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIHJvdXRlUGFydGl0aW9uOiAnJyxcbiAgICAgICAgY2FsbGluZ1NlYXJjaFNwYWNlOiAnJyxcbiAgICAgICAgc2VjdXJpdHlQcm9maWxlOiAnJyxcbiAgICAgICAgZXh0ZXJuYWxDYWxsZXJJZE5hbWU6IGNhbGxlcklkUmVzLmxvY2F0aW9uRXh0ZXJuYWxDYWxsZXJJZE5hbWUgfHwgY2FsbGVySWRSZXMuY3VzdG9tRXh0ZXJuYWxDYWxsZXJJZE5hbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBleHRlcm5hbENhbGxlcklkTnVtYmVyOiBjYWxsZXJJZFJlcy5sb2NhdGlvbk51bWJlciB8fCBjYWxsZXJJZFJlcy5jdXN0b21OdW1iZXIgfHwgY2FsbGVySWRSZXMuZGlyZWN0TnVtYmVyIHx8IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBzY2hlZHVsaW5nQ29uZmlndXJlZDogZmFsc2UsXG4gICAgICBwbGFubmVkTWFpbnRlbmFuY2VFbmFibGVkOiBmYWxzZSxcbiAgICAgIG5vdGVzOiBudWxsLFxuICAgICAgY2FwYWNpdHk6IHdvcmtzcGFjZVJlcy5jYXBhY2l0eSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdWNtRGV0YWlscyh3b3Jrc3BhY2U6IFdvcmtzcGFjZSk6IE9ic2VydmFibGU8V29ya3NwYWNlRGV0YWlscz4ge1xuICAgIGNvbnN0IHNpdGVJZCA9IFN0cmluZyh3b3Jrc3BhY2Uuc2l0ZUlkKTtcbiAgICBjb25zdCBwYXJhbXMgPSB7IHNpdGVJZCwgd29ya3NwYWNlSWQ6IHdvcmtzcGFjZS5jdWNtRGV2aWNlTmFtZSA/PyB3b3Jrc3BhY2UuZGV2aWNlLm5hbWUgfTtcblxuICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5DVUNNLldPUktTUEFDRSwgcGFyYW1zKSksXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5DVUNNLlNJVEUsIHsgc2l0ZUlkIH0pKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbd29ya3NwYWNlUmVzLCBzaXRlUmVzXTogW0N1Y21Xb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsIEN1Y21TaXRlUmVzcG9uc2VdKSA9PlxuICAgICAgICB0aGlzLnRvQ3VjbURldGFpbHMod29ya3NwYWNlLCB3b3Jrc3BhY2VSZXMsIHNpdGVSZXMpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0N1Y21EZXRhaWxzKFxuICAgIHdvcmtzcGFjZTogV29ya3NwYWNlLFxuICAgIHdvcmtzcGFjZVJlczogQ3VjbVdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcbiAgICBzaXRlUmVzOiBDdWNtU2l0ZVJlc3BvbnNlLFxuICApOiBXb3Jrc3BhY2VEZXRhaWxzIHtcbiAgICBjb25zdCBkZXZpY2UgPSB3b3Jrc3BhY2VSZXMuZGV2aWNlO1xuICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlciA9IGRldmljZS5hc3NvY2lhdGVkRE5zPy5bMF0/LmRpcmVjdG9yeU51bWJlciA/PyAnJztcbiAgICBjb25zdCBzaXBBZGRyZXNzID0gYCR7KGRldmljZS5uYW1lIHx8IHdvcmtzcGFjZS5kaXNwbGF5TmFtZSB8fCAnd29ya3NwYWNlJykudG9Mb3dlckNhc2UoKX1AdHVraWRldi5yb29tcy53ZWJleC5jb21gO1xuICAgIGNvbnN0IGFkZHJlc3MgPSBbc2l0ZVJlcy5hZGRyZXNzMiwgc2l0ZVJlcy5hZGRyZXNzM10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJywgJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNzdWVzOiB0aGlzLmJ1aWxkSXNzdWVzKHdvcmtzcGFjZS50eXBlTGFiZWwsIHdvcmtzcGFjZS5jYXBhY2l0eSksXG4gICAgICBsb2NhdGlvbjoge1xuICAgICAgICBjb3VudHJ5OiBzaXRlUmVzLmNvdW50cnkgfHwgJ05vdCBzZXQnLFxuICAgICAgICBhZGRyZXNzOiBhZGRyZXNzIHx8ICdBZGRyZXNzIG5vdCBhdmFpbGFibGUnLFxuICAgICAgfSxcbiAgICAgIGNhbGxpbmc6IHtcbiAgICAgICAgbGljZW5zZTogd29ya3NwYWNlLmNhbGxpbmdMaWNlbnNlIHx8ICdDaXNjbyBXZWJleCBDYWxsaW5nIFByb2Zlc3Npb25hbCBXb3Jrc3BhY2UnLFxuICAgICAgICBzaXBBZGRyZXNzLFxuICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IGRpcmVjdG9yeU51bWJlciB8fCAnTm90IGFzc2lnbmVkJyxcbiAgICAgICAgcm91dGVQYXJ0aXRpb246IGRldmljZS5hc3NvY2lhdGVkRE5zPy5bMF0/LnJvdXRlUGFydGl0aW9uTmFtZSB8fCAnTm90IHNldCcsXG4gICAgICAgIGNhbGxpbmdTZWFyY2hTcGFjZTogZGV2aWNlLmNhbGxpbmdTZWFyY2hTcGFjZU5hbWUgfHwgJ05vdCBzZXQnLFxuICAgICAgICBzZWN1cml0eVByb2ZpbGU6IGRldmljZS5zZWN1cml0eVByb2ZpbGUgfHwgJ05vdCBzZXQnLFxuICAgICAgfSxcbiAgICAgIHNjaGVkdWxpbmdDb25maWd1cmVkOiBmYWxzZSxcbiAgICAgIHBsYW5uZWRNYWludGVuYW5jZUVuYWJsZWQ6IGZhbHNlLFxuICAgICAgbm90ZXM6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRVcmwodGVtcGxhdGU6IHN0cmluZywgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoKHVybCwga2V5KSA9PiB1cmwucmVwbGFjZShgOiR7a2V5fWAsIHBhcmFtc1trZXldKSwgdGVtcGxhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZElzc3Vlcyh0eXBlTGFiZWw6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGNhcGFjaXR5OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogV29ya3NwYWNlSXNzdWVbXSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5mb3JtYXRUaW1lc3RhbXAobmV3IERhdGUoKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgIXR5cGVMYWJlbCB8fCB0eXBlTGFiZWwgPT09ICdObyB0eXBlJyB8fCB0eXBlTGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gJ25vdHNldCcgPyB7XG4gICAgICAgIGlkOiAndHlwZScsXG4gICAgICAgIG1lc3NhZ2U6ICdXb3Jrc3BhY2UgdHlwZSBub3Qgc2V0JyxcbiAgICAgICAgdGltZXN0YW1wLFxuICAgICAgICBhY3Rpb25MYWJlbDogJ0Fzc2lnbiB0eXBlJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBZGRpbmcgYSB0eXBlIHNwZWNpZmllcyB3aGF0IHRoZSB3b3Jrc3BhY2UgaXMgdXNlZCBmb3IuJyxcbiAgICAgICAgc3VnZ2VzdGVkQWN0aW9uOiAnU2V0IGEgdHlwZSBmb3IgdGhpcyB3b3Jrc3BhY2UuJyxcbiAgICAgIH0gOiBudWxsLFxuICAgICAgY2FwYWNpdHkgPT0gbnVsbCA/IHtcbiAgICAgICAgaWQ6ICdjYXBhY2l0eScsXG4gICAgICAgIG1lc3NhZ2U6ICdXb3Jrc3BhY2UgY2FwYWNpdHkgbm90IHNldCcsXG4gICAgICAgIHRpbWVzdGFtcCxcbiAgICAgICAgYWN0aW9uTGFiZWw6ICdTZXQgY2FwYWNpdHknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0FkZGluZyBhIGNhcGFjaXR5IHNwZWNpZmllcyBob3cgbWFueSBwZW9wbGUgY2FuIHVzZSB0aGlzIHdvcmtzcGFjZS4nLFxuICAgICAgICBzdWdnZXN0ZWRBY3Rpb246ICdTZXQgYSBjYXBhY2l0eSBmb3IgdGhpcyB3b3Jrc3BhY2UuJyxcbiAgICAgIH0gOiBudWxsLFxuICAgIF0uZmlsdGVyKChpc3N1ZSk6IGlzc3VlIGlzIE5vbk51bGxhYmxlPHR5cGVvZiBpc3N1ZT4gPT4gaXNzdWUgIT09IG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRUaW1lc3RhbXAoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgeWVhcjogJzItZGlnaXQnLFxuICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICBob3VyMTI6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|