@alauda-fe/common 1.4.2 → 1.4.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { KubernetesResourceList, ResourceListParams, RoleTemplate, User, UserBinding, UserRole } from '../core/public-api';
1
+ import { KubernetesResourceList, ResourceListParams, RoleTemplate, User, UserBinding, UserList, UserRole } from '../core/public-api';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AuthApiService {
4
4
  private http;
@@ -8,7 +8,10 @@ export declare class AuthApiService {
8
8
  project?: string;
9
9
  }): import("rxjs").Observable<KubernetesResourceList<UserRole>>;
10
10
  getRoleTemplateList(params: ResourceListParams): import("rxjs").Observable<KubernetesResourceList<RoleTemplate>>;
11
+ getUserList(params?: Record<string, string | number>): import("rxjs").Observable<UserList>;
11
12
  getUser(name: string): import("rxjs").Observable<User>;
13
+ getNotificationUsers(namespace: string, name: string): import("rxjs").Observable<KubernetesResourceList<User>>;
14
+ getNotificationGroupUsers(namespace: string, name: string): import("rxjs").Observable<KubernetesResourceList<User>>;
12
15
  static ɵfac: i0.ɵɵFactoryDeclaration<AuthApiService, never>;
13
16
  static ɵprov: i0.ɵɵInjectableDeclaration<AuthApiService>;
14
17
  }
@@ -31,6 +31,10 @@ export declare class ResourceDataGridComponent implements OnInit {
31
31
  text: string;
32
32
  isHighlighted?: boolean;
33
33
  }[];
34
+ getHighlightedDisplayNameStrs: (item: DataItemBase) => {
35
+ text: string;
36
+ isHighlighted?: boolean;
37
+ }[];
34
38
  onSelect(item: DataItemBase): void;
35
39
  setDisplayMode(mode: DisplayMode): void;
36
40
  keywordChange(keyword: string): void;
@@ -50,7 +50,6 @@ export declare const LINK = "link";
50
50
  export declare const ESCAPE_DEACTIVATE_CHECK = "escape";
51
51
  export declare const CUSTOMIZED = "customized";
52
52
  export declare const GLOBAL_CLUSTER = "global";
53
- export declare const GLOBAL_NAMESPACE = "cpaas-system";
54
53
  export declare const PACKAGE_RUNTIME_VALUE = "Runtime";
55
54
  export declare const CRYPTO_HEADER_KEY = "X-Param-Response";
56
55
  export declare enum CRYPTO_TYPE {
@@ -1,6 +1,6 @@
1
1
  import { ValueOf } from 'ts-essentials';
2
2
  import { StringMap } from '../commons';
3
- import { Condition, KubernetesResource, ObjectMeta } from './core';
3
+ import { Condition, KubernetesResource, KubernetesResourceList, ObjectMeta } from './core';
4
4
  import { ConfigMapKeyRef, Node, NodeStatus, NodeTaint, SecretKeyRef } from './raw';
5
5
  /**
6
6
  * 只保留common中需要用到的crd 扩展类
@@ -703,4 +703,7 @@ export declare enum UserState {
703
703
  DELETED = "deleted"
704
704
  }
705
705
  export type WebhookType = 'Webhook' | 'DingTalk' | 'WeChat';
706
+ export interface UserList extends KubernetesResourceList<User> {
707
+ total: number;
708
+ }
706
709
  export {};
@@ -455,7 +455,7 @@ export declare const RESOURCE_TYPES: {
455
455
  readonly ARGOCD_APPLICATION_SET: "ARGOCD_APPLICATION_SET";
456
456
  readonly ARGOCD_APPLICATION: "ARGOCD_APPLICATION";
457
457
  };
458
- export declare const getYamlApiVersion: (definition: "PROJECT" | "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "PRODUCT" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "VIRTUAL_MACHINE" | "VIRTUAL_MACHINE_INSTANCE" | "VIRTUAL_MACHINE_POOL" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_BINDING" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | {
458
+ export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "PRODUCT" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "VIRTUAL_MACHINE" | "VIRTUAL_MACHINE_INSTANCE" | "VIRTUAL_MACHINE_POOL" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_BINDING" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | {
459
459
  apiGroup: string;
460
460
  type: string;
461
461
  } | {
@@ -2,27 +2,37 @@ import { HttpClient } from '@angular/common/http';
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { API_GATEWAY, } from '../core/public-api';
4
4
  import * as i0 from "@angular/core";
5
+ const AUTH_URL = API_GATEWAY + '/auth/v2';
5
6
  export class AuthApiService {
6
7
  constructor() {
7
8
  this.http = inject(HttpClient);
8
9
  }
9
10
  getUserBindingList(params) {
10
- return this.http.get(API_GATEWAY + '/auth/v2/userbindings', {
11
+ return this.http.get(AUTH_URL + '/userbindings', {
11
12
  params,
12
13
  });
13
14
  }
14
15
  getUserRoleList(params) {
15
- return this.http.get(API_GATEWAY + '/auth/v2/usersroles', {
16
+ return this.http.get(AUTH_URL + '/usersroles', {
16
17
  params,
17
18
  });
18
19
  }
19
20
  getRoleTemplateList(params) {
20
- return this.http.get(API_GATEWAY + '/auth/v2/roletemplates', {
21
+ return this.http.get(AUTH_URL + '/roletemplates', {
21
22
  params,
22
23
  });
23
24
  }
25
+ getUserList(params) {
26
+ return this.http.get(AUTH_URL + '/users', { params });
27
+ }
24
28
  getUser(name) {
25
- return this.http.get(API_GATEWAY + '/auth/v2/users/' + name);
29
+ return this.http.get(`${AUTH_URL}/users/${name}`);
30
+ }
31
+ getNotificationUsers(namespace, name) {
32
+ return this.http.get(`${AUTH_URL}/namespaces/${namespace}/notifications/${name}/users`);
33
+ }
34
+ getNotificationGroupUsers(namespace, name) {
35
+ return this.http.get(`${AUTH_URL}/namespaces/${namespace}/notificationgroups/${name}/users`);
26
36
  }
27
37
  static { this.ɵfac = function AuthApiService_Factory(t) { return new (t || AuthApiService)(); }; }
28
38
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthApiService, factory: AuthApiService.ɵfac, providedIn: 'root' }); }
@@ -31,4 +41,4 @@ export class AuthApiService {
31
41
  type: Injectable,
32
42
  args: [{ providedIn: 'root' }]
33
43
  }], null, null); })();
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvYXV0aC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNMLFdBQVcsR0FPWixNQUFNLG9CQUFvQixDQUFDOztBQUc1QixNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVVLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FnQ25DO0lBOUJDLGtCQUFrQixDQUFDLE1BQTBCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLFdBQVcsR0FBRyx1QkFBdUIsRUFDckM7WUFDRSxNQUFNO1NBQ1AsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUEyQztRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixXQUFXLEdBQUcscUJBQXFCLEVBQ25DO1lBQ0UsTUFBTTtTQUNQLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUEwQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixXQUFXLEdBQUcsd0JBQXdCLEVBQ3RDO1lBQ0UsTUFBTTtTQUNQLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFPLFdBQVcsR0FBRyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOytFQWhDVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEFQSV9HQVRFV0FZLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxuICBSZXNvdXJjZUxpc3RQYXJhbXMsXG4gIFJvbGVUZW1wbGF0ZSxcbiAgVXNlcixcbiAgVXNlckJpbmRpbmcsXG4gIFVzZXJSb2xlLFxufSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhBcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIGdldFVzZXJCaW5kaW5nTGlzdChwYXJhbXM6IFJlc291cmNlTGlzdFBhcmFtcykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8VXNlckJpbmRpbmc+PihcbiAgICAgIEFQSV9HQVRFV0FZICsgJy9hdXRoL3YyL3VzZXJiaW5kaW5ncycsXG4gICAgICB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGdldFVzZXJSb2xlTGlzdChwYXJhbXM6IHsgdXNlcnM6IHN0cmluZzsgcHJvamVjdD86IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxVc2VyUm9sZT4+KFxuICAgICAgQVBJX0dBVEVXQVkgKyAnL2F1dGgvdjIvdXNlcnNyb2xlcycsXG4gICAgICB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGdldFJvbGVUZW1wbGF0ZUxpc3QocGFyYW1zOiBSZXNvdXJjZUxpc3RQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFJvbGVUZW1wbGF0ZT4+KFxuICAgICAgQVBJX0dBVEVXQVkgKyAnL2F1dGgvdjIvcm9sZXRlbXBsYXRlcycsXG4gICAgICB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGdldFVzZXIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VXNlcj4oQVBJX0dBVEVXQVkgKyAnL2F1dGgvdjIvdXNlcnMvJyArIG5hbWUpO1xuICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvYXV0aC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUNMLFdBQVcsR0FRWixNQUFNLG9CQUFvQixDQUFDOztBQUU1QixNQUFNLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBRzFDLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWdEbkM7SUE5Q0Msa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsUUFBUSxHQUFHLGVBQWUsRUFDMUI7WUFDRSxNQUFNO1NBQ1AsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUEyQztRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixRQUFRLEdBQUcsYUFBYSxFQUN4QjtZQUNFLE1BQU07U0FDUCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBMEI7UUFDNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsUUFBUSxHQUFHLGdCQUFnQixFQUMzQjtZQUNFLE1BQU07U0FDUCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVcsUUFBUSxHQUFHLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU8sR0FBRyxRQUFRLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxJQUFZO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsUUFBUSxlQUFlLFNBQVMsa0JBQWtCLElBQUksUUFBUSxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVELHlCQUF5QixDQUFDLFNBQWlCLEVBQUUsSUFBWTtRQUN2RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLFFBQVEsZUFBZSxTQUFTLHVCQUF1QixJQUFJLFFBQVEsQ0FDdkUsQ0FBQztJQUNKLENBQUM7K0VBaERVLGNBQWM7dUVBQWQsY0FBYyxXQUFkLGNBQWMsbUJBREQsTUFBTTs7aUZBQ25CLGNBQWM7Y0FEMUIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQVBJX0dBVEVXQVksXG4gIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QsXG4gIFJlc291cmNlTGlzdFBhcmFtcyxcbiAgUm9sZVRlbXBsYXRlLFxuICBVc2VyLFxuICBVc2VyQmluZGluZyxcbiAgVXNlckxpc3QsXG4gIFVzZXJSb2xlLFxufSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5jb25zdCBBVVRIX1VSTCA9IEFQSV9HQVRFV0FZICsgJy9hdXRoL3YyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoQXBpU2VydmljZSB7XG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBnZXRVc2VyQmluZGluZ0xpc3QocGFyYW1zOiBSZXNvdXJjZUxpc3RQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFVzZXJCaW5kaW5nPj4oXG4gICAgICBBVVRIX1VSTCArICcvdXNlcmJpbmRpbmdzJyxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgZ2V0VXNlclJvbGVMaXN0KHBhcmFtczogeyB1c2Vyczogc3RyaW5nOyBwcm9qZWN0Pzogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFVzZXJSb2xlPj4oXG4gICAgICBBVVRIX1VSTCArICcvdXNlcnNyb2xlcycsXG4gICAgICB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGdldFJvbGVUZW1wbGF0ZUxpc3QocGFyYW1zOiBSZXNvdXJjZUxpc3RQYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFJvbGVUZW1wbGF0ZT4+KFxuICAgICAgQVVUSF9VUkwgKyAnL3JvbGV0ZW1wbGF0ZXMnLFxuICAgICAge1xuICAgICAgICBwYXJhbXMsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBnZXRVc2VyTGlzdChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VXNlckxpc3Q+KEFVVEhfVVJMICsgJy91c2VycycsIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgZ2V0VXNlcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVc2VyPihgJHtBVVRIX1VSTH0vdXNlcnMvJHtuYW1lfWApO1xuICB9XG5cbiAgZ2V0Tm90aWZpY2F0aW9uVXNlcnMobmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8VXNlcj4+KFxuICAgICAgYCR7QVVUSF9VUkx9L25hbWVzcGFjZXMvJHtuYW1lc3BhY2V9L25vdGlmaWNhdGlvbnMvJHtuYW1lfS91c2Vyc2AsXG4gICAgKTtcbiAgfVxuXG4gIGdldE5vdGlmaWNhdGlvbkdyb3VwVXNlcnMobmFtZXNwYWNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8VXNlcj4+KFxuICAgICAgYCR7QVVUSF9VUkx9L25hbWVzcGFjZXMvJHtuYW1lc3BhY2V9L25vdGlmaWNhdGlvbmdyb3Vwcy8ke25hbWV9L3VzZXJzYCxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -36,6 +36,7 @@ export class ResourceUpdateService {
36
36
  const get = () => this.k8sApi.getGlobalResource({
37
37
  type: params.type,
38
38
  namespaced: params.namespaced,
39
+ namespace: params.resource.metadata.namespace,
39
40
  name: params.resource.metadata.name,
40
41
  });
41
42
  return this.retryUpdate(put, get, params.resource);
@@ -59,4 +60,4 @@ export class ResourceUpdateService {
59
60
  type: Injectable,
60
61
  args: [{ providedIn: 'root' }]
61
62
  }], () => [{ type: i1.K8sApiService }, { type: i2.DialogService }, { type: i3.TranslateService }], null); })();
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtdXBkYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXBpL3Jlc291cmNlLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBYyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUlsRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ21CLE1BQXFCLEVBQ3JCLE1BQXFCLEVBQ3JCLFNBQTJCO1FBRjNCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUMzQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxnQkFBZ0IsQ0FDZCxNQUdvRDtRQUVwRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQU0sRUFBRSxFQUFFLENBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUk7WUFDekIsSUFBSSxFQUFFLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUk7WUFDckMsVUFBVSxFQUFFLFlB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YXVkYS91aSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCB0aHJvd0Vycm9yLCBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlLCBTdGF0dXMgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgSzhzQXBpU2VydmljZSB9IGZyb20gJy4vazhzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaURlZmluaXRpb25CYXNlUGFyYW1zLCBBcGlUeXBlQmFzZVBhcmFtcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlVXBkYXRlU2VydmljZTxSIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpOiBLOHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyoqXG4gICAqICEg5Y+q5bqU5Zyo5a6M5pW05pu05paw6LWE5rqQ5pe25L2/55So77yM6YOo5YiG5pu05paw5pe25bqU6K+l5L2/55SoIHBhdGNoXG4gICAqL1xuICByZXRyeVB1dFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczoge1xuICAgICAgY2x1c3Rlcjogc3RyaW5nO1xuICAgICAgcmVzb3VyY2U6IFQ7XG4gICAgfSAmIChBcGlEZWZpbml0aW9uQmFzZVBhcmFtcyB8IEFwaVR5cGVCYXNlUGFyYW1zPFI+KSxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dFJlc291cmNlKHsgLi4ucGFyYW1zLCByZXNvdXJjZTogcmVzIH0pO1xuICAgIGNvbnN0IGdldCA9ICgpID0+XG4gICAgICB0aGlzLms4c0FwaS5nZXRSZXNvdXJjZTxUPih7XG4gICAgICAgIHR5cGU6ICd0eXBlJyBpbiBwYXJhbXMgJiYgcGFyYW1zLnR5cGUsXG4gICAgICAgIGRlZmluaXRpb246ICdkZWZpbml0aW9uJyBpbiBwYXJhbXMgJiYgcGFyYW1zLmRlZmluaXRpb24sXG4gICAgICAgIGNsdXN0ZXI6IHBhcmFtcy5jbHVzdGVyLFxuICAgICAgICBuYW1lc3BhY2U6IHBhcmFtcy5yZXNvdXJjZS5tZXRhZGF0YS5uYW1lc3BhY2UsXG4gICAgICAgIG5hbWU6IHBhcmFtcy5yZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcGFyYW1zLnJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAhIOWPquW6lOWcqOWujOaVtOabtOaWsOi1hOa6kOaXtuS9v+eUqO+8jOmDqOWIhuabtOaWsOaXtuW6lOivpeS9v+eUqCBwYXRjaFxuICAgKi9cbiAgcmV0cnlQdXRHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihwYXJhbXM6IHtcbiAgICB0eXBlOiBSO1xuICAgIG5hbWVzcGFjZWQ6IGJvb2xlYW47XG4gICAgcmVzb3VyY2U6IFQ7XG4gIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBwdXQgPSAocmVzOiBUKSA9PlxuICAgICAgdGhpcy5rOHNBcGkucHV0R2xvYmFsUmVzb3VyY2UoeyAuLi5wYXJhbXMsIHJlc291cmNlOiByZXMgfSk7XG4gICAgY29uc3QgZ2V0ID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldEdsb2JhbFJlc291cmNlPFQ+KHtcbiAgICAgICAgdHlwZTogcGFyYW1zLnR5cGUsXG4gICAgICAgIG5hbWVzcGFjZWQ6IHBhcmFtcy5uYW1lc3BhY2VkLFxuICAgICAgICBuYW1lOiBwYXJhbXMucmVzb3VyY2UubWV0YWRhdGEubmFtZSxcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMucmV0cnlVcGRhdGUocHV0LCBnZXQsIHBhcmFtcy5yZXNvdXJjZSk7XG4gIH1cblxuICBwcml2YXRlIHJldHJ5VXBkYXRlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHB1dDogKHJlc291cmNlOiBUKSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIGdldDogKCkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICByZXNvdXJjZTogVCxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgd2FpdFVzZXJDb25maXJtUmV0cnkgPSAoZXJyOiBTdGF0dXMpID0+XG4gICAgICBmcm9tKFxuICAgICAgICB0aGlzLmRpYWxvZy5jb25maXJtKHtcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuZ2V0KCdyZXNvdXJjZV92ZXJzaW9uX2NvbmZsaWN0JyksXG4gICAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgncmV0cnknKSxcbiAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICB9KSxcbiAgICAgICkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgZ2V0KCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChuZXdSZXNvdXJjZSA9PlxuICAgICAgICAgICAgICBwdXQoXG4gICAgICAgICAgICAgICAgbWVyZ2UocmVzb3VyY2UsIHtcbiAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc291cmNlVmVyc2lvbjogbmV3UmVzb3VyY2UubWV0YWRhdGEucmVzb3VyY2VWZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMucmV0cnlVcGRhdGUocHV0LCBnZXQsIHJlc291cmNlKSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpLFxuICAgICAgKTtcblxuICAgIHJldHVybiBwdXQocmVzb3VyY2UpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnI6IFN0YXR1cykgPT5cbiAgICAgICAgZXJyLmNvZGUgPT09IDQwOSA/IHdhaXRVc2VyQ29uZmlybVJldHJ5KGVycikgOiB0aHJvd0Vycm9yKCgpID0+IGVyciksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtdXBkYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXBpL3Jlc291cmNlLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBYyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUlsRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ21CLE1BQXFCLEVBQ3JCLE1BQXFCLEVBQ3JCLFNBQTJCO1FBRjNCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUMzQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxnQkFBZ0IsQ0FDZCxNQUdvRDtRQUVwRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQU0sRUFBRSxFQUFFLENBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUk7WUFDekIsSUFBSSxFQUFFLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUk7WUFDckMsVUFBVSxFQUFFLFlB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCB0aHJvd0Vycm9yLCBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlLCBTdGF0dXMgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgSzhzQXBpU2VydmljZSB9IGZyb20gJy4vazhzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaURlZmluaXRpb25CYXNlUGFyYW1zLCBBcGlUeXBlQmFzZVBhcmFtcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlVXBkYXRlU2VydmljZTxSIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpOiBLOHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgLyoqXG4gICAqICEg5Y+q5bqU5Zyo5a6M5pW05pu05paw6LWE5rqQ5pe25L2/55So77yM6YOo5YiG5pu05paw5pe25bqU6K+l5L2/55SoIHBhdGNoXG4gICAqL1xuICByZXRyeVB1dFJlc291cmNlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHBhcmFtczoge1xuICAgICAgY2x1c3Rlcjogc3RyaW5nO1xuICAgICAgcmVzb3VyY2U6IFQ7XG4gICAgfSAmIChBcGlEZWZpbml0aW9uQmFzZVBhcmFtcyB8IEFwaVR5cGVCYXNlUGFyYW1zPFI+KSxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dFJlc291cmNlKHsgLi4ucGFyYW1zLCByZXNvdXJjZTogcmVzIH0pO1xuICAgIGNvbnN0IGdldCA9ICgpID0+XG4gICAgICB0aGlzLms4c0FwaS5nZXRSZXNvdXJjZTxUPih7XG4gICAgICAgIHR5cGU6ICd0eXBlJyBpbiBwYXJhbXMgJiYgcGFyYW1zLnR5cGUsXG4gICAgICAgIGRlZmluaXRpb246ICdkZWZpbml0aW9uJyBpbiBwYXJhbXMgJiYgcGFyYW1zLmRlZmluaXRpb24sXG4gICAgICAgIGNsdXN0ZXI6IHBhcmFtcy5jbHVzdGVyLFxuICAgICAgICBuYW1lc3BhY2U6IHBhcmFtcy5yZXNvdXJjZS5tZXRhZGF0YS5uYW1lc3BhY2UsXG4gICAgICAgIG5hbWU6IHBhcmFtcy5yZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcGFyYW1zLnJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAhIOWPquW6lOWcqOWujOaVtOabtOaWsOi1hOa6kOaXtuS9v+eUqO+8jOmDqOWIhuabtOaWsOaXtuW6lOivpeS9v+eUqCBwYXRjaFxuICAgKi9cbiAgcmV0cnlQdXRHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihwYXJhbXM6IHtcbiAgICB0eXBlOiBSO1xuICAgIG5hbWVzcGFjZWQ6IGJvb2xlYW47XG4gICAgcmVzb3VyY2U6IFQ7XG4gIH0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBwdXQgPSAocmVzOiBUKSA9PlxuICAgICAgdGhpcy5rOHNBcGkucHV0R2xvYmFsUmVzb3VyY2UoeyAuLi5wYXJhbXMsIHJlc291cmNlOiByZXMgfSk7XG4gICAgY29uc3QgZ2V0ID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldEdsb2JhbFJlc291cmNlPFQ+KHtcbiAgICAgICAgdHlwZTogcGFyYW1zLnR5cGUsXG4gICAgICAgIG5hbWVzcGFjZWQ6IHBhcmFtcy5uYW1lc3BhY2VkLFxuICAgICAgICBuYW1lc3BhY2U6IHBhcmFtcy5yZXNvdXJjZS5tZXRhZGF0YS5uYW1lc3BhY2UsXG4gICAgICAgIG5hbWU6IHBhcmFtcy5yZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcGFyYW1zLnJlc291cmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0cnlVcGRhdGU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcHV0OiAocmVzb3VyY2U6IFQpID0+IE9ic2VydmFibGU8VD4sXG4gICAgZ2V0OiAoKSA9PiBPYnNlcnZhYmxlPFQ+LFxuICAgIHJlc291cmNlOiBULFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCB3YWl0VXNlckNvbmZpcm1SZXRyeSA9IChlcnI6IFN0YXR1cykgPT5cbiAgICAgIGZyb20oXG4gICAgICAgIHRoaXMuZGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Jlc291cmNlX3ZlcnNpb25fY29uZmxpY3QnKSxcbiAgICAgICAgICBjb25maXJtVGV4dDogdGhpcy50cmFuc2xhdGUuZ2V0KCdyZXRyeScpLFxuICAgICAgICAgIGNhbmNlbFRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY2FuY2VsJyksXG4gICAgICAgIH0pLFxuICAgICAgKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICBnZXQoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKG5ld1Jlc291cmNlID0+XG4gICAgICAgICAgICAgIHB1dChcbiAgICAgICAgICAgICAgICBtZXJnZShyZXNvdXJjZSwge1xuICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VWZXJzaW9uOiBuZXdSZXNvdXJjZS5tZXRhZGF0YS5yZXNvdXJjZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UpKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyKSksXG4gICAgICApO1xuXG4gICAgcmV0dXJuIHB1dChyZXNvdXJjZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogU3RhdHVzKSA9PlxuICAgICAgICBlcnIuY29kZSA9PT0gNDA5ID8gd2FpdFVzZXJDb25maXJtUmV0cnkoZXJyKSA6IHRocm93RXJyb3IoKCkgPT4gZXJyKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -58,21 +58,26 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_ng_container_6_Te
58
58
  } }
59
59
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
60
60
  i0.ɵɵelementContainerStart(0);
61
- i0.ɵɵtext(1);
61
+ i0.ɵɵelementStart(1, "span", 35);
62
+ i0.ɵɵtext(2);
63
+ i0.ɵɵelementEnd();
62
64
  i0.ɵɵelementContainerEnd();
63
65
  } if (rf & 2) {
64
- const item_r4 = i0.ɵɵnextContext(2).$implicit;
66
+ const str_r6 = ctx.$implicit;
67
+ i0.ɵɵadvance();
68
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c7, str_r6.isHighlighted));
65
69
  i0.ɵɵadvance();
66
- i0.ɵɵtextInterpolate(item_r4.displayName);
70
+ i0.ɵɵtextInterpolate(str_r6.text);
67
71
  } }
68
72
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_Template(rf, ctx) { if (rf & 1) {
69
73
  i0.ɵɵelementStart(0, "div", 36);
70
- i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_ng_container_1_Template, 2, 1, "ng-container", 8);
74
+ i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_ng_container_1_Template, 3, 4, "ng-container", 27);
71
75
  i0.ɵɵelementEnd();
72
76
  } if (rf & 2) {
73
77
  const item_r4 = i0.ɵɵnextContext().$implicit;
78
+ const ctx_r1 = i0.ɵɵnextContext(3);
74
79
  i0.ɵɵadvance();
75
- i0.ɵɵproperty("ngIf", item_r4.displayName);
80
+ i0.ɵɵproperty("ngForOf", ctx_r1.getHighlightedDisplayNameStrs(item_r4));
76
81
  } }
77
82
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_ng_container_8_Template(rf, ctx) { if (rf & 1) {
78
83
  i0.ɵɵelementContainerStart(0);
@@ -268,9 +273,9 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template(r
268
273
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, item_r4.timestamp));
269
274
  } }
270
275
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template(rf, ctx) { if (rf & 1) {
271
- const _r6 = i0.ɵɵgetCurrentView();
276
+ const _r7 = i0.ɵɵgetCurrentView();
272
277
  i0.ɵɵelementStart(0, "div", 48);
273
- i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
278
+ i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); });
274
279
  i0.ɵɵelementContainer(1, 49);
275
280
  i0.ɵɵelementEnd();
276
281
  } if (rf & 2) {
@@ -329,16 +334,16 @@ function ResourceDataGridComponent_ng_container_14_div_1_Template(rf, ctx) { if
329
334
  i0.ɵɵtemplate(2, ResourceDataGridComponent_ng_container_14_div_1_div_2_Template, 16, 21, "div", 20);
330
335
  i0.ɵɵelementEnd();
331
336
  } if (rf & 2) {
332
- const displayData_r7 = i0.ɵɵnextContext().ngIf;
337
+ const displayData_r8 = i0.ɵɵnextContext().ngIf;
333
338
  const ctx_r1 = i0.ɵɵnextContext();
334
339
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(2, _c5, ctx_r1.displayMode === "card" && ctx_r1.context !== "popup", ctx_r1.context === "popup", ctx_r1.context === "popup" && ctx_r1.popupLite));
335
340
  i0.ɵɵadvance(2);
336
- i0.ɵɵproperty("ngForOf", displayData_r7);
341
+ i0.ɵɵproperty("ngForOf", displayData_r8);
337
342
  } }
338
343
  function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template(rf, ctx) { if (rf & 1) {
339
- const _r8 = i0.ɵɵgetCurrentView();
344
+ const _r9 = i0.ɵɵgetCurrentView();
340
345
  i0.ɵɵelementStart(0, "acl-resource-no-data", 50);
341
- i0.ɵɵlistener("refresh", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_refresh_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reload.emit()); })("clear", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_clear_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.keywordChange("")); });
346
+ i0.ɵɵlistener("refresh", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_refresh_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reload.emit()); })("clear", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_clear_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.keywordChange("")); });
342
347
  i0.ɵɵelementEnd();
343
348
  } if (rf & 2) {
344
349
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -357,10 +362,10 @@ function ResourceDataGridComponent_ng_container_14_Template(rf, ctx) { if (rf &
357
362
  } if (rf & 2) {
358
363
  let tmp_3_0;
359
364
  let tmp_4_0;
360
- const displayData_r7 = ctx.ngIf;
365
+ const displayData_r8 = ctx.ngIf;
361
366
  const ctx_r1 = i0.ɵɵnextContext();
362
367
  i0.ɵɵadvance();
363
- i0.ɵɵproperty("ngIf", displayData_r7.length);
368
+ i0.ɵɵproperty("ngIf", displayData_r8.length);
364
369
  i0.ɵɵadvance();
365
370
  i0.ɵɵproperty("ngIf", !ctx_r1.popupLite && !((tmp_3_0 = i0.ɵɵpipeBind1(3, 3, ctx_r1.displayData$)) == null ? null : tmp_3_0.length));
366
371
  i0.ɵɵadvance(2);
@@ -425,6 +430,35 @@ export class ResourceDataGridComponent {
425
430
  }
426
431
  return ret;
427
432
  };
433
+ this.getHighlightedDisplayNameStrs = (item) => {
434
+ if (!this.keyword) {
435
+ return [
436
+ {
437
+ text: item.displayName,
438
+ },
439
+ ];
440
+ }
441
+ const original = item.displayName;
442
+ const strs = item.displayName
443
+ .toLowerCase()
444
+ .split(this.keyword.toLowerCase());
445
+ const ret = [];
446
+ let pos = 0;
447
+ for (const [i, str] of strs.entries()) {
448
+ const end = pos + str.length;
449
+ ret.push({
450
+ text: original.slice(pos, end),
451
+ });
452
+ if (i !== strs.length - 1) {
453
+ ret.push({
454
+ text: original.slice(end, end + this.keyword.length),
455
+ isHighlighted: true,
456
+ });
457
+ }
458
+ pos = end + this.keyword.length;
459
+ }
460
+ return ret;
461
+ };
428
462
  this.sortWithoutIstio = (data) => {
429
463
  const withoutIstio = data.filter(item => !item?.serviceMeshIstioVersion);
430
464
  return [...difference(data, withoutIstio), ...withoutIstio];
@@ -550,7 +584,7 @@ __decorate([
550
584
  ], ResourceDataGridComponent.prototype, "data$", void 0);
551
585
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceDataGridComponent, [{
552
586
  type: Component,
553
- args: [{ selector: 'acl-resource-data-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <span\n class=\"header__title\"\n [ngClass]=\"{ 'header__title--lite': popupLite }\"\n >\n <span>{{ type | pure: pluralForm | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (displayData$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n <div\n class=\"header__custom\"\n *ngIf=\"!popupLite\"\n >\n <ng-content select=\"[aclResourceGridHeader]\"></ng-content>\n </div>\n <div\n class=\"tw-flex-1\"\n *ngIf=\"popupLite\"\n ></div>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name_or_display_name' | translate\"\n [keyword]=\"keyword\"\n (keywordChange)=\"keywordChange($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n <span\n class=\"header__display-mode\"\n *ngIf=\"context === 'page'\"\n >\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode !== 'card' }\"\n (click)=\"setDisplayMode('row')\"\n >\n <aui-icon icon=\"list\"></aui-icon>\n </span>\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode === 'card' }\"\n (click)=\"setDisplayMode('card')\"\n >\n <aui-icon icon=\"grid\"></aui-icon>\n </span>\n </span>\n</div>\n<ng-container\n *ngIf=\"\n !loading &&\n (displayData$\n | async\n | pure: sortWithoutIstio\n | pure: filterDisabledData:context) as displayData\n \"\n>\n <div\n class=\"grid\"\n *ngIf=\"displayData.length\"\n #grid\n [ngClass]=\"{\n 'grid--card': displayMode === 'card' && context !== 'popup',\n 'grid--popup': context === 'popup',\n 'grid--popup--lite': context === 'popup' && popupLite\n }\"\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected':\n context === 'popup' && selectedUid === item.__origin.metadata.uid,\n 'grid__item--disabled': item.state?.disabled\n }\"\n (click)=\"onSelect(item)\"\n [attr.data-test]=\"item.name + '/' + item.cluster\"\n [auiTooltip]=\"item.state?.tooltip\"\n [auiTooltipDisabled]=\"!item.state?.disabled || !item.state?.tooltip\"\n >\n <aui-icon\n *ngIf=\"selectedUid === item.__origin.metadata.uid\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <acl-resource-icon\n [type]=\"type\"\n [color]=\"\n context === 'popup' &&\n !popupLite &&\n selectedUid === item.__origin.metadata.uid\n ? 'white'\n : 'blue'\n \"\n [displayMode]=\"displayMode\"\n ></acl-resource-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of getHighlightedNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"des\"\n *ngIf=\"!popupLite\"\n >\n <ng-container *ngIf=\"item.displayName\">{{\n item.displayName\n }}</ng-container>\n </div>\n </div>\n <!-- ns: cluster -->\n <div\n class=\"grid__field flex grid__field-cluster\"\n *ngIf=\"fields.includes(fieldsDef.Cluster)\"\n >\n <span\n class=\"belonged-cluster tw-flex\"\n auiTooltip=\"{{\n ('belonged_cluster' | translate) + ': ' + item.cluster\n }}\"\n >\n <span class=\"with-colon\">{{ 'belonged_cluster' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\"\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </span>\n </div>\n <!-- project: status -->\n <div\n class=\"grid__field grid__field-status {{\n 'grid__field-status--' + item.status\n }}\"\n *ngIf=\"fields.includes(fieldsDef.Status)\"\n >\n <label\n *ngIf=\"popupLite\"\n class=\"tw-text-help-text tw-mr-8\"\n >{{ 'status' | translate }}:</label\n >\n <span class=\"with-colon\">{{ 'status' | translate }}</span>\n <aui-icon\n [icon]=\"statusIcon[item.status]\"\n [background]=\"\n statusIcon[item.status].endsWith('_triangle_s')\n ? 'triangle'\n : 'circle'\n \"\n class=\"{{ 'icon-' + item.status }}\"\n ></aui-icon>\n {{ item.status | translate }}\n </div>\n <!-- asm: service mesh -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'belonged_servicemesh' | translate }}</span>\n <span> {{ item.serviceMeshName }} </span>\n <div class=\"des\">\n <ng-container *ngIf=\"item.serviceMeshIstioVersion\"\n >(Istio {{ item.serviceMeshIstioVersion }})</ng-container\n >\n </div>\n </div>\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </div>\n\n <!-- mesh group -->\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span>{{ item.cluster }} </span>\n </div>\n <!-- asm: istio -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'Istio' }}</span>\n <span\n >{{ item.serviceMeshIstioVersion || ('not_deployed' | translate) }}\n </span>\n </div>\n\n <!-- time -->\n <div\n class=\"grid__field grid__field-time\"\n *ngIf=\"fields.includes(fieldsDef.Time) && !popupLite\"\n >\n <span class=\"with-colon\">{{ 'created_at' | translate }}</span>\n <span>{{ item.timestamp | aclRelativeTime }}</span>\n </div>\n <!-- action -->\n <div\n class=\"grid__field grid__field-action\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"\n fields.includes(fieldsDef.Action) &&\n actionTemplateRef &&\n context !== 'popup'\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"actionTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.__origin\n }\"\n ></ng-container>\n </div>\n </div>\n </div>\n <acl-resource-no-data\n *ngIf=\"!popupLite && !(displayData$ | async)?.length\"\n [isFiltered]=\"!!keyword\"\n [type]=\"type\"\n (refresh)=\"reload.emit()\"\n (clear)=\"keywordChange('')\"\n ></acl-resource-no-data>\n <acl-zero-state\n *ngIf=\"popupLite && !(displayData$ | async)?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"loading\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;align-items:center;margin-bottom:20px;height:28px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite{font-size:16px;font-weight:700;line-height:22px}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn img{width:12px;height:12px}.switch-btn--selected{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:8px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled{cursor:default}.grid__item--disabled,.grid__item--disabled:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled .grid__field{opacity:.3}.grid__item--disabled .grid__field-servicemesh,.grid__item--disabled .grid__field-action{opacity:1}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field:not(:last-child){margin-right:20px}.grid__field-servicemesh{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh aui-tag{margin-left:8px}.grid__field-status{display:flex;align-items:center}.grid__field-status aui-icon{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status .with-colon{display:none}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action{max-width:30px}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup:not(.grid--popup--lite) .grid__item{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup:not(.grid--popup--lite) .grid__item--selected:hover{box-shadow:none}.grid--popup:not(.grid--popup--lite) .grid__item--selected .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected .with-colon{font-weight:500}.grid--popup:not(.grid--popup--lite) .grid__item--selected .des{color:#fff}.grid--popup:not(.grid--popup--lite) .grid__item--selected ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field:not(:last-child){margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:24px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item .des{color:#fff}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card .grid__item{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card .grid__item .belonged-cluster{position:static;padding-right:0}.grid--card .grid__item aui-tag{position:absolute;top:8px;right:8px}.grid--card .grid__field{margin-right:0;justify-content:center}.grid--card .grid__field-icon{max-width:100%;vertical-align:middle}.grid--card .grid__field-name{margin:20px 0 24px}.grid--card .grid__field-name .name,.grid--card .grid__field-name .des{justify-content:center}.grid--card .grid__field-name .name{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card .grid__field-name .des{font-size:14px;height:20px}.grid--card .grid__field-name~.grid__field:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card .grid__field-status .with-colon{display:inline}.grid--card .grid__field-servicemesh:not(:last-of-type){margin-bottom:4px}.grid--card .grid__field-cluster{margin-bottom:4px}.grid--card .grid__field-action{position:absolute;right:10px;top:10px}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected){position:relative}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex{display:flex}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-cluster{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster .with-colon+span{margin-right:8px}.belonged-cluster aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
587
+ args: [{ selector: 'acl-resource-data-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <span\n class=\"header__title\"\n [ngClass]=\"{ 'header__title--lite': popupLite }\"\n >\n <span>{{ type | pure: pluralForm | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (displayData$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n <div\n class=\"header__custom\"\n *ngIf=\"!popupLite\"\n >\n <ng-content select=\"[aclResourceGridHeader]\"></ng-content>\n </div>\n <div\n class=\"tw-flex-1\"\n *ngIf=\"popupLite\"\n ></div>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name_or_display_name' | translate\"\n [keyword]=\"keyword\"\n (keywordChange)=\"keywordChange($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n <span\n class=\"header__display-mode\"\n *ngIf=\"context === 'page'\"\n >\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode !== 'card' }\"\n (click)=\"setDisplayMode('row')\"\n >\n <aui-icon icon=\"list\"></aui-icon>\n </span>\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode === 'card' }\"\n (click)=\"setDisplayMode('card')\"\n >\n <aui-icon icon=\"grid\"></aui-icon>\n </span>\n </span>\n</div>\n<ng-container\n *ngIf=\"\n !loading &&\n (displayData$\n | async\n | pure: sortWithoutIstio\n | pure: filterDisabledData : context) as displayData\n \"\n>\n <div\n class=\"grid\"\n *ngIf=\"displayData.length\"\n #grid\n [ngClass]=\"{\n 'grid--card': displayMode === 'card' && context !== 'popup',\n 'grid--popup': context === 'popup',\n 'grid--popup--lite': context === 'popup' && popupLite,\n }\"\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected':\n context === 'popup' && selectedUid === item.__origin.metadata.uid,\n 'grid__item--disabled': item.state?.disabled,\n }\"\n (click)=\"onSelect(item)\"\n [attr.data-test]=\"item.name + '/' + item.cluster\"\n [auiTooltip]=\"item.state?.tooltip\"\n [auiTooltipDisabled]=\"!item.state?.disabled || !item.state?.tooltip\"\n >\n <aui-icon\n *ngIf=\"selectedUid === item.__origin.metadata.uid\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <acl-resource-icon\n [type]=\"type\"\n [color]=\"\n context === 'popup' &&\n !popupLite &&\n selectedUid === item.__origin.metadata.uid\n ? 'white'\n : 'blue'\n \"\n [displayMode]=\"displayMode\"\n ></acl-resource-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of getHighlightedNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"des\"\n *ngIf=\"!popupLite\"\n >\n <ng-container *ngFor=\"let str of getHighlightedDisplayNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n </div>\n <!-- ns: cluster -->\n <div\n class=\"grid__field flex grid__field-cluster\"\n *ngIf=\"fields.includes(fieldsDef.Cluster)\"\n >\n <span\n class=\"belonged-cluster tw-flex\"\n auiTooltip=\"{{\n ('belonged_cluster' | translate) + ': ' + item.cluster\n }}\"\n >\n <span class=\"with-colon\">{{ 'belonged_cluster' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\"\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </span>\n </div>\n <!-- project: status -->\n <div\n class=\"grid__field grid__field-status {{\n 'grid__field-status--' + item.status\n }}\"\n *ngIf=\"fields.includes(fieldsDef.Status)\"\n >\n <label\n *ngIf=\"popupLite\"\n class=\"tw-text-help-text tw-mr-8\"\n >{{ 'status' | translate }}:</label\n >\n <span class=\"with-colon\">{{ 'status' | translate }}</span>\n <aui-icon\n [icon]=\"statusIcon[item.status]\"\n [background]=\"\n statusIcon[item.status].endsWith('_triangle_s')\n ? 'triangle'\n : 'circle'\n \"\n class=\"{{ 'icon-' + item.status }}\"\n ></aui-icon>\n {{ item.status | translate }}\n </div>\n <!-- asm: service mesh -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'belonged_servicemesh' | translate }}</span>\n <span> {{ item.serviceMeshName }} </span>\n <div class=\"des\">\n <ng-container *ngIf=\"item.serviceMeshIstioVersion\"\n >(Istio {{ item.serviceMeshIstioVersion }})</ng-container\n >\n </div>\n </div>\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </div>\n\n <!-- mesh group -->\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span>{{ item.cluster }} </span>\n </div>\n <!-- asm: istio -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'Istio' }}</span>\n <span\n >{{ item.serviceMeshIstioVersion || ('not_deployed' | translate) }}\n </span>\n </div>\n\n <!-- time -->\n <div\n class=\"grid__field grid__field-time\"\n *ngIf=\"fields.includes(fieldsDef.Time) && !popupLite\"\n >\n <span class=\"with-colon\">{{ 'created_at' | translate }}</span>\n <span>{{ item.timestamp | aclRelativeTime }}</span>\n </div>\n <!-- action -->\n <div\n class=\"grid__field grid__field-action\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"\n fields.includes(fieldsDef.Action) &&\n actionTemplateRef &&\n context !== 'popup'\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"actionTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.__origin,\n }\"\n ></ng-container>\n </div>\n </div>\n </div>\n <acl-resource-no-data\n *ngIf=\"!popupLite && !(displayData$ | async)?.length\"\n [isFiltered]=\"!!keyword\"\n [type]=\"type\"\n (refresh)=\"reload.emit()\"\n (clear)=\"keywordChange('')\"\n ></acl-resource-no-data>\n <acl-zero-state\n *ngIf=\"popupLite && !(displayData$ | async)?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"loading\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;align-items:center;margin-bottom:20px;height:28px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite{font-size:16px;font-weight:700;line-height:22px}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn img{width:12px;height:12px}.switch-btn--selected{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:8px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled{cursor:default}.grid__item--disabled,.grid__item--disabled:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled .grid__field{opacity:.3}.grid__item--disabled .grid__field-servicemesh,.grid__item--disabled .grid__field-action{opacity:1}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field:not(:last-child){margin-right:20px}.grid__field-servicemesh{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh aui-tag{margin-left:8px}.grid__field-status{display:flex;align-items:center}.grid__field-status aui-icon{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status .with-colon{display:none}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action{max-width:30px}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup:not(.grid--popup--lite) .grid__item{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup:not(.grid--popup--lite) .grid__item--selected:hover{box-shadow:none}.grid--popup:not(.grid--popup--lite) .grid__item--selected .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected .with-colon{font-weight:500}.grid--popup:not(.grid--popup--lite) .grid__item--selected .des{color:#fff}.grid--popup:not(.grid--popup--lite) .grid__item--selected ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field:not(:last-child){margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:24px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item .des{color:#fff}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card .grid__item{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card .grid__item .belonged-cluster{position:static;padding-right:0}.grid--card .grid__item aui-tag{position:absolute;top:8px;right:8px}.grid--card .grid__field{margin-right:0;justify-content:center}.grid--card .grid__field-icon{max-width:100%;vertical-align:middle}.grid--card .grid__field-name{margin:20px 0 24px}.grid--card .grid__field-name .name,.grid--card .grid__field-name .des{justify-content:center}.grid--card .grid__field-name .name{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card .grid__field-name .des{font-size:14px;height:20px}.grid--card .grid__field-name~.grid__field:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card .grid__field-status .with-colon{display:inline}.grid--card .grid__field-servicemesh:not(:last-of-type){margin-bottom:4px}.grid--card .grid__field-cluster{margin-bottom:4px}.grid--card .grid__field-action{position:absolute;right:10px;top:10px}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected){position:relative}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex{display:flex}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-cluster{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster .with-colon+span{margin-right:8px}.belonged-cluster aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
554
588
  }], null, { grid: [{
555
589
  type: ViewChild,
556
590
  args: ['grid']
@@ -578,4 +612,4 @@ __decorate([
578
612
  type: Output
579
613
  }] }); })();
580
614
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceDataGridComponent, { className: "ResourceDataGridComponent" }); })();
581
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85RCxlQUE4RDtJQUE5RCxtRkFBOEQ7OztJQXVDOUQsK0JBSVk7OztJQWtCUiw2QkFBK0Q7SUFDN0QsZ0NBQXFEO0lBQUEsWUFFbkQ7SUFBQSxpQkFBTzs7OztJQUZILGNBQThDO0lBQTlDLDBFQUE4QztJQUFDLGNBRW5EO0lBRm1ELGlDQUVuRDs7O0lBT0osNkJBQXVDO0lBQUEsWUFFckM7Ozs7SUFGcUMsY0FFckM7SUFGcUMseUNBRXJDOzs7SUFOSiwrQkFHQztJQUNDLDhIQUF1QztJQUd6QyxpQkFBTTs7O0lBSFcsY0FBc0I7SUFBdEIsMENBQXNCOzs7SUFtQmpDLDZCQUNDO0lBQUEsWUFBK0I7Ozs7SUFBL0IsY0FBK0I7SUFBL0IsMkRBQStCOzs7SUFHcEMsbUNBSUM7SUFDQyxZQUNGO0lBQUEsaUJBQVU7OztJQURSLGNBQ0Y7SUFERSxvREFDRjs7O0lBbkJGLEFBSkYsK0JBR0MsZUFNRTs7SUFDQyxnQ0FBeUI7SUFBQSxZQUFvQzs7SUFBQSxpQkFBTztJQUNwRSxnQ0FDRztJQUFBLFlBQ0M7SUFBQSw4SEFDQztJQUVMLGlCQUFPO0lBQ1AscUhBSUM7SUFJTCxBQURFLGlCQUFPLEVBQ0g7OztJQW5CRixjQUVHO0lBRkgseUdBRUc7SUFFc0IsZUFBb0M7SUFBcEMsOERBQW9DO0lBRTFELGVBQ0M7SUFERCxxQ0FDQztJQUFlLGNBQTZCO0lBQTdCLGlEQUE2QjtJQU83QyxjQUFzQjtJQUF0QiwwQ0FBc0I7OztJQWEzQixpQ0FHRztJQUFBLFlBQTJCOztJQUFBLGlCQUM3Qjs7SUFERSxjQUEyQjtJQUEzQiw4REFBMkI7OztJQVRoQywyQkFLQztJQUNDLGlIQUdHO0lBRUgsZ0NBQXlCO0lBQUEsWUFBMEI7O0lBQUEsaUJBQU87SUFDMUQsK0JBUVk7SUFDWixZQUNGOztJQUFBLGlCQUFNOzs7O0lBckJKLHlHQUVHO0lBSUEsY0FBZTtJQUFmLHVDQUFlO0lBSU8sZUFBMEI7SUFBMUIscURBQTBCO0lBUWpELGVBQW1DO0lBQW5DLHVDQUFtQztJQUxuQyxBQURBLHdEQUFnQyxpR0FLL0I7SUFHSCxjQUNGO0lBREUsc0VBQ0Y7OztJQVNJLDZCQUNHO0lBQUEsWUFBMEM7Ozs7SUFBMUMsY0FBMEM7SUFBMUMsc0VBQTBDOzs7SUFKL0MsQUFKRiwrQkFHQyxlQUMwQjtJQUFBLFlBQXdDOztJQUFBLGlCQUFPO0lBQ3hFLDRCQUFNO0lBQUMsWUFBMkI7SUFBQSxpQkFBTztJQUN6QywrQkFBaUI7SUFDZiwrSEFDRztJQUdQLEFBREUsaUJBQU0sRUFDRjs7O0lBUHFCLGVBQXdDO0lBQXhDLGtFQUF3QztJQUMxRCxlQUEyQjtJQUEzQix3REFBMkI7SUFFakIsZUFBa0M7SUFBbEMsc0RBQWtDOzs7SUFhL0MsNkJBQ0M7SUFBQSxZQUErQjs7OztJQUEvQixjQUErQjtJQUEvQiwyREFBK0I7OztJQUdwQyxtQ0FJQztJQUNDLFlBQ0Y7SUFBQSxpQkFBVTs7O0lBRFIsY0FDRjtJQURFLG9EQUNGOzs7SUFiQSxBQUpGLCtCQUdDLGVBQzBCO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFDM0QsNEJBQ0c7SUFBQSxZQUNDO0lBQUEsK0hBQ0M7SUFFTCxpQkFBTztJQUNQLHNIQUlDO0lBR0gsaUJBQU07OztJQWRxQixlQUEyQjtJQUEzQixxREFBMkI7SUFFakQsZUFDQztJQURELHFDQUNDO0lBQWUsY0FBNkI7SUFBN0IsaURBQTZCO0lBTzdDLGNBQXNCO0lBQXRCLDBDQUFzQjs7O0lBWXpCLEFBSkYsK0JBR0MsZUFDMEI7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUMzRCw0QkFBTTtJQUFBLFlBQW1CO0lBQzNCLEFBRDJCLGlCQUFPLEVBQzVCOzs7SUFGcUIsZUFBMkI7SUFBM0IscURBQTJCO0lBQzlDLGVBQW1CO0lBQW5CLCtDQUFtQjs7O0lBT3pCLEFBSkYsK0JBR0MsZUFDMEI7SUFBQSxZQUFhO0lBQUEsaUJBQU87SUFDN0MsNEJBQ0c7SUFBQSxZQUNIOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSnFCLGVBQWE7SUFBYiw2QkFBYTtJQUVuQyxlQUNIO0lBREcsdUdBQ0g7OztJQVFBLEFBSkYsK0JBR0MsZUFDMEI7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTztJQUM5RCw0QkFBTTtJQUFBLFlBQXNDOztJQUM5QyxBQUQ4QyxpQkFBTyxFQUMvQzs7O0lBRnFCLGVBQThCO0lBQTlCLHdEQUE4QjtJQUNqRCxlQUFzQztJQUF0Qyw2REFBc0M7Ozs7SUFHOUMsK0JBUUM7SUFOQyxrTEFBUyx3QkFBd0IsS0FBQztJQU9sQyw0QkFLZ0I7SUFDbEIsaUJBQU07Ozs7SUFMRixjQUFzQztJQUN0QyxBQURBLDJEQUFzQyx5RUFHcEM7Ozs7SUFqTFIsK0JBWUM7SUFKQyxtT0FBUyx3QkFBYyxLQUFDO0lBS3hCLGlIQUlDO0lBRUQsK0JBQTBDO0lBQ3hDLHdDQVVxQjtJQUN2QixpQkFBTTtJQUdKLEFBREYsK0JBQTBDLGNBQ3RCO0lBQ2hCLHlIQUErRDtJQUtqRSxpQkFBTTtJQUNOLHVHQUdDO0lBS0gsaUJBQU07SUFtSE4sQUFSQSxBQVhBLEFBUkEsQUF0QkEsQUFiQSxBQXhCQSxBQTNCQSx3R0FHQywyRkE2QkEsNEZBc0JBLDRGQWFBLDRGQXNCQSw0RkFRQSw0RkFXQSw0RkFhQTtJQVFILGlCQUFNOzs7O0lBektKLEFBREEsQUFQQSxnTUFJRSxvRUFHZ0MsMklBQ2tDOztJQUdqRSxjQUFnRDtJQUFoRCwyRUFBZ0Q7SUFPL0MsZUFBYTtJQVFiLEFBUEEsQUFEQSxrQ0FBYSxxSUFPWixtQ0FDMEI7SUFNRyxlQUErQjtJQUEvQixnRUFBK0I7SUFRNUQsY0FBZ0I7SUFBaEIsd0NBQWdCO0lBVWxCLGNBQXdDO0lBQXhDLHVFQUF3QztJQTZCeEMsY0FBdUM7SUFBdkMsc0VBQXVDO0lBc0J2QyxjQUE0QztJQUE1QywyRUFBNEM7SUFhNUMsY0FBNEM7SUFBNUMsMkVBQTRDO0lBc0I1QyxjQUFpRDtJQUFqRCxnRkFBaUQ7SUFRakQsY0FBaUQ7SUFBakQsZ0ZBQWlEO0lBV2pELGNBQW1EO0lBQW5ELHlGQUFtRDtJQVNuRCxjQUtUO0lBTFMsZ0lBS1Q7OztJQXRMRSxrQ0FTQztJQUNDLG1HQVlDO0lBeUtILGlCQUFNOzs7O0lBM0xKLDZMQUlFO0lBSWlCLGVBQWM7SUFBZCx3Q0FBYzs7OztJQW9MbkMsZ0RBTUM7SUFEQyxBQURBLHlPQUFXLG9CQUFhLEtBQUMsd05BQ2hCLHFCQUFjLEVBQUUsQ0FBQyxLQUFDO0lBQzVCLGlCQUF1Qjs7O0lBSHRCLEFBREEsNkNBQXdCLHFCQUNYOzs7SUFJZixxQ0FHa0I7OztJQW5OcEIsNkJBUUM7SUFpTUMsQUFoTUEsMkZBU0MsZ0hBNkxBOztJQUNELGlIQUdDOzs7Ozs7OztJQXhNRSxjQUF3QjtJQUF4Qiw0Q0FBd0I7SUErTHhCLGNBQW1EO0lBQW5ELG9JQUFtRDtJQU9uRCxlQUFrRDtJQUFsRCxtSUFBa0Q7OztJQUl2RCwrQkFHQztJQUNDLHVDQUdvQjtJQUN0QixpQkFBTTs7O0lBSEYsY0FBbUI7SUFBbkIsd0NBQW1COztBRDNPdkIsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQWNFLFlBQU8sR0FBaUIsTUFBTSxDQUFDO1FBRy9CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsU0FBSSxHQUFtQixFQUFFLENBQUM7UUFNMUIsU0FBSSxHQUFhLFdBQVcsQ0FBQztRQUc3QixXQUFNLEdBQXdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFTdkQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUdmLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUc5QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdwQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVsQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWIsY0FBUyxHQUFHLGlCQUFpQixDQUFDO1FBRTlCLGdCQUFXLEdBQWdCLEtBQUssQ0FBQztRQUVqQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQztRQUk3QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsZUFBVSxHQUEyQjtZQUNuQyxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUM7UUFtREYsMkJBQXNCLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsT0FBTztvQkFDTDt3QkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7cUJBQ2hCO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDdkUsTUFBTSxHQUFHLEdBR0osRUFBRSxDQUFDO1lBQ1IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ1osS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztnQkFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDUCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2lCQUMvQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQzt3QkFDUCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNwRCxhQUFhLEVBQUUsSUFBSTtxQkFDcEIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUM7UUE4QkYscUJBQWdCLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEVBQUU7WUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDekUsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQztLQUtIO0lBbkxDLElBQXVCLElBQUksQ0FBQyxJQUE2QjtRQUN2RCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUEyREQsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVztZQUNkLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTztnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNkLENBQUMsQ0FBQyxVQUFVO29CQUNaLENBQUMsQ0FBQyxLQUFLO2dCQUNULENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO29CQUNyQyxDQUFDLENBQUUsV0FBMkI7b0JBQzlCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSztZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsT0FBTyxDQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzdDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLFFBQXFCO1FBQ3RDLElBQ0UsSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUI7WUFDdEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFDbEIsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQ3hELENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNELElBQ0UsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUNqQixTQUFTLEdBQUcsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFDdEQsQ0FBQztZQUNELFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ2hCLEdBQUcsRUFBRSxTQUFTLEdBQUcsWUFBWTthQUM5QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBaUNELFFBQVEsQ0FBQyxJQUFrQjtRQUN6QixJQUNFLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUTtZQUNwQixJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFDL0MsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBaUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQW9CLEVBQUUsT0FBcUI7UUFDNUQscUNBQXFDO1FBQ3JDLE9BQU8sQ0FDTCxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQ3pELENBQUM7SUFDbEIsQ0FBQztJQU9ELFVBQVUsQ0FBQyxJQUFjO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7MEZBbkxVLHlCQUF5QjtvRUFBekIseUJBQXlCOzs7Ozs7O1lDMUJsQyxBQUpGLEFBREYsOEJBQW9CLGNBSWpCLFdBQ087WUFBQSxZQUF5Qzs7O1lBQUEsaUJBQzlDO1lBQUEsK0JBQ0U7WUFBQSxZQUEyQzs7WUFFaEQsQUFGZ0QsaUJBQzdDLEVBQ0k7WUFPUCxBQU5BLDBFQUdDLCtEQU1BO1lBQ0Qsc0NBT0M7O1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDO1lBR3hDLGlCQUFhO1lBQ2QsOEVBR0M7WUFnQkgsaUJBQU07WUFDTiw4RkFRQzs7OztZQTZNRCw0RUFHQzs7O1lBclFHLGNBQWdEO1lBQWhELG9FQUFnRDtZQUUxQyxlQUF5QztZQUF6Qyw0RkFBeUM7WUFFNUMsZUFBMkM7WUFBM0MscUlBQTJDO1lBSzdDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFlO1lBQWYsb0NBQWU7WUFHaEIsY0FBc0I7WUFJdEIsQUFGQSxBQURBLEFBREEsb0NBQXNCLHlFQUNzQyx3QkFDekMsbUJBRUQ7WUFLakIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUIxQixjQUs0QztZQUw1QywwTEFLNEM7WUFpTjVDLGVBQWE7WUFBYixrQ0FBYTs7O0FEdk5kO0lBREMsZUFBZSxFQUFFOzhCQUNYLFVBQVU7d0RBQWlCO2lGQWpCdkIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd4QixJQUFJO2tCQUExQixTQUFTO21CQUFDLE1BQU07WUFPakIsT0FBTztrQkFETixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTs7a0ZBeENJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgICA6ICdyb3cnO1xuICAgIHRoaXMuZGlzcGxheURhdGEkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGEkLFxuICAgICAgdGhpcy5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2RhdGEsIGtleXdvcmRdKSA9PlxuICAgICAgICBkYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBrID0ga2V5d29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKSB8fFxuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgb25TZWxlY3QoaXRlbTogRGF0YUl0ZW1CYXNlKSB7XG4gICAgaWYgKFxuICAgICAgaXRlbS5zdGF0ZT8uZGlzYWJsZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXREaXNwbGF5TW9kZShtb2RlOiBEaXNwbGF5TW9kZSkge1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPSBtb2RlO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5LCBtb2RlKTtcbiAgfVxuXG4gIGtleXdvcmRDaGFuZ2Uoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICB0aGlzLmZpbHRlciQubmV4dChrZXl3b3JkKTtcbiAgfVxuXG4gIGZpbHRlckRpc2FibGVkRGF0YShkYXRhOiBEYXRhSXRlbUJhc2VbXSwgY29udGV4dDogVXNhZ2VDb250ZXh0KSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgdHlwaW5ncyBpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0ID09PSAncGFnZScgPyBkYXRhIDogZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zdGF0ZT8uZGlzYWJsZWQpXG4gICAgKSBhcyBEYXRhSXRlbVtdO1xuICB9XG5cbiAgc29ydFdpdGhvdXRJc3RpbyA9IChkYXRhOiBEYXRhSXRlbUJhc2VbXSkgPT4ge1xuICAgIGNvbnN0IHdpdGhvdXRJc3RpbyA9IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0/LnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uKTtcbiAgICByZXR1cm4gWy4uLmRpZmZlcmVuY2UoZGF0YSwgd2l0aG91dElzdGlvKSwgLi4ud2l0aG91dElzdGlvXTtcbiAgfTtcblxuICBwbHVyYWxGb3JtKHR5cGU6IERhdGFUeXBlKSB7XG4gICAgcmV0dXJuIHBsdXJhbCh0eXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGVhZGVyX190aXRsZS0tbGl0ZSc6IHBvcHVwTGl0ZSB9XCJcbiAgPlxuICAgIDxzcGFuPnt7IHR5cGUgfCBwdXJlOiBwbHVyYWxGb3JtIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgPjxzcGFuIGNsYXNzPVwiaGVhZGVyX19kZXNjXCJcbiAgICAgID7vvIh7eyAoZGlzcGxheURhdGEkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCB9fe+8iTwvc3BhblxuICAgID5cbiAgPC9zcGFuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoZWFkZXJfX2N1c3RvbVwiXG4gICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2xSZXNvdXJjZUdyaWRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gID48L2Rpdj5cbiAgPGF1aS1zZWFyY2hcbiAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2ZpbHRlcl9ieV9uYW1lX29yX2Rpc3BsYXlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
615
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85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dCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgICA6ICdyb3cnO1xuICAgIHRoaXMuZGlzcGxheURhdGEkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmRhdGEkLFxuICAgICAgdGhpcy5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKCcnKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2RhdGEsIGtleXdvcmRdKSA9PlxuICAgICAgICBkYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBrID0ga2V5d29yZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKSB8fFxuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgZ2V0SGlnaGxpZ2h0ZWREaXNwbGF5TmFtZVN0cnMgPSAoaXRlbTogRGF0YUl0ZW1CYXNlKSA9PiB7XG4gICAgaWYgKCF0aGlzLmtleXdvcmQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBpdGVtLmRpc3BsYXlOYW1lLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG4gICAgY29uc3Qgb3JpZ2luYWwgPSBpdGVtLmRpc3BsYXlOYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLmRpc3BsYXlOYW1lXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLnNwbGl0KHRoaXMua2V5d29yZC50b0xvd2VyQ2FzZSgpKTtcbiAgICBjb25zdCByZXQ6IEFycmF5PHtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICAgIGlzSGlnaGxpZ2h0ZWQ/OiBib29sZWFuO1xuICAgIH0+ID0gW107XG4gICAgbGV0IHBvcyA9IDA7XG4gICAgZm9yIChjb25zdCBbaSwgc3RyXSBvZiBzdHJzLmVudHJpZXMoKSkge1xuICAgICAgY29uc3QgZW5kID0gcG9zICsgc3RyLmxlbmd0aDtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UocG9zLCBlbmQpLFxuICAgICAgfSk7XG4gICAgICBpZiAoaSAhPT0gc3Rycy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgICB0ZXh0OiBvcmlnaW5hbC5zbGljZShlbmQsIGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGgpLFxuICAgICAgICAgIGlzSGlnaGxpZ2h0ZWQ6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcG9zID0gZW5kICsgdGhpcy5rZXl3b3JkLmxlbmd0aDtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfTtcblxuICBvblNlbGVjdChpdGVtOiBEYXRhSXRlbUJhc2UpIHtcbiAgICBpZiAoXG4gICAgICBpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZFVpZCA9PT0gaXRlbS5fX29yaWdpbi5tZXRhZGF0YS51aWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFVpZCA9IGl0ZW0ubmFtZTtcbiAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdChpdGVtKTtcbiAgfVxuXG4gIHNldERpc3BsYXlNb2RlKG1vZGU6IERpc3BsYXlNb2RlKSB7XG4gICAgdGhpcy5kaXNwbGF5TW9kZSA9IG1vZGU7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuZGlzcGxheU1vZGVLZXksIG1vZGUpO1xuICB9XG5cbiAga2V5d29yZENoYW5nZShrZXl3b3JkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmtleXdvcmQgPSBrZXl3b3JkO1xuICAgIHRoaXMuZmlsdGVyJC5uZXh0KGtleXdvcmQpO1xuICB9XG5cbiAgZmlsdGVyRGlzYWJsZWREYXRhKGRhdGE6IERhdGFJdGVtQmFzZVtdLCBjb250ZXh0OiBVc2FnZUNvbnRleHQpIHtcbiAgICAvLyB3b3JrYXJvdW5kIGZvciB0eXBpbmdzIGluIHRlbXBsYXRlXG4gICAgcmV0dXJuIChcbiAgICAgIGNvbnRleHQgPT09ICdwYWdlJyA/IGRhdGEgOiBkYXRhLmZpbHRlcihpdGVtID0+ICFpdGVtLnN0YXRlPy5kaXNhYmxlZClcbiAgICApIGFzIERhdGFJdGVtW107XG4gIH1cblxuICBzb3J0V2l0aG91dElzdGlvID0gKGRhdGE6IERhdGFJdGVtQmFzZVtdKSA9PiB7XG4gICAgY29uc3Qgd2l0aG91dElzdGlvID0gZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbT8uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24pO1xuICAgIHJldHVybiBbLi4uZGlmZmVyZW5jZShkYXRhLCB3aXRob3V0SXN0aW8pLCAuLi53aXRob3V0SXN0aW9dO1xuICB9O1xuXG4gIHBsdXJhbEZvcm0odHlwZTogRGF0YVR5cGUpIHtcbiAgICByZXR1cm4gcGx1cmFsKHR5cGUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJoZWFkZXJfX3RpdGxlXCJcbiAgICBbbmdDbGFzc109XCJ7ICdoZWFkZXJfX3RpdGxlLS1saXRlJzogcG9wdXBMaXRlIH1cIlxuICA+XG4gICAgPHNwYW4+e3sgdHlwZSB8IHB1cmU6IHBsdXJhbEZvcm0gfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICA+PHNwYW4gY2xhc3M9XCJoZWFkZXJfX2Rlc2NcIlxuICAgICAgPu+8iHt7IChkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aCB8fCAwIH1977yJPC9zcGFuXG4gICAgPlxuICA8L3NwYW4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImhlYWRlcl9fY3VzdG9tXCJcbiAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FjbFJlc291cmNlR3JpZEhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0dy1mbGV4LTFcIlxuICAgICpuZ0lmPVwicG9wdXBMaXRlXCJcbiAgPjwvZGl2PlxuICA8YXVpLXNlYXJjaFxuICAgIFtzZWFyY2hCdXR0b25dPVwiZmFsc2VcIlxuICAgIFtwbGFjZWhvbGRlcl09XCInZmlsdGVyX2J5X25hbWVfb3JfZGlzcGxheV9uYW1lJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2tleXdvcmRdPVwia2V5d29yZFwiXG4gICAgKGtleXdvcmRDaGFuZ2UpPVwia2V5d29yZENoYW5nZSgkZXZlbnQpXCJcbiAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgIHNpemU9XCJzbWFsbFwiXG4gID48L2F1aS1zZWFyY2g+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJoZWFkZXJfX2Rpc3BsYXktbW9kZVwiXG4gICAgKm5nSWY9XCJjb250ZXh0ID09PSAncGFnZSdcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlICE9PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ3JvdycpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cImxpc3RcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzd2l0Y2gtYnRuXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3N3aXRjaC1idG4tLXNlbGVjdGVkJzogZGlzcGxheU1vZGUgPT09ICdjYXJkJyB9XCJcbiAgICAgIChjbGljayk9XCJzZXREaXNwbGF5TW9kZSgnY2FyZCcpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cImdyaWRcIj48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwiXG4gICAgIWxvYWRpbmcgJiZcbiAgICAoZGlzcGxheURhdGEkXG4gICAgICB8IGFzeW5jXG4gICAgICB8IHB1cmU6IHNvcnRXaXRob3V0SXN0aW9cbiAgICAgIHwgcHVyZTogZmlsdGVyRGlzYWJsZWREYXRhIDogY29udGV4dCkgYXMgZGlzcGxheURhdGFcbiAgXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZ3JpZFwiXG4gICAgKm5nSWY9XCJkaXNwbGF5RGF0YS5sZW5ndGhcIlxuICAgICNncmlkXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2dyaWQtLWNhcmQnOiBkaXNwbGF5TW9kZSA9PT0gJ2NhcmQnICYmIGNvbnRleHQgIT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAnOiBjb250ZXh0ID09PSAncG9wdXAnLFxuICAgICAgJ2dyaWQtLXBvcHVwLS1saXRlJzogY29udGV4dCA9PT0gJ3BvcHVwJyAmJiBwb3B1cExpdGUsXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdyaWRfX2l0ZW1cIlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheURhdGFcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnZ3JpZF9faXRlbS0tc2VsZWN0ZWQnOlxuICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiYgc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkLFxuICAgICAgICAnZ3JpZF9faXRlbS0tZGlzYWJsZWQnOiBpdGVtLnN0YXRlPy5kaXNhYmxlZCxcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RyIG9mIGdldEhpZ2hsaWdodGVkRGlzcGxheU5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBuczogY2x1c3RlciAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBmbGV4IGdyaWRfX2ZpZWxkLWNsdXN0ZXJcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQ2x1c3RlcilcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiYmVsb25nZWQtY2x1c3RlciB0dy1mbGV4XCJcbiAgICAgICAgICBhdWlUb29sdGlwPVwie3tcbiAgICAgICAgICAgICgnYmVsb25nZWRfY2x1c3RlcicgfCB0cmFuc2xhdGUpICsgJzogJyArIGl0ZW0uY2x1c3RlclxuICAgICAgICAgIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInR3LXRleHQtZWxsaXBzaXMgdHctb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICAgIH19PG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uY2x1c3RlckRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgPih7eyBpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZSB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8YXVpLXRhZ1xuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmNsdXN0ZXJBcmNoXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmNsdXN0ZXJBcmNoIH19XG4gICAgICAgICAgPC9hdWktdGFnPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gcHJvamVjdDogc3RhdHVzIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXN0YXR1cyB7e1xuICAgICAgICAgICdncmlkX19maWVsZC1zdGF0dXMtLScgKyBpdGVtLnN0YXR1c1xuICAgICAgICB9fVwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TdGF0dXMpXCJcbiAgICAgID5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgKm5nSWY9XCJwb3B1cExpdGVcIlxuICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1oZWxwLXRleHQgdHctbXItOFwiXG4gICAgICAgICAgPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19OjwvbGFiZWxcbiAgICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgW2ljb25dPVwic3RhdHVzSWNvbltpdGVtLnN0YXR1c11cIlxuICAgICAgICAgIFtiYWNrZ3JvdW5kXT1cIlxuICAgICAgICAgICAgc3RhdHVzSWNvbltpdGVtLnN0YXR1c10uZW5kc1dpdGgoJ190cmlhbmdsZV9zJylcbiAgICAgICAgICAgICAgPyAndHJpYW5nbGUnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIGNsYXNzPVwie3sgJ2ljb24tJyArIGl0ZW0uc3RhdHVzIH19XCJcbiAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgIHt7IGl0ZW0uc3RhdHVzIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBzZXJ2aWNlIG1lc2ggLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX3NlcnZpY2VtZXNoJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+IHt7IGl0ZW0uc2VydmljZU1lc2hOYW1lIH19IDwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uXCJcbiAgICAgICAgICAgID4oSXN0aW8ge3sgaXRlbS5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbiB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXNlcnZpY2VtZXNoXCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlNlcnZpY2VNZXNoKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjbHVzdGVyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICA+e3sgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgPih7eyBpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZSB9fSk8L25nLWNvbnRhaW5lclxuICAgICAgICAgID5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YXVpLXRhZ1xuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtLmNsdXN0ZXJBcmNoXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgPC9hdWktdGFnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gbWVzaCBncm91cCAtLT5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXNlcnZpY2VtZXNoXCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlNlcnZpY2VNZXNoR3JvdXApXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBpdGVtLmNsdXN0ZXIgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIGFzbTogaXN0aW8gLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnSXN0aW8nIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIHx8ICgnbm90X2RlcGxveWVkJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gdGltZSAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC10aW1lXCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlRpbWUpICYmICFwb3B1cExpdGVcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY3JlYXRlZF9hdCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0udGltZXN0YW1wIHwgYWNsUmVsYXRpdmVUaW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIGFjdGlvbiAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1hY3Rpb25cIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLkFjdGlvbikgJiZcbiAgICAgICAgICBhY3Rpb25UZW1wbGF0ZVJlZiAmJlxuICAgICAgICAgIGNvbnRleHQgIT09ICdwb3B1cCdcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvblRlbXBsYXRlUmVmXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLl9fb3JpZ2luLFxuICAgICAgICAgIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxhY2wtcmVzb3VyY2Utbm8tZGF0YVxuICAgICpuZ0lmPVwiIXBvcHVwTGl0ZSAmJiAhKGRpc3BsYXlEYXRhJCB8IGFzeW5jKT8ubGVuZ3RoXCJcbiAgICBbaXNGaWx0ZXJlZF09XCIhIWtleXdvcmRcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIChyZWZyZXNoKT1cInJlbG9hZC5lbWl0KClcIlxuICAgIChjbGVhcik9XCJrZXl3b3JkQ2hhbmdlKCcnKVwiXG4gID48L2FjbC1yZXNvdXJjZS1uby1kYXRhPlxuICA8YWNsLXplcm8tc3RhdGVcbiAgICAqbmdJZj1cInBvcHVwTGl0ZSAmJiAhKGRpc3BsYXlEYXRhJCB8IGFzeW5jKT8ubGVuZ3RoXCJcbiAgICBjb250ZXh0PVwidGFibGVcIlxuICA+PC9hY2wtemVyby1zdGF0ZT5cbjwvbmctY29udGFpbmVyPlxuPGRpdlxuICBjbGFzcz1cImxvYWRpbmdcIlxuICAqbmdJZj1cImxvYWRpbmdcIlxuPlxuICA8YWNsLWxvYWRpbmctbWFza1xuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIHR5cGU9XCJjb250ZW50XCJcbiAgPjwvYWNsLWxvYWRpbmctbWFzaz5cbjwvZGl2PlxuIl19
@@ -27,7 +27,6 @@ export const Bracket = {
27
27
  POINTY_BRACKETS: ['<', '>'],
28
28
  };
29
29
  export const TEMPLATE_OPTIONS = Object.freeze({
30
- // eslint-disable-next-line regexp/match-any, regexp/strict
31
30
  interpolate: /{{([\S\s]+?)}}/g,
32
31
  });
33
32
  export const DEFAULT_CODE_EDITOR_OPTIONS = {
@@ -70,7 +69,6 @@ export const LINK = 'link';
70
69
  export const ESCAPE_DEACTIVATE_CHECK = 'escape';
71
70
  export const CUSTOMIZED = 'customized';
72
71
  export const GLOBAL_CLUSTER = 'global';
73
- export const GLOBAL_NAMESPACE = 'cpaas-system';
74
72
  export const PACKAGE_RUNTIME_VALUE = 'Runtime';
75
73
  export const CRYPTO_HEADER_KEY = 'X-Param-Response';
76
74
  export var CRYPTO_TYPE;
@@ -85,4 +83,4 @@ export const PLATFORM_OPS_MODE = 'platform-ops-mode';
85
83
  // https://kubernetes.io/docs/reference/labels-annotations-taints/#kubectl-kubernetes-io-default-container
86
84
  export const DEFAULT_CONTAINER_ANNOTATION = 'kubectl.kubernetes.io/default-container';
87
85
  export const NOTIFICATION_SERVER_NAME = 'platform-email-server';
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ3ZCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxXQUFXLElBQUksV0FBVyxFQUFFLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDcEMsTUFBTSxD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V0FBVyxRQUl0QjtBQUNELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLGNBQWMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBRXJELDBHQUEwRztBQUMxRyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDdkMseUNBQXlDLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmV4cG9ydCBjb25zdCBBUElfR0FURVdBWSA9ICd7e0FQSV9HQVRFV0FZfX0nO1xuXG5leHBvcnQgY29uc3QgVFJVRSA9ICd0cnVlJztcbmV4cG9ydCBjb25zdCBGQUxTRSA9ICdmYWxzZSc7XG5cbmV4cG9ydCBjb25zdCBFTVBUWSA9ICcnO1xuZXhwb3J0IGNvbnN0IFNQQUNFID0gJyAnO1xuZXhwb3J0IGNvbnN0IERPVCA9ICcuJztcbmV4cG9ydCBjb25zdCBTTEFTSCA9ICcvJztcbmV4cG9ydCBjb25zdCBIWVBIRU4gPSAnLSc7XG5leHBvcnQgY29uc3QgVU5ERVJTQ09SRSA9ICdfJztcbmV4cG9ydCBjb25zdCBERUxJTUlURVIgPSAnOic7XG5cbmV4cG9ydCBjb25zdCBXSUxEQ0FSRCA9ICcuKic7XG5cbmV4cG9ydCBjb25zdCBEQVRFX0ZPUk1BVCA9ICdZWVlZLU1NLUREJztcbmV4cG9ydCBjb25zdCBUSU1FX0ZPUk1BVCA9ICdISDptbTpzcyc7XG5leHBvcnQgY29uc3QgREFURV9USU1FX0ZPUk1BVCA9IGAke0RBVEVfRk9STUFUfSAke1RJTUVfRk9STUFUfWA7XG5cbmV4cG9ydCBjb25zdCBXT1JLU1BBQ0VfUEFSQU1TID0gJ3dvcmtzcGFjZV9wYXJhbXNfdjEnO1xuXG5leHBvcnQgY29uc3QgUFVCTElDX05BTUVTUEFDRSA9ICdrdWJlLXB1YmxpYyc7XG5cbmV4cG9ydCBjb25zdCBBU1NJR05fQUxMID0gJ0FMTF9BTEwnO1xuZXhwb3J0IGNvbnN0IEFMTCA9ICdBTEwnO1xuXG5leHBvcnQgY29uc3QgQnJhY2tldCA9IHtcbiAgUEFSRU5USEVTRVM6IFsnKCcsICcpJ10sXG4gIEJSQUNFUzogWyd7JywgJ30nXSxcbiAgU1FVQVJFX0JSQUNLRVRTOiBbJ1snLCAnXSddLFxuICBQT0lOVFlfQlJBQ0tFVFM6IFsnPCcsICc+J10sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgVEVNUExBVEVfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVnZXhwL21hdGNoLWFueSwgcmVnZXhwL3N0cmljdFxuICBpbnRlcnBvbGF0ZTogL3t7KFtcXFNcXHNdKz8pfX0vZyxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0RFX0VESVRPUl9PUFRJT05TOiBpbXBvcnQoJ0BhbGF1ZGEvY29kZS1lZGl0b3InKS5Nb25hY29FZGl0b3JPcHRpb25zID1cbiAge1xuICAgIGZvbnRTaXplOiAxMixcbiAgICBmb2xkaW5nOiB0cnVlLFxuICAgIHNjcm9sbEJleW9uZExhc3RMaW5lOiBmYWxzZSxcbiAgICBtaW5pbWFwOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgZmluZDoge1xuICAgICAgc2VlZFNlYXJjaFN0cmluZ0Zyb21TZWxlY3Rpb246ICduZXZlcicsXG4gICAgICBhdXRvRmluZEluU2VsZWN0aW9uOiAnbmV2ZXInLFxuICAgIH0sXG4gICAgbW91c2VXaGVlbFpvb206IHRydWUsXG4gICAgc2Nyb2xsYmFyOiB7XG4gICAgICB2ZXJ0aWNhbDogJ3Zpc2libGUnLFxuICAgICAgaG9yaXpvbnRhbDogJ3Zpc2libGUnLFxuICAgIH0sXG4gICAgZml4ZWRPdmVyZmxvd1dpZGdldHM6IHRydWUsXG4gIH07XG5cbmV4cG9ydCBjb25zdCBOT1RJRllfT05fRVJST1JfSEVBREVSID0gJ19fTk9USUZJQ0FUSU9OX09OX0VSUk9SX18nO1xuXG5leHBvcnQgY29uc3QgTk9USUZZX0RVUkFUSU9OX0hFQURFUiA9ICdfX05PVElGSUNBVElPTl9EVVJBVElPTl9fJztcblxuZXhwb3J0IGNvbnN0IE5PVElGWV9PTl9FUlJPUl9IRUFERVJTID0ge1xuICBbTk9USUZZX09OX0VSUk9SX0hFQURFUl06IFRSVUUsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgTk9UX05PVElGWV9PTl9FUlJPUl9IRUFERVJTID0ge1xuICBbTk9USUZZX09OX0VSUk9SX0hFQURFUl06IEZBTFNFLFxufSBhcyBjb25zdDtcblxuLy8g5b2T5YmN546v5aKD5piv5ZCm5YWB6K646ZmN57qnXG4vLyAnZW5hYmxlZF9kb3duZ3JhZGVfd2F0Y2gnIOS4u+imgeaPkOS+m+acrOWcsOW8gOWPkeW8uuWItuaJk+W8gOmcgOimgVxuZXhwb3J0IGNvbnN0IERPV05HUkFERV9XQVRDSF9FTkFCTEVEID1cbiAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2VuYWJsZWRfZG93bmdyYWRlX3dhdGNoJykgPT09IFRSVUUgfHxcbiAgKGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sICE9PSAnaHR0cHM6JyAmJlxuICAgIGRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lICE9PSAnbG9jYWxob3N0Jyk7XG5cbmV4cG9ydCBjb25zdCBET1dOR1JBREVfV0FUQ0hfUE9MTElORyA9IDUwMDAgYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVEX0FUID0gJ2NyZWF0ZWRfYXQnO1xuZXhwb3J0IGNvbnN0IFVQREFURURfQVQgPSAndXBkYXRlZF9hdCc7XG5leHBvcnQgY29uc3QgQUNUSU9OID0gJ2FjdGlvbic7XG5leHBvcnQgY29uc3QgU1BFQyA9ICdzcGVjJztcbmV4cG9ydCBjb25zdCBDUkVBVEUgPSAnY3JlYXRlJztcbmV4cG9ydCBjb25zdCBVUERBVEUgPSAndXBkYXRlJztcbmV4cG9ydCBjb25zdCBMSU5LID0gJ2xpbmsnO1xuXG5leHBvcnQgY29uc3QgRVNDQVBFX0RFQUNUSVZBVEVfQ0hFQ0sgPSAnZXNjYXBlJztcblxuZXhwb3J0IGNvbnN0IENVU1RPTUlaRUQgPSAnY3VzdG9taXplZCc7XG5cbmV4cG9ydCBjb25zdCBHTE9CQUxfQ0xVU1RFUiA9ICdnbG9iYWwnO1xuXG5leHBvcnQgY29uc3QgR0xPQkFMX05BTUVTUEFDRSA9ICdjcGFhcy1zeXN0ZW0nO1xuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9SVU5USU1FX1ZBTFVFID0gJ1J1bnRpbWUnO1xuXG5leHBvcnQgY29uc3QgQ1JZUFRPX0hFQURFUl9LRVkgPSAnWC1QYXJhbS1SZXNwb25zZSc7XG5leHBvcnQgZW51bSBDUllQVE9fVFlQRSB7XG4gIEVuYWJsZSA9ICdGb3JjZScsXG4gIERyb3AgPSAnRHJvcCcsXG4gIERpc2FibGUgPSAnTm9uZScsXG59XG5leHBvcnQgY29uc3QgQ1JZUFRPX1JBTkRPTV9IRUFERVJfS0VZID0gJ1gtUGFyYW0tSW5pdCc7XG5leHBvcnQgY29uc3QgQ1JZUFRPX0tFWSA9ICdhbGF1ZGEnO1xuXG5leHBvcnQgY29uc3QgUExBVEZPUk1fT1BTX01PREUgPSAncGxhdGZvcm0tb3BzLW1vZGUnO1xuXG4vLyBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvbGFiZWxzLWFubm90YXRpb25zLXRhaW50cy8ja3ViZWN0bC1rdWJlcm5ldGVzLWlvLWRlZmF1bHQtY29udGFpbmVyXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05UQUlORVJfQU5OT1RBVElPTiA9XG4gICdrdWJlY3RsLmt1YmVybmV0ZXMuaW8vZGVmYXVsdC1jb250YWluZXInO1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX1NFUlZFUl9OQU1FID0gJ3BsYXRmb3JtLWVtYWlsLXNlcnZlcic7XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ3ZCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxXQUFXLElBQUksV0FBVyxFQUFFLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDcEMsTUFBTSxD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dkQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUVyRCwwR0FBMEc7QUFDMUcsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQ3ZDLHlDQUF5QyxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5leHBvcnQgY29uc3QgQVBJX0dBVEVXQVkgPSAne3tBUElfR0FURVdBWX19JztcblxuZXhwb3J0IGNvbnN0IFRSVUUgPSAndHJ1ZSc7XG5leHBvcnQgY29uc3QgRkFMU0UgPSAnZmFsc2UnO1xuXG5leHBvcnQgY29uc3QgRU1QVFkgPSAnJztcbmV4cG9ydCBjb25zdCBTUEFDRSA9ICcgJztcbmV4cG9ydCBjb25zdCBET1QgPSAnLic7XG5leHBvcnQgY29uc3QgU0xBU0ggPSAnLyc7XG5leHBvcnQgY29uc3QgSFlQSEVOID0gJy0nO1xuZXhwb3J0IGNvbnN0IFVOREVSU0NPUkUgPSAnXyc7XG5leHBvcnQgY29uc3QgREVMSU1JVEVSID0gJzonO1xuXG5leHBvcnQgY29uc3QgV0lMRENBUkQgPSAnLionO1xuXG5leHBvcnQgY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWS1NTS1ERCc7XG5leHBvcnQgY29uc3QgVElNRV9GT1JNQVQgPSAnSEg6bW06c3MnO1xuZXhwb3J0IGNvbnN0IERBVEVfVElNRV9GT1JNQVQgPSBgJHtEQVRFX0ZPUk1BVH0gJHtUSU1FX0ZPUk1BVH1gO1xuXG5leHBvcnQgY29uc3QgV09SS1NQQUNFX1BBUkFNUyA9ICd3b3Jrc3BhY2VfcGFyYW1zX3YxJztcblxuZXhwb3J0IGNvbnN0IFBVQkxJQ19OQU1FU1BBQ0UgPSAna3ViZS1wdWJsaWMnO1xuXG5leHBvcnQgY29uc3QgQVNTSUdOX0FMTCA9ICdBTExfQUxMJztcbmV4cG9ydCBjb25zdCBBTEwgPSAnQUxMJztcblxuZXhwb3J0IGNvbnN0IEJyYWNrZXQgPSB7XG4gIFBBUkVOVEhFU0VTOiBbJygnLCAnKSddLFxuICBCUkFDRVM6IFsneycsICd9J10sXG4gIFNRVUFSRV9CUkFDS0VUUzogWydbJywgJ10nXSxcbiAgUE9JTlRZX0JSQUNLRVRTOiBbJzwnLCAnPiddLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFX09QVElPTlMgPSBPYmplY3QuZnJlZXplKHtcbiAgaW50ZXJwb2xhdGU6IC97eyhbXFxTXFxzXSs/KX19L2csXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09ERV9FRElUT1JfT1BUSU9OUzogaW1wb3J0KCdAYWxhdWRhL2NvZGUtZWRpdG9yJykuTW9uYWNvRWRpdG9yT3B0aW9ucyA9XG4gIHtcbiAgICBmb250U2l6ZTogMTIsXG4gICAgZm9sZGluZzogdHJ1ZSxcbiAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogZmFsc2UsXG4gICAgbWluaW1hcDogeyBlbmFibGVkOiBmYWxzZSB9LFxuICAgIGZpbmQ6IHtcbiAgICAgIHNlZWRTZWFyY2hTdHJpbmdGcm9tU2VsZWN0aW9uOiAnbmV2ZXInLFxuICAgICAgYXV0b0ZpbmRJblNlbGVjdGlvbjogJ25ldmVyJyxcbiAgICB9LFxuICAgIG1vdXNlV2hlZWxab29tOiB0cnVlLFxuICAgIHNjcm9sbGJhcjoge1xuICAgICAgdmVydGljYWw6ICd2aXNpYmxlJyxcbiAgICAgIGhvcml6b250YWw6ICd2aXNpYmxlJyxcbiAgICB9LFxuICAgIGZpeGVkT3ZlcmZsb3dXaWRnZXRzOiB0cnVlLFxuICB9O1xuXG5leHBvcnQgY29uc3QgTk9USUZZX09OX0VSUk9SX0hFQURFUiA9ICdfX05PVElGSUNBVElPTl9PTl9FUlJPUl9fJztcblxuZXhwb3J0IGNvbnN0IE5PVElGWV9EVVJBVElPTl9IRUFERVIgPSAnX19OT1RJRklDQVRJT05fRFVSQVRJT05fXyc7XG5cbmV4cG9ydCBjb25zdCBOT1RJRllfT05fRVJST1JfSEVBREVSUyA9IHtcbiAgW05PVElGWV9PTl9FUlJPUl9IRUFERVJdOiBUUlVFLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IE5PVF9OT1RJRllfT05fRVJST1JfSEVBREVSUyA9IHtcbiAgW05PVElGWV9PTl9FUlJPUl9IRUFERVJdOiBGQUxTRSxcbn0gYXMgY29uc3Q7XG5cbi8vIOW9k+WJjeeOr+Wig+aYr+WQpuWFgeiuuOmZjee6p1xuLy8gJ2VuYWJsZWRfZG93bmdyYWRlX3dhdGNoJyDkuLvopoHmj5DkvpvmnKzlnLDlvIDlj5HlvLrliLbmiZPlvIDpnIDopoFcbmV4cG9ydCBjb25zdCBET1dOR1JBREVfV0FUQ0hfRU5BQkxFRCA9XG4gIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdlbmFibGVkX2Rvd25ncmFkZV93YXRjaCcpID09PSBUUlVFIHx8XG4gIChkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCAhPT0gJ2h0dHBzOicgJiZcbiAgICBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSAhPT0gJ2xvY2FsaG9zdCcpO1xuXG5leHBvcnQgY29uc3QgRE9XTkdSQURFX1dBVENIX1BPTExJTkcgPSA1MDAwIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFRF9BVCA9ICdjcmVhdGVkX2F0JztcbmV4cG9ydCBjb25zdCBVUERBVEVEX0FUID0gJ3VwZGF0ZWRfYXQnO1xuZXhwb3J0IGNvbnN0IEFDVElPTiA9ICdhY3Rpb24nO1xuZXhwb3J0IGNvbnN0IFNQRUMgPSAnc3BlYyc7XG5leHBvcnQgY29uc3QgQ1JFQVRFID0gJ2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgVVBEQVRFID0gJ3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgTElOSyA9ICdsaW5rJztcblxuZXhwb3J0IGNvbnN0IEVTQ0FQRV9ERUFDVElWQVRFX0NIRUNLID0gJ2VzY2FwZSc7XG5cbmV4cG9ydCBjb25zdCBDVVNUT01JWkVEID0gJ2N1c3RvbWl6ZWQnO1xuXG5leHBvcnQgY29uc3QgR0xPQkFMX0NMVVNURVIgPSAnZ2xvYmFsJztcblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfUlVOVElNRV9WQUxVRSA9ICdSdW50aW1lJztcblxuZXhwb3J0IGNvbnN0IENSWVBUT19IRUFERVJfS0VZID0gJ1gtUGFyYW0tUmVzcG9uc2UnO1xuZXhwb3J0IGVudW0gQ1JZUFRPX1RZUEUge1xuICBFbmFibGUgPSAnRm9yY2UnLFxuICBEcm9wID0gJ0Ryb3AnLFxuICBEaXNhYmxlID0gJ05vbmUnLFxufVxuZXhwb3J0IGNvbnN0IENSWVBUT19SQU5ET01fSEVBREVSX0tFWSA9ICdYLVBhcmFtLUluaXQnO1xuZXhwb3J0IGNvbnN0IENSWVBUT19LRVkgPSAnYWxhdWRhJztcblxuZXhwb3J0IGNvbnN0IFBMQVRGT1JNX09QU19NT0RFID0gJ3BsYXRmb3JtLW9wcy1tb2RlJztcblxuLy8gaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2xhYmVscy1hbm5vdGF0aW9ucy10YWludHMvI2t1YmVjdGwta3ViZXJuZXRlcy1pby1kZWZhdWx0LWNvbnRhaW5lclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09OVEFJTkVSX0FOTk9UQVRJT04gPVxuICAna3ViZWN0bC5rdWJlcm5ldGVzLmlvL2RlZmF1bHQtY29udGFpbmVyJztcblxuZXhwb3J0IGNvbnN0IE5PVElGSUNBVElPTl9TRVJWRVJfTkFNRSA9ICdwbGF0Zm9ybS1lbWFpbC1zZXJ2ZXInO1xuIl19