@po-ui/ng-templates 6.10.1 → 6.12.1
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/esm2020/lib/components/po-page-blocked-user/po-page-blocked-user.component.mjs +3 -3
- package/esm2020/lib/components/po-page-change-password/po-page-change-password.component.mjs +3 -3
- package/esm2020/lib/components/po-page-login/po-page-login.component.mjs +3 -3
- package/fesm2015/po-ui-ng-templates.mjs +6 -6
- package/fesm2015/po-ui-ng-templates.mjs.map +1 -1
- package/fesm2020/po-ui-ng-templates.mjs +6 -6
- package/fesm2020/po-ui-ng-templates.mjs.map +1 -1
- package/package.json +4 -4
- package/po-ui-ng-templates-6.12.1.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.spec.js +5 -5
- package/schematics/ng-generate/po-page-blocked-user/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-change-password/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-dynamic-detail/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-dynamic-edit/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-dynamic-search/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-dynamic-table/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-job-scheduler/index.spec.js +12 -12
- package/schematics/ng-generate/po-page-login/index.spec.js +12 -12
- package/po-ui-ng-templates-6.10.1.tgz +0 -0
|
@@ -79,7 +79,7 @@ export class PoPageBlockedUserComponent extends PoPageBlockedUserBaseComponent {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
PoPageBlockedUserComponent.ɵfac = function PoPageBlockedUserComponent_Factory(t) { return new (t || PoPageBlockedUserComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.PoLanguageService)); };
|
|
82
|
-
PoPageBlockedUserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageBlockedUserComponent, selectors: [["po-page-blocked-user"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 8, consts: [[1, "po-page-blocked-user-wrapper"], [1, "po-page-background-wrap"], [3, "p-hide-logo", "p-logo", "p-secondary-logo"], [3, "p-params", "p-reason"], [1, "po-page-blocked-user-mobile-bottom-alignment"], [3, "p-email", "p-phone"], [1, "po-row"], ["p-
|
|
82
|
+
PoPageBlockedUserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPageBlockedUserComponent, selectors: [["po-page-blocked-user"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 8, consts: [[1, "po-page-blocked-user-wrapper"], [1, "po-page-background-wrap"], [3, "p-hide-logo", "p-logo", "p-secondary-logo"], [3, "p-params", "p-reason"], [1, "po-page-blocked-user-mobile-bottom-alignment"], [3, "p-email", "p-phone"], [1, "po-row"], ["p-kind", "primary", 1, "po-lg-12", "po-sm-12", "po-page-blocked-user-button", 3, "p-label", "p-click"]], template: function PoPageBlockedUserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
83
83
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "po-page-background", 2);
|
|
84
84
|
i0.ɵɵelement(3, "po-page-blocked-user-reason", 3);
|
|
85
85
|
i0.ɵɵelementStart(4, "div", 4);
|
|
@@ -99,6 +99,6 @@ PoPageBlockedUserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
99
99
|
} }, directives: [i3.PoPageBackgroundComponent, i4.PoPageBlockedUserReasonComponent, i5.PoPageBlockedUserContactsComponent, i2.PoButtonComponent], encapsulation: 2 });
|
|
100
100
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageBlockedUserComponent, [{
|
|
101
101
|
type: Component,
|
|
102
|
-
args: [{ selector: 'po-page-blocked-user', template: "<div class=\"po-page-blocked-user-wrapper\">\n <div class=\"po-page-background-wrap\">\n <po-page-background [p-hide-logo]=\"true\" [p-logo]=\"logo\" [p-secondary-logo]=\"secondaryLogo\">\n <po-page-blocked-user-reason [p-params]=\"params\" [p-reason]=\"reason\"> </po-page-blocked-user-reason>\n\n <div class=\"po-page-blocked-user-mobile-bottom-alignment\">\n <po-page-blocked-user-contacts [p-email]=\"contactEmail\" [p-phone]=\"contactPhone\">\n </po-page-blocked-user-contacts>\n\n <div class=\"po-row\">\n <po-button\n class=\"po-lg-12 po-sm-12 po-page-blocked-user-button\"\n p-
|
|
102
|
+
args: [{ selector: 'po-page-blocked-user', template: "<div class=\"po-page-blocked-user-wrapper\">\n <div class=\"po-page-background-wrap\">\n <po-page-background [p-hide-logo]=\"true\" [p-logo]=\"logo\" [p-secondary-logo]=\"secondaryLogo\">\n <po-page-blocked-user-reason [p-params]=\"params\" [p-reason]=\"reason\"> </po-page-blocked-user-reason>\n\n <div class=\"po-page-blocked-user-mobile-bottom-alignment\">\n <po-page-blocked-user-contacts [p-email]=\"contactEmail\" [p-phone]=\"contactPhone\">\n </po-page-blocked-user-contacts>\n\n <div class=\"po-row\">\n <po-button\n class=\"po-lg-12 po-sm-12 po-page-blocked-user-button\"\n p-kind=\"primary\"\n [p-label]=\"literals?.primaryButton\"\n (p-click)=\"navigateTo(urlBack)\"\n >\n </po-button>\n </div>\n </div>\n </po-page-background>\n </div>\n</div>\n" }]
|
|
103
103
|
}], function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.PoLanguageService }]; }, null); })();
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1ibG9ja2VkLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWJsb2NrZWQtdXNlci9wby1wYWdlLWJsb2NrZWQtdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtYmxvY2tlZC11c2VyL3BvLXBhZ2UtYmxvY2tlZC11c2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFxQixlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFFdkYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQVc7SUFDckQsRUFBRSxFQUFPO1FBQ1AsYUFBYSxFQUFFLHFCQUFxQjtLQUNyQztJQUNELEVBQUUsRUFBTztRQUNQLGFBQWEsRUFBRSxrQkFBa0I7S0FDbEM7SUFDRCxFQUFFLEVBQU87UUFDUCxhQUFhLEVBQUUsc0JBQXNCO0tBQ3RDO0lBQ0QsRUFBRSxFQUFPO1FBQ1AsYUFBYSxFQUFFLDJCQUEyQjtLQUMzQztDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBTUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDhCQUE4QjtJQUc1RSxZQUFvQixjQUE4QixFQUFVLE1BQWMsRUFBRSxlQUFrQztRQUM1RyxLQUFLLEVBQUUsQ0FBQztRQURVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFHeEUsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsK0JBQStCLENBQUMsZUFBZSxDQUFDO1lBQ25ELEdBQUcsK0JBQStCLENBQUMsUUFBUSxDQUFDO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUNsRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDMUQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsSUFBSTtRQUNuQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM5RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNsRjtJQUNILENBQUM7O29HQW5DVSwwQkFBMEI7NkVBQTFCLDBCQUEwQjtRQ3REdkMsOEJBQTBDLGFBQUEsNEJBQUE7UUFHcEMsaURBQW9HO1FBRXBHLDhCQUEwRDtRQUN4RCxtREFDZ0M7UUFFaEMsOEJBQW9CLG1CQUFBO1FBS2hCLDhHQUFXLDJCQUFtQixJQUFDO1FBRWpDLGlCQUFZLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7UUFkRSxlQUFvQjtRQUFwQixrQ0FBb0Isb0JBQUEsdUNBQUE7UUFDVCxlQUFtQjtRQUFuQixxQ0FBbUIsd0JBQUE7UUFHZixlQUF3QjtRQUF4QiwwQ0FBd0IsNkJBQUE7UUFPbkQsZUFBbUM7UUFBbkMsa0ZBQW1DOzt1RkR5Q2xDLDBCQUEwQjtjQUp0QyxTQUFTOzJCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UsIHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgaXNFeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9QYWdlQmxvY2tlZFVzZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWJsb2NrZWQtdXNlci1iYXNlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBwb1BhZ2VCbG9ja2VkVXNlckJ1dHRvbkxpdGVyYWxzOiBPYmplY3QgPSB7XG4gIGVuOiA8YW55PntcbiAgICBwcmltYXJ5QnV0dG9uOiAnQmFjayB0byBob21lIHNjcmVlbidcbiAgfSxcbiAgZXM6IDxhbnk+e1xuICAgIHByaW1hcnlCdXR0b246ICdWb2x2ZXIgYWwgaW5pY2lvJ1xuICB9LFxuICBwdDogPGFueT57XG4gICAgcHJpbWFyeUJ1dHRvbjogJ1ZvbHRhciBwYXJhIG8gaW7DrWNpbydcbiAgfSxcbiAgcnU6IDxhbnk+e1xuICAgIHByaW1hcnlCdXR0b246ICfQn9C10YDQtdC50YLQuCDQuiDQvdCw0YfQsNC70YMg0YHRgtGA0LDQvdC40YbRiydcbiAgfVxufTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlQmxvY2tlZFVzZXJCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItYmFzaWNcIiB0aXRsZT1cIlBPIFBhZ2UgQmxvY2tlZCBVc2VyIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1iYXNpYy9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItYmFzaWMvc2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtYmxvY2tlZC11c2VyLWxhYnNcIiB0aXRsZT1cIlBPIFBhZ2UgQmxvY2tlZCBVc2VyIExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWxhYnMvc2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItbGFicy9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWJsb2NrZWQtdXNlci1leGNlZWRlZC1hdHRlbXB0c1wiIHRpdGxlPVwiUE8gUGFnZSBCbG9ja2VkIFVzZXIgRXhjZWVkZWQgQXR0ZW1wdHNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWV4Y2VlZGVkLWF0dGVtcHRzL3NhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leGNlZWRlZC1hdHRlbXB0cy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leGNlZWRlZC1hdHRlbXB0cy9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItZXhjZWVkZWQtYXR0ZW1wdHMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItZXhwaXJlZC1wYXNzd29yZFwiIHRpdGxlPVwiUE8gUGFnZSBCbG9ja2VkIFVzZXIgRXhwaXJlZCBQYXNzd29yZFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItZXhwaXJlZC1wYXNzd29yZC9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItZXhwaXJlZC1wYXNzd29yZC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leHBpcmVkLXBhc3N3b3JkL3NhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leHBpcmVkLXBhc3N3b3JkLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1ibG9ja2VkLXVzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1ibG9ja2VkLXVzZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUJsb2NrZWRVc2VyQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlQmxvY2tlZFVzZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbGl0ZXJhbHM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnBvUGFnZUJsb2NrZWRVc2VyQnV0dG9uTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvUGFnZUJsb2NrZWRVc2VyQnV0dG9uTGl0ZXJhbHNbbGFuZ3VhZ2VdXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvKHVybDogc3RyaW5nKSB7XG4gICAgaXNFeHRlcm5hbExpbmsodXJsKSA/IHdpbmRvdy5vcGVuKHVybCkgOiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsIHx8ICcvJ10pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSkpIHtcbiAgICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKGRhdGEpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICB0aGlzLmNvbnRhY3RFbWFpbCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdjb250YWN0RW1haWwnKSB8fCB0aGlzLmNvbnRhY3RFbWFpbDtcbiAgICAgIHRoaXMuY29udGFjdFBob25lID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ2NvbnRhY3RQaG9uZScpIHx8IHRoaXMuY29udGFjdFBob25lO1xuICAgICAgdGhpcy5yZWFzb24gPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAncmVhc29uJykgfHwgdGhpcy5yZWFzb247XG4gICAgICB0aGlzLnVybEJhY2sgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAndXJsQmFjaycpIHx8IHRoaXMudXJsQmFjaztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1wYWdlLWJsb2NrZWQtdXNlci13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtd3JhcFwiPlxuICAgIDxwby1wYWdlLWJhY2tncm91bmQgW3AtaGlkZS1sb2dvXT1cInRydWVcIiBbcC1sb2dvXT1cImxvZ29cIiBbcC1zZWNvbmRhcnktbG9nb109XCJzZWNvbmRhcnlMb2dvXCI+XG4gICAgICA8cG8tcGFnZS1ibG9ja2VkLXVzZXItcmVhc29uIFtwLXBhcmFtc109XCJwYXJhbXNcIiBbcC1yZWFzb25dPVwicmVhc29uXCI+
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1ibG9ja2VkLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWJsb2NrZWQtdXNlci9wby1wYWdlLWJsb2NrZWQtdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtYmxvY2tlZC11c2VyL3BvLXBhZ2UtYmxvY2tlZC11c2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFxQixlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFFdkYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQVc7SUFDckQsRUFBRSxFQUFPO1FBQ1AsYUFBYSxFQUFFLHFCQUFxQjtLQUNyQztJQUNELEVBQUUsRUFBTztRQUNQLGFBQWEsRUFBRSxrQkFBa0I7S0FDbEM7SUFDRCxFQUFFLEVBQU87UUFDUCxhQUFhLEVBQUUsc0JBQXNCO0tBQ3RDO0lBQ0QsRUFBRSxFQUFPO1FBQ1AsYUFBYSxFQUFFLDJCQUEyQjtLQUMzQztDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBTUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDhCQUE4QjtJQUc1RSxZQUFvQixjQUE4QixFQUFVLE1BQWMsRUFBRSxlQUFrQztRQUM1RyxLQUFLLEVBQUUsQ0FBQztRQURVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFHeEUsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsK0JBQStCLENBQUMsZUFBZSxDQUFDO1lBQ25ELEdBQUcsK0JBQStCLENBQUMsUUFBUSxDQUFDO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUNsRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDMUQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsSUFBSTtRQUNuQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM5RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNsRjtJQUNILENBQUM7O29HQW5DVSwwQkFBMEI7NkVBQTFCLDBCQUEwQjtRQ3REdkMsOEJBQTBDLGFBQUEsNEJBQUE7UUFHcEMsaURBQW9HO1FBRXBHLDhCQUEwRDtRQUN4RCxtREFDZ0M7UUFFaEMsOEJBQW9CLG1CQUFBO1FBS2hCLDhHQUFXLDJCQUFtQixJQUFDO1FBRWpDLGlCQUFZLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7UUFkRSxlQUFvQjtRQUFwQixrQ0FBb0Isb0JBQUEsdUNBQUE7UUFDVCxlQUFtQjtRQUFuQixxQ0FBbUIsd0JBQUE7UUFHZixlQUF3QjtRQUF4QiwwQ0FBd0IsNkJBQUE7UUFPbkQsZUFBbUM7UUFBbkMsa0ZBQW1DOzt1RkR5Q2xDLDBCQUEwQjtjQUp0QyxTQUFTOzJCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UsIHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgaXNFeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9QYWdlQmxvY2tlZFVzZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWJsb2NrZWQtdXNlci1iYXNlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBwb1BhZ2VCbG9ja2VkVXNlckJ1dHRvbkxpdGVyYWxzOiBPYmplY3QgPSB7XG4gIGVuOiA8YW55PntcbiAgICBwcmltYXJ5QnV0dG9uOiAnQmFjayB0byBob21lIHNjcmVlbidcbiAgfSxcbiAgZXM6IDxhbnk+e1xuICAgIHByaW1hcnlCdXR0b246ICdWb2x2ZXIgYWwgaW5pY2lvJ1xuICB9LFxuICBwdDogPGFueT57XG4gICAgcHJpbWFyeUJ1dHRvbjogJ1ZvbHRhciBwYXJhIG8gaW7DrWNpbydcbiAgfSxcbiAgcnU6IDxhbnk+e1xuICAgIHByaW1hcnlCdXR0b246ICfQn9C10YDQtdC50YLQuCDQuiDQvdCw0YfQsNC70YMg0YHRgtGA0LDQvdC40YbRiydcbiAgfVxufTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlQmxvY2tlZFVzZXJCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItYmFzaWNcIiB0aXRsZT1cIlBPIFBhZ2UgQmxvY2tlZCBVc2VyIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1iYXNpYy9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItYmFzaWMvc2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtYmxvY2tlZC11c2VyLWxhYnNcIiB0aXRsZT1cIlBPIFBhZ2UgQmxvY2tlZCBVc2VyIExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWxhYnMvc2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItbGFicy9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWJsb2NrZWQtdXNlci1leGNlZWRlZC1hdHRlbXB0c1wiIHRpdGxlPVwiUE8gUGFnZSBCbG9ja2VkIFVzZXIgRXhjZWVkZWQgQXR0ZW1wdHNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtYmxvY2tlZC11c2VyLWV4Y2VlZGVkLWF0dGVtcHRzL3NhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leGNlZWRlZC1hdHRlbXB0cy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leGNlZWRlZC1hdHRlbXB0cy9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItZXhjZWVkZWQtYXR0ZW1wdHMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItZXhwaXJlZC1wYXNzd29yZFwiIHRpdGxlPVwiUE8gUGFnZSBCbG9ja2VkIFVzZXIgRXhwaXJlZCBQYXNzd29yZFwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItZXhwaXJlZC1wYXNzd29yZC9zYW1wbGUtcG8tcGFnZS1ibG9ja2VkLXVzZXItZXhwaXJlZC1wYXNzd29yZC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leHBpcmVkLXBhc3N3b3JkL3NhbXBsZS1wby1wYWdlLWJsb2NrZWQtdXNlci1leHBpcmVkLXBhc3N3b3JkLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1ibG9ja2VkLXVzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1ibG9ja2VkLXVzZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUJsb2NrZWRVc2VyQ29tcG9uZW50IGV4dGVuZHMgUG9QYWdlQmxvY2tlZFVzZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbGl0ZXJhbHM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnBvUGFnZUJsb2NrZWRVc2VyQnV0dG9uTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvUGFnZUJsb2NrZWRVc2VyQnV0dG9uTGl0ZXJhbHNbbGFuZ3VhZ2VdXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvKHVybDogc3RyaW5nKSB7XG4gICAgaXNFeHRlcm5hbExpbmsodXJsKSA/IHdpbmRvdy5vcGVuKHVybCkgOiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsIHx8ICcvJ10pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSkpIHtcbiAgICAgIHJldHVybiBvYmplY3RbcHJvcGVydHldO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKGRhdGEpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICB0aGlzLmNvbnRhY3RFbWFpbCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdjb250YWN0RW1haWwnKSB8fCB0aGlzLmNvbnRhY3RFbWFpbDtcbiAgICAgIHRoaXMuY29udGFjdFBob25lID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ2NvbnRhY3RQaG9uZScpIHx8IHRoaXMuY29udGFjdFBob25lO1xuICAgICAgdGhpcy5yZWFzb24gPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAncmVhc29uJykgfHwgdGhpcy5yZWFzb247XG4gICAgICB0aGlzLnVybEJhY2sgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAndXJsQmFjaycpIHx8IHRoaXMudXJsQmFjaztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwby1wYWdlLWJsb2NrZWQtdXNlci13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1wYWdlLWJhY2tncm91bmQtd3JhcFwiPlxuICAgIDxwby1wYWdlLWJhY2tncm91bmQgW3AtaGlkZS1sb2dvXT1cInRydWVcIiBbcC1sb2dvXT1cImxvZ29cIiBbcC1zZWNvbmRhcnktbG9nb109XCJzZWNvbmRhcnlMb2dvXCI+XG4gICAgICA8cG8tcGFnZS1ibG9ja2VkLXVzZXItcmVhc29uIFtwLXBhcmFtc109XCJwYXJhbXNcIiBbcC1yZWFzb25dPVwicmVhc29uXCI+IDwvcG8tcGFnZS1ibG9ja2VkLXVzZXItcmVhc29uPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItbW9iaWxlLWJvdHRvbS1hbGlnbm1lbnRcIj5cbiAgICAgICAgPHBvLXBhZ2UtYmxvY2tlZC11c2VyLWNvbnRhY3RzIFtwLWVtYWlsXT1cImNvbnRhY3RFbWFpbFwiIFtwLXBob25lXT1cImNvbnRhY3RQaG9uZVwiPlxuICAgICAgICA8L3BvLXBhZ2UtYmxvY2tlZC11c2VyLWNvbnRhY3RzPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3dcIj5cbiAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cInBvLWxnLTEyIHBvLXNtLTEyIHBvLXBhZ2UtYmxvY2tlZC11c2VyLWJ1dHRvblwiXG4gICAgICAgICAgICBwLWtpbmQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzPy5wcmltYXJ5QnV0dG9uXCJcbiAgICAgICAgICAgIChwLWNsaWNrKT1cIm5hdmlnYXRlVG8odXJsQmFjaylcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3BvLXBhZ2UtYmFja2dyb3VuZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2020/lib/components/po-page-change-password/po-page-change-password.component.mjs
CHANGED
|
@@ -289,7 +289,7 @@ PoPageChangePasswordComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
|
|
|
289
289
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modal = _t.first);
|
|
290
290
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pageChangePassword = _t.first);
|
|
291
291
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.passwordForm = _t.first);
|
|
292
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 43, vars: 25, consts: [[1, "po-page-change-password-wrapper"], ["pageChangePassword", ""], [1, "po-page-change-password-container"], [1, "po-page-change-password", 3, "p-logo", "p-secondary-logo"], [1, "po-page-blocked-user-header", "po-row"], [1, "po-md-12"], [1, "po-md-12", "po-text-center", "po-font-text"], ["passwordForm", "ngForm"], [1, "po-row", "po-mt-3", "po-mt-sm-1"], [1, "po-md-6", 3, "ngClass"], [4, "ngIf"], ["class", "po-text-center po-mb-sm-1 po-mb-2", 4, "ngIf"], ["name", "newPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["name", "confirmPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["class", "po-md-6 po-page-change-password-required-container", 4, "ngIf"], [1, "po-sm-12"], [1, "po-page-change-password-tips", "po-row"], [1, "po-md-2", "po-mr-3"], ["alt", "Blocked user image", "src", "./assets/images/big-lock.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], [1, "po-md-9", "po-page-change-password-tips-text"], [1, "po-font-text-bold", "po-pb-1"], [1, "po-font-text-small"], [1, "po-row", "po-pb-1"], [1, "po-page-change-password-buttons", "po-row"], [1, "po-sm-12", "po-mobile-only"], ["class", "po-sm-6 po-mb-sm-1", 3, "p-label", "p-click", 4, "ngIf"], ["p-
|
|
292
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 43, vars: 25, consts: [[1, "po-page-change-password-wrapper"], ["pageChangePassword", ""], [1, "po-page-change-password-container"], [1, "po-page-change-password", 3, "p-logo", "p-secondary-logo"], [1, "po-page-blocked-user-header", "po-row"], [1, "po-md-12"], [1, "po-md-12", "po-text-center", "po-font-text"], ["passwordForm", "ngForm"], [1, "po-row", "po-mt-3", "po-mt-sm-1"], [1, "po-md-6", 3, "ngClass"], [4, "ngIf"], ["class", "po-text-center po-mb-sm-1 po-mb-2", 4, "ngIf"], ["name", "newPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["name", "confirmPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange", "p-change-model"], ["class", "po-md-6 po-page-change-password-required-container", 4, "ngIf"], [1, "po-sm-12"], [1, "po-page-change-password-tips", "po-row"], [1, "po-md-2", "po-mr-3"], ["alt", "Blocked user image", "src", "./assets/images/big-lock.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], [1, "po-md-9", "po-page-change-password-tips-text"], [1, "po-font-text-bold", "po-pb-1"], [1, "po-font-text-small"], [1, "po-row", "po-pb-1"], [1, "po-page-change-password-buttons", "po-row"], [1, "po-sm-12", "po-mobile-only"], ["class", "po-sm-6 po-mb-sm-1", 3, "p-label", "p-click", 4, "ngIf"], ["p-kind", "primary", 3, "ngClass", "p-disabled", "p-label", "p-click"], ["p-hide-close", "", "p-size", "auto", 3, "p-primary-action", "p-title"], [1, "po-text-center"], ["alt", "Blocked user image", "src", "./assets/images/success.svg", 1, "po-page-change-password-lock-image", "po-mb-3"], ["name", "currentPassword", "p-required", "", 3, "ngModel", "p-label", "ngModelChange"], [1, "po-text-center", "po-mb-sm-1", "po-mb-2"], ["class", "po-font-text-bold po-page-change-password-forgot-password", 3, "routerLink", 4, "ngIf"], ["class", "po-font-text-bold po-page-change-password-forgot-password", 3, "href", 4, "ngIf"], ["class", "po-font-text-bold po-page-change-password-forgot-password po-clickable", 3, "click", 4, "ngIf"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", 3, "routerLink"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", 3, "href"], [1, "po-font-text-bold", "po-page-change-password-forgot-password", "po-clickable", 3, "click"], [1, "po-md-6", "po-page-change-password-required-container"], [1, "po-page-change-password-required-list"], [1, "po-page-change-password-required-item"], [1, "po-mb-1", "po-font-text-bold", "po-page-change-password-required-title"], ["class", "po-page-change-password-required-item", 4, "ngFor", "ngForOf"], [1, "po-icon", "po-page-change-password-required-icon", 3, "ngClass"], [1, "po-page-change-password-required-text", "po-font-text"], [1, "po-sm-6", "po-mb-sm-1", 3, "p-label", "p-click"]], template: function PoPageChangePasswordComponent_Template(rf, ctx) { if (rf & 1) {
|
|
293
293
|
i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2)(3, "po-page-background", 3)(4, "div", 4)(5, "div", 5);
|
|
294
294
|
i0.ɵɵtext(6);
|
|
295
295
|
i0.ɵɵelementEnd();
|
|
@@ -374,7 +374,7 @@ PoPageChangePasswordComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
|
|
|
374
374
|
} }, directives: [i4.PoPageBackgroundComponent, i5.ɵNgNoValidate, i5.NgControlStatusGroup, i5.NgForm, i6.NgClass, i6.NgIf, i3.PoPasswordComponent, i5.NgControlStatus, i5.NgModel, i1.RouterLinkWithHref, i3.PoContainerComponent, i6.NgForOf, i3.PoDividerComponent, i3.PoButtonComponent, i3.PoModalComponent], encapsulation: 2 });
|
|
375
375
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageChangePasswordComponent, [{
|
|
376
376
|
type: Component,
|
|
377
|
-
args: [{ selector: 'po-page-change-password', template: "<div class=\"po-page-change-password-wrapper\" #pageChangePassword>\n <div class=\"po-page-change-password-container\">\n <po-page-background class=\"po-page-change-password\" [p-logo]=\"logo\" [p-secondary-logo]=\"secondaryLogo\">\n <div class=\"po-page-blocked-user-header po-row\">\n <div class=\"po-md-12\">{{ literals.createNewPassword }}</div>\n <div class=\"po-md-12 po-text-center po-font-text\">\n {{ literals.createNewPasswordPhrase }}\n </div>\n </div>\n\n <form #passwordForm=\"ngForm\">\n <div class=\"po-row po-mt-3 po-mt-sm-1\">\n <div class=\"po-md-6\" [ngClass]=\"{ 'po-offset-md-3 po-offset-lg-3 po-offset-xl-3': !showRequirements }\">\n <div *ngIf=\"!hideCurrentPassword\">\n <po-password\n name=\"currentPassword\"\n [(ngModel)]=\"currentPassword\"\n p-required\n [p-label]=\"literals.currentPassword\"\n >\n </po-password>\n </div>\n <div *ngIf=\"!hideCurrentPassword && recovery\" class=\"po-text-center po-mb-sm-1 po-mb-2\">\n <a\n *ngIf=\"recoveryUrlType === 'internalLink'\"\n class=\"po-font-text-bold po-page-change-password-forgot-password\"\n [routerLink]=\"recovery\"\n >\n {{ literals.forgotPassword }}\n </a>\n <a\n *ngIf=\"recoveryUrlType === 'externalLink'\"\n class=\"po-font-text-bold po-page-change-password-forgot-password\"\n [href]=\"recovery\"\n >\n {{ literals.forgotPassword }}\n </a>\n <a\n *ngIf=\"!recoveryUrlType\"\n class=\"po-font-text-bold po-page-change-password-forgot-password po-clickable\"\n (click)=\"onForgotPasswordClick(recovery)\"\n >\n {{ literals.forgotPassword }}\n </a>\n </div>\n <div>\n <po-password\n name=\"newPassword\"\n [(ngModel)]=\"newPassword\"\n p-required\n [p-label]=\"literals.newPassword\"\n (p-change-model)=\"validatePassword()\"\n >\n </po-password>\n </div>\n <div>\n <po-password\n name=\"confirmPassword\"\n [(ngModel)]=\"confirmPassword\"\n p-required\n [p-label]=\"literals.confirmPassword\"\n (p-change-model)=\"validatePassword()\"\n >\n </po-password>\n </div>\n </div>\n <div *ngIf=\"showRequirements\" class=\"po-md-6 po-page-change-password-required-container\">\n <po-container>\n <ul class=\"po-page-change-password-required-list\">\n <li class=\"po-page-change-password-required-item\">\n <p class=\"po-mb-1 po-font-text-bold po-page-change-password-required-title\">\n {{ literals?.requirements }}\n </p>\n </li>\n <li *ngFor=\"let requirement of requirements\" class=\"po-page-change-password-required-item\">\n <span\n class=\"po-icon po-page-change-password-required-icon\"\n [ngClass]=\"\n validateRequirement(requirement)\n ? 'po-icon-ok po-page-change-password-required-ok'\n : 'po-icon-minus po-page-change-password-required-minus'\n \"\n >\n </span>\n <p class=\"po-page-change-password-required-text po-font-text\">\n {{ requirement.requirement }}\n </p>\n </li>\n </ul>\n </po-container>\n </div>\n </div>\n </form>\n\n <po-divider class=\"po-sm-12\"></po-divider>\n\n <div class=\"po-page-change-password-tips po-row\">\n <div class=\"po-md-2 po-mr-3\">\n <img\n class=\"po-page-change-password-lock-image po-mb-3\"\n alt=\"Blocked user image\"\n src=\"./assets/images/big-lock.svg\"\n />\n </div>\n <div class=\"po-md-9 po-page-change-password-tips-text\">\n <div class=\"po-font-text-bold po-pb-1\">{{ literals.safetyTips }}</div>\n <div class=\"po-font-text-small\">\n <div class=\"po-row po-pb-1\">{{ literals.safetyTipsPhrase }}</div>\n <div class=\"po-row po-pb-1\">\u2022 {{ literals.safetyTipsFirst }}</div>\n <div class=\"po-row po-pb-1\">\u2022 {{ literals.safetyTipsSecond }}</div>\n <div class=\"po-row po-pb-1\">\u2022 {{ literals.safetyTipsThird }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"po-page-change-password-buttons po-row\">\n <po-divider class=\"po-sm-12 po-mobile-only\"></po-divider>\n\n <po-button\n *ngIf=\"!hideCurrentPassword\"\n class=\"po-sm-6 po-mb-sm-1\"\n [p-label]=\"literals.backButton\"\n (p-click)=\"navigateTo(urlBack)\"\n >\n </po-button>\n\n <po-button\n [ngClass]=\"hideCurrentPassword ? 'po-md-12' : 'po-sm-6'\"\n p-
|
|
377
|
+
args: [{ selector: 'po-page-change-password', template: "<div class=\"po-page-change-password-wrapper\" #pageChangePassword>\n <div class=\"po-page-change-password-container\">\n <po-page-background class=\"po-page-change-password\" [p-logo]=\"logo\" [p-secondary-logo]=\"secondaryLogo\">\n <div class=\"po-page-blocked-user-header po-row\">\n <div class=\"po-md-12\">{{ literals.createNewPassword }}</div>\n <div class=\"po-md-12 po-text-center po-font-text\">\n {{ literals.createNewPasswordPhrase }}\n </div>\n </div>\n\n <form #passwordForm=\"ngForm\">\n <div class=\"po-row po-mt-3 po-mt-sm-1\">\n <div class=\"po-md-6\" [ngClass]=\"{ 'po-offset-md-3 po-offset-lg-3 po-offset-xl-3': !showRequirements }\">\n <div *ngIf=\"!hideCurrentPassword\">\n <po-password\n name=\"currentPassword\"\n [(ngModel)]=\"currentPassword\"\n p-required\n [p-label]=\"literals.currentPassword\"\n >\n </po-password>\n </div>\n <div *ngIf=\"!hideCurrentPassword && recovery\" class=\"po-text-center po-mb-sm-1 po-mb-2\">\n <a\n *ngIf=\"recoveryUrlType === 'internalLink'\"\n class=\"po-font-text-bold po-page-change-password-forgot-password\"\n [routerLink]=\"recovery\"\n >\n {{ literals.forgotPassword }}\n </a>\n <a\n *ngIf=\"recoveryUrlType === 'externalLink'\"\n class=\"po-font-text-bold po-page-change-password-forgot-password\"\n [href]=\"recovery\"\n >\n {{ literals.forgotPassword }}\n </a>\n <a\n *ngIf=\"!recoveryUrlType\"\n class=\"po-font-text-bold po-page-change-password-forgot-password po-clickable\"\n (click)=\"onForgotPasswordClick(recovery)\"\n >\n {{ literals.forgotPassword }}\n </a>\n </div>\n <div>\n <po-password\n name=\"newPassword\"\n [(ngModel)]=\"newPassword\"\n p-required\n [p-label]=\"literals.newPassword\"\n (p-change-model)=\"validatePassword()\"\n >\n </po-password>\n </div>\n <div>\n <po-password\n name=\"confirmPassword\"\n [(ngModel)]=\"confirmPassword\"\n p-required\n [p-label]=\"literals.confirmPassword\"\n (p-change-model)=\"validatePassword()\"\n >\n </po-password>\n </div>\n </div>\n <div *ngIf=\"showRequirements\" class=\"po-md-6 po-page-change-password-required-container\">\n <po-container>\n <ul class=\"po-page-change-password-required-list\">\n <li class=\"po-page-change-password-required-item\">\n <p class=\"po-mb-1 po-font-text-bold po-page-change-password-required-title\">\n {{ literals?.requirements }}\n </p>\n </li>\n <li *ngFor=\"let requirement of requirements\" class=\"po-page-change-password-required-item\">\n <span\n class=\"po-icon po-page-change-password-required-icon\"\n [ngClass]=\"\n validateRequirement(requirement)\n ? 'po-icon-ok po-page-change-password-required-ok'\n : 'po-icon-minus po-page-change-password-required-minus'\n \"\n >\n </span>\n <p class=\"po-page-change-password-required-text po-font-text\">\n {{ requirement.requirement }}\n </p>\n </li>\n </ul>\n </po-container>\n </div>\n </div>\n </form>\n\n <po-divider class=\"po-sm-12\"></po-divider>\n\n <div class=\"po-page-change-password-tips po-row\">\n <div class=\"po-md-2 po-mr-3\">\n <img\n class=\"po-page-change-password-lock-image po-mb-3\"\n alt=\"Blocked user image\"\n src=\"./assets/images/big-lock.svg\"\n />\n </div>\n <div class=\"po-md-9 po-page-change-password-tips-text\">\n <div class=\"po-font-text-bold po-pb-1\">{{ literals.safetyTips }}</div>\n <div class=\"po-font-text-small\">\n <div class=\"po-row po-pb-1\">{{ literals.safetyTipsPhrase }}</div>\n <div class=\"po-row po-pb-1\">\u2022 {{ literals.safetyTipsFirst }}</div>\n <div class=\"po-row po-pb-1\">\u2022 {{ literals.safetyTipsSecond }}</div>\n <div class=\"po-row po-pb-1\">\u2022 {{ literals.safetyTipsThird }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"po-page-change-password-buttons po-row\">\n <po-divider class=\"po-sm-12 po-mobile-only\"></po-divider>\n\n <po-button\n *ngIf=\"!hideCurrentPassword\"\n class=\"po-sm-6 po-mb-sm-1\"\n [p-label]=\"literals.backButton\"\n (p-click)=\"navigateTo(urlBack)\"\n >\n </po-button>\n\n <po-button\n [ngClass]=\"hideCurrentPassword ? 'po-md-12' : 'po-sm-6'\"\n p-kind=\"primary\"\n [p-disabled]=\"passwordForm.invalid\"\n [p-label]=\"literals.saveButton\"\n (p-click)=\"onLoginSubmit()\"\n >\n </po-button>\n </div>\n </po-page-background>\n </div>\n</div>\n\n<po-modal\n [p-primary-action]=\"modalAction\"\n p-hide-close\n p-size=\"auto\"\n [p-title]=\"hideCurrentPassword ? literals.passwordSuccessfullyCreated : literals.passwordSuccessfullyUpdated\"\n>\n <div class=\"po-text-center\">\n <img\n alt=\"Blocked user image\"\n class=\"po-page-change-password-lock-image po-mb-3\"\n src=\"./assets/images/success.svg\"\n />\n </div>\n</po-modal>\n" }]
|
|
378
378
|
}], function () { return [{ type: i1.ActivatedRoute }, { type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.PoPageChangePasswordService }, { type: i3.PoComponentInjectorService }, { type: i3.PoLanguageService }, { type: i0.ViewContainerRef }]; }, { modal: [{
|
|
379
379
|
type: ViewChild,
|
|
380
380
|
args: [PoModalComponent, { static: true }]
|
|
@@ -385,4 +385,4 @@ PoPageChangePasswordComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
|
|
|
385
385
|
type: ViewChild,
|
|
386
386
|
args: ['passwordForm', { read: NgForm, static: true }]
|
|
387
387
|
}] }); })();
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFtQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3hDLE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFFdkgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7OztJQ1BwRiwyQkFBa0Msc0JBQUE7SUFHOUIseU9BQTZCO0lBSS9CLGlCQUFjLEVBQUE7OztJQUpaLGVBQTZCO0lBQTdCLGdEQUE2Qiw0Q0FBQTs7O0lBTy9CLDZCQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFJOzs7SUFIRiw0Q0FBdUI7SUFFdkIsZUFDRjtJQURFLCtEQUNGOzs7SUFDQSw2QkFJQztJQUNDLFlBQ0Y7SUFBQSxpQkFBSTs7O0lBSEYsd0RBQWlCO0lBRWpCLGVBQ0Y7SUFERSwrREFDRjs7OztJQUNBLDZCQUlDO0lBREMsNktBQVMsK0NBQStCLElBQUM7SUFFekMsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixlQUNGO0lBREUsZ0VBQ0Y7OztJQXJCRiwrQkFBd0Y7SUFDdEYsa0ZBTUk7SUFDSixrRkFNSTtJQUNKLGtGQU1JO0lBQ04saUJBQU07OztJQXBCRCxlQUF3QztJQUF4QyxnRUFBd0M7SUFPeEMsZUFBd0M7SUFBeEMsZ0VBQXdDO0lBT3hDLGVBQXNCO0lBQXRCLDhDQUFzQjs7O0lBb0N2Qiw4QkFBMkY7SUFDekYsMkJBUU87SUFDUCw2QkFBOEQ7SUFDNUQsWUFDRjtJQUFBLGlCQUFJLEVBQUE7Ozs7SUFURixlQUlDO0lBSkQsa0xBSUM7SUFJRCxlQUNGO0lBREUsNERBQ0Y7OztJQXBCUiwrQkFBeUYsbUJBQUEsYUFBQSxhQUFBLFlBQUE7SUFLL0UsWUFDRjtJQUFBLGlCQUFJLEVBQUE7SUFFTixvRkFhSztJQUNQLGlCQUFLLEVBQUEsRUFBQTs7O0lBakJDLGVBQ0Y7SUFERSw4RkFDRjtJQUUwQixlQUFlO0lBQWYsNkNBQWU7Ozs7SUE0Q25ELHFDQUtDO0lBREMsMExBQVcsbUNBQW1CLElBQUM7SUFFakMsaUJBQVk7OztJQUhWLG9EQUErQjs7O0FEaEd6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFLSCxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxpQ0FBaUM7SUFrQ3pDLFlBQ1UsY0FBOEIsRUFDOUIsS0FBcUIsRUFDckIsTUFBYyxFQUNkLE9BQW9DLEVBQ3BDLG1CQUErQyxFQUN2RCxlQUFrQyxFQUNsQyxPQUF5QjtRQUV6QixLQUFLLEVBQUUsQ0FBQztRQVJBLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBNkI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQWpDekQsYUFBUSxHQWtCSiw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVsRCxnQkFBVyxHQUFrQjtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCO1NBQ3ZDLENBQUM7UUFHTSxpQkFBWSxHQUFzQixJQUFJLENBQUM7UUFhN0MsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsNEJBQTRCLENBQUMsZUFBZSxDQUFDO1lBQ2hELEdBQUcsNEJBQTRCLENBQUMsUUFBUSxDQUFDO1NBQzFDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsUUFBUTtRQUM1QixJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDbEMsUUFBUSxFQUFFLENBQUM7U0FDWjthQUFNO1lBQ0wsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqRCxNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNELE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7U0FDaEU7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2hHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7U0FDN0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsSUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQ3RGO1lBQ0EsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUE0QztRQUM5RCxPQUFPLE9BQU8sV0FBVyxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQzlHLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsUUFBUTtRQUNsRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDMUQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsSUFBSTtRQUNuQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNsRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNwRixJQUFJLENBQUMsbUJBQW1CO2dCQUN0QixJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQzdGO0lBQ0gsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLFFBQXNDO1FBQ2pGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNFO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUMxRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSwyQkFBMkIsQ0FBQyxLQUFLLENBQUM7UUFDckYsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQTBCO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU87WUFDTCxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBMEI7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEUsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBVSxFQUFFLFFBQXFCO1FBQ3JELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU5QixJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEdBaE1VLDZCQUE2QjtnRkFBN0IsNkJBQTZCO3VCQUc3QixnQkFBZ0I7K0JBQ2MsZ0JBQWdCOytCQUN0QixNQUFNOzs7Ozs7O1FDaEUzQyxpQ0FBaUUsYUFBQSw0QkFBQSxhQUFBLGFBQUE7UUFJbkMsWUFBZ0M7UUFBQSxpQkFBTTtRQUM1RCw4QkFBa0Q7UUFDaEQsWUFDRjtRQUFBLGlCQUFNLEVBQUE7UUFHUixxQ0FBNkIsY0FBQSxjQUFBO1FBR3ZCLGlGQVFNO1FBQ04saUZBc0JNO1FBQ04sNEJBQUssdUJBQUE7UUFHRCxrS0FBeUIscUhBR1Asc0JBQWtCLElBSFg7UUFLM0IsaUJBQWMsRUFBQTtRQUVoQiw0QkFBSyx1QkFBQTtRQUdELHNLQUE2QixxSEFHWCxzQkFBa0IsSUFIUDtRQUsvQixpQkFBYyxFQUFBLEVBQUE7UUFHbEIsaUZBd0JNO1FBQ1IsaUJBQU0sRUFBQTtRQUdSLGtDQUEwQztRQUUxQyxnQ0FBaUQsZUFBQTtRQUU3QywyQkFJRTtRQUNKLGlCQUFNO1FBQ04sZ0NBQXVELGVBQUE7UUFDZCxhQUF5QjtRQUFBLGlCQUFNO1FBQ3RFLGdDQUFnQyxlQUFBO1FBQ0YsYUFBK0I7UUFBQSxpQkFBTTtRQUNqRSxnQ0FBNEI7UUFBQSxhQUFnQztRQUFBLGlCQUFNO1FBQ2xFLGdDQUE0QjtRQUFBLGFBQWlDO1FBQUEsaUJBQU07UUFDbkUsZ0NBQTRCO1FBQUEsYUFBZ0M7UUFBQSxpQkFBTSxFQUFBLEVBQUEsRUFBQTtRQUt4RSxnQ0FBb0Q7UUFDbEQsa0NBQXlEO1FBRXpELDZGQU1ZO1FBRVosc0NBTUM7UUFEQyxrSEFBVyxtQkFBZSxJQUFDO1FBRTdCLGlCQUFZLEVBQUEsRUFBQSxFQUFBLEVBQUE7UUFNcEIscUNBS0MsZUFBQTtRQUVHLDJCQUlFO1FBQ0osaUJBQU0sRUFBQTs7O1FBckpnRCxlQUFlO1FBQWYsaUNBQWUsdUNBQUE7UUFFekMsZUFBZ0M7UUFBaEMsb0RBQWdDO1FBRXBELGVBQ0Y7UUFERSxxRUFDRjtRQUt1QixlQUFpRjtRQUFqRiw0RUFBaUY7UUFDOUYsZUFBMEI7UUFBMUIsK0NBQTBCO1FBUzFCLGVBQXNDO1FBQXRDLCtEQUFzQztRQTBCeEMsZUFBeUI7UUFBekIseUNBQXlCLHFDQUFBO1FBVXpCLGVBQTZCO1FBQTdCLDZDQUE2Qix5Q0FBQTtRQVE3QixlQUFzQjtRQUF0QiwyQ0FBc0I7UUF1Q1csZUFBeUI7UUFBekIsNkNBQXlCO1FBRWxDLGVBQStCO1FBQS9CLG1EQUErQjtRQUMvQixlQUFnQztRQUFoQyxrRUFBZ0M7UUFDaEMsZUFBaUM7UUFBakMsbUVBQWlDO1FBQ2pDLGVBQWdDO1FBQWhDLGtFQUFnQztRQVM3RCxlQUEwQjtRQUExQiwrQ0FBMEI7UUFRM0IsZUFBd0Q7UUFBeEQsMEVBQXdELDJCQUFBLG9DQUFBO1FBYWhFLGVBQWdDO1FBQWhDLGtEQUFnQywwSEFBQTs7dUZEakZyQiw2QkFBNkI7Y0FKekMsU0FBUzsyQkFDRSx5QkFBeUI7cVFBTVksS0FBSztrQkFBbkQsU0FBUzttQkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDOEIsa0JBQWtCO2tCQUE1RixTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDZCxZQUFZO2tCQUF0RSxTQUFTO21CQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvQ29tcG9uZW50SW5qZWN0b3JTZXJ2aWNlLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9Nb2RhbEFjdGlvbixcbiAgUG9Nb2RhbENvbXBvbmVudCxcbiAgcG9Mb2NhbGVEZWZhdWx0XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgaXNFeHRlcm5hbExpbmssIGlzVHlwZW9mIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZSB9IGZyb20gJy4uL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L2VudW1zL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQb1BhZ2VDaGFuZ2VQYXNzd29yZCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlQ2hhbmdlUGFzc3dvcmRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwb1BhZ2VDaGFuZ2VQYXNzd29yZExpdGVyYWxzIH0gZnJvbSAnLi9saXRlcmFscy9pMThuL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxpdGVyYWxzJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkUmVjb3ZlcnkgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVjb3ZlcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkUmVxdWlyZW1lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvUGFnZUNoYW5nZVBhc3N3b3JkQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljXCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzXCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnMvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5XCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBNb2RpZnlcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeS9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5LmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeS9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZVwiIHRpdGxlPVwiUE8gUGFnZSBDaGFuZ2UgUGFzc3dvcmQgQ3JlYXRlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGUvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGUvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0XCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBSZXF1ZXN0XCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0L3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0LmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3Qvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3QuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUNoYW5nZVBhc3N3b3JkQ29tcG9uZW50XG4gIGV4dGVuZHMgUG9QYWdlQ2hhbmdlUGFzc3dvcmRCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuICBAVmlld0NoaWxkKFBvTW9kYWxDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIG1vZGFsOiBQb01vZGFsQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdwYWdlQ2hhbmdlUGFzc3dvcmQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwYWdlQ2hhbmdlUGFzc3dvcmQ6IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGQoJ3Bhc3N3b3JkRm9ybScsIHsgcmVhZDogTmdGb3JtLCBzdGF0aWM6IHRydWUgfSkgcGFzc3dvcmRGb3JtOiBOZ0Zvcm07XG5cbiAgbGl0ZXJhbHM6IHtcbiAgICBiYWNrQnV0dG9uOiBzdHJpbmc7XG4gICAgY29uZmlybVBhc3N3b3JkOiBzdHJpbmc7XG4gICAgY3JlYXRlTmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgICBjcmVhdGVOZXdQYXNzd29yZFBocmFzZTogc3RyaW5nO1xuICAgIGN1cnJlbnRQYXNzd29yZDogc3RyaW5nO1xuICAgIGVudGVyU3lzdGVtQnV0dG9uOiBzdHJpbmc7XG4gICAgZm9yZ290UGFzc3dvcmQ6IHN0cmluZztcbiAgICBuZXdQYXNzd29yZDogc3RyaW5nO1xuICAgIHBhc3N3b3JkU3VjY2Vzc2Z1bGx5Q3JlYXRlZDogc3RyaW5nO1xuICAgIHBhc3N3b3JkU3VjY2Vzc2Z1bGx5VXBkYXRlZDogc3RyaW5nO1xuICAgIHJlcXVpcmVtZW50czogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHM6IHN0cmluZztcbiAgICBzYWZldHlUaXBzUGhyYXNlOiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc0ZpcnN0OiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc1NlY29uZDogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHNUaGlyZDogc3RyaW5nO1xuICAgIHNhdmVCdXR0b246IHN0cmluZztcbiAgfSA9IHBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XTtcblxuICBtb2RhbEFjdGlvbjogUG9Nb2RhbEFjdGlvbiA9IHtcbiAgICBhY3Rpb246IHRoaXMubmF2aWdhdGVUby5iaW5kKHRoaXMsIHRoaXMudXJsSG9tZSksXG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuZW50ZXJTeXN0ZW1CdXR0b25cbiAgfTtcblxuICBwcml2YXRlIG5ld1Bhc3N3b3JkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHNlcnZpY2U6IFBvUGFnZUNoYW5nZVBhc3N3b3JkU2VydmljZSxcbiAgICBwcml2YXRlIHBvQ29tcG9uZW50SW5qZWN0b3I6IFBvQ29tcG9uZW50SW5qZWN0b3JTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsXG4gICAgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbbGFuZ3VhZ2VdXG4gICAgfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy51cmxOZXdQYXNzd29yZCkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb1Rva2VuUGFyYW1ldGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubmV3UGFzc3dvcmRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubmV3UGFzc3dvcmRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoZWNraW5nRm9yUm91dGVNZXRhZGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGEpO1xuICB9XG5cbiAgbmF2aWdhdGVUbyh1cmw6IHN0cmluZykge1xuICAgIGlzRXh0ZXJuYWxMaW5rKHVybCkgPyB3aW5kb3cub3Blbih1cmwpIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybCB8fCAnLyddKTtcbiAgfVxuXG4gIG9uRm9yZ290UGFzc3dvcmRDbGljayhyZWNvdmVyeSk6IHZvaWQge1xuICAgIGlmIChpc1R5cGVvZihyZWNvdmVyeSwgJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHJlY292ZXJ5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50KHJlY292ZXJ5KTtcbiAgICB9XG4gIH1cblxuICBvbkxvZ2luU3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmdldExvZ2luRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMudXJsTmV3UGFzc3dvcmQpIHtcbiAgICAgIHRoaXMucG9zdFVybE5ld1Bhc3N3b3JkKGZvcm0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtaXQgJiYgdGhpcy5zdWJtaXQub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5lbWl0U3VibWl0KGZvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBYnJlIHVtYSBtb2RhbCBkZSBjb25maXJtYcOnw6NvIGNvbSB0ZXh0bywgaW1hZ2VtIGUgYm90w6NvIHF1ZSByZWRpcmVjaW9uYSBwYXJhIG8gbGluayBkZWZpbmlkbyBuYSBwcm9wcmllZGFkZSBgcC11cmwtaG9tZWBcdTAwMWNcbiAgICovXG4gIG9wZW5Db25maXJtYXRpb24oKSB7XG4gICAgdGhpcy5tb2RhbC5vcGVuKCk7XG4gIH1cblxuICB2YWxpZGF0ZVBhc3N3b3JkKCkge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5wYXNzd29yZEZvcm0uZm9ybS5jb250cm9scztcbiAgICBjb25zdCBjb250cm9sQ29uZmlybVBhc3N3b3JkID0gY29udHJvbHNbJ2NvbmZpcm1QYXNzd29yZCddO1xuICAgIGNvbnN0IGNvbnRyb2xOZXdQYXNzd29yZCA9IGNvbnRyb2xzWyduZXdQYXNzd29yZCddO1xuXG4gICAgaWYgKCF0aGlzLm5ld1Bhc3N3b3JkKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZWQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKHsgJ3JlcXVpcmVkJzogdHJ1ZSB9LCBbY29udHJvbENvbmZpcm1QYXNzd29yZF0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uZXdQYXNzd29yZCAmJiB0aGlzLmNvbmZpcm1QYXNzd29yZCAmJiB0aGlzLm5ld1Bhc3N3b3JkICE9PSB0aGlzLmNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKHsgJ2VxdWFsUGFzc3dvcmQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmQsIGNvbnRyb2xDb25maXJtUGFzc3dvcmRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKG51bGwsIFtjb250cm9sQ29uZmlybVBhc3N3b3JkLCBjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnJlcXVpcmVtZW50cy5sZW5ndGggJiZcbiAgICAgIHRoaXMucmVxdWlyZW1lbnRzLmZpbmQocmVxdWlyZW1lbnQgPT4gdGhpcy52YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50KSA9PT0gZmFsc2UpXG4gICAgKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZW1lbnQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50OiBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlcXVpcmVtZW50KSB7XG4gICAgcmV0dXJuIHR5cGVvZiByZXF1aXJlbWVudC5zdGF0dXMgPT09ICdmdW5jdGlvbicgPyByZXF1aXJlbWVudC5zdGF0dXModGhpcy5uZXdQYXNzd29yZCkgOiByZXF1aXJlbWVudC5zdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIGNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KSkge1xuICAgICAgcmV0dXJuIG9iamVjdFtwcm9wZXJ0eV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja2luZ0ZvclJvdXRlTWV0YWRhdGEoZGF0YSkge1xuICAgIGlmIChPYmplY3Qua2V5cyhkYXRhKS5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMudXJsTmV3UGFzc3dvcmQgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAnc2VydmljZUFwaScpIHx8IHRoaXMudXJsTmV3UGFzc3dvcmQ7XG4gICAgICB0aGlzLnJlY292ZXJ5ID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ3JlY292ZXJ5JykgfHwgdGhpcy5yZWNvdmVyeTtcbiAgICAgIHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCA9XG4gICAgICAgIHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdoaWRlQ3VycmVudFBhc3N3b3JkJykgfHwgdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50KHJlY292ZXJ5OiBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlY292ZXJ5KSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnBvQ29tcG9uZW50SW5qZWN0b3IuZGVzdHJveUNvbXBvbmVudEluQXBwbGljYXRpb24odGhpcy5jb21wb25lbnRSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5wb0NvbXBvbmVudEluamVjdG9yLmNyZWF0ZUNvbXBvbmVudEluQXBwbGljYXRpb24oUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnJlY292ZXJ5ID0gcmVjb3ZlcnkudXJsO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRhY3RFbWFpbCA9IHJlY292ZXJ5LmNvbnRhY3RNYWlsO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnBob25lTWFzayA9IHJlY292ZXJ5LnBob25lTWFzaztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50eXBlID0gcmVjb3ZlcnkudHlwZSB8fCBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuRW1haWw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2Uub3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U3VibWl0KGZvcm06IFBvUGFnZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgdGhpcy5zdWJtaXQuZW1pdChmb3JtKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9naW5Gb3JtKCk6IFBvUGFnZUNoYW5nZVBhc3N3b3JkIHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFBhc3N3b3JkOiB0aGlzLmN1cnJlbnRQYXNzd29yZCxcbiAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLm5ld1Bhc3N3b3JkXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zdFVybE5ld1Bhc3N3b3JkKGZvcm06IFBvUGFnZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgZm9ybVsndG9rZW4nXSA9IHRoaXMudG9rZW47XG5cbiAgICB0aGlzLnNlcnZpY2UucG9zdCh0aGlzLnVybE5ld1Bhc3N3b3JkLCBmb3JtKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgIHRoaXMub3BlbkNvbmZpcm1hdGlvbigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtRXJyb3JzKGVycm9yOiBhbnksIGNvbnRyb2xzPzogQXJyYXk8YW55Pikge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvVG9rZW5QYXJhbWV0ZXIoKSB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gcGFyYW1zWyd0b2tlbiddO1xuXG4gICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtd3JhcHBlclwiICNwYWdlQ2hhbmdlUGFzc3dvcmQ+XG4gIDxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jb250YWluZXJcIj5cbiAgICA8cG8tcGFnZS1iYWNrZ3JvdW5kIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmRcIiBbcC1sb2dvXT1cImxvZ29cIiBbcC1zZWNvbmRhcnktbG9nb109XCJzZWNvbmRhcnlMb2dvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItaGVhZGVyIHBvLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMTJcIj57eyBsaXRlcmFscy5jcmVhdGVOZXdQYXNzd29yZCB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMTIgcG8tdGV4dC1jZW50ZXIgcG8tZm9udC10ZXh0XCI+XG4gICAgICAgICAge3sgbGl0ZXJhbHMuY3JlYXRlTmV3UGFzc3dvcmRQaHJhc2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGZvcm0gI3Bhc3N3b3JkRm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLW10LTMgcG8tbXQtc20tMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC02XCIgW25nQ2xhc3NdPVwieyAncG8tb2Zmc2V0LW1kLTMgcG8tb2Zmc2V0LWxnLTMgcG8tb2Zmc2V0LXhsLTMnOiAhc2hvd1JlcXVpcmVtZW50cyB9XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVDdXJyZW50UGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgPHBvLXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgbmFtZT1cImN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5jdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tcGFzc3dvcmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUN1cnJlbnRQYXNzd29yZCAmJiByZWNvdmVyeVwiIGNsYXNzPVwicG8tdGV4dC1jZW50ZXIgcG8tbWItc20tMSBwby1tYi0yXCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyZWNvdmVyeVVybFR5cGUgPT09ICdpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWZvbnQtdGV4dC1ib2xkIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWZvcmdvdC1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicmVjb3ZlcnlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmVjb3ZlcnlVcmxUeXBlID09PSAnZXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1mb250LXRleHQtYm9sZCBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1mb3Jnb3QtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInJlY292ZXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGxpdGVyYWxzLmZvcmdvdFBhc3N3b3JkIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZWNvdmVyeVVybFR5cGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtZm9yZ290LXBhc3N3b3JkIHBvLWNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRm9yZ290UGFzc3dvcmRDbGljayhyZWNvdmVyeSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgICAgICBuYW1lPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5uZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cInZhbGlkYXRlUGFzc3dvcmQoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby1wYXNzd29yZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHBvLXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgbmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5jb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJ2YWxpZGF0ZVBhc3N3b3JkKClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tcGFzc3dvcmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1JlcXVpcmVtZW50c1wiIGNsYXNzPVwicG8tbWQtNiBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxwby1jb250YWluZXI+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvLW1iLTEgcG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGl0ZXJhbHM/LnJlcXVpcmVtZW50cyB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByZXF1aXJlbWVudCBvZiByZXF1aXJlbWVudHNcIiBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVSZXF1aXJlbWVudChyZXF1aXJlbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ3BvLWljb24tb2sgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtb2snXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdwby1pY29uLW1pbnVzIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLW1pbnVzJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC10ZXh0IHBvLWZvbnQtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyByZXF1aXJlbWVudC5yZXF1aXJlbWVudCB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxwby1kaXZpZGVyIGNsYXNzPVwicG8tc20tMTJcIj48L3BvLWRpdmlkZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC10aXBzIHBvLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMiBwby1tci0zXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sb2NrLWltYWdlIHBvLW1iLTNcIlxuICAgICAgICAgICAgYWx0PVwiQmxvY2tlZCB1c2VyIGltYWdlXCJcbiAgICAgICAgICAgIHNyYz1cIi4vYXNzZXRzL2ltYWdlcy9iaWctbG9jay5zdmdcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtOSBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC10aXBzLXRleHRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZm9udC10ZXh0LWJvbGQgcG8tcGItMVwiPnt7IGxpdGVyYWxzLnNhZmV0eVRpcHMgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZm9udC10ZXh0LXNtYWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj57eyBsaXRlcmFscy5zYWZldHlUaXBzUGhyYXNlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj7igKIge3sgbGl0ZXJhbHMuc2FmZXR5VGlwc0ZpcnN0IH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj7igKIge3sgbGl0ZXJhbHMuc2FmZXR5VGlwc1NlY29uZCB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1wYi0xXCI+4oCiIHt7IGxpdGVyYWxzLnNhZmV0eVRpcHNUaGlyZCB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYnV0dG9ucyBwby1yb3dcIj5cbiAgICAgICAgPHBvLWRpdmlkZXIgY2xhc3M9XCJwby1zbS0xMiBwby1tb2JpbGUtb25seVwiPjwvcG8tZGl2aWRlcj5cblxuICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCIhaGlkZUN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgY2xhc3M9XCJwby1zbS02IHBvLW1iLXNtLTFcIlxuICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmJhY2tCdXR0b25cIlxuICAgICAgICAgIChwLWNsaWNrKT1cIm5hdmlnYXRlVG8odXJsQmFjaylcIlxuICAgICAgICA+XG4gICAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICAgIDxwby1idXR0b25cbiAgICAgICAgICBbbmdDbGFzc109XCJoaWRlQ3VycmVudFBhc3N3b3JkID8gJ3BvLW1kLTEyJyA6ICdwby1zbS02J1wiXG4gICAgICAgICAgcC10eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3AtZGlzYWJsZWRdPVwicGFzc3dvcmRGb3JtLmludmFsaWRcIlxuICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLnNhdmVCdXR0b25cIlxuICAgICAgICAgIChwLWNsaWNrKT1cIm9uTG9naW5TdWJtaXQoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3BvLXBhZ2UtYmFja2dyb3VuZD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPHBvLW1vZGFsXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cIm1vZGFsQWN0aW9uXCJcbiAgcC1oaWRlLWNsb3NlXG4gIHAtc2l6ZT1cImF1dG9cIlxuICBbcC10aXRsZV09XCJoaWRlQ3VycmVudFBhc3N3b3JkID8gbGl0ZXJhbHMucGFzc3dvcmRTdWNjZXNzZnVsbHlDcmVhdGVkIDogbGl0ZXJhbHMucGFzc3dvcmRTdWNjZXNzZnVsbHlVcGRhdGVkXCJcbj5cbiAgPGRpdiBjbGFzcz1cInBvLXRleHQtY2VudGVyXCI+XG4gICAgPGltZ1xuICAgICAgYWx0PVwiQmxvY2tlZCB1c2VyIGltYWdlXCJcbiAgICAgIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbG9jay1pbWFnZSBwby1tYi0zXCJcbiAgICAgIHNyYz1cIi4vYXNzZXRzL2ltYWdlcy9zdWNjZXNzLnN2Z1wiXG4gICAgLz5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVtcGxhdGVzL3NyYy9saWIvY29tcG9uZW50cy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFtQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3hDLE9BQU8sRUFJTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFFdkgsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7OztJQ1BwRiwyQkFBa0Msc0JBQUE7SUFHOUIseU9BQTZCO0lBSS9CLGlCQUFjLEVBQUE7OztJQUpaLGVBQTZCO0lBQTdCLGdEQUE2Qiw0Q0FBQTs7O0lBTy9CLDZCQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFJOzs7SUFIRiw0Q0FBdUI7SUFFdkIsZUFDRjtJ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MUIsK0NBQTBCO1FBUzFCLGVBQXNDO1FBQXRDLCtEQUFzQztRQTBCeEMsZUFBeUI7UUFBekIseUNBQXlCLHFDQUFBO1FBVXpCLGVBQTZCO1FBQTdCLDZDQUE2Qix5Q0FBQTtRQVE3QixlQUFzQjtRQUF0QiwyQ0FBc0I7UUF1Q1csZUFBeUI7UUFBekIsNkNBQXlCO1FBRWxDLGVBQStCO1FBQS9CLG1EQUErQjtRQUMvQixlQUFnQztRQUFoQyxrRUFBZ0M7UUFDaEMsZUFBaUM7UUFBakMsbUVBQWlDO1FBQ2pDLGVBQWdDO1FBQWhDLGtFQUFnQztRQVM3RCxlQUEwQjtRQUExQiwrQ0FBMEI7UUFRM0IsZUFBd0Q7UUFBeEQsMEVBQXdELDJCQUFBLG9DQUFBO1FBYWhFLGVBQWdDO1FBQWhDLGtEQUFnQywwSEFBQTs7dUZEakZyQiw2QkFBNkI7Y0FKekMsU0FBUzsyQkFDRSx5QkFBeUI7cVFBTVksS0FBSztrQkFBbkQsU0FBUzttQkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDOEIsa0JBQWtCO2tCQUE1RixTQUFTO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDZCxZQUFZO2tCQUF0RSxTQUFTO21CQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIFBvQ29tcG9uZW50SW5qZWN0b3JTZXJ2aWNlLFxuICBQb0xhbmd1YWdlU2VydmljZSxcbiAgUG9Nb2RhbEFjdGlvbixcbiAgUG9Nb2RhbENvbXBvbmVudCxcbiAgcG9Mb2NhbGVEZWZhdWx0XG59IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgaXNFeHRlcm5hbExpbmssIGlzVHlwZW9mIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZSB9IGZyb20gJy4uL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5L2VudW1zL3BvLW1vZGFsLXBhc3N3b3JkLXJlY292ZXJ5LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQb1BhZ2VDaGFuZ2VQYXNzd29yZCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9QYWdlQ2hhbmdlUGFzc3dvcmRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwb1BhZ2VDaGFuZ2VQYXNzd29yZExpdGVyYWxzIH0gZnJvbSAnLi9saXRlcmFscy9pMThuL3BvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxpdGVyYWxzJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkUmVjb3ZlcnkgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVjb3ZlcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkUmVxdWlyZW1lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUNoYW5nZVBhc3N3b3JkU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvUGFnZUNoYW5nZVBhc3N3b3JkQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljXCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYmFzaWMvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWJhc2ljL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzXCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzL3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnMvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5XCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBNb2RpZnlcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeS9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5LmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLW1vZGlmeS9zYW1wbGUtcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbW9kaWZ5LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZVwiIHRpdGxlPVwiUE8gUGFnZSBDaGFuZ2UgUGFzc3dvcmQgQ3JlYXRlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGUvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jcmVhdGUvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWNyZWF0ZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0XCIgdGl0bGU9XCJQTyBQYWdlIENoYW5nZSBQYXNzd29yZCBSZXF1ZXN0XCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0L3NhbXBsZS1wby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1ZXN0LmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3Qvc2FtcGxlLXBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVlc3QuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUGFnZUNoYW5nZVBhc3N3b3JkQ29tcG9uZW50XG4gIGV4dGVuZHMgUG9QYWdlQ2hhbmdlUGFzc3dvcmRCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuICBAVmlld0NoaWxkKFBvTW9kYWxDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIG1vZGFsOiBQb01vZGFsQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdwYWdlQ2hhbmdlUGFzc3dvcmQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwYWdlQ2hhbmdlUGFzc3dvcmQ6IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGQoJ3Bhc3N3b3JkRm9ybScsIHsgcmVhZDogTmdGb3JtLCBzdGF0aWM6IHRydWUgfSkgcGFzc3dvcmRGb3JtOiBOZ0Zvcm07XG5cbiAgbGl0ZXJhbHM6IHtcbiAgICBiYWNrQnV0dG9uOiBzdHJpbmc7XG4gICAgY29uZmlybVBhc3N3b3JkOiBzdHJpbmc7XG4gICAgY3JlYXRlTmV3UGFzc3dvcmQ6IHN0cmluZztcbiAgICBjcmVhdGVOZXdQYXNzd29yZFBocmFzZTogc3RyaW5nO1xuICAgIGN1cnJlbnRQYXNzd29yZDogc3RyaW5nO1xuICAgIGVudGVyU3lzdGVtQnV0dG9uOiBzdHJpbmc7XG4gICAgZm9yZ290UGFzc3dvcmQ6IHN0cmluZztcbiAgICBuZXdQYXNzd29yZDogc3RyaW5nO1xuICAgIHBhc3N3b3JkU3VjY2Vzc2Z1bGx5Q3JlYXRlZDogc3RyaW5nO1xuICAgIHBhc3N3b3JkU3VjY2Vzc2Z1bGx5VXBkYXRlZDogc3RyaW5nO1xuICAgIHJlcXVpcmVtZW50czogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHM6IHN0cmluZztcbiAgICBzYWZldHlUaXBzUGhyYXNlOiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc0ZpcnN0OiBzdHJpbmc7XG4gICAgc2FmZXR5VGlwc1NlY29uZDogc3RyaW5nO1xuICAgIHNhZmV0eVRpcHNUaGlyZDogc3RyaW5nO1xuICAgIHNhdmVCdXR0b246IHN0cmluZztcbiAgfSA9IHBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XTtcblxuICBtb2RhbEFjdGlvbjogUG9Nb2RhbEFjdGlvbiA9IHtcbiAgICBhY3Rpb246IHRoaXMubmF2aWdhdGVUby5iaW5kKHRoaXMsIHRoaXMudXJsSG9tZSksXG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMuZW50ZXJTeXN0ZW1CdXR0b25cbiAgfTtcblxuICBwcml2YXRlIG5ld1Bhc3N3b3JkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHNlcnZpY2U6IFBvUGFnZUNoYW5nZVBhc3N3b3JkU2VydmljZSxcbiAgICBwcml2YXRlIHBvQ29tcG9uZW50SW5qZWN0b3I6IFBvQ29tcG9uZW50SW5qZWN0b3JTZXJ2aWNlLFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsXG4gICAgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuXG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvUGFnZUNoYW5nZVBhc3N3b3JkTGl0ZXJhbHNbbGFuZ3VhZ2VdXG4gICAgfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy51cmxOZXdQYXNzd29yZCkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb1Rva2VuUGFyYW1ldGVyKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubmV3UGFzc3dvcmRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubmV3UGFzc3dvcmRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoZWNraW5nRm9yUm91dGVNZXRhZGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGEpO1xuICB9XG5cbiAgbmF2aWdhdGVUbyh1cmw6IHN0cmluZykge1xuICAgIGlzRXh0ZXJuYWxMaW5rKHVybCkgPyB3aW5kb3cub3Blbih1cmwpIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybCB8fCAnLyddKTtcbiAgfVxuXG4gIG9uRm9yZ290UGFzc3dvcmRDbGljayhyZWNvdmVyeSk6IHZvaWQge1xuICAgIGlmIChpc1R5cGVvZihyZWNvdmVyeSwgJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHJlY292ZXJ5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50KHJlY292ZXJ5KTtcbiAgICB9XG4gIH1cblxuICBvbkxvZ2luU3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmdldExvZ2luRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMudXJsTmV3UGFzc3dvcmQpIHtcbiAgICAgIHRoaXMucG9zdFVybE5ld1Bhc3N3b3JkKGZvcm0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtaXQgJiYgdGhpcy5zdWJtaXQub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5lbWl0U3VibWl0KGZvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBYnJlIHVtYSBtb2RhbCBkZSBjb25maXJtYcOnw6NvIGNvbSB0ZXh0bywgaW1hZ2VtIGUgYm90w6NvIHF1ZSByZWRpcmVjaW9uYSBwYXJhIG8gbGluayBkZWZpbmlkbyBuYSBwcm9wcmllZGFkZSBgcC11cmwtaG9tZWBcdTAwMWNcbiAgICovXG4gIG9wZW5Db25maXJtYXRpb24oKSB7XG4gICAgdGhpcy5tb2RhbC5vcGVuKCk7XG4gIH1cblxuICB2YWxpZGF0ZVBhc3N3b3JkKCkge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5wYXNzd29yZEZvcm0uZm9ybS5jb250cm9scztcbiAgICBjb25zdCBjb250cm9sQ29uZmlybVBhc3N3b3JkID0gY29udHJvbHNbJ2NvbmZpcm1QYXNzd29yZCddO1xuICAgIGNvbnN0IGNvbnRyb2xOZXdQYXNzd29yZCA9IGNvbnRyb2xzWyduZXdQYXNzd29yZCddO1xuXG4gICAgaWYgKCF0aGlzLm5ld1Bhc3N3b3JkKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZWQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKHsgJ3JlcXVpcmVkJzogdHJ1ZSB9LCBbY29udHJvbENvbmZpcm1QYXNzd29yZF0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uZXdQYXNzd29yZCAmJiB0aGlzLmNvbmZpcm1QYXNzd29yZCAmJiB0aGlzLm5ld1Bhc3N3b3JkICE9PSB0aGlzLmNvbmZpcm1QYXNzd29yZCkge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKHsgJ2VxdWFsUGFzc3dvcmQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmQsIGNvbnRyb2xDb25maXJtUGFzc3dvcmRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRGb3JtRXJyb3JzKG51bGwsIFtjb250cm9sQ29uZmlybVBhc3N3b3JkLCBjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLnJlcXVpcmVtZW50cy5sZW5ndGggJiZcbiAgICAgIHRoaXMucmVxdWlyZW1lbnRzLmZpbmQocmVxdWlyZW1lbnQgPT4gdGhpcy52YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50KSA9PT0gZmFsc2UpXG4gICAgKSB7XG4gICAgICB0aGlzLnNldEZvcm1FcnJvcnMoeyAncmVxdWlyZW1lbnQnOiB0cnVlIH0sIFtjb250cm9sTmV3UGFzc3dvcmRdKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVJlcXVpcmVtZW50KHJlcXVpcmVtZW50OiBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlcXVpcmVtZW50KSB7XG4gICAgcmV0dXJuIHR5cGVvZiByZXF1aXJlbWVudC5zdGF0dXMgPT09ICdmdW5jdGlvbicgPyByZXF1aXJlbWVudC5zdGF0dXModGhpcy5uZXdQYXNzd29yZCkgOiByZXF1aXJlbWVudC5zdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIGNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KSkge1xuICAgICAgcmV0dXJuIG9iamVjdFtwcm9wZXJ0eV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja2luZ0ZvclJvdXRlTWV0YWRhdGEoZGF0YSkge1xuICAgIGlmIChPYmplY3Qua2V5cyhkYXRhKS5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMudXJsTmV3UGFzc3dvcmQgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAnc2VydmljZUFwaScpIHx8IHRoaXMudXJsTmV3UGFzc3dvcmQ7XG4gICAgICB0aGlzLnJlY292ZXJ5ID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ3JlY292ZXJ5JykgfHwgdGhpcy5yZWNvdmVyeTtcbiAgICAgIHRoaXMuaGlkZUN1cnJlbnRQYXNzd29yZCA9XG4gICAgICAgIHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdoaWRlQ3VycmVudFBhc3N3b3JkJykgfHwgdGhpcy5oaWRlQ3VycmVudFBhc3N3b3JkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxQYXNzd29yZFJlY292ZXJ5Q29tcG9uZW50KHJlY292ZXJ5OiBQb1BhZ2VDaGFuZ2VQYXNzd29yZFJlY292ZXJ5KSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnBvQ29tcG9uZW50SW5qZWN0b3IuZGVzdHJveUNvbXBvbmVudEluQXBwbGljYXRpb24odGhpcy5jb21wb25lbnRSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5wb0NvbXBvbmVudEluamVjdG9yLmNyZWF0ZUNvbXBvbmVudEluQXBwbGljYXRpb24oUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnJlY292ZXJ5ID0gcmVjb3ZlcnkudXJsO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRhY3RFbWFpbCA9IHJlY292ZXJ5LmNvbnRhY3RNYWlsO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnBob25lTWFzayA9IHJlY292ZXJ5LnBob25lTWFzaztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50eXBlID0gcmVjb3ZlcnkudHlwZSB8fCBQb01vZGFsUGFzc3dvcmRSZWNvdmVyeVR5cGUuRW1haWw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2Uub3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U3VibWl0KGZvcm06IFBvUGFnZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgdGhpcy5zdWJtaXQuZW1pdChmb3JtKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9naW5Gb3JtKCk6IFBvUGFnZUNoYW5nZVBhc3N3b3JkIHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFBhc3N3b3JkOiB0aGlzLmN1cnJlbnRQYXNzd29yZCxcbiAgICAgIG5ld1Bhc3N3b3JkOiB0aGlzLm5ld1Bhc3N3b3JkXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zdFVybE5ld1Bhc3N3b3JkKGZvcm06IFBvUGFnZUNoYW5nZVBhc3N3b3JkKSB7XG4gICAgZm9ybVsndG9rZW4nXSA9IHRoaXMudG9rZW47XG5cbiAgICB0aGlzLnNlcnZpY2UucG9zdCh0aGlzLnVybE5ld1Bhc3N3b3JkLCBmb3JtKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgIHRoaXMub3BlbkNvbmZpcm1hdGlvbigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtRXJyb3JzKGVycm9yOiBhbnksIGNvbnRyb2xzPzogQXJyYXk8YW55Pikge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvVG9rZW5QYXJhbWV0ZXIoKSB7XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gcGFyYW1zWyd0b2tlbiddO1xuXG4gICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtd3JhcHBlclwiICNwYWdlQ2hhbmdlUGFzc3dvcmQ+XG4gIDxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1jb250YWluZXJcIj5cbiAgICA8cG8tcGFnZS1iYWNrZ3JvdW5kIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmRcIiBbcC1sb2dvXT1cImxvZ29cIiBbcC1zZWNvbmRhcnktbG9nb109XCJzZWNvbmRhcnlMb2dvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1ibG9ja2VkLXVzZXItaGVhZGVyIHBvLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMTJcIj57eyBsaXRlcmFscy5jcmVhdGVOZXdQYXNzd29yZCB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMTIgcG8tdGV4dC1jZW50ZXIgcG8tZm9udC10ZXh0XCI+XG4gICAgICAgICAge3sgbGl0ZXJhbHMuY3JlYXRlTmV3UGFzc3dvcmRQaHJhc2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGZvcm0gI3Bhc3N3b3JkRm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLW10LTMgcG8tbXQtc20tMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1tZC02XCIgW25nQ2xhc3NdPVwieyAncG8tb2Zmc2V0LW1kLTMgcG8tb2Zmc2V0LWxnLTMgcG8tb2Zmc2V0LXhsLTMnOiAhc2hvd1JlcXVpcmVtZW50cyB9XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVDdXJyZW50UGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgPHBvLXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgbmFtZT1cImN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5jdXJyZW50UGFzc3dvcmRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tcGFzc3dvcmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUN1cnJlbnRQYXNzd29yZCAmJiByZWNvdmVyeVwiIGNsYXNzPVwicG8tdGV4dC1jZW50ZXIgcG8tbWItc20tMSBwby1tYi0yXCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyZWNvdmVyeVVybFR5cGUgPT09ICdpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWZvbnQtdGV4dC1ib2xkIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLWZvcmdvdC1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicmVjb3ZlcnlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmVjb3ZlcnlVcmxUeXBlID09PSAnZXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1mb250LXRleHQtYm9sZCBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1mb3Jnb3QtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInJlY292ZXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGxpdGVyYWxzLmZvcmdvdFBhc3N3b3JkIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZWNvdmVyeVVybFR5cGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtZm9yZ290LXBhc3N3b3JkIHBvLWNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRm9yZ290UGFzc3dvcmRDbGljayhyZWNvdmVyeSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGl0ZXJhbHMuZm9yZ290UGFzc3dvcmQgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgICAgICBuYW1lPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3UGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5uZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgKHAtY2hhbmdlLW1vZGVsKT1cInZhbGlkYXRlUGFzc3dvcmQoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby1wYXNzd29yZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHBvLXBhc3N3b3JkXG4gICAgICAgICAgICAgICAgbmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHAtcmVxdWlyZWRcbiAgICAgICAgICAgICAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5jb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJ2YWxpZGF0ZVBhc3N3b3JkKClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tcGFzc3dvcmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1JlcXVpcmVtZW50c1wiIGNsYXNzPVwicG8tbWQtNiBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxwby1jb250YWluZXI+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvLW1iLTEgcG8tZm9udC10ZXh0LWJvbGQgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGl0ZXJhbHM/LnJlcXVpcmVtZW50cyB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByZXF1aXJlbWVudCBvZiByZXF1aXJlbWVudHNcIiBjbGFzcz1cInBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVSZXF1aXJlbWVudChyZXF1aXJlbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ3BvLWljb24tb2sgcG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtcmVxdWlyZWQtb2snXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdwby1pY29uLW1pbnVzIHBvLXBhZ2UtY2hhbmdlLXBhc3N3b3JkLXJlcXVpcmVkLW1pbnVzJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1yZXF1aXJlZC10ZXh0IHBvLWZvbnQtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyByZXF1aXJlbWVudC5yZXF1aXJlbWVudCB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxwby1kaXZpZGVyIGNsYXNzPVwicG8tc20tMTJcIj48L3BvLWRpdmlkZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC10aXBzIHBvLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtMiBwby1tci0zXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWNoYW5nZS1wYXNzd29yZC1sb2NrLWltYWdlIHBvLW1iLTNcIlxuICAgICAgICAgICAgYWx0PVwiQmxvY2tlZCB1c2VyIGltYWdlXCJcbiAgICAgICAgICAgIHNyYz1cIi4vYXNzZXRzL2ltYWdlcy9iaWctbG9jay5zdmdcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbWQtOSBwby1wYWdlLWNoYW5nZS1wYXNzd29yZC10aXBzLXRleHRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZm9udC10ZXh0LWJvbGQgcG8tcGItMVwiPnt7IGxpdGVyYWxzLnNhZmV0eVRpcHMgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZm9udC10ZXh0LXNtYWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj57eyBsaXRlcmFscy5zYWZldHlUaXBzUGhyYXNlIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj7igKIge3sgbGl0ZXJhbHMuc2FmZXR5VGlwc0ZpcnN0IH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXBiLTFcIj7igKIge3sgbGl0ZXJhbHMuc2FmZXR5VGlwc1NlY29uZCB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1wYi0xXCI+4oCiIHt7IGxpdGVyYWxzLnNhZmV0eVRpcHNUaGlyZCB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtYnV0dG9ucyBwby1yb3dcIj5cbiAgICAgICAgPHBvLWRpdmlkZXIgY2xhc3M9XCJwby1zbS0xMiBwby1tb2JpbGUtb25seVwiPjwvcG8tZGl2aWRlcj5cblxuICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCIhaGlkZUN1cnJlbnRQYXNzd29yZFwiXG4gICAgICAgICAgY2xhc3M9XCJwby1zbS02IHBvLW1iLXNtLTFcIlxuICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLmJhY2tCdXR0b25cIlxuICAgICAgICAgIChwLWNsaWNrKT1cIm5hdmlnYXRlVG8odXJsQmFjaylcIlxuICAgICAgICA+XG4gICAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICAgIDxwby1idXR0b25cbiAgICAgICAgICBbbmdDbGFzc109XCJoaWRlQ3VycmVudFBhc3N3b3JkID8gJ3BvLW1kLTEyJyA6ICdwby1zbS02J1wiXG4gICAgICAgICAgcC1raW5kPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3AtZGlzYWJsZWRdPVwicGFzc3dvcmRGb3JtLmludmFsaWRcIlxuICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLnNhdmVCdXR0b25cIlxuICAgICAgICAgIChwLWNsaWNrKT1cIm9uTG9naW5TdWJtaXQoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3BvLXBhZ2UtYmFja2dyb3VuZD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPHBvLW1vZGFsXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cIm1vZGFsQWN0aW9uXCJcbiAgcC1oaWRlLWNsb3NlXG4gIHAtc2l6ZT1cImF1dG9cIlxuICBbcC10aXRsZV09XCJoaWRlQ3VycmVudFBhc3N3b3JkID8gbGl0ZXJhbHMucGFzc3dvcmRTdWNjZXNzZnVsbHlDcmVhdGVkIDogbGl0ZXJhbHMucGFzc3dvcmRTdWNjZXNzZnVsbHlVcGRhdGVkXCJcbj5cbiAgPGRpdiBjbGFzcz1cInBvLXRleHQtY2VudGVyXCI+XG4gICAgPGltZ1xuICAgICAgYWx0PVwiQmxvY2tlZCB1c2VyIGltYWdlXCJcbiAgICAgIGNsYXNzPVwicG8tcGFnZS1jaGFuZ2UtcGFzc3dvcmQtbG9jay1pbWFnZSBwby1tYi0zXCJcbiAgICAgIHNyYz1cIi4vYXNzZXRzL2ltYWdlcy9zdWNjZXNzLnN2Z1wiXG4gICAgLz5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
|
|
@@ -366,7 +366,7 @@ PoPageLoginComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPage
|
|
|
366
366
|
let _t;
|
|
367
367
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginForm = _t.first);
|
|
368
368
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pageLogin = _t.first);
|
|
369
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 35, vars: 39, consts: [[1, "po-page-login-support", 3, "hidden", "click"], [1, "po-icon", "po-icon-help"], [3, "p-show-select-language", "p-languages", "p-initial-language", "p-background", "p-highlight-info", "p-logo", "p-secondary-logo", "p-selected-language"], ["pageLogin", ""], [1, "po-page-login-header"], [1, "po-mb-md-4", "po-mb-sm-1"], [1, "po-page-login-header-product-name"], ["p-type", "warning", 3, "p-value", 4, "ngIf"], [1, "po-page-login-header-welcome", "po-mb-md-4", "po-mb-sm-2"], [1, "po-page-login-form"], ["loginForm", "ngForm"], [1, "po-row"], [1, "po-lg-12"], [1, "po-page-login-hint", "po-page-login-info-container"], ["name", "login", "p-auto-focus", "", "p-required", "", 1, "po-page-login-info-field", 3, "ngModel", "p-label", "p-pattern", "p-placeholder", "ngModelChange", "click", "keyup.enter", "p-change-model"], ["class", "po-page-login-info-icon-container", 3, "po-page-login-info-icon-container-dynamic", 4, "ngIf"], [1, "po-field-container-bottom", "po-field-container-error-container"], ["class", "po-field-container-bottom-text-error po-field-container-error-item", 4, "ngFor", "ngForOf"], [1, "po-page-login-password-container"], ["name", "password", "p-required", "", 1, "po-page-login-field-size", "po-page-login-password-item", 3, "ngModel", "p-label", "p-pattern", "p-placeholder", "ngModelChange", "click", "keyup.enter", "p-change-model"], ["class", "po-page-login-password-item po-page-login-password-popover-container", 4, "ngIf"], ["class", "po-page-login-field-size po-lg-12", "name", "customFieldInput", "p-required", "", 3, "po-page-login-field-size-dynamic", "ngModel", "p-error-pattern", "p-pattern", "p-placeholder", "ngModelChange", "keyup.enter", 4, "ngIf"], ["class", "po-page-login-field-size po-lg-12", "name", "customFieldCombo", "p-required", "", 3, "po-page-login-field-size-dynamic", "ngModel", "p-field-value", "p-filter-service", "p-placeholder", "ngModelChange", 4, "ngIf"], ["class", "po-page-login-field-size po-lg-12", "name", "customFieldSelect", "p-required", "", 3, "po-page-login-field-size-dynamic", "ngModel", "p-placeholder", "p-options", "ngModelChange", 4, "ngIf"], ["class", "po-page-login-hint po-page-login-info-container", 4, "ngIf"], ["p-
|
|
369
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 35, vars: 39, consts: [[1, "po-page-login-support", 3, "hidden", "click"], [1, "po-icon", "po-icon-help"], [3, "p-show-select-language", "p-languages", "p-initial-language", "p-background", "p-highlight-info", "p-logo", "p-secondary-logo", "p-selected-language"], ["pageLogin", ""], [1, "po-page-login-header"], [1, "po-mb-md-4", "po-mb-sm-1"], [1, "po-page-login-header-product-name"], ["p-type", "warning", 3, "p-value", 4, "ngIf"], [1, "po-page-login-header-welcome", "po-mb-md-4", "po-mb-sm-2"], [1, "po-page-login-form"], ["loginForm", "ngForm"], [1, "po-row"], [1, "po-lg-12"], [1, "po-page-login-hint", "po-page-login-info-container"], ["name", "login", "p-auto-focus", "", "p-required", "", 1, "po-page-login-info-field", 3, "ngModel", "p-label", "p-pattern", "p-placeholder", "ngModelChange", "click", "keyup.enter", "p-change-model"], ["class", "po-page-login-info-icon-container", 3, "po-page-login-info-icon-container-dynamic", 4, "ngIf"], [1, "po-field-container-bottom", "po-field-container-error-container"], ["class", "po-field-container-bottom-text-error po-field-container-error-item", 4, "ngFor", "ngForOf"], [1, "po-page-login-password-container"], ["name", "password", "p-required", "", 1, "po-page-login-field-size", "po-page-login-password-item", 3, "ngModel", "p-label", "p-pattern", "p-placeholder", "ngModelChange", "click", "keyup.enter", "p-change-model"], ["class", "po-page-login-password-item po-page-login-password-popover-container", 4, "ngIf"], ["class", "po-page-login-field-size po-lg-12", "name", "customFieldInput", "p-required", "", 3, "po-page-login-field-size-dynamic", "ngModel", "p-error-pattern", "p-pattern", "p-placeholder", "ngModelChange", "keyup.enter", 4, "ngIf"], ["class", "po-page-login-field-size po-lg-12", "name", "customFieldCombo", "p-required", "", 3, "po-page-login-field-size-dynamic", "ngModel", "p-field-value", "p-filter-service", "p-placeholder", "ngModelChange", 4, "ngIf"], ["class", "po-page-login-field-size po-lg-12", "name", "customFieldSelect", "p-required", "", 3, "po-page-login-field-size-dynamic", "ngModel", "p-placeholder", "p-options", "ngModelChange", 4, "ngIf"], ["class", "po-page-login-hint po-page-login-info-container", 4, "ngIf"], ["p-kind", "primary", 1, "po-lg-12", "po-page-login-button", "po-page-login-field-size", 3, "p-disabled", "p-label", "p-loading", "p-click"], ["class", "po-page-login-recovery-link", 4, "ngIf"], ["class", "po-page-login-register-link", 4, "ngIf"], ["p-type", "warning", 3, "p-value"], [1, "po-page-login-info-icon-container"], ["class", "po-icon po-field-icon po-icon-info", "p-tooltip-position", "right", 3, "p-tooltip", 4, "ngIf"], ["p-tooltip-position", "right", 1, "po-icon", "po-field-icon", "po-icon-info", 3, "p-tooltip"], [1, "po-field-container-bottom-text-error", "po-field-container-error-item"], [1, "po-icon", "po-icon-exclamation"], [1, "po-field-container-error-text"], [1, "po-page-login-password-item", "po-page-login-password-popover-container"], [3, "p-literals", "p-recovery", "p-remaining-attempts", "p-forgot-password", 4, "ngIf"], [3, "p-literals", "p-recovery", "p-remaining-attempts", "p-forgot-password"], ["name", "customFieldInput", "p-required", "", 1, "po-page-login-field-size", "po-lg-12", 3, "ngModel", "p-error-pattern", "p-pattern", "p-placeholder", "ngModelChange", "keyup.enter"], ["name", "customFieldCombo", "p-required", "", 1, "po-page-login-field-size", "po-lg-12", 3, "ngModel", "p-field-value", "p-filter-service", "p-placeholder", "ngModelChange"], ["name", "customFieldSelect", "p-required", "", 1, "po-page-login-field-size", "po-lg-12", 3, "ngModel", "p-placeholder", "p-options", "ngModelChange"], ["name", "rememberUser", "p-label-position", "1", 1, "po-page-login-info-field", "po-lg-7", "po-offset-lg-5", "po-offset-xl-5", 3, "ngModel", "p-label-off", "p-label-on", "ngModelChange", "keyup.enter"], ["class", "po-page-login-info-icon-container po-page-login-info-icon-remember-user", 3, "po-page-login-info-icon-container-dynamic", 4, "ngIf"], [1, "po-page-login-info-icon-container", "po-page-login-info-icon-remember-user"], [1, "po-page-login-recovery-link"], [1, "po-font-text-large-bold", 3, "click"], [1, "po-page-login-register-link"]], template: function PoPageLoginComponent_Template(rf, ctx) { if (rf & 1) {
|
|
370
370
|
const _r35 = i0.ɵɵgetCurrentView();
|
|
371
371
|
i0.ɵɵelementStart(0, "button", 0);
|
|
372
372
|
i0.ɵɵlistener("click", function PoPageLoginComponent_Template_button_click_0_listener() { return ctx.activateSupport(); });
|
|
@@ -456,7 +456,7 @@ PoPageLoginComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPage
|
|
|
456
456
|
} }, directives: [i4.PoPageBackgroundComponent, i5.NgIf, i2.PoTagComponent, i6.ɵNgNoValidate, i6.NgControlStatusGroup, i6.NgForm, i2.PoLoginComponent, i6.NgControlStatus, i6.NgModel, i2.PoTooltipDirective, i5.NgForOf, i2.PoPasswordComponent, i7.PoPageLoginPopoverComponent, i2.PoInputComponent, i2.PoComboComponent, i2.PoSelectComponent, i2.PoSwitchComponent, i2.PoButtonComponent], encapsulation: 2 });
|
|
457
457
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageLoginComponent, [{
|
|
458
458
|
type: Component,
|
|
459
|
-
args: [{ selector: 'po-page-login', template: "<button class=\"po-page-login-support\" (click)=\"activateSupport()\" [hidden]=\"!support\">\n <span class=\"po-icon po-icon-help\"></span>\n {{ pageLoginLiterals?.support }}\n</button>\n\n<po-page-background\n #pageLogin\n [p-show-select-language]=\"showLanguage\"\n [p-languages]=\"languagesList\"\n [p-initial-language]=\"initialSelectLanguage\"\n [p-background]=\"background\"\n [p-highlight-info]=\"pageLoginLiterals.highlightInfo\"\n [p-logo]=\"logo\"\n [p-secondary-logo]=\"secondaryLogo\"\n (p-selected-language)=\"onSelectedLanguage($event)\"\n>\n <header class=\"po-page-login-header\">\n <h1 class=\"po-mb-md-4 po-mb-sm-1\">\n <div class=\"po-page-login-header-product-name\">{{ productName }}</div>\n <po-tag *ngIf=\"environment\" p-type=\"warning\" [p-value]=\"environment\"> </po-tag>\n </h1>\n <div class=\"po-page-login-header-welcome po-mb-md-4 po-mb-sm-2\">{{ pageLoginLiterals.welcome }}</div>\n </header>\n\n <form #loginForm=\"ngForm\" class=\"po-page-login-form\">\n <div class=\"po-row\">\n <div class=\"po-lg-12\">\n <div class=\"po-page-login-hint po-page-login-info-container\">\n <po-login\n class=\"po-page-login-info-field\"\n [class.po-page-login-info-field-dynamic]=\"\n !pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\n \"\n name=\"login\"\n [(ngModel)]=\"login\"\n p-auto-focus\n p-required\n [p-label]=\"pageLoginLiterals.loginLabel\"\n [p-pattern]=\"loginPattern\"\n [p-placeholder]=\"pageLoginLiterals.loginPlaceholder\"\n (click)=\"closePopover()\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n (p-change-model)=\"changeLoginModel()\"\n >\n </po-login>\n\n <div\n *ngIf=\"pageLoginLiterals.loginHint || pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-info-icon-container\"\n [class.po-page-login-info-icon-container-dynamic]=\"\n !pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\n \"\n >\n <span\n *ngIf=\"pageLoginLiterals.loginHint\"\n class=\"po-icon po-field-icon po-icon-info\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"pageLoginLiterals.loginHint\"\n >\n </span>\n </div>\n </div>\n\n <div class=\"po-field-container-bottom po-field-container-error-container\">\n <div\n *ngFor=\"let error of allLoginErrors\"\n class=\"po-field-container-bottom-text-error po-field-container-error-item\"\n >\n <span class=\"po-icon po-icon-exclamation\"></span>\n <span class=\"po-field-container-error-text\">{{ error }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"po-lg-12\">\n <div class=\"po-page-login-password-container\">\n <po-password\n class=\"po-page-login-field-size po-page-login-password-item\"\n [class.po-page-login-field-size-dynamic]=\"\n !pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\n \"\n name=\"password\"\n [(ngModel)]=\"password\"\n p-required\n [p-label]=\"pageLoginLiterals.passwordLabel\"\n [p-pattern]=\"passwordPattern\"\n [p-placeholder]=\"pageLoginLiterals.passwordPlaceholder\"\n (click)=\"closePopover()\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n (p-change-model)=\"changePasswordModel()\"\n >\n </po-password>\n <div\n *ngIf=\"pageLoginLiterals.loginHint || pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-password-item po-page-login-password-popover-container\"\n >\n <po-page-login-popover\n *ngIf=\"showExceededAttemptsWarning && exceededAttemptsWarning\"\n [p-literals]=\"pageLoginLiterals\"\n [p-recovery]=\"recovery\"\n [p-remaining-attempts]=\"exceededAttemptsWarning\"\n (p-forgot-password)=\"openUrl($event)\"\n >\n </po-page-login-popover>\n </div>\n </div>\n <div class=\"po-field-container-bottom po-field-container-error-container\">\n <div\n *ngFor=\"let error of allPasswordErrors\"\n class=\"po-field-container-bottom-text-error po-field-container-error-item\"\n >\n <span class=\"po-icon po-icon-exclamation\"></span>\n <span class=\"po-field-container-error-text\">{{ error }}</span>\n </div>\n </div>\n </div>\n\n <po-input\n *ngIf=\"customField && customFieldType === 'input'\"\n [class.po-page-login-field-size-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-field-size po-lg-12\"\n name=\"customFieldInput\"\n [(ngModel)]=\"customFieldObject.value\"\n p-required\n [p-error-pattern]=\"customFieldObject.errorPattern || pageLoginLiterals.customFieldErrorPattern\"\n [p-pattern]=\"customFieldObject.pattern\"\n [p-placeholder]=\"customFieldObject.placeholder || pageLoginLiterals.customFieldPlaceholder\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n >\n </po-input>\n\n <po-combo\n *ngIf=\"customField && customFieldType === 'combo'\"\n [class.po-page-login-field-size-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-field-size po-lg-12\"\n name=\"customFieldCombo\"\n [(ngModel)]=\"customFieldObject.value\"\n p-required\n [p-field-value]=\"customFieldObject.fieldValue\"\n [p-filter-service]=\"customFieldObject.url\"\n [p-placeholder]=\"customFieldObject.placeholder || pageLoginLiterals.customFieldPlaceholder\"\n >\n </po-combo>\n\n <po-select\n *ngIf=\"customField && customFieldType === 'select'\"\n [class.po-page-login-field-size-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-field-size po-lg-12\"\n name=\"customFieldSelect\"\n [(ngModel)]=\"customFieldObject.value\"\n p-required\n [p-placeholder]=\"customFieldObject.placeholder || pageLoginLiterals.customFieldPlaceholder\"\n [p-options]=\"customFieldObject.options\"\n >\n </po-select>\n\n <div class=\"po-lg-12\">\n <div *ngIf=\"!hideRememberUser\" class=\"po-page-login-hint po-page-login-info-container\">\n <po-switch\n class=\"po-page-login-info-field po-lg-7 po-offset-lg-5 po-offset-xl-5\"\n name=\"rememberUser\"\n [(ngModel)]=\"rememberUser\"\n p-label-position=\"1\"\n [p-label-off]=\"pageLoginLiterals.rememberUser\"\n [p-label-on]=\"pageLoginLiterals.rememberUser\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n >\n </po-switch>\n\n <div\n *ngIf=\"pageLoginLiterals.loginHint || pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-info-icon-container po-page-login-info-icon-remember-user\"\n [class.po-page-login-info-icon-container-dynamic]=\"!pageLoginLiterals.rememberUserHint\"\n >\n <span\n *ngIf=\"pageLoginLiterals.rememberUserHint\"\n class=\"po-icon po-field-icon po-icon-info\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"pageLoginLiterals.rememberUserHint\"\n >\n </span>\n </div>\n </div>\n </div>\n\n <po-button\n [class.po-page-login-button-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-lg-12 po-page-login-button po-page-login-field-size\"\n p-
|
|
459
|
+
args: [{ selector: 'po-page-login', template: "<button class=\"po-page-login-support\" (click)=\"activateSupport()\" [hidden]=\"!support\">\n <span class=\"po-icon po-icon-help\"></span>\n {{ pageLoginLiterals?.support }}\n</button>\n\n<po-page-background\n #pageLogin\n [p-show-select-language]=\"showLanguage\"\n [p-languages]=\"languagesList\"\n [p-initial-language]=\"initialSelectLanguage\"\n [p-background]=\"background\"\n [p-highlight-info]=\"pageLoginLiterals.highlightInfo\"\n [p-logo]=\"logo\"\n [p-secondary-logo]=\"secondaryLogo\"\n (p-selected-language)=\"onSelectedLanguage($event)\"\n>\n <header class=\"po-page-login-header\">\n <h1 class=\"po-mb-md-4 po-mb-sm-1\">\n <div class=\"po-page-login-header-product-name\">{{ productName }}</div>\n <po-tag *ngIf=\"environment\" p-type=\"warning\" [p-value]=\"environment\"> </po-tag>\n </h1>\n <div class=\"po-page-login-header-welcome po-mb-md-4 po-mb-sm-2\">{{ pageLoginLiterals.welcome }}</div>\n </header>\n\n <form #loginForm=\"ngForm\" class=\"po-page-login-form\">\n <div class=\"po-row\">\n <div class=\"po-lg-12\">\n <div class=\"po-page-login-hint po-page-login-info-container\">\n <po-login\n class=\"po-page-login-info-field\"\n [class.po-page-login-info-field-dynamic]=\"\n !pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\n \"\n name=\"login\"\n [(ngModel)]=\"login\"\n p-auto-focus\n p-required\n [p-label]=\"pageLoginLiterals.loginLabel\"\n [p-pattern]=\"loginPattern\"\n [p-placeholder]=\"pageLoginLiterals.loginPlaceholder\"\n (click)=\"closePopover()\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n (p-change-model)=\"changeLoginModel()\"\n >\n </po-login>\n\n <div\n *ngIf=\"pageLoginLiterals.loginHint || pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-info-icon-container\"\n [class.po-page-login-info-icon-container-dynamic]=\"\n !pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\n \"\n >\n <span\n *ngIf=\"pageLoginLiterals.loginHint\"\n class=\"po-icon po-field-icon po-icon-info\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"pageLoginLiterals.loginHint\"\n >\n </span>\n </div>\n </div>\n\n <div class=\"po-field-container-bottom po-field-container-error-container\">\n <div\n *ngFor=\"let error of allLoginErrors\"\n class=\"po-field-container-bottom-text-error po-field-container-error-item\"\n >\n <span class=\"po-icon po-icon-exclamation\"></span>\n <span class=\"po-field-container-error-text\">{{ error }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"po-lg-12\">\n <div class=\"po-page-login-password-container\">\n <po-password\n class=\"po-page-login-field-size po-page-login-password-item\"\n [class.po-page-login-field-size-dynamic]=\"\n !pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\n \"\n name=\"password\"\n [(ngModel)]=\"password\"\n p-required\n [p-label]=\"pageLoginLiterals.passwordLabel\"\n [p-pattern]=\"passwordPattern\"\n [p-placeholder]=\"pageLoginLiterals.passwordPlaceholder\"\n (click)=\"closePopover()\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n (p-change-model)=\"changePasswordModel()\"\n >\n </po-password>\n <div\n *ngIf=\"pageLoginLiterals.loginHint || pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-password-item po-page-login-password-popover-container\"\n >\n <po-page-login-popover\n *ngIf=\"showExceededAttemptsWarning && exceededAttemptsWarning\"\n [p-literals]=\"pageLoginLiterals\"\n [p-recovery]=\"recovery\"\n [p-remaining-attempts]=\"exceededAttemptsWarning\"\n (p-forgot-password)=\"openUrl($event)\"\n >\n </po-page-login-popover>\n </div>\n </div>\n <div class=\"po-field-container-bottom po-field-container-error-container\">\n <div\n *ngFor=\"let error of allPasswordErrors\"\n class=\"po-field-container-bottom-text-error po-field-container-error-item\"\n >\n <span class=\"po-icon po-icon-exclamation\"></span>\n <span class=\"po-field-container-error-text\">{{ error }}</span>\n </div>\n </div>\n </div>\n\n <po-input\n *ngIf=\"customField && customFieldType === 'input'\"\n [class.po-page-login-field-size-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-field-size po-lg-12\"\n name=\"customFieldInput\"\n [(ngModel)]=\"customFieldObject.value\"\n p-required\n [p-error-pattern]=\"customFieldObject.errorPattern || pageLoginLiterals.customFieldErrorPattern\"\n [p-pattern]=\"customFieldObject.pattern\"\n [p-placeholder]=\"customFieldObject.placeholder || pageLoginLiterals.customFieldPlaceholder\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n >\n </po-input>\n\n <po-combo\n *ngIf=\"customField && customFieldType === 'combo'\"\n [class.po-page-login-field-size-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-field-size po-lg-12\"\n name=\"customFieldCombo\"\n [(ngModel)]=\"customFieldObject.value\"\n p-required\n [p-field-value]=\"customFieldObject.fieldValue\"\n [p-filter-service]=\"customFieldObject.url\"\n [p-placeholder]=\"customFieldObject.placeholder || pageLoginLiterals.customFieldPlaceholder\"\n >\n </po-combo>\n\n <po-select\n *ngIf=\"customField && customFieldType === 'select'\"\n [class.po-page-login-field-size-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-field-size po-lg-12\"\n name=\"customFieldSelect\"\n [(ngModel)]=\"customFieldObject.value\"\n p-required\n [p-placeholder]=\"customFieldObject.placeholder || pageLoginLiterals.customFieldPlaceholder\"\n [p-options]=\"customFieldObject.options\"\n >\n </po-select>\n\n <div class=\"po-lg-12\">\n <div *ngIf=\"!hideRememberUser\" class=\"po-page-login-hint po-page-login-info-container\">\n <po-switch\n class=\"po-page-login-info-field po-lg-7 po-offset-lg-5 po-offset-xl-5\"\n name=\"rememberUser\"\n [(ngModel)]=\"rememberUser\"\n p-label-position=\"1\"\n [p-label-off]=\"pageLoginLiterals.rememberUser\"\n [p-label-on]=\"pageLoginLiterals.rememberUser\"\n (keyup.enter)=\"loginForm.valid && onLoginSubmit()\"\n >\n </po-switch>\n\n <div\n *ngIf=\"pageLoginLiterals.loginHint || pageLoginLiterals.rememberUserHint\"\n class=\"po-page-login-info-icon-container po-page-login-info-icon-remember-user\"\n [class.po-page-login-info-icon-container-dynamic]=\"!pageLoginLiterals.rememberUserHint\"\n >\n <span\n *ngIf=\"pageLoginLiterals.rememberUserHint\"\n class=\"po-icon po-field-icon po-icon-info\"\n p-tooltip-position=\"right\"\n [p-tooltip]=\"pageLoginLiterals.rememberUserHint\"\n >\n </span>\n </div>\n </div>\n </div>\n\n <po-button\n [class.po-page-login-button-dynamic]=\"!pageLoginLiterals.loginHint && !pageLoginLiterals.rememberUserHint\"\n class=\"po-lg-12 po-page-login-button po-page-login-field-size\"\n p-kind=\"primary\"\n [p-disabled]=\"loginForm.invalid\"\n [p-label]=\"loading ? pageLoginLiterals.submittedLabel : pageLoginLiterals.submitLabel\"\n [p-loading]=\"loading\"\n (p-click)=\"onLoginSubmit()\"\n >\n </po-button>\n\n <div *ngIf=\"recovery\" class=\"po-page-login-recovery-link\">\n <a class=\"po-font-text-large-bold\" (click)=\"openUrl(recovery)\">{{ pageLoginLiterals.forgotPassword }}</a>\n </div>\n\n <div *ngIf=\"registerUrl\" class=\"po-page-login-register-link\">\n <a class=\"po-font-text-large-bold\" (click)=\"openUrl(registerUrl)\">{{ pageLoginLiterals.registerUrl }}</a>\n </div>\n </div>\n </form>\n</po-page-background>\n" }]
|
|
460
460
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ActivatedRoute }, { type: i2.PoComponentInjectorService }, { type: i0.IterableDiffers }, { type: i3.PoPageLoginService }, { type: i1.Router }, { type: i2.PoLanguageService }]; }, { loginForm: [{
|
|
461
461
|
type: ViewChild,
|
|
462
462
|
args: ['loginForm', { read: NgForm, static: true }]
|
|
@@ -464,4 +464,4 @@ PoPageLoginComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoPage
|
|
|
464
464
|
type: ViewChild,
|
|
465
465
|
args: ['pageLogin', { read: ViewContainerRef, static: true }]
|
|
466
466
|
}] }); })();
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtbG9naW4vcG8tcGFnZS1sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtbG9naW4vcG8tcGFnZS1sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFHTCxTQUFTLEVBSVQsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDdkgsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzNCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7OztJQ0xsQyw2QkFBK0U7OztJQUFsQyw0Q0FBdUI7OztJQWtDOUQsMkJBTU87OztJQUZMLCtEQUF5Qzs7O0lBWDdDLCtCQU1DO0lBQ0MsK0VBTU87SUFDVCxpQkFBTTs7O0lBWEosOElBRUM7SUFHRSxlQUFpQztJQUFqQyx5REFBaUM7OztJQVV0QywrQkFHQztJQUNDLDJCQUFpRDtJQUNqRCxnQ0FBNEM7SUFBQSxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxCLGVBQVc7SUFBWCwrQkFBVzs7OztJQTJCdkQsaURBTUM7SUFEQywwT0FBcUIsdUJBQWUsSUFBQztJQUV2QyxpQkFBd0I7OztJQUx0QixzREFBZ0MsZ0NBQUEseURBQUE7OztJQU5wQywrQkFHQztJQUNDLGlIQU93QjtJQUMxQixpQkFBTTs7O0lBUEQsZUFBNEQ7SUFBNUQsMkZBQTREOzs7SUFVakUsK0JBR0M7SUFDQywyQkFBaUQ7SUFDakQsZ0NBQTRDO0lBQUEsWUFBVztJQUFBLGlCQUFPLEVBQUE7OztJQUFsQixlQUFXO0lBQVgsK0JBQVc7Ozs7SUFLN0Qsb0NBV0M7SUFOQyw2T0FBcUMsdU5BS0gsdUJBQWUsSUFMWjtJQU92QyxpQkFBVzs7O0lBVlQscUlBQThHO0lBRzlHLHdEQUFxQyw4R0FBQSwrQ0FBQSwwR0FBQTs7OztJQVN2QyxvQ0FVQztJQUxDLDZPQUFxQztJQU12QyxpQkFBVzs7O0lBVFQscUlBQThHO0lBRzlHLHdEQUFxQyxzREFBQSxrREFBQSwwR0FBQTs7OztJQVF2QyxxQ0FTQztJQUpDLCtPQUFxQztJQUt2QyxpQkFBWTs7O0lBUlYscUlBQThHO0lBRzlHLHdEQUFxQywwR0FBQSwrQ0FBQTs7O0lBeUJqQywyQkFNTzs7O0lBRkwsc0VBQWdEOzs7SUFUcEQsK0JBSUM7SUFDQyxxRkFNTztJQUNULGlCQUFNOzs7SUFUSix3R0FBdUY7SUFHcEYsZUFBd0M7SUFBeEMsaUVBQXdDOzs7O0lBbEIvQywrQkFBdUYsb0JBQUE7SUFJbkYsOE5BQTBCLG1OQUlRLHVCQUFlLElBSnZCO0lBTTVCLGlCQUFZO0lBRVosNkVBWU07SUFDUixpQkFBTTs7O0lBckJGLGVBQTBCO0lBQTFCLDhDQUEwQix1REFBQSxzREFBQTtJQVN6QixlQUF1RTtJQUF2RSx3R0FBdUU7Ozs7SUEwQjlFLCtCQUEwRCxZQUFBO0lBQ3JCLCtKQUFTLGlDQUFpQixJQUFDO0lBQUMsWUFBc0M7SUFBQSxpQkFBSSxFQUFBOzs7SUFBMUMsZUFBc0M7SUFBdEMsOERBQXNDOzs7O0lBR3ZHLCtCQUE2RCxZQUFBO0lBQ3hCLCtKQUFTLG9DQUFvQixJQUFDO0lBQUMsWUFBbUM7SUFBQSxpQkFBSSxFQUFBOzs7SUFBdkMsZUFBbUM7SUFBbkMsMkRBQW1DOztBRDdLN0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFNSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBVWhFLFlBQ1MsY0FBaUMsRUFDaEMsY0FBOEIsRUFDOUIsbUJBQStDLEVBQ3ZELE9BQXdCLEVBQ3hCLFlBQWdDLEVBQ2hDLE1BQWMsRUFDZCxpQkFBb0M7UUFFcEMsS0FBSyxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQVJ4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNEI7UUFQakQsaUJBQVksR0FBc0IsSUFBSSxDQUFDO1FBRTlCLHdCQUFtQixHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBWXZELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDckMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTthQUNoRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ3JELENBQUM7SUFFRCxlQUFlO1FBQ2IsUUFBUSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDM0IsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEMsTUFBTTthQUNQO1lBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFhO1FBQ25CLFFBQVEsT0FBTyxRQUFRLEVBQUU7WUFDdkIsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDYixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QixNQUFNO2FBQ1A7WUFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUNmLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE1BQU07YUFDUDtZQUNELEtBQUssUUFBUSxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNO2FBQ1A7U0FDRjtJQUNILENBQUM7SUFFUyxvQ0FBb0MsQ0FBQyxZQUFvQjtRQUNqRSxNQUFNLHVCQUF1QixHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEYsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFUyxjQUFjLENBQUMsTUFBcUI7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxNQUFxQjtRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVPLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxRQUFRO1FBQ2xELElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRTtZQUMxRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxJQUFJO1FBQ25DLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUN4RyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNsSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM3RixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNwRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUM5RjtJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsY0FBc0IsRUFBRSxhQUFxQixFQUFFLEtBQWE7UUFDOUUsT0FBTyxHQUFHLGNBQWMsSUFBSSxhQUFhLElBQUksS0FBSyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsY0FBc0IsRUFBRSxrQkFBMEI7UUFDM0csT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNwRixDQUFDO0lBRU8sb0NBQW9DLENBQUMsbUJBQXdDO1FBQ25GLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNFO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxJQUFJLDJCQUEyQixDQUFDLEtBQUssQ0FBQztRQUNoRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1QjtTQUNGO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDckQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXpELElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUI7U0FDRjtJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsT0FBd0I7UUFDM0MsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxPQUF3QixFQUFFLE1BQXFCLEVBQUUsWUFBb0I7UUFDL0csSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBRTdGLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbEUsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN4QixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDN0M7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsR0FBRztRQUN4QixjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE1BQVcsRUFBRSxLQUFrRDtRQUMxRixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUNyQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xHLE9BQU8sUUFBUSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUM5RCxDQUFDOzt3RkE5TVUsb0JBQW9CO3VFQUFwQixvQkFBb0I7K0JBQ0MsTUFBTTsrQkFDTixnQkFBZ0I7Ozs7Ozs7UUM3RGxELGlDQUFzRjtRQUFoRCxpR0FBUyxxQkFBaUIsSUFBQztRQUMvRCwwQkFBMEM7UUFDMUMsWUFDRjtRQUFBLGlCQUFTO1FBRVQsZ0RBVUM7UUFEQywrSUFBdUIsOEJBQTBCLElBQUM7UUFFbEQsaUNBQXFDLFlBQUEsYUFBQTtRQUVjLFlBQWlCO1FBQUEsaUJBQU07UUFDdEUsMkVBQStFO1FBQ2pGLGlCQUFLO1FBQ0wsK0JBQWdFO1FBQUEsYUFBK0I7UUFBQSxpQkFBTSxFQUFBO1FBR3ZHLG9DQUFxRCxlQUFBLGVBQUEsZUFBQSxvQkFBQTtRQVUzQyxnSkFBbUIsdUZBTVYsa0JBQWMsSUFOSix3S0FPZSxtQkFBZSxJQVA5Qix5R0FRRCxzQkFBa0IsSUFSakI7UUFVckIsaUJBQVc7UUFFWCx3RUFjTTtRQUNSLGlCQUFNO1FBRU4sZ0NBQTBFO1FBQ3hFLHdFQU1NO1FBQ1IsaUJBQU0sRUFBQTtRQUdSLGdDQUFzQixlQUFBLHVCQUFBO1FBUWhCLHNKQUFzQiwwRkFLYixrQkFBYyxJQUxELDJLQU1ZLG1CQUFlLElBTjNCLDRHQU9KLHlCQUFxQixJQVBqQjtRQVN4QixpQkFBYztRQUNkLHdFQVlNO1FBQ1IsaUJBQU07UUFDTixnQ0FBMEU7UUFDeEUsd0VBTU07UUFDUixpQkFBTSxFQUFBO1FBR1Isa0ZBWVc7UUFFWCxrRkFXVztRQUVYLG9GQVVZO1FBRVosZ0NBQXNCO1FBQ3BCLHdFQXlCTTtRQUNSLGlCQUFNO1FBRU4sc0NBUUM7UUFEQyx5R0FBVyxtQkFBZSxJQUFDO1FBRTdCLGlCQUFZO1FBRVosd0VBRU07UUFFTix3RUFFTTtRQUNSLGlCQUFNLEVBQUEsRUFBQTs7O1FBM013RCxxQ0FBbUI7UUFFbkYsZUFDRjtRQURFLHNHQUNGO1FBSUUsZUFBdUM7UUFBdkMseURBQXVDLGtDQUFBLGlEQUFBLGdDQUFBLHlEQUFBLG9CQUFBLHVDQUFBO1FBV1ksZUFBaUI7UUFBakIscUNBQWlCO1FBQ3ZELGVBQWlCO1FBQWpCLHNDQUFpQjtRQUVvQyxlQUErQjtRQUEvQixtREFBK0I7UUFTdkYsZUFFQztRQUZELCtIQUVDO1FBRUQsbUNBQW1CLDZDQUFBLCtCQUFBLHlEQUFBO1FBYWxCLGVBQXVFO1FBQXZFLGdHQUF1RTtRQWtCdEQsZUFBaUI7UUFBakIsNENBQWlCO1FBYW5DLGVBRUM7UUFGRCwrSEFFQztRQUVELHNDQUFzQixnREFBQSxrQ0FBQSw0REFBQTtRQVdyQixlQUF1RTtRQUF2RSxnR0FBdUU7UUFldEQsZUFBb0I7UUFBcEIsK0NBQW9CO1FBVXpDLGVBQWdEO1FBQWhELHlFQUFnRDtRQWNoRCxlQUFnRDtRQUFoRCx5RUFBZ0Q7UUFhaEQsZUFBaUQ7UUFBakQsMEVBQWlEO1FBWTVDLGVBQXVCO1FBQXZCLDRDQUF1QjtRQTZCN0IsZUFBMEc7UUFBMUcsMkhBQTBHO1FBRzFHLHdDQUFnQyxtR0FBQSwwQkFBQTtRQU81QixlQUFjO1FBQWQsbUNBQWM7UUFJZCxlQUFpQjtRQUFqQixzQ0FBaUI7O3VGRDdJaEIsb0JBQW9CO2NBSmhDLFNBQVM7MkJBQ0UsZUFBZTs4UEFJK0IsU0FBUztrQkFBaEUsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDWSxTQUFTO2tCQUExRSxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSXRlcmFibGVEaWZmZXJzLFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGlzRXh0ZXJuYWxMaW5rIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb0NvbXBvbmVudEluamVjdG9yU2VydmljZSB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQgfSBmcm9tICcuLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlIH0gZnJvbSAnLi4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkvZW51bXMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdHlwZS5lbnVtJztcbmltcG9ydCB7XG4gIFBvUGFnZUxvZ2luQmFzZUNvbXBvbmVudCxcbiAgcG9QYWdlTG9naW5MaXRlcmFsSW4sXG4gIHBvUGFnZUxvZ2luTGl0ZXJhbHNEZWZhdWx0XG59IGZyb20gJy4vcG8tcGFnZS1sb2dpbi1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1BhZ2VMb2dpblJlY292ZXJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtbG9naW4tcmVjb3ZlcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUxvZ2luU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1sb2dpbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlTG9naW5CYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1sb2dpbi1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBMb2dpbiBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1iYXNpYy9zYW1wbGUtcG8tcGFnZS1sb2dpbi1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWJhc2ljL3NhbXBsZS1wby1wYWdlLWxvZ2luLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtbG9naW4tbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBMb2dpbiBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWxhYnMvc2FtcGxlLXBvLXBhZ2UtbG9naW4tbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWxhYnMvc2FtcGxlLXBvLXBhZ2UtbG9naW4tbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWxvZ2luLWh1bWFuLXJlc291cmNlc1wiIHRpdGxlPVwiUE8gUGFnZSBMb2dpbiAtIEh1bWFuIFJlc291cmNlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1odW1hbi1yZXNvdXJjZXMvc2FtcGxlLXBvLXBhZ2UtbG9naW4taHVtYW4tcmVzb3VyY2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtbG9naW4taHVtYW4tcmVzb3VyY2VzL3NhbXBsZS1wby1wYWdlLWxvZ2luLWh1bWFuLXJlc291cmNlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1odW1hbi1yZXNvdXJjZXMvc2FtcGxlLXBvLXBhZ2UtbG9naW4taHVtYW4tcmVzb3VyY2VzLm1vZHVsZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtbG9naW4tYXV0b21hdGljLXNlcnZpY2VcIiB0aXRsZT1cIlBPIFBhZ2UgTG9naW4gLSBBdXRvbWF0aWMgU2VydmljZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1hdXRvbWF0aWMtc2VydmljZS9zYW1wbGUtcG8tcGFnZS1sb2dpbi1hdXRvbWF0aWMtc2VydmljZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWF1dG9tYXRpYy1zZXJ2aWNlL3NhbXBsZS1wby1wYWdlLWxvZ2luLWF1dG9tYXRpYy1zZXJ2aWNlLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWxvZ2luLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1BhZ2VMb2dpbkNvbXBvbmVudCBleHRlbmRzIFBvUGFnZUxvZ2luQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2xvZ2luRm9ybScsIHsgcmVhZDogTmdGb3JtLCBzdGF0aWM6IHRydWUgfSkgbG9naW5Gb3JtOiBOZ0Zvcm07XG4gIEBWaWV3Q2hpbGQoJ3BhZ2VMb2dpbicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHBhZ2VMb2dpbjogVmlld0NvbnRhaW5lclJlZjtcblxuICBpbml0aWFsU2VsZWN0TGFuZ3VhZ2U6IHN0cmluZztcblxuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xuICBwcml2YXRlIGRpZmZlcjogYW55O1xuICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbVBhc3N3b3JkRXJyb3IgPSB7IGN1c3RvbTogZmFsc2UgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcG9Db21wb25lbnRJbmplY3RvcjogUG9Db21wb25lbnRJbmplY3RvclNlcnZpY2UsXG4gICAgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICAgIGxvZ2luU2VydmljZTogUG9QYWdlTG9naW5TZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHBvTGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihsb2dpblNlcnZpY2UsIHJvdXRlciwgcG9MYW5ndWFnZVNlcnZpY2UpO1xuICAgIHRoaXMuZGlmZmVyID0gZGlmZmVycy5maW5kKFtdKS5jcmVhdGUobnVsbCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMuZGlmZmVyKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQXJyYXlDaGFuZ2VzKHRoaXMuZGlmZmVyLCBbXG4gICAgICAgIHsgYXJyYXk6IHRoaXMubG9naW5FcnJvcnMsIGNhbGxiYWNrOiB0aGlzLmdlbmVyYXRlTG9naW5FcnJvci5iaW5kKHRoaXMpIH0sXG4gICAgICAgIHsgYXJyYXk6IHRoaXMucGFzc3dvcmRFcnJvcnMsIGNhbGxiYWNrOiB0aGlzLmdlbmVyYXRlUGFzc3dvcmRFcnJvci5iaW5kKHRoaXMpIH1cbiAgICAgIF0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YSk7XG4gICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5pbml0aWFsaXplTGFuZ3VhZ2UoKTtcbiAgICB0aGlzLmluaXRpYWxTZWxlY3RMYW5ndWFnZSA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZTtcbiAgfVxuXG4gIGFjdGl2YXRlU3VwcG9ydCgpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB0aGlzLnN1cHBvcnQpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6IHtcbiAgICAgICAgdGhpcy5zZXRVcmxSZWRpcmVjdCh0aGlzLnN1cHBvcnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzoge1xuICAgICAgICB0aGlzLnN1cHBvcnQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlTG9naW5Nb2RlbCgpIHtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGlvblVybCkge1xuICAgICAgdGhpcy5sb2dpbkVycm9ycyA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldExvZ2luRXJyb3JzKHRoaXMubG9naW5FcnJvcnMpO1xuICAgICAgdGhpcy5sb2dpbkNoYW5nZS5lbWl0KHRoaXMubG9naW4pO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVBhc3N3b3JkTW9kZWwoKSB7XG4gICAgaWYgKHRoaXMuYXV0aGVudGljYXRpb25VcmwpIHtcbiAgICAgIHRoaXMucGFzc3dvcmRFcnJvcnMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRQYXNzd29yZEVycm9ycyh0aGlzLnBhc3N3b3JkRXJyb3JzKTtcbiAgICAgIHRoaXMucGFzc3dvcmRDaGFuZ2UuZW1pdCh0aGlzLnBhc3N3b3JkKTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdGVkTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2UuZW1pdCh0aGlzLmxhbmd1YWdlc0xpc3QuZmluZChsYW5ndWFnZUl0ZW0gPT4gbGFuZ3VhZ2VJdGVtLmxhbmd1YWdlID09PSBsYW5ndWFnZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xuICB9XG5cbiAgb3BlblVybChyZWNvdmVyeTogYW55KTogdm9pZCB7XG4gICAgc3dpdGNoICh0eXBlb2YgcmVjb3ZlcnkpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6IHtcbiAgICAgICAgdGhpcy5zZXRVcmxSZWRpcmVjdChyZWNvdmVyeSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZnVuY3Rpb24nOiB7XG4gICAgICAgIHJlY292ZXJ5KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnb2JqZWN0Jzoge1xuICAgICAgICB0aGlzLmNyZWF0ZU1vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudChyZWNvdmVyeSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjb25jYXRlbmF0ZUxvZ2luSGludFdpdGhDb250YWN0RW1haWwoY29udGFjdEVtYWlsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkZWZhdWx0TG9naW5IaW50TGl0ZXJhbCA9IHBvUGFnZUxvZ2luTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdLmxvZ2luSGludDtcbiAgICBjb25zdCBwcmVwb3NpdGlvbkxpdGVyYWwgPSBwb1BhZ2VMb2dpbkxpdGVyYWxJblt0aGlzLmxhbmd1YWdlXTtcblxuICAgIHJldHVybiB0aGlzLmNvbmNhdGVuYXRlTGl0ZXJhbChjb250YWN0RW1haWwsICdsb2dpbkhpbnQnLCBkZWZhdWx0TG9naW5IaW50TGl0ZXJhbCwgcHJlcG9zaXRpb25MaXRlcmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRMb2dpbkVycm9ycyhlcnJvcnM6IEFycmF5PHN0cmluZz4pIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5sb2dpbkZvcm0uZm9ybS5jb250cm9sc1snbG9naW4nXTtcbiAgICB0aGlzLnNldENvbnRyb2xFcnJvcnMoJ2FsbExvZ2luRXJyb3JzJywgY29udHJvbCwgZXJyb3JzLCB0aGlzLnBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luRXJyb3JQYXR0ZXJuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRQYXNzd29yZEVycm9ycyhlcnJvcnM6IEFycmF5PHN0cmluZz4pIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5sb2dpbkZvcm0uZm9ybS5jb250cm9sc1sncGFzc3dvcmQnXTtcbiAgICB0aGlzLnNldENvbnRyb2xFcnJvcnMoJ2FsbFBhc3N3b3JkRXJyb3JzJywgY29udHJvbCwgZXJyb3JzLCB0aGlzLnBhZ2VMb2dpbkxpdGVyYWxzLnBhc3N3b3JkRXJyb3JQYXR0ZXJuKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KG9iamVjdCwgcHJvcGVydHkpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0W3Byb3BlcnR5XTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNraW5nRm9yUm91dGVNZXRhZGF0YShkYXRhKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGRhdGEpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGlvblVybCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdzZXJ2aWNlQXBpJykgfHwgdGhpcy5hdXRoZW50aWNhdGlvblVybDtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRpb25UeXBlID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ2F1dGhlbnRpY2F0aW9uVHlwZScpIHx8IHRoaXMuYXV0aGVudGljYXRpb25UeXBlO1xuICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdlbnZpcm9ubWVudCcpIHx8IHRoaXMuZW52aXJvbm1lbnQ7XG4gICAgICB0aGlzLnJlY292ZXJ5ID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ3JlY292ZXJ5JykgfHwgdGhpcy5yZWNvdmVyeTtcbiAgICAgIHRoaXMucmVnaXN0ZXJVcmwgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAncmVnaXN0ZXJVcmwnKSB8fCB0aGlzLnJlZ2lzdGVyVXJsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uY2F0ZW5hdGUoZGVmYXVsdExpdGVyYWw6IHN0cmluZywgcHJlZml4TGl0ZXJhbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke2RlZmF1bHRMaXRlcmFsfSAke3ByZWZpeExpdGVyYWx9ICR7dmFsdWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgY29uY2F0ZW5hdGVMaXRlcmFsKHZhbHVlOiBzdHJpbmcsIGxpdGVyYWw6IHN0cmluZywgZGVmYXVsdExpdGVyYWw6IHN0cmluZywgcHJlcG9zaXRpb25MaXRlcmFsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyBbbGl0ZXJhbF06IHRoaXMuY29uY2F0ZW5hdGUoZGVmYXVsdExpdGVyYWwsIHByZXBvc2l0aW9uTGl0ZXJhbCwgdmFsdWUpIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU1vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudChwb1BhZ2VMb2dpblJlY292ZXJ5OiBQb1BhZ2VMb2dpblJlY292ZXJ5KSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnBvQ29tcG9uZW50SW5qZWN0b3IuZGVzdHJveUNvbXBvbmVudEluQXBwbGljYXRpb24odGhpcy5jb21wb25lbnRSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5wb0NvbXBvbmVudEluamVjdG9yLmNyZWF0ZUNvbXBvbmVudEluQXBwbGljYXRpb24oUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnVybFJlY292ZXJ5ID0gcG9QYWdlTG9naW5SZWNvdmVyeS51cmw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGFjdEVtYWlsID0gcG9QYWdlTG9naW5SZWNvdmVyeS5jb250YWN0TWFpbDtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5waG9uZU1hc2sgPSBwb1BhZ2VMb2dpblJlY292ZXJ5LnBob25lTWFzaztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50eXBlID0gcG9QYWdlTG9naW5SZWNvdmVyeS50eXBlIHx8IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5FbWFpbDtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5vcGVuKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlTG9naW5FcnJvcigpIHtcbiAgICBpZiAodGhpcy5sb2dpbkVycm9ycyAmJiB0aGlzLmxvZ2luRXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRMb2dpbkVycm9ycyh0aGlzLmxvZ2luRXJyb3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubG9naW5Gb3JtLmZvcm0uY29udHJvbHNbJ2xvZ2luJ107XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICB0aGlzLnJlc2V0Q29udHJvbChjb250cm9sKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUGFzc3dvcmRFcnJvcigpIHtcbiAgICBpZiAodGhpcy5wYXNzd29yZEVycm9ycyAmJiB0aGlzLnBhc3N3b3JkRXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRQYXNzd29yZEVycm9ycyh0aGlzLnBhc3N3b3JkRXJyb3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubG9naW5Gb3JtLmZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ107XG5cbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIHRoaXMucmVzZXRDb250cm9sKGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDb250cm9sKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICBjb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sRXJyb3JzKGFsbEVycm9yczogc3RyaW5nLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGVycm9yczogQXJyYXk8c3RyaW5nPiwgcGF0dGVybkVycm9yOiBzdHJpbmcpIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgdGhpc1thbGxFcnJvcnNdID0gY29udHJvbC5oYXNFcnJvcigncGF0dGVybicpID8gWy4uLmVycm9ycywgLi4uW3BhdHRlcm5FcnJvcl1dIDogWy4uLmVycm9yc107XG5cbiAgICAgIGlmIChlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCAmJiAoY29udHJvbC52YWxpZCB8fCBjb250cm9sLnByaXN0aW5lKSkge1xuICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICBjb250cm9sLnNldEVycm9ycyh0aGlzLmN1c3RvbVBhc3N3b3JkRXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXJsUmVkaXJlY3QodXJsKSB7XG4gICAgaXNFeHRlcm5hbExpbmsodXJsKSA/IHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFycmF5Q2hhbmdlcyhkaWZmZXI6IGFueSwgYXJyYXk6IEFycmF5PHsgYXJyYXk6IEFycmF5PGFueT47IGNhbGxiYWNrOiBhbnkgfT4pIHtcbiAgICBhcnJheS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3QgY2hhbmdlcyA9IGRpZmZlci5kaWZmKGVsZW1lbnQuYXJyYXkpO1xuICAgICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgICAgZWxlbWVudC5jYWxsYmFjaygpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxhbmd1YWdlKCkge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNMaXN0LmZpbmQobGFuZ3VhZ2VJdGVtID0+IGxhbmd1YWdlSXRlbS5sYW5ndWFnZSA9PT0gdGhpcy5sYW5ndWFnZSk7XG4gICAgcmV0dXJuIGxhbmd1YWdlPy5sYW5ndWFnZSB8fCB0aGlzLmxhbmd1YWdlc0xpc3RbMF0ubGFuZ3VhZ2U7XG4gIH1cbn1cbiIsIjxidXR0b24gY2xhc3M9XCJwby1wYWdlLWxvZ2luLXN1cHBvcnRcIiAoY2xpY2spPVwiYWN0aXZhdGVTdXBwb3J0KClcIiBbaGlkZGVuXT1cIiFzdXBwb3J0XCI+XG4gIDxzcGFuIGNsYXNzPVwicG8taWNvbiBwby1pY29uLWhlbHBcIj48L3NwYW4+XG4gIHt7IHBhZ2VMb2dpbkxpdGVyYWxzPy5zdXBwb3J0IH19XG48L2J1dHRvbj5cblxuPHBvLXBhZ2UtYmFja2dyb3VuZFxuICAjcGFnZUxvZ2luXG4gIFtwLXNob3ctc2VsZWN0LWxhbmd1YWdlXT1cInNob3dMYW5ndWFnZVwiXG4gIFtwLWxhbmd1YWdlc109XCJsYW5ndWFnZXNMaXN0XCJcbiAgW3AtaW5pdGlhbC1sYW5ndWFnZV09XCJpbml0aWFsU2VsZWN0TGFuZ3VhZ2VcIlxuICBbcC1iYWNrZ3JvdW5kXT1cImJhY2tncm91bmRcIlxuICBbcC1oaWdobGlnaHQtaW5mb109XCJwYWdlTG9naW5MaXRlcmFscy5oaWdobGlnaHRJbmZvXCJcbiAgW3AtbG9nb109XCJsb2dvXCJcbiAgW3Atc2Vjb25kYXJ5LWxvZ29dPVwic2Vjb25kYXJ5TG9nb1wiXG4gIChwLXNlbGVjdGVkLWxhbmd1YWdlKT1cIm9uU2VsZWN0ZWRMYW5ndWFnZSgkZXZlbnQpXCJcbj5cbiAgPGhlYWRlciBjbGFzcz1cInBvLXBhZ2UtbG9naW4taGVhZGVyXCI+XG4gICAgPGgxIGNsYXNzPVwicG8tbWItbWQtNCBwby1tYi1zbS0xXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1oZWFkZXItcHJvZHVjdC1uYW1lXCI+e3sgcHJvZHVjdE5hbWUgfX08L2Rpdj5cbiAgICAgIDxwby10YWcgKm5nSWY9XCJlbnZpcm9ubWVudFwiIHAtdHlwZT1cIndhcm5pbmdcIiBbcC12YWx1ZV09XCJlbnZpcm9ubWVudFwiPiA8L3BvLXRhZz5cbiAgICA8L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWhlYWRlci13ZWxjb21lIHBvLW1iLW1kLTQgcG8tbWItc20tMlwiPnt7IHBhZ2VMb2dpbkxpdGVyYWxzLndlbGNvbWUgfX08L2Rpdj5cbiAgPC9oZWFkZXI+XG5cbiAgPGZvcm0gI2xvZ2luRm9ybT1cIm5nRm9ybVwiIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1mb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cInBvLXJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxnLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWhpbnQgcG8tcGFnZS1sb2dpbi1pbmZvLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxwby1sb2dpblxuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWluZm8tZmllbGRcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4taW5mby1maWVsZC1keW5hbWljXT1cIlxuICAgICAgICAgICAgICAhcGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50ICYmICFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgbmFtZT1cImxvZ2luXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibG9naW5cIlxuICAgICAgICAgICAgcC1hdXRvLWZvY3VzXG4gICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJwYWdlTG9naW5MaXRlcmFscy5sb2dpbkxhYmVsXCJcbiAgICAgICAgICAgIFtwLXBhdHRlcm5dPVwibG9naW5QYXR0ZXJuXCJcbiAgICAgICAgICAgIFtwLXBsYWNlaG9sZGVyXT1cInBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJjaGFuZ2VMb2dpbk1vZGVsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWxvZ2luPlxuXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgfHwgcGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VySGludFwiXG4gICAgICAgICAgICBjbGFzcz1cInBvLXBhZ2UtbG9naW4taW5mby1pY29uLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MucG8tcGFnZS1sb2dpbi1pbmZvLWljb24tY29udGFpbmVyLWR5bmFtaWNdPVwiXG4gICAgICAgICAgICAgICFwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgJiYgIXBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgKm5nSWY9XCJwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInBvLWljb24gcG8tZmllbGQtaWNvbiBwby1pY29uLWluZm9cIlxuICAgICAgICAgICAgICBwLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwicGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhbGxMb2dpbkVycm9yc1wiXG4gICAgICAgICAgICBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20tdGV4dC1lcnJvciBwby1maWVsZC1jb250YWluZXItZXJyb3ItaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tZXhjbGFtYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1lcnJvci10ZXh0XCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1sZy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1wYXNzd29yZC1jb250YWluZXJcIj5cbiAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1maWVsZC1zaXplIHBvLXBhZ2UtbG9naW4tcGFzc3dvcmQtaXRlbVwiXG4gICAgICAgICAgICBbY2xhc3MucG8tcGFnZS1sb2dpbi1maWVsZC1zaXplLWR5bmFtaWNdPVwiXG4gICAgICAgICAgICAgICFwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgJiYgIXBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXG4gICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJwYWdlTG9naW5MaXRlcmFscy5wYXNzd29yZExhYmVsXCJcbiAgICAgICAgICAgIFtwLXBhdHRlcm5dPVwicGFzc3dvcmRQYXR0ZXJuXCJcbiAgICAgICAgICAgIFtwLXBsYWNlaG9sZGVyXT1cInBhZ2VMb2dpbkxpdGVyYWxzLnBhc3N3b3JkUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJjaGFuZ2VQYXNzd29yZE1vZGVsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhc3N3b3JkPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwicGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50IHx8IHBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLXBhc3N3b3JkLWl0ZW0gcG8tcGFnZS1sb2dpbi1wYXNzd29yZC1wb3BvdmVyLWNvbnRhaW5lclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBvLXBhZ2UtbG9naW4tcG9wb3ZlclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dFeGNlZWRlZEF0dGVtcHRzV2FybmluZyAmJiBleGNlZWRlZEF0dGVtcHRzV2FybmluZ1wiXG4gICAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cInBhZ2VMb2dpbkxpdGVyYWxzXCJcbiAgICAgICAgICAgICAgW3AtcmVjb3ZlcnldPVwicmVjb3ZlcnlcIlxuICAgICAgICAgICAgICBbcC1yZW1haW5pbmctYXR0ZW1wdHNdPVwiZXhjZWVkZWRBdHRlbXB0c1dhcm5pbmdcIlxuICAgICAgICAgICAgICAocC1mb3Jnb3QtcGFzc3dvcmQpPVwib3BlblVybCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tcGFnZS1sb2dpbi1wb3BvdmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhbGxQYXNzd29yZEVycm9yc1wiXG4gICAgICAgICAgICBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20tdGV4dC1lcnJvciBwby1maWVsZC1jb250YWluZXItZXJyb3ItaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tZXhjbGFtYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1lcnJvci10ZXh0XCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxwby1pbnB1dFxuICAgICAgICAqbmdJZj1cImN1c3RvbUZpZWxkICYmIGN1c3RvbUZpZWxkVHlwZSA9PT0gJ2lucHV0J1wiXG4gICAgICAgIFtjbGFzcy5wby1wYWdlLWxvZ2luLWZpZWxkLXNpemUtZHluYW1pY109XCIhcGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50ICYmICFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWZpZWxkLXNpemUgcG8tbGctMTJcIlxuICAgICAgICBuYW1lPVwiY3VzdG9tRmllbGRJbnB1dFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tRmllbGRPYmplY3QudmFsdWVcIlxuICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiY3VzdG9tRmllbGRPYmplY3QuZXJyb3JQYXR0ZXJuIHx8IHBhZ2VMb2dpbkxpdGVyYWxzLmN1c3RvbUZpZWxkRXJyb3JQYXR0ZXJuXCJcbiAgICAgICAgW3AtcGF0dGVybl09XCJjdXN0b21GaWVsZE9iamVjdC5wYXR0ZXJuXCJcbiAgICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiY3VzdG9tRmllbGRPYmplY3QucGxhY2Vob2xkZXIgfHwgcGFnZUxvZ2luTGl0ZXJhbHMuY3VzdG9tRmllbGRQbGFjZWhvbGRlclwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgID5cbiAgICAgIDwvcG8taW5wdXQ+XG5cbiAgICAgIDxwby1jb21ib1xuICAgICAgICAqbmdJZj1cImN1c3RvbUZpZWxkICYmIGN1c3RvbUZpZWxkVHlwZSA9PT0gJ2NvbWJvJ1wiXG4gICAgICAgIFtjbGFzcy5wby1wYWdlLWxvZ2luLWZpZWxkLXNpemUtZHluYW1pY109XCIhcGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50ICYmICFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWZpZWxkLXNpemUgcG8tbGctMTJcIlxuICAgICAgICBuYW1lPVwiY3VzdG9tRmllbGRDb21ib1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tRmllbGRPYmplY3QudmFsdWVcIlxuICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImN1c3RvbUZpZWxkT2JqZWN0LmZpZWxkVmFsdWVcIlxuICAgICAgICBbcC1maWx0ZXItc2VydmljZV09XCJjdXN0b21GaWVsZE9iamVjdC51cmxcIlxuICAgICAgICBbcC1wbGFjZWhvbGRlcl09XCJjdXN0b21GaWVsZE9iamVjdC5wbGFjZWhvbGRlciB8fCBwYWdlTG9naW5MaXRlcmFscy5jdXN0b21GaWVsZFBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgIDwvcG8tY29tYm8+XG5cbiAgICAgIDxwby1zZWxlY3RcbiAgICAgICAgKm5nSWY9XCJjdXN0b21GaWVsZCAmJiBjdXN0b21GaWVsZFR5cGUgPT09ICdzZWxlY3QnXCJcbiAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4tZmllbGQtc2l6ZS1keW5hbWljXT1cIiFwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgJiYgIXBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcIlxuICAgICAgICBjbGFzcz1cInBvLXBhZ2UtbG9naW4tZmllbGQtc2l6ZSBwby1sZy0xMlwiXG4gICAgICAgIG5hbWU9XCJjdXN0b21GaWVsZFNlbGVjdFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tRmllbGRPYmplY3QudmFsdWVcIlxuICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImN1c3RvbUZpZWxkT2JqZWN0LnBsYWNlaG9sZGVyIHx8IHBhZ2VMb2dpbkxpdGVyYWxzLmN1c3RvbUZpZWxkUGxhY2Vob2xkZXJcIlxuICAgICAgICBbcC1vcHRpb25zXT1cImN1c3RvbUZpZWxkT2JqZWN0Lm9wdGlvbnNcIlxuICAgICAgPlxuICAgICAgPC9wby1zZWxlY3Q+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1sZy0xMlwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVSZW1lbWJlclVzZXJcIiBjbGFzcz1cInBvLXBhZ2UtbG9naW4taGludCBwby1wYWdlLWxvZ2luLWluZm8tY29udGFpbmVyXCI+XG4gICAgICAgICAgPHBvLXN3aXRjaFxuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWluZm8tZmllbGQgcG8tbGctNyBwby1vZmZzZXQtbGctNSBwby1vZmZzZXQteGwtNVwiXG4gICAgICAgICAgICBuYW1lPVwicmVtZW1iZXJVc2VyXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVtZW1iZXJVc2VyXCJcbiAgICAgICAgICAgIHAtbGFiZWwtcG9zaXRpb249XCIxXCJcbiAgICAgICAgICAgIFtwLWxhYmVsLW9mZl09XCJwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJcIlxuICAgICAgICAgICAgW3AtbGFiZWwtb25dPVwicGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VyXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wby1zd2l0Y2g+XG5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luSGludCB8fCBwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1pbmZvLWljb24tY29udGFpbmVyIHBvLXBhZ2UtbG9naW4taW5mby1pY29uLXJlbWVtYmVyLXVzZXJcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4taW5mby1pY29uLWNvbnRhaW5lci1keW5hbWljXT1cIiFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAqbmdJZj1cInBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInBvLWljb24gcG8tZmllbGQtaWNvbiBwby1pY29uLWluZm9cIlxuICAgICAgICAgICAgICBwLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwicGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VySGludFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4tYnV0dG9uLWR5bmFtaWNdPVwiIXBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luSGludCAmJiAhcGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VySGludFwiXG4gICAgICAgIGNsYXNzPVwicG8tbGctMTIgcG8tcGFnZS1sb2dpbi1idXR0b24gcG8tcGFnZS1sb2dpbi1maWVsZC1zaXplXCJcbiAgICAgICAgcC10eXBlPVwicHJpbWFyeVwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cImxvZ2luRm9ybS5pbnZhbGlkXCJcbiAgICAgICAgW3AtbGFiZWxdPVwibG9hZGluZyA/IHBhZ2VMb2dpbkxpdGVyYWxzLnN1Ym1pdHRlZExhYmVsIDogcGFnZUxvZ2luTGl0ZXJhbHMuc3VibWl0TGFiZWxcIlxuICAgICAgICBbcC1sb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAocC1jbGljayk9XCJvbkxvZ2luU3VibWl0KClcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJyZWNvdmVyeVwiIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1yZWNvdmVyeS1saW5rXCI+XG4gICAgICAgIDxhIGNsYXNzPVwicG8tZm9udC10ZXh0LWxhcmdlLWJvbGRcIiAoY2xpY2spPVwib3BlblVybChyZWNvdmVyeSlcIj57eyBwYWdlTG9naW5MaXRlcmFscy5mb3Jnb3RQYXNzd29yZCB9fTwvYT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwicmVnaXN0ZXJVcmxcIiBjbGFzcz1cInBvLXBhZ2UtbG9naW4tcmVnaXN0ZXItbGlua1wiPlxuICAgICAgICA8YSBjbGFzcz1cInBvLWZvbnQtdGV4dC1sYXJnZS1ib2xkXCIgKGNsaWNrKT1cIm9wZW5VcmwocmVnaXN0ZXJVcmwpXCI+e3sgcGFnZUxvZ2luTGl0ZXJhbHMucmVnaXN0ZXJVcmwgfX08L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9wby1wYWdlLWJhY2tncm91bmQ+XG4iXX0=
|
|
467
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtbG9naW4vcG8tcGFnZS1sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2UtbG9naW4vcG8tcGFnZS1sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFHTCxTQUFTLEVBSVQsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDdkgsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzNCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7OztJQ0xsQyw2QkFBK0U7OztJQUFsQyw0Q0FBdUI7OztJQWtDOUQsMkJBTU87OztJQUZMLCtEQUF5Qzs7O0lBWDdDLCtCQU1DO0lBQ0MsK0VBTU87SUFDVCxpQkFBTTs7O0lBWEosOElBRUM7SUFHRSxlQUFpQztJQUFqQyx5REFBaUM7OztJQVV0QywrQkFHQztJQUNDLDJCQUFpRDtJQUNqRCxnQ0FBNEM7SUFBQSxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxCLGVBQVc7SUFBWCwrQkFBVzs7OztJQTJCdkQsaURBTUM7SUFEQywwT0FBcUIsdUJBQWUsSUFBQztJQUV2QyxpQkFBd0I7OztJQUx0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cUNBQWlCO1FBQ3ZELGVBQWlCO1FBQWpCLHNDQUFpQjtRQUVvQyxlQUErQjtRQUEvQixtREFBK0I7UUFTdkYsZUFFQztRQUZELCtIQUVDO1FBRUQsbUNBQW1CLDZDQUFBLCtCQUFBLHlEQUFBO1FBYWxCLGVBQXVFO1FBQXZFLGdHQUF1RTtRQWtCdEQsZUFBaUI7UUFBakIsNENBQWlCO1FBYW5DLGVBRUM7UUFGRCwrSEFFQztRQUVELHNDQUFzQixnREFBQSxrQ0FBQSw0REFBQTtRQVdyQixlQUF1RTtRQUF2RSxnR0FBdUU7UUFldEQsZUFBb0I7UUFBcEIsK0NBQW9CO1FBVXpDLGVBQWdEO1FBQWhELHlFQUFnRDtRQWNoRCxlQUFnRDtRQUFoRCx5RUFBZ0Q7UUFhaEQsZUFBaUQ7UUFBakQsMEVBQWlEO1FBWTVDLGVBQXVCO1FBQXZCLDRDQUF1QjtRQTZCN0IsZUFBMEc7UUFBMUcsMkhBQTBHO1FBRzFHLHdDQUFnQyxtR0FBQSwwQkFBQTtRQU81QixlQUFjO1FBQWQsbUNBQWM7UUFJZCxlQUFpQjtRQUFqQixzQ0FBaUI7O3VGRDdJaEIsb0JBQW9CO2NBSmhDLFNBQVM7MkJBQ0UsZUFBZTs4UEFJK0IsU0FBUztrQkFBaEUsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDWSxTQUFTO2tCQUExRSxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSXRlcmFibGVEaWZmZXJzLFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGlzRXh0ZXJuYWxMaW5rIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb0NvbXBvbmVudEluamVjdG9yU2VydmljZSB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcblxuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQgfSBmcm9tICcuLi9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS9wby1tb2RhbC1wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlUeXBlIH0gZnJvbSAnLi4vcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnkvZW51bXMvcG8tbW9kYWwtcGFzc3dvcmQtcmVjb3ZlcnktdHlwZS5lbnVtJztcbmltcG9ydCB7XG4gIFBvUGFnZUxvZ2luQmFzZUNvbXBvbmVudCxcbiAgcG9QYWdlTG9naW5MaXRlcmFsSW4sXG4gIHBvUGFnZUxvZ2luTGl0ZXJhbHNEZWZhdWx0XG59IGZyb20gJy4vcG8tcGFnZS1sb2dpbi1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1BhZ2VMb2dpblJlY292ZXJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXBhZ2UtbG9naW4tcmVjb3ZlcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUGFnZUxvZ2luU2VydmljZSB9IGZyb20gJy4vcG8tcGFnZS1sb2dpbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9QYWdlTG9naW5CYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcGFnZS1sb2dpbi1iYXNpY1wiIHRpdGxlPVwiUE8gUGFnZSBMb2dpbiBCYXNpY1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1iYXNpYy9zYW1wbGUtcG8tcGFnZS1sb2dpbi1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWJhc2ljL3NhbXBsZS1wby1wYWdlLWxvZ2luLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtbG9naW4tbGFic1wiIHRpdGxlPVwiUE8gUGFnZSBMb2dpbiBMYWJzXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWxhYnMvc2FtcGxlLXBvLXBhZ2UtbG9naW4tbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWxhYnMvc2FtcGxlLXBvLXBhZ2UtbG9naW4tbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wYWdlLWxvZ2luLWh1bWFuLXJlc291cmNlc1wiIHRpdGxlPVwiUE8gUGFnZSBMb2dpbiAtIEh1bWFuIFJlc291cmNlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1odW1hbi1yZXNvdXJjZXMvc2FtcGxlLXBvLXBhZ2UtbG9naW4taHVtYW4tcmVzb3VyY2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBhZ2UtbG9naW4taHVtYW4tcmVzb3VyY2VzL3NhbXBsZS1wby1wYWdlLWxvZ2luLWh1bWFuLXJlc291cmNlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1odW1hbi1yZXNvdXJjZXMvc2FtcGxlLXBvLXBhZ2UtbG9naW4taHVtYW4tcmVzb3VyY2VzLm1vZHVsZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBhZ2UtbG9naW4tYXV0b21hdGljLXNlcnZpY2VcIiB0aXRsZT1cIlBPIFBhZ2UgTG9naW4gLSBBdXRvbWF0aWMgU2VydmljZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcGFnZS1sb2dpbi1hdXRvbWF0aWMtc2VydmljZS9zYW1wbGUtcG8tcGFnZS1sb2dpbi1hdXRvbWF0aWMtc2VydmljZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wYWdlLWxvZ2luLWF1dG9tYXRpYy1zZXJ2aWNlL3NhbXBsZS1wby1wYWdlLWxvZ2luLWF1dG9tYXRpYy1zZXJ2aWNlLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcGFnZS1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wYWdlLWxvZ2luLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1BhZ2VMb2dpbkNvbXBvbmVudCBleHRlbmRzIFBvUGFnZUxvZ2luQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2xvZ2luRm9ybScsIHsgcmVhZDogTmdGb3JtLCBzdGF0aWM6IHRydWUgfSkgbG9naW5Gb3JtOiBOZ0Zvcm07XG4gIEBWaWV3Q2hpbGQoJ3BhZ2VMb2dpbicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHBhZ2VMb2dpbjogVmlld0NvbnRhaW5lclJlZjtcblxuICBpbml0aWFsU2VsZWN0TGFuZ3VhZ2U6IHN0cmluZztcblxuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xuICBwcml2YXRlIGRpZmZlcjogYW55O1xuICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbVBhc3N3b3JkRXJyb3IgPSB7IGN1c3RvbTogZmFsc2UgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcG9Db21wb25lbnRJbmplY3RvcjogUG9Db21wb25lbnRJbmplY3RvclNlcnZpY2UsXG4gICAgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICAgIGxvZ2luU2VydmljZTogUG9QYWdlTG9naW5TZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIHBvTGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihsb2dpblNlcnZpY2UsIHJvdXRlciwgcG9MYW5ndWFnZVNlcnZpY2UpO1xuICAgIHRoaXMuZGlmZmVyID0gZGlmZmVycy5maW5kKFtdKS5jcmVhdGUobnVsbCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKHRoaXMuZGlmZmVyKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQXJyYXlDaGFuZ2VzKHRoaXMuZGlmZmVyLCBbXG4gICAgICAgIHsgYXJyYXk6IHRoaXMubG9naW5FcnJvcnMsIGNhbGxiYWNrOiB0aGlzLmdlbmVyYXRlTG9naW5FcnJvci5iaW5kKHRoaXMpIH0sXG4gICAgICAgIHsgYXJyYXk6IHRoaXMucGFzc3dvcmRFcnJvcnMsIGNhbGxiYWNrOiB0aGlzLmdlbmVyYXRlUGFzc3dvcmRFcnJvci5iaW5kKHRoaXMpIH1cbiAgICAgIF0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tpbmdGb3JSb3V0ZU1ldGFkYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YSk7XG4gICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0gdGhpcy5pbml0aWFsaXplTGFuZ3VhZ2UoKTtcbiAgICB0aGlzLmluaXRpYWxTZWxlY3RMYW5ndWFnZSA9IHRoaXMuc2VsZWN0ZWRMYW5ndWFnZTtcbiAgfVxuXG4gIGFjdGl2YXRlU3VwcG9ydCgpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB0aGlzLnN1cHBvcnQpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6IHtcbiAgICAgICAgdGhpcy5zZXRVcmxSZWRpcmVjdCh0aGlzLnN1cHBvcnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzoge1xuICAgICAgICB0aGlzLnN1cHBvcnQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlTG9naW5Nb2RlbCgpIHtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGlvblVybCkge1xuICAgICAgdGhpcy5sb2dpbkVycm9ycyA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldExvZ2luRXJyb3JzKHRoaXMubG9naW5FcnJvcnMpO1xuICAgICAgdGhpcy5sb2dpbkNoYW5nZS5lbWl0KHRoaXMubG9naW4pO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVBhc3N3b3JkTW9kZWwoKSB7XG4gICAgaWYgKHRoaXMuYXV0aGVudGljYXRpb25VcmwpIHtcbiAgICAgIHRoaXMucGFzc3dvcmRFcnJvcnMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRQYXNzd29yZEVycm9ycyh0aGlzLnBhc3N3b3JkRXJyb3JzKTtcbiAgICAgIHRoaXMucGFzc3dvcmRDaGFuZ2UuZW1pdCh0aGlzLnBhc3N3b3JkKTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdGVkTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2UuZW1pdCh0aGlzLmxhbmd1YWdlc0xpc3QuZmluZChsYW5ndWFnZUl0ZW0gPT4gbGFuZ3VhZ2VJdGVtLmxhbmd1YWdlID09PSBsYW5ndWFnZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZSA9IGxhbmd1YWdlO1xuICB9XG5cbiAgb3BlblVybChyZWNvdmVyeTogYW55KTogdm9pZCB7XG4gICAgc3dpdGNoICh0eXBlb2YgcmVjb3ZlcnkpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6IHtcbiAgICAgICAgdGhpcy5zZXRVcmxSZWRpcmVjdChyZWNvdmVyeSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZnVuY3Rpb24nOiB7XG4gICAgICAgIHJlY292ZXJ5KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnb2JqZWN0Jzoge1xuICAgICAgICB0aGlzLmNyZWF0ZU1vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudChyZWNvdmVyeSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjb25jYXRlbmF0ZUxvZ2luSGludFdpdGhDb250YWN0RW1haWwoY29udGFjdEVtYWlsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkZWZhdWx0TG9naW5IaW50TGl0ZXJhbCA9IHBvUGFnZUxvZ2luTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdLmxvZ2luSGludDtcbiAgICBjb25zdCBwcmVwb3NpdGlvbkxpdGVyYWwgPSBwb1BhZ2VMb2dpbkxpdGVyYWxJblt0aGlzLmxhbmd1YWdlXTtcblxuICAgIHJldHVybiB0aGlzLmNvbmNhdGVuYXRlTGl0ZXJhbChjb250YWN0RW1haWwsICdsb2dpbkhpbnQnLCBkZWZhdWx0TG9naW5IaW50TGl0ZXJhbCwgcHJlcG9zaXRpb25MaXRlcmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRMb2dpbkVycm9ycyhlcnJvcnM6IEFycmF5PHN0cmluZz4pIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5sb2dpbkZvcm0uZm9ybS5jb250cm9sc1snbG9naW4nXTtcbiAgICB0aGlzLnNldENvbnRyb2xFcnJvcnMoJ2FsbExvZ2luRXJyb3JzJywgY29udHJvbCwgZXJyb3JzLCB0aGlzLnBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luRXJyb3JQYXR0ZXJuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRQYXNzd29yZEVycm9ycyhlcnJvcnM6IEFycmF5PHN0cmluZz4pIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5sb2dpbkZvcm0uZm9ybS5jb250cm9sc1sncGFzc3dvcmQnXTtcbiAgICB0aGlzLnNldENvbnRyb2xFcnJvcnMoJ2FsbFBhc3N3b3JkRXJyb3JzJywgY29udHJvbCwgZXJyb3JzLCB0aGlzLnBhZ2VMb2dpbkxpdGVyYWxzLnBhc3N3b3JkRXJyb3JQYXR0ZXJuKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KG9iamVjdCwgcHJvcGVydHkpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0W3Byb3BlcnR5XTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNraW5nRm9yUm91dGVNZXRhZGF0YShkYXRhKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGRhdGEpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGlvblVybCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdzZXJ2aWNlQXBpJykgfHwgdGhpcy5hdXRoZW50aWNhdGlvblVybDtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRpb25UeXBlID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ2F1dGhlbnRpY2F0aW9uVHlwZScpIHx8IHRoaXMuYXV0aGVudGljYXRpb25UeXBlO1xuICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IHRoaXMuY2hlY2tpbmdGb3JNZXRhZGF0YVByb3BlcnR5KGRhdGEsICdlbnZpcm9ubWVudCcpIHx8IHRoaXMuZW52aXJvbm1lbnQ7XG4gICAgICB0aGlzLnJlY292ZXJ5ID0gdGhpcy5jaGVja2luZ0Zvck1ldGFkYXRhUHJvcGVydHkoZGF0YSwgJ3JlY292ZXJ5JykgfHwgdGhpcy5yZWNvdmVyeTtcbiAgICAgIHRoaXMucmVnaXN0ZXJVcmwgPSB0aGlzLmNoZWNraW5nRm9yTWV0YWRhdGFQcm9wZXJ0eShkYXRhLCAncmVnaXN0ZXJVcmwnKSB8fCB0aGlzLnJlZ2lzdGVyVXJsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uY2F0ZW5hdGUoZGVmYXVsdExpdGVyYWw6IHN0cmluZywgcHJlZml4TGl0ZXJhbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke2RlZmF1bHRMaXRlcmFsfSAke3ByZWZpeExpdGVyYWx9ICR7dmFsdWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgY29uY2F0ZW5hdGVMaXRlcmFsKHZhbHVlOiBzdHJpbmcsIGxpdGVyYWw6IHN0cmluZywgZGVmYXVsdExpdGVyYWw6IHN0cmluZywgcHJlcG9zaXRpb25MaXRlcmFsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyBbbGl0ZXJhbF06IHRoaXMuY29uY2F0ZW5hdGUoZGVmYXVsdExpdGVyYWwsIHByZXBvc2l0aW9uTGl0ZXJhbCwgdmFsdWUpIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU1vZGFsUGFzc3dvcmRSZWNvdmVyeUNvbXBvbmVudChwb1BhZ2VMb2dpblJlY292ZXJ5OiBQb1BhZ2VMb2dpblJlY292ZXJ5KSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnBvQ29tcG9uZW50SW5qZWN0b3IuZGVzdHJveUNvbXBvbmVudEluQXBwbGljYXRpb24odGhpcy5jb21wb25lbnRSZWYpO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5wb0NvbXBvbmVudEluamVjdG9yLmNyZWF0ZUNvbXBvbmVudEluQXBwbGljYXRpb24oUG9Nb2RhbFBhc3N3b3JkUmVjb3ZlcnlDb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnVybFJlY292ZXJ5ID0gcG9QYWdlTG9naW5SZWNvdmVyeS51cmw7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGFjdEVtYWlsID0gcG9QYWdlTG9naW5SZWNvdmVyeS5jb250YWN0TWFpbDtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5waG9uZU1hc2sgPSBwb1BhZ2VMb2dpblJlY292ZXJ5LnBob25lTWFzaztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS50eXBlID0gcG9QYWdlTG9naW5SZWNvdmVyeS50eXBlIHx8IFBvTW9kYWxQYXNzd29yZFJlY292ZXJ5VHlwZS5FbWFpbDtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5vcGVuKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlTG9naW5FcnJvcigpIHtcbiAgICBpZiAodGhpcy5sb2dpbkVycm9ycyAmJiB0aGlzLmxvZ2luRXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRMb2dpbkVycm9ycyh0aGlzLmxvZ2luRXJyb3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubG9naW5Gb3JtLmZvcm0uY29udHJvbHNbJ2xvZ2luJ107XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICB0aGlzLnJlc2V0Q29udHJvbChjb250cm9sKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUGFzc3dvcmRFcnJvcigpIHtcbiAgICBpZiAodGhpcy5wYXNzd29yZEVycm9ycyAmJiB0aGlzLnBhc3N3b3JkRXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZXRQYXNzd29yZEVycm9ycyh0aGlzLnBhc3N3b3JkRXJyb3JzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubG9naW5Gb3JtLmZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ107XG5cbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIHRoaXMucmVzZXRDb250cm9sKGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDb250cm9sKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICBjb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sRXJyb3JzKGFsbEVycm9yczogc3RyaW5nLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGVycm9yczogQXJyYXk8c3RyaW5nPiwgcGF0dGVybkVycm9yOiBzdHJpbmcpIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgdGhpc1thbGxFcnJvcnNdID0gY29udHJvbC5oYXNFcnJvcigncGF0dGVybicpID8gWy4uLmVycm9ycywgLi4uW3BhdHRlcm5FcnJvcl1dIDogWy4uLmVycm9yc107XG5cbiAgICAgIGlmIChlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCAmJiAoY29udHJvbC52YWxpZCB8fCBjb250cm9sLnByaXN0aW5lKSkge1xuICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICBjb250cm9sLnNldEVycm9ycyh0aGlzLmN1c3RvbVBhc3N3b3JkRXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXJsUmVkaXJlY3QodXJsKSB7XG4gICAgaXNFeHRlcm5hbExpbmsodXJsKSA/IHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpIDogdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFycmF5Q2hhbmdlcyhkaWZmZXI6IGFueSwgYXJyYXk6IEFycmF5PHsgYXJyYXk6IEFycmF5PGFueT47IGNhbGxiYWNrOiBhbnkgfT4pIHtcbiAgICBhcnJheS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgY29uc3QgY2hhbmdlcyA9IGRpZmZlci5kaWZmKGVsZW1lbnQuYXJyYXkpO1xuICAgICAgaWYgKGNoYW5nZXMpIHtcbiAgICAgICAgZWxlbWVudC5jYWxsYmFjaygpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxhbmd1YWdlKCkge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXNMaXN0LmZpbmQobGFuZ3VhZ2VJdGVtID0+IGxhbmd1YWdlSXRlbS5sYW5ndWFnZSA9PT0gdGhpcy5sYW5ndWFnZSk7XG4gICAgcmV0dXJuIGxhbmd1YWdlPy5sYW5ndWFnZSB8fCB0aGlzLmxhbmd1YWdlc0xpc3RbMF0ubGFuZ3VhZ2U7XG4gIH1cbn1cbiIsIjxidXR0b24gY2xhc3M9XCJwby1wYWdlLWxvZ2luLXN1cHBvcnRcIiAoY2xpY2spPVwiYWN0aXZhdGVTdXBwb3J0KClcIiBbaGlkZGVuXT1cIiFzdXBwb3J0XCI+XG4gIDxzcGFuIGNsYXNzPVwicG8taWNvbiBwby1pY29uLWhlbHBcIj48L3NwYW4+XG4gIHt7IHBhZ2VMb2dpbkxpdGVyYWxzPy5zdXBwb3J0IH19XG48L2J1dHRvbj5cblxuPHBvLXBhZ2UtYmFja2dyb3VuZFxuICAjcGFnZUxvZ2luXG4gIFtwLXNob3ctc2VsZWN0LWxhbmd1YWdlXT1cInNob3dMYW5ndWFnZVwiXG4gIFtwLWxhbmd1YWdlc109XCJsYW5ndWFnZXNMaXN0XCJcbiAgW3AtaW5pdGlhbC1sYW5ndWFnZV09XCJpbml0aWFsU2VsZWN0TGFuZ3VhZ2VcIlxuICBbcC1iYWNrZ3JvdW5kXT1cImJhY2tncm91bmRcIlxuICBbcC1oaWdobGlnaHQtaW5mb109XCJwYWdlTG9naW5MaXRlcmFscy5oaWdobGlnaHRJbmZvXCJcbiAgW3AtbG9nb109XCJsb2dvXCJcbiAgW3Atc2Vjb25kYXJ5LWxvZ29dPVwic2Vjb25kYXJ5TG9nb1wiXG4gIChwLXNlbGVjdGVkLWxhbmd1YWdlKT1cIm9uU2VsZWN0ZWRMYW5ndWFnZSgkZXZlbnQpXCJcbj5cbiAgPGhlYWRlciBjbGFzcz1cInBvLXBhZ2UtbG9naW4taGVhZGVyXCI+XG4gICAgPGgxIGNsYXNzPVwicG8tbWItbWQtNCBwby1tYi1zbS0xXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1oZWFkZXItcHJvZHVjdC1uYW1lXCI+e3sgcHJvZHVjdE5hbWUgfX08L2Rpdj5cbiAgICAgIDxwby10YWcgKm5nSWY9XCJlbnZpcm9ubWVudFwiIHAtdHlwZT1cIndhcm5pbmdcIiBbcC12YWx1ZV09XCJlbnZpcm9ubWVudFwiPiA8L3BvLXRhZz5cbiAgICA8L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWhlYWRlci13ZWxjb21lIHBvLW1iLW1kLTQgcG8tbWItc20tMlwiPnt7IHBhZ2VMb2dpbkxpdGVyYWxzLndlbGNvbWUgfX08L2Rpdj5cbiAgPC9oZWFkZXI+XG5cbiAgPGZvcm0gI2xvZ2luRm9ybT1cIm5nRm9ybVwiIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1mb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cInBvLXJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxnLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWhpbnQgcG8tcGFnZS1sb2dpbi1pbmZvLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxwby1sb2dpblxuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWluZm8tZmllbGRcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4taW5mby1maWVsZC1keW5hbWljXT1cIlxuICAgICAgICAgICAgICAhcGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50ICYmICFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgbmFtZT1cImxvZ2luXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibG9naW5cIlxuICAgICAgICAgICAgcC1hdXRvLWZvY3VzXG4gICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJwYWdlTG9naW5MaXRlcmFscy5sb2dpbkxhYmVsXCJcbiAgICAgICAgICAgIFtwLXBhdHRlcm5dPVwibG9naW5QYXR0ZXJuXCJcbiAgICAgICAgICAgIFtwLXBsYWNlaG9sZGVyXT1cInBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJjaGFuZ2VMb2dpbk1vZGVsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWxvZ2luPlxuXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgfHwgcGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VySGludFwiXG4gICAgICAgICAgICBjbGFzcz1cInBvLXBhZ2UtbG9naW4taW5mby1pY29uLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MucG8tcGFnZS1sb2dpbi1pbmZvLWljb24tY29udGFpbmVyLWR5bmFtaWNdPVwiXG4gICAgICAgICAgICAgICFwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgJiYgIXBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgKm5nSWY9XCJwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInBvLWljb24gcG8tZmllbGQtaWNvbiBwby1pY29uLWluZm9cIlxuICAgICAgICAgICAgICBwLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwicGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhbGxMb2dpbkVycm9yc1wiXG4gICAgICAgICAgICBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20tdGV4dC1lcnJvciBwby1maWVsZC1jb250YWluZXItZXJyb3ItaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tZXhjbGFtYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1lcnJvci10ZXh0XCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1sZy0xMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tcGFnZS1sb2dpbi1wYXNzd29yZC1jb250YWluZXJcIj5cbiAgICAgICAgICA8cG8tcGFzc3dvcmRcbiAgICAgICAgICAgIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1maWVsZC1zaXplIHBvLXBhZ2UtbG9naW4tcGFzc3dvcmQtaXRlbVwiXG4gICAgICAgICAgICBbY2xhc3MucG8tcGFnZS1sb2dpbi1maWVsZC1zaXplLWR5bmFtaWNdPVwiXG4gICAgICAgICAgICAgICFwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgJiYgIXBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXG4gICAgICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJwYWdlTG9naW5MaXRlcmFscy5wYXNzd29yZExhYmVsXCJcbiAgICAgICAgICAgIFtwLXBhdHRlcm5dPVwicGFzc3dvcmRQYXR0ZXJuXCJcbiAgICAgICAgICAgIFtwLXBsYWNlaG9sZGVyXT1cInBhZ2VMb2dpbkxpdGVyYWxzLnBhc3N3b3JkUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgICAgIChwLWNoYW5nZS1tb2RlbCk9XCJjaGFuZ2VQYXNzd29yZE1vZGVsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLXBhc3N3b3JkPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwicGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50IHx8IHBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLXBhc3N3b3JkLWl0ZW0gcG8tcGFnZS1sb2dpbi1wYXNzd29yZC1wb3BvdmVyLWNvbnRhaW5lclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBvLXBhZ2UtbG9naW4tcG9wb3ZlclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dFeGNlZWRlZEF0dGVtcHRzV2FybmluZyAmJiBleGNlZWRlZEF0dGVtcHRzV2FybmluZ1wiXG4gICAgICAgICAgICAgIFtwLWxpdGVyYWxzXT1cInBhZ2VMb2dpbkxpdGVyYWxzXCJcbiAgICAgICAgICAgICAgW3AtcmVjb3ZlcnldPVwicmVjb3ZlcnlcIlxuICAgICAgICAgICAgICBbcC1yZW1haW5pbmctYXR0ZW1wdHNdPVwiZXhjZWVkZWRBdHRlbXB0c1dhcm5pbmdcIlxuICAgICAgICAgICAgICAocC1mb3Jnb3QtcGFzc3dvcmQpPVwib3BlblVybCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tcGFnZS1sb2dpbi1wb3BvdmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gcG8tZmllbGQtY29udGFpbmVyLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlcnJvciBvZiBhbGxQYXNzd29yZEVycm9yc1wiXG4gICAgICAgICAgICBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20tdGV4dC1lcnJvciBwby1maWVsZC1jb250YWluZXItZXJyb3ItaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tZXhjbGFtYXRpb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1lcnJvci10ZXh0XCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxwby1pbnB1dFxuICAgICAgICAqbmdJZj1cImN1c3RvbUZpZWxkICYmIGN1c3RvbUZpZWxkVHlwZSA9PT0gJ2lucHV0J1wiXG4gICAgICAgIFtjbGFzcy5wby1wYWdlLWxvZ2luLWZpZWxkLXNpemUtZHluYW1pY109XCIhcGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50ICYmICFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWZpZWxkLXNpemUgcG8tbGctMTJcIlxuICAgICAgICBuYW1lPVwiY3VzdG9tRmllbGRJbnB1dFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tRmllbGRPYmplY3QudmFsdWVcIlxuICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiY3VzdG9tRmllbGRPYmplY3QuZXJyb3JQYXR0ZXJuIHx8IHBhZ2VMb2dpbkxpdGVyYWxzLmN1c3RvbUZpZWxkRXJyb3JQYXR0ZXJuXCJcbiAgICAgICAgW3AtcGF0dGVybl09XCJjdXN0b21GaWVsZE9iamVjdC5wYXR0ZXJuXCJcbiAgICAgICAgW3AtcGxhY2Vob2xkZXJdPVwiY3VzdG9tRmllbGRPYmplY3QucGxhY2Vob2xkZXIgfHwgcGFnZUxvZ2luTGl0ZXJhbHMuY3VzdG9tRmllbGRQbGFjZWhvbGRlclwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgID5cbiAgICAgIDwvcG8taW5wdXQ+XG5cbiAgICAgIDxwby1jb21ib1xuICAgICAgICAqbmdJZj1cImN1c3RvbUZpZWxkICYmIGN1c3RvbUZpZWxkVHlwZSA9PT0gJ2NvbWJvJ1wiXG4gICAgICAgIFtjbGFzcy5wby1wYWdlLWxvZ2luLWZpZWxkLXNpemUtZHluYW1pY109XCIhcGFnZUxvZ2luTGl0ZXJhbHMubG9naW5IaW50ICYmICFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWZpZWxkLXNpemUgcG8tbGctMTJcIlxuICAgICAgICBuYW1lPVwiY3VzdG9tRmllbGRDb21ib1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tRmllbGRPYmplY3QudmFsdWVcIlxuICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImN1c3RvbUZpZWxkT2JqZWN0LmZpZWxkVmFsdWVcIlxuICAgICAgICBbcC1maWx0ZXItc2VydmljZV09XCJjdXN0b21GaWVsZE9iamVjdC51cmxcIlxuICAgICAgICBbcC1wbGFjZWhvbGRlcl09XCJjdXN0b21GaWVsZE9iamVjdC5wbGFjZWhvbGRlciB8fCBwYWdlTG9naW5MaXRlcmFscy5jdXN0b21GaWVsZFBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgIDwvcG8tY29tYm8+XG5cbiAgICAgIDxwby1zZWxlY3RcbiAgICAgICAgKm5nSWY9XCJjdXN0b21GaWVsZCAmJiBjdXN0b21GaWVsZFR5cGUgPT09ICdzZWxlY3QnXCJcbiAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4tZmllbGQtc2l6ZS1keW5hbWljXT1cIiFwYWdlTG9naW5MaXRlcmFscy5sb2dpbkhpbnQgJiYgIXBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcIlxuICAgICAgICBjbGFzcz1cInBvLXBhZ2UtbG9naW4tZmllbGQtc2l6ZSBwby1sZy0xMlwiXG4gICAgICAgIG5hbWU9XCJjdXN0b21GaWVsZFNlbGVjdFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiY3VzdG9tRmllbGRPYmplY3QudmFsdWVcIlxuICAgICAgICBwLXJlcXVpcmVkXG4gICAgICAgIFtwLXBsYWNlaG9sZGVyXT1cImN1c3RvbUZpZWxkT2JqZWN0LnBsYWNlaG9sZGVyIHx8IHBhZ2VMb2dpbkxpdGVyYWxzLmN1c3RvbUZpZWxkUGxhY2Vob2xkZXJcIlxuICAgICAgICBbcC1vcHRpb25zXT1cImN1c3RvbUZpZWxkT2JqZWN0Lm9wdGlvbnNcIlxuICAgICAgPlxuICAgICAgPC9wby1zZWxlY3Q+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwby1sZy0xMlwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVSZW1lbWJlclVzZXJcIiBjbGFzcz1cInBvLXBhZ2UtbG9naW4taGludCBwby1wYWdlLWxvZ2luLWluZm8tY29udGFpbmVyXCI+XG4gICAgICAgICAgPHBvLXN3aXRjaFxuICAgICAgICAgICAgY2xhc3M9XCJwby1wYWdlLWxvZ2luLWluZm8tZmllbGQgcG8tbGctNyBwby1vZmZzZXQtbGctNSBwby1vZmZzZXQteGwtNVwiXG4gICAgICAgICAgICBuYW1lPVwicmVtZW1iZXJVc2VyXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVtZW1iZXJVc2VyXCJcbiAgICAgICAgICAgIHAtbGFiZWwtcG9zaXRpb249XCIxXCJcbiAgICAgICAgICAgIFtwLWxhYmVsLW9mZl09XCJwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJcIlxuICAgICAgICAgICAgW3AtbGFiZWwtb25dPVwicGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VyXCJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2dpbkZvcm0udmFsaWQgJiYgb25Mb2dpblN1Ym1pdCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wby1zd2l0Y2g+XG5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luSGludCB8fCBwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1pbmZvLWljb24tY29udGFpbmVyIHBvLXBhZ2UtbG9naW4taW5mby1pY29uLXJlbWVtYmVyLXVzZXJcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4taW5mby1pY29uLWNvbnRhaW5lci1keW5hbWljXT1cIiFwYWdlTG9naW5MaXRlcmFscy5yZW1lbWJlclVzZXJIaW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAqbmdJZj1cInBhZ2VMb2dpbkxpdGVyYWxzLnJlbWVtYmVyVXNlckhpbnRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInBvLWljb24gcG8tZmllbGQtaWNvbiBwby1pY29uLWluZm9cIlxuICAgICAgICAgICAgICBwLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwicGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VySGludFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgW2NsYXNzLnBvLXBhZ2UtbG9naW4tYnV0dG9uLWR5bmFtaWNdPVwiIXBhZ2VMb2dpbkxpdGVyYWxzLmxvZ2luSGludCAmJiAhcGFnZUxvZ2luTGl0ZXJhbHMucmVtZW1iZXJVc2VySGludFwiXG4gICAgICAgIGNsYXNzPVwicG8tbGctMTIgcG8tcGFnZS1sb2dpbi1idXR0b24gcG8tcGFnZS1sb2dpbi1maWVsZC1zaXplXCJcbiAgICAgICAgcC1raW5kPVwicHJpbWFyeVwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cImxvZ2luRm9ybS5pbnZhbGlkXCJcbiAgICAgICAgW3AtbGFiZWxdPVwibG9hZGluZyA/IHBhZ2VMb2dpbkxpdGVyYWxzLnN1Ym1pdHRlZExhYmVsIDogcGFnZUxvZ2luTGl0ZXJhbHMuc3VibWl0TGFiZWxcIlxuICAgICAgICBbcC1sb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAocC1jbGljayk9XCJvbkxvZ2luU3VibWl0KClcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJyZWNvdmVyeVwiIGNsYXNzPVwicG8tcGFnZS1sb2dpbi1yZWNvdmVyeS1saW5rXCI+XG4gICAgICAgIDxhIGNsYXNzPVwicG8tZm9udC10ZXh0LWxhcmdlLWJvbGRcIiAoY2xpY2spPVwib3BlblVybChyZWNvdmVyeSlcIj57eyBwYWdlTG9naW5MaXRlcmFscy5mb3Jnb3RQYXNzd29yZCB9fTwvYT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwicmVnaXN0ZXJVcmxcIiBjbGFzcz1cInBvLXBhZ2UtbG9naW4tcmVnaXN0ZXItbGlua1wiPlxuICAgICAgICA8YSBjbGFzcz1cInBvLWZvbnQtdGV4dC1sYXJnZS1ib2xkXCIgKGNsaWNrKT1cIm9wZW5VcmwocmVnaXN0ZXJVcmwpXCI+e3sgcGFnZUxvZ2luTGl0ZXJhbHMucmVnaXN0ZXJVcmwgfX08L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9wby1wYWdlLWJhY2tncm91bmQ+XG4iXX0=
|