@alauda-fe/common
Version:
Alauda frontend team common codes.
174 lines • 19.3 kB
JavaScript
/**
* @packageDocumentation
* @module utils
*/
import { Pipe } from '@angular/core';
import { K8sUtilService } from '../services/public-api';
import * as i0 from "@angular/core";
import * as i1 from "../services/public-api";
export class K8sAnnotationPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, type, prefix) {
return this.k8sUtil.getAnnotation(resource, type, prefix);
}
static { this.ɵfac = function K8sAnnotationPipe_Factory(t) { return new (t || K8sAnnotationPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclAnnotation", type: K8sAnnotationPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sAnnotationPipe, [{
type: Pipe,
args: [{ name: 'aclAnnotation', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sNamespacePipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource) {
return this.k8sUtil.getNamespace(resource);
}
static { this.ɵfac = function K8sNamespacePipe_Factory(t) { return new (t || K8sNamespacePipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclNamespace", type: K8sNamespacePipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sNamespacePipe, [{
type: Pipe,
args: [{ name: 'aclNamespace', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sNamePipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource) {
return this.k8sUtil.getName(resource);
}
static { this.ɵfac = function K8sNamePipe_Factory(t) { return new (t || K8sNamePipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclName", type: K8sNamePipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sNamePipe, [{
type: Pipe,
args: [{ name: 'aclName', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sCreationTimestampPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource) {
return this.k8sUtil.getCreationTimestamp(resource);
}
static { this.ɵfac = function K8sCreationTimestampPipe_Factory(t) { return new (t || K8sCreationTimestampPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclCreationTimestamp", type: K8sCreationTimestampPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sCreationTimestampPipe, [{
type: Pipe,
args: [{ name: 'aclCreationTimestamp', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sDisplayNamePipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, prefix) {
return this.k8sUtil.getDisplayName(resource, prefix);
}
static { this.ɵfac = function K8sDisplayNamePipe_Factory(t) { return new (t || K8sDisplayNamePipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclDisplayName", type: K8sDisplayNamePipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sDisplayNamePipe, [{
type: Pipe,
args: [{ name: 'aclDisplayName', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sUnionDisplayNamePipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, namePrefix, displayNamePrefix) {
return this.k8sUtil.getUnionDisplayName(resource, namePrefix, displayNamePrefix);
}
static { this.ɵfac = function K8sUnionDisplayNamePipe_Factory(t) { return new (t || K8sUnionDisplayNamePipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclUnionDisplayName", type: K8sUnionDisplayNamePipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sUnionDisplayNamePipe, [{
type: Pipe,
args: [{ name: 'aclUnionDisplayName', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sDescriptionPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, prefix) {
return this.k8sUtil.getDescription(resource, prefix);
}
static { this.ɵfac = function K8sDescriptionPipe_Factory(t) { return new (t || K8sDescriptionPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclDescription", type: K8sDescriptionPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sDescriptionPipe, [{
type: Pipe,
args: [{ name: 'aclDescription', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sCreatorPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, prefix) {
return this.k8sUtil.getCreator(resource, prefix);
}
static { this.ɵfac = function K8sCreatorPipe_Factory(t) { return new (t || K8sCreatorPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclCreator", type: K8sCreatorPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sCreatorPipe, [{
type: Pipe,
args: [{ name: 'aclCreator', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sUpdatedAtPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, prefix) {
return this.k8sUtil.getUpdatedAt(resource, prefix);
}
static { this.ɵfac = function K8sUpdatedAtPipe_Factory(t) { return new (t || K8sUpdatedAtPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclUpdatedAt", type: K8sUpdatedAtPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sUpdatedAtPipe, [{
type: Pipe,
args: [{ name: 'aclUpdatedAt', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sLabelPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource, type, prefix) {
return this.k8sUtil.getLabel(resource, type, prefix);
}
static { this.ɵfac = function K8sLabelPipe_Factory(t) { return new (t || K8sLabelPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclLabel", type: K8sLabelPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sLabelPipe, [{
type: Pipe,
args: [{ name: 'aclLabel', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sProjectPipe {
constructor(k8sUtil) {
this.k8sUtil = k8sUtil;
}
transform(resource) {
return this.k8sUtil.getProject(resource);
}
static { this.ɵfac = function K8sProjectPipe_Factory(t) { return new (t || K8sProjectPipe)(i0.ɵɵdirectiveInject(i1.K8sUtilService, 16)); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclProject", type: K8sProjectPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sProjectPipe, [{
type: Pipe,
args: [{ name: 'aclProject', standalone: true }]
}], () => [{ type: i1.K8sUtilService }], null); })();
export class K8sIsDeletingPipe {
transform(resource) {
return !!resource?.metadata?.deletionTimestamp;
}
static { this.ɵfac = function K8sIsDeletingPipe_Factory(t) { return new (t || K8sIsDeletingPipe)(); }; }
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclIsDeleting", type: K8sIsDeletingPipe, pure: true, standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(K8sIsDeletingPipe, [{
type: Pipe,
args: [{ name: 'aclIsDeleting', standalone: true }]
}], null, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL2s4cy11dGlsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFHeEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUNQLFFBQTRCLEVBQzVCLElBQXNDLEVBQ3RDLE1BQWU7UUFFZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztrRkFUVSxpQkFBaUI7dUZBQWpCLGlCQUFpQjs7aUZBQWpCLGlCQUFpQjtjQUQ3QixJQUFJO2VBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBY2pELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBNkIsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxRQUE0QjtRQUNwQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7aUZBTFUsZ0JBQWdCO3NGQUFoQixnQkFBZ0I7O2lGQUFoQixnQkFBZ0I7Y0FENUIsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOztBQVVoRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUE2QixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFn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ZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEs4c1V0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcHVibGljLWFwaSc7XG5cbkBQaXBlKHsgbmFtZTogJ2FjbEFubm90YXRpb24nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzQW5ub3RhdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICB0eXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCB0eXBlIGFzIHN0cmluZywgcHJlZml4KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xOYW1lc3BhY2UnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzTmFtZXNwYWNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldE5hbWVzcGFjZShyZXNvdXJjZSk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsTmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNOYW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldE5hbWUocmVzb3VyY2UpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbENyZWF0aW9uVGltZXN0YW1wJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c0NyZWF0aW9uVGltZXN0YW1wUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldENyZWF0aW9uVGltZXN0YW1wKHJlc291cmNlKTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xEaXNwbGF5TmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNEaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldERpc3BsYXlOYW1lKHJlc291cmNlLCBwcmVmaXgpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbFVuaW9uRGlzcGxheU5hbWUnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzVW5pb25EaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICBuYW1lUHJlZml4Pzogc3RyaW5nIHwgZmFsc2UsXG4gICAgZGlzcGxheU5hbWVQcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRVbmlvbkRpc3BsYXlOYW1lKFxuICAgICAgcmVzb3VyY2UsXG4gICAgICBuYW1lUHJlZml4LFxuICAgICAgZGlzcGxheU5hbWVQcmVmaXgsXG4gICAgKTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xEZXNjcmlwdGlvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNEZXNjcmlwdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldERlc2NyaXB0aW9uKHJlc291cmNlLCBwcmVmaXgpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbENyZWF0b3InLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzQ3JlYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldENyZWF0b3IocmVzb3VyY2UsIHByZWZpeCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsVXBkYXRlZEF0Jywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEs4c1VwZGF0ZWRBdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0ocmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldFVwZGF0ZWRBdChyZXNvdXJjZSwgcHJlZml4KTtcbiAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhY2xMYWJlbCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgICB0eXBlOiBzdHJpbmcgfCBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgICBwcmVmaXg/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuazhzVXRpbC5nZXRMYWJlbChyZXNvdXJjZSwgdHlwZSBhcyBzdHJpbmcsIHByZWZpeCk7XG4gIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAnYWNsUHJvamVjdCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBLOHNQcm9qZWN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGs4c1V0aWw6IEs4c1V0aWxTZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybShyZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5rOHNVdGlsLmdldFByb2plY3QocmVzb3VyY2UpO1xuICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2FjbElzRGVsZXRpbmcnLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSzhzSXNEZWxldGluZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpIHtcbiAgICByZXR1cm4gISFyZXNvdXJjZT8ubWV0YWRhdGE/LmRlbGV0aW9uVGltZXN0YW1wO1xuICB9XG59XG4iXX0=