@posiwise/resource-module 0.0.163 → 0.0.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-Cxeoyf5z.mjs → posiwise-resource-module-base-top-banner.component-qdYdb5Le.mjs} +7 -6
- package/fesm2022/posiwise-resource-module-base-top-banner.component-qdYdb5Le.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-posiwise-resource-module-DlOc6owW.mjs +1795 -0
- package/fesm2022/posiwise-resource-module-posiwise-resource-module-DlOc6owW.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-blogs.module-BY02aMCz.mjs +69 -0
- package/fesm2022/posiwise-resource-module-resource-blogs.module-BY02aMCz.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-CP7-pHth.mjs +133 -0
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-CP7-pHth.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-events.module-CXAhiCS6.mjs +228 -0
- package/fesm2022/posiwise-resource-module-resource-events.module-CXAhiCS6.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-hub.module-a6qHwXRb.mjs +233 -0
- package/fesm2022/posiwise-resource-module-resource-hub.module-a6qHwXRb.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-integrations.module-WfJfGko9.mjs +274 -0
- package/fesm2022/posiwise-resource-module-resource-integrations.module-WfJfGko9.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-post.module-DvTdeeQt.mjs +304 -0
- package/fesm2022/posiwise-resource-module-resource-post.module-DvTdeeQt.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-CxAh59AL.mjs +104 -0
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-CxAh59AL.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-root.module-BHGO5PqT.mjs +393 -0
- package/fesm2022/posiwise-resource-module-resource-root.module-BHGO5PqT.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-videos.module-BJxrv9JZ.mjs +69 -0
- package/fesm2022/posiwise-resource-module-resource-videos.module-BJxrv9JZ.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-iWQ29ue6.mjs +70 -0
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-iWQ29ue6.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module.mjs +1 -31
- package/fesm2022/posiwise-resource-module.mjs.map +1 -1
- package/lib/public/components/resource-case-studies/resource-case-studies.component.d.ts +1 -0
- package/lib/public/shared/resource-shared.module.d.ts +1 -1
- package/package.json +4 -6
- package/esm2022/index.mjs +0 -25
- package/esm2022/lib/public/components/base/base-resource.component.mjs +0 -144
- package/esm2022/lib/public/components/base/base-top-banner.component.mjs +0 -111
- package/esm2022/lib/public/components/reslease-note-card/release-note-card.component.mjs +0 -174
- package/esm2022/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.mjs +0 -27
- package/esm2022/lib/public/components/resource-blogs/resource-blog.component.mjs +0 -27
- package/esm2022/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.mjs +0 -108
- package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +0 -78
- package/esm2022/lib/public/components/resource-company-card/resource-company-card.component.mjs +0 -88
- package/esm2022/lib/public/components/resource-contact-us/resource-contact-us.module.mjs +0 -16
- package/esm2022/lib/public/components/resource-edit-card/resource-edit-card.component.mjs +0 -230
- package/esm2022/lib/public/components/resource-edit-card-lazy/resource-edit-card-lazy.component.mjs +0 -75
- package/esm2022/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.mjs +0 -27
- package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +0 -237
- package/esm2022/lib/public/components/resource-post/related-resources/related-resources.component.mjs +0 -124
- package/esm2022/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.mjs +0 -107
- package/esm2022/lib/public/components/resource-post/resource-post-details/resource-post-details.component.mjs +0 -128
- package/esm2022/lib/public/components/resource-post/resource-post.component.mjs +0 -39
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.mjs +0 -27
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +0 -59
- package/esm2022/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.mjs +0 -106
- package/esm2022/lib/public/components/resource-vault/resource-vault.component.mjs +0 -76
- package/esm2022/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.mjs +0 -130
- package/esm2022/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.mjs +0 -27
- package/esm2022/lib/public/components/resource-videos/resource-videos.component.mjs +0 -27
- package/esm2022/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.mjs +0 -101
- package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +0 -115
- package/esm2022/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.mjs +0 -148
- package/esm2022/lib/public/components/resources/resource-tags/resource-tags.component.mjs +0 -84
- package/esm2022/lib/public/components/resources/resources.component.mjs +0 -84
- package/esm2022/lib/public/components/resources/vault-section/vault-section.component.mjs +0 -160
- package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +0 -208
- package/esm2022/lib/public/components/testimonial-card/testimonial-card.component.mjs +0 -86
- package/esm2022/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.mjs +0 -27
- package/esm2022/lib/public/components/white-papers/white-papers.component.mjs +0 -27
- package/esm2022/lib/public/modules/blogs/resource-blogs.module.mjs +0 -31
- package/esm2022/lib/public/modules/case-studies/resource-case-studies.module.mjs +0 -36
- package/esm2022/lib/public/modules/events/resource-events.module.mjs +0 -31
- package/esm2022/lib/public/modules/hub/resource-hub.module.mjs +0 -30
- package/esm2022/lib/public/modules/integrations/resource-integrations.module.mjs +0 -31
- package/esm2022/lib/public/modules/post/resource-post.module.mjs +0 -33
- package/esm2022/lib/public/modules/release-notes/resource-release-notes.module.mjs +0 -31
- package/esm2022/lib/public/modules/root/resource-root-shared.module.mjs +0 -61
- package/esm2022/lib/public/modules/root/resource-root.module.mjs +0 -33
- package/esm2022/lib/public/modules/videos/resource-videos.module.mjs +0 -31
- package/esm2022/lib/public/modules/white-papers/resource-white-papers.module.mjs +0 -32
- package/esm2022/lib/public/resource-public.module.mjs +0 -18
- package/esm2022/lib/public/resource-public.routing.module.mjs +0 -61
- package/esm2022/lib/public/shared/resource-cards.module.mjs +0 -121
- package/esm2022/lib/public/shared/resource-edit.module.mjs +0 -64
- package/esm2022/lib/public/shared/resource-shared.module.mjs +0 -128
- package/esm2022/lib/resource.module.mjs +0 -15
- package/esm2022/lib/resource.service.mjs +0 -79
- package/esm2022/lib/shared/models/resource.model.mjs +0 -12
- package/esm2022/lib/shared/resource-modal.interface.mjs +0 -2
- package/esm2022/posiwise-resource-module.mjs +0 -5
- package/fesm2022/posiwise-resource-module-base-top-banner.component-Cxeoyf5z.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-posiwise-resource-module-B1G5qNj1.mjs +0 -1795
- package/fesm2022/posiwise-resource-module-posiwise-resource-module-B1G5qNj1.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-blogs.module-CTYKg3kh.mjs +0 -91
- package/fesm2022/posiwise-resource-module-resource-blogs.module-CTYKg3kh.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-Dov1BAfF.mjs +0 -127
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-Dov1BAfF.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-events.module-K3sH1mdv.mjs +0 -245
- package/fesm2022/posiwise-resource-module-resource-events.module-K3sH1mdv.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-hub.module-C5t2KeqW.mjs +0 -249
- package/fesm2022/posiwise-resource-module-resource-hub.module-C5t2KeqW.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-integrations.module-CN_tWJV2.mjs +0 -287
- package/fesm2022/posiwise-resource-module-resource-integrations.module-CN_tWJV2.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-post.module-PsfJSV3t.mjs +0 -318
- package/fesm2022/posiwise-resource-module-resource-post.module-PsfJSV3t.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-TR3GIX0u.mjs +0 -124
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-TR3GIX0u.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-root.module-Bm5Wv4mP.mjs +0 -408
- package/fesm2022/posiwise-resource-module-resource-root.module-Bm5Wv4mP.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-videos.module-CDBHydlX.mjs +0 -91
- package/fesm2022/posiwise-resource-module-resource-videos.module-CDBHydlX.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-DVDuexfj.mjs +0 -92
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-DVDuexfj.mjs.map +0 -1
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Injector } from '@angular/core';
|
|
2
|
-
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
3
|
-
import { AuthService } from '@posiwise/common-services';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@posiwise/common-services";
|
|
6
|
-
import * as i2 from "../resource-videos/resource-video-cards/resource-video-cards.component";
|
|
7
|
-
import * as i3 from "../resource-webinars/upcoming-event-cards/upcoming-event-cards.component";
|
|
8
|
-
import * as i4 from "../resource-post/related-resources/resource-cards/resource-cards.component";
|
|
9
|
-
import * as i5 from "../resource-case-studies/case-studies-cards/case-studies-cards.component";
|
|
10
|
-
import * as i6 from "../reslease-note-card/release-note-card.component";
|
|
11
|
-
import * as i7 from "../resource-vault/resource-vault.component";
|
|
12
|
-
import * as i8 from "@posiwise/resource-contact-us";
|
|
13
|
-
import * as i9 from "@angular/common";
|
|
14
|
-
import * as i10 from "@posiwise/utils";
|
|
15
|
-
import * as i11 from "./resource-tags/resource-tags.component";
|
|
16
|
-
import * as i12 from "./vault-section/vault-section.component";
|
|
17
|
-
export class ResourceComponent extends AppBaseComponent {
|
|
18
|
-
constructor(authService, cdr, injector) {
|
|
19
|
-
super(injector);
|
|
20
|
-
this.authService = authService;
|
|
21
|
-
this.cdr = cdr;
|
|
22
|
-
this.allTags = [];
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.authService.getToken$().subscribe(res => {
|
|
26
|
-
this.userLoggedIn = !!res;
|
|
27
|
-
this.cdr.markForCheck();
|
|
28
|
-
if (this.userLoggedIn) {
|
|
29
|
-
this.userService.getUserInfo().subscribe(data => {
|
|
30
|
-
this.user = data;
|
|
31
|
-
this.cdr.markForCheck();
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
onTagsLoaded(tags) {
|
|
37
|
-
this.allTags = tags;
|
|
38
|
-
this.cdr.markForCheck();
|
|
39
|
-
}
|
|
40
|
-
hasTag(name) {
|
|
41
|
-
return this.allTags.some(tag => tag.name?.toLowerCase() === name.toLowerCase());
|
|
42
|
-
}
|
|
43
|
-
getCategoryIdByTagName(name) {
|
|
44
|
-
const tag = this.allTags.find(t => t.name?.toLowerCase() === name.toLowerCase());
|
|
45
|
-
return tag?.tag_category_id;
|
|
46
|
-
}
|
|
47
|
-
getTag(name) {
|
|
48
|
-
const tag = this.allTags.find(t => t.name?.toLowerCase() === name.toLowerCase());
|
|
49
|
-
return tag;
|
|
50
|
-
}
|
|
51
|
-
getTitleByTagName(name) {
|
|
52
|
-
const tag = this.allTags.find(t => t.name?.toLowerCase() === name.toLowerCase());
|
|
53
|
-
return tag?.title;
|
|
54
|
-
}
|
|
55
|
-
scrollToTag(tag) {
|
|
56
|
-
const sectionMap = {
|
|
57
|
-
Videos: 'videos',
|
|
58
|
-
Events: 'events',
|
|
59
|
-
'Blog Posts': 'blog-posts',
|
|
60
|
-
'Case Studies': 'case-studies',
|
|
61
|
-
'White Papers': 'white-papers',
|
|
62
|
-
'Product Release Notes': 'product-release-notes'
|
|
63
|
-
};
|
|
64
|
-
const sectionId = sectionMap[tag.name?.trim()];
|
|
65
|
-
if (sectionId) {
|
|
66
|
-
setTimeout(() => {
|
|
67
|
-
const el = document.getElementById(sectionId);
|
|
68
|
-
if (el)
|
|
69
|
-
el.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
70
|
-
}, 100);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
onVaultLoaded(isLoaded) {
|
|
74
|
-
this.isFooterLoaded = isLoaded;
|
|
75
|
-
console.log('Vault loaded:', isLoaded);
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceComponent, deps: [{ token: i1.AuthService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceComponent, selector: "pw-resources", usesInheritance: true, ngImport: i0, template: "\n <pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n <pw-vault-section [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-vault-section>\n<pw-resource-tags [user]=\"user\" [userLoggedIn]=\"userLoggedIn\" (tagsLoaded)=\"onTagsLoaded($event)\" (tagSelected)=\"scrollToTag($event)\"></pw-resource-tags>\n<pw-resource-video-card id=\"videos\" [tag]=\"getTag('Videos')\" [showVideoSection]=\"true\" *ngIf=\"hasTag('Videos')\" [categoryId]=\"getCategoryIdByTagName('Videos')\" [resourceTitle]=\"getTitleByTagName('Videos')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-video-card>\n<pw-upcoming-event-card id=\"events\" [tag]=\"getTag('Events')\" [showEventContent]=\"true\" *ngIf=\"hasTag('Events')\" [categoryId]=\"getCategoryIdByTagName('Events')\" [resourceTitle]=\"getTitleByTagName('Events')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-upcoming-event-card>\n<pw-resource-cards resourceLink=\"/resources/blogs\" [tag]=\"getTag('Blog Posts')\" id=\"blog-posts\" *ngIf=\"hasTag('Blog Posts')\" [categoryId]=\"getCategoryIdByTagName('Blog Posts')\" [resourceTitle]=\"getTitleByTagName('Blog Posts')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-cards>\n<pw-case-studies-card id=\"case-studies\" [tag]=\"getTag('Case Studies')\" [showCaseStudyHeader]=\"true\" *ngIf=\"hasTag('Case Studies')\" [categoryId]=\"getCategoryIdByTagName('Case Studies')\" [resourceTitle]=\"getTitleByTagName('Case Studies')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-case-studies-card>\n<pw-resource--vault (isLoadedChange)=\"onVaultLoaded($event)\" id=\"white-papers\" [tag]=\"getTag('White Papers')\" [showVaultSection]=\"true\" *ngIf=\"hasTag('White Papers')\" [categoryId]=\"getCategoryIdByTagName('White Papers')\" [resourceTitle]=\"getTitleByTagName('White Papers')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource--vault>\n<pw-resource-note-card [isResource]=\"true\" [isReleasePress]=\"true\" id=\"product-release-notes\" [tag]=\"getTag('Product Release Notes')\" [releaseHeader]=\"true\" *ngIf=\"hasTag('Product Release Notes')\" [categoryId]=\"getCategoryIdByTagName('Product Release Notes')\" [resourceTitle]=\"getTitleByTagName('Product Release Notes')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n<pw-trial-4-contact-us *ngIf=\"isFooterLoaded\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>", styles: ["::ng-deep .resource-vault-section,::ng-deep .release-notes-section,::ng-deep .resource-section,::ng-deep .vault-section{box-shadow:0 4px 32px -14px #40576d4d!important}\n"], dependencies: [{ kind: "component", type: i2.ResourceVideoCardComponent, selector: "pw-resource-video-card", inputs: ["showVideoSection", "categoryId", "tag", "postSlice", "resourceTitle", "user", "userLoggedIn"] }, { kind: "component", type: i3.UpcomingEventCardComponent, selector: "pw-upcoming-event-card", inputs: ["showEventContent", "categoryId", "tag", "postSlice", "resourceTitle", "user", "userLoggedIn"] }, { kind: "component", type: i4.ResourceCardComponent, selector: "pw-resource-cards", inputs: ["categoryId", "isHeaderVisible", "isRelated", "resourceTitle", "postSlice", "header", "tag", "resourceLink", "user", "userLoggedIn"] }, { kind: "component", type: i5.CaseStudyCardComponent, selector: "pw-case-studies-card", inputs: ["showCaseStudyHeader", "categoryId", "postSlice", "tag", "resourceTitle", "user", "userLoggedIn"] }, { kind: "component", type: i6.ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: ["releaseHeader", "categoryId", "isReleasePress", "isResource", "postSlice", "resourceTitle", "tag", "user", "userLoggedIn"] }, { kind: "component", type: i7.ResourceVaultComponent, selector: "pw-resource--vault", inputs: ["showVaultSection", "postSlice", "categoryId", "resourceTitle", "tag"], outputs: ["isLoadedChange"] }, { kind: "component", type: i8.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName", "shardName", "user", "userLoggedIn"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.ResourceHeaderComponent, selector: "pw-resource-header", inputs: ["user", "userLoggedIn"] }, { kind: "component", type: i11.ResourceTagComponent, selector: "pw-resource-tags", inputs: ["user", "userLoggedIn"], outputs: ["tagsLoaded", "tagSelected"] }, { kind: "component", type: i12.VaultSectionComponent, selector: "pw-vault-section", inputs: ["user", "userLoggedIn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceComponent, decorators: [{
|
|
81
|
-
type: Component,
|
|
82
|
-
args: [{ selector: 'pw-resources', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n <pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n <pw-vault-section [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-vault-section>\n<pw-resource-tags [user]=\"user\" [userLoggedIn]=\"userLoggedIn\" (tagsLoaded)=\"onTagsLoaded($event)\" (tagSelected)=\"scrollToTag($event)\"></pw-resource-tags>\n<pw-resource-video-card id=\"videos\" [tag]=\"getTag('Videos')\" [showVideoSection]=\"true\" *ngIf=\"hasTag('Videos')\" [categoryId]=\"getCategoryIdByTagName('Videos')\" [resourceTitle]=\"getTitleByTagName('Videos')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-video-card>\n<pw-upcoming-event-card id=\"events\" [tag]=\"getTag('Events')\" [showEventContent]=\"true\" *ngIf=\"hasTag('Events')\" [categoryId]=\"getCategoryIdByTagName('Events')\" [resourceTitle]=\"getTitleByTagName('Events')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-upcoming-event-card>\n<pw-resource-cards resourceLink=\"/resources/blogs\" [tag]=\"getTag('Blog Posts')\" id=\"blog-posts\" *ngIf=\"hasTag('Blog Posts')\" [categoryId]=\"getCategoryIdByTagName('Blog Posts')\" [resourceTitle]=\"getTitleByTagName('Blog Posts')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-cards>\n<pw-case-studies-card id=\"case-studies\" [tag]=\"getTag('Case Studies')\" [showCaseStudyHeader]=\"true\" *ngIf=\"hasTag('Case Studies')\" [categoryId]=\"getCategoryIdByTagName('Case Studies')\" [resourceTitle]=\"getTitleByTagName('Case Studies')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-case-studies-card>\n<pw-resource--vault (isLoadedChange)=\"onVaultLoaded($event)\" id=\"white-papers\" [tag]=\"getTag('White Papers')\" [showVaultSection]=\"true\" *ngIf=\"hasTag('White Papers')\" [categoryId]=\"getCategoryIdByTagName('White Papers')\" [resourceTitle]=\"getTitleByTagName('White Papers')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource--vault>\n<pw-resource-note-card [isResource]=\"true\" [isReleasePress]=\"true\" id=\"product-release-notes\" [tag]=\"getTag('Product Release Notes')\" [releaseHeader]=\"true\" *ngIf=\"hasTag('Product Release Notes')\" [categoryId]=\"getCategoryIdByTagName('Product Release Notes')\" [resourceTitle]=\"getTitleByTagName('Product Release Notes')\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n<pw-trial-4-contact-us *ngIf=\"isFooterLoaded\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>", styles: ["::ng-deep .resource-vault-section,::ng-deep .release-notes-section,::ng-deep .resource-section,::ng-deep .vault-section{box-shadow:0 4px 32px -14px #40576d4d!important}\n"] }]
|
|
83
|
-
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }] });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Jlc291cmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlcy9yZXNvdXJjZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFFBQVEsRUFFWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBU3hELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFNbkQsWUFDcUIsV0FBd0IsRUFDeEIsR0FBc0IsRUFDdkMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFQM0MsWUFBTyxHQUFVLEVBQUUsQ0FBQztJQVdwQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMs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IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgVGFnLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXJlc291cmNlcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVzb3VyY2VzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBhbGxUYWdzOiBUYWdbXSA9IFtdO1xuICAgIHVzZXI6IFVzZXI7XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGlzRm9vdGVyTG9hZGVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4kKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25UYWdzTG9hZGVkKHRhZ3M6IFRhZ1tdKSB7XG4gICAgICAgIHRoaXMuYWxsVGFncyA9IHRhZ3M7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGhhc1RhZyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsVGFncy5zb21lKHRhZyA9PiB0YWcubmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gbmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICBnZXRDYXRlZ29yeUlkQnlUYWdOYW1lKG5hbWU6IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHRhZyA9IHRoaXMuYWxsVGFncy5maW5kKHQgPT4gdC5uYW1lPy50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICByZXR1cm4gdGFnPy50YWdfY2F0ZWdvcnlfaWQ7XG4gICAgfVxuXG4gICAgZ2V0VGFnKG5hbWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLmFsbFRhZ3MuZmluZCh0ID0+IHQubmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gbmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgcmV0dXJuIHRhZztcbiAgICB9XG5cbiAgICBnZXRUaXRsZUJ5VGFnTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLmFsbFRhZ3MuZmluZCh0ID0+IHQubmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gbmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgcmV0dXJuIHRhZz8udGl0bGU7XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9UYWcodGFnOiBUYWcpIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbk1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICAgICAgIFZpZGVvczogJ3ZpZGVvcycsXG4gICAgICAgICAgICBFdmVudHM6ICdldmVudHMnLFxuICAgICAgICAgICAgJ0Jsb2cgUG9zdHMnOiAnYmxvZy1wb3N0cycsXG4gICAgICAgICAgICAnQ2FzZSBTdHVkaWVzJzogJ2Nhc2Utc3R1ZGllcycsXG4gICAgICAgICAgICAnV2hpdGUgUGFwZXJzJzogJ3doaXRlLXBhcGVycycsXG4gICAgICAgICAgICAnUHJvZHVjdCBSZWxlYXNlIE5vdGVzJzogJ3Byb2R1Y3QtcmVsZWFzZS1ub3RlcydcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZWN0aW9uSWQgPSBzZWN0aW9uTWFwW3RhZy5uYW1lPy50cmltKCldO1xuICAgICAgICBpZiAoc2VjdGlvbklkKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlY3Rpb25JZCk7XG4gICAgICAgICAgICAgICAgaWYgKGVsKSBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25WYXVsdExvYWRlZChpc0xvYWRlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzRm9vdGVyTG9hZGVkID0gaXNMb2FkZWQ7XG4gICAgICAgIGNvbnNvbGUubG9nKCdWYXVsdCBsb2FkZWQ6JywgaXNMb2FkZWQpO1xuICAgIH1cbn1cbiIsIlxuIDxwdy1yZXNvdXJjZS1oZWFkZXIgW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCI+PC9wdy1yZXNvdXJjZS1oZWFkZXI+XG4gPHB3LXZhdWx0LXNlY3Rpb24gW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCI+PC9wdy12YXVsdC1zZWN0aW9uPlxuPHB3LXJlc291cmNlLXRhZ3MgW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCIgKHRhZ3NMb2FkZWQpPVwib25UYWdzTG9hZGVkKCRldmVudClcIiAodGFnU2VsZWN0ZWQpPVwic2Nyb2xsVG9UYWcoJGV2ZW50KVwiPjwvcHctcmVzb3VyY2UtdGFncz5cbjxwdy1yZXNvdXJjZS12aWRlby1jYXJkIGlkPVwidmlkZW9zXCIgW3RhZ109XCJnZXRUYWcoJ1ZpZGVvcycpXCIgW3Nob3dWaWRlb1NlY3Rpb25dPVwidHJ1ZVwiICpuZ0lmPVwiaGFzVGFnKCdWaWRlb3MnKVwiIFtjYXRlZ29yeUlkXT1cImdldENhdGVnb3J5SWRCeVRhZ05hbWUoJ1ZpZGVvcycpXCIgW3Jlc291cmNlVGl0bGVdPVwiZ2V0VGl0bGVCeVRhZ05hbWUoJ1ZpZGVvcycpXCIgW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCI+PC9wdy1yZXNvdXJjZS12aWRlby1jYXJkPlxuPHB3LXVwY29taW5nLWV2ZW50LWNhcmQgaWQ9XCJldmVudHNcIiBbdGFnXT1cImdldFRhZygnRXZlbnRzJylcIiBbc2hvd0V2ZW50Q29udGVudF09XCJ0cnVlXCIgKm5nSWY9XCJoYXNUYWcoJ0V2ZW50cycpXCIgW2NhdGVnb3J5SWRdPVwiZ2V0Q2F0ZWdvcnlJZEJ5VGFnTmFtZSgnRXZlbnRzJylcIiBbcmVzb3VyY2VUaXRsZV09XCJnZXRUaXRsZUJ5VGFnTmFtZSgnRXZlbnRzJylcIiBbdXNlcl09XCJ1c2VyXCIgW3VzZXJMb2dnZWRJbl09XCJ1c2VyTG9nZ2VkSW5cIj48L3B3LXVwY29taW5nLWV2ZW50LWNhcmQ+XG48cHctcmVzb3VyY2UtY2FyZHMgcmVzb3VyY2VMaW5rPVwiL3Jlc291cmNlcy9ibG9nc1wiIFt0YWddPVwiZ2V0VGFnKCdCbG9nIFBvc3RzJylcIiBpZD1cImJsb2ctcG9zdHNcIiAqbmdJZj1cImhhc1RhZygnQmxvZyBQb3N0cycpXCIgIFtjYXRlZ29yeUlkXT1cImdldENhdGVnb3J5SWRCeVRhZ05hbWUoJ0Jsb2cgUG9zdHMnKVwiIFtyZXNvdXJjZVRpdGxlXT1cImdldFRpdGxlQnlUYWdOYW1lKCdCbG9nIFBvc3RzJylcIiBbdXNlcl09XCJ1c2VyXCIgW3VzZXJMb2dnZWRJbl09XCJ1c2VyTG9nZ2VkSW5cIj48L3B3LXJlc291cmNlLWNhcmRzPlxuPHB3LWNhc2Utc3R1ZGllcy1jYXJkIGlkPVwiY2FzZS1zdHVkaWVzXCIgW3RhZ109XCJnZXRUYWcoJ0Nhc2UgU3R1ZGllcycpXCIgW3Nob3dDYXNlU3R1ZHlIZWFkZXJdPVwidHJ1ZVwiICpuZ0lmPVwiaGFzVGFnKCdDYXNlIFN0dWRpZXMnKVwiIFtjYXRlZ29yeUlkXT1cImdldENhdGVnb3J5SWRCeVRhZ05hbWUoJ0Nhc2UgU3R1ZGllcycpXCIgW3Jlc291cmNlVGl0bGVdPVwiZ2V0VGl0bGVCeVRhZ05hbWUoJ0Nhc2UgU3R1ZGllcycpXCIgW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCI+PC9wdy1jYXNlLXN0dWRpZXMtY2FyZD5cbjxwdy1yZXNvdXJjZS0tdmF1bHQgKGlzTG9hZGVkQ2hhbmdlKT1cIm9uVmF1bHRMb2FkZWQoJGV2ZW50KVwiIGlkPVwid2hpdGUtcGFwZXJzXCIgW3RhZ109XCJnZXRUYWcoJ1doaXRlIFBhcGVycycpXCIgW3Nob3dWYXVsdFNlY3Rpb25dPVwidHJ1ZVwiICpuZ0lmPVwiaGFzVGFnKCdXaGl0ZSBQYXBlcnMnKVwiIFtjYXRlZ29yeUlkXT1cImdldENhdGVnb3J5SWRCeVRhZ05hbWUoJ1doaXRlIFBhcGVycycpXCIgW3Jlc291cmNlVGl0bGVdPVwiZ2V0VGl0bGVCeVRhZ05hbWUoJ1doaXRlIFBhcGVycycpXCIgW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCI+PC9wdy1yZXNvdXJjZS0tdmF1bHQ+XG48cHctcmVzb3VyY2Utbm90ZS1jYXJkIFtpc1Jlc291cmNlXT1cInRydWVcIiBbaXNSZWxlYXNlUHJlc3NdPVwidHJ1ZVwiIGlkPVwicHJvZHVjdC1yZWxlYXNlLW5vdGVzXCIgW3RhZ109XCJnZXRUYWcoJ1Byb2R1Y3QgUmVsZWFzZSBOb3RlcycpXCIgW3JlbGVhc2VIZWFkZXJdPVwidHJ1ZVwiICpuZ0lmPVwiaGFzVGFnKCdQcm9kdWN0IFJlbGVhc2UgTm90ZXMnKVwiIFtjYXRlZ29yeUlkXT1cImdldENhdGVnb3J5SWRCeVRhZ05hbWUoJ1Byb2R1Y3QgUmVsZWFzZSBOb3RlcycpXCIgW3Jlc291cmNlVGl0bGVdPVwiZ2V0VGl0bGVCeVRhZ05hbWUoJ1Byb2R1Y3QgUmVsZWFzZSBOb3RlcycpXCIgW3VzZXJdPVwidXNlclwiIFt1c2VyTG9nZ2VkSW5dPVwidXNlckxvZ2dlZEluXCI+PC9wdy1yZXNvdXJjZS1ub3RlLWNhcmQ+XG48cHctdHJpYWwtNC1jb250YWN0LXVzICpuZ0lmPVwiaXNGb290ZXJMb2FkZWRcIiBbdXNlcl09XCJ1c2VyXCIgW3VzZXJMb2dnZWRJbl09XCJ1c2VyTG9nZ2VkSW5cIj48L3B3LXRyaWFsLTQtY29udGFjdC11cz4iXX0=
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { Component, Injector, Input, TemplateRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { Title } from '@angular/platform-browser';
|
|
3
|
-
import { AdminService } from '@posiwise/admin-module-utils';
|
|
4
|
-
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
5
|
-
import { HelperService } from '@posiwise/helper-service';
|
|
6
|
-
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
9
|
-
import * as i2 from "@posiwise/admin-module-utils";
|
|
10
|
-
import * as i3 from "@angular/platform-browser";
|
|
11
|
-
import * as i4 from "@angular/common";
|
|
12
|
-
import * as i5 from "@angular/forms";
|
|
13
|
-
import * as i6 from "@posiwise/directives";
|
|
14
|
-
import * as i7 from "@posiwise/utils";
|
|
15
|
-
import * as i8 from "@posiwise/shared-components";
|
|
16
|
-
import * as i9 from "@jsverse/transloco";
|
|
17
|
-
export class VaultSectionComponent extends AppBaseComponent {
|
|
18
|
-
constructor(injector, modalService, adminService, titleService) {
|
|
19
|
-
super(injector);
|
|
20
|
-
this.modalService = modalService;
|
|
21
|
-
this.adminService = adminService;
|
|
22
|
-
this.titleService = titleService;
|
|
23
|
-
this.resourceTagLine = this.appConfig.pages_config?.resources.resources_tagline;
|
|
24
|
-
this.resourceImage = this.appConfig.pages_config?.resources.resources_image.url;
|
|
25
|
-
this.resourceDescription = this.appConfig.pages_config?.resources.resources_description;
|
|
26
|
-
this.domainId = this.appConfig.domain_id;
|
|
27
|
-
this.image = null;
|
|
28
|
-
this.file = null;
|
|
29
|
-
this.editingTagline = '';
|
|
30
|
-
this.editingDescription = '';
|
|
31
|
-
this.canEditResourcesValue = false;
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.previewResourceImage = {
|
|
35
|
-
url: this.appConfig.pages_config?.resources.resources_image.url ?? '',
|
|
36
|
-
name: 'resources_image.png'
|
|
37
|
-
};
|
|
38
|
-
this.companyName = this.appConfig?.company.name;
|
|
39
|
-
// Critical image preloading is now handled server-side for better LCP performance
|
|
40
|
-
// Use proper timer management instead of setTimeout
|
|
41
|
-
this.scheduleSEOMetadataUpdate();
|
|
42
|
-
}
|
|
43
|
-
ngOnChanges(changes) {
|
|
44
|
-
if (changes['user'] || changes['userLoggedIn']) {
|
|
45
|
-
if (this.userLoggedIn && this.user) {
|
|
46
|
-
this.permissionService.user = this.user;
|
|
47
|
-
this.updateCanEditResourcesValue();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
scheduleSEOMetadataUpdate() {
|
|
52
|
-
// Clear any existing timer to prevent multiple timers
|
|
53
|
-
this.clearSEOTimer();
|
|
54
|
-
// Schedule the SEO update with proper timer management
|
|
55
|
-
this.seoUpdateTimer = setTimeout(() => {
|
|
56
|
-
this.updateSEOMetadata();
|
|
57
|
-
this.seoUpdateTimer = null; // Clear reference after execution
|
|
58
|
-
}, 2000);
|
|
59
|
-
}
|
|
60
|
-
clearSEOTimer() {
|
|
61
|
-
if (this.seoUpdateTimer) {
|
|
62
|
-
clearTimeout(this.seoUpdateTimer);
|
|
63
|
-
this.seoUpdateTimer = null;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
updateSEOMetadata() {
|
|
67
|
-
// Use resource tagline as page title
|
|
68
|
-
if (this.resourceTagLine) {
|
|
69
|
-
this.titleService.setTitle(this.resourceTagLine);
|
|
70
|
-
}
|
|
71
|
-
// Use resource description as meta description
|
|
72
|
-
if (this.resourceDescription) {
|
|
73
|
-
this.updateMetaDescription(this.resourceDescription);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
updateMetaDescription(description) {
|
|
77
|
-
let metaDescription = document.querySelector('meta[name="description"]');
|
|
78
|
-
if (!metaDescription) {
|
|
79
|
-
metaDescription = document.createElement('meta');
|
|
80
|
-
metaDescription.setAttribute('name', 'description');
|
|
81
|
-
document.head.appendChild(metaDescription);
|
|
82
|
-
}
|
|
83
|
-
metaDescription.setAttribute('content', description);
|
|
84
|
-
}
|
|
85
|
-
openEditResourceModal() {
|
|
86
|
-
this.editingTagline = this.resourceTagLine;
|
|
87
|
-
this.editingDescription = this.resourceDescription;
|
|
88
|
-
this.image = this.resourceImage;
|
|
89
|
-
this.file = null;
|
|
90
|
-
this.modalService.open(this.editResourceModalRef, { centered: true });
|
|
91
|
-
}
|
|
92
|
-
saveResourceContent(modal) {
|
|
93
|
-
const formData = new FormData();
|
|
94
|
-
formData.append('subscription_id', this.getEffectiveSubscriptionId().toString());
|
|
95
|
-
formData.append('resources_tagline', this.editingTagline || '');
|
|
96
|
-
formData.append('resources_description', this.editingDescription || '');
|
|
97
|
-
if (this.file) {
|
|
98
|
-
formData.append('resources_image', this.file);
|
|
99
|
-
}
|
|
100
|
-
else if (!this.image) {
|
|
101
|
-
formData.append('remove_resources_image', 'true');
|
|
102
|
-
}
|
|
103
|
-
this.adminService.updateDomainConfig(this.appConfig?.domain_id, formData).subscribe(() => {
|
|
104
|
-
this.resourceTagLine = this.editingTagline;
|
|
105
|
-
this.resourceDescription = this.editingDescription;
|
|
106
|
-
this.resourceImage = this.image;
|
|
107
|
-
this.toast.success('Resources updated');
|
|
108
|
-
modal.close();
|
|
109
|
-
this.updateSEOMetadata();
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
openImageModal(modalTemplate) {
|
|
113
|
-
this.imageModalRef = this.modalService.open(modalTemplate, { centered: true, size: 'md' });
|
|
114
|
-
}
|
|
115
|
-
onImageSelected(base64) {
|
|
116
|
-
this.image = base64;
|
|
117
|
-
this.file = HelperService.convertBase64ToFile(base64);
|
|
118
|
-
this.imageModalRef?.close();
|
|
119
|
-
}
|
|
120
|
-
removeImage() {
|
|
121
|
-
this.image = null;
|
|
122
|
-
this.file = null;
|
|
123
|
-
}
|
|
124
|
-
ngOnDestroy() {
|
|
125
|
-
// Clean up timer to prevent memory leaks
|
|
126
|
-
this.clearSEOTimer();
|
|
127
|
-
}
|
|
128
|
-
/** Helper method to get effective subscription ID */
|
|
129
|
-
getEffectiveSubscriptionId() {
|
|
130
|
-
return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.appConfig.master_subscription.subscription_id);
|
|
131
|
-
}
|
|
132
|
-
handleImageError(event, fallbackPath) {
|
|
133
|
-
HelperService.handleImageFallbackPath(event, fallbackPath);
|
|
134
|
-
}
|
|
135
|
-
updateCanEditResourcesValue() {
|
|
136
|
-
if (this.userLoggedIn && this.user) {
|
|
137
|
-
this.canEditResourcesValue = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
this.canEditResourcesValue = false;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
canEditResources() {
|
|
144
|
-
return this.canEditResourcesValue;
|
|
145
|
-
}
|
|
146
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VaultSectionComponent, deps: [{ token: i0.Injector }, { token: i1.NgbModal }, { token: i2.AdminService }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
147
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: VaultSectionComponent, selector: "pw-vault-section", inputs: { user: "user", userLoggedIn: "userLoggedIn" }, viewQueries: [{ propertyName: "editResourceModalRef", first: true, predicate: ["editResourceModal"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<section class=\"vault-section\">\n <div class=\"skewed-bg\"></div>\n\n <!-- Edit Icon (top-right) -->\n\n <div class=\"container\">\n <div class=\"row align-items-center vault-row\">\n <!-- Left Content -->\n <div class=\"col-lg-6 col-12 text-content\">\n <div class=\"d-flex\">\n <h2 class=\"headline\">{{resourceTagLine || 'UPDATE ME ON ADMIN/DOMAINS MODULE'}}</h2>\n <i\n *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit tag-edit-icon in-page-edit-icon mt-4 ms-3 cursor-pointer\"\n title=\"Edit Resource\"\n (click)=\"openEditResourceModal()\"\n (keydown.enter)=\"openEditResourceModal()\"\n (keydown.space)=\"openEditResourceModal()\"\n ></i>\n </div>\n <div class=\"description-content\">\n <p class=\"description\" [innerHTML]=\"resourceDescription || 'UPDATE ME ON ADMIN/DOMAINS MODULE.'\">\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"col-lg-6 col-12 img-wrapper\">\n <ng-container *ngIf=\"resourceImage; else noVideo\">\n <img\n [src]=\"resourceImage\"\n alt=\"Vault Mockup\"\n class=\"img-fluid\"\n width=\"800\"\n height=\"600\"\n fetchpriority=\"high\"\n decoding=\"async\"\n loading=\"eager\" />\n </ng-container>\n\n <ng-template #noVideo>\n <pw-no-data [withImage]=\"true\" [message]=\"'ADD ME ON ADMIN/DOMAINS MODULE' | transloco\"></pw-no-data>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n\n<!-- Edit Modal -->\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resources</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"mb-3\">\n <label for=\"editTagline\" class=\"form-label\">Tagline</label>\n <input id=\"editTagline\" [(ngModel)]=\"editingTagline\" class=\"form-control\" />\n </div>\n <div class=\"mb-3\">\n <label for=\"editDescription\" class=\"form-label\">Description</label>\n <textarea id=\"editDescription\" [(ngModel)]=\"editingDescription\" rows=\"4\" class=\"form-control\"></textarea>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"resource-image\">Resource Image</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img\n [src]=\"image || 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100 mb-2\"\n alt=\"Resource content\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ file || image ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n\n </div>\n <div class=\"modal-footer\">\n <button class=\"btn btn-primary\" (click)=\"saveResourceContent(modal)\">Save</button>\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n </div>\n</ng-template>\n\n\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file.</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: [".vault-section{position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden}.vault-section:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%);z-index:1}.vault-section .container{position:relative;z-index:2}.vault-section .row{min-height:600px;align-items:center}.vault-section .text-content{max-width:550px;height:100%;display:flex;flex-direction:column;justify-content:center}.vault-section .text-content .headline{font-weight:500;color:#fff!important;font-size:4.5rem!important}.vault-section .text-content .description{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color, black);margin-bottom:1rem}.vault-section .text-content .description strong{font-weight:700}.vault-section .text-content .cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.vault-section .text-content .cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.vault-section .img-wrapper{text-align:center;min-height:400px;display:flex;align-items:center;justify-content:center}@media (width >= 991px){.vault-section .img-wrapper{min-height:600px}.vault-section .img-wrapper img,.vault-section .img-wrapper pw-no-data{max-width:800px;max-height:800px;height:auto;width:100%;object-fit:contain}}@media (width >= 991px){.vault-section img,.vault-section pw-no-data{max-width:800px;width:100%;height:auto;position:relative;top:11.6rem}.vault-section .description-content{max-width:500px;position:absolute;margin-top:31rem!important}.vault-section .headline{margin-bottom:21rem!important}}@media (width >= 1100px){.vault-section img,.vault-section pw-no-data{left:25%}}@media (width >= 991px) and (width <= 1100px){.vault-section img,.vault-section pw-no-data{top:12.9rem!important;left:19%}}@media (width <= 991px){.vault-section .vault-row{text-align:center;justify-content:center}.vault-section img,.vault-section pw-no-data{top:5rem!important;position:relative}}@media (width <= 768px){.vault-section .text-content{text-align:center;margin-bottom:2rem;margin-top:3rem!important}.vault-section .text-content .headline{font-size:3rem!important}.vault-section .text-content .description{font-size:1.5rem;line-height:2rem}}.tag-edit-icon{margin-top:2rem!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.LazyImgDirective, selector: "img" }, { kind: "component", type: i7.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio", "dynamicData"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "component", type: i8.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "pipe", type: i9.TranslocoPipe, name: "transloco" }] }); }
|
|
148
|
-
}
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VaultSectionComponent, decorators: [{
|
|
150
|
-
type: Component,
|
|
151
|
-
args: [{ selector: 'pw-vault-section', template: "<section class=\"vault-section\">\n <div class=\"skewed-bg\"></div>\n\n <!-- Edit Icon (top-right) -->\n\n <div class=\"container\">\n <div class=\"row align-items-center vault-row\">\n <!-- Left Content -->\n <div class=\"col-lg-6 col-12 text-content\">\n <div class=\"d-flex\">\n <h2 class=\"headline\">{{resourceTagLine || 'UPDATE ME ON ADMIN/DOMAINS MODULE'}}</h2>\n <i\n *ngIf=\"canEditResourcesValue\"\n class=\"fa fa-edit tag-edit-icon in-page-edit-icon mt-4 ms-3 cursor-pointer\"\n title=\"Edit Resource\"\n (click)=\"openEditResourceModal()\"\n (keydown.enter)=\"openEditResourceModal()\"\n (keydown.space)=\"openEditResourceModal()\"\n ></i>\n </div>\n <div class=\"description-content\">\n <p class=\"description\" [innerHTML]=\"resourceDescription || 'UPDATE ME ON ADMIN/DOMAINS MODULE.'\">\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"col-lg-6 col-12 img-wrapper\">\n <ng-container *ngIf=\"resourceImage; else noVideo\">\n <img\n [src]=\"resourceImage\"\n alt=\"Vault Mockup\"\n class=\"img-fluid\"\n width=\"800\"\n height=\"600\"\n fetchpriority=\"high\"\n decoding=\"async\"\n loading=\"eager\" />\n </ng-container>\n\n <ng-template #noVideo>\n <pw-no-data [withImage]=\"true\" [message]=\"'ADD ME ON ADMIN/DOMAINS MODULE' | transloco\"></pw-no-data>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n\n<!-- Edit Modal -->\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resources</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"mb-3\">\n <label for=\"editTagline\" class=\"form-label\">Tagline</label>\n <input id=\"editTagline\" [(ngModel)]=\"editingTagline\" class=\"form-control\" />\n </div>\n <div class=\"mb-3\">\n <label for=\"editDescription\" class=\"form-label\">Description</label>\n <textarea id=\"editDescription\" [(ngModel)]=\"editingDescription\" rows=\"4\" class=\"form-control\"></textarea>\n </div>\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"resource-image\">Resource Image</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img\n [src]=\"image || 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100 mb-2\"\n alt=\"Resource content\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ file || image ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n\n </div>\n <div class=\"modal-footer\">\n <button class=\"btn btn-primary\" (click)=\"saveResourceContent(modal)\">Save</button>\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n </div>\n</ng-template>\n\n\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file.</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: [".vault-section{position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden}.vault-section:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%);z-index:1}.vault-section .container{position:relative;z-index:2}.vault-section .row{min-height:600px;align-items:center}.vault-section .text-content{max-width:550px;height:100%;display:flex;flex-direction:column;justify-content:center}.vault-section .text-content .headline{font-weight:500;color:#fff!important;font-size:4.5rem!important}.vault-section .text-content .description{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color, black);margin-bottom:1rem}.vault-section .text-content .description strong{font-weight:700}.vault-section .text-content .cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.vault-section .text-content .cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.vault-section .img-wrapper{text-align:center;min-height:400px;display:flex;align-items:center;justify-content:center}@media (width >= 991px){.vault-section .img-wrapper{min-height:600px}.vault-section .img-wrapper img,.vault-section .img-wrapper pw-no-data{max-width:800px;max-height:800px;height:auto;width:100%;object-fit:contain}}@media (width >= 991px){.vault-section img,.vault-section pw-no-data{max-width:800px;width:100%;height:auto;position:relative;top:11.6rem}.vault-section .description-content{max-width:500px;position:absolute;margin-top:31rem!important}.vault-section .headline{margin-bottom:21rem!important}}@media (width >= 1100px){.vault-section img,.vault-section pw-no-data{left:25%}}@media (width >= 991px) and (width <= 1100px){.vault-section img,.vault-section pw-no-data{top:12.9rem!important;left:19%}}@media (width <= 991px){.vault-section .vault-row{text-align:center;justify-content:center}.vault-section img,.vault-section pw-no-data{top:5rem!important;position:relative}}@media (width <= 768px){.vault-section .text-content{text-align:center;margin-bottom:2rem;margin-top:3rem!important}.vault-section .text-content .headline{font-size:3rem!important}.vault-section .text-content .description{font-size:1.5rem;line-height:2rem}}.tag-edit-icon{margin-top:2rem!important}\n"] }]
|
|
152
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgbModal }, { type: i2.AdminService }, { type: i3.Title }], propDecorators: { editResourceModalRef: [{
|
|
153
|
-
type: ViewChild,
|
|
154
|
-
args: ['editResourceModal']
|
|
155
|
-
}], user: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], userLoggedIn: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmF1bHQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlcy92YXVsdC1zZWN0aW9uL3ZhdWx0LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZXMvdmF1bHQtc2VjdGlvbi92YXVsdC1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFLTCxXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPdEQsTUFBTSxPQUFPLHFCQUNULFNBQVEsZ0JBQWdCO0lBNEJ4QixZQUNJLFFBQWtCLEVBQ0QsWUFBc0IsRUFDdEIsWUFBMEIsRUFDMUIsWUFBbUI7UUFFcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSkMsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQU87UUF4QnhDLG9CQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZ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QjtRQUM5QixPQUFPLGFBQWEsQ0FBQywwQkFBMEIsQ0FDM0MsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FDckQsQ0FBQztJQUNOLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsWUFBWTtRQUN2QyxhQUFhLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTywyQkFBMkI7UUFDL0IsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUN2RCxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FDekIsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztRQUN2QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RDLENBQUM7K0dBaExRLHFCQUFxQjttR0FBckIscUJBQXFCLHVSQzFCbEMsb25JQThHQTs7NEZEcEZhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxrQkFBa0I7bUpBUUksb0JBQW9CO3NCQUFuRCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDckIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy12YXVsdC1zZWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmF1bHQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdmF1bHQtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFZhdWx0U2VjdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICAgIEBWaWV3Q2hpbGQoJ2VkaXRSZXNvdXJjZU1vZGFsJykgZWRpdFJlc291cmNlTW9kYWxSZWYhOiBUZW1wbGF0ZVJlZjxDdXN0b21VcGxvYWRlckNvbXBvbmVudD47XG4gICAgQElucHV0KCkgdXNlcjogVXNlcjtcbiAgICBASW5wdXQoKSB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG5cbiAgICBjb21wYW55TmFtZTtcbiAgICByZXNvdXJjZVRhZ0xpbmUgPSB0aGlzLmFwcENvbmZpZy5wYWdlc19jb25maWc/LnJlc291cmNlcy5yZXNvdXJjZXNfdGFnbGluZTtcbiAgICByZXNvdXJjZUltYWdlID0gdGhpcy5hcHBDb25maWcucGFnZXNfY29uZmlnPy5yZXNvdXJjZXMucmVzb3VyY2VzX2ltYWdlLnVybDtcbiAgICByZXNvdXJjZURlc2NyaXB0aW9uID0gdGhpcy5hcHBDb25maWcucGFnZXNfY29uZmlnPy5yZXNvdXJjZXMucmVzb3VyY2VzX2Rlc2NyaXB0aW9uO1xuICAgIGRvbWFpbklkID0gdGhpcy5hcHBDb25maWcuZG9tYWluX2lkO1xuXG4gICAgaW1hZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIGZpbGU6IEZpbGUgfCBudWxsID0gbnVsbDtcbiAgICBpbWFnZU1vZGFsUmVmO1xuXG4gICAgZWRpdGluZ1RhZ2xpbmUgPSAnJztcbiAgICBlZGl0aW5nRGVzY3JpcHRpb24gPSAnJztcblxuICAgIHN1YnNjcmlwdGlvbklkO1xuICAgIGlzTWFzdGVyU3Vic2NyaXB0aW9uO1xuICAgIHByZXZpZXdSZXNvdXJjZUltYWdlOiB7IHVybDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcblxuICAgIGNhbkVkaXRSZXNvdXJjZXNWYWx1ZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBzZW9VcGRhdGVUaW1lcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0aXRsZVNlcnZpY2U6IFRpdGxlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5wcmV2aWV3UmVzb3VyY2VJbWFnZSA9IHtcbiAgICAgICAgICAgIHVybDogdGhpcy5hcHBDb25maWcucGFnZXNfY29uZmlnPy5yZXNvdXJjZXMucmVzb3VyY2VzX2ltYWdlLnVybCA/PyAnJyxcbiAgICAgICAgICAgIG5hbWU6ICdyZXNvdXJjZXNfaW1hZ2UucG5nJ1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNvbXBhbnlOYW1lID0gdGhpcy5hcHBDb25maWc/LmNvbXBhbnkubmFtZTtcblxuICAgICAgICAvLyBDcml0aWNhbCBpbWFnZSBwcmVsb2FkaW5nIGlzIG5vdyBoYW5kbGVkIHNlcnZlci1zaWRlIGZvciBiZXR0ZXIgTENQIHBlcmZvcm1hbmNlXG5cbiAgICAgICAgLy8gVXNlIHByb3BlciB0aW1lciBtYW5hZ2VtZW50IGluc3RlYWQgb2Ygc2V0VGltZW91dFxuICAgICAgICB0aGlzLnNjaGVkdWxlU0VPTWV0YWRhdGFVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzWyd1c2VyJ10gfHwgY2hhbmdlc1sndXNlckxvZ2dlZEluJ10pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbiAmJiB0aGlzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnVzZXIgPSB0aGlzLnVzZXI7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYW5FZGl0UmVzb3VyY2VzVmFsdWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2NoZWR1bGVTRU9NZXRhZGF0YVVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xlYXIgYW55IGV4aXN0aW5nIHRpbWVyIHRvIHByZXZlbnQgbXVsdGlwbGUgdGltZXJzXG4gICAgICAgIHRoaXMuY2xlYXJTRU9UaW1lcigpO1xuXG4gICAgICAgIC8vIFNjaGVkdWxlIHRoZSBTRU8gdXBkYXRlIHdpdGggcHJvcGVyIHRpbWVyIG1hbmFnZW1lbnRcbiAgICAgICAgdGhpcy5zZW9VcGRhdGVUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTRU9NZXRhZGF0YSgpO1xuICAgICAgICAgICAgdGhpcy5zZW9VcGRhdGVUaW1lciA9IG51bGw7IC8vIENsZWFyIHJlZmVyZW5jZSBhZnRlciBleGVjdXRpb25cbiAgICAgICAgfSwgMjAwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclNFT1RpbWVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZW9VcGRhdGVUaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2VvVXBkYXRlVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5zZW9VcGRhdGVUaW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNFT01ldGFkYXRhKCkge1xuICAgICAgICAvLyBVc2UgcmVzb3VyY2UgdGFnbGluZSBhcyBwYWdlIHRpdGxlXG4gICAgICAgIGlmICh0aGlzLnJlc291cmNlVGFnTGluZSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGhpcy5yZXNvdXJjZVRhZ0xpbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIHJlc291cmNlIGRlc2NyaXB0aW9uIGFzIG1ldGEgZGVzY3JpcHRpb25cbiAgICAgICAgaWYgKHRoaXMucmVzb3VyY2VEZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNZXRhRGVzY3JpcHRpb24odGhpcy5yZXNvdXJjZURlc2NyaXB0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTWV0YURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IG1ldGFEZXNjcmlwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT1cImRlc2NyaXB0aW9uXCJdJyk7XG4gICAgICAgIGlmICghbWV0YURlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBtZXRhRGVzY3JpcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7XG4gICAgICAgICAgICBtZXRhRGVzY3JpcHRpb24uc2V0QXR0cmlidXRlKCduYW1lJywgJ2Rlc2NyaXB0aW9uJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG1ldGFEZXNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgbWV0YURlc2NyaXB0aW9uLnNldEF0dHJpYnV0ZSgnY29udGVudCcsIGRlc2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBvcGVuRWRpdFJlc291cmNlTW9kYWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGluZ1RhZ2xpbmUgPSB0aGlzLnJlc291cmNlVGFnTGluZTtcbiAgICAgICAgdGhpcy5lZGl0aW5nRGVzY3JpcHRpb24gPSB0aGlzLnJlc291cmNlRGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLnJlc291cmNlSW1hZ2U7XG4gICAgICAgIHRoaXMuZmlsZSA9IG51bGw7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy5lZGl0UmVzb3VyY2VNb2RhbFJlZiwgeyBjZW50ZXJlZDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBzYXZlUmVzb3VyY2VDb250ZW50KG1vZGFsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdzdWJzY3JpcHRpb25faWQnLCB0aGlzLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCkudG9TdHJpbmcoKSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgncmVzb3VyY2VzX3RhZ2xpbmUnLCB0aGlzLmVkaXRpbmdUYWdsaW5lIHx8ICcnKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdyZXNvdXJjZXNfZGVzY3JpcHRpb24nLCB0aGlzLmVkaXRpbmdEZXNjcmlwdGlvbiB8fCAnJyk7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsZSkge1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdyZXNvdXJjZXNfaW1hZ2UnLCB0aGlzLmZpbGUpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmltYWdlKSB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3JlbW92ZV9yZXNvdXJjZXNfaW1hZ2UnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLnVwZGF0ZURvbWFpbkNvbmZpZyh0aGlzLmFwcENvbmZpZz8uZG9tYWluX2lkLCBmb3JtRGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2VUYWdMaW5lID0gdGhpcy5lZGl0aW5nVGFnbGluZTtcbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2VEZXNjcmlwdGlvbiA9IHRoaXMuZWRpdGluZ0Rlc2NyaXB0aW9uO1xuICAgICAgICAgICAgdGhpcy5yZXNvdXJjZUltYWdlID0gdGhpcy5pbWFnZTtcbiAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcygnUmVzb3VyY2VzIHVwZGF0ZWQnKTtcbiAgICAgICAgICAgIG1vZGFsLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNFT01ldGFkYXRhKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5JbWFnZU1vZGFsKG1vZGFsVGVtcGxhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihtb2RhbFRlbXBsYXRlLCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnIH0pO1xuICAgIH1cblxuICAgIG9uSW1hZ2VTZWxlY3RlZChiYXNlNjQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlID0gYmFzZTY0O1xuICAgICAgICB0aGlzLmZpbGUgPSBIZWxwZXJTZXJ2aWNlLmNvbnZlcnRCYXNlNjRUb0ZpbGUoYmFzZTY0KTtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUltYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maWxlID0gbnVsbDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xlYW4gdXAgdGltZXIgdG8gcHJldmVudCBtZW1vcnkgbGVha3NcbiAgICAgICAgdGhpcy5jbGVhclNFT1RpbWVyKCk7XG4gICAgfVxuXG4gICAgLyoqIEhlbHBlciBtZXRob2QgdG8gZ2V0IGVmZmVjdGl2ZSBzdWJzY3JpcHRpb24gSUQgKi9cbiAgICBwcml2YXRlIGdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBIZWxwZXJTZXJ2aWNlLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKFxuICAgICAgICAgICAgdGhpcy51c2VyLFxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCxcbiAgICAgICAgICAgIHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkXG4gICAgICAgICk7XG4gICAgfVxuICAgIGhhbmRsZUltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50LCBmYWxsYmFja1BhdGgpOiB2b2lkIHtcbiAgICAgICAgSGVscGVyU2VydmljZS5oYW5kbGVJbWFnZUZhbGxiYWNrUGF0aChldmVudCwgZmFsbGJhY2tQYXRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNhbkVkaXRSZXNvdXJjZXNWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluICYmIHRoaXMudXNlcikge1xuICAgICAgICAgICAgdGhpcy5jYW5FZGl0UmVzb3VyY2VzVmFsdWUgPSBIZWxwZXJTZXJ2aWNlLmNhbkVkaXRSZXNvdXJjZXMoXG4gICAgICAgICAgICAgICAgdGhpcy51c2VyLFxuICAgICAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluLFxuICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2VcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhbkVkaXRSZXNvdXJjZXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuRWRpdFJlc291cmNlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuRWRpdFJlc291cmNlc1ZhbHVlO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwidmF1bHQtc2VjdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwic2tld2VkLWJnXCI+PC9kaXY+XG5cbiAgPCEtLSBFZGl0IEljb24gKHRvcC1yaWdodCkgLS0+XG5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHZhdWx0LXJvd1wiPlxuICAgICAgPCEtLSBMZWZ0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTYgY29sLTEyIHRleHQtY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGxpbmVcIj57e3Jlc291cmNlVGFnTGluZSB8fCAnVVBEQVRFIE1FIE9OIEFETUlOL0RPTUFJTlMgTU9EVUxFJ319PC9oMj5cbiAgICAgICAgICA8aVxuICAgICAgICAgICpuZ0lmPVwiY2FuRWRpdFJlc291cmNlc1ZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImZhIGZhLWVkaXQgdGFnLWVkaXQtaWNvbiBpbi1wYWdlLWVkaXQtaWNvbiBtdC00IG1zLTMgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgIHRpdGxlPVwiRWRpdCBSZXNvdXJjZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5FZGl0UmVzb3VyY2VNb2RhbCgpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvcGVuRWRpdFJlc291cmNlTW9kYWwoKVwiXG4gICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib3BlbkVkaXRSZXNvdXJjZU1vZGFsKClcIlxuICAgICAgICA+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJkZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwicmVzb3VyY2VEZXNjcmlwdGlvbiB8fCAnVVBEQVRFIE1FIE9OIEFETUlOL0RPTUFJTlMgTU9EVUxFLidcIj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFJpZ2h0IENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTYgY29sLTEyIGltZy13cmFwcGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNvdXJjZUltYWdlOyBlbHNlIG5vVmlkZW9cIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cInJlc291cmNlSW1hZ2VcIlxuICAgICAgICAgICAgYWx0PVwiVmF1bHQgTW9ja3VwXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW1nLWZsdWlkXCJcbiAgICAgICAgICAgIHdpZHRoPVwiODAwXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjYwMFwiXG4gICAgICAgICAgICBmZXRjaHByaW9yaXR5PVwiaGlnaFwiXG4gICAgICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcbiAgICAgICAgICAgIGxvYWRpbmc9XCJlYWdlclwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9WaWRlbz5cbiAgICAgICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInQUREIE1FIE9OIEFETUlOL0RPTUFJTlMgTU9EVUxFJyB8IHRyYW5zbG9jb1wiPjwvcHctbm8tZGF0YT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPCEtLSBFZGl0IE1vZGFsIC0tPlxuPG5nLXRlbXBsYXRlICNlZGl0UmVzb3VyY2VNb2RhbCBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPkVkaXQgUmVzb3VyY2VzPC9oNT5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJlZGl0VGFnbGluZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlRhZ2xpbmU8L2xhYmVsPlxuICAgICAgPGlucHV0IGlkPVwiZWRpdFRhZ2xpbmVcIiBbKG5nTW9kZWwpXT1cImVkaXRpbmdUYWdsaW5lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICA8bGFiZWwgZm9yPVwiZWRpdERlc2NyaXB0aW9uXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RGVzY3JpcHRpb248L2xhYmVsPlxuICAgICAgPHRleHRhcmVhIGlkPVwiZWRpdERlc2NyaXB0aW9uXCIgWyhuZ01vZGVsKV09XCJlZGl0aW5nRGVzY3JpcHRpb25cIiByb3dzPVwiNFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInJlc291cmNlLWltYWdlXCI+UmVzb3VyY2UgSW1hZ2U8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgIFtzcmNdPVwiaW1hZ2UgfHwgJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5JbWFnZU1vZGFsKGltYWdlQ3JvcENvbnRlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwIG1iLTJcIlxuICAgICAgICAgIGFsdD1cIlJlc291cmNlIGNvbnRlbnRcIlxuICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudCwgJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnKVwiIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIiAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIj5cbiAgICAgICAgICAgIHt7IGZpbGUgfHwgaW1hZ2UgPyAnRWRpdCcgOiAnQWRkJyB9fSBQaWN0dXJlXG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxpICpuZ0lmPVwiaW1hZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgIHRpdGxlPVwiUmVtb3ZlIEltYWdlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJbWFnZSgpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInJlbW92ZUltYWdlKClcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInNhdmVSZXNvdXJjZUNvbnRlbnQobW9kYWwpXCI+U2F2ZTwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG5cblxuPG5nLXRlbXBsYXRlICNpbWFnZUNyb3BDb250ZW50IGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+VXBsb2FkIFBpY3R1cmU8L2g1PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8c21hbGw+WW91IGNhbiB1cGxvYWQgYSBKUEcsIEdJRiwgb3IgUE5HIGZpbGUuPC9zbWFsbD5cbiAgICA8cHctaW1hZ2UtY3JvcHBlclxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvbkltYWdlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJtb2RhbC5jbG9zZSgpXCI+XG4gICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|