@posiwise/admin-module 0.0.141 → 0.0.143
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/admin-guard.service.mjs +2 -2
- package/esm2022/lib/admin-module.routing.mjs +32 -32
- package/esm2022/lib/admin.module.mjs +41 -41
- package/esm2022/lib/components/TOS/terms-of-service/terms-of-service.component.mjs +5 -5
- package/esm2022/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.mjs +2 -2
- package/esm2022/lib/components/TOS/terms-of-service-tabs/terms-of-service-tabs.component.mjs +1 -1
- package/esm2022/lib/components/config/global-config-details/global-config-details.component.mjs +1 -1
- package/esm2022/lib/components/config/global-config-list/global-config-list.component.mjs +3 -3
- package/esm2022/lib/components/config/global-config-tabs/global-config-tabs.component.mjs +1 -1
- package/esm2022/lib/components/contact-us/contact-us-list/contact-us-list.component.mjs +8 -8
- package/esm2022/lib/components/contact-us/contact-us-tabs/contact-us-tabs.component.mjs +1 -1
- package/esm2022/lib/components/credentials/credentials/credentials.component.mjs +4 -4
- package/esm2022/lib/components/credentials/credentials-details/credentials-details.component.mjs +1 -1
- package/esm2022/lib/components/credentials/credentials-tab/credentials-tab.component.mjs +1 -1
- package/esm2022/lib/components/credentials/subscription-credentials/subscription-credentials.component.mjs +7 -7
- package/esm2022/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.mjs +1 -1
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.mjs +10 -6
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.mjs +4 -4
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-details.component.mjs +13 -12
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.mjs +2 -2
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.mjs +6 -6
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.mjs +2 -2
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.mjs +2 -2
- package/esm2022/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.mjs +2 -2
- package/esm2022/lib/components/domain-config/domain-config-list/domain-config-list.component.mjs +8 -8
- package/esm2022/lib/components/domain-config/domain-config-tabs/domain-config-tabs.component.mjs +1 -1
- package/esm2022/lib/components/faqs/add-faq/add-faq.component.mjs +14 -14
- package/esm2022/lib/components/faqs/edit-faq/edit-faq.component.mjs +15 -13
- package/esm2022/lib/components/faqs/faqs-list/faqs-list.component.mjs +13 -13
- package/esm2022/lib/components/faqs/faqs-tabs/faqs-tabs.component.mjs +1 -1
- package/esm2022/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.mjs +2 -2
- package/esm2022/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.mjs +5 -5
- package/esm2022/lib/components/generic/generic-misc/generic-misc.component.mjs +3 -3
- package/esm2022/lib/components/generic/generic-tabs/generic-tabs.component.mjs +1 -1
- package/esm2022/lib/components/incidents/add-edit-incident/add-edit-incident.component.mjs +3 -3
- package/esm2022/lib/components/incidents/incidents-list/incidents-list.component.mjs +3 -3
- package/esm2022/lib/components/incidents/incidents-tabs/incidents-tabs.component.mjs +1 -1
- package/esm2022/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +2 -2
- package/esm2022/lib/components/login-notifications/login-notification-tabs/login-notification-tabs.component.mjs +1 -1
- package/esm2022/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.mjs +7 -7
- package/esm2022/lib/components/mailer/mailer-details/mailer-details.component.mjs +3 -3
- package/esm2022/lib/components/mailer/mailer-list/mailer-list.component.mjs +6 -6
- package/esm2022/lib/components/mailer/mailer-tabs/mailer-tabs.component.mjs +1 -1
- package/esm2022/lib/components/newsletters/newsletter-details/newsletter-details.component.mjs +4 -4
- package/esm2022/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.mjs +10 -10
- package/esm2022/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs +5 -5
- package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items-view-details/newsletters-items-view-details.component.mjs +4 -4
- package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +8 -8
- package/esm2022/lib/components/newsletters/newsletters-list/newsletters-list.component.mjs +7 -7
- package/esm2022/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.mjs +2 -2
- package/esm2022/lib/components/permissions/permissions-details/permissions-details.component.mjs +2 -2
- package/esm2022/lib/components/permissions/permissions-list/permissions-list.component.mjs +5 -5
- package/esm2022/lib/components/permissions/permissions-tabs/permissions-tabs.component.mjs +1 -1
- package/esm2022/lib/components/permissions/role-details/role-details.component.mjs +2 -2
- package/esm2022/lib/components/permissions/roles-list/roles-list.component.mjs +5 -5
- package/esm2022/lib/components/products/product-details/product-details.component.mjs +6 -6
- package/esm2022/lib/components/products/products-insight/products-insight.component.mjs +2 -2
- package/esm2022/lib/components/products/products-list/products-list.component.mjs +7 -7
- package/esm2022/lib/components/products/products-tabs/products-tabs.component.mjs +1 -1
- package/esm2022/lib/components/products/users-list-for-product/users-list-for-product.component.mjs +1 -1
- package/esm2022/lib/components/subscriptions/subscription-agents/subscription-agents.component.mjs +2 -2
- package/esm2022/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +5 -5
- package/esm2022/lib/components/subscriptions/subscription-details/subscription-details.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscription-products/subscription-products.component.mjs +4 -4
- package/esm2022/lib/components/subscriptions/subscription-users/subscription-users.component.mjs +30 -7
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-price/subscription-insight-average-price.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-user/subscription-insight-average-user.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-churn/subscription-insight-churn.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +4 -4
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-product-session/subscription-insight-product-session.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.mjs +3 -3
- package/esm2022/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.mjs +7 -7
- package/esm2022/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +9 -9
- package/esm2022/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.mjs +1 -1
- package/esm2022/lib/components/tags/tags-category/tags-category.component.mjs +6 -6
- package/esm2022/lib/components/tags/tags-list/tags-list.component.mjs +8 -8
- package/esm2022/lib/components/tags/tags-tabs/tags-tabs.component.mjs +1 -1
- package/esm2022/lib/components/tips/tip-detail/tip-detail.component.mjs +1 -1
- package/esm2022/lib/components/tips/tips-list/tips-list.component.mjs +2 -2
- package/esm2022/lib/components/tips/tips-tabs/tips-tabs.component.mjs +1 -1
- package/esm2022/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +7 -7
- package/esm2022/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +7 -7
- package/esm2022/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +7 -7
- package/esm2022/lib/components/tracking/events/events.component.mjs +4 -4
- package/esm2022/lib/components/tracking/tracking-tabs/tracking-tabs.component.mjs +1 -1
- package/esm2022/lib/components/tracking/versions/versions.component.mjs +4 -4
- package/esm2022/lib/components/users/user-details/user-details.component.mjs +2 -2
- package/esm2022/lib/components/users/users-insight/users-insight.component.mjs +1 -1
- package/esm2022/lib/components/users/users-list/users-list.component.mjs +15 -15
- package/esm2022/lib/components/users/users-tabs/users-tabs.component.mjs +1 -1
- package/fesm2022/posiwise-admin-module.mjs +5635 -5607
- package/fesm2022/posiwise-admin-module.mjs.map +1 -1
- package/lib/admin-guard.service.d.ts +1 -1
- package/lib/components/TOS/terms-of-service/terms-of-service.component.d.ts +3 -3
- package/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.d.ts +1 -1
- package/lib/components/config/global-config-details/global-config-details.component.d.ts +2 -2
- package/lib/components/config/global-config-list/global-config-list.component.d.ts +2 -2
- package/lib/components/contact-us/contact-us-list/contact-us-list.component.d.ts +4 -4
- package/lib/components/credentials/credentials/credentials.component.d.ts +3 -3
- package/lib/components/credentials/credentials-details/credentials-details.component.d.ts +1 -1
- package/lib/components/credentials/subscription-credentials/subscription-credentials.component.d.ts +5 -5
- package/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.d.ts +2 -2
- package/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.d.ts +4 -4
- package/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.d.ts +2 -2
- package/lib/components/domain-config/domain-config-details/domain-config-details.component.d.ts +2 -2
- package/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.d.ts +2 -2
- package/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.d.ts +3 -3
- package/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.d.ts +2 -2
- package/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.d.ts +1 -1
- package/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.d.ts +2 -2
- package/lib/components/domain-config/domain-config-list/domain-config-list.component.d.ts +4 -4
- package/lib/components/faqs/add-faq/add-faq.component.d.ts +11 -11
- package/lib/components/faqs/edit-faq/edit-faq.component.d.ts +14 -11
- package/lib/components/faqs/faqs-list/faqs-list.component.d.ts +10 -10
- package/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.d.ts +4 -4
- package/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.d.ts +4 -4
- package/lib/components/incidents/add-edit-incident/add-edit-incident.component.d.ts +3 -3
- package/lib/components/incidents/incidents-list/incidents-list.component.d.ts +3 -3
- package/lib/components/login-notifications/login-notification-details/login-notification-details.component.d.ts +1 -1
- package/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.d.ts +3 -3
- package/lib/components/mailer/mailer-list/mailer-list.component.d.ts +2 -2
- package/lib/components/mailer/mailer-tabs/mailer-tabs.component.d.ts +1 -1
- package/lib/components/newsletters/newsletter-details/newsletter-details.component.d.ts +1 -1
- package/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.d.ts +7 -7
- package/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.d.ts +5 -5
- package/lib/components/newsletters/newsletters-items/newsletters-items-view-details/newsletters-items-view-details.component.d.ts +2 -2
- package/lib/components/newsletters/newsletters-items/newsletters-items.component.d.ts +6 -6
- package/lib/components/newsletters/newsletters-list/newsletters-list.component.d.ts +2 -2
- package/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.d.ts +1 -1
- package/lib/components/permissions/permissions-details/permissions-details.component.d.ts +3 -3
- package/lib/components/permissions/permissions-list/permissions-list.component.d.ts +4 -4
- package/lib/components/permissions/role-details/role-details.component.d.ts +4 -4
- package/lib/components/permissions/roles-list/roles-list.component.d.ts +2 -2
- package/lib/components/products/product-details/product-details.component.d.ts +14 -13
- package/lib/components/products/products-insight/products-insight.component.d.ts +1 -1
- package/lib/components/products/products-list/products-list.component.d.ts +6 -6
- package/lib/components/products/users-list-for-product/users-list-for-product.component.d.ts +2 -2
- package/lib/components/subscriptions/subscription-agents/subscription-agents.component.d.ts +2 -2
- package/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.d.ts +2 -2
- package/lib/components/subscriptions/subscription-details/subscription-details.component.d.ts +7 -7
- package/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.d.ts +2 -2
- package/lib/components/subscriptions/subscription-products/subscription-products.component.d.ts +5 -5
- package/lib/components/subscriptions/subscription-users/subscription-users.component.d.ts +7 -5
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-price/subscription-insight-average-price.component.d.ts +1 -1
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-user/subscription-insight-average-user.component.d.ts +1 -1
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-churn/subscription-insight-churn.component.d.ts +1 -1
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.d.ts +3 -3
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-product-session/subscription-insight-product-session.component.d.ts +1 -1
- package/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.d.ts +1 -1
- package/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.d.ts +1 -1
- package/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.d.ts +10 -10
- package/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.d.ts +7 -7
- package/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.d.ts +1 -1
- package/lib/components/tags/tags-category/tags-category.component.d.ts +4 -4
- package/lib/components/tags/tags-list/tags-list.component.d.ts +6 -6
- package/lib/components/tips/tips-list/tips-list.component.d.ts +1 -1
- package/lib/components/tracking/ahoy-events/ahoy-events.component.d.ts +9 -9
- package/lib/components/tracking/ahoy-messages/ahoy-messages.component.d.ts +9 -9
- package/lib/components/tracking/ahoy-visits/ahoy-visits.component.d.ts +9 -9
- package/lib/components/tracking/events/events.component.d.ts +6 -6
- package/lib/components/tracking/versions/versions.component.d.ts +6 -6
- package/lib/components/users/user-details/user-details.component.d.ts +2 -2
- package/lib/components/users/users-list/users-list.component.d.ts +13 -13
- package/lib/components/users/users-tabs/users-tabs.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -17,9 +17,9 @@ export class UserDetailsComponent extends AppBaseComponent {
|
|
|
17
17
|
constructor(adminService, injector) {
|
|
18
18
|
super(injector);
|
|
19
19
|
this.adminService = adminService;
|
|
20
|
+
this.userRoles = [];
|
|
20
21
|
this.submitted = false;
|
|
21
22
|
this.isLoading = true;
|
|
22
|
-
this.userRoles = [];
|
|
23
23
|
this.form = AppAdmin.getUsersForm();
|
|
24
24
|
}
|
|
25
25
|
ngOnInit() {
|
|
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
161
161
|
type: Component,
|
|
162
162
|
args: [{ selector: 'pw-user-details', template: "\n<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard user-details\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 *ngIf=\"user?.first_name && user?.email; else userLabel\">\n User: {{ user?.first_name || user?.email }}\n </h3>\n <ng-template #userLabel>\n <h3>User</h3>\n </ng-template>\n </div>\n\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n\n\n <div class=\"p-2 mt-3\" *ngIf=\"!isLoading\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-6\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.Users.Tooltip.FirstName'|transloco\"\n [label]=\"'Label.FirstName' | transloco\"\n name=\"first_name\"\n [errorMsg]=\"'Admin.Users.Validation.FirstName' | transloco\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"first_name\"\n id=\"first_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" />\n </pw-input-container>\n\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.Users.Tooltip.PreferredName'|transloco\"\n label=\"Preferred Name\"\n name=\"preferred_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"preferred_name\"\n id=\"preferred_name\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['preferred_name'].errors\n }\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-6\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.Users.Tooltip.LastName'|transloco\"\n [label]=\"'Label.LastName' | transloco\"\n name=\"last_name\"\n [errorMsg]=\"'Admin.Users.Validation.LastName' | transloco\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"last_name\"\n id=\"last_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" />\n </pw-input-container>\n\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.Users.Tooltip.Email'|transloco\"\n [label]=\"'Label.Email' | transloco\"\n name=\"email\"\n [errorMsg]=\"'Admin.Users.Validation.Email' | transloco\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"email\"\n id=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-6\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.Users.Tooltip.PhoneNumber'|transloco\"\n [label]=\"'Admin.Users.PhoneNumber' | transloco\"\n name=\"phone_number\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"phone_number\"\n [ngClass]=\"{ 'is-invalid': submitted && f['phone_number'].errors }\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.Users.Tooltip.MarketingEmails'|transloco\"\n [label]=\"'Admin.Users.MarketingEmails' | transloco\"\n name=\"send_marketing_emails\">\n <ui-switch formControlName=\"send_marketing_emails\"\n name=\"send_marketing_emails\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['send_marketing_emails'].errors\n }\">\n </ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-3\"\n *rbacAllow=\"'SuperAdmin'\">\n <pw-input-container [showTooltip]=\"true\"\n [labelClass]=\"'text-warning'\"\n [tooltipText]=\"'Admin.Users.Tooltip.Alpha'|transloco\"\n [label]=\"'Admin.Users.Alpha' | transloco\"\n name=\"alpha\">\n <ui-switch formControlName=\"alpha\"\n name=\"alpha\"\n [ngClass]=\"{ 'is-invalid': submitted && f['alpha'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [labelClass]=\"'text-warning'\"\n [tooltipText]=\"'Admin.Users.Tooltip.Beta'|transloco\"\n [label]=\"'Admin.Users.Beta' | transloco\"\n name=\"beta\">\n <ui-switch formControlName=\"beta\"\n name=\"beta\"\n [ngClass]=\"{ 'is-invalid': submitted && f['beta'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-3\"\n *rbacAllow=\"'SubscriptionSuperAdmin'\">\n <pw-input-container [showTooltip]=\"true\"\n [labelClass]=\"'text-warning'\"\n [tooltipText]=\"'Admin.Users.Tooltip.Blocked'|transloco\"\n [label]=\"'Admin.Users.Blocked' | transloco\"\n name=\"blocked\">\n <ui-switch formControlName=\"blocked\"\n name=\"blocked\"\n [ngClass]=\"{ 'is-invalid': submitted && f['blocked'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"float-end mb-3 mt-4\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"onDiscard()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"submitted\"\n *rbacAllow=\"'Pages.Admin.Users.Edit'\"\n class=\"btn btn-primary\">\n {{ 'Button.Save' | transloco }}\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
163
163
|
}], ctorParameters: () => [{ type: i1.AdminService }, { type: i0.Injector }], propDecorators: { onSave: [] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2VyLWRldGFpbHMvdXNlci1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2VyLWRldGFpbHMvdXNlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFLdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7QUFPL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQWdCdEQsWUFDcUIsWUFBMEIsRUFDM0MsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFkL0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUtsQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBSVQsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQVMzQixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQ2pF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QUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFRCxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQWxLUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4RUNoQmpDLHN5T0F3S0E7O0FEaEZJO0lBREMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7OztrREFlcEI7NEZBdEZRLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxpQkFBaUI7d0dBMkUzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UsIEFwcEFkbWluIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyLCBSb2xlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybSB9IGZyb20gJ0Bwb3Npd2lzZS91dGlscyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvYXBpLXJlc3BvbnNlLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctdXNlci1kZXRhaWxzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIHN1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHVzZXI6IFVzZXI7XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGFsbFJvbGVzOiBTZWxlY3RJdGVtW107XG5cbiAgICBwcml2YXRlIHVzZXJSb2xlczogUm9sZVtdID0gW107XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuZm9ybSA9IEFwcEFkbWluLmdldFVzZXJzRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKGRhdGE6IFVzZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArZGF0YVsnaWQnXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VXNlckRldGFpbHMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFVzZXJSb2xlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldFJvbGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVc2VyRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVc2VyQnlJZCh0aGlzLmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlci5zZW5kX21hcmtldGluZ19lbWFpbHMgPSB1c2VyLnNlbmRfbWFya2V0aW5nX2VtYWlscyB8fCBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh1c2VyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVc2VyUm9sZSgpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2UuZ2V0VXNlclJvbGUodGhpcy5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlclJvbGVzID0gcmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICByb2xlczogdGhpcy51c2VyUm9sZXMubWFwKHggPT4geC5pZClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAVmFsaWRhdGVGb3JtKCdmb3JtJylcbiAgICBvblNhdmUoKSB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgIGJsb2NrZWQ6IHRoaXMuZm9ybS52YWx1ZS5ibG9ja2VkID8/IGZhbHNlLFxuICAgICAgICAgICAgYWxwaGE6IHRoaXMuZm9ybS52YWx1ZS5hbHBoYSA/PyBmYWxzZSxcbiAgICAgICAgICAgIGJldGE6IHRoaXMuZm9ybS52YWx1ZS5iZXRhID8/IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIGRlbGV0ZSBkYXRhLnJvbGVzO1xuICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVc2VyKGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVVc2VyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVVc2VyKCkge1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZVVzZXIodGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgJHtPYmplY3Qua2V5cyhyZXNwb25zZS5lcnJvci5tZXNzYWdlKVswXX0gJHtPYmplY3QudmFsdWVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICkuam9pbignJyl9YFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2Vzcyh0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uVXNlcnMuQWRkZWRNZXNzYWdlJykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZVVzZXIoZGF0YSkge1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLnNhdmVVc2VyRGV0YWlscyh7IC4uLmRhdGEsIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZCB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlVzZXJzLlVwZGF0ZWRNZXNzYWdlJykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2soKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyPy5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5lcnJvcihlcnIuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRSb2xlcygpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2UuZ2V0Um9sZXMoe30sIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGxSb2xlcyA9IHJlc3BvbnNlLnJvbGVzLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBpbmRleCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvciA9PiB0aGlzLnRvYXN0LnNob3dUb2FzdChlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Sb2xlQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIGxldCBvYiQ6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U+O1xuICAgICAgICBpZiAodGhpcy51c2VyUm9sZXMubGVuZ3RoIDwgZXZlbnQudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBvYiQgPSB0aGlzLmFkbWluU2VydmljZS5zYXZlVXNlclJvbGUodGhpcy5pZCwgZXZlbnQuaXRlbVZhbHVlLCB0aGlzLnN1YnNjcmlwdGlvbklkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9iJCA9IHRoaXMuYWRtaW5TZXJ2aWNlLmRlbGV0ZVVzZXJSb2xlKHRoaXMuaWQsIGV2ZW50Lml0ZW1WYWx1ZSwgdGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgIH1cblxuICAgICAgICBvYiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2Vzcyh0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uVXNlcnMuVXBkYXRlZFJvbGUnKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGlzY2FyZCgpIHtcbiAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBwdy10YWIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQgdXNlci1kZXRhaWxzXCI+XG4gICAgPGRpdiBjbGFzcz1cImRhc2hib2FyZC1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNiBtdC00XCI+XG4gICAgICAgIDxhIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBUYXJnZXRcIlxuICAgICAgICAgIChjbGljayk9XCJiYWNrKClcIlxuICAgICAgICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgICAgICAgPGgzICpuZ0lmPVwidXNlcj8uZmlyc3RfbmFtZSAmJiB1c2VyPy5lbWFpbDsgZWxzZSB1c2VyTGFiZWxcIj5cbiAgICAgICAgICAgIFVzZXI6IHt7IHVzZXI/LmZpcnN0X25hbWUgfHwgdXNlcj8uZW1haWwgfX1cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdXNlckxhYmVsPlxuICAgICAgICAgICAgPGgzPlVzZXI8L2gzPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cblxuXG4gICAgICA8ZGl2IGNsYXNzPVwicC0yIG10LTNcIiAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgICAobmdTdWJtaXQpPVwib25TYXZlKClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02XCI+XG4gICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uVXNlcnMuVG9vbHRpcC5GaXJzdE5hbWUnfHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMYWJlbC5GaXJzdE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmlyc3RfbmFtZVwiXG4gICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Vc2Vycy5WYWxpZGF0aW9uLkZpcnN0TmFtZScgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmlyc3RfbmFtZVwiXG4gICAgICAgICAgICAgICAgICBpZD1cImZpcnN0X25hbWVcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydmaXJzdF9uYW1lJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuUHJlZmVycmVkTmFtZSd8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIlByZWZlcnJlZCBOYW1lXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwicHJlZmVycmVkX25hbWVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJlZmVycmVkX25hbWVcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJwcmVmZXJyZWRfbmFtZVwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ3ByZWZlcnJlZF9uYW1lJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTZcIj5cbiAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLkxhc3ROYW1lJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTGFiZWwuTGFzdE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwibGFzdF9uYW1lXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLlVzZXJzLlZhbGlkYXRpb24uTGFzdE5hbWUnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxhc3RfbmFtZVwiXG4gICAgICAgICAgICAgICAgICBpZD1cImxhc3RfbmFtZVwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2xhc3RfbmFtZSddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLkVtYWlsJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTGFiZWwuRW1haWwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uVXNlcnMuVmFsaWRhdGlvbi5FbWFpbCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2VtYWlsJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02XCI+XG4gICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uVXNlcnMuVG9vbHRpcC5QaG9uZU51bWJlcid8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLlVzZXJzLlBob25lTnVtYmVyJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgbmFtZT1cInBob25lX251bWJlclwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZV9udW1iZXJcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydwaG9uZV9udW1iZXInXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuTWFya2V0aW5nRW1haWxzJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLlVzZXJzLk1hcmtldGluZ0VtYWlscycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2VuZF9tYXJrZXRpbmdfZW1haWxzXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwic2VuZF9tYXJrZXRpbmdfZW1haWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2VuZF9tYXJrZXRpbmdfZW1haWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydzZW5kX21hcmtldGluZ19lbWFpbHMnXS5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3VpLXN3aXRjaD5cbiAgICAgICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiXG4gICAgICAgICAgICAgICAgICAqcmJhY0FsbG93PVwiJ1N1cGVyQWRtaW4nXCI+XG4gICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ2xhc3NdPVwiJ3RleHQtd2FybmluZydcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuQWxwaGEnfHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uVXNlcnMuQWxwaGEnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImFscGhhXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwiYWxwaGFcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJhbHBoYVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydhbHBoYSddLmVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ2xhc3NdPVwiJ3RleHQtd2FybmluZydcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuQmV0YSd8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Vc2Vycy5CZXRhJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJiZXRhXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwiYmV0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJldGFcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnYmV0YSddLmVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCJcbiAgICAgICAgICAgICAgICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uU3VwZXJBZG1pbidcIj5cbiAgICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxDbGFzc109XCIndGV4dC13YXJuaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uVXNlcnMuVG9vbHRpcC5CbG9ja2VkJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLlVzZXJzLkJsb2NrZWQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJsb2NrZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVpLXN3aXRjaCBmb3JtQ29udHJvbE5hbWU9XCJibG9ja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYmxvY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydibG9ja2VkJ10uZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtZW5kIG1iLTMgbXQtNFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGlzY2FyZCgpXCI+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJzdWJtaXR0ZWRcIlxuICAgICAgICAgICAgICAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLlVzZXJzLkVkaXQnXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAge3sgJ0J1dHRvbi5TYXZlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2VyLWRldGFpbHMvdXNlci1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2VyLWRldGFpbHMvdXNlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7QUFXL0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQWdCdEQsWUFDcUIsWUFBMEIsRUFDM0MsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFkdkMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUUvQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBS2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFXYixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQ2pF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QUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFRCxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQWxLUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4RUNsQmpDLHN5T0F3S0E7O0FEOUVJO0lBREMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7OztrREFlcEI7NEZBdEZRLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxpQkFBaUI7d0dBMkUzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSwgQXBwQWRtaW4gfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSb2xlLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgVmFsaWRhdGVGb3JtIH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2FwaS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXVzZXItZGV0YWlscycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlckRldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBwcml2YXRlIHVzZXJSb2xlczogUm9sZVtdID0gW107XG5cbiAgICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIGlkOiBudW1iZXI7XG5cbiAgICB1c2VyOiBVc2VyO1xuICAgIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBhbGxSb2xlczogU2VsZWN0SXRlbVtdO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmZvcm0gPSBBcHBBZG1pbi5nZXRVc2Vyc0Zvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKChkYXRhOiBVc2VyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gK2RhdGFbJ2lkJ107XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFVzZXJEZXRhaWxzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRVc2VyUm9sZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5nZXRSb2xlcygpO1xuICAgIH1cblxuICAgIGdldCBmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXNlckRldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXNlckJ5SWQodGhpcy5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIuc2VuZF9tYXJrZXRpbmdfZW1haWxzID0gdXNlci5zZW5kX21hcmtldGluZ19lbWFpbHMgfHwgZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodXNlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXNlclJvbGUoKSB7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmdldFVzZXJSb2xlKHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJSb2xlcyA9IHJlc3BvbnNlLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgcm9sZXM6IHRoaXMudXNlclJvbGVzLm1hcCh4ID0+IHguaWQpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQFZhbGlkYXRlRm9ybSgnZm9ybScpXG4gICAgb25TYXZlKCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICBibG9ja2VkOiB0aGlzLmZvcm0udmFsdWUuYmxvY2tlZCA/PyBmYWxzZSxcbiAgICAgICAgICAgIGFscGhhOiB0aGlzLmZvcm0udmFsdWUuYWxwaGEgPz8gZmFsc2UsXG4gICAgICAgICAgICBiZXRhOiB0aGlzLmZvcm0udmFsdWUuYmV0YSA/PyBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICBkZWxldGUgZGF0YS5yb2xlcztcbiAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVXNlcihkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVXNlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlVXNlcigpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5jcmVhdGVVc2VyKHRoaXMuZm9ybS52YWx1ZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7T2JqZWN0LmtleXMocmVzcG9uc2UuZXJyb3IubWVzc2FnZSlbMF19ICR7T2JqZWN0LnZhbHVlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5lcnJvci5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICApLmpvaW4oJycpfWBcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlVzZXJzLkFkZGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVVc2VyKGRhdGEpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5zYXZlVXNlckRldGFpbHMoeyAuLi5kYXRhLCBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWQgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5Vc2Vycy5VcGRhdGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycj8uZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IoZXJyLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Um9sZXMoKSB7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmdldFJvbGVzKHt9LCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxsUm9sZXMgPSByZXNwb25zZS5yb2xlcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogaW5kZXggPT09IDBcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy50b2FzdC5zaG93VG9hc3QoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUm9sZUNoYW5nZShldmVudCkge1xuICAgICAgICBsZXQgb2IkOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPjtcbiAgICAgICAgaWYgKHRoaXMudXNlclJvbGVzLmxlbmd0aCA8IGV2ZW50LnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgb2IkID0gdGhpcy5hZG1pblNlcnZpY2Uuc2F2ZVVzZXJSb2xlKHRoaXMuaWQsIGV2ZW50Lml0ZW1WYWx1ZSwgdGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYiQgPSB0aGlzLmFkbWluU2VydmljZS5kZWxldGVVc2VyUm9sZSh0aGlzLmlkLCBldmVudC5pdGVtVmFsdWUsIHRoaXMuc3Vic2NyaXB0aW9uSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgb2IkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlVzZXJzLlVwZGF0ZWRSb2xlJykpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRpc2NhcmQoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCJcbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgcHctdGFiIG92ZXJmbG93LWhpZGRlblwiPlxuICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkIHVzZXItZGV0YWlsc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lLWF1dG8gY29sLXhzLTYgbXQtNFwiPlxuICAgICAgICA8YSBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gVGFyZ2V0XCJcbiAgICAgICAgICAoY2xpY2spPVwiYmFjaygpXCJcbiAgICAgICAgICBjbGFzcz1cInByZXZpb3VzXCI+PGkgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9hPlxuICAgICAgICAgIDxoMyAqbmdJZj1cInVzZXI/LmZpcnN0X25hbWUgJiYgdXNlcj8uZW1haWw7IGVsc2UgdXNlckxhYmVsXCI+XG4gICAgICAgICAgICBVc2VyOiB7eyB1c2VyPy5maXJzdF9uYW1lIHx8IHVzZXI/LmVtYWlsIH19XG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3VzZXJMYWJlbD5cbiAgICAgICAgICAgIDxoMz5Vc2VyPC9oMz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG5cblxuICAgICAgPGRpdiBjbGFzcz1cInAtMiBtdC0zXCIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICAgICAgKG5nU3VibWl0KT1cIm9uU2F2ZSgpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNlwiPlxuICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuRmlyc3ROYW1lJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTGFiZWwuRmlyc3ROYW1lJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpcnN0X25hbWVcIlxuICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uVXNlcnMuVmFsaWRhdGlvbi5GaXJzdE5hbWUnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZpcnN0X25hbWVcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJmaXJzdF9uYW1lXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnZmlyc3RfbmFtZSddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLlByZWZlcnJlZE5hbWUnfHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJQcmVmZXJyZWQgTmFtZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInByZWZlcnJlZF9uYW1lXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByZWZlcnJlZF9uYW1lXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwicHJlZmVycmVkX25hbWVcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydwcmVmZXJyZWRfbmFtZSddLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAvPlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02XCI+XG4gICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uVXNlcnMuVG9vbHRpcC5MYXN0TmFtZSd8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0xhYmVsLkxhc3ROYW1lJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgbmFtZT1cImxhc3RfbmFtZVwiXG4gICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Vc2Vycy5WYWxpZGF0aW9uLkxhc3ROYW1lJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsYXN0X25hbWVcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJsYXN0X25hbWVcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydsYXN0X25hbWUnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uVXNlcnMuVG9vbHRpcC5FbWFpbCd8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0xhYmVsLkVtYWlsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgbmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLlVzZXJzLlZhbGlkYXRpb24uRW1haWwnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydlbWFpbCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNlwiPlxuICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuUGhvbmVOdW1iZXInfHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Vc2Vycy5QaG9uZU51bWJlcicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJwaG9uZV9udW1iZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVfbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsncGhvbmVfbnVtYmVyJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLk1hcmtldGluZ0VtYWlscyd8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Vc2Vycy5NYXJrZXRpbmdFbWFpbHMnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlbmRfbWFya2V0aW5nX2VtYWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInNlbmRfbWFya2V0aW5nX2VtYWlsc1wiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlbmRfbWFya2V0aW5nX2VtYWlsc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnc2VuZF9tYXJrZXRpbmdfZW1haWxzJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIlxuICAgICAgICAgICAgICAgICAgKnJiYWNBbGxvdz1cIidTdXBlckFkbWluJ1wiPlxuICAgICAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbENsYXNzXT1cIid0ZXh0LXdhcm5pbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLkFscGhhJ3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLlVzZXJzLkFscGhhJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJhbHBoYVwiPlxuICAgICAgICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImFscGhhXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYWxwaGFcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnYWxwaGEnXS5lcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3VpLXN3aXRjaD5cbiAgICAgICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbENsYXNzXT1cIid0ZXh0LXdhcm5pbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Vc2Vycy5Ub29sdGlwLkJldGEnfHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uVXNlcnMuQmV0YScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYmV0YVwiPlxuICAgICAgICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImJldGFcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJiZXRhXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2JldGEnXS5lcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3VpLXN3aXRjaD5cbiAgICAgICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiXG4gICAgICAgICAgICAgICAgICAqcmJhY0FsbG93PVwiJ1N1YnNjcmlwdGlvblN1cGVyQWRtaW4nXCI+XG4gICAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsQ2xhc3NdPVwiJ3RleHQtd2FybmluZydcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLlVzZXJzLlRvb2x0aXAuQmxvY2tlZCd8dHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Vc2Vycy5CbG9ja2VkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJibG9ja2VkXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1aS1zd2l0Y2ggZm9ybUNvbnRyb2xOYW1lPVwiYmxvY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJsb2NrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnYmxvY2tlZCddLmVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWVuZCBtYi0zIG10LTRcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkRpc2NhcmQoKVwiPlxuICAgICAgICAgICAgICB7eyAnQnV0dG9uLkNhbmNlbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgW2J1dHRvbkJ1c3ldPVwic3VibWl0dGVkXCJcbiAgICAgICAgICAgICAgKnJiYWNBbGxvdz1cIidQYWdlcy5BZG1pbi5Vc2Vycy5FZGl0J1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uU2F2ZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
50
50
|
type: Component,
|
|
51
51
|
args: [{ selector: 'pw-admin-user-insight', template: "<div class=\"row\">\n <div class=\"col-sm-12\">\n <h2 class=\"card-title\">User Statistics</h2>\n <app-date-picker\n [selectedDateRange]=\"selectedDateRange\"\n [dateRanges]=\"dateRanges\"\n (dateRangeChange)=\"onDateRangeSelect($event)\">\n</app-date-picker>\n<div class=\"w-100 text-center mt-3\" *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<ng-template [ngIf]=\"graph\">\n <plotly-plot [data]=\"graph?.data\"\n [config]=\"graph?.config\"\n [layout]=\"graph?.layout\" [useResizeHandler]=\"true\"></plotly-plot>\n</ng-template>\n </div>\n</div>\n" }]
|
|
52
52
|
}], ctorParameters: () => [{ type: i1.AdminService }, { type: i0.Injector }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtaW5zaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvdXNlcnMvdXNlcnMtaW5zaWdodC91c2Vycy1pbnNpZ2h0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2Vycy1pbnNpZ2h0L3VzZXJzLWluc2lnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFNM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQVd0RCxZQUNxQixZQUEwQixFQUMzQyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUkvQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVk7YUFDWixlQUFlLENBQ1osSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFNBQVM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUN2RCxDQUFDLENBQUMsRUFBRSxFQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDckQsQ0FBQyxDQUFDLEVBQUUsQ0FDWDthQUNBLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUMxQixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBMkQ7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBcERRLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9GQ2JqQyx1bUJBa0JBOzs0RkRMYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUGxvdGx5IH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBoYW5kbGVEYXRlUmFuZ2VTZWxlY3Rpb24gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWFkbWluLXVzZXItaW5zaWdodCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLWluc2lnaHQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJJbnNpZ2h0Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBncmFwaDogUGxvdGx5LkZpZ3VyZTtcblxuICAgIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBzZWxlY3RlZERhdGVSYW5nZTtcblxuICAgIGRhdGVSYW5nZXM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uLmlkO1xuICAgICAgICB0aGlzLmRhdGVSYW5nZXMgPSBIZWxwZXJTZXJ2aWNlLmluaXRpYWxpemVEYXRlUmFuZ2VzKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSAnJztcbiAgICAgICAgdGhpcy5nZXRDaGFydERhdGEoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoYXJ0RGF0YSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmdldFVzZXJzSW5zaWdodChcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LnN0YXJ0RGF0ZVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcpXG4gICAgICAgICAgICAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uZW5kRGF0ZVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZS5mb3JtYXQoJ1lZWVktTU0tREQnKVxuICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyYXBoID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGF0ZVJhbmdlU2VsZWN0KGV2ZW50OiB7IHN0YXJ0RGF0ZTogbW9tZW50Lk1vbWVudDsgZW5kRGF0ZTogbW9tZW50Lk1vbWVudCB9KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSBoYW5kbGVEYXRlUmFuZ2VTZWxlY3Rpb24oZXZlbnQsIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UpO1xuICAgICAgICB0aGlzLmdldENoYXJ0RGF0YSgpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxuICAgIDxoMiBjbGFzcz1cImNhcmQtdGl0bGVcIj5Vc2VyIFN0YXRpc3RpY3M8L2gyPlxuICAgIDxhcHAtZGF0ZS1waWNrZXJcbiAgW3NlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgW2RhdGVSYW5nZXNdPVwiZGF0ZVJhbmdlc1wiXG4gIChkYXRlUmFuZ2VDaGFuZ2UpPVwib25EYXRlUmFuZ2VTZWxlY3QoJGV2ZW50KVwiPlxuPC9hcHAtZGF0ZS1waWNrZXI+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImdyYXBoXCI+XG4gIDxwbG90bHktcGxvdCBbZGF0YV09XCJncmFwaD8uZGF0YVwiXG4gICAgW2NvbmZpZ109XCJncmFwaD8uY29uZmlnXCJcbiAgICBbbGF5b3V0XT1cImdyYXBoPy5sYXlvdXRcIiBbdXNlUmVzaXplSGFuZGxlcl09XCJ0cnVlXCI+PC9wbG90bHktcGxvdD5cbjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|