@posiwise/resource-module 0.0.144 → 0.0.146
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/esm2022/lib/public/components/base/base-resource.component.mjs +10 -3
- package/esm2022/lib/public/components/base/base-top-banner.component.mjs +10 -3
- package/esm2022/lib/public/components/reslease-note-card/release-note-card.component.mjs +19 -9
- package/esm2022/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.mjs +16 -6
- package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-company-card/resource-company-card.component.mjs +7 -3
- package/esm2022/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +21 -10
- package/esm2022/lib/public/components/resource-post/related-resources/related-resources.component.mjs +13 -6
- package/esm2022/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.mjs +16 -6
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +14 -3
- package/esm2022/lib/public/components/resource-vault/resource-vault.component.mjs +5 -5
- package/esm2022/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.mjs +16 -6
- package/esm2022/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.mjs +3 -3
- package/esm2022/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.mjs +17 -6
- package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +17 -6
- package/esm2022/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.mjs +18 -8
- package/esm2022/lib/public/components/resources/resource-tags/resource-tags.component.mjs +16 -6
- package/esm2022/lib/public/components/resources/vault-section/vault-section.component.mjs +15 -4
- package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +17 -7
- package/esm2022/lib/public/components/testimonial-card/testimonial-card.component.mjs +6 -3
- package/esm2022/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.mjs +3 -3
- package/fesm2022/posiwise-resource-module.mjs +240 -94
- package/fesm2022/posiwise-resource-module.mjs.map +1 -1
- package/lib/public/components/base/base-resource.component.d.ts +2 -0
- package/lib/public/components/base/base-top-banner.component.d.ts +2 -0
- package/lib/public/components/reslease-note-card/release-note-card.component.d.ts +4 -0
- package/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.d.ts +4 -0
- package/lib/public/components/resource-company-card/resource-company-card.component.d.ts +1 -0
- package/lib/public/components/resource-integration/resource-integration.component.d.ts +4 -0
- package/lib/public/components/resource-post/related-resources/related-resources.component.d.ts +3 -0
- package/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.d.ts +4 -0
- package/lib/public/components/resource-release-notes/resource-release-notes.component.d.ts +5 -1
- package/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.d.ts +4 -0
- package/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.d.ts +4 -0
- package/lib/public/components/resource-webinars/resource-webinars.component.d.ts +4 -0
- package/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.d.ts +4 -0
- package/lib/public/components/resources/resource-tags/resource-tags.component.d.ts +4 -0
- package/lib/public/components/resources/vault-section/vault-section.component.d.ts +6 -1
- package/lib/public/components/resources-hub/resources-hub.component.d.ts +4 -0
- package/lib/public/components/testimonial-card/testimonial-card.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, Injector } from '@angular/core';
|
|
2
2
|
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
3
3
|
import { AuthService, TagService } from '@posiwise/common-services';
|
|
4
|
+
import { HelperService } from '@posiwise/helper-service';
|
|
4
5
|
import { ResourceService } from '../../../resource.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "../../../resource.service";
|
|
@@ -29,9 +30,12 @@ export class BaseResourceComponent extends AppBaseComponent {
|
|
|
29
30
|
});
|
|
30
31
|
this.userService.getUserInfo().subscribe(data => {
|
|
31
32
|
this.user = data;
|
|
33
|
+
this.initializeComponent();
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
|
-
|
|
36
|
+
else {
|
|
37
|
+
this.initializeComponent();
|
|
38
|
+
}
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
41
|
initializeComponent() {
|
|
@@ -103,7 +107,7 @@ export class BaseResourceComponent extends AppBaseComponent {
|
|
|
103
107
|
}
|
|
104
108
|
/** Helper method to get effective subscription ID */
|
|
105
109
|
getEffectiveSubscriptionId() {
|
|
106
|
-
return this.subscriptionId
|
|
110
|
+
return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
|
|
107
111
|
}
|
|
108
112
|
// Optional methods that can be overridden
|
|
109
113
|
getSearchTerm() {
|
|
@@ -115,6 +119,9 @@ export class BaseResourceComponent extends AppBaseComponent {
|
|
|
115
119
|
shouldLoadTestimonials() {
|
|
116
120
|
return false;
|
|
117
121
|
}
|
|
122
|
+
canEditResources() {
|
|
123
|
+
return HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
124
|
+
}
|
|
118
125
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseResourceComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i2.AuthService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
126
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: BaseResourceComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
120
127
|
}
|
|
@@ -124,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
124
131
|
template: ''
|
|
125
132
|
}]
|
|
126
133
|
}], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i2.AuthService }, { type: i0.Injector }] });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL2Jhc2UvYmFzZS1yZXNvdXJjZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFLNUQsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxnQkFBZ0I7SUFZaEUsWUFDdUIsZUFBZ0MsRUFDaEMsVUFBc0IsRUFDeEIsV0FBd0IsRUFDekMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTEcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFiN0MseUJBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7UUFDMUUsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUN2QixzQkFBaUIsR0FBZSxFQUFFLENBQUM7UUFLbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQVVqQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMs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LElBQUksQ0FDRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNMLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQzlFO2lCQUNBLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFbEIsSUFBSSxjQUFjLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDO1lBQzNDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxxREFBcUQ7SUFDM0MsMEJBQTBCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDNUQsQ0FBQztJQUtELDBDQUEwQztJQUNoQyxhQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxzQkFBc0I7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVTLHNCQUFzQjtRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOytHQTFKaUIscUJBQXFCO21HQUFyQixxQkFBcUIsMkVBRjdCLEVBQUU7OzRGQUVNLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVJlc291cmNlQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgIHBvc3RzOiBSZXNvdXJjZVtdID0gW107XG4gICAgdGVzdGltb25pYWxzUG9zdHM6IFJlc291cmNlW10gPSBbXTtcbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgYmxvZ1Bvc3RUYWc7XG4gICAgdGFnQ2F0ZWdvcnk7XG4gICAgYmxvZ1Rlc3RpbW9uaWFsc1Bvc3RUYWc7XG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcbiAgICB1c2VyOiBVc2VyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb25JZCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gcmVzcG9uc2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuJCgpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRVc2VySW5mbygpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyID0gZGF0YTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZUNvbXBvbmVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkVXNlVGFnQ2F0ZWdvcmllcygpKSB7XG4gICAgICAgICAgICB0aGlzLmdldFRhZ3MoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZExvYWRUZXN0aW1vbmlhbHMoKSkge1xuICAgICAgICAgICAgdGhpcy5nZXRUZXN0aW1vbmlhbFRhZ3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUYWdzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldEFsbFRhZ0NhdGVnb3JpZXMoXG4gICAgICAgICAgICAgICAgeyBzZWFyY2g6IHRoaXMuZ2V0U2VhcmNoVGVybSgpIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5ID0gcmVzcG9uc2UudGFnX2NhdGVnb3JpZXNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQb3N0VGFncygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFBvc3RUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkVXNlVGFnQ2F0ZWdvcmllcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvZ1Bvc3RUYWcgPSByZXNwb25zZS50YWdzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWcgPT4gdGFnLnRhZ19jYXRlZ29yeV9pZCA9PT0gdGhpcy50YWdDYXRlZ29yeT8uaWRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2dQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFnID0+IHRhZy5uYW1lID09PSB0aGlzLmdldFJlc291cmNlVHlwZSgpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UG9zdHMoMSwgMTAwKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUZXN0aW1vbmlhbFRhZ3MoKSB7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldFRhZ3NCeVR5cGUoJ3Bvc3RfY2F0ZWdvcmllcycsIHt9LCB0aGlzLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2dUZXN0aW1vbmlhbHNQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICB0YWcgPT4gdGFnLm5hbWUgPT09ICdUZXN0aW1vbmlhbHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRlc3RpbW9uaWFsc1Bvc3RzKDEsIDEwMCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZmV0Y2hQb3N0cyhwYWdlLCBwYWdlU2l6ZSwgdGhpcy5ibG9nUG9zdFRhZz8udGFnX2NhdGVnb3J5X2lkLCAncG9zdHMnKTtcbiAgICB9XG5cbiAgICBnZXRUZXN0aW1vbmlhbHNQb3N0cyhwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mZXRjaFBvc3RzKFxuICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIHBhZ2VTaXplLFxuICAgICAgICAgICAgdGhpcy5ibG9nVGVzdGltb25pYWxzUG9zdFRhZz8udGFnX2NhdGVnb3J5X2lkLFxuICAgICAgICAgICAgJ3Rlc3RpbW9uaWFsc1Bvc3RzJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBTaGFyZWQgbWV0aG9kIHRvIGZldGNoIHBvc3RzIHdpdGggY29tbW9uIGZpbHRlcmluZywgc29ydGluZywgYW5kIHNsaWNpbmcgbG9naWMgKi9cbiAgICBwcml2YXRlIGZldGNoUG9zdHMoXG4gICAgICAgIHBhZ2U6IG51bWJlcixcbiAgICAgICAgcGFnZVNpemU6IG51bWJlcixcbiAgICAgICAgdGFnQ2F0ZWdvcnlJZCxcbiAgICAgICAgdGFyZ2V0UHJvcGVydHk6ICdwb3N0cycgfCAndGVzdGltb25pYWxzUG9zdHMnXG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UHVibGljUG9zdHModGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpLCBwYWdlLCBwYWdlU2l6ZSwgJycsIHRhZ0NhdGVnb3J5SWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFBvc3RzID0gcmVzcG9uc2UucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwb3N0ID0+IHBvc3QudGFncz8uc29tZSh0YWcgPT4gdGFnLnRhZ19jYXRlZ29yeV9pZCA9PT0gdGFnQ2F0ZWdvcnlJZCkpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KFxuICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoYi5wdWJsaXNoZWRfYXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGEucHVibGlzaGVkX2F0KS5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuc2xpY2UoMCwgMTIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFByb3BlcnR5ID09PSAncG9zdHMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9zdHMgPSBmaWx0ZXJlZFBvc3RzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGltb25pYWxzUG9zdHMgPSBmaWx0ZXJlZFBvc3RzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBIZWxwZXIgbWV0aG9kIHRvIGdldCBlZmZlY3RpdmUgc3Vic2NyaXB0aW9uIElEICovXG4gICAgcHJvdGVjdGVkIGdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbklkIHx8IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQ7XG4gICAgfVxuXG4gICAgLy8gQWJzdHJhY3QgbWV0aG9kcyB0aGF0IGVhY2ggY29tcG9uZW50IG11c3QgaW1wbGVtZW50XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFJlc291cmNlVHlwZSgpOiBzdHJpbmc7XG5cbiAgICAvLyBPcHRpb25hbCBtZXRob2RzIHRoYXQgY2FuIGJlIG92ZXJyaWRkZW5cbiAgICBwcm90ZWN0ZWQgZ2V0U2VhcmNoVGVybSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZVR5cGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2hvdWxkVXNlVGFnQ2F0ZWdvcmllcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzaG91bGRMb2FkVGVzdGltb25pYWxzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL2Jhc2UvYmFzZS1yZXNvdXJjZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBSzVELE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEsZ0JBQWdCO0lBYWhFLFlBQ3VCLGVBQWdDLEVBQ2hDLFVBQXNCLEVBQ3hCLFdBQXdCLEVBQ3pDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxHLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZDdDLHlCQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO1FBQzFFLFVBQUssR0FBZSxFQUFFLENBQUM7UUFDdkIsc0JBQWlCLEdBQWUsRUFBRSxDQUFDO1FBS25DLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFXakIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFD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QXFCO21HQUFyQixxQkFBcUIsMkVBRjdCLEVBQUU7OzRGQUVNLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUmVzb3VyY2VDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIG1hc3RlclN1YnNjcmlwdGlvbklkID0gdGhpcy5hcHBDb25maWcubWFzdGVyX3N1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25faWQ7XG4gICAgcG9zdHM6IFJlc291cmNlW10gPSBbXTtcbiAgICB0ZXN0aW1vbmlhbHNQb3N0czogUmVzb3VyY2VbXSA9IFtdO1xuICAgIHVzZXJMb2dnZWRJbjogYm9vbGVhbjtcbiAgICBibG9nUG9zdFRhZztcbiAgICB0YWdDYXRlZ29yeTtcbiAgICBibG9nVGVzdGltb25pYWxzUG9zdFRhZztcbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuICAgIHVzZXI6IFVzZXI7XG4gICAgaXNNYXN0ZXJTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4kKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcyA/IEpTT04ucGFyc2UocmVzKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBkYXRhPy5zdWJzY3JpcHRpb25JZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBkYXRhO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemVDb21wb25lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLnNob3VsZFVzZVRhZ0NhdGVnb3JpZXMoKSkge1xuICAgICAgICAgICAgdGhpcy5nZXRUYWdzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldFBvc3RUYWdzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zaG91bGRMb2FkVGVzdGltb25pYWxzKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGVzdGltb25pYWxUYWdzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VGFncygpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRBbGxUYWdDYXRlZ29yaWVzKFxuICAgICAgICAgICAgICAgIHsgc2VhcmNoOiB0aGlzLmdldFNlYXJjaFRlcm0oKSB9LFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWdDYXRlZ29yeSA9IHJlc3BvbnNlLnRhZ19jYXRlZ29yaWVzWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRQb3N0VGFncygpIHtcbiAgICAgICAgdGhpcy50YWdTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VGFnc0J5VHlwZSgncG9zdF9jYXRlZ29yaWVzJywge30sIHRoaXMuZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZFVzZVRhZ0NhdGVnb3JpZXMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2dQb3N0VGFnID0gcmVzcG9uc2UudGFncy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFnID0+IHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IHRoaXMudGFnQ2F0ZWdvcnk/LmlkXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZyA9PiB0YWcubmFtZSA9PT0gdGhpcy5nZXRSZXNvdXJjZVR5cGUoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmdldFBvc3RzKDEsIDEwMCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VGVzdGltb25pYWxUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nVGVzdGltb25pYWxzUG9zdFRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZChcbiAgICAgICAgICAgICAgICAgICAgdGFnID0+IHRhZy5uYW1lID09PSAnVGVzdGltb25pYWxzJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUZXN0aW1vbmlhbHNQb3N0cygxLCAxMDApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFBvc3RzKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikge1xuICAgICAgICB0aGlzLmZldGNoUG9zdHMocGFnZSwgcGFnZVNpemUsIHRoaXMuYmxvZ1Bvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZCwgJ3Bvc3RzJyk7XG4gICAgfVxuXG4gICAgZ2V0VGVzdGltb25pYWxzUG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZmV0Y2hQb3N0cyhcbiAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgIHRoaXMuYmxvZ1Rlc3RpbW9uaWFsc1Bvc3RUYWc/LnRhZ19jYXRlZ29yeV9pZCxcbiAgICAgICAgICAgICd0ZXN0aW1vbmlhbHNQb3N0cydcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogU2hhcmVkIG1ldGhvZCB0byBmZXRjaCBwb3N0cyB3aXRoIGNvbW1vbiBmaWx0ZXJpbmcsIHNvcnRpbmcsIGFuZCBzbGljaW5nIGxvZ2ljICovXG4gICAgcHJpdmF0ZSBmZXRjaFBvc3RzKFxuICAgICAgICBwYWdlOiBudW1iZXIsXG4gICAgICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgICAgIHRhZ0NhdGVnb3J5SWQsXG4gICAgICAgIHRhcmdldFByb3BlcnR5OiAncG9zdHMnIHwgJ3Rlc3RpbW9uaWFsc1Bvc3RzJ1xuICAgICkge1xuICAgICAgICB0aGlzLnJlc291cmNlU2VydmljZVxuICAgICAgICAgICAgLmdldFB1YmxpY1Bvc3RzKHRoaXMuZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoKSwgcGFnZSwgcGFnZVNpemUsICcnLCB0YWdDYXRlZ29yeUlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRQb3N0cyA9IHJlc3BvbnNlLnBvc3RzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnRhZ3M/LnNvbWUodGFnID0+IHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IHRhZ0NhdGVnb3J5SWQpKVxuICAgICAgICAgICAgICAgICAgICAuc29ydChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIDEyKTtcblxuICAgICAgICAgICAgICAgIGlmICh0YXJnZXRQcm9wZXJ0eSA9PT0gJ3Bvc3RzJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3RzID0gZmlsdGVyZWRQb3N0cztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlc3RpbW9uaWFsc1Bvc3RzID0gZmlsdGVyZWRQb3N0cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogSGVscGVyIG1ldGhvZCB0byBnZXQgZWZmZWN0aXZlIHN1YnNjcmlwdGlvbiBJRCAqL1xuICAgIHByb3RlY3RlZCBnZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gSGVscGVyU2VydmljZS5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZChcbiAgICAgICAgICAgIHRoaXMudXNlcixcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQWJzdHJhY3QgbWV0aG9kcyB0aGF0IGVhY2ggY29tcG9uZW50IG11c3QgaW1wbGVtZW50XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFJlc291cmNlVHlwZSgpOiBzdHJpbmc7XG5cbiAgICAvLyBPcHRpb25hbCBtZXRob2RzIHRoYXQgY2FuIGJlIG92ZXJyaWRkZW5cbiAgICBwcm90ZWN0ZWQgZ2V0U2VhcmNoVGVybSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZVR5cGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2hvdWxkVXNlVGFnQ2F0ZWdvcmllcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzaG91bGRMb2FkVGVzdGltb25pYWxzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY2FuRWRpdFJlc291cmNlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEhlbHBlclNlcnZpY2UuY2FuRWRpdFJlc291cmNlcyh0aGlzLnVzZXIsIHRoaXMudXNlckxvZ2dlZEluLCB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Component, Injector } from '@angular/core';
|
|
|
2
2
|
import { Title } from '@angular/platform-browser';
|
|
3
3
|
import { AppBaseComponent } from '@posiwise/app-base-component';
|
|
4
4
|
import { AuthService, TagService } from '@posiwise/common-services';
|
|
5
|
+
import { HelperService } from '@posiwise/helper-service';
|
|
5
6
|
import { ResourceService } from '../../../resource.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../../../resource.service";
|
|
@@ -32,9 +33,12 @@ export class BaseTopBannerComponent extends AppBaseComponent {
|
|
|
32
33
|
});
|
|
33
34
|
this.userService.getUserInfo().subscribe(data => {
|
|
34
35
|
this.user = data;
|
|
36
|
+
this.getTags();
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
|
-
|
|
39
|
+
else {
|
|
40
|
+
this.getTags();
|
|
41
|
+
}
|
|
38
42
|
});
|
|
39
43
|
}
|
|
40
44
|
getTags() {
|
|
@@ -59,7 +63,7 @@ export class BaseTopBannerComponent extends AppBaseComponent {
|
|
|
59
63
|
}
|
|
60
64
|
/** Helper method to get effective subscription ID */
|
|
61
65
|
getEffectiveSubscriptionId() {
|
|
62
|
-
return this.subscriptionId
|
|
66
|
+
return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
|
|
63
67
|
}
|
|
64
68
|
updateSEOMetadata() {
|
|
65
69
|
if (this.blogPostTag) {
|
|
@@ -82,6 +86,9 @@ export class BaseTopBannerComponent extends AppBaseComponent {
|
|
|
82
86
|
}
|
|
83
87
|
metaDescription.setAttribute('content', description);
|
|
84
88
|
}
|
|
89
|
+
canEditResources() {
|
|
90
|
+
return HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
91
|
+
}
|
|
85
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BaseTopBannerComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i2.AuthService }, { token: i3.Title }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
93
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: BaseTopBannerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
87
94
|
}
|
|
@@ -91,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
91
98
|
template: ''
|
|
92
99
|
}]
|
|
93
100
|
}], ctorParameters: () => [{ type: i1.ResourceService }, { type: i2.TagService }, { type: i2.AuthService }, { type: i3.Title }, { type: i0.Injector }] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b3AtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvYmFzZS9iYXNlLXRvcC1iYW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFLNUQsTUFBTSxPQUFnQixzQkFBdUIsU0FBUSxnQkFBZ0I7SUFZakUsWUFDdUIsZUFBZ0MsRUFDaEMsVUFBc0IsRUFDeEIsV0FBd0IsRUFDeEIsWUFBbUIsRUFDcEMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTkcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQU87UUFkeEMseUJBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7UUFDMUUsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUN2QixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFLdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMs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QXFCLENBQUMsV0FBbUI7UUFDN0MsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuQixlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqRCxlQUFlLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0EvRmlCLHNCQUFzQjttR0FBdEIsc0JBQXNCLDJFQUY5QixFQUFFOzs0RkFFTSxzQkFBc0I7a0JBSDNDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZXNvdXJjZSwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVG9wQmFubmVyQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgIHBvc3RzOiBSZXNvdXJjZVtdID0gW107XG4gICAgdGVzdGltb25pYWxzUG9zdHMgPSBbXTtcbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgYmxvZ1Bvc3RUYWc7XG4gICAgdGFnQ2F0ZWdvcnk7XG4gICAgYmxvZ1Rlc3RpbW9uaWFsc1Bvc3RUYWc7XG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcbiAgICB1c2VyOiBVc2VyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4kKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcyA/IEpTT04ucGFyc2UocmVzKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBkYXRhPy5zdWJzY3JpcHRpb25JZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBkYXRhO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5nZXRUYWdzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUYWdzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldEFsbFRhZ0NhdGVnb3JpZXMoXG4gICAgICAgICAgICAgICAgeyBzZWFyY2g6IHRoaXMuZ2V0U2VhcmNoVGVybSgpIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5ID0gcmVzcG9uc2UudGFnX2NhdGVnb3JpZXNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRQb3N0VGFncygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3N0VGFncygpIHtcbiAgICAgICAgdGhpcy50YWdTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VGFnc0J5VHlwZSgncG9zdF9jYXRlZ29yaWVzJywge30sIHRoaXMuZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvZ1Bvc3RUYWcgPSByZXNwb25zZS50YWdzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgIHRhZyA9PiB0YWcudGFnX2NhdGVnb3J5X2lkID09PSB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTRU9NZXRhZGF0YSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEhlbHBlciBtZXRob2QgdG8gZ2V0IGVmZmVjdGl2ZSBzdWJzY3JpcHRpb24gSUQgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlU0VPTWV0YWRhdGEoKSB7XG4gICAgICAgIGlmICh0aGlzLmJsb2dQb3N0VGFnKSB7XG4gICAgICAgICAgICAvLyBVcGRhdGUgcGFnZSB0aXRsZSBpZiBtZXRhX3RpdGxlIGlzIGF2YWlsYWJsZVxuICAgICAgICAgICAgaWYgKHRoaXMuYmxvZ1Bvc3RUYWcubWV0YV90aXRsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMuYmxvZ1Bvc3RUYWcubWV0YV90aXRsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSBtZXRhIGRlc2NyaXB0aW9uIGlmIG1ldGFfZGVzY3JpcHRpb24gaXMgYXZhaWxhYmxlXG4gICAgICAgICAgICBpZiAodGhpcy5ibG9nUG9zdFRhZy5tZXRhX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNZXRhRGVzY3JpcHRpb24odGhpcy5ibG9nUG9zdFRhZy5tZXRhX2Rlc2NyaXB0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTWV0YURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IG1ldGFEZXNjcmlwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT1cImRlc2NyaXB0aW9uXCJdJyk7XG4gICAgICAgIGlmICghbWV0YURlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBtZXRhRGVzY3JpcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7XG4gICAgICAgICAgICBtZXRhRGVzY3JpcHRpb24uc2V0QXR0cmlidXRlKCduYW1lJywgJ2Rlc2NyaXB0aW9uJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG1ldGFEZXNjcmlwdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgbWV0YURlc2NyaXB0aW9uLnNldEF0dHJpYnV0ZSgnY29udGVudCcsIGRlc2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICAvLyBBYnN0cmFjdCBtZXRob2QgdGhhdCBlYWNoIGNvbXBvbmVudCBtdXN0IGltcGxlbWVudFxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTZWFyY2hUZXJtKCk6IHN0cmluZztcbn1cbiJdfQ==
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b3AtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvYmFzZS9iYXNlLXRvcC1iYW5uZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBSzVELE1BQU0sT0FBZ0Isc0JBQXVCLFNBQVEsZ0JBQWdCO0lBYWpFLFlBQ3VCLGVBQWdDLEVBQ2hDLFVBQXNCLEVBQ3hCLFdBQXdCLEVBQ3hCLFlBQW1CLEVBQ3BDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQU5HLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBZnhDLHlCQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO1FBQzFFLFVBQUssR0FBZSxFQUFFLENBQUM7UUFDdkIsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBS3ZCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFZakIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJ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QUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxXQUFtQjtRQUM3QyxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25CLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxlQUFlLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBS0QsZ0JBQWdCO1FBQ1osT0FBTyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7K0dBOUdpQixzQkFBc0I7bUdBQXRCLHNCQUFzQiwyRUFGOUIsRUFBRTs7NEZBRU0sc0JBQXNCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVG9wQmFubmVyQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuICAgIHBvc3RzOiBSZXNvdXJjZVtdID0gW107XG4gICAgdGVzdGltb25pYWxzUG9zdHMgPSBbXTtcbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgYmxvZ1Bvc3RUYWc7XG4gICAgdGFnQ2F0ZWdvcnk7XG4gICAgYmxvZ1Rlc3RpbW9uaWFsc1Bvc3RUYWc7XG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcbiAgICB1c2VyOiBVc2VyO1xuICAgIGlzTWFzdGVyU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4kKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcyA/IEpTT04ucGFyc2UocmVzKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBkYXRhPy5zdWJzY3JpcHRpb25JZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBkYXRhO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGFncygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRhZ3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRhZ3MoKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50YWdTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0QWxsVGFnQ2F0ZWdvcmllcyhcbiAgICAgICAgICAgICAgICB7IHNlYXJjaDogdGhpcy5nZXRTZWFyY2hUZXJtKCkgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFnQ2F0ZWdvcnkgPSByZXNwb25zZS50YWdfY2F0ZWdvcmllc1swXTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFBvc3RUYWdzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc3RUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9nUG9zdFRhZyA9IHJlc3BvbnNlLnRhZ3MuZmluZChcbiAgICAgICAgICAgICAgICAgICAgdGFnID0+IHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IHRoaXMudGFnQ2F0ZWdvcnk/LmlkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNFT01ldGFkYXRhKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogSGVscGVyIG1ldGhvZCB0byBnZXQgZWZmZWN0aXZlIHN1YnNjcmlwdGlvbiBJRCAqL1xuICAgIHByb3RlY3RlZCBnZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gSGVscGVyU2VydmljZS5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZChcbiAgICAgICAgICAgIHRoaXMudXNlcixcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVNFT01ldGFkYXRhKCkge1xuICAgICAgICBpZiAodGhpcy5ibG9nUG9zdFRhZykge1xuICAgICAgICAgICAgLy8gVXBkYXRlIHBhZ2UgdGl0bGUgaWYgbWV0YV90aXRsZSBpcyBhdmFpbGFibGVcbiAgICAgICAgICAgIGlmICh0aGlzLmJsb2dQb3N0VGFnLm1ldGFfdGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aGlzLmJsb2dQb3N0VGFnLm1ldGFfdGl0bGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBVcGRhdGUgbWV0YSBkZXNjcmlwdGlvbiBpZiBtZXRhX2Rlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZVxuICAgICAgICAgICAgaWYgKHRoaXMuYmxvZ1Bvc3RUYWcubWV0YV9kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTWV0YURlc2NyaXB0aW9uKHRoaXMuYmxvZ1Bvc3RUYWcubWV0YV9kZXNjcmlwdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1ldGFEZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIGxldCBtZXRhRGVzY3JpcHRpb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9XCJkZXNjcmlwdGlvblwiXScpO1xuICAgICAgICBpZiAoIW1ldGFEZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgbWV0YURlc2NyaXB0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0YScpO1xuICAgICAgICAgICAgbWV0YURlc2NyaXB0aW9uLnNldEF0dHJpYnV0ZSgnbmFtZScsICdkZXNjcmlwdGlvbicpO1xuICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChtZXRhRGVzY3JpcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIG1ldGFEZXNjcmlwdGlvbi5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnQnLCBkZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgLy8gQWJzdHJhY3QgbWV0aG9kIHRoYXQgZWFjaCBjb21wb25lbnQgbXVzdCBpbXBsZW1lbnRcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0U2VhcmNoVGVybSgpOiBzdHJpbmc7XG5cbiAgICBjYW5FZGl0UmVzb3VyY2VzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gSGVscGVyU2VydmljZS5jYW5FZGl0UmVzb3VyY2VzKHRoaXMudXNlciwgdGhpcy51c2VyTG9nZ2VkSW4sIHRoaXMucGVybWlzc2lvblNlcnZpY2UpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -38,15 +38,18 @@ export class ResourceNoteCardComponent extends AppBaseComponent {
|
|
|
38
38
|
});
|
|
39
39
|
this.userService.getUserInfo().subscribe(data => {
|
|
40
40
|
this.user = data;
|
|
41
|
+
this.getTags();
|
|
41
42
|
});
|
|
42
43
|
}
|
|
44
|
+
else {
|
|
45
|
+
this.getTags();
|
|
46
|
+
}
|
|
43
47
|
});
|
|
44
|
-
this.getTags();
|
|
45
48
|
}
|
|
46
49
|
getTags() {
|
|
47
50
|
this.isLoaded = false;
|
|
48
51
|
this.tagService
|
|
49
|
-
.getAllTagCategories({ search: 'Release Notes' }, this.
|
|
52
|
+
.getAllTagCategories({ search: 'Release Notes' }, this.getEffectiveSubscriptionId())
|
|
50
53
|
.subscribe(response => {
|
|
51
54
|
this.tagCategory = response.tag_categories[0];
|
|
52
55
|
this.getPostTags();
|
|
@@ -54,7 +57,7 @@ export class ResourceNoteCardComponent extends AppBaseComponent {
|
|
|
54
57
|
}
|
|
55
58
|
getPostTags() {
|
|
56
59
|
this.tagService
|
|
57
|
-
.getTagsByType('post_categories', {}, this.
|
|
60
|
+
.getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())
|
|
58
61
|
.subscribe(response => {
|
|
59
62
|
this.postTags['product'] = this.findTag(response.tags, 'Product Release Notes', this.tagCategory?.id);
|
|
60
63
|
this.postTags['press'] = this.findTag(response.tags, 'Press Release Notes', this.tagCategory?.id);
|
|
@@ -86,7 +89,7 @@ export class ResourceNoteCardComponent extends AppBaseComponent {
|
|
|
86
89
|
getProductReleasePosts(page, pageSize) {
|
|
87
90
|
this.isLoaded = false;
|
|
88
91
|
this.resourceService
|
|
89
|
-
.getPublicPosts(this.
|
|
92
|
+
.getPublicPosts(this.getEffectiveSubscriptionId(), page, pageSize, '', '', this.postTags['product']?.id)
|
|
90
93
|
.subscribe(response => {
|
|
91
94
|
const sortedPosts = response.posts
|
|
92
95
|
.filter(post => post.showcase === true)
|
|
@@ -100,7 +103,7 @@ export class ResourceNoteCardComponent extends AppBaseComponent {
|
|
|
100
103
|
getPressReleasePosts(page, pageSize) {
|
|
101
104
|
this.isLoaded = false;
|
|
102
105
|
this.resourceService
|
|
103
|
-
.getPublicPosts(this.
|
|
106
|
+
.getPublicPosts(this.getEffectiveSubscriptionId(), page, pageSize, '', '', this.postTags['press']?.id)
|
|
104
107
|
.subscribe(response => {
|
|
105
108
|
const sortedPosts = response?.posts
|
|
106
109
|
.filter(post => post.showcase === true)
|
|
@@ -124,7 +127,7 @@ export class ResourceNoteCardComponent extends AppBaseComponent {
|
|
|
124
127
|
this.editedTitle = this.postTags['press'].title;
|
|
125
128
|
}
|
|
126
129
|
saveEditedTitle(type) {
|
|
127
|
-
HelperService.updateTagTitle(this.postTags[type], this.editedTitle, this.tagService, this.
|
|
130
|
+
HelperService.updateTagTitle(this.postTags[type], this.editedTitle, this.tagService, this.getEffectiveSubscriptionId(), this.toast).subscribe(() => {
|
|
128
131
|
this.postTags[type].title = this.editedTitle;
|
|
129
132
|
if (type === 'product') {
|
|
130
133
|
this.isEditingTitle = false;
|
|
@@ -134,12 +137,19 @@ export class ResourceNoteCardComponent extends AppBaseComponent {
|
|
|
134
137
|
}
|
|
135
138
|
});
|
|
136
139
|
}
|
|
140
|
+
/** Helper method to get effective subscription ID */
|
|
141
|
+
getEffectiveSubscriptionId() {
|
|
142
|
+
return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
|
|
143
|
+
}
|
|
144
|
+
canEditResources() {
|
|
145
|
+
return HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
146
|
+
}
|
|
137
147
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceNoteCardComponent, deps: [{ token: i0.Injector }, { token: i1.ResourceService }, { token: i2.AuthService }, { token: i2.TagService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: { releaseHeader: "releaseHeader", categoryId: "categoryId", isReleasePress: "isReleasePress", postSlice: "postSlice", resourceTitle: "resourceTitle", tag: "tag" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white\" *ngIf=\"hasProductReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n <ng-container *ngIf=\"!isEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['product']?.title; else fallback\" [innerHTML]=\"postTags['product']?.title\"></span>\n <ng-template #fallback>Product Release Notes</ng-template>\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('product')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a class=\"view-all\" *ngIf=\"!postSlice\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['product']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasProductReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['product']\">\n <pw-resource-edit-card\n *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getProductReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url?.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Product Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Product Resource Default Icon\" />\n </ng-template>\n <ng-template #ctaContent>\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n<section class=\"msp-vault-section bg-white\" *ngIf=\"isReleasePress && hasPressReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isPressEditingTitle }\">\n <ng-container *ngIf=\"!isPressEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['press']?.title; else fallback\" [innerHTML]=\"postTags['press']?.title\"></span>\n <ng-template #fallback>Press Release Notes</ng-template>\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditPressTitle()\" (keydown.enter)=\"toggleEditPressTitle()\" (keydown.space)=\"toggleEditPressTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isPressEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('press')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isPressEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a *ngIf=\"!postSlice\" class=\"view-all\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['press']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasPressReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['press']\">\n <pw-resource-edit-card\n*ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPressReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Press Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Press Resource Default Icon\" />\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n", styles: [".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i7.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i8.LazyImgDirective, selector: "img" }, { kind: "component", type: i9.ResourceEditCardComponent, selector: "pw-resource-edit-card", inputs: ["id", "resourceData"], outputs: ["updated"] }, { kind: "pipe", type: i10.TranslocoPipe, name: "transloco" }] }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: { releaseHeader: "releaseHeader", categoryId: "categoryId", isReleasePress: "isReleasePress", postSlice: "postSlice", resourceTitle: "resourceTitle", tag: "tag" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white\" *ngIf=\"hasProductReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n <ng-container *ngIf=\"!isEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['product']?.title; else fallback\" [innerHTML]=\"postTags['product']?.title\"></span>\n <ng-template #fallback>Product Release Notes</ng-template>\n <i *ngIf=\"canEditResources()\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('product')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a class=\"view-all\" *ngIf=\"!postSlice\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['product']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasProductReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['product']\">\n <pw-resource-edit-card\n *ngIf=\"canEditResources()\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getProductReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url?.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Product Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Product Resource Default Icon\" />\n </ng-template>\n <ng-template #ctaContent>\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n<section class=\"msp-vault-section bg-white\" *ngIf=\"isReleasePress && hasPressReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isPressEditingTitle }\">\n <ng-container *ngIf=\"!isPressEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['press']?.title; else fallback\" [innerHTML]=\"postTags['press']?.title\"></span>\n <ng-template #fallback>Press Release Notes</ng-template>\n <i *ngIf=\"canEditResources()\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditPressTitle()\" (keydown.enter)=\"toggleEditPressTitle()\" (keydown.space)=\"toggleEditPressTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isPressEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('press')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isPressEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a *ngIf=\"!postSlice\" class=\"view-all\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['press']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasPressReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['press']\">\n <pw-resource-edit-card\n*ngIf=\"canEditResources()\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPressReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Press Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Press Resource Default Icon\" />\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n", styles: [".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i7.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i8.LazyImgDirective, selector: "img" }, { kind: "component", type: i9.ResourceEditCardComponent, selector: "pw-resource-edit-card", inputs: ["id", "resourceData"], outputs: ["updated"] }, { kind: "pipe", type: i10.TranslocoPipe, name: "transloco" }] }); }
|
|
139
149
|
}
|
|
140
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceNoteCardComponent, decorators: [{
|
|
141
151
|
type: Component,
|
|
142
|
-
args: [{ selector: 'pw-resource-note-card', template: "<section class=\"msp-vault-section bg-white\" *ngIf=\"hasProductReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n <ng-container *ngIf=\"!isEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['product']?.title; else fallback\" [innerHTML]=\"postTags['product']?.title\"></span>\n <ng-template #fallback>Product Release Notes</ng-template>\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('product')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a class=\"view-all\" *ngIf=\"!postSlice\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['product']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasProductReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['product']\">\n <pw-resource-edit-card\n *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getProductReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url?.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Product Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Product Resource Default Icon\" />\n </ng-template>\n <ng-template #ctaContent>\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n<section class=\"msp-vault-section bg-white\" *ngIf=\"isReleasePress && hasPressReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isPressEditingTitle }\">\n <ng-container *ngIf=\"!isPressEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['press']?.title; else fallback\" [innerHTML]=\"postTags['press']?.title\"></span>\n <ng-template #fallback>Press Release Notes</ng-template>\n <i *ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditPressTitle()\" (keydown.enter)=\"toggleEditPressTitle()\" (keydown.space)=\"toggleEditPressTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isPressEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('press')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isPressEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a *ngIf=\"!postSlice\" class=\"view-all\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['press']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasPressReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['press']\">\n <pw-resource-edit-card\n*ngIf=\"userLoggedIn && user?.auth?.granted['Pages.Admin']\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPressReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Press Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Press Resource Default Icon\" />\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n", styles: [".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n"] }]
|
|
152
|
+
args: [{ selector: 'pw-resource-note-card', template: "<section class=\"msp-vault-section bg-white\" *ngIf=\"hasProductReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isEditingTitle }\">\n <ng-container *ngIf=\"!isEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['product']?.title; else fallback\" [innerHTML]=\"postTags['product']?.title\"></span>\n <ng-template #fallback>Product Release Notes</ng-template>\n <i *ngIf=\"canEditResources()\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditTitle()\" (keydown.enter)=\"toggleEditTitle()\" (keydown.space)=\"toggleEditTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('product')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a class=\"view-all\" *ngIf=\"!postSlice\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['product']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasProductReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['product']\">\n <pw-resource-edit-card\n *ngIf=\"canEditResources()\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getProductReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url?.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Product Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Product Resource Default Icon\" />\n </ng-template>\n <ng-template #ctaContent>\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <ng-container *ngTemplateOutlet=\"ctaContent\"></ng-container>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n<section class=\"msp-vault-section bg-white\" *ngIf=\"isReleasePress && hasPressReleases()\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading d-flex align-items-center\" [ngClass]=\"{ 'w-50': isPressEditingTitle }\">\n <ng-container *ngIf=\"!isPressEditingTitle; else editTitleBlock\">\n <span *ngIf=\"postTags['press']?.title; else fallback\" [innerHTML]=\"postTags['press']?.title\"></span>\n <ng-template #fallback>Press Release Notes</ng-template>\n <i *ngIf=\"canEditResources()\" class=\"fa fa-edit in-page-edit-icon ms-3 cursor-pointer\" (click)=\"toggleEditPressTitle()\" (keydown.enter)=\"toggleEditPressTitle()\" (keydown.space)=\"toggleEditPressTitle()\" title=\"Edit Title\"></i>\n </ng-container>\n\n <ng-template #editTitleBlock>\n <input [(ngModel)]=\"editedTitle\" class=\"form-control d-inline w-auto me-2\" [ngClass]=\"{ 'w-100': isPressEditingTitle }\" />\n <button class=\"btn btn-sm btn-primary me-1\" (click)=\"saveEditedTitle('press')\">Save</button>\n <button class=\"btn btn-sm btn-secondary\" (click)=\"isPressEditingTitle = false\">Cancel</button>\n </ng-template>\n </h2>\n <a *ngIf=\"!postSlice\" class=\"view-all\" routerLink=\"/resources/release-notes\">VIEW ALL ></a>\n </div>\n <div class=\"w-100 text-center mt-3\" *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div *ngIf=\"releasePosts['press']?.length === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\" *ngIf=\"hasPressReleases()\">\n <div class=\"resource-blog-card p-4\" *ngFor=\"let post of releasePosts['press']\">\n <pw-resource-edit-card\n*ngIf=\"canEditResources()\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPressReleasePosts(1, 100)\"></pw-resource-edit-card>\n <p class=\"resource-title\" [innerHTML]=\"post.title\"></p>\n <img *ngIf=\"!post.picture?.url.includes('default-photo.jpg'); else resourceRocketBox\"\n src=\"{{ post.picture.url }}\"\n class=\"resource-image mt-auto\"\n alt=\"Press Resource Icon\" />\n\n <ng-template #resourceRocketBox>\n <img\n src=\"assets/img/resource/rocket-box.png\"\n class=\"press-release-icon mt-auto\"\n alt=\"Press Resource Default Icon\" />\n </ng-template>\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"resource-btn mt-3\"\n aria-label=\"Navigate to external url\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n </div>\n </div>\n </div>\n</section>\n", styles: [".bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.msp-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.msp-vault-section .vault-heading{font-size:3rem;font-weight:300}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.msp-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.msp-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.msp-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.msp-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:7rem 3rem 1rem!important}}\n"] }]
|
|
143
153
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.ResourceService }, { type: i2.AuthService }, { type: i2.TagService }], propDecorators: { releaseHeader: [{
|
|
144
154
|
type: Input
|
|
145
155
|
}], categoryId: [{
|
|
@@ -153,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
153
163
|
}], tag: [{
|
|
154
164
|
type: Input
|
|
155
165
|
}] } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNsZWFzZS1ub3RlLWNhcmQvcmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNsZWFzZS1ub3RlLWNhcmQvcmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxnQkFBZ0I7SUFzQjNELFlBQ0ksUUFBa0IsRUFDRCxlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixVQUFzQjtRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXpCbEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUszQixhQUFRLEdB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LElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzdDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNyQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXRMUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixnUUNkdEMsOC9OQWdJQTs7NEZEbEhhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSx1QkFBdUI7OEpBS3hCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZXNvdXJjZSwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1yZXNvdXJjZS1ub3RlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWxlYXNlLW5vdGUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL3Jlc291cmNlcy9yZXNvdXJjZXMtc2hhcmVkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VOb3RlQ2FyZENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHJlbGVhc2VIZWFkZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjYXRlZ29yeUlkITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlzUmVsZWFzZVByZXNzID0gZmFsc2U7XG4gICAgQElucHV0KCkgcG9zdFNsaWNlID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVzb3VyY2VUaXRsZSE6IHN0cmluZztcbiAgICBASW5wdXQoKSB0YWc7XG5cbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcbiAgICBzdWJzY3JpcHRpb25JZDtcbiAgICBtYXN0ZXJTdWJzY3JpcHRpb25JZCA9IHRoaXMuYXBwQ29uZmlnLm1hc3Rlcl9zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uX2lkO1xuXG4gICAgcG9zdFRhZ3M6IHsgW2tleTogc3RyaW5nXTogeyBpZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0gfSA9IHt9O1xuICAgIHJlbGVhc2VQb3N0czogeyBba2V5OiBzdHJpbmddOiBSZXNvdXJjZVtdIH0gPSB7fTtcblxuICAgIHRhZ0NhdGVnb3J5O1xuICAgIGlzRWRpdGluZ1RpdGxlOiBib29sZWFuO1xuICAgIGlzUHJlc3NFZGl0aW5nVGl0bGU6IGJvb2xlYW47XG4gICAgZWRpdGVkVGl0bGU6IHN0cmluZztcbiAgICB1c2VyOiBVc2VyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4kKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoJ3Byb2R1Y3QnKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJlcyA/IEpTT04ucGFyc2UocmVzKSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBkYXRhPy5zdWJzY3JpcHRpb25JZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBkYXRhO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRUYWdzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWdzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldEFsbFRhZ0NhdGVnb3JpZXMoXG4gICAgICAgICAgICAgICAgeyBzZWFyY2g6ICdSZWxlYXNlIE5vdGVzJyB9LFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPz8gdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWdDYXRlZ29yeSA9IHJlc3BvbnNlLnRhZ19jYXRlZ29yaWVzWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zdFRhZ3MoKSB7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldFRhZ3NCeVR5cGUoJ3Bvc3RfY2F0ZWdvcmllcycsIHt9LCB0aGlzLnN1YnNjcmlwdGlvbklkID8/IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RUYWdzWydwcm9kdWN0J10gPSB0aGlzLmZpbmRUYWcoXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnRhZ3MsXG4gICAgICAgICAgICAgICAgICAgICdQcm9kdWN0IFJlbGVhc2UgTm90ZXMnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3N0VGFnc1sncHJlc3MnXSA9IHRoaXMuZmluZFRhZyhcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudGFncyxcbiAgICAgICAgICAgICAgICAgICAgJ1ByZXNzIFJlbGVhc2UgTm90ZXMnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wb3N0VGFnc1sncHJvZHVjdCddPy5pZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFByb2R1Y3RSZWxlYXNlUG9zdHMoMSwgMTAwKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWxlYXNlUG9zdHNbJ3Byb2R1Y3QnXSA9IFtdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvc3RUYWdzWydwcmVzcyddPy5pZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFByZXNzUmVsZWFzZVBvc3RzKDEsIDEwMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVsZWFzZVBvc3RzWydwcmVzcyddID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kVGFnKHRhZ3MsIG5hbWU6IHN0cmluZywgY2F0ZWdvcnlJZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0YWdzLmZpbmQodGFnID0+IHRhZy5uYW1lID09PSBuYW1lICYmIHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IGNhdGVnb3J5SWQpO1xuICAgIH1cblxuICAgIGhhc1ByZXNzUmVsZWFzZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbGVhc2VQb3N0c1sncHJlc3MnXT8ubGVuZ3RoICE9PSAwICYmIHRoaXMuaXNMb2FkZWQ7XG4gICAgfVxuICAgIGhhc1Byb2R1Y3RSZWxlYXNlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsZWFzZVBvc3RzWydwcm9kdWN0J10/Lmxlbmd0aCAhPT0gMCAmJiB0aGlzLmlzTG9hZGVkO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RSZWxlYXNlUG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID8/IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RUYWdzWydwcm9kdWN0J10/LmlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3J0ZWRQb3N0cyA9IHJlc3BvbnNlLnBvc3RzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnNob3djYXNlID09PSB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAuc29ydChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWxlYXNlUG9zdHNbJ3Byb2R1Y3QnXSA9IHRoaXMuZ2V0UHJvY2Vzc2VkUG9zdHMoc29ydGVkUG9zdHMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0UHJlc3NSZWxlYXNlUG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID8/IHRoaXMubWFzdGVyU3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RUYWdzWydwcmVzcyddPy5pZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc29ydGVkUG9zdHMgPSByZXNwb25zZT8ucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwb3N0ID0+IHBvc3Quc2hvd2Nhc2UgPT09IHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KFxuICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoYi5wdWJsaXNoZWRfYXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGEucHVibGlzaGVkX2F0KS5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbGVhc2VQb3N0c1sncHJlc3MnXSA9IHRoaXMuZ2V0UHJvY2Vzc2VkUG9zdHMoc29ydGVkUG9zdHMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzZWRQb3N0cyhwb3N0czogUmVzb3VyY2VbXSwgc2xpY2VDb3VudCA9IDMpOiBSZXNvdXJjZVtdIHtcbiAgICAgICAgY29uc3QgY2xvbmVkID0gWy4uLnBvc3RzXTtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFNsaWNlID8gY2xvbmVkLnJldmVyc2UoKSA6IGNsb25lZC5zbGljZSgwLCBzbGljZUNvdW50KS5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlRWRpdFRpdGxlKCkge1xuICAgICAgICB0aGlzLmlzRWRpdGluZ1RpdGxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lZGl0ZWRUaXRsZSA9IHRoaXMucG9zdFRhZ3NbJ3Byb2R1Y3QnXS50aXRsZTtcbiAgICB9XG5cbiAgICB0b2dnbGVFZGl0UHJlc3NUaXRsZSgpIHtcbiAgICAgICAgdGhpcy5pc1ByZXNzRWRpdGluZ1RpdGxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lZGl0ZWRUaXRsZSA9IHRoaXMucG9zdFRhZ3NbJ3ByZXNzJ10udGl0bGU7XG4gICAgfVxuXG4gICAgc2F2ZUVkaXRlZFRpdGxlKHR5cGUpIHtcbiAgICAgICAgSGVscGVyU2VydmljZS51cGRhdGVUYWdUaXRsZShcbiAgICAgICAgICAgIHRoaXMucG9zdFRhZ3NbdHlwZV0sXG4gICAgICAgICAgICB0aGlzLmVkaXRlZFRpdGxlLFxuICAgICAgICAgICAgdGhpcy50YWdTZXJ2aWNlLFxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA/PyB0aGlzLm1hc3RlclN1YnNjcmlwdGlvbklkLFxuICAgICAgICAgICAgdGhpcy50b2FzdFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvc3RUYWdzW3R5cGVdLnRpdGxlID0gdGhpcy5lZGl0ZWRUaXRsZTtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRWRpdGluZ1RpdGxlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQcmVzc0VkaXRpbmdUaXRsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1zcC12YXVsdC1zZWN0aW9uIGJnLXdoaXRlXCIgKm5nSWY9XCJoYXNQcm9kdWN0UmVsZWFzZXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCI+XG4gICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLWhlYWRpbmcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIFtuZ0NsYXNzXT1cInsgJ3ctNTAnOiBpc0VkaXRpbmdUaXRsZSB9XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNFZGl0aW5nVGl0bGU7IGVsc2UgZWRpdFRpdGxlQmxvY2tcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInBvc3RUYWdzWydwcm9kdWN0J10/LnRpdGxlOyBlbHNlIGZhbGxiYWNrXCIgW2lubmVySFRNTF09XCJwb3N0VGFnc1sncHJvZHVjdCddPy50aXRsZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZhbGxiYWNrPlByb2R1Y3QgUmVsZWFzZSBOb3RlczwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGkgICpuZ0lmPVwidXNlckxvZ2dlZEluICYmIHVzZXI/LmF1dGg/LmdyYW50ZWRbJ1BhZ2VzLkFkbWluJ11cIiBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gbXMtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVFZGl0VGl0bGUoKVwiIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZUVkaXRUaXRsZSgpXCIgKGtleWRvd24uc3BhY2UpPVwidG9nZ2xlRWRpdFRpdGxlKClcIiB0aXRsZT1cIkVkaXQgVGl0bGVcIj48L2k+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRpdGxlQmxvY2s+XG4gICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiZWRpdGVkVGl0bGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBkLWlubGluZSB3LWF1dG8gbWUtMlwiIFtuZ0NsYXNzXT1cInsgJ3ctMTAwJzogaXNFZGl0aW5nVGl0bGUgfVwiIC8+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbWUtMVwiIChjbGljayk9XCJzYXZlRWRpdGVkVGl0bGUoJ3Byb2R1Y3QnKVwiPlNhdmU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImlzRWRpdGluZ1RpdGxlID0gZmFsc2VcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvaDI+XG4gICAgICA8YSBjbGFzcz1cInZpZXctYWxsXCIgKm5nSWY9XCIhcG9zdFNsaWNlXCIgcm91dGVyTGluaz1cIi9yZXNvdXJjZXMvcmVsZWFzZS1ub3Rlc1wiPlZJRVcgQUxMID48L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIiAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgICAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJyZWxlYXNlUG9zdHNbJ3Byb2R1Y3QnXT8ubGVuZ3RoID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInUmVzb3VyY2UuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIi8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtdC01IGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtNCB2aWRlby1yb3dcIiAqbmdJZj1cImhhc1Byb2R1Y3RSZWxlYXNlcygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXNvdXJjZS1ibG9nLWNhcmQgcC00XCIgKm5nRm9yPVwibGV0IHBvc3Qgb2YgcmVsZWFzZVBvc3RzWydwcm9kdWN0J11cIj5cbiAgICAgICAgICA8cHctcmVzb3VyY2UtZWRpdC1jYXJkXG4gICAgICAgICAgKm5nSWY9XCJ1c2VyTG9nZ2VkSW4gJiYgdXNlcj8uYXV0aD8uZ3JhbnRlZFsnUGFnZXMuQWRtaW4nXVwiXG4gICAgICAgICAgW2lkXT1cInBvc3QuaWRcIlxuICAgICAgICAgIFtyZXNvdXJjZURhdGFdPVwicG9zdFwiXG4gICAgICAgICAgKHVwZGF0ZWQpPVwiZ2V0UHJvZHVjdFJlbGVhc2VQb3N0cygxLCAxMDApXCI+PC9wdy1yZXNvdXJjZS1lZGl0LWNhcmQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJyZXNvdXJjZS10aXRsZVwiIFtpbm5lckhUTUxdPVwicG9zdC50aXRsZVwiPjwvcD5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiIXBvc3QucGljdHVyZT8udXJsPy5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKTsgZWxzZSByZXNvdXJjZVJvY2tldEJveFwiXG4gICAgICAgICAgc3JjPVwie3sgcG9zdC5waWN0dXJlLnVybCB9fVwiXG4gICAgICAgICAgY2xhc3M9XCJyZXNvdXJjZS1pbWFnZSBtdC1hdXRvXCJcbiAgICAgICAgICBhbHQ9XCJQcm9kdWN0IFJlc291cmNlIEljb25cIiAvPlxuXG4gICAgIDxuZy10ZW1wbGF0ZSAjcmVzb3VyY2VSb2NrZXRCb3g+XG4gICAgICA8aW1nXG4gICAgICBzcmM9XCJhc3NldHMvaW1nL3Jlc291cmNlL3JvY2tldC1ib3gucG5nXCJcbiAgICAgIGNsYXNzPVwicHJlc3MtcmVsZWFzZS1pY29uIG10LWF1dG9cIlxuICAgICAgYWx0PVwiUHJvZHVjdCBSZXNvdXJjZSBEZWZhdWx0IEljb25cIiAvPlxuICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2N0YUNvbnRlbnQ+XG4gICAgICAgICAgPHNwYW4+e3sgcG9zdD8uY3RhX3RleHQgJiYgcG9zdC5jdGFfdGV4dCAhPT0gJ251bGwnID8gcG9zdC5jdGFfdGV4dCA6ICdSZWFkIE5vdycgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvd1wiPuKGkjwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8YSAqbmdJZj1cInBvc3Q/LmV4dGVybmFsX3VybDsgZWxzZSBpbnRlcm5hbExpbmtcIlxuICAgICAgICAgICAgY2xhc3M9XCJyZXNvdXJjZS1idG4gbXQtM1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gZXh0ZXJuYWwgdXJsXCJcbiAgICAgICAgICAgIFtocmVmXT1cInBvc3QuZXh0ZXJuYWxfdXJsXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3RhQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2ludGVybmFsTGluaz5cbiAgICAgICAgICA8YSBjbGFzcz1cInJlc291cmNlLWJ0biBtdC0zXCIgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIHJlc291cmNlIHZpZXdcIiBbcm91dGVyTGlua109XCJbJy9yZXNvdXJjZXMvdmlldycsIHBvc3Q/LnNsdWddXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3RhQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuPHNlY3Rpb24gY2xhc3M9XCJtc3AtdmF1bHQtc2VjdGlvbiBiZy13aGl0ZVwiICpuZ0lmPVwiaXNSZWxlYXNlUHJlc3MgJiYgaGFzUHJlc3NSZWxlYXNlcygpXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24taGVhZGluZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgW25nQ2xhc3NdPVwieyAndy01MCc6IGlzUHJlc3NFZGl0aW5nVGl0bGUgfVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUHJlc3NFZGl0aW5nVGl0bGU7IGVsc2UgZWRpdFRpdGxlQmxvY2tcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInBvc3RUYWdzWydwcmVzcyddPy50aXRsZTsgZWxzZSBmYWxsYmFja1wiIFtpbm5lckhUTUxdPVwicG9zdFRhZ3NbJ3ByZXNzJ10/LnRpdGxlXCI+PC9zcGFuPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFsbGJhY2s+UHJlc3MgUmVsZWFzZSBOb3RlczwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGkgICpuZ0lmPVwidXNlckxvZ2dlZEluICYmIHVzZXI/LmF1dGg/LmdyYW50ZWRbJ1BhZ2VzLkFkbWluJ11cIiBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gbXMtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVFZGl0UHJlc3NUaXRsZSgpXCIgKGtleWRvd24uZW50ZXIpPVwidG9nZ2xlRWRpdFByZXNzVGl0bGUoKVwiIChrZXlkb3duLnNwYWNlKT1cInRvZ2dsZUVkaXRQcmVzc1RpdGxlKClcIiB0aXRsZT1cIkVkaXQgVGl0bGVcIj48L2k+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRpdGxlQmxvY2s+XG4gICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiZWRpdGVkVGl0bGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBkLWlubGluZSB3LWF1dG8gbWUtMlwiIFtuZ0NsYXNzXT1cInsgJ3ctMTAwJzogaXNQcmVzc0VkaXRpbmdUaXRsZSB9XCIgLz5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBtZS0xXCIgKGNsaWNrKT1cInNhdmVFZGl0ZWRUaXRsZSgncHJlc3MnKVwiPlNhdmU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImlzUHJlc3NFZGl0aW5nVGl0bGUgPSBmYWxzZVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9oMj5cbiAgICAgIDxhICpuZ0lmPVwiIXBvc3RTbGljZVwiIGNsYXNzPVwidmlldy1hbGxcIiByb3V0ZXJMaW5rPVwiL3Jlc291cmNlcy9yZWxlYXNlLW5vdGVzXCI+VklFVyBBTEwgPjwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gICAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInJlbGVhc2VQb3N0c1sncHJlc3MnXT8ubGVuZ3RoID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInUmVzb3VyY2UuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIi8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtdC01IGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtNCB2aWRlby1yb3dcIiAqbmdJZj1cImhhc1ByZXNzUmVsZWFzZXMoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzb3VyY2UtYmxvZy1jYXJkIHAtNFwiICpuZ0Zvcj1cImxldCBwb3N0IG9mIHJlbGVhc2VQb3N0c1sncHJlc3MnXVwiPlxuICAgICAgICAgIDxwdy1yZXNvdXJjZS1lZGl0LWNhcmRcbipuZ0lmPVwidXNlckxvZ2dlZEluICYmIHVzZXI/LmF1dGg/LmdyYW50ZWRbJ1BhZ2VzLkFkbWluJ11cIlxuICAgICAgICAgIFtpZF09XCJwb3N0LmlkXCJcbiAgICAgICAgICBbcmVzb3VyY2VEYXRhXT1cInBvc3RcIlxuICAgICAgICAgICh1cGRhdGVkKT1cImdldFByZXNzUmVsZWFzZVBvc3RzKDEsIDEwMClcIj48L3B3LXJlc291cmNlLWVkaXQtY2FyZD5cbiAgICAgICAgICA8cCBjbGFzcz1cInJlc291cmNlLXRpdGxlXCIgW2lubmVySFRNTF09XCJwb3N0LnRpdGxlXCI+PC9wPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCIhcG9zdC5waWN0dXJlPy51cmwuaW5jbHVkZXMoJ2RlZmF1bHQtcGhvdG8uanBnJyk7IGVsc2UgcmVzb3VyY2VSb2NrZXRCb3hcIlxuICAgICAgICAgIHNyYz1cInt7IHBvc3QucGljdHVyZS51cmwgfX1cIlxuICAgICAgICAgIGNsYXNzPVwicmVzb3VyY2UtaW1hZ2UgbXQtYXV0b1wiXG4gICAgICAgICAgYWx0PVwiUHJlc3MgUmVzb3VyY2UgSWNvblwiIC8+XG5cbiAgICAgPG5nLXRlbXBsYXRlICNyZXNvdXJjZVJvY2tldEJveD5cbiAgICAgIDxpbWdcbiAgICAgIHNyYz1cImFzc2V0cy9pbWcvcmVzb3VyY2Uvcm9ja2V0LWJveC5wbmdcIlxuICAgICAgY2xhc3M9XCJwcmVzcy1yZWxlYXNlLWljb24gbXQtYXV0b1wiXG4gICAgICBhbHQ9XCJQcmVzcyBSZXNvdXJjZSBEZWZhdWx0IEljb25cIiAvPlxuICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxhICpuZ0lmPVwicG9zdD8uZXh0ZXJuYWxfdXJsOyBlbHNlIGludGVybmFsTGlua1wiXG4gICAgICAgICAgICBjbGFzcz1cInJlc291cmNlLWJ0biBtdC0zXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBleHRlcm5hbCB1cmxcIlxuICAgICAgICAgICAgW2hyZWZdPVwicG9zdC5leHRlcm5hbF91cmxcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaW50ZXJuYWxMaW5rPlxuICAgICAgICAgIDxhIGNsYXNzPVwicmVzb3VyY2UtYnRuIG10LTNcIiBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gcmVzb3VyY2Ugdmlld1wiIFtyb3V0ZXJMaW5rXT1cIlsnL3Jlc291cmNlcy92aWV3JywgcG9zdD8uc2x1Z11cIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNsZWFzZS1ub3RlLWNhcmQvcmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9yZXNvdXJjZS1tb2R1bGUvc3JjL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNsZWFzZS1ub3RlLWNhcmQvcmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxnQkFBZ0I7SUF1QjNELFlBQ0ksUUFBa0IsRUFDRCxlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixVQUFzQjtRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTFCbEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUszQixhQUFRLEdB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QUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDN0MsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxREFBcUQ7SUFDN0MsMEJBQTBCO1FBQzlCLE9BQU8sYUFBYSxDQUFDLDBCQUEwQixDQUMzQyxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxvQkFBb0IsQ0FDNUIsQ0FBQztJQUNOLENBQUM7SUFDRCxnQkFBZ0I7UUFDWixPQUFPLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEcsQ0FBQzsrR0FuTVEseUJBQXlCO21HQUF6Qix5QkFBeUIsZ1FDZHRDLDgzTkFnSUE7OzRGRGxIYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksdUJBQXVCOzhKQUt4QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctcmVzb3VyY2Utbm90ZS1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsZWFzZS1ub3RlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9yZXNvdXJjZXMvcmVzb3VyY2VzLXNoYXJlZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlTm90ZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSByZWxlYXNlSGVhZGVyID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2F0ZWdvcnlJZCE6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc1JlbGVhc2VQcmVzcyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHBvc3RTbGljZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlc291cmNlVGl0bGUhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGFnO1xuXG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG4gICAgc3Vic2NyaXB0aW9uSWQ7XG4gICAgbWFzdGVyU3Vic2NyaXB0aW9uSWQgPSB0aGlzLmFwcENvbmZpZy5tYXN0ZXJfc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbl9pZDtcblxuICAgIHBvc3RUYWdzOiB7IFtrZXk6IHN0cmluZ106IHsgaWQ6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9IH0gPSB7fTtcbiAgICByZWxlYXNlUG9zdHM6IHsgW2tleTogc3RyaW5nXTogUmVzb3VyY2VbXSB9ID0ge307XG5cbiAgICB0YWdDYXRlZ29yeTtcbiAgICBpc0VkaXRpbmdUaXRsZTogYm9vbGVhbjtcbiAgICBpc1ByZXNzRWRpdGluZ1RpdGxlOiBib29sZWFuO1xuICAgIGVkaXRlZFRpdGxlOiBzdHJpbmc7XG4gICAgdXNlcjogVXNlcjtcbiAgICBpc01hc3RlclN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VTZXJ2aWNlOiBSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuJCgpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5nZXRVc2VySW5mbygpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyID0gZGF0YTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFRhZ3MoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUYWdzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGFncygpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRBbGxUYWdDYXRlZ29yaWVzKHsgc2VhcmNoOiAnUmVsZWFzZSBOb3RlcycgfSwgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWdDYXRlZ29yeSA9IHJlc3BvbnNlLnRhZ19jYXRlZ29yaWVzWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zdFRhZ3MoKSB7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldFRhZ3NCeVR5cGUoJ3Bvc3RfY2F0ZWdvcmllcycsIHt9LCB0aGlzLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RUYWdzWydwcm9kdWN0J10gPSB0aGlzLmZpbmRUYWcoXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnRhZ3MsXG4gICAgICAgICAgICAgICAgICAgICdQcm9kdWN0IFJlbGVhc2UgTm90ZXMnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3N0VGFnc1sncHJlc3MnXSA9IHRoaXMuZmluZFRhZyhcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudGFncyxcbiAgICAgICAgICAgICAgICAgICAgJ1ByZXNzIFJlbGVhc2UgTm90ZXMnLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ0NhdGVnb3J5Py5pZFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wb3N0VGFnc1sncHJvZHVjdCddPy5pZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFByb2R1Y3RSZWxlYXNlUG9zdHMoMSwgMTAwKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWxlYXNlUG9zdHNbJ3Byb2R1Y3QnXSA9IFtdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvc3RUYWdzWydwcmVzcyddPy5pZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFByZXNzUmVsZWFzZVBvc3RzKDEsIDEwMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVsZWFzZVBvc3RzWydwcmVzcyddID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kVGFnKHRhZ3MsIG5hbWU6IHN0cmluZywgY2F0ZWdvcnlJZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0YWdzLmZpbmQodGFnID0+IHRhZy5uYW1lID09PSBuYW1lICYmIHRhZy50YWdfY2F0ZWdvcnlfaWQgPT09IGNhdGVnb3J5SWQpO1xuICAgIH1cblxuICAgIGhhc1ByZXNzUmVsZWFzZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbGVhc2VQb3N0c1sncHJlc3MnXT8ubGVuZ3RoICE9PSAwICYmIHRoaXMuaXNMb2FkZWQ7XG4gICAgfVxuICAgIGhhc1Byb2R1Y3RSZWxlYXNlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsZWFzZVBvc3RzWydwcm9kdWN0J10/Lmxlbmd0aCAhPT0gMCAmJiB0aGlzLmlzTG9hZGVkO1xuICAgIH1cblxuICAgIGdldFByb2R1Y3RSZWxlYXNlUG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCksXG4gICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RUYWdzWydwcm9kdWN0J10/LmlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3J0ZWRQb3N0cyA9IHJlc3BvbnNlLnBvc3RzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIocG9zdCA9PiBwb3N0LnNob3djYXNlID09PSB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAuc29ydChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGIucHVibGlzaGVkX2F0KS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShhLnB1Ymxpc2hlZF9hdCkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWxlYXNlUG9zdHNbJ3Byb2R1Y3QnXSA9IHRoaXMuZ2V0UHJvY2Vzc2VkUG9zdHMoc29ydGVkUG9zdHMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0UHJlc3NSZWxlYXNlUG9zdHMocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQdWJsaWNQb3N0cyhcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVmZmVjdGl2ZVN1YnNjcmlwdGlvbklkKCksXG4gICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICB0aGlzLnBvc3RUYWdzWydwcmVzcyddPy5pZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc29ydGVkUG9zdHMgPSByZXNwb25zZT8ucG9zdHNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwb3N0ID0+IHBvc3Quc2hvd2Nhc2UgPT09IHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KFxuICAgICAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoYi5wdWJsaXNoZWRfYXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGEucHVibGlzaGVkX2F0KS5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbGVhc2VQb3N0c1sncHJlc3MnXSA9IHRoaXMuZ2V0UHJvY2Vzc2VkUG9zdHMoc29ydGVkUG9zdHMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzZWRQb3N0cyhwb3N0czogUmVzb3VyY2VbXSwgc2xpY2VDb3VudCA9IDMpOiBSZXNvdXJjZVtdIHtcbiAgICAgICAgY29uc3QgY2xvbmVkID0gWy4uLnBvc3RzXTtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFNsaWNlID8gY2xvbmVkLnJldmVyc2UoKSA6IGNsb25lZC5zbGljZSgwLCBzbGljZUNvdW50KS5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlRWRpdFRpdGxlKCkge1xuICAgICAgICB0aGlzLmlzRWRpdGluZ1RpdGxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lZGl0ZWRUaXRsZSA9IHRoaXMucG9zdFRhZ3NbJ3Byb2R1Y3QnXS50aXRsZTtcbiAgICB9XG5cbiAgICB0b2dnbGVFZGl0UHJlc3NUaXRsZSgpIHtcbiAgICAgICAgdGhpcy5pc1ByZXNzRWRpdGluZ1RpdGxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lZGl0ZWRUaXRsZSA9IHRoaXMucG9zdFRhZ3NbJ3ByZXNzJ10udGl0bGU7XG4gICAgfVxuXG4gICAgc2F2ZUVkaXRlZFRpdGxlKHR5cGUpIHtcbiAgICAgICAgSGVscGVyU2VydmljZS51cGRhdGVUYWdUaXRsZShcbiAgICAgICAgICAgIHRoaXMucG9zdFRhZ3NbdHlwZV0sXG4gICAgICAgICAgICB0aGlzLmVkaXRlZFRpdGxlLFxuICAgICAgICAgICAgdGhpcy50YWdTZXJ2aWNlLFxuICAgICAgICAgICAgdGhpcy5nZXRFZmZlY3RpdmVTdWJzY3JpcHRpb25JZCgpLFxuICAgICAgICAgICAgdGhpcy50b2FzdFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvc3RUYWdzW3R5cGVdLnRpdGxlID0gdGhpcy5lZGl0ZWRUaXRsZTtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAncHJvZHVjdCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRWRpdGluZ1RpdGxlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQcmVzc0VkaXRpbmdUaXRsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogSGVscGVyIG1ldGhvZCB0byBnZXQgZWZmZWN0aXZlIHN1YnNjcmlwdGlvbiBJRCAqL1xuICAgIHByaXZhdGUgZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIEhlbHBlclNlcnZpY2UuZ2V0RWZmZWN0aXZlU3Vic2NyaXB0aW9uSWQoXG4gICAgICAgICAgICB0aGlzLnVzZXIsXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkLFxuICAgICAgICAgICAgdGhpcy5tYXN0ZXJTdWJzY3JpcHRpb25JZFxuICAgICAgICApO1xuICAgIH1cbiAgICBjYW5FZGl0UmVzb3VyY2VzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gSGVscGVyU2VydmljZS5jYW5FZGl0UmVzb3VyY2VzKHRoaXMudXNlciwgdGhpcy51c2VyTG9nZ2VkSW4sIHRoaXMucGVybWlzc2lvblNlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwibXNwLXZhdWx0LXNlY3Rpb24gYmctd2hpdGVcIiAqbmdJZj1cImhhc1Byb2R1Y3RSZWxlYXNlcygpXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXBcIj5cbiAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24taGVhZGluZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgW25nQ2xhc3NdPVwieyAndy01MCc6IGlzRWRpdGluZ1RpdGxlIH1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0VkaXRpbmdUaXRsZTsgZWxzZSBlZGl0VGl0bGVCbG9ja1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwicG9zdFRhZ3NbJ3Byb2R1Y3QnXT8udGl0bGU7IGVsc2UgZmFsbGJhY2tcIiBbaW5uZXJIVE1MXT1cInBvc3RUYWdzWydwcm9kdWN0J10/LnRpdGxlXCI+PC9zcGFuPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFsbGJhY2s+UHJvZHVjdCBSZWxlYXNlIE5vdGVzPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8aSAgKm5nSWY9XCJjYW5FZGl0UmVzb3VyY2VzKClcIiBjbGFzcz1cImZhIGZhLWVkaXQgaW4tcGFnZS1lZGl0LWljb24gbXMtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0b2dnbGVFZGl0VGl0bGUoKVwiIChrZXlkb3duLmVudGVyKT1cInRvZ2dsZUVkaXRUaXRsZSgpXCIgKGtleWRvd24uc3BhY2UpPVwidG9nZ2xlRWRpdFRpdGxlKClcIiB0aXRsZT1cIkVkaXQgVGl0bGVcIj48L2k+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdFRpdGxlQmxvY2s+XG4gICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiZWRpdGVkVGl0bGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBkLWlubGluZSB3LWF1dG8gbWUtMlwiIFtuZ0NsYXNzXT1cInsgJ3ctMTAwJzogaXNFZGl0aW5nVGl0bGUgfVwiIC8+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgbWUtMVwiIChjbGljayk9XCJzYXZlRWRpdGVkVGl0bGUoJ3Byb2R1Y3QnKVwiPlNhdmU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImlzRWRpdGluZ1RpdGxlID0gZmFsc2VcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvaDI+XG4gICAgICA8YSBjbGFzcz1cInZpZXctYWxsXCIgKm5nSWY9XCIhcG9zdFNsaWNlXCIgcm91dGVyTGluaz1cIi9yZXNvdXJjZXMvcmVsZWFzZS1ub3Rlc1wiPlZJRVcgQUxMID48L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIiAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgICAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJyZWxlYXNlUG9zdHNbJ3Byb2R1Y3QnXT8ubGVuZ3RoID09PSAwICYmIGlzTG9hZGVkXCI+XG4gICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInUmVzb3VyY2UuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIi8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtdC01IGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtNCB2aWRlby1yb3dcIiAqbmdJZj1cImhhc1Byb2R1Y3RSZWxlYXNlcygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXNvdXJjZS1ibG9nLWNhcmQgcC00XCIgKm5nRm9yPVwibGV0IHBvc3Qgb2YgcmVsZWFzZVBvc3RzWydwcm9kdWN0J11cIj5cbiAgICAgICAgICA8cHctcmVzb3VyY2UtZWRpdC1jYXJkXG4gICAgICAgICAgKm5nSWY9XCJjYW5FZGl0UmVzb3VyY2VzKClcIlxuICAgICAgICAgIFtpZF09XCJwb3N0LmlkXCJcbiAgICAgICAgICBbcmVzb3VyY2VEYXRhXT1cInBvc3RcIlxuICAgICAgICAgICh1cGRhdGVkKT1cImdldFByb2R1Y3RSZWxlYXNlUG9zdHMoMSwgMTAwKVwiPjwvcHctcmVzb3VyY2UtZWRpdC1jYXJkPlxuICAgICAgICAgIDxwIGNsYXNzPVwicmVzb3VyY2UtdGl0bGVcIiBbaW5uZXJIVE1MXT1cInBvc3QudGl0bGVcIj48L3A+XG4gICAgICAgICAgPGltZyAqbmdJZj1cIiFwb3N0LnBpY3R1cmU/LnVybD8uaW5jbHVkZXMoJ2RlZmF1bHQtcGhvdG8uanBnJyk7IGVsc2UgcmVzb3VyY2VSb2NrZXRCb3hcIlxuICAgICAgICAgIHNyYz1cInt7IHBvc3QucGljdHVyZS51cmwgfX1cIlxuICAgICAgICAgIGNsYXNzPVwicmVzb3VyY2UtaW1hZ2UgbXQtYXV0b1wiXG4gICAgICAgICAgYWx0PVwiUHJvZHVjdCBSZXNvdXJjZSBJY29uXCIgLz5cblxuICAgICA8bmctdGVtcGxhdGUgI3Jlc291cmNlUm9ja2V0Qm94PlxuICAgICAgPGltZ1xuICAgICAgc3JjPVwiYXNzZXRzL2ltZy9yZXNvdXJjZS9yb2NrZXQtYm94LnBuZ1wiXG4gICAgICBjbGFzcz1cInByZXNzLXJlbGVhc2UtaWNvbiBtdC1hdXRvXCJcbiAgICAgIGFsdD1cIlByb2R1Y3QgUmVzb3VyY2UgRGVmYXVsdCBJY29uXCIgLz5cbiAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjdGFDb250ZW50PlxuICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPGEgKm5nSWY9XCJwb3N0Py5leHRlcm5hbF91cmw7IGVsc2UgaW50ZXJuYWxMaW5rXCJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzb3VyY2UtYnRuIG10LTNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIGV4dGVybmFsIHVybFwiXG4gICAgICAgICAgICBbaHJlZl09XCJwb3N0LmV4dGVybmFsX3VybFwiXG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN0YUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2E+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpbnRlcm5hbExpbms+XG4gICAgICAgICAgPGEgY2xhc3M9XCJyZXNvdXJjZS1idG4gbXQtM1wiIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byByZXNvdXJjZSB2aWV3XCIgW3JvdXRlckxpbmtdPVwiWycvcmVzb3VyY2VzL3ZpZXcnLCBwb3N0Py5zbHVnXVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN0YUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbjxzZWN0aW9uIGNsYXNzPVwibXNwLXZhdWx0LXNlY3Rpb24gYmctd2hpdGVcIiAqbmdJZj1cImlzUmVsZWFzZVByZXNzICYmIGhhc1ByZXNzUmVsZWFzZXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC13cmFwXCI+XG4gICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLWhlYWRpbmcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIFtuZ0NsYXNzXT1cInsgJ3ctNTAnOiBpc1ByZXNzRWRpdGluZ1RpdGxlIH1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1ByZXNzRWRpdGluZ1RpdGxlOyBlbHNlIGVkaXRUaXRsZUJsb2NrXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJwb3N0VGFnc1sncHJlc3MnXT8udGl0bGU7IGVsc2UgZmFsbGJhY2tcIiBbaW5uZXJIVE1MXT1cInBvc3RUYWdzWydwcmVzcyddPy50aXRsZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZhbGxiYWNrPlByZXNzIFJlbGVhc2UgTm90ZXM8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxpICAqbmdJZj1cImNhbkVkaXRSZXNvdXJjZXMoKVwiIGNsYXNzPVwiZmEgZmEtZWRpdCBpbi1wYWdlLWVkaXQtaWNvbiBtcy0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInRvZ2dsZUVkaXRQcmVzc1RpdGxlKClcIiAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGVFZGl0UHJlc3NUaXRsZSgpXCIgKGtleWRvd24uc3BhY2UpPVwidG9nZ2xlRWRpdFByZXNzVGl0bGUoKVwiIHRpdGxlPVwiRWRpdCBUaXRsZVwiPjwvaT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlZGl0VGl0bGVCbG9jaz5cbiAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJlZGl0ZWRUaXRsZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGQtaW5saW5lIHctYXV0byBtZS0yXCIgW25nQ2xhc3NdPVwieyAndy0xMDAnOiBpc1ByZXNzRWRpdGluZ1RpdGxlIH1cIiAvPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IG1lLTFcIiAoY2xpY2spPVwic2F2ZUVkaXRlZFRpdGxlKCdwcmVzcycpXCI+U2F2ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiaXNQcmVzc0VkaXRpbmdUaXRsZSA9IGZhbHNlXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2gyPlxuICAgICAgPGEgKm5nSWY9XCIhcG9zdFNsaWNlXCIgY2xhc3M9XCJ2aWV3LWFsbFwiIHJvdXRlckxpbms9XCIvcmVzb3VyY2VzL3JlbGVhc2Utbm90ZXNcIj5WSUVXIEFMTCA+PC9hPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCIgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwicmVsZWFzZVBvc3RzWydwcmVzcyddPy5sZW5ndGggPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidSZXNvdXJjZS5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC00IHZpZGVvLXJvd1wiICpuZ0lmPVwiaGFzUHJlc3NSZWxlYXNlcygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXNvdXJjZS1ibG9nLWNhcmQgcC00XCIgKm5nRm9yPVwibGV0IHBvc3Qgb2YgcmVsZWFzZVBvc3RzWydwcmVzcyddXCI+XG4gICAgICAgICAgPHB3LXJlc291cmNlLWVkaXQtY2FyZFxuKm5nSWY9XCJjYW5FZGl0UmVzb3VyY2VzKClcIlxuICAgICAgICAgIFtpZF09XCJwb3N0LmlkXCJcbiAgICAgICAgICBbcmVzb3VyY2VEYXRhXT1cInBvc3RcIlxuICAgICAgICAgICh1cGRhdGVkKT1cImdldFByZXNzUmVsZWFzZVBvc3RzKDEsIDEwMClcIj48L3B3LXJlc291cmNlLWVkaXQtY2FyZD5cbiAgICAgICAgICA8cCBjbGFzcz1cInJlc291cmNlLXRpdGxlXCIgW2lubmVySFRNTF09XCJwb3N0LnRpdGxlXCI+PC9wPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCIhcG9zdC5waWN0dXJlPy51cmwuaW5jbHVkZXMoJ2RlZmF1bHQtcGhvdG8uanBnJyk7IGVsc2UgcmVzb3VyY2VSb2NrZXRCb3hcIlxuICAgICAgICAgIHNyYz1cInt7IHBvc3QucGljdHVyZS51cmwgfX1cIlxuICAgICAgICAgIGNsYXNzPVwicmVzb3VyY2UtaW1hZ2UgbXQtYXV0b1wiXG4gICAgICAgICAgYWx0PVwiUHJlc3MgUmVzb3VyY2UgSWNvblwiIC8+XG5cbiAgICAgPG5nLXRlbXBsYXRlICNyZXNvdXJjZVJvY2tldEJveD5cbiAgICAgIDxpbWdcbiAgICAgIHNyYz1cImFzc2V0cy9pbWcvcmVzb3VyY2Uvcm9ja2V0LWJveC5wbmdcIlxuICAgICAgY2xhc3M9XCJwcmVzcy1yZWxlYXNlLWljb24gbXQtYXV0b1wiXG4gICAgICBhbHQ9XCJQcmVzcyBSZXNvdXJjZSBEZWZhdWx0IEljb25cIiAvPlxuICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxhICpuZ0lmPVwicG9zdD8uZXh0ZXJuYWxfdXJsOyBlbHNlIGludGVybmFsTGlua1wiXG4gICAgICAgICAgICBjbGFzcz1cInJlc291cmNlLWJ0biBtdC0zXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBleHRlcm5hbCB1cmxcIlxuICAgICAgICAgICAgW2hyZWZdPVwicG9zdC5leHRlcm5hbF91cmxcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaW50ZXJuYWxMaW5rPlxuICAgICAgICAgIDxhIGNsYXNzPVwicmVzb3VyY2UtYnRuIG10LTNcIiBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gcmVzb3VyY2Ugdmlld1wiIFtyb3V0ZXJMaW5rXT1cIlsnL3Jlc291cmNlcy92aWV3JywgcG9zdD8uc2x1Z11cIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHBvc3Q/LmN0YV90ZXh0ICYmIHBvc3QuY3RhX3RleHQgIT09ICdudWxsJyA/IHBvc3QuY3RhX3RleHQgOiAnUmVhZCBOb3cnICB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj7ihpI8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|