@reusa/ngx-reusa-app-lib 0.0.1320 → 0.0.1322
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/README.md +46 -46
- package/esm2022/lib/annimations/app-animations.mjs +1 -1
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +755 -763
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +24 -29
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +31 -45
- package/esm2022/lib/components/address/address.component.mjs +46 -97
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +75 -139
- package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
- package/esm2022/lib/components/card/card.component.mjs +1 -1
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +28 -42
- package/esm2022/lib/components/content/content.component.mjs +1 -1
- package/esm2022/lib/components/email-update/email-update.component.mjs +62 -119
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +84 -165
- package/esm2022/lib/components/error/error.component.mjs +1 -1
- package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +1 -1
- package/esm2022/lib/components/footer/footer.component.mjs +11 -23
- package/esm2022/lib/components/header/header.component.mjs +109 -163
- package/esm2022/lib/components/help/help.component.mjs +1 -1
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +18 -29
- package/esm2022/lib/components/info/info.component.mjs +1 -1
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
- package/esm2022/lib/components/job-title/job-title.component.mjs +16 -20
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +208 -389
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +21 -83
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
- package/esm2022/lib/components/mask/mask.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +25 -63
- package/esm2022/lib/components/mfa/mfa.component.mjs +98 -155
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +30 -54
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +23 -31
- package/esm2022/lib/components/msg/msg.component.mjs +1 -1
- package/esm2022/lib/components/news/news.component.mjs +1 -1
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +1 -1
- package/esm2022/lib/components/page/page.component.mjs +1 -1
- package/esm2022/lib/components/profile/profile.component.mjs +14 -34
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +10 -17
- package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +27 -80
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +8 -29
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +119 -172
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +41 -122
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +7 -7
- package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
- package/esm2022/lib/components/questionnaire/question.service.mjs +1 -1
- package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +7 -10
- package/esm2022/lib/components/security-question/security-question.component.mjs +9 -19
- package/esm2022/lib/components/select/select.component.mjs +5 -10
- package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
- package/esm2022/lib/components/test/test.component.mjs +1 -1
- package/esm2022/lib/components/user-login/user-login.component.mjs +82 -116
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +174 -170
- package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
- package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
- package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
- package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +1 -1
- package/esm2022/lib/models/ErrorModel.mjs +1 -1
- package/esm2022/lib/models/FileModel.mjs +1 -1
- package/esm2022/lib/models/NotificationModel.mjs +1 -1
- package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
- package/esm2022/lib/models/TrendModel.mjs +1 -1
- package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
- package/esm2022/lib/models/UserModel.mjs +1 -1
- package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
- package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
- package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
- package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +1 -480
- package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
- package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +1 -1
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +1 -1
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +1 -1
- package/esm2022/lib/pages/common/login/login.component.mjs +2 -7
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +1 -1
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +1 -1
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
- package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
- package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
- package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
- package/esm2022/lib/services/base-service.mjs +1 -1
- package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
- package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
- package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
- package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
- package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
- package/esm2022/lib/services/idle/idle.service.mjs +1 -1
- package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
- package/esm2022/lib/services/notification/notification.service.mjs +1 -1
- package/esm2022/lib/services/tour/tour.service.mjs +1 -1
- package/esm2022/lib/validations/AppValidators.mjs +43 -6
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +2290 -3782
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +76 -22
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-participant/add-participant.component.d.ts +1 -4
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +2 -1
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/address/address.component.d.ts +1 -10
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +1 -17
- package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
- package/lib/components/contact-us/contact-us.component.d.ts +1 -4
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/email-update/email-update.component.d.ts +1 -6
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +24 -6
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/header/header.component.d.ts +0 -3
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +1 -3
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +1 -5
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -1
- package/lib/components/menu/menu.component.d.ts +1 -11
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +1 -6
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +0 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
- package/lib/components/user-login/user-login.component.d.ts +1 -7
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +1 -7
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +0 -80
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/pages/common/login/login.component.d.ts.map +1 -1
- package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
- package/lib/validations/AppValidators.d.ts +10 -0
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -14,35 +14,36 @@ import * as i6 from "@angular/platform-browser";
|
|
|
14
14
|
import * as i7 from "../../services/claims/claims.service";
|
|
15
15
|
import * as i8 from "../../services/login/login.service";
|
|
16
16
|
import * as i9 from "@angular/router";
|
|
17
|
-
import * as i10 from "@
|
|
18
|
-
import * as i11 from "@
|
|
19
|
-
import * as i12 from "@angular/
|
|
20
|
-
import * as i13 from "
|
|
21
|
-
import * as i14 from "primeng/
|
|
22
|
-
import * as i15 from "primeng/
|
|
23
|
-
import * as i16 from "primeng/
|
|
24
|
-
import * as i17 from "primeng/
|
|
25
|
-
import * as i18 from "primeng/
|
|
26
|
-
import * as i19 from "primeng/
|
|
27
|
-
import * as i20 from "primeng/
|
|
28
|
-
import * as i21 from "
|
|
29
|
-
import * as i22 from "../
|
|
30
|
-
import * as i23 from "../
|
|
31
|
-
import * as i24 from "../
|
|
32
|
-
import * as i25 from "
|
|
17
|
+
import * as i10 from "@ionic/angular";
|
|
18
|
+
import * as i11 from "@angular/common";
|
|
19
|
+
import * as i12 from "@angular/material/form-field";
|
|
20
|
+
import * as i13 from "primeng/dialog";
|
|
21
|
+
import * as i14 from "primeng/table";
|
|
22
|
+
import * as i15 from "primeng/inputtext";
|
|
23
|
+
import * as i16 from "primeng/inputmask";
|
|
24
|
+
import * as i17 from "primeng/calendar";
|
|
25
|
+
import * as i18 from "primeng/selectbutton";
|
|
26
|
+
import * as i19 from "primeng/inputnumber";
|
|
27
|
+
import * as i20 from "primeng/dropdown";
|
|
28
|
+
import * as i21 from "../error/error.component";
|
|
29
|
+
import * as i22 from "../overlay-info/overlay-info.component";
|
|
30
|
+
import * as i23 from "../search-employer/search-employer.component";
|
|
31
|
+
import * as i24 from "../address/address.component";
|
|
32
|
+
import * as i25 from "@ngx-translate/core";
|
|
33
33
|
const _c0 = ["address1"];
|
|
34
34
|
const _c1 = ["address2"];
|
|
35
|
-
|
|
35
|
+
const _c2 = ["employerForm"];
|
|
36
|
+
function AddEmployerComponent_ion_grid_6_div_4_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
36
37
|
i0.ɵɵelementStart(0, "div");
|
|
37
38
|
i0.ɵɵtext(1);
|
|
38
39
|
i0.ɵɵpipe(2, "translate");
|
|
39
40
|
i0.ɵɵelementEnd();
|
|
40
41
|
} if (rf & 2) {
|
|
41
|
-
const
|
|
42
|
+
const ctx_r58 = i0.ɵɵnextContext(3);
|
|
42
43
|
i0.ɵɵadvance(1);
|
|
43
|
-
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(2, 2, "induction.confirm.employment.dba"), " ",
|
|
44
|
+
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(2, 2, "induction.confirm.employment.dba"), " ", ctx_r58.aliasName, "");
|
|
44
45
|
} }
|
|
45
|
-
function
|
|
46
|
+
function AddEmployerComponent_ion_grid_6_div_4_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
46
47
|
i0.ɵɵelementStart(0, "div");
|
|
47
48
|
i0.ɵɵelement(1, "br");
|
|
48
49
|
i0.ɵɵtext(2);
|
|
@@ -52,73 +53,73 @@ function AddEmployerComponent_ion_grid_5_div_4_div_6_Template(rf, ctx) { if (rf
|
|
|
52
53
|
i0.ɵɵadvance(2);
|
|
53
54
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "induction.confirm.employment.employer.wages"), " ");
|
|
54
55
|
} }
|
|
55
|
-
function
|
|
56
|
+
function AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
56
57
|
i0.ɵɵelementStart(0, "th")(1, "b");
|
|
57
58
|
i0.ɵɵtext(2);
|
|
58
59
|
i0.ɵɵelementEnd()();
|
|
59
60
|
} if (rf & 2) {
|
|
60
|
-
const
|
|
61
|
+
const col_r65 = ctx.$implicit;
|
|
61
62
|
i0.ɵɵadvance(2);
|
|
62
|
-
i0.ɵɵtextInterpolate(
|
|
63
|
+
i0.ɵɵtextInterpolate(col_r65.qtrYearDisplayString);
|
|
63
64
|
} }
|
|
64
|
-
function
|
|
65
|
+
function AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
66
|
i0.ɵɵelementStart(0, "td");
|
|
66
67
|
i0.ɵɵtext(1);
|
|
67
68
|
i0.ɵɵpipe(2, "currency");
|
|
68
69
|
i0.ɵɵelementEnd();
|
|
69
70
|
} if (rf & 2) {
|
|
70
|
-
const
|
|
71
|
+
const col_r66 = ctx.$implicit;
|
|
71
72
|
i0.ɵɵadvance(1);
|
|
72
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1,
|
|
73
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, col_r66.wageAmount), " ");
|
|
73
74
|
} }
|
|
74
|
-
function
|
|
75
|
+
function AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
75
76
|
i0.ɵɵelementStart(0, "tr");
|
|
76
|
-
i0.ɵɵtemplate(1,
|
|
77
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_th_1_Template, 3, 1, "th", 18);
|
|
77
78
|
i0.ɵɵelementEnd();
|
|
78
79
|
i0.ɵɵelementStart(2, "tr");
|
|
79
|
-
i0.ɵɵtemplate(3,
|
|
80
|
+
i0.ɵɵtemplate(3, AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_td_3_Template, 3, 3, "td", 18);
|
|
80
81
|
i0.ɵɵelementEnd();
|
|
81
82
|
} if (rf & 2) {
|
|
82
|
-
const
|
|
83
|
+
const columns_r62 = ctx.$implicit;
|
|
83
84
|
i0.ɵɵadvance(1);
|
|
84
|
-
i0.ɵɵproperty("ngForOf",
|
|
85
|
+
i0.ɵɵproperty("ngForOf", columns_r62);
|
|
85
86
|
i0.ɵɵadvance(2);
|
|
86
|
-
i0.ɵɵproperty("ngForOf",
|
|
87
|
+
i0.ɵɵproperty("ngForOf", columns_r62);
|
|
87
88
|
} }
|
|
88
|
-
function
|
|
89
|
-
i0.ɵɵelementStart(0, "div",
|
|
90
|
-
i0.ɵɵtemplate(2,
|
|
89
|
+
function AddEmployerComponent_ion_grid_6_div_4_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "p-table", 16);
|
|
91
|
+
i0.ɵɵtemplate(2, AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_Template, 4, 2, "ng-template", 17);
|
|
91
92
|
i0.ɵɵelementEnd()();
|
|
92
93
|
} if (rf & 2) {
|
|
93
|
-
const
|
|
94
|
+
const ctx_r60 = i0.ɵɵnextContext(3);
|
|
94
95
|
i0.ɵɵadvance(1);
|
|
95
|
-
i0.ɵɵproperty("value",
|
|
96
|
+
i0.ɵɵproperty("value", ctx_r60.employerProvidedWages)("columns", ctx_r60.employerProvidedWages);
|
|
96
97
|
} }
|
|
97
|
-
function
|
|
98
|
-
i0.ɵɵelementStart(0, "div",
|
|
98
|
+
function AddEmployerComponent_ion_grid_6_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
99
100
|
i0.ɵɵtext(1);
|
|
100
|
-
i0.ɵɵtemplate(2,
|
|
101
|
+
i0.ɵɵtemplate(2, AddEmployerComponent_ion_grid_6_div_4_div_2_Template, 3, 4, "div", 4);
|
|
101
102
|
i0.ɵɵelement(3, "br");
|
|
102
|
-
i0.ɵɵelementStart(4, "span",
|
|
103
|
+
i0.ɵɵelementStart(4, "span", 15);
|
|
103
104
|
i0.ɵɵtext(5);
|
|
104
105
|
i0.ɵɵelementEnd();
|
|
105
|
-
i0.ɵɵtemplate(6,
|
|
106
|
+
i0.ɵɵtemplate(6, AddEmployerComponent_ion_grid_6_div_4_div_6_Template, 4, 3, "div", 4)(7, AddEmployerComponent_ion_grid_6_div_4_div_7_Template, 3, 2, "div", 7);
|
|
106
107
|
i0.ɵɵelementEnd();
|
|
107
108
|
} if (rf & 2) {
|
|
108
|
-
const
|
|
109
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
109
110
|
i0.ɵɵadvance(1);
|
|
110
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
111
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.customerName, " ");
|
|
111
112
|
i0.ɵɵadvance(1);
|
|
112
|
-
i0.ɵɵproperty("ngIf",
|
|
113
|
+
i0.ɵɵproperty("ngIf", ctx_r2.aliasName != null);
|
|
113
114
|
i0.ɵɵadvance(3);
|
|
114
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
115
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.mailingAddressDisplay, " ");
|
|
115
116
|
i0.ɵɵadvance(1);
|
|
116
|
-
i0.ɵɵproperty("ngIf",
|
|
117
|
+
i0.ɵɵproperty("ngIf", ctx_r2.isCSR);
|
|
117
118
|
i0.ɵɵadvance(1);
|
|
118
|
-
i0.ɵɵproperty("ngIf",
|
|
119
|
+
i0.ɵɵproperty("ngIf", ctx_r2.isCSR);
|
|
119
120
|
} }
|
|
120
|
-
function
|
|
121
|
-
i0.ɵɵelementStart(0, "div",
|
|
121
|
+
function AddEmployerComponent_ion_grid_6_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label");
|
|
122
123
|
i0.ɵɵtext(2);
|
|
123
124
|
i0.ɵɵpipe(3, "translate");
|
|
124
125
|
i0.ɵɵelement(4, "br")(5, "br");
|
|
@@ -131,552 +132,546 @@ function AddEmployerComponent_ion_grid_5_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
131
132
|
i0.ɵɵadvance(4);
|
|
132
133
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 4, "induction.confirm.employment.workflag.no.line2"), "");
|
|
133
134
|
} }
|
|
134
|
-
const
|
|
135
|
-
function
|
|
136
|
-
i0.ɵɵelementStart(0, "div",
|
|
135
|
+
const _c3 = () => ({ required: "required" });
|
|
136
|
+
function AddEmployerComponent_ion_grid_6_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 19);
|
|
137
138
|
i0.ɵɵtext(2);
|
|
138
139
|
i0.ɵɵpipe(3, "translate");
|
|
139
140
|
i0.ɵɵelementEnd();
|
|
140
|
-
i0.ɵɵelementStart(4, "div",
|
|
141
|
-
i0.ɵɵelement(5, "p-selectButton",
|
|
141
|
+
i0.ɵɵelementStart(4, "div", 20);
|
|
142
|
+
i0.ɵɵelement(5, "p-selectButton", 21)(6, "app-error", 9);
|
|
142
143
|
i0.ɵɵelementEnd()();
|
|
143
144
|
} if (rf & 2) {
|
|
144
|
-
const
|
|
145
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
145
146
|
i0.ɵɵadvance(2);
|
|
146
147
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.employer.type"));
|
|
147
148
|
i0.ɵɵadvance(3);
|
|
148
|
-
i0.ɵɵclassProp("disabled",
|
|
149
|
-
i0.ɵɵproperty("options",
|
|
149
|
+
i0.ɵɵclassProp("disabled", ctx_r4.noEditMode);
|
|
150
|
+
i0.ɵɵproperty("options", ctx_r4.employerTypeOptions)("formControl", ctx_r4.employerType);
|
|
150
151
|
i0.ɵɵadvance(1);
|
|
151
152
|
i0.ɵɵclassMap("app-grid");
|
|
152
|
-
i0.ɵɵproperty("form",
|
|
153
|
+
i0.ɵɵproperty("form", ctx_r4.isFormSubmitted)("field", ctx_r4.employerType)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
153
154
|
} }
|
|
154
|
-
function
|
|
155
|
-
const
|
|
156
|
-
i0.ɵɵelementStart(0, "div",
|
|
155
|
+
function AddEmployerComponent_ion_grid_6_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
+
const _r68 = i0.ɵɵgetCurrentView();
|
|
157
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 22);
|
|
157
158
|
i0.ɵɵtext(2);
|
|
158
159
|
i0.ɵɵpipe(3, "translate");
|
|
159
160
|
i0.ɵɵelementEnd();
|
|
160
|
-
i0.ɵɵelementStart(4, "div",
|
|
161
|
-
i0.ɵɵlistener("onOptionClick", function
|
|
161
|
+
i0.ɵɵelementStart(4, "div", 23)(5, "p-selectButton", 24);
|
|
162
|
+
i0.ɵɵlistener("onOptionClick", function AddEmployerComponent_ion_grid_6_div_7_Template_p_selectButton_onOptionClick_5_listener($event) { i0.ɵɵrestoreView(_r68); const ctx_r67 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r67.onToggleChangePrevWorkedState($event)); });
|
|
162
163
|
i0.ɵɵelementEnd();
|
|
163
|
-
i0.ɵɵelement(6, "app-error",
|
|
164
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
164
165
|
i0.ɵɵelementEnd()();
|
|
165
166
|
} if (rf & 2) {
|
|
166
|
-
const
|
|
167
|
+
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
167
168
|
i0.ɵɵadvance(2);
|
|
168
169
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.work.state"));
|
|
169
170
|
i0.ɵɵadvance(3);
|
|
170
|
-
i0.ɵɵclassProp("disabled",
|
|
171
|
-
i0.ɵɵproperty("options",
|
|
171
|
+
i0.ɵɵclassProp("disabled", ctx_r5.noEditMode);
|
|
172
|
+
i0.ɵɵproperty("options", ctx_r5.prevWorkedStateOptions)("formControl", ctx_r5.prevWorkedState);
|
|
172
173
|
i0.ɵɵadvance(1);
|
|
173
174
|
i0.ɵɵclassMap("app-grid");
|
|
174
|
-
i0.ɵɵproperty("form",
|
|
175
|
+
i0.ɵɵproperty("form", ctx_r5.isFormSubmitted)("field", ctx_r5.prevWorkedState)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
175
176
|
} }
|
|
176
|
-
function
|
|
177
|
-
const
|
|
178
|
-
i0.ɵɵelementStart(0, "div")(1, "app-search-employer",
|
|
179
|
-
i0.ɵɵlistener("onFound", function
|
|
177
|
+
function AddEmployerComponent_ion_grid_6_div_8_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
+
const _r73 = i0.ɵɵgetCurrentView();
|
|
179
|
+
i0.ɵɵelementStart(0, "div")(1, "app-search-employer", 28);
|
|
180
|
+
i0.ɵɵlistener("onFound", function AddEmployerComponent_ion_grid_6_div_8_div_4_Template_app_search_employer_onFound_1_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r72.setEmployer($event)); })("onEmpty", function AddEmployerComponent_ion_grid_6_div_8_div_4_Template_app_search_employer_onEmpty_1_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r74 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r74.resetEmployer($event)); });
|
|
180
181
|
i0.ɵɵelementEnd();
|
|
181
|
-
i0.ɵɵelement(2, "app-error",
|
|
182
|
+
i0.ɵɵelement(2, "app-error", 9);
|
|
182
183
|
i0.ɵɵelementEnd();
|
|
183
184
|
} if (rf & 2) {
|
|
184
|
-
const
|
|
185
|
+
const ctx_r69 = i0.ɵɵnextContext(3);
|
|
185
186
|
i0.ɵɵadvance(1);
|
|
186
|
-
i0.ɵɵproperty("formControl",
|
|
187
|
+
i0.ɵɵproperty("formControl", ctx_r69.employerName);
|
|
187
188
|
i0.ɵɵadvance(1);
|
|
188
189
|
i0.ɵɵclassMap("app-grid");
|
|
189
|
-
i0.ɵɵproperty("form",
|
|
190
|
+
i0.ɵɵproperty("form", ctx_r69.isFormSubmitted)("field", ctx_r69.employerName)("errDef", i0.ɵɵpureFunction0(6, _c3));
|
|
190
191
|
} }
|
|
191
|
-
function
|
|
192
|
-
i0.ɵɵelementStart(0, "div",
|
|
193
|
-
i0.ɵɵelement(1, "input",
|
|
192
|
+
function AddEmployerComponent_ion_grid_6_div_8_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
194
|
+
i0.ɵɵelement(1, "input", 29)(2, "app-error", 9);
|
|
194
195
|
i0.ɵɵelementEnd();
|
|
195
196
|
} if (rf & 2) {
|
|
196
|
-
const
|
|
197
|
+
const ctx_r70 = i0.ɵɵnextContext(3);
|
|
197
198
|
i0.ɵɵadvance(1);
|
|
198
|
-
i0.ɵɵproperty("formControl",
|
|
199
|
+
i0.ɵɵproperty("formControl", ctx_r70.othStateEmpName);
|
|
199
200
|
i0.ɵɵadvance(1);
|
|
200
201
|
i0.ɵɵclassMap("app-grid");
|
|
201
|
-
i0.ɵɵproperty("form",
|
|
202
|
+
i0.ɵɵproperty("form", ctx_r70.isFormSubmitted)("field", ctx_r70.othStateEmpName)("errDef", i0.ɵɵpureFunction0(6, _c3));
|
|
202
203
|
} }
|
|
203
|
-
function
|
|
204
|
-
i0.ɵɵelementStart(0, "div",
|
|
204
|
+
function AddEmployerComponent_ion_grid_6_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
205
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 25);
|
|
205
206
|
i0.ɵɵtext(2);
|
|
206
207
|
i0.ɵɵpipe(3, "translate");
|
|
207
208
|
i0.ɵɵelementEnd();
|
|
208
|
-
i0.ɵɵtemplate(4,
|
|
209
|
+
i0.ɵɵtemplate(4, AddEmployerComponent_ion_grid_6_div_8_div_4_Template, 3, 7, "div", 26)(5, AddEmployerComponent_ion_grid_6_div_8_ng_template_5_Template, 3, 7, "ng-template", null, 27, i0.ɵɵtemplateRefExtractor);
|
|
209
210
|
i0.ɵɵelementEnd();
|
|
210
211
|
} if (rf & 2) {
|
|
211
|
-
const
|
|
212
|
-
const
|
|
212
|
+
const _r71 = i0.ɵɵreference(6);
|
|
213
|
+
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
213
214
|
i0.ɵɵadvance(2);
|
|
214
215
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.add.employment.employer.name"));
|
|
215
216
|
i0.ɵɵadvance(2);
|
|
216
|
-
i0.ɵɵproperty("ngIf",
|
|
217
|
+
i0.ɵɵproperty("ngIf", ctx_r6.prevWorkedState.value === "KS")("ngIfElse", _r71);
|
|
217
218
|
} }
|
|
218
|
-
function
|
|
219
|
-
const
|
|
220
|
-
i0.ɵɵelementStart(0, "div",
|
|
219
|
+
function AddEmployerComponent_ion_grid_6_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
220
|
+
const _r76 = i0.ɵɵgetCurrentView();
|
|
221
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "label", 31);
|
|
221
222
|
i0.ɵɵtext(2);
|
|
222
223
|
i0.ɵɵpipe(3, "translate");
|
|
223
224
|
i0.ɵɵelementEnd();
|
|
224
|
-
i0.ɵɵelementStart(4, "app-search-employer",
|
|
225
|
-
i0.ɵɵlistener("onFound", function
|
|
225
|
+
i0.ɵɵelementStart(4, "app-search-employer", 32);
|
|
226
|
+
i0.ɵɵlistener("onFound", function AddEmployerComponent_ion_grid_6_div_9_Template_app_search_employer_onFound_4_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r75 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r75.setFedEmployer($event)); })("onEmpty", function AddEmployerComponent_ion_grid_6_div_9_Template_app_search_employer_onEmpty_4_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r77 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r77.resetFedEmployer($event)); });
|
|
226
227
|
i0.ɵɵelementEnd();
|
|
227
|
-
i0.ɵɵelement(5, "app-error",
|
|
228
|
+
i0.ɵɵelement(5, "app-error", 9);
|
|
228
229
|
i0.ɵɵelementEnd();
|
|
229
230
|
} if (rf & 2) {
|
|
230
|
-
const
|
|
231
|
+
const ctx_r7 = i0.ɵɵnextContext(2);
|
|
231
232
|
i0.ɵɵadvance(2);
|
|
232
233
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.employer.fed.name"));
|
|
233
234
|
i0.ɵɵadvance(2);
|
|
234
|
-
i0.ɵɵproperty("formControl",
|
|
235
|
+
i0.ɵɵproperty("formControl", ctx_r7.fedEmployerName);
|
|
235
236
|
i0.ɵɵadvance(1);
|
|
236
237
|
i0.ɵɵclassMap("app-grid");
|
|
237
|
-
i0.ɵɵproperty("form",
|
|
238
|
+
i0.ɵɵproperty("form", ctx_r7.isFormSubmitted)("field", ctx_r7.fedEmployerName)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
238
239
|
} }
|
|
239
|
-
function
|
|
240
|
-
i0.ɵɵelementStart(0, "div",
|
|
240
|
+
function AddEmployerComponent_ion_grid_6_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
241
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 33);
|
|
241
242
|
i0.ɵɵtext(2);
|
|
242
243
|
i0.ɵɵpipe(3, "translate");
|
|
243
244
|
i0.ɵɵelementEnd();
|
|
244
|
-
i0.ɵɵelement(4, "p-dropdown",
|
|
245
|
+
i0.ɵɵelement(4, "p-dropdown", 34)(5, "app-error", 9);
|
|
245
246
|
i0.ɵɵelementEnd();
|
|
246
247
|
} if (rf & 2) {
|
|
247
|
-
const
|
|
248
|
+
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
248
249
|
i0.ɵɵadvance(2);
|
|
249
250
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.service.branch"));
|
|
250
251
|
i0.ɵɵadvance(2);
|
|
251
|
-
i0.ɵɵproperty("options",
|
|
252
|
+
i0.ɵɵproperty("options", ctx_r8.militaryServiceOptions)("formControl", ctx_r8.serviceBranch)("autoDisplayFirst", false);
|
|
252
253
|
i0.ɵɵadvance(1);
|
|
253
254
|
i0.ɵɵclassMap("app-grid");
|
|
254
|
-
i0.ɵɵproperty("form",
|
|
255
|
+
i0.ɵɵproperty("form", ctx_r8.isFormSubmitted)("field", ctx_r8.serviceBranch)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
255
256
|
} }
|
|
256
|
-
const
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
i0.ɵɵ
|
|
260
|
-
i0.ɵɵ
|
|
257
|
+
const _c4 = "Based on some of your responses you need to call the KDOL Call Center to file your claim.";
|
|
258
|
+
const _c5 = () => ({ required: "required", requiredKansas: _c4 });
|
|
259
|
+
function AddEmployerComponent_ion_grid_6_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
260
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 35);
|
|
261
|
+
i0.ɵɵtext(2, " Where are you physically located at this time? ");
|
|
261
262
|
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelement(
|
|
263
|
+
i0.ɵɵelement(3, "p-dropdown", 36)(4, "app-error", 37);
|
|
263
264
|
i0.ɵɵelementEnd();
|
|
264
265
|
} if (rf & 2) {
|
|
265
|
-
const
|
|
266
|
-
i0.ɵɵadvance(
|
|
267
|
-
i0.ɵɵ
|
|
268
|
-
i0.ɵɵadvance(2);
|
|
269
|
-
i0.ɵɵproperty("formControl", ctx_r8.milState)("options", ctx_r8.statesOptions);
|
|
266
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
267
|
+
i0.ɵɵadvance(3);
|
|
268
|
+
i0.ɵɵproperty("formControl", ctx_r9.milState)("options", ctx_r9.statesOptions);
|
|
270
269
|
i0.ɵɵadvance(1);
|
|
271
|
-
i0.ɵɵproperty("form",
|
|
270
|
+
i0.ɵɵproperty("form", ctx_r9.isFormSubmitted)("field", ctx_r9.milState)("errDef", i0.ɵɵpureFunction0(5, _c5));
|
|
272
271
|
} }
|
|
273
|
-
function
|
|
274
|
-
const
|
|
275
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
272
|
+
function AddEmployerComponent_ion_grid_6_ion_row_12_Template(rf, ctx) { if (rf & 1) {
|
|
273
|
+
const _r79 = i0.ɵɵgetCurrentView();
|
|
274
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 39);
|
|
276
275
|
i0.ɵɵtext(4);
|
|
277
276
|
i0.ɵɵpipe(5, "translate");
|
|
278
277
|
i0.ɵɵelementEnd();
|
|
279
|
-
i0.ɵɵelementStart(6, "p-calendar",
|
|
280
|
-
i0.ɵɵlistener("onBlur", function
|
|
278
|
+
i0.ɵɵelementStart(6, "p-calendar", 40);
|
|
279
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r78 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r78.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r80 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r80.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r81 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r81.dateInput($event)); });
|
|
281
280
|
i0.ɵɵelementEnd();
|
|
282
|
-
i0.ɵɵelement(7, "app-error",
|
|
281
|
+
i0.ɵɵelement(7, "app-error", 9);
|
|
283
282
|
i0.ɵɵelementEnd()();
|
|
284
|
-
i0.ɵɵelement(8, "ion-col",
|
|
285
|
-
i0.ɵɵelementStart(9, "ion-col",
|
|
283
|
+
i0.ɵɵelement(8, "ion-col", 41);
|
|
284
|
+
i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 42);
|
|
286
285
|
i0.ɵɵtext(12);
|
|
287
286
|
i0.ɵɵpipe(13, "translate");
|
|
288
287
|
i0.ɵɵelementEnd();
|
|
289
|
-
i0.ɵɵelementStart(14, "p-calendar",
|
|
290
|
-
i0.ɵɵlistener("onInput", function
|
|
288
|
+
i0.ɵɵelementStart(14, "p-calendar", 43);
|
|
289
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r82 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r82.dateInput($event)); });
|
|
291
290
|
i0.ɵɵelementEnd();
|
|
292
|
-
i0.ɵɵelement(15, "app-error",
|
|
291
|
+
i0.ɵɵelement(15, "app-error", 9);
|
|
293
292
|
i0.ɵɵelementEnd()()();
|
|
294
293
|
} if (rf & 2) {
|
|
295
|
-
const
|
|
294
|
+
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
296
295
|
i0.ɵɵadvance(4);
|
|
297
296
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.add.employment.mil.startdate"));
|
|
298
297
|
i0.ɵɵadvance(2);
|
|
299
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
298
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r10.startDateMil)("maxDate", ctx_r10.dateTime)("yearNavigator", true)("showOnFocus", false)("minDate", ctx_r10.minWorkStartDate);
|
|
300
299
|
i0.ɵɵadvance(1);
|
|
301
300
|
i0.ɵɵclassMap("app-grid");
|
|
302
|
-
i0.ɵɵproperty("form",
|
|
301
|
+
i0.ɵɵproperty("form", ctx_r10.isFormSubmitted)("field", ctx_r10.startDateMil)("errDef", i0.ɵɵpureFunction0(28, _c3));
|
|
303
302
|
i0.ɵɵadvance(5);
|
|
304
303
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 26, "induction.add.employment.mil.enddate"));
|
|
305
304
|
i0.ɵɵadvance(2);
|
|
306
|
-
i0.ɵɵproperty("showIcon", true)("maxDate",
|
|
305
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r10.dateTime)("minDate", ctx_r10.minDate)("yearNavigator", true)("formControl", ctx_r10.endDateMil)("showOnFocus", false);
|
|
307
306
|
i0.ɵɵadvance(1);
|
|
308
307
|
i0.ɵɵclassMap("app-grid");
|
|
309
|
-
i0.ɵɵproperty("form",
|
|
308
|
+
i0.ɵɵproperty("form", ctx_r10.isFormSubmitted)("field", ctx_r10.endDateMil)("errDef", i0.ɵɵpureFunction0(29, _c3));
|
|
310
309
|
} }
|
|
311
|
-
function
|
|
312
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
310
|
+
function AddEmployerComponent_ion_grid_6_ion_row_13_Template(rf, ctx) { if (rf & 1) {
|
|
311
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 44);
|
|
313
312
|
i0.ɵɵtext(4);
|
|
314
313
|
i0.ɵɵpipe(5, "translate");
|
|
315
314
|
i0.ɵɵelementEnd();
|
|
316
|
-
i0.ɵɵelement(6, "input",
|
|
315
|
+
i0.ɵɵelement(6, "input", 45)(7, "app-error", 9);
|
|
317
316
|
i0.ɵɵelementEnd()();
|
|
318
|
-
i0.ɵɵelement(8, "ion-col",
|
|
319
|
-
i0.ɵɵelementStart(9, "ion-col",
|
|
317
|
+
i0.ɵɵelement(8, "ion-col", 41);
|
|
318
|
+
i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 46);
|
|
320
319
|
i0.ɵɵtext(12);
|
|
321
320
|
i0.ɵɵpipe(13, "translate");
|
|
322
321
|
i0.ɵɵelementEnd();
|
|
323
|
-
i0.ɵɵelement(14, "input",
|
|
322
|
+
i0.ɵɵelement(14, "input", 47)(15, "app-error", 9);
|
|
324
323
|
i0.ɵɵelementEnd()()();
|
|
325
324
|
} if (rf & 2) {
|
|
326
|
-
const
|
|
325
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
327
326
|
i0.ɵɵadvance(4);
|
|
328
327
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, "induction.add.employment.fed.fic.code"));
|
|
329
328
|
i0.ɵɵadvance(2);
|
|
330
|
-
i0.ɵɵproperty("formControl",
|
|
329
|
+
i0.ɵɵproperty("formControl", ctx_r11.ficCode);
|
|
331
330
|
i0.ɵɵadvance(1);
|
|
332
331
|
i0.ɵɵclassMap("app-grid");
|
|
333
|
-
i0.ɵɵproperty("form",
|
|
332
|
+
i0.ɵɵproperty("form", ctx_r11.isFormSubmitted)("field", ctx_r11.ficCode)("errDef", i0.ɵɵpureFunction0(18, _c3));
|
|
334
333
|
i0.ɵɵadvance(5);
|
|
335
334
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 16, "induction.add.employment.fed.fic.destination"));
|
|
336
335
|
i0.ɵɵadvance(2);
|
|
337
|
-
i0.ɵɵproperty("formControl",
|
|
336
|
+
i0.ɵɵproperty("formControl", ctx_r11.ficDestinationName);
|
|
338
337
|
i0.ɵɵadvance(1);
|
|
339
338
|
i0.ɵɵclassMap("app-grid");
|
|
340
|
-
i0.ɵɵproperty("form",
|
|
339
|
+
i0.ɵɵproperty("form", ctx_r11.isFormSubmitted)("field", ctx_r11.ficDestinationName)("errDef", i0.ɵɵpureFunction0(19, _c3));
|
|
341
340
|
} }
|
|
342
|
-
function
|
|
343
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
344
|
-
i0.ɵɵelement(2, "app-address",
|
|
341
|
+
function AddEmployerComponent_ion_grid_6_ion_row_14_Template(rf, ctx) { if (rf & 1) {
|
|
342
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 48);
|
|
343
|
+
i0.ɵɵelement(2, "app-address", 49, 50);
|
|
345
344
|
i0.ɵɵelementEnd()();
|
|
346
345
|
} if (rf & 2) {
|
|
347
|
-
const
|
|
346
|
+
const ctx_r12 = i0.ɵɵnextContext(2);
|
|
348
347
|
i0.ɵɵadvance(2);
|
|
349
|
-
i0.ɵɵproperty("formControl",
|
|
348
|
+
i0.ɵɵproperty("formControl", ctx_r12.address)("countyRequired", false)("fromPopup", true);
|
|
350
349
|
} }
|
|
351
|
-
function
|
|
352
|
-
i0.ɵɵelementStart(0, "mat-error",
|
|
353
|
-
i0.ɵɵtext(1);
|
|
354
|
-
i0.ɵɵpipe(2, "translate");
|
|
350
|
+
function AddEmployerComponent_ion_grid_6_div_15_mat_error_4_Template(rf, ctx) { if (rf & 1) {
|
|
351
|
+
i0.ɵɵelementStart(0, "mat-error", 54);
|
|
352
|
+
i0.ɵɵtext(1, " Please provide a valid address. ");
|
|
355
353
|
i0.ɵɵelementEnd();
|
|
356
|
-
} if (rf & 2) {
|
|
357
|
-
i0.ɵɵadvance(1);
|
|
358
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "common.valid.address"), " ");
|
|
359
354
|
} }
|
|
360
|
-
function
|
|
361
|
-
i0.ɵɵelementStart(0, "div",
|
|
362
|
-
i0.ɵɵelement(1, "app-address",
|
|
363
|
-
i0.ɵɵtemplate(4,
|
|
355
|
+
function AddEmployerComponent_ion_grid_6_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
356
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
357
|
+
i0.ɵɵelement(1, "app-address", 51, 52)(3, "app-error", 9);
|
|
358
|
+
i0.ɵɵtemplate(4, AddEmployerComponent_ion_grid_6_div_15_mat_error_4_Template, 2, 0, "mat-error", 53);
|
|
364
359
|
i0.ɵɵelementEnd();
|
|
365
360
|
} if (rf & 2) {
|
|
366
|
-
const
|
|
361
|
+
const ctx_r13 = i0.ɵɵnextContext(2);
|
|
367
362
|
i0.ɵɵadvance(1);
|
|
368
|
-
i0.ɵɵproperty("formControl",
|
|
363
|
+
i0.ɵɵproperty("formControl", ctx_r13.address)("countyRequired", false)("fromPopup", true);
|
|
369
364
|
i0.ɵɵadvance(2);
|
|
370
365
|
i0.ɵɵclassMap("app-grid");
|
|
371
|
-
i0.ɵɵproperty("form",
|
|
366
|
+
i0.ɵɵproperty("form", ctx_r13.isFormSubmitted)("field", ctx_r13.address)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
372
367
|
i0.ɵɵadvance(1);
|
|
373
|
-
i0.ɵɵproperty("ngIf", (
|
|
368
|
+
i0.ɵɵproperty("ngIf", (ctx_r13.address == null ? null : ctx_r13.address.errors == null ? null : ctx_r13.address.errors.addressValidationFlag) && ctx_r13.isFormSubmitted.submitted);
|
|
374
369
|
} }
|
|
375
|
-
function
|
|
376
|
-
const
|
|
377
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
370
|
+
function AddEmployerComponent_ion_grid_6_ion_row_16_Template(rf, ctx) { if (rf & 1) {
|
|
371
|
+
const _r87 = i0.ɵɵgetCurrentView();
|
|
372
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 55);
|
|
378
373
|
i0.ɵɵtext(4);
|
|
379
374
|
i0.ɵɵpipe(5, "translate");
|
|
380
375
|
i0.ɵɵelementEnd();
|
|
381
|
-
i0.ɵɵelement(6, "input",
|
|
376
|
+
i0.ɵɵelement(6, "input", 56)(7, "app-error", 9);
|
|
382
377
|
i0.ɵɵelementEnd()();
|
|
383
|
-
i0.ɵɵelement(8, "ion-col",
|
|
384
|
-
i0.ɵɵelementStart(9, "ion-col",
|
|
378
|
+
i0.ɵɵelement(8, "ion-col", 41);
|
|
379
|
+
i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 57);
|
|
385
380
|
i0.ɵɵtext(12);
|
|
386
381
|
i0.ɵɵpipe(13, "translate");
|
|
387
382
|
i0.ɵɵelementEnd();
|
|
388
|
-
i0.ɵɵelementStart(14, "p-dropdown",
|
|
389
|
-
i0.ɵɵlistener("onChange", function
|
|
383
|
+
i0.ɵɵelementStart(14, "p-dropdown", 58);
|
|
384
|
+
i0.ɵɵlistener("onChange", function AddEmployerComponent_ion_grid_6_ion_row_16_Template_p_dropdown_onChange_14_listener($event) { i0.ɵɵrestoreView(_r87); const ctx_r86 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r86.validateWagesDisplay($event)); });
|
|
390
385
|
i0.ɵɵelementEnd();
|
|
391
|
-
i0.ɵɵelement(15, "app-error",
|
|
386
|
+
i0.ɵɵelement(15, "app-error", 9);
|
|
392
387
|
i0.ɵɵelementEnd()()();
|
|
393
388
|
} if (rf & 2) {
|
|
394
|
-
const
|
|
389
|
+
const ctx_r14 = i0.ɵɵnextContext(2);
|
|
395
390
|
i0.ɵɵadvance(4);
|
|
396
391
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 16, "induction.add.employment.work.location.city"), " ");
|
|
397
392
|
i0.ɵɵadvance(2);
|
|
398
|
-
i0.ɵɵproperty("formControl",
|
|
393
|
+
i0.ɵɵproperty("formControl", ctx_r14.workCity);
|
|
399
394
|
i0.ɵɵadvance(1);
|
|
400
395
|
i0.ɵɵclassMap("app-grid");
|
|
401
|
-
i0.ɵɵproperty("form",
|
|
396
|
+
i0.ɵɵproperty("form", ctx_r14.isFormSubmitted)("field", ctx_r14.workCity)("errDef", i0.ɵɵpureFunction0(20, _c3));
|
|
402
397
|
i0.ɵɵadvance(5);
|
|
403
398
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 18, "induction.add.employment.work.location.state"));
|
|
404
399
|
i0.ɵɵadvance(2);
|
|
405
|
-
i0.ɵɵproperty("options",
|
|
400
|
+
i0.ɵɵproperty("options", ctx_r14.prevWorkedState.value === "KS" ? ctx_r14.statesOptions : ctx_r14.nonKSStatesOptions)("formControl", ctx_r14.workState)("autoDisplayFirst", false);
|
|
406
401
|
i0.ɵɵadvance(1);
|
|
407
402
|
i0.ɵɵclassMap("app-grid");
|
|
408
|
-
i0.ɵɵproperty("form",
|
|
403
|
+
i0.ɵɵproperty("form", ctx_r14.isFormSubmitted)("field", ctx_r14.workState)("errDef", i0.ɵɵpureFunction0(21, _c3));
|
|
409
404
|
} }
|
|
410
|
-
function
|
|
411
|
-
i0.ɵɵelementStart(0, "div",
|
|
405
|
+
function AddEmployerComponent_ion_grid_6_div_17_Template(rf, ctx) { if (rf & 1) {
|
|
406
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 59);
|
|
412
407
|
i0.ɵɵtext(2);
|
|
413
408
|
i0.ɵɵpipe(3, "translate");
|
|
414
409
|
i0.ɵɵelementEnd();
|
|
415
|
-
i0.ɵɵelement(4, "p-dropdown",
|
|
410
|
+
i0.ɵɵelement(4, "p-dropdown", 60)(5, "app-error", 9);
|
|
416
411
|
i0.ɵɵelementEnd();
|
|
417
412
|
} if (rf & 2) {
|
|
418
|
-
const
|
|
413
|
+
const ctx_r15 = i0.ɵɵnextContext(2);
|
|
419
414
|
i0.ɵɵadvance(2);
|
|
420
415
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.fed.work.location.country"));
|
|
421
416
|
i0.ɵɵadvance(2);
|
|
422
|
-
i0.ɵɵproperty("options",
|
|
417
|
+
i0.ɵɵproperty("options", ctx_r15.workCountryOptions)("formControl", ctx_r15.fedWorkCountry)("autoDisplayFirst", false);
|
|
423
418
|
i0.ɵɵadvance(1);
|
|
424
419
|
i0.ɵɵclassMap("app-grid");
|
|
425
|
-
i0.ɵɵproperty("form",
|
|
420
|
+
i0.ɵɵproperty("form", ctx_r15.isFormSubmitted)("field", ctx_r15.fedWorkCountry)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
426
421
|
} }
|
|
427
|
-
function
|
|
428
|
-
i0.ɵɵelementStart(0, "ion-col",
|
|
422
|
+
function AddEmployerComponent_ion_grid_6_ion_row_18_ion_col_9_Template(rf, ctx) { if (rf & 1) {
|
|
423
|
+
i0.ɵɵelementStart(0, "ion-col", 38)(1, "div", 14)(2, "label", 64);
|
|
429
424
|
i0.ɵɵtext(3);
|
|
430
425
|
i0.ɵɵpipe(4, "translate");
|
|
431
426
|
i0.ɵɵelementEnd();
|
|
432
|
-
i0.ɵɵelement(5, "p-dropdown",
|
|
427
|
+
i0.ɵɵelement(5, "p-dropdown", 65)(6, "app-error", 9);
|
|
433
428
|
i0.ɵɵelementEnd()();
|
|
434
429
|
} if (rf & 2) {
|
|
435
|
-
const
|
|
430
|
+
const ctx_r88 = i0.ɵɵnextContext(3);
|
|
436
431
|
i0.ɵɵadvance(3);
|
|
437
432
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.work.location.state"));
|
|
438
433
|
i0.ɵɵadvance(2);
|
|
439
|
-
i0.ɵɵproperty("options",
|
|
434
|
+
i0.ɵɵproperty("options", ctx_r88.statesOptions)("formControl", ctx_r88.fedWorkState)("autoDisplayFirst", false);
|
|
440
435
|
i0.ɵɵadvance(1);
|
|
441
436
|
i0.ɵɵclassMap("app-grid");
|
|
442
|
-
i0.ɵɵproperty("form",
|
|
437
|
+
i0.ɵɵproperty("form", ctx_r88.isFormSubmitted)("field", ctx_r88.fedWorkState)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
443
438
|
} }
|
|
444
|
-
function
|
|
445
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
439
|
+
function AddEmployerComponent_ion_grid_6_ion_row_18_Template(rf, ctx) { if (rf & 1) {
|
|
440
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 61);
|
|
446
441
|
i0.ɵɵtext(4);
|
|
447
442
|
i0.ɵɵpipe(5, "translate");
|
|
448
443
|
i0.ɵɵelementEnd();
|
|
449
|
-
i0.ɵɵelement(6, "input",
|
|
444
|
+
i0.ɵɵelement(6, "input", 62)(7, "app-error", 9);
|
|
450
445
|
i0.ɵɵelementEnd()();
|
|
451
|
-
i0.ɵɵelement(8, "ion-col",
|
|
452
|
-
i0.ɵɵtemplate(9,
|
|
446
|
+
i0.ɵɵelement(8, "ion-col", 41);
|
|
447
|
+
i0.ɵɵtemplate(9, AddEmployerComponent_ion_grid_6_ion_row_18_ion_col_9_Template, 7, 12, "ion-col", 63);
|
|
453
448
|
i0.ɵɵelementEnd();
|
|
454
449
|
} if (rf & 2) {
|
|
455
|
-
const
|
|
450
|
+
const ctx_r16 = i0.ɵɵnextContext(2);
|
|
456
451
|
i0.ɵɵadvance(4);
|
|
457
452
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 8, "induction.add.employment.work.location.city"));
|
|
458
453
|
i0.ɵɵadvance(2);
|
|
459
|
-
i0.ɵɵproperty("formControl",
|
|
454
|
+
i0.ɵɵproperty("formControl", ctx_r16.fedWorkCity);
|
|
460
455
|
i0.ɵɵadvance(1);
|
|
461
456
|
i0.ɵɵclassMap("app-grid");
|
|
462
|
-
i0.ɵɵproperty("form",
|
|
457
|
+
i0.ɵɵproperty("form", ctx_r16.isFormSubmitted)("field", ctx_r16.fedWorkCity)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
463
458
|
i0.ɵɵadvance(2);
|
|
464
|
-
i0.ɵɵproperty("ngIf",
|
|
459
|
+
i0.ɵɵproperty("ngIf", ctx_r16.showWorkState === true);
|
|
465
460
|
} }
|
|
466
|
-
function
|
|
467
|
-
const
|
|
468
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
461
|
+
function AddEmployerComponent_ion_grid_6_ion_row_19_Template(rf, ctx) { if (rf & 1) {
|
|
462
|
+
const _r90 = i0.ɵɵgetCurrentView();
|
|
463
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 66);
|
|
469
464
|
i0.ɵɵtext(4);
|
|
470
465
|
i0.ɵɵpipe(5, "translate");
|
|
471
466
|
i0.ɵɵelementEnd();
|
|
472
|
-
i0.ɵɵelementStart(6, "p-calendar",
|
|
473
|
-
i0.ɵɵlistener("onBlur", function
|
|
467
|
+
i0.ɵɵelementStart(6, "p-calendar", 67);
|
|
468
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r89 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r89.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r91 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r91.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r92 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r92.dateInput($event)); });
|
|
474
469
|
i0.ɵɵelementEnd();
|
|
475
|
-
i0.ɵɵelement(7, "app-error",
|
|
470
|
+
i0.ɵɵelement(7, "app-error", 9);
|
|
476
471
|
i0.ɵɵelementEnd()();
|
|
477
|
-
i0.ɵɵelement(8, "ion-col",
|
|
478
|
-
i0.ɵɵelementStart(9, "ion-col",
|
|
472
|
+
i0.ɵɵelement(8, "ion-col", 41);
|
|
473
|
+
i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 68);
|
|
479
474
|
i0.ɵɵtext(12);
|
|
480
475
|
i0.ɵɵpipe(13, "translate");
|
|
481
476
|
i0.ɵɵelementEnd();
|
|
482
|
-
i0.ɵɵelementStart(14, "p-calendar",
|
|
483
|
-
i0.ɵɵlistener("onInput", function
|
|
477
|
+
i0.ɵɵelementStart(14, "p-calendar", 69);
|
|
478
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r93 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r93.dateInput($event)); });
|
|
484
479
|
i0.ɵɵelementEnd();
|
|
485
|
-
i0.ɵɵelement(15, "app-error",
|
|
480
|
+
i0.ɵɵelement(15, "app-error", 9);
|
|
486
481
|
i0.ɵɵelementEnd()()();
|
|
487
482
|
} if (rf & 2) {
|
|
488
|
-
const
|
|
483
|
+
const ctx_r17 = i0.ɵɵnextContext(2);
|
|
489
484
|
i0.ɵɵadvance(4);
|
|
490
485
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.add.employment.fed.startdate"));
|
|
491
486
|
i0.ɵɵadvance(2);
|
|
492
|
-
i0.ɵɵproperty("showIcon", true)("maxDate",
|
|
487
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r17.dateTime)("formControl", ctx_r17.startDateFed)("yearNavigator", true)("showOnFocus", false)("minDate", ctx_r17.minWorkStartDate);
|
|
493
488
|
i0.ɵɵadvance(1);
|
|
494
489
|
i0.ɵɵclassMap("app-grid");
|
|
495
|
-
i0.ɵɵproperty("form",
|
|
490
|
+
i0.ɵɵproperty("form", ctx_r17.isFormSubmitted)("field", ctx_r17.startDateFed)("errDef", i0.ɵɵpureFunction0(28, _c3));
|
|
496
491
|
i0.ɵɵadvance(5);
|
|
497
492
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 26, "induction.add.employment.fed.enddate"));
|
|
498
493
|
i0.ɵɵadvance(2);
|
|
499
|
-
i0.ɵɵproperty("showIcon", true)("maxDate",
|
|
494
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r17.dateTime)("minDate", ctx_r17.minDate)("yearNavigator", true)("formControl", ctx_r17.endDateFed)("showOnFocus", false);
|
|
500
495
|
i0.ɵɵadvance(1);
|
|
501
496
|
i0.ɵɵclassMap("app-grid");
|
|
502
|
-
i0.ɵɵproperty("form",
|
|
497
|
+
i0.ɵɵproperty("form", ctx_r17.isFormSubmitted)("field", ctx_r17.endDateFed)("errDef", i0.ɵɵpureFunction0(29, _c3));
|
|
503
498
|
} }
|
|
504
|
-
function
|
|
505
|
-
i0.ɵɵelementStart(0, "div",
|
|
499
|
+
function AddEmployerComponent_ion_grid_6_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
500
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 70);
|
|
506
501
|
i0.ɵɵtext(2);
|
|
507
502
|
i0.ɵɵpipe(3, "translate");
|
|
508
503
|
i0.ɵɵelementEnd();
|
|
509
|
-
i0.ɵɵelement(4, "input",
|
|
504
|
+
i0.ɵɵelement(4, "input", 71)(5, "app-error", 9);
|
|
510
505
|
i0.ɵɵelementEnd();
|
|
511
506
|
} if (rf & 2) {
|
|
512
|
-
const
|
|
507
|
+
const ctx_r18 = i0.ɵɵnextContext(2);
|
|
513
508
|
i0.ɵɵadvance(2);
|
|
514
509
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.fed.jobtitle"));
|
|
515
510
|
i0.ɵɵadvance(2);
|
|
516
|
-
i0.ɵɵproperty("formControl",
|
|
511
|
+
i0.ɵɵproperty("formControl", ctx_r18.fedJobTileOrPosition);
|
|
517
512
|
i0.ɵɵadvance(1);
|
|
518
513
|
i0.ɵɵclassMap("app-grid");
|
|
519
|
-
i0.ɵɵproperty("form",
|
|
514
|
+
i0.ɵɵproperty("form", ctx_r18.isFormSubmitted)("field", ctx_r18.fedJobTileOrPosition)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
520
515
|
} }
|
|
521
|
-
function
|
|
522
|
-
i0.ɵɵelementStart(0, "div",
|
|
516
|
+
function AddEmployerComponent_ion_grid_6_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
517
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 72);
|
|
523
518
|
i0.ɵɵtext(2);
|
|
524
519
|
i0.ɵɵpipe(3, "translate");
|
|
525
520
|
i0.ɵɵelementEnd();
|
|
526
|
-
i0.ɵɵelementStart(4, "div",
|
|
527
|
-
i0.ɵɵelement(5, "p-selectButton",
|
|
521
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
522
|
+
i0.ɵɵelement(5, "p-selectButton", 73);
|
|
528
523
|
i0.ɵɵelementEnd();
|
|
529
|
-
i0.ɵɵelement(6, "app-error",
|
|
524
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
530
525
|
i0.ɵɵelementEnd();
|
|
531
526
|
} if (rf & 2) {
|
|
532
|
-
const
|
|
527
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
533
528
|
i0.ɵɵadvance(2);
|
|
534
529
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.sfeight"), " ");
|
|
535
530
|
i0.ɵɵadvance(3);
|
|
536
|
-
i0.ɵɵproperty("options",
|
|
531
|
+
i0.ɵɵproperty("options", ctx_r19.radioOptions)("formControl", ctx_r19.sfEightflag);
|
|
537
532
|
i0.ɵɵadvance(1);
|
|
538
533
|
i0.ɵɵclassMap("app-grid");
|
|
539
|
-
i0.ɵɵproperty("form",
|
|
534
|
+
i0.ɵɵproperty("form", ctx_r19.isFormSubmitted)("field", ctx_r19.sfEightflag)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
540
535
|
} }
|
|
541
|
-
function
|
|
542
|
-
const
|
|
543
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
536
|
+
function AddEmployerComponent_ion_grid_6_ion_row_22_Template(rf, ctx) { if (rf & 1) {
|
|
537
|
+
const _r95 = i0.ɵɵgetCurrentView();
|
|
538
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 74);
|
|
544
539
|
i0.ɵɵtext(4);
|
|
545
540
|
i0.ɵɵpipe(5, "translate");
|
|
546
541
|
i0.ɵɵelementEnd();
|
|
547
|
-
i0.ɵɵelementStart(6, "p-calendar",
|
|
548
|
-
i0.ɵɵlistener("onBlur", function
|
|
542
|
+
i0.ɵɵelementStart(6, "p-calendar", 75);
|
|
543
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r94 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r94.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r96 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r96.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r97 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r97.dateInput($event)); });
|
|
549
544
|
i0.ɵɵelementEnd();
|
|
550
|
-
i0.ɵɵelement(7, "app-error",
|
|
545
|
+
i0.ɵɵelement(7, "app-error", 9);
|
|
551
546
|
i0.ɵɵelementEnd()();
|
|
552
|
-
i0.ɵɵelement(8, "ion-col",
|
|
553
|
-
i0.ɵɵelementStart(9, "ion-col",
|
|
547
|
+
i0.ɵɵelement(8, "ion-col", 41);
|
|
548
|
+
i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 76);
|
|
554
549
|
i0.ɵɵtext(12);
|
|
555
550
|
i0.ɵɵpipe(13, "translate");
|
|
556
551
|
i0.ɵɵelementEnd();
|
|
557
|
-
i0.ɵɵelementStart(14, "p-calendar",
|
|
558
|
-
i0.ɵɵlistener("onBlur", function
|
|
552
|
+
i0.ɵɵelementStart(14, "p-calendar", 77);
|
|
553
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onBlur_14_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r98 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r98.validateWagesDisplay($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r99 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r99.dateInput($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onSelect_14_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r100 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r100.validateWagesDisplay($event)); });
|
|
559
554
|
i0.ɵɵelementEnd();
|
|
560
|
-
i0.ɵɵelement(15, "app-error",
|
|
555
|
+
i0.ɵɵelement(15, "app-error", 9);
|
|
561
556
|
i0.ɵɵelementEnd()()();
|
|
562
557
|
} if (rf & 2) {
|
|
563
|
-
const
|
|
558
|
+
const ctx_r20 = i0.ɵɵnextContext(2);
|
|
564
559
|
i0.ɵɵadvance(4);
|
|
565
560
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.confirm.employment.startdate"));
|
|
566
561
|
i0.ɵɵadvance(2);
|
|
567
|
-
i0.ɵɵproperty("showIcon", true)("maxDate",
|
|
562
|
+
i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r20.dateTime)("formControl", ctx_r20.startDate)("yearNavigator", true)("minDate", ctx_r20.minWorkStartDate)("showOnFocus", false);
|
|
568
563
|
i0.ɵɵadvance(1);
|
|
569
564
|
i0.ɵɵclassMap("app-grid");
|
|
570
|
-
i0.ɵɵproperty("form",
|
|
565
|
+
i0.ɵɵproperty("form", ctx_r20.isFormSubmitted)("field", ctx_r20.startDate)("errDef", i0.ɵɵpureFunction0(28, _c3));
|
|
571
566
|
i0.ɵɵadvance(5);
|
|
572
567
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 26, "induction.confirm.employment.enddate"));
|
|
573
568
|
i0.ɵɵadvance(2);
|
|
574
|
-
i0.ɵɵproperty("showIcon", true)("minDate",
|
|
569
|
+
i0.ɵɵproperty("showIcon", true)("minDate", ctx_r20.minDate)("maxDate", ctx_r20.dateTime)("yearNavigator", true)("formControl", ctx_r20.endDate)("showOnFocus", false);
|
|
575
570
|
i0.ɵɵadvance(1);
|
|
576
571
|
i0.ɵɵclassMap("app-grid");
|
|
577
|
-
i0.ɵɵproperty("form",
|
|
572
|
+
i0.ɵɵproperty("form", ctx_r20.isFormSubmitted)("field", ctx_r20.endDate)("errDef", i0.ɵɵpureFunction0(29, _c3));
|
|
578
573
|
} }
|
|
579
|
-
function
|
|
580
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
574
|
+
function AddEmployerComponent_ion_grid_6_ion_row_23_Template(rf, ctx) { if (rf & 1) {
|
|
575
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 78);
|
|
581
576
|
i0.ɵɵtext(4);
|
|
582
577
|
i0.ɵɵpipe(5, "translate");
|
|
583
578
|
i0.ɵɵelementEnd();
|
|
584
|
-
i0.ɵɵelement(6, "input",
|
|
579
|
+
i0.ɵɵelement(6, "input", 79)(7, "app-error", 9);
|
|
585
580
|
i0.ɵɵelementEnd()()();
|
|
586
581
|
} if (rf & 2) {
|
|
587
|
-
const
|
|
582
|
+
const ctx_r21 = i0.ɵɵnextContext(2);
|
|
588
583
|
i0.ɵɵadvance(4);
|
|
589
584
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.work.type"));
|
|
590
585
|
i0.ɵɵadvance(2);
|
|
591
|
-
i0.ɵɵproperty("formControl",
|
|
586
|
+
i0.ɵɵproperty("formControl", ctx_r21.workType);
|
|
592
587
|
i0.ɵɵadvance(1);
|
|
593
588
|
i0.ɵɵclassMap("app-grid");
|
|
594
|
-
i0.ɵɵproperty("form",
|
|
589
|
+
i0.ɵɵproperty("form", ctx_r21.isFormSubmitted)("field", ctx_r21.workType)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
595
590
|
} }
|
|
596
|
-
function
|
|
597
|
-
i0.ɵɵelementStart(0, "div",
|
|
591
|
+
function AddEmployerComponent_ion_grid_6_div_24_Template(rf, ctx) { if (rf & 1) {
|
|
592
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 80);
|
|
598
593
|
i0.ɵɵtext(2);
|
|
599
594
|
i0.ɵɵpipe(3, "translate");
|
|
600
595
|
i0.ɵɵelementEnd();
|
|
601
|
-
i0.ɵɵelementStart(4, "div",
|
|
602
|
-
i0.ɵɵelement(5, "p-selectButton",
|
|
596
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
597
|
+
i0.ɵɵelement(5, "p-selectButton", 81)(6, "app-error", 9);
|
|
603
598
|
i0.ɵɵelementEnd()();
|
|
604
599
|
} if (rf & 2) {
|
|
605
|
-
const
|
|
600
|
+
const ctx_r22 = i0.ɵɵnextContext(2);
|
|
606
601
|
i0.ɵɵadvance(2);
|
|
607
602
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.civilian.work"));
|
|
608
603
|
i0.ɵɵadvance(3);
|
|
609
|
-
i0.ɵɵproperty("options",
|
|
604
|
+
i0.ɵɵproperty("options", ctx_r22.radioOptions)("formControl", ctx_r22.performedService);
|
|
610
605
|
i0.ɵɵadvance(1);
|
|
611
606
|
i0.ɵɵclassMap("app-grid");
|
|
612
|
-
i0.ɵɵproperty("form",
|
|
607
|
+
i0.ɵɵproperty("form", ctx_r22.isFormSubmitted)("field", ctx_r22.performedService)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
613
608
|
} }
|
|
614
|
-
function
|
|
615
|
-
i0.ɵɵelementStart(0, "div",
|
|
609
|
+
function AddEmployerComponent_ion_grid_6_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
610
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 82);
|
|
616
611
|
i0.ɵɵtext(2);
|
|
617
612
|
i0.ɵɵpipe(3, "translate");
|
|
618
613
|
i0.ɵɵelementEnd();
|
|
619
|
-
i0.ɵɵelement(4, "input",
|
|
614
|
+
i0.ɵɵelement(4, "input", 83)(5, "app-error", 9);
|
|
620
615
|
i0.ɵɵelementEnd();
|
|
621
616
|
} if (rf & 2) {
|
|
622
|
-
const
|
|
617
|
+
const ctx_r23 = i0.ɵɵnextContext(2);
|
|
623
618
|
i0.ɵɵadvance(2);
|
|
624
619
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.jobtitle"));
|
|
625
620
|
i0.ɵɵadvance(2);
|
|
626
|
-
i0.ɵɵproperty("formControl",
|
|
621
|
+
i0.ɵɵproperty("formControl", ctx_r23.jobTileOrPosition);
|
|
627
622
|
i0.ɵɵadvance(1);
|
|
628
623
|
i0.ɵɵclassMap("app-grid");
|
|
629
|
-
i0.ɵɵproperty("form",
|
|
624
|
+
i0.ɵɵproperty("form", ctx_r23.isFormSubmitted)("field", ctx_r23.jobTileOrPosition)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
630
625
|
} }
|
|
631
|
-
function
|
|
632
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
626
|
+
function AddEmployerComponent_ion_grid_6_ion_row_26_Template(rf, ctx) { if (rf & 1) {
|
|
627
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 84)(2, "div", 14)(3, "label", 85);
|
|
633
628
|
i0.ɵɵtext(4);
|
|
634
629
|
i0.ɵɵpipe(5, "translate");
|
|
635
630
|
i0.ɵɵelementEnd();
|
|
636
|
-
i0.ɵɵelement(6, "p-inputNumber",
|
|
631
|
+
i0.ɵɵelement(6, "p-inputNumber", 86)(7, "app-error", 9);
|
|
637
632
|
i0.ɵɵelementEnd()();
|
|
638
|
-
i0.ɵɵelementStart(8, "ion-col",
|
|
633
|
+
i0.ɵɵelementStart(8, "ion-col", 84)(9, "div", 14)(10, "label", 87);
|
|
639
634
|
i0.ɵɵtext(11);
|
|
640
635
|
i0.ɵɵpipe(12, "translate");
|
|
641
636
|
i0.ɵɵelementEnd();
|
|
642
|
-
i0.ɵɵelement(13, "p-dropdown",
|
|
637
|
+
i0.ɵɵelement(13, "p-dropdown", 88)(14, "app-error", 9);
|
|
643
638
|
i0.ɵɵelementEnd()()();
|
|
644
639
|
} if (rf & 2) {
|
|
645
|
-
const
|
|
640
|
+
const ctx_r24 = i0.ɵɵnextContext(2);
|
|
646
641
|
i0.ɵɵadvance(4);
|
|
647
642
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 17, "induction.confirm.employment.payrate"));
|
|
648
643
|
i0.ɵɵadvance(2);
|
|
649
|
-
i0.ɵɵproperty("formControl",
|
|
644
|
+
i0.ɵɵproperty("formControl", ctx_r24.payRate)("max", 999999.99);
|
|
650
645
|
i0.ɵɵadvance(1);
|
|
651
646
|
i0.ɵɵclassMap("app-grid");
|
|
652
|
-
i0.ɵɵproperty("form",
|
|
647
|
+
i0.ɵɵproperty("form", ctx_r24.isFormSubmitted)("field", ctx_r24.payRate)("errDef", i0.ɵɵpureFunction0(21, _c3));
|
|
653
648
|
i0.ɵɵadvance(4);
|
|
654
649
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 19, "induction.confirm.employment.per"));
|
|
655
650
|
i0.ɵɵadvance(2);
|
|
656
|
-
i0.ɵɵproperty("options",
|
|
651
|
+
i0.ɵɵproperty("options", ctx_r24.payRateOptions)("formControl", ctx_r24.payRateFrequency)("autoDisplayFirst", false);
|
|
657
652
|
i0.ɵɵadvance(1);
|
|
658
653
|
i0.ɵɵclassMap("app-grid");
|
|
659
|
-
i0.ɵɵproperty("form",
|
|
654
|
+
i0.ɵɵproperty("form", ctx_r24.isFormSubmitted)("field", ctx_r24.payRateFrequency)("errDef", i0.ɵɵpureFunction0(22, _c3));
|
|
660
655
|
} }
|
|
661
|
-
function
|
|
662
|
-
i0.ɵɵelementStart(0, "div",
|
|
656
|
+
function AddEmployerComponent_ion_grid_6_div_27_Template(rf, ctx) { if (rf & 1) {
|
|
657
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 89);
|
|
663
658
|
i0.ɵɵtext(2);
|
|
664
659
|
i0.ɵɵpipe(3, "translate");
|
|
665
660
|
i0.ɵɵelementEnd();
|
|
666
|
-
i0.ɵɵelement(4, "p-inputMask",
|
|
661
|
+
i0.ɵɵelement(4, "p-inputMask", 90)(5, "app-error", 9);
|
|
667
662
|
i0.ɵɵelementEnd();
|
|
668
663
|
} if (rf & 2) {
|
|
669
|
-
const
|
|
664
|
+
const ctx_r25 = i0.ɵɵnextContext(2);
|
|
670
665
|
i0.ɵɵadvance(2);
|
|
671
666
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.employer.phone"));
|
|
672
667
|
i0.ɵɵadvance(2);
|
|
673
|
-
i0.ɵɵproperty("formControl",
|
|
668
|
+
i0.ɵɵproperty("formControl", ctx_r25.employerTelephoneNumber);
|
|
674
669
|
i0.ɵɵadvance(1);
|
|
675
670
|
i0.ɵɵclassMap("app-grid");
|
|
676
|
-
i0.ɵɵproperty("form",
|
|
671
|
+
i0.ɵɵproperty("form", ctx_r25.isFormSubmitted)("field", ctx_r25.employerTelephoneNumber)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
677
672
|
} }
|
|
678
|
-
function
|
|
679
|
-
i0.ɵɵelementStart(0, "label",
|
|
673
|
+
function AddEmployerComponent_ion_grid_6_div_28_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
674
|
+
i0.ɵɵelementStart(0, "label", 93);
|
|
680
675
|
i0.ɵɵtext(1);
|
|
681
676
|
i0.ɵɵpipe(2, "translate");
|
|
682
677
|
i0.ɵɵelementEnd();
|
|
@@ -684,8 +679,8 @@ function AddEmployerComponent_ion_grid_5_div_28_label_1_Template(rf, ctx) { if (
|
|
|
684
679
|
i0.ɵɵadvance(1);
|
|
685
680
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.confirm.employment.reason.separation"));
|
|
686
681
|
} }
|
|
687
|
-
function
|
|
688
|
-
i0.ɵɵelementStart(0, "label",
|
|
682
|
+
function AddEmployerComponent_ion_grid_6_div_28_label_2_Template(rf, ctx) { if (rf & 1) {
|
|
683
|
+
i0.ɵɵelementStart(0, "label", 93);
|
|
689
684
|
i0.ɵɵtext(1);
|
|
690
685
|
i0.ɵɵpipe(2, "translate");
|
|
691
686
|
i0.ɵɵelementEnd();
|
|
@@ -693,581 +688,575 @@ function AddEmployerComponent_ion_grid_5_div_28_label_2_Template(rf, ctx) { if (
|
|
|
693
688
|
i0.ɵɵadvance(1);
|
|
694
689
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.add.employment.fed.reason.separation"));
|
|
695
690
|
} }
|
|
696
|
-
function
|
|
697
|
-
i0.ɵɵelementStart(0, "div",
|
|
698
|
-
i0.ɵɵtemplate(1,
|
|
699
|
-
i0.ɵɵelement(3, "p-dropdown",
|
|
691
|
+
function AddEmployerComponent_ion_grid_6_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
692
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
693
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_div_28_label_1_Template, 3, 3, "label", 91)(2, AddEmployerComponent_ion_grid_6_div_28_label_2_Template, 3, 3, "label", 91);
|
|
694
|
+
i0.ɵɵelement(3, "p-dropdown", 92)(4, "app-error", 9);
|
|
700
695
|
i0.ɵɵelementEnd();
|
|
701
696
|
} if (rf & 2) {
|
|
702
|
-
const
|
|
697
|
+
const ctx_r26 = i0.ɵɵnextContext(2);
|
|
703
698
|
i0.ɵɵadvance(1);
|
|
704
|
-
i0.ɵɵproperty("ngIf",
|
|
699
|
+
i0.ɵɵproperty("ngIf", ctx_r26.employerType.value === "REG");
|
|
705
700
|
i0.ɵɵadvance(1);
|
|
706
|
-
i0.ɵɵproperty("ngIf",
|
|
701
|
+
i0.ɵɵproperty("ngIf", ctx_r26.employerType.value === "FED");
|
|
707
702
|
i0.ɵɵadvance(1);
|
|
708
|
-
i0.ɵɵproperty("options",
|
|
703
|
+
i0.ɵɵproperty("options", ctx_r26.employmentStatusOptionsAll)("formControl", ctx_r26.reasonSeparation)("autoDisplayFirst", false);
|
|
709
704
|
i0.ɵɵadvance(1);
|
|
710
705
|
i0.ɵɵclassMap("app-grid");
|
|
711
|
-
i0.ɵɵproperty("form",
|
|
706
|
+
i0.ɵɵproperty("form", ctx_r26.isFormSubmitted)("field", ctx_r26.reasonSeparation)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
712
707
|
} }
|
|
713
|
-
function
|
|
714
|
-
i0.ɵɵelementStart(0, "div",
|
|
708
|
+
function AddEmployerComponent_ion_grid_6_div_29_Template(rf, ctx) { if (rf & 1) {
|
|
709
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 94);
|
|
715
710
|
i0.ɵɵtext(2);
|
|
716
711
|
i0.ɵɵpipe(3, "translate");
|
|
717
712
|
i0.ɵɵelementEnd();
|
|
718
|
-
i0.ɵɵelement(4, "p-dropdown",
|
|
713
|
+
i0.ɵɵelement(4, "p-dropdown", 95)(5, "app-error", 9);
|
|
719
714
|
i0.ɵɵelementEnd();
|
|
720
715
|
} if (rf & 2) {
|
|
721
|
-
const
|
|
716
|
+
const ctx_r27 = i0.ɵɵnextContext(2);
|
|
722
717
|
i0.ɵɵadvance(2);
|
|
723
718
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
|
|
724
719
|
i0.ɵɵadvance(2);
|
|
725
|
-
i0.ɵɵproperty("options",
|
|
720
|
+
i0.ɵɵproperty("options", ctx_r27.dischargeReasonOptionsAll)("formControl", ctx_r27.dischargeDetail)("autoDisplayFirst", false);
|
|
726
721
|
i0.ɵɵadvance(1);
|
|
727
722
|
i0.ɵɵclassMap("app-grid");
|
|
728
|
-
i0.ɵɵproperty("form",
|
|
723
|
+
i0.ɵɵproperty("form", ctx_r27.isFormSubmitted)("field", ctx_r27.dischargeDetail)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
729
724
|
} }
|
|
730
|
-
function
|
|
731
|
-
i0.ɵɵelementStart(0, "div",
|
|
725
|
+
function AddEmployerComponent_ion_grid_6_div_30_Template(rf, ctx) { if (rf & 1) {
|
|
726
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 96);
|
|
732
727
|
i0.ɵɵtext(2);
|
|
733
728
|
i0.ɵɵpipe(3, "translate");
|
|
734
729
|
i0.ɵɵelementEnd();
|
|
735
|
-
i0.ɵɵelement(4, "p-dropdown",
|
|
730
|
+
i0.ɵɵelement(4, "p-dropdown", 97)(5, "app-error", 9);
|
|
736
731
|
i0.ɵɵelementEnd();
|
|
737
732
|
} if (rf & 2) {
|
|
738
|
-
const
|
|
733
|
+
const ctx_r28 = i0.ɵɵnextContext(2);
|
|
739
734
|
i0.ɵɵadvance(2);
|
|
740
735
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
|
|
741
736
|
i0.ɵɵadvance(2);
|
|
742
|
-
i0.ɵɵproperty("options",
|
|
737
|
+
i0.ɵɵproperty("options", ctx_r28.volQuitReasonOptionsAll)("formControl", ctx_r28.volQuitDetails)("autoDisplayFirst", false);
|
|
743
738
|
i0.ɵɵadvance(1);
|
|
744
739
|
i0.ɵɵclassMap("app-grid");
|
|
745
|
-
i0.ɵɵproperty("form",
|
|
740
|
+
i0.ɵɵproperty("form", ctx_r28.isFormSubmitted)("field", ctx_r28.volQuitDetails)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
746
741
|
} }
|
|
747
|
-
function
|
|
748
|
-
i0.ɵɵelementStart(0, "div",
|
|
742
|
+
function AddEmployerComponent_ion_grid_6_div_31_Template(rf, ctx) { if (rf & 1) {
|
|
743
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 98);
|
|
749
744
|
i0.ɵɵtext(2);
|
|
750
745
|
i0.ɵɵpipe(3, "translate");
|
|
751
746
|
i0.ɵɵelement(4, "br");
|
|
752
747
|
i0.ɵɵtext(5);
|
|
753
748
|
i0.ɵɵpipe(6, "translate");
|
|
754
749
|
i0.ɵɵelementEnd();
|
|
755
|
-
i0.ɵɵelementStart(7, "div",
|
|
756
|
-
i0.ɵɵelement(8, "p-selectButton",
|
|
750
|
+
i0.ɵɵelementStart(7, "div", 23);
|
|
751
|
+
i0.ɵɵelement(8, "p-selectButton", 99)(9, "app-error", 9);
|
|
757
752
|
i0.ɵɵelementEnd()();
|
|
758
753
|
} if (rf & 2) {
|
|
759
|
-
const
|
|
754
|
+
const ctx_r29 = i0.ɵɵnextContext(2);
|
|
760
755
|
i0.ɵɵadvance(2);
|
|
761
756
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.pension"), " ");
|
|
762
757
|
i0.ɵɵadvance(3);
|
|
763
758
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 11, "induction.add.employment.mil.pension.disclaimer"), " ");
|
|
764
759
|
i0.ɵɵadvance(3);
|
|
765
|
-
i0.ɵɵproperty("options",
|
|
760
|
+
i0.ɵɵproperty("options", ctx_r29.radioOptions)("formControl", ctx_r29.milPensionFlag);
|
|
766
761
|
i0.ɵɵadvance(1);
|
|
767
762
|
i0.ɵɵclassMap("app-grid");
|
|
768
|
-
i0.ɵɵproperty("form",
|
|
763
|
+
i0.ɵɵproperty("form", ctx_r29.isFormSubmitted)("field", ctx_r29.milPensionFlag)("errDef", i0.ɵɵpureFunction0(13, _c3));
|
|
769
764
|
} }
|
|
770
|
-
function
|
|
771
|
-
const
|
|
772
|
-
i0.ɵɵelementStart(0, "div",
|
|
765
|
+
function AddEmployerComponent_ion_grid_6_div_32_Template(rf, ctx) { if (rf & 1) {
|
|
766
|
+
const _r104 = i0.ɵɵgetCurrentView();
|
|
767
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 100);
|
|
773
768
|
i0.ɵɵtext(2);
|
|
774
769
|
i0.ɵɵpipe(3, "translate");
|
|
775
770
|
i0.ɵɵelementEnd();
|
|
776
|
-
i0.ɵɵelementStart(4, "div")(5, "p-calendar",
|
|
777
|
-
i0.ɵɵlistener("onInput", function
|
|
771
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 101);
|
|
772
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_32_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r104); const ctx_r103 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r103.dateInput($event)); });
|
|
778
773
|
i0.ɵɵelementEnd();
|
|
779
|
-
i0.ɵɵelement(6, "app-error",
|
|
774
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
780
775
|
i0.ɵɵelementEnd()();
|
|
781
776
|
} if (rf & 2) {
|
|
782
|
-
const
|
|
777
|
+
const ctx_r30 = i0.ɵɵnextContext(2);
|
|
783
778
|
i0.ɵɵadvance(2);
|
|
784
779
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.mil.pension.date"));
|
|
785
780
|
i0.ɵɵadvance(3);
|
|
786
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
781
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r30.milPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
787
782
|
i0.ɵɵadvance(1);
|
|
788
783
|
i0.ɵɵclassMap("app-grid");
|
|
789
|
-
i0.ɵɵproperty("form",
|
|
784
|
+
i0.ɵɵproperty("form", ctx_r30.isFormSubmitted)("field", ctx_r30.milPensionRecvDate)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
790
785
|
} }
|
|
791
|
-
function
|
|
792
|
-
i0.ɵɵelementStart(0, "div",
|
|
786
|
+
function AddEmployerComponent_ion_grid_6_div_33_Template(rf, ctx) { if (rf & 1) {
|
|
787
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 102);
|
|
793
788
|
i0.ɵɵtext(2);
|
|
794
789
|
i0.ɵɵpipe(3, "translate");
|
|
795
790
|
i0.ɵɵelementEnd();
|
|
796
791
|
i0.ɵɵelement(4, "br");
|
|
797
|
-
i0.ɵɵelementStart(5, "div",
|
|
798
|
-
i0.ɵɵelement(6, "p-selectButton",
|
|
792
|
+
i0.ɵɵelementStart(5, "div", 103);
|
|
793
|
+
i0.ɵɵelement(6, "p-selectButton", 104)(7, "app-overlay-info", 105);
|
|
799
794
|
i0.ɵɵelementEnd()();
|
|
800
795
|
} if (rf & 2) {
|
|
801
|
-
const
|
|
796
|
+
const ctx_r31 = i0.ɵɵnextContext(2);
|
|
802
797
|
i0.ɵɵadvance(2);
|
|
803
798
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 4, "induction.add.employment.mil.dd214"), " ");
|
|
804
799
|
i0.ɵɵadvance(4);
|
|
805
|
-
i0.ɵɵproperty("options",
|
|
800
|
+
i0.ɵɵproperty("options", ctx_r31.radioOptions)("formControl", ctx_r31.dd214Flag);
|
|
806
801
|
i0.ɵɵadvance(1);
|
|
807
|
-
i0.ɵɵproperty("overlayText",
|
|
802
|
+
i0.ɵɵproperty("overlayText", ctx_r31.dd214Info);
|
|
808
803
|
} }
|
|
809
|
-
function
|
|
810
|
-
i0.ɵɵelementStart(0, "ion-row",
|
|
811
|
-
i0.ɵɵelement(2, "div",
|
|
804
|
+
function AddEmployerComponent_ion_grid_6_ion_row_37_Template(rf, ctx) { if (rf & 1) {
|
|
805
|
+
i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
|
|
806
|
+
i0.ɵɵelement(2, "div", 14);
|
|
812
807
|
i0.ɵɵelementEnd()();
|
|
813
808
|
} }
|
|
814
|
-
function
|
|
815
|
-
i0.ɵɵelementStart(0, "ion-row",
|
|
816
|
-
i0.ɵɵelement(2, "div",
|
|
809
|
+
function AddEmployerComponent_ion_grid_6_ion_row_38_Template(rf, ctx) { if (rf & 1) {
|
|
810
|
+
i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
|
|
811
|
+
i0.ɵɵelement(2, "div", 14);
|
|
817
812
|
i0.ɵɵelementEnd()();
|
|
818
813
|
} }
|
|
819
|
-
function
|
|
820
|
-
i0.ɵɵelementStart(0, "ion-row",
|
|
821
|
-
i0.ɵɵelement(2, "div",
|
|
814
|
+
function AddEmployerComponent_ion_grid_6_ion_row_39_Template(rf, ctx) { if (rf & 1) {
|
|
815
|
+
i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
|
|
816
|
+
i0.ɵɵelement(2, "div", 14);
|
|
822
817
|
i0.ɵɵelementEnd()();
|
|
823
818
|
} }
|
|
824
|
-
function
|
|
825
|
-
i0.ɵɵelementStart(0, "ion-row",
|
|
826
|
-
i0.ɵɵelement(2, "div",
|
|
819
|
+
function AddEmployerComponent_ion_grid_6_ion_row_40_Template(rf, ctx) { if (rf & 1) {
|
|
820
|
+
i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
|
|
821
|
+
i0.ɵɵelement(2, "div", 14);
|
|
827
822
|
i0.ɵɵelementEnd()();
|
|
828
823
|
} }
|
|
829
|
-
function
|
|
830
|
-
i0.ɵɵelementStart(0, "ion-row",
|
|
831
|
-
i0.ɵɵelement(2, "div",
|
|
824
|
+
function AddEmployerComponent_ion_grid_6_ion_row_41_Template(rf, ctx) { if (rf & 1) {
|
|
825
|
+
i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
|
|
826
|
+
i0.ɵɵelement(2, "div", 14);
|
|
832
827
|
i0.ɵɵelementEnd()();
|
|
833
828
|
} }
|
|
834
|
-
function
|
|
835
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
836
|
-
i0.ɵɵelement(2, "div",
|
|
829
|
+
function AddEmployerComponent_ion_grid_6_ion_row_42_Template(rf, ctx) { if (rf & 1) {
|
|
830
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 107);
|
|
831
|
+
i0.ɵɵelement(2, "div", 108);
|
|
837
832
|
i0.ɵɵpipe(3, "translate");
|
|
838
|
-
i0.ɵɵelement(4, "div",
|
|
833
|
+
i0.ɵɵelement(4, "div", 108);
|
|
839
834
|
i0.ɵɵpipe(5, "translate");
|
|
840
|
-
i0.ɵɵelement(6, "div",
|
|
835
|
+
i0.ɵɵelement(6, "div", 108);
|
|
841
836
|
i0.ɵɵpipe(7, "translate");
|
|
842
|
-
i0.ɵɵelement(8, "div",
|
|
837
|
+
i0.ɵɵelement(8, "div", 108);
|
|
843
838
|
i0.ɵɵpipe(9, "translate");
|
|
844
|
-
i0.ɵɵelement(10, "div",
|
|
839
|
+
i0.ɵɵelement(10, "div", 108);
|
|
845
840
|
i0.ɵɵpipe(11, "translate");
|
|
846
|
-
i0.ɵɵelement(12, "div",
|
|
841
|
+
i0.ɵɵelement(12, "div", 109);
|
|
847
842
|
i0.ɵɵpipe(13, "translate");
|
|
848
843
|
i0.ɵɵelementEnd()();
|
|
849
844
|
} if (rf & 2) {
|
|
850
|
-
const
|
|
845
|
+
const ctx_r37 = i0.ɵɵnextContext(2);
|
|
851
846
|
i0.ɵɵadvance(2);
|
|
852
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 6,
|
|
847
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 6, ctx_r37.paraOne), i0.ɵɵsanitizeHtml);
|
|
853
848
|
i0.ɵɵadvance(2);
|
|
854
|
-
i0.ɵɵproperty("innerHTML",
|
|
849
|
+
i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 8, ctx_r37.paraTwo)), i0.ɵɵsanitizeHtml);
|
|
855
850
|
i0.ɵɵadvance(2);
|
|
856
|
-
i0.ɵɵproperty("innerHTML",
|
|
851
|
+
i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 10, ctx_r37.paraThree)), i0.ɵɵsanitizeHtml);
|
|
857
852
|
i0.ɵɵadvance(2);
|
|
858
|
-
i0.ɵɵproperty("innerHTML",
|
|
853
|
+
i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 12, ctx_r37.paraFour)), i0.ɵɵsanitizeHtml);
|
|
859
854
|
i0.ɵɵadvance(2);
|
|
860
|
-
i0.ɵɵproperty("innerHTML",
|
|
855
|
+
i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 14, ctx_r37.paraFive)), i0.ɵɵsanitizeHtml);
|
|
861
856
|
i0.ɵɵadvance(2);
|
|
862
|
-
i0.ɵɵproperty("innerHTML",
|
|
857
|
+
i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(13, 16, ctx_r37.paraSix)), i0.ɵɵsanitizeHtml);
|
|
863
858
|
} }
|
|
864
|
-
function
|
|
865
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
866
|
-
i0.ɵɵelement(2, "div",
|
|
859
|
+
function AddEmployerComponent_ion_grid_6_ion_row_43_Template(rf, ctx) { if (rf & 1) {
|
|
860
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 107);
|
|
861
|
+
i0.ɵɵelement(2, "div", 108);
|
|
867
862
|
i0.ɵɵpipe(3, "translate");
|
|
868
|
-
i0.ɵɵelement(4, "div",
|
|
863
|
+
i0.ɵɵelement(4, "div", 108);
|
|
869
864
|
i0.ɵɵpipe(5, "translate");
|
|
870
|
-
i0.ɵɵelement(6, "div",
|
|
865
|
+
i0.ɵɵelement(6, "div", 108);
|
|
871
866
|
i0.ɵɵpipe(7, "translate");
|
|
872
|
-
i0.ɵɵelement(8, "div",
|
|
867
|
+
i0.ɵɵelement(8, "div", 109);
|
|
873
868
|
i0.ɵɵpipe(9, "translate");
|
|
874
|
-
i0.ɵɵelement(10, "div",
|
|
869
|
+
i0.ɵɵelement(10, "div", 108);
|
|
875
870
|
i0.ɵɵpipe(11, "translate");
|
|
876
871
|
i0.ɵɵelementEnd()();
|
|
877
872
|
} if (rf & 2) {
|
|
878
|
-
const
|
|
873
|
+
const ctx_r38 = i0.ɵɵnextContext(2);
|
|
879
874
|
i0.ɵɵadvance(2);
|
|
880
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 5,
|
|
875
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 5, ctx_r38.noParaOne), i0.ɵɵsanitizeHtml);
|
|
881
876
|
i0.ɵɵadvance(2);
|
|
882
|
-
i0.ɵɵproperty("innerHTML",
|
|
877
|
+
i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 7, ctx_r38.noParaTwo)), i0.ɵɵsanitizeHtml);
|
|
883
878
|
i0.ɵɵadvance(2);
|
|
884
|
-
i0.ɵɵproperty("innerHTML",
|
|
879
|
+
i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 9, ctx_r38.noParaThree)), i0.ɵɵsanitizeHtml);
|
|
885
880
|
i0.ɵɵadvance(2);
|
|
886
|
-
i0.ɵɵproperty("innerHTML",
|
|
881
|
+
i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 11, ctx_r38.noParaFour)), i0.ɵɵsanitizeHtml);
|
|
887
882
|
i0.ɵɵadvance(2);
|
|
888
|
-
i0.ɵɵproperty("innerHTML",
|
|
883
|
+
i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 13, ctx_r38.noParaFive)), i0.ɵɵsanitizeHtml);
|
|
889
884
|
} }
|
|
890
|
-
function
|
|
891
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
892
|
-
i0.ɵɵtext(4);
|
|
893
|
-
i0.ɵɵpipe(5, "translate");
|
|
885
|
+
function AddEmployerComponent_ion_grid_6_ion_row_44_Template(rf, ctx) { if (rf & 1) {
|
|
886
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 110)(2, "div", 14)(3, "label", 111);
|
|
887
|
+
i0.ɵɵtext(4, "Total Wages Earned");
|
|
894
888
|
i0.ɵɵelementEnd();
|
|
895
|
-
i0.ɵɵelement(
|
|
889
|
+
i0.ɵɵelement(5, "p-inputNumber", 112)(6, "app-error", 9);
|
|
896
890
|
i0.ɵɵelementEnd()()();
|
|
897
891
|
} if (rf & 2) {
|
|
898
|
-
const
|
|
899
|
-
i0.ɵɵadvance(
|
|
900
|
-
i0.ɵɵ
|
|
901
|
-
i0.ɵɵadvance(2);
|
|
902
|
-
i0.ɵɵproperty("formControl", ctx_r38.grossWages)("max", 999999.99);
|
|
892
|
+
const ctx_r39 = i0.ɵɵnextContext(2);
|
|
893
|
+
i0.ɵɵadvance(5);
|
|
894
|
+
i0.ɵɵproperty("formControl", ctx_r39.grossWages)("max", 999999.99);
|
|
903
895
|
i0.ɵɵadvance(1);
|
|
904
896
|
i0.ɵɵclassMap("app-grid");
|
|
905
|
-
i0.ɵɵproperty("form",
|
|
897
|
+
i0.ɵɵproperty("form", ctx_r39.isFormSubmitted)("field", ctx_r39.grossWages)("errDef", i0.ɵɵpureFunction0(7, _c3));
|
|
906
898
|
} }
|
|
907
|
-
function
|
|
908
|
-
i0.ɵɵelementStart(0, "ion-col",
|
|
899
|
+
function AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_1_Template(rf, ctx) { if (rf & 1) {
|
|
900
|
+
i0.ɵɵelementStart(0, "ion-col", 116)(1, "div", 14)(2, "label", 85);
|
|
909
901
|
i0.ɵɵtext(3);
|
|
910
902
|
i0.ɵɵpipe(4, "translate");
|
|
911
903
|
i0.ɵɵelementEnd();
|
|
912
|
-
i0.ɵɵelement(5, "p-inputNumber",
|
|
904
|
+
i0.ɵɵelement(5, "p-inputNumber", 86)(6, "app-error", 9);
|
|
913
905
|
i0.ɵɵelementEnd()();
|
|
914
906
|
} if (rf & 2) {
|
|
915
|
-
const
|
|
907
|
+
const ctx_r105 = i0.ɵɵnextContext(3);
|
|
916
908
|
i0.ɵɵadvance(3);
|
|
917
909
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.add.employment.payrate"));
|
|
918
910
|
i0.ɵɵadvance(2);
|
|
919
|
-
i0.ɵɵproperty("formControl",
|
|
911
|
+
i0.ɵɵproperty("formControl", ctx_r105.payRate)("max", 999999.99);
|
|
920
912
|
i0.ɵɵadvance(1);
|
|
921
913
|
i0.ɵɵclassMap("app-grid");
|
|
922
|
-
i0.ɵɵproperty("form",
|
|
914
|
+
i0.ɵɵproperty("form", ctx_r105.isFormSubmitted)("field", ctx_r105.payRate)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
923
915
|
} }
|
|
924
|
-
function
|
|
925
|
-
i0.ɵɵelementStart(0, "ion-col",
|
|
916
|
+
function AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_2_Template(rf, ctx) { if (rf & 1) {
|
|
917
|
+
i0.ɵɵelementStart(0, "ion-col", 117)(1, "div", 14)(2, "label", 87);
|
|
926
918
|
i0.ɵɵtext(3);
|
|
927
919
|
i0.ɵɵpipe(4, "translate");
|
|
928
920
|
i0.ɵɵelementEnd();
|
|
929
|
-
i0.ɵɵelement(5, "p-dropdown",
|
|
921
|
+
i0.ɵɵelement(5, "p-dropdown", 88)(6, "app-error", 9);
|
|
930
922
|
i0.ɵɵelementEnd()();
|
|
931
923
|
} if (rf & 2) {
|
|
932
|
-
const
|
|
924
|
+
const ctx_r106 = i0.ɵɵnextContext(3);
|
|
933
925
|
i0.ɵɵadvance(3);
|
|
934
926
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.per"));
|
|
935
927
|
i0.ɵɵadvance(2);
|
|
936
|
-
i0.ɵɵproperty("options",
|
|
928
|
+
i0.ɵɵproperty("options", ctx_r106.payRateOptions)("formControl", ctx_r106.payRateFrequency)("autoDisplayFirst", false);
|
|
937
929
|
i0.ɵɵadvance(1);
|
|
938
930
|
i0.ɵɵclassMap("app-grid");
|
|
939
|
-
i0.ɵɵproperty("form",
|
|
931
|
+
i0.ɵɵproperty("form", ctx_r106.isFormSubmitted)("field", ctx_r106.payRateFrequency)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
940
932
|
} }
|
|
941
|
-
function
|
|
942
|
-
i0.ɵɵelementStart(0, "ion-col",
|
|
943
|
-
i0.ɵɵtext(3);
|
|
944
|
-
i0.ɵɵpipe(4, "translate");
|
|
933
|
+
function AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_3_Template(rf, ctx) { if (rf & 1) {
|
|
934
|
+
i0.ɵɵelementStart(0, "ion-col", 110)(1, "div", 14)(2, "label", 111);
|
|
935
|
+
i0.ɵɵtext(3, "Total Wages Earned");
|
|
945
936
|
i0.ɵɵelementEnd();
|
|
946
|
-
i0.ɵɵelement(
|
|
937
|
+
i0.ɵɵelement(4, "p-inputNumber", 112)(5, "app-error", 9);
|
|
947
938
|
i0.ɵɵelementEnd()();
|
|
948
939
|
} if (rf & 2) {
|
|
949
|
-
const
|
|
950
|
-
i0.ɵɵadvance(
|
|
951
|
-
i0.ɵɵ
|
|
952
|
-
i0.ɵɵadvance(2);
|
|
953
|
-
i0.ɵɵproperty("formControl", ctx_r106.grossWages)("max", 999999.99);
|
|
940
|
+
const ctx_r107 = i0.ɵɵnextContext(3);
|
|
941
|
+
i0.ɵɵadvance(4);
|
|
942
|
+
i0.ɵɵproperty("formControl", ctx_r107.grossWages)("max", 999999.99);
|
|
954
943
|
i0.ɵɵadvance(1);
|
|
955
944
|
i0.ɵɵclassMap("app-grid");
|
|
956
|
-
i0.ɵɵproperty("form",
|
|
945
|
+
i0.ɵɵproperty("form", ctx_r107.isFormSubmitted)("field", ctx_r107.grossWages)("errDef", i0.ɵɵpureFunction0(7, _c3));
|
|
957
946
|
} }
|
|
958
|
-
function
|
|
947
|
+
function AddEmployerComponent_ion_grid_6_ion_row_45_Template(rf, ctx) { if (rf & 1) {
|
|
959
948
|
i0.ɵɵelementStart(0, "ion-row");
|
|
960
|
-
i0.ɵɵtemplate(1,
|
|
949
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_1_Template, 7, 11, "ion-col", 113)(2, AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_2_Template, 7, 12, "ion-col", 114)(3, AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_3_Template, 6, 8, "ion-col", 115);
|
|
961
950
|
i0.ɵɵelementEnd();
|
|
962
951
|
} if (rf & 2) {
|
|
963
|
-
const
|
|
952
|
+
const ctx_r40 = i0.ɵɵnextContext(2);
|
|
964
953
|
i0.ɵɵadvance(1);
|
|
965
|
-
i0.ɵɵproperty("ngIf", !
|
|
954
|
+
i0.ɵɵproperty("ngIf", !ctx_r40.isBasePeriodEmployer);
|
|
966
955
|
i0.ɵɵadvance(1);
|
|
967
|
-
i0.ɵɵproperty("ngIf", !
|
|
956
|
+
i0.ɵɵproperty("ngIf", !ctx_r40.isBasePeriodEmployer);
|
|
968
957
|
i0.ɵɵadvance(1);
|
|
969
|
-
i0.ɵɵproperty("ngIf",
|
|
958
|
+
i0.ɵɵproperty("ngIf", ctx_r40.displayVerificationOfWages.value && !ctx_r40.isBasePeriodEmployer);
|
|
970
959
|
} }
|
|
971
|
-
function
|
|
972
|
-
i0.ɵɵelementStart(0, "div",
|
|
960
|
+
function AddEmployerComponent_ion_grid_6_div_46_Template(rf, ctx) { if (rf & 1) {
|
|
961
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 118);
|
|
973
962
|
i0.ɵɵtext(2);
|
|
974
963
|
i0.ɵɵpipe(3, "translate");
|
|
975
964
|
i0.ɵɵelement(4, "br");
|
|
976
965
|
i0.ɵɵtext(5);
|
|
977
966
|
i0.ɵɵpipe(6, "translate");
|
|
978
967
|
i0.ɵɵelementEnd();
|
|
979
|
-
i0.ɵɵelementStart(7, "div",
|
|
980
|
-
i0.ɵɵelement(8, "p-selectButton",
|
|
968
|
+
i0.ɵɵelementStart(7, "div", 119);
|
|
969
|
+
i0.ɵɵelement(8, "p-selectButton", 120)(9, "app-overlay-info", 121);
|
|
981
970
|
i0.ɵɵpipe(10, "translate");
|
|
982
971
|
i0.ɵɵelementEnd();
|
|
983
|
-
i0.ɵɵelement(11, "app-error",
|
|
972
|
+
i0.ɵɵelement(11, "app-error", 9);
|
|
984
973
|
i0.ɵɵelementEnd();
|
|
985
974
|
} if (rf & 2) {
|
|
986
|
-
const
|
|
975
|
+
const ctx_r41 = i0.ɵɵnextContext(2);
|
|
987
976
|
i0.ɵɵadvance(2);
|
|
988
977
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension"), " ");
|
|
989
978
|
i0.ɵɵadvance(3);
|
|
990
979
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, "induction.add.employment.fed.pension.disclaimer"), " ");
|
|
991
980
|
i0.ɵɵadvance(3);
|
|
992
|
-
i0.ɵɵproperty("options",
|
|
981
|
+
i0.ɵɵproperty("options", ctx_r41.radioOptions)("formControl", ctx_r41.fedPensionFlag);
|
|
993
982
|
i0.ɵɵadvance(1);
|
|
994
983
|
i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(10, 14, "induction.add.employment.fed.pension.info"));
|
|
995
984
|
i0.ɵɵadvance(2);
|
|
996
985
|
i0.ɵɵclassMap("app-grid");
|
|
997
|
-
i0.ɵɵproperty("form",
|
|
986
|
+
i0.ɵɵproperty("form", ctx_r41.isFormSubmitted)("field", ctx_r41.fedPensionFlag)("errDef", i0.ɵɵpureFunction0(16, _c3));
|
|
998
987
|
} }
|
|
999
|
-
function
|
|
1000
|
-
const
|
|
1001
|
-
i0.ɵɵelementStart(0, "div",
|
|
988
|
+
function AddEmployerComponent_ion_grid_6_div_47_Template(rf, ctx) { if (rf & 1) {
|
|
989
|
+
const _r109 = i0.ɵɵgetCurrentView();
|
|
990
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 122);
|
|
1002
991
|
i0.ɵɵtext(2);
|
|
1003
992
|
i0.ɵɵpipe(3, "translate");
|
|
1004
993
|
i0.ɵɵelementEnd();
|
|
1005
|
-
i0.ɵɵelementStart(4, "div")(5, "p-calendar",
|
|
1006
|
-
i0.ɵɵlistener("onInput", function
|
|
994
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 123);
|
|
995
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_47_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r108 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r108.dateInput($event)); });
|
|
1007
996
|
i0.ɵɵelementEnd();
|
|
1008
|
-
i0.ɵɵelement(6, "app-error",
|
|
997
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
1009
998
|
i0.ɵɵelementEnd()();
|
|
1010
999
|
} if (rf & 2) {
|
|
1011
|
-
const
|
|
1000
|
+
const ctx_r42 = i0.ɵɵnextContext(2);
|
|
1012
1001
|
i0.ɵɵadvance(2);
|
|
1013
1002
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension.date"));
|
|
1014
1003
|
i0.ɵɵadvance(3);
|
|
1015
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
1004
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.fedPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
1016
1005
|
i0.ɵɵadvance(1);
|
|
1017
1006
|
i0.ɵɵclassMap("app-grid");
|
|
1018
|
-
i0.ɵɵproperty("form",
|
|
1007
|
+
i0.ɵɵproperty("form", ctx_r42.isFormSubmitted)("field", ctx_r42.fedPensionRecvDate)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
1019
1008
|
} }
|
|
1020
|
-
function
|
|
1021
|
-
i0.ɵɵelementStart(0, "div",
|
|
1009
|
+
function AddEmployerComponent_ion_grid_6_div_48_Template(rf, ctx) { if (rf & 1) {
|
|
1010
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 124);
|
|
1022
1011
|
i0.ɵɵtext(2);
|
|
1023
1012
|
i0.ɵɵpipe(3, "translate");
|
|
1024
1013
|
i0.ɵɵelementEnd();
|
|
1025
|
-
i0.ɵɵelementStart(4, "div",
|
|
1026
|
-
i0.ɵɵelement(5, "p-selectButton",
|
|
1014
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
1015
|
+
i0.ɵɵelement(5, "p-selectButton", 125)(6, "app-error", 9);
|
|
1027
1016
|
i0.ɵɵelementEnd()();
|
|
1028
1017
|
} if (rf & 2) {
|
|
1029
|
-
const
|
|
1018
|
+
const ctx_r43 = i0.ɵɵnextContext(2);
|
|
1030
1019
|
i0.ɵɵadvance(2);
|
|
1031
1020
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.severance"));
|
|
1032
1021
|
i0.ɵɵadvance(3);
|
|
1033
|
-
i0.ɵɵproperty("options",
|
|
1022
|
+
i0.ɵɵproperty("options", ctx_r43.radioOptions)("formControl", ctx_r43.sevPayFlag);
|
|
1034
1023
|
i0.ɵɵadvance(1);
|
|
1035
1024
|
i0.ɵɵclassMap("app-grid");
|
|
1036
|
-
i0.ɵɵproperty("form",
|
|
1025
|
+
i0.ɵɵproperty("form", ctx_r43.isFormSubmitted)("field", ctx_r43.sevPayFlag)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1037
1026
|
} }
|
|
1038
|
-
function
|
|
1039
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
1027
|
+
function AddEmployerComponent_ion_grid_6_ion_row_49_Template(rf, ctx) { if (rf & 1) {
|
|
1028
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 126)(2, "div", 14)(3, "label", 127);
|
|
1040
1029
|
i0.ɵɵtext(4);
|
|
1041
1030
|
i0.ɵɵpipe(5, "translate");
|
|
1042
1031
|
i0.ɵɵelementEnd();
|
|
1043
|
-
i0.ɵɵelement(6, "p-inputNumber",
|
|
1032
|
+
i0.ɵɵelement(6, "p-inputNumber", 128)(7, "app-error", 9);
|
|
1044
1033
|
i0.ɵɵelementEnd()();
|
|
1045
|
-
i0.ɵɵelementStart(8, "ion-col",
|
|
1034
|
+
i0.ɵɵelementStart(8, "ion-col", 126)(9, "div", 14)(10, "label", 129);
|
|
1046
1035
|
i0.ɵɵtext(11);
|
|
1047
1036
|
i0.ɵɵpipe(12, "translate");
|
|
1048
1037
|
i0.ɵɵelementEnd();
|
|
1049
|
-
i0.ɵɵelement(13, "p-inputNumber",
|
|
1038
|
+
i0.ɵɵelement(13, "p-inputNumber", 130)(14, "app-error", 9);
|
|
1050
1039
|
i0.ɵɵelementEnd()();
|
|
1051
|
-
i0.ɵɵelementStart(15, "ion-col")(16, "div",
|
|
1040
|
+
i0.ɵɵelementStart(15, "ion-col")(16, "div", 14)(17, "label", 131);
|
|
1052
1041
|
i0.ɵɵtext(18);
|
|
1053
1042
|
i0.ɵɵpipe(19, "translate");
|
|
1054
1043
|
i0.ɵɵelementEnd();
|
|
1055
|
-
i0.ɵɵelement(20, "p-inputNumber",
|
|
1044
|
+
i0.ɵɵelement(20, "p-inputNumber", 132)(21, "app-error", 9);
|
|
1056
1045
|
i0.ɵɵelementEnd()()();
|
|
1057
1046
|
} if (rf & 2) {
|
|
1058
|
-
const
|
|
1047
|
+
const ctx_r44 = i0.ɵɵnextContext(2);
|
|
1059
1048
|
i0.ɵɵadvance(4);
|
|
1060
1049
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.add.employment.fed.severance.weekly.amt"));
|
|
1061
1050
|
i0.ɵɵadvance(2);
|
|
1062
|
-
i0.ɵɵproperty("formControl",
|
|
1051
|
+
i0.ɵɵproperty("formControl", ctx_r44.weeklyAmount)("max", 999999.99);
|
|
1063
1052
|
i0.ɵɵadvance(1);
|
|
1064
1053
|
i0.ɵɵclassMap("app-grid");
|
|
1065
|
-
i0.ɵɵproperty("form",
|
|
1054
|
+
i0.ɵɵproperty("form", ctx_r44.isFormSubmitted)("field", ctx_r44.weeklyAmount)("errDef", i0.ɵɵpureFunction0(30, _c3));
|
|
1066
1055
|
i0.ɵɵadvance(4);
|
|
1067
1056
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 26, "induction.add.employment.fed.severance.weeks"));
|
|
1068
1057
|
i0.ɵɵadvance(2);
|
|
1069
|
-
i0.ɵɵproperty("useGrouping", false)("formControl",
|
|
1058
|
+
i0.ɵɵproperty("useGrouping", false)("formControl", ctx_r44.numberOfWeeks);
|
|
1070
1059
|
i0.ɵɵadvance(1);
|
|
1071
1060
|
i0.ɵɵclassMap("app-grid");
|
|
1072
|
-
i0.ɵɵproperty("form",
|
|
1061
|
+
i0.ɵɵproperty("form", ctx_r44.isFormSubmitted)("field", ctx_r44.numberOfWeeks)("errDef", i0.ɵɵpureFunction0(31, _c3));
|
|
1073
1062
|
i0.ɵɵadvance(4);
|
|
1074
1063
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 28, "induction.add.employment.fed.severance.entitlement"));
|
|
1075
1064
|
i0.ɵɵadvance(2);
|
|
1076
|
-
i0.ɵɵproperty("formControl",
|
|
1065
|
+
i0.ɵɵproperty("formControl", ctx_r44.sevPayAmount)("max", 999999.99);
|
|
1077
1066
|
i0.ɵɵadvance(1);
|
|
1078
1067
|
i0.ɵɵclassMap("app-grid");
|
|
1079
|
-
i0.ɵɵproperty("form",
|
|
1068
|
+
i0.ɵɵproperty("form", ctx_r44.isFormSubmitted)("field", ctx_r44.sevPayAmount)("errDef", i0.ɵɵpureFunction0(32, _c3));
|
|
1080
1069
|
} }
|
|
1081
|
-
function
|
|
1082
|
-
const
|
|
1083
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
1070
|
+
function AddEmployerComponent_ion_grid_6_ion_row_50_Template(rf, ctx) { if (rf & 1) {
|
|
1071
|
+
const _r111 = i0.ɵɵgetCurrentView();
|
|
1072
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 126)(2, "div", 14)(3, "label", 133);
|
|
1084
1073
|
i0.ɵɵtext(4);
|
|
1085
1074
|
i0.ɵɵpipe(5, "translate");
|
|
1086
1075
|
i0.ɵɵelementEnd();
|
|
1087
|
-
i0.ɵɵelementStart(6, "p-calendar",
|
|
1088
|
-
i0.ɵɵlistener("onBlur", function
|
|
1076
|
+
i0.ɵɵelementStart(6, "p-calendar", 134);
|
|
1077
|
+
i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r110 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r110.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r112 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r112.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r113 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r113.dateInput($event)); });
|
|
1089
1078
|
i0.ɵɵelementEnd();
|
|
1090
|
-
i0.ɵɵelement(7, "app-error",
|
|
1079
|
+
i0.ɵɵelement(7, "app-error", 9);
|
|
1091
1080
|
i0.ɵɵelementEnd()();
|
|
1092
|
-
i0.ɵɵelementStart(8, "ion-col",
|
|
1081
|
+
i0.ɵɵelementStart(8, "ion-col", 126)(9, "div", 14)(10, "label", 135);
|
|
1093
1082
|
i0.ɵɵtext(11);
|
|
1094
1083
|
i0.ɵɵpipe(12, "translate");
|
|
1095
1084
|
i0.ɵɵelementEnd();
|
|
1096
|
-
i0.ɵɵelementStart(13, "p-calendar",
|
|
1097
|
-
i0.ɵɵlistener("onInput", function
|
|
1085
|
+
i0.ɵɵelementStart(13, "p-calendar", 136);
|
|
1086
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onInput_13_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r114 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r114.dateInput($event)); });
|
|
1098
1087
|
i0.ɵɵelementEnd();
|
|
1099
|
-
i0.ɵɵelement(14, "app-error",
|
|
1088
|
+
i0.ɵɵelement(14, "app-error", 9);
|
|
1100
1089
|
i0.ɵɵelementEnd()();
|
|
1101
|
-
i0.ɵɵelementStart(15, "ion-col")(16, "div",
|
|
1090
|
+
i0.ɵɵelementStart(15, "ion-col")(16, "div", 14)(17, "label", 137);
|
|
1102
1091
|
i0.ɵɵtext(18);
|
|
1103
1092
|
i0.ɵɵpipe(19, "translate");
|
|
1104
1093
|
i0.ɵɵelementEnd();
|
|
1105
|
-
i0.ɵɵelementStart(20, "p-calendar",
|
|
1106
|
-
i0.ɵɵlistener("onInput", function
|
|
1094
|
+
i0.ɵɵelementStart(20, "p-calendar", 138);
|
|
1095
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onInput_20_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r115 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r115.dateInput($event)); });
|
|
1107
1096
|
i0.ɵɵelementEnd();
|
|
1108
|
-
i0.ɵɵelement(21, "app-error",
|
|
1097
|
+
i0.ɵɵelement(21, "app-error", 9);
|
|
1109
1098
|
i0.ɵɵelementEnd()()();
|
|
1110
1099
|
} if (rf & 2) {
|
|
1111
|
-
const
|
|
1100
|
+
const ctx_r45 = i0.ɵɵnextContext(2);
|
|
1112
1101
|
i0.ɵɵadvance(4);
|
|
1113
1102
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 31, "induction.add.employment.fed.severance.start.date"));
|
|
1114
1103
|
i0.ɵɵadvance(2);
|
|
1115
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
1104
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r45.sevPayStartDate)("yearNavigator", true)("showOnFocus", false);
|
|
1116
1105
|
i0.ɵɵadvance(1);
|
|
1117
1106
|
i0.ɵɵclassMap("app-grid");
|
|
1118
|
-
i0.ɵɵproperty("form",
|
|
1107
|
+
i0.ɵɵproperty("form", ctx_r45.isFormSubmitted)("field", ctx_r45.sevPayStartDate)("errDef", i0.ɵɵpureFunction0(37, _c3));
|
|
1119
1108
|
i0.ɵɵadvance(4);
|
|
1120
1109
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 33, "induction.add.employment.fed.severance.end.date"));
|
|
1121
1110
|
i0.ɵɵadvance(2);
|
|
1122
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
1111
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r45.sevPayEndDate)("yearNavigator", true)("minDate", ctx_r45.minDate)("showOnFocus", false);
|
|
1123
1112
|
i0.ɵɵadvance(1);
|
|
1124
1113
|
i0.ɵɵclassMap("app-grid");
|
|
1125
|
-
i0.ɵɵproperty("form",
|
|
1114
|
+
i0.ɵɵproperty("form", ctx_r45.isFormSubmitted)("field", ctx_r45.sevPayEndDate)("errDef", i0.ɵɵpureFunction0(38, _c3));
|
|
1126
1115
|
i0.ɵɵadvance(4);
|
|
1127
1116
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 35, "induction.add.employment.fed.severance.pay.date"));
|
|
1128
1117
|
i0.ɵɵadvance(2);
|
|
1129
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
1118
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r45.sevPayPaymentStartDate)("yearNavigator", true)("showOnFocus", false);
|
|
1130
1119
|
i0.ɵɵadvance(1);
|
|
1131
1120
|
i0.ɵɵclassMap("app-grid");
|
|
1132
|
-
i0.ɵɵproperty("form",
|
|
1121
|
+
i0.ɵɵproperty("form", ctx_r45.isFormSubmitted)("field", ctx_r45.sevPayPaymentStartDate)("errDef", i0.ɵɵpureFunction0(39, _c3));
|
|
1133
1122
|
} }
|
|
1134
|
-
function
|
|
1135
|
-
i0.ɵɵelementStart(0, "div",
|
|
1123
|
+
function AddEmployerComponent_ion_grid_6_div_51_Template(rf, ctx) { if (rf & 1) {
|
|
1124
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 139);
|
|
1136
1125
|
i0.ɵɵtext(2);
|
|
1137
1126
|
i0.ɵɵpipe(3, "translate");
|
|
1138
1127
|
i0.ɵɵelementEnd();
|
|
1139
|
-
i0.ɵɵelementStart(4, "div",
|
|
1140
|
-
i0.ɵɵelement(5, "p-selectButton",
|
|
1128
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
1129
|
+
i0.ɵɵelement(5, "p-selectButton", 140)(6, "app-error", 9);
|
|
1141
1130
|
i0.ɵɵelementEnd()();
|
|
1142
1131
|
} if (rf & 2) {
|
|
1143
|
-
const
|
|
1132
|
+
const ctx_r46 = i0.ɵɵnextContext(2);
|
|
1144
1133
|
i0.ɵɵadvance(2);
|
|
1145
1134
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.pension"));
|
|
1146
1135
|
i0.ɵɵadvance(3);
|
|
1147
|
-
i0.ɵɵproperty("options",
|
|
1136
|
+
i0.ɵɵproperty("options", ctx_r46.radioOptions)("formControl", ctx_r46.pensionFlag);
|
|
1148
1137
|
i0.ɵɵadvance(1);
|
|
1149
1138
|
i0.ɵɵclassMap("app-grid");
|
|
1150
|
-
i0.ɵɵproperty("form",
|
|
1139
|
+
i0.ɵɵproperty("form", ctx_r46.isFormSubmitted)("field", ctx_r46.pensionFlag)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1151
1140
|
} }
|
|
1152
|
-
function
|
|
1153
|
-
const
|
|
1154
|
-
i0.ɵɵelementStart(0, "div",
|
|
1141
|
+
function AddEmployerComponent_ion_grid_6_div_52_Template(rf, ctx) { if (rf & 1) {
|
|
1142
|
+
const _r117 = i0.ɵɵgetCurrentView();
|
|
1143
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 141);
|
|
1155
1144
|
i0.ɵɵtext(2);
|
|
1156
1145
|
i0.ɵɵpipe(3, "translate");
|
|
1157
1146
|
i0.ɵɵelementEnd();
|
|
1158
|
-
i0.ɵɵelementStart(4, "div")(5, "p-calendar",
|
|
1159
|
-
i0.ɵɵlistener("onInput", function
|
|
1147
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 142);
|
|
1148
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_52_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r117); const ctx_r116 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r116.dateInput($event)); });
|
|
1160
1149
|
i0.ɵɵelementEnd();
|
|
1161
|
-
i0.ɵɵelement(6, "app-error",
|
|
1150
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
1162
1151
|
i0.ɵɵelementEnd()();
|
|
1163
1152
|
} if (rf & 2) {
|
|
1164
|
-
const
|
|
1153
|
+
const ctx_r47 = i0.ɵɵnextContext(2);
|
|
1165
1154
|
i0.ɵɵadvance(2);
|
|
1166
1155
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.confirm.employment.pension.date"));
|
|
1167
1156
|
i0.ɵɵadvance(3);
|
|
1168
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
1157
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r47.pensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
1169
1158
|
i0.ɵɵadvance(1);
|
|
1170
1159
|
i0.ɵɵclassMap("app-grid");
|
|
1171
|
-
i0.ɵɵproperty("form",
|
|
1160
|
+
i0.ɵɵproperty("form", ctx_r47.isFormSubmitted)("field", ctx_r47.pensionRecvDate)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
1172
1161
|
} }
|
|
1173
|
-
function
|
|
1174
|
-
i0.ɵɵelementStart(0, "div",
|
|
1162
|
+
function AddEmployerComponent_ion_grid_6_div_53_Template(rf, ctx) { if (rf & 1) {
|
|
1163
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 143);
|
|
1175
1164
|
i0.ɵɵtext(2);
|
|
1176
1165
|
i0.ɵɵpipe(3, "translate");
|
|
1177
1166
|
i0.ɵɵelement(4, "br");
|
|
1178
1167
|
i0.ɵɵtext(5);
|
|
1179
1168
|
i0.ɵɵpipe(6, "translate");
|
|
1180
1169
|
i0.ɵɵelementEnd();
|
|
1181
|
-
i0.ɵɵelementStart(7, "div",
|
|
1182
|
-
i0.ɵɵelement(8, "p-selectButton",
|
|
1170
|
+
i0.ɵɵelementStart(7, "div", 119);
|
|
1171
|
+
i0.ɵɵelement(8, "p-selectButton", 144)(9, "app-overlay-info", 121);
|
|
1183
1172
|
i0.ɵɵpipe(10, "translate");
|
|
1184
1173
|
i0.ɵɵelementEnd();
|
|
1185
|
-
i0.ɵɵelement(11, "app-error",
|
|
1174
|
+
i0.ɵɵelement(11, "app-error", 9);
|
|
1186
1175
|
i0.ɵɵelementEnd();
|
|
1187
1176
|
} if (rf & 2) {
|
|
1188
|
-
const
|
|
1177
|
+
const ctx_r48 = i0.ɵɵnextContext(2);
|
|
1189
1178
|
i0.ɵɵadvance(2);
|
|
1190
1179
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension"), " ");
|
|
1191
1180
|
i0.ɵɵadvance(3);
|
|
1192
1181
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, "induction.add.employment.reg.pension.disclaimer"), "");
|
|
1193
1182
|
i0.ɵɵadvance(3);
|
|
1194
|
-
i0.ɵɵproperty("options",
|
|
1183
|
+
i0.ɵɵproperty("options", ctx_r48.radioOptions)("formControl", ctx_r48.regPensionFlag);
|
|
1195
1184
|
i0.ɵɵadvance(1);
|
|
1196
1185
|
i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(10, 14, "induction.add.employment.reg.pension.info"));
|
|
1197
1186
|
i0.ɵɵadvance(2);
|
|
1198
1187
|
i0.ɵɵclassMap("app-grid");
|
|
1199
|
-
i0.ɵɵproperty("form",
|
|
1188
|
+
i0.ɵɵproperty("form", ctx_r48.isFormSubmitted)("field", ctx_r48.regPensionFlag)("errDef", i0.ɵɵpureFunction0(16, _c3));
|
|
1200
1189
|
} }
|
|
1201
|
-
function
|
|
1202
|
-
const
|
|
1203
|
-
i0.ɵɵelementStart(0, "div",
|
|
1190
|
+
function AddEmployerComponent_ion_grid_6_div_54_Template(rf, ctx) { if (rf & 1) {
|
|
1191
|
+
const _r119 = i0.ɵɵgetCurrentView();
|
|
1192
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 145);
|
|
1204
1193
|
i0.ɵɵtext(2);
|
|
1205
1194
|
i0.ɵɵpipe(3, "translate");
|
|
1206
1195
|
i0.ɵɵelementEnd();
|
|
1207
|
-
i0.ɵɵelementStart(4, "div")(5, "p-calendar",
|
|
1208
|
-
i0.ɵɵlistener("onInput", function
|
|
1196
|
+
i0.ɵɵelementStart(4, "div")(5, "p-calendar", 146);
|
|
1197
|
+
i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_54_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r119); const ctx_r118 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r118.dateInput($event)); });
|
|
1209
1198
|
i0.ɵɵelementEnd();
|
|
1210
|
-
i0.ɵɵelement(6, "app-error",
|
|
1199
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
1211
1200
|
i0.ɵɵelementEnd()();
|
|
1212
1201
|
} if (rf & 2) {
|
|
1213
|
-
const
|
|
1202
|
+
const ctx_r49 = i0.ɵɵnextContext(2);
|
|
1214
1203
|
i0.ɵɵadvance(2);
|
|
1215
1204
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension.date"));
|
|
1216
1205
|
i0.ɵɵadvance(3);
|
|
1217
|
-
i0.ɵɵproperty("showIcon", true)("formControl",
|
|
1206
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r49.regPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
|
|
1218
1207
|
i0.ɵɵadvance(1);
|
|
1219
1208
|
i0.ɵɵclassMap("app-grid");
|
|
1220
|
-
i0.ɵɵproperty("form",
|
|
1209
|
+
i0.ɵɵproperty("form", ctx_r49.isFormSubmitted)("field", ctx_r49.regPensionRecvDate)("errDef", i0.ɵɵpureFunction0(12, _c3));
|
|
1221
1210
|
} }
|
|
1222
|
-
function
|
|
1223
|
-
i0.ɵɵelementStart(0, "div",
|
|
1211
|
+
function AddEmployerComponent_ion_grid_6_div_55_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
1212
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 153);
|
|
1224
1213
|
i0.ɵɵtext(2);
|
|
1225
1214
|
i0.ɵɵpipe(3, "translate");
|
|
1226
1215
|
i0.ɵɵelementEnd();
|
|
1227
|
-
i0.ɵɵelement(4, "p-inputMask",
|
|
1216
|
+
i0.ɵɵelement(4, "p-inputMask", 154)(5, "app-error", 9);
|
|
1228
1217
|
i0.ɵɵelementEnd();
|
|
1229
1218
|
} if (rf & 2) {
|
|
1230
|
-
const
|
|
1219
|
+
const ctx_r120 = i0.ɵɵnextContext(3);
|
|
1231
1220
|
i0.ɵɵadvance(2);
|
|
1232
1221
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.reg.verification.wages.other.ssn"));
|
|
1233
1222
|
i0.ɵɵadvance(2);
|
|
1234
|
-
i0.ɵɵproperty("formControl",
|
|
1223
|
+
i0.ɵɵproperty("formControl", ctx_r120.otherSSN);
|
|
1235
1224
|
i0.ɵɵadvance(1);
|
|
1236
1225
|
i0.ɵɵclassMap("app-grid");
|
|
1237
|
-
i0.ɵɵproperty("form",
|
|
1226
|
+
i0.ɵɵproperty("form", ctx_r120.isFormSubmitted)("field", ctx_r120.otherSSN)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
1238
1227
|
} }
|
|
1239
|
-
function
|
|
1240
|
-
i0.ɵɵelementStart(0, "div")(1, "div",
|
|
1228
|
+
function AddEmployerComponent_ion_grid_6_div_55_Template(rf, ctx) { if (rf & 1) {
|
|
1229
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 14)(2, "h4");
|
|
1241
1230
|
i0.ɵɵtext(3);
|
|
1242
1231
|
i0.ɵɵpipe(4, "translate");
|
|
1243
1232
|
i0.ɵɵelementEnd()();
|
|
1244
|
-
i0.ɵɵelementStart(5, "div",
|
|
1233
|
+
i0.ɵɵelementStart(5, "div", 14)(6, "label");
|
|
1245
1234
|
i0.ɵɵtext(7);
|
|
1246
1235
|
i0.ɵɵpipe(8, "translate");
|
|
1247
1236
|
i0.ɵɵelementEnd()();
|
|
1248
|
-
i0.ɵɵelementStart(9, "div",
|
|
1237
|
+
i0.ɵɵelementStart(9, "div", 14)(10, "label", 147);
|
|
1249
1238
|
i0.ɵɵtext(11);
|
|
1250
1239
|
i0.ɵɵpipe(12, "translate");
|
|
1251
1240
|
i0.ɵɵelementEnd();
|
|
1252
|
-
i0.ɵɵelement(13, "p-selectButton",
|
|
1241
|
+
i0.ɵɵelement(13, "p-selectButton", 148)(14, "app-error", 9);
|
|
1253
1242
|
i0.ɵɵelementEnd();
|
|
1254
|
-
i0.ɵɵelementStart(15, "div",
|
|
1243
|
+
i0.ɵɵelementStart(15, "div", 14)(16, "label", 149);
|
|
1255
1244
|
i0.ɵɵtext(17);
|
|
1256
1245
|
i0.ɵɵpipe(18, "translate");
|
|
1257
1246
|
i0.ɵɵelementEnd();
|
|
1258
|
-
i0.ɵɵelement(19, "p-selectButton",
|
|
1247
|
+
i0.ɵɵelement(19, "p-selectButton", 150)(20, "app-error", 9);
|
|
1259
1248
|
i0.ɵɵelementEnd();
|
|
1260
|
-
i0.ɵɵelementStart(21, "div",
|
|
1249
|
+
i0.ɵɵelementStart(21, "div", 14)(22, "label", 151);
|
|
1261
1250
|
i0.ɵɵtext(23);
|
|
1262
1251
|
i0.ɵɵpipe(24, "translate");
|
|
1263
1252
|
i0.ɵɵelementEnd();
|
|
1264
|
-
i0.ɵɵelementStart(25, "div",
|
|
1265
|
-
i0.ɵɵelement(26, "p-selectButton",
|
|
1253
|
+
i0.ɵɵelementStart(25, "div", 23);
|
|
1254
|
+
i0.ɵɵelement(26, "p-selectButton", 152)(27, "app-error", 9);
|
|
1266
1255
|
i0.ɵɵelementEnd()();
|
|
1267
|
-
i0.ɵɵtemplate(28,
|
|
1256
|
+
i0.ɵɵtemplate(28, AddEmployerComponent_ion_grid_6_div_55_div_28_Template, 6, 10, "div", 7);
|
|
1268
1257
|
i0.ɵɵelementEnd();
|
|
1269
1258
|
} if (rf & 2) {
|
|
1270
|
-
const
|
|
1259
|
+
const ctx_r50 = i0.ɵɵnextContext(2);
|
|
1271
1260
|
i0.ɵɵadvance(3);
|
|
1272
1261
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "induction.add.employment.reg.verification.wages.header"));
|
|
1273
1262
|
i0.ɵɵadvance(4);
|
|
@@ -1275,85 +1264,85 @@ function AddEmployerComponent_ion_grid_5_div_55_Template(rf, ctx) { if (rf & 1)
|
|
|
1275
1264
|
i0.ɵɵadvance(4);
|
|
1276
1265
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 31, "induction.add.employment.reg.verification.wages.paymode"));
|
|
1277
1266
|
i0.ɵɵadvance(2);
|
|
1278
|
-
i0.ɵɵproperty("options",
|
|
1267
|
+
i0.ɵɵproperty("options", ctx_r50.payMethodOptions)("formControl", ctx_r50.paymentType);
|
|
1279
1268
|
i0.ɵɵadvance(1);
|
|
1280
1269
|
i0.ɵɵclassMap("app-grid");
|
|
1281
|
-
i0.ɵɵproperty("form",
|
|
1270
|
+
i0.ɵɵproperty("form", ctx_r50.isFormSubmitted)("field", ctx_r50.paymentType)("errDef", i0.ɵɵpureFunction0(37, _c3));
|
|
1282
1271
|
i0.ɵɵadvance(3);
|
|
1283
1272
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 33, "induction.add.employment.reg.verification.wages.docs"));
|
|
1284
1273
|
i0.ɵɵadvance(2);
|
|
1285
|
-
i0.ɵɵproperty("options",
|
|
1274
|
+
i0.ɵɵproperty("options", ctx_r50.wageProofOptions)("formControl", ctx_r50.docsReceived);
|
|
1286
1275
|
i0.ɵɵadvance(1);
|
|
1287
1276
|
i0.ɵɵclassMap("app-grid");
|
|
1288
|
-
i0.ɵɵproperty("form",
|
|
1277
|
+
i0.ɵɵproperty("form", ctx_r50.isFormSubmitted)("field", ctx_r50.docsReceived)("errDef", i0.ɵɵpureFunction0(38, _c3));
|
|
1289
1278
|
i0.ɵɵadvance(3);
|
|
1290
1279
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(24, 35, "induction.add.employment.reg.verification.wages.other.ssn.flag"), " ");
|
|
1291
1280
|
i0.ɵɵadvance(3);
|
|
1292
|
-
i0.ɵɵproperty("options",
|
|
1281
|
+
i0.ɵɵproperty("options", ctx_r50.radioOptions)("formControl", ctx_r50.otherSSNFlag);
|
|
1293
1282
|
i0.ɵɵadvance(1);
|
|
1294
1283
|
i0.ɵɵclassMap("app-grid");
|
|
1295
|
-
i0.ɵɵproperty("form",
|
|
1284
|
+
i0.ɵɵproperty("form", ctx_r50.isFormSubmitted)("field", ctx_r50.otherSSNFlag)("errDef", i0.ɵɵpureFunction0(39, _c3));
|
|
1296
1285
|
i0.ɵɵadvance(1);
|
|
1297
|
-
i0.ɵɵproperty("ngIf",
|
|
1286
|
+
i0.ɵɵproperty("ngIf", ctx_r50.otherSSNFlag.value === "Y");
|
|
1298
1287
|
} }
|
|
1299
|
-
function
|
|
1300
|
-
i0.ɵɵelementStart(0, "div",
|
|
1288
|
+
function AddEmployerComponent_ion_grid_6_ion_row_56_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
1289
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 157);
|
|
1301
1290
|
i0.ɵɵtext(2);
|
|
1302
1291
|
i0.ɵɵpipe(3, "translate");
|
|
1303
1292
|
i0.ɵɵelementEnd();
|
|
1304
|
-
i0.ɵɵelement(4, "input",
|
|
1293
|
+
i0.ɵɵelement(4, "input", 158)(5, "app-error", 9);
|
|
1305
1294
|
i0.ɵɵelementEnd();
|
|
1306
1295
|
} if (rf & 2) {
|
|
1307
|
-
const
|
|
1296
|
+
const ctx_r121 = i0.ɵɵnextContext(3);
|
|
1308
1297
|
i0.ɵɵadvance(2);
|
|
1309
1298
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.reg.verification.wages.other.name"));
|
|
1310
1299
|
i0.ɵɵadvance(2);
|
|
1311
|
-
i0.ɵɵproperty("formControl",
|
|
1300
|
+
i0.ɵɵproperty("formControl", ctx_r121.otherName);
|
|
1312
1301
|
i0.ɵɵadvance(1);
|
|
1313
1302
|
i0.ɵɵclassMap("app-grid");
|
|
1314
|
-
i0.ɵɵproperty("form",
|
|
1303
|
+
i0.ɵɵproperty("form", ctx_r121.isFormSubmitted)("field", ctx_r121.otherName)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
1315
1304
|
} }
|
|
1316
|
-
function
|
|
1317
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
1305
|
+
function AddEmployerComponent_ion_grid_6_ion_row_56_Template(rf, ctx) { if (rf & 1) {
|
|
1306
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 155);
|
|
1318
1307
|
i0.ɵɵtext(4);
|
|
1319
1308
|
i0.ɵɵpipe(5, "translate");
|
|
1320
1309
|
i0.ɵɵelementEnd();
|
|
1321
|
-
i0.ɵɵelementStart(6, "div",
|
|
1322
|
-
i0.ɵɵelement(7, "p-selectButton",
|
|
1310
|
+
i0.ɵɵelementStart(6, "div", 23);
|
|
1311
|
+
i0.ɵɵelement(7, "p-selectButton", 156)(8, "app-error", 9);
|
|
1323
1312
|
i0.ɵɵelementEnd()();
|
|
1324
|
-
i0.ɵɵtemplate(9,
|
|
1313
|
+
i0.ɵɵtemplate(9, AddEmployerComponent_ion_grid_6_ion_row_56_div_9_Template, 6, 10, "div", 7);
|
|
1325
1314
|
i0.ɵɵelementEnd()();
|
|
1326
1315
|
} if (rf & 2) {
|
|
1327
|
-
const
|
|
1316
|
+
const ctx_r51 = i0.ɵɵnextContext(2);
|
|
1328
1317
|
i0.ɵɵadvance(4);
|
|
1329
1318
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 9, "induction.add.employment.reg.verification.wages.other.name.flag"));
|
|
1330
1319
|
i0.ɵɵadvance(3);
|
|
1331
|
-
i0.ɵɵproperty("options",
|
|
1320
|
+
i0.ɵɵproperty("options", ctx_r51.radioOptions)("formControl", ctx_r51.otherNameFlag);
|
|
1332
1321
|
i0.ɵɵadvance(1);
|
|
1333
1322
|
i0.ɵɵclassMap("app-grid");
|
|
1334
|
-
i0.ɵɵproperty("form",
|
|
1323
|
+
i0.ɵɵproperty("form", ctx_r51.isFormSubmitted)("field", ctx_r51.otherNameFlag)("errDef", i0.ɵɵpureFunction0(11, _c3));
|
|
1335
1324
|
i0.ɵɵadvance(1);
|
|
1336
|
-
i0.ɵɵproperty("ngIf",
|
|
1325
|
+
i0.ɵɵproperty("ngIf", ctx_r51.otherNameFlag.value === "Y");
|
|
1337
1326
|
} }
|
|
1338
|
-
function
|
|
1339
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
1327
|
+
function AddEmployerComponent_ion_grid_6_ion_row_57_Template(rf, ctx) { if (rf & 1) {
|
|
1328
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 159);
|
|
1340
1329
|
i0.ɵɵtext(4);
|
|
1341
1330
|
i0.ɵɵpipe(5, "translate");
|
|
1342
1331
|
i0.ɵɵelementEnd();
|
|
1343
|
-
i0.ɵɵelement(6, "input",
|
|
1332
|
+
i0.ɵɵelement(6, "input", 160)(7, "app-error", 9);
|
|
1344
1333
|
i0.ɵɵelementEnd()()();
|
|
1345
1334
|
} if (rf & 2) {
|
|
1346
|
-
const
|
|
1335
|
+
const ctx_r52 = i0.ɵɵnextContext(2);
|
|
1347
1336
|
i0.ɵɵadvance(4);
|
|
1348
1337
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.verification.nature"));
|
|
1349
1338
|
i0.ɵɵadvance(2);
|
|
1350
|
-
i0.ɵɵproperty("formControl",
|
|
1339
|
+
i0.ɵɵproperty("formControl", ctx_r52.businessNature);
|
|
1351
1340
|
i0.ɵɵadvance(1);
|
|
1352
1341
|
i0.ɵɵclassMap("app-grid");
|
|
1353
|
-
i0.ɵɵproperty("form",
|
|
1342
|
+
i0.ɵɵproperty("form", ctx_r52.isFormSubmitted)("field", ctx_r52.businessNature)("errDef", i0.ɵɵpureFunction0(9, _c3));
|
|
1354
1343
|
} }
|
|
1355
|
-
function
|
|
1356
|
-
i0.ɵɵelementStart(0, "div",
|
|
1344
|
+
function AddEmployerComponent_ion_grid_6_div_58_Template(rf, ctx) { if (rf & 1) {
|
|
1345
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label");
|
|
1357
1346
|
i0.ɵɵtext(2);
|
|
1358
1347
|
i0.ɵɵpipe(3, "translate");
|
|
1359
1348
|
i0.ɵɵelementEnd()();
|
|
@@ -1361,53 +1350,53 @@ function AddEmployerComponent_ion_grid_5_div_58_Template(rf, ctx) { if (rf & 1)
|
|
|
1361
1350
|
i0.ɵɵadvance(2);
|
|
1362
1351
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.fed.verification.wages.statement"));
|
|
1363
1352
|
} }
|
|
1364
|
-
function
|
|
1365
|
-
i0.ɵɵelementStart(0, "tr")(1, "td")(2, "label",
|
|
1353
|
+
function AddEmployerComponent_ion_grid_6_div_59_ng_container_13_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
1354
|
+
i0.ɵɵelementStart(0, "tr")(1, "td")(2, "label", 166);
|
|
1366
1355
|
i0.ɵɵtext(3);
|
|
1367
1356
|
i0.ɵɵelementEnd()();
|
|
1368
1357
|
i0.ɵɵelementStart(4, "td");
|
|
1369
|
-
i0.ɵɵelement(5, "p-inputNumber",
|
|
1358
|
+
i0.ɵɵelement(5, "p-inputNumber", 167);
|
|
1370
1359
|
i0.ɵɵelementEnd()();
|
|
1371
1360
|
} if (rf & 2) {
|
|
1372
|
-
const
|
|
1373
|
-
const
|
|
1374
|
-
const
|
|
1361
|
+
const ctx_r127 = i0.ɵɵnextContext();
|
|
1362
|
+
const i_r125 = ctx_r127.index;
|
|
1363
|
+
const wageAmountForm_r124 = ctx_r127.$implicit;
|
|
1375
1364
|
i0.ɵɵadvance(2);
|
|
1376
|
-
i0.ɵɵproperty("for", "wageAmountArray-" +
|
|
1365
|
+
i0.ɵɵproperty("for", "wageAmountArray-" + i_r125);
|
|
1377
1366
|
i0.ɵɵadvance(1);
|
|
1378
|
-
i0.ɵɵtextInterpolate(
|
|
1367
|
+
i0.ɵɵtextInterpolate(wageAmountForm_r124.value.qtrYearDisplayString);
|
|
1379
1368
|
i0.ɵɵadvance(2);
|
|
1380
|
-
i0.ɵɵproperty("inputId", "wageAmountArray-" +
|
|
1369
|
+
i0.ɵɵproperty("inputId", "wageAmountArray-" + i_r125)("min", 0)("max", 999999.99);
|
|
1381
1370
|
} }
|
|
1382
|
-
function
|
|
1383
|
-
i0.ɵɵelementContainerStart(0,
|
|
1384
|
-
i0.ɵɵtemplate(1,
|
|
1371
|
+
function AddEmployerComponent_ion_grid_6_div_59_ng_container_13_Template(rf, ctx) { if (rf & 1) {
|
|
1372
|
+
i0.ɵɵelementContainerStart(0, 165);
|
|
1373
|
+
i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_div_59_ng_container_13_tr_1_Template, 6, 5, "tr", 4);
|
|
1385
1374
|
i0.ɵɵelementContainerEnd();
|
|
1386
1375
|
} if (rf & 2) {
|
|
1387
|
-
const
|
|
1388
|
-
const
|
|
1389
|
-
const
|
|
1390
|
-
i0.ɵɵproperty("formGroupName",
|
|
1376
|
+
const wageAmountForm_r124 = ctx.$implicit;
|
|
1377
|
+
const i_r125 = ctx.index;
|
|
1378
|
+
const ctx_r122 = i0.ɵɵnextContext(3);
|
|
1379
|
+
i0.ɵɵproperty("formGroupName", i_r125);
|
|
1391
1380
|
i0.ɵɵadvance(1);
|
|
1392
|
-
i0.ɵɵproperty("ngIf",
|
|
1381
|
+
i0.ɵɵproperty("ngIf", ctx_r122.employerType.value === "FED" || ctx_r122.employerType.value === "REG" && wageAmountForm_r124.value.displayForAll === true);
|
|
1393
1382
|
} }
|
|
1394
|
-
const
|
|
1395
|
-
function
|
|
1396
|
-
i0.ɵɵelementStart(0, "tr")(1, "td",
|
|
1397
|
-
i0.ɵɵelement(2, "app-error",
|
|
1383
|
+
const _c6 = () => ({ requireCheckboxToBeChecked: "at least one amount must be greater than zero" });
|
|
1384
|
+
function AddEmployerComponent_ion_grid_6_div_59_tr_14_Template(rf, ctx) { if (rf & 1) {
|
|
1385
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 168);
|
|
1386
|
+
i0.ɵɵelement(2, "app-error", 169);
|
|
1398
1387
|
i0.ɵɵelementEnd()();
|
|
1399
1388
|
} if (rf & 2) {
|
|
1400
|
-
const
|
|
1389
|
+
const ctx_r123 = i0.ɵɵnextContext(3);
|
|
1401
1390
|
i0.ɵɵadvance(2);
|
|
1402
1391
|
i0.ɵɵclassMap("app-grid");
|
|
1403
|
-
i0.ɵɵproperty("field",
|
|
1392
|
+
i0.ɵɵproperty("field", ctx_r123.wageAmountArray)("form", ctx_r123.isFormSubmitted)("errDef", i0.ɵɵpureFunction0(5, _c6));
|
|
1404
1393
|
} }
|
|
1405
|
-
function
|
|
1406
|
-
i0.ɵɵelementStart(0, "div",
|
|
1394
|
+
function AddEmployerComponent_ion_grid_6_div_59_Template(rf, ctx) { if (rf & 1) {
|
|
1395
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label");
|
|
1407
1396
|
i0.ɵɵtext(2);
|
|
1408
1397
|
i0.ɵɵpipe(3, "translate");
|
|
1409
1398
|
i0.ɵɵelementEnd();
|
|
1410
|
-
i0.ɵɵelementStart(4, "table",
|
|
1399
|
+
i0.ɵɵelementStart(4, "table", 161)(5, "tr")(6, "th", 162);
|
|
1411
1400
|
i0.ɵɵtext(7);
|
|
1412
1401
|
i0.ɵɵpipe(8, "translate");
|
|
1413
1402
|
i0.ɵɵelementEnd();
|
|
@@ -1415,12 +1404,12 @@ function AddEmployerComponent_ion_grid_5_div_59_Template(rf, ctx) { if (rf & 1)
|
|
|
1415
1404
|
i0.ɵɵtext(10);
|
|
1416
1405
|
i0.ɵɵpipe(11, "translate");
|
|
1417
1406
|
i0.ɵɵelementEnd()();
|
|
1418
|
-
i0.ɵɵelementContainerStart(12,
|
|
1419
|
-
i0.ɵɵtemplate(13,
|
|
1407
|
+
i0.ɵɵelementContainerStart(12, 163);
|
|
1408
|
+
i0.ɵɵtemplate(13, AddEmployerComponent_ion_grid_6_div_59_ng_container_13_Template, 2, 2, "ng-container", 164)(14, AddEmployerComponent_ion_grid_6_div_59_tr_14_Template, 3, 6, "tr", 4);
|
|
1420
1409
|
i0.ɵɵelementContainerEnd();
|
|
1421
1410
|
i0.ɵɵelementEnd()();
|
|
1422
1411
|
} if (rf & 2) {
|
|
1423
|
-
const
|
|
1412
|
+
const ctx_r54 = i0.ɵɵnextContext(2);
|
|
1424
1413
|
i0.ɵɵadvance(2);
|
|
1425
1414
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, "induction.add.employment.reg.verification.wages"));
|
|
1426
1415
|
i0.ɵɵadvance(5);
|
|
@@ -1428,34 +1417,34 @@ function AddEmployerComponent_ion_grid_5_div_59_Template(rf, ctx) { if (rf & 1)
|
|
|
1428
1417
|
i0.ɵɵadvance(3);
|
|
1429
1418
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 9, "induction.add.employment.reg.verification.wages.col2"));
|
|
1430
1419
|
i0.ɵɵadvance(3);
|
|
1431
|
-
i0.ɵɵproperty("ngForOf",
|
|
1420
|
+
i0.ɵɵproperty("ngForOf", ctx_r54.wageAmountArray.controls);
|
|
1432
1421
|
i0.ɵɵadvance(1);
|
|
1433
|
-
i0.ɵɵproperty("ngIf",
|
|
1422
|
+
i0.ɵɵproperty("ngIf", ctx_r54.wageAmountArray.errors == null ? null : ctx_r54.wageAmountArray.errors.requireCheckboxToBeChecked);
|
|
1434
1423
|
} }
|
|
1435
|
-
function
|
|
1436
|
-
i0.ɵɵelementStart(0, "div",
|
|
1424
|
+
function AddEmployerComponent_ion_grid_6_div_60_Template(rf, ctx) { if (rf & 1) {
|
|
1425
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "label", 170);
|
|
1437
1426
|
i0.ɵɵtext(2);
|
|
1438
1427
|
i0.ɵɵpipe(3, "translate");
|
|
1439
1428
|
i0.ɵɵelementEnd();
|
|
1440
1429
|
i0.ɵɵelementStart(4, "div");
|
|
1441
|
-
i0.ɵɵelement(5, "p-selectButton",
|
|
1430
|
+
i0.ɵɵelement(5, "p-selectButton", 171);
|
|
1442
1431
|
i0.ɵɵelementEnd();
|
|
1443
|
-
i0.ɵɵelement(6, "app-error",
|
|
1432
|
+
i0.ɵɵelement(6, "app-error", 9);
|
|
1444
1433
|
i0.ɵɵelementEnd();
|
|
1445
1434
|
} if (rf & 2) {
|
|
1446
|
-
const
|
|
1435
|
+
const ctx_r55 = i0.ɵɵnextContext(2);
|
|
1447
1436
|
i0.ɵɵadvance(2);
|
|
1448
1437
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.reg.severance"));
|
|
1449
1438
|
i0.ɵɵadvance(3);
|
|
1450
|
-
i0.ɵɵproperty("options",
|
|
1439
|
+
i0.ɵɵproperty("options", ctx_r55.radioOptions)("formControl", ctx_r55.severance);
|
|
1451
1440
|
i0.ɵɵadvance(1);
|
|
1452
1441
|
i0.ɵɵclassMap("app-grid");
|
|
1453
|
-
i0.ɵɵproperty("form",
|
|
1442
|
+
i0.ɵɵproperty("form", ctx_r55.isFormSubmitted)("field", ctx_r55.severance)("errDef", i0.ɵɵpureFunction0(10, _c3));
|
|
1454
1443
|
} }
|
|
1455
|
-
function
|
|
1456
|
-
const
|
|
1457
|
-
i0.ɵɵelementStart(0, "ion-button",
|
|
1458
|
-
i0.ɵɵlistener("click", function
|
|
1444
|
+
function AddEmployerComponent_ion_grid_6_ion_button_66_Template(rf, ctx) { if (rf & 1) {
|
|
1445
|
+
const _r129 = i0.ɵɵgetCurrentView();
|
|
1446
|
+
i0.ɵɵelementStart(0, "ion-button", 172);
|
|
1447
|
+
i0.ɵɵlistener("click", function AddEmployerComponent_ion_grid_6_ion_button_66_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r129); const ctx_r128 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r128.save()); })("keyup.space", function AddEmployerComponent_ion_grid_6_ion_button_66_Template_ion_button_keyup_space_0_listener() { i0.ɵɵrestoreView(_r129); const ctx_r130 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r130.save()); })("keyup.enter", function AddEmployerComponent_ion_grid_6_ion_button_66_Template_ion_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r129); const ctx_r131 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r131.save()); });
|
|
1459
1448
|
i0.ɵɵtext(1);
|
|
1460
1449
|
i0.ɵɵpipe(2, "translate");
|
|
1461
1450
|
i0.ɵɵelementEnd();
|
|
@@ -1463,10 +1452,10 @@ function AddEmployerComponent_ion_grid_5_ion_button_66_Template(rf, ctx) { if (r
|
|
|
1463
1452
|
i0.ɵɵadvance(1);
|
|
1464
1453
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.button.save"), " ");
|
|
1465
1454
|
} }
|
|
1466
|
-
function
|
|
1467
|
-
const
|
|
1468
|
-
i0.ɵɵelementStart(0, "ion-button",
|
|
1469
|
-
i0.ɵɵlistener("click", function
|
|
1455
|
+
function AddEmployerComponent_ion_grid_6_ion_button_67_Template(rf, ctx) { if (rf & 1) {
|
|
1456
|
+
const _r133 = i0.ɵɵgetCurrentView();
|
|
1457
|
+
i0.ɵɵelementStart(0, "ion-button", 172);
|
|
1458
|
+
i0.ɵɵlistener("click", function AddEmployerComponent_ion_grid_6_ion_button_67_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r132 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r132.add()); })("keyup.space", function AddEmployerComponent_ion_grid_6_ion_button_67_Template_ion_button_keyup_space_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r134 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r134.add()); })("keyup.enter", function AddEmployerComponent_ion_grid_6_ion_button_67_Template_ion_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r135 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r135.add()); });
|
|
1470
1459
|
i0.ɵɵpipe(1, "translate");
|
|
1471
1460
|
i0.ɵɵtext(2);
|
|
1472
1461
|
i0.ɵɵpipe(3, "translate");
|
|
@@ -1476,150 +1465,150 @@ function AddEmployerComponent_ion_grid_5_ion_button_67_Template(rf, ctx) { if (r
|
|
|
1476
1465
|
i0.ɵɵadvance(2);
|
|
1477
1466
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "induction.employment.button.add"), " ");
|
|
1478
1467
|
} }
|
|
1479
|
-
function
|
|
1480
|
-
const
|
|
1481
|
-
i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col",
|
|
1482
|
-
i0.ɵɵtemplate(4,
|
|
1483
|
-
i0.ɵɵelement(34, "app-error",
|
|
1468
|
+
function AddEmployerComponent_ion_grid_6_Template(rf, ctx) { if (rf & 1) {
|
|
1469
|
+
const _r137 = i0.ɵɵgetCurrentView();
|
|
1470
|
+
i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 5)(3, "div", 6);
|
|
1471
|
+
i0.ɵɵtemplate(4, AddEmployerComponent_ion_grid_6_div_4_Template, 8, 5, "div", 7)(5, AddEmployerComponent_ion_grid_6_div_5_Template, 8, 6, "div", 7)(6, AddEmployerComponent_ion_grid_6_div_6_Template, 7, 13, "div", 7)(7, AddEmployerComponent_ion_grid_6_div_7_Template, 7, 13, "div", 7)(8, AddEmployerComponent_ion_grid_6_div_8_Template, 7, 5, "div", 7)(9, AddEmployerComponent_ion_grid_6_div_9_Template, 6, 10, "div", 8)(10, AddEmployerComponent_ion_grid_6_div_10_Template, 6, 12, "div", 7)(11, AddEmployerComponent_ion_grid_6_div_11_Template, 5, 6, "div", 7)(12, AddEmployerComponent_ion_grid_6_ion_row_12_Template, 16, 30, "ion-row", 4)(13, AddEmployerComponent_ion_grid_6_ion_row_13_Template, 16, 20, "ion-row", 4)(14, AddEmployerComponent_ion_grid_6_ion_row_14_Template, 4, 3, "ion-row", 4)(15, AddEmployerComponent_ion_grid_6_div_15_Template, 5, 10, "div", 7)(16, AddEmployerComponent_ion_grid_6_ion_row_16_Template, 16, 22, "ion-row", 4)(17, AddEmployerComponent_ion_grid_6_div_17_Template, 6, 12, "div", 7)(18, AddEmployerComponent_ion_grid_6_ion_row_18_Template, 10, 11, "ion-row", 4)(19, AddEmployerComponent_ion_grid_6_ion_row_19_Template, 16, 30, "ion-row", 4)(20, AddEmployerComponent_ion_grid_6_div_20_Template, 6, 10, "div", 7)(21, AddEmployerComponent_ion_grid_6_div_21_Template, 7, 11, "div", 7)(22, AddEmployerComponent_ion_grid_6_ion_row_22_Template, 16, 30, "ion-row", 4)(23, AddEmployerComponent_ion_grid_6_ion_row_23_Template, 8, 10, "ion-row", 4)(24, AddEmployerComponent_ion_grid_6_div_24_Template, 7, 11, "div", 7)(25, AddEmployerComponent_ion_grid_6_div_25_Template, 6, 10, "div", 7)(26, AddEmployerComponent_ion_grid_6_ion_row_26_Template, 15, 23, "ion-row", 4)(27, AddEmployerComponent_ion_grid_6_div_27_Template, 6, 10, "div", 7)(28, AddEmployerComponent_ion_grid_6_div_28_Template, 5, 11, "div", 7)(29, AddEmployerComponent_ion_grid_6_div_29_Template, 6, 12, "div", 7)(30, AddEmployerComponent_ion_grid_6_div_30_Template, 6, 12, "div", 7)(31, AddEmployerComponent_ion_grid_6_div_31_Template, 10, 14, "div", 7)(32, AddEmployerComponent_ion_grid_6_div_32_Template, 7, 13, "div", 7)(33, AddEmployerComponent_ion_grid_6_div_33_Template, 8, 6, "div", 7);
|
|
1472
|
+
i0.ɵɵelement(34, "app-error", 9);
|
|
1484
1473
|
i0.ɵɵelementEnd()();
|
|
1485
|
-
i0.ɵɵelementStart(35, "ion-col",
|
|
1486
|
-
i0.ɵɵtemplate(37,
|
|
1474
|
+
i0.ɵɵelementStart(35, "ion-col", 5)(36, "div", 6);
|
|
1475
|
+
i0.ɵɵtemplate(37, AddEmployerComponent_ion_grid_6_ion_row_37_Template, 3, 0, "ion-row", 10)(38, AddEmployerComponent_ion_grid_6_ion_row_38_Template, 3, 0, "ion-row", 10)(39, AddEmployerComponent_ion_grid_6_ion_row_39_Template, 3, 0, "ion-row", 10)(40, AddEmployerComponent_ion_grid_6_ion_row_40_Template, 3, 0, "ion-row", 10)(41, AddEmployerComponent_ion_grid_6_ion_row_41_Template, 3, 0, "ion-row", 10)(42, AddEmployerComponent_ion_grid_6_ion_row_42_Template, 14, 18, "ion-row", 4)(43, AddEmployerComponent_ion_grid_6_ion_row_43_Template, 12, 15, "ion-row", 4)(44, AddEmployerComponent_ion_grid_6_ion_row_44_Template, 7, 8, "ion-row", 4)(45, AddEmployerComponent_ion_grid_6_ion_row_45_Template, 4, 3, "ion-row", 4)(46, AddEmployerComponent_ion_grid_6_div_46_Template, 12, 17, "div", 7)(47, AddEmployerComponent_ion_grid_6_div_47_Template, 7, 13, "div", 7)(48, AddEmployerComponent_ion_grid_6_div_48_Template, 7, 11, "div", 7)(49, AddEmployerComponent_ion_grid_6_ion_row_49_Template, 22, 33, "ion-row", 4)(50, AddEmployerComponent_ion_grid_6_ion_row_50_Template, 22, 40, "ion-row", 4)(51, AddEmployerComponent_ion_grid_6_div_51_Template, 7, 11, "div", 7)(52, AddEmployerComponent_ion_grid_6_div_52_Template, 7, 13, "div", 7)(53, AddEmployerComponent_ion_grid_6_div_53_Template, 12, 17, "div", 7)(54, AddEmployerComponent_ion_grid_6_div_54_Template, 7, 13, "div", 7)(55, AddEmployerComponent_ion_grid_6_div_55_Template, 29, 40, "div", 4)(56, AddEmployerComponent_ion_grid_6_ion_row_56_Template, 10, 12, "ion-row", 4)(57, AddEmployerComponent_ion_grid_6_ion_row_57_Template, 8, 10, "ion-row", 4)(58, AddEmployerComponent_ion_grid_6_div_58_Template, 4, 3, "div", 7)(59, AddEmployerComponent_ion_grid_6_div_59_Template, 15, 11, "div", 7);
|
|
1487
1476
|
i0.ɵɵelementEnd();
|
|
1488
|
-
i0.ɵɵtemplate(60,
|
|
1477
|
+
i0.ɵɵtemplate(60, AddEmployerComponent_ion_grid_6_div_60_Template, 7, 11, "div", 7);
|
|
1489
1478
|
i0.ɵɵelementEnd()();
|
|
1490
|
-
i0.ɵɵelementStart(61, "ion-row")(62, "ion-col",
|
|
1491
|
-
i0.ɵɵlistener("click", function
|
|
1479
|
+
i0.ɵɵelementStart(61, "ion-row")(62, "ion-col", 11)(63, "ion-button", 12);
|
|
1480
|
+
i0.ɵɵlistener("click", function AddEmployerComponent_ion_grid_6_Template_ion_button_click_63_listener() { i0.ɵɵrestoreView(_r137); const ctx_r136 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r136.onModelCancel(false)); })("keyup.space", function AddEmployerComponent_ion_grid_6_Template_ion_button_keyup_space_63_listener() { i0.ɵɵrestoreView(_r137); const ctx_r138 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r138.onModelCancel(false)); })("keyup.enter", function AddEmployerComponent_ion_grid_6_Template_ion_button_keyup_enter_63_listener() { i0.ɵɵrestoreView(_r137); const ctx_r139 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r139.onModelCancel(false)); });
|
|
1492
1481
|
i0.ɵɵtext(64);
|
|
1493
1482
|
i0.ɵɵpipe(65, "translate");
|
|
1494
1483
|
i0.ɵɵelementEnd();
|
|
1495
|
-
i0.ɵɵtemplate(66,
|
|
1484
|
+
i0.ɵɵtemplate(66, AddEmployerComponent_ion_grid_6_ion_button_66_Template, 3, 3, "ion-button", 13)(67, AddEmployerComponent_ion_grid_6_ion_button_67_Template, 4, 6, "ion-button", 13);
|
|
1496
1485
|
i0.ɵɵelementEnd()()();
|
|
1497
1486
|
} if (rf & 2) {
|
|
1498
|
-
const
|
|
1487
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
1499
1488
|
i0.ɵɵadvance(4);
|
|
1500
|
-
i0.ɵɵproperty("ngIf",
|
|
1489
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
|
|
1501
1490
|
i0.ɵɵadvance(1);
|
|
1502
|
-
i0.ɵɵproperty("ngIf", (
|
|
1491
|
+
i0.ɵɵproperty("ngIf", (ctx_r1.workFlag == null ? null : ctx_r1.workFlag.value) == "Y");
|
|
1503
1492
|
i0.ɵɵadvance(1);
|
|
1504
|
-
i0.ɵɵproperty("ngIf", !
|
|
1493
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
|
|
1505
1494
|
i0.ɵɵadvance(1);
|
|
1506
|
-
i0.ɵɵproperty("ngIf", !
|
|
1495
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
|
|
1507
1496
|
i0.ɵɵadvance(1);
|
|
1508
|
-
i0.ɵɵproperty("ngIf", !
|
|
1497
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
|
|
1509
1498
|
i0.ɵɵadvance(1);
|
|
1510
|
-
i0.ɵɵproperty("ngIf",
|
|
1499
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1511
1500
|
i0.ɵɵadvance(1);
|
|
1512
|
-
i0.ɵɵproperty("ngIf",
|
|
1501
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
|
|
1513
1502
|
i0.ɵɵadvance(1);
|
|
1514
|
-
i0.ɵɵproperty("ngIf",
|
|
1503
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
|
|
1515
1504
|
i0.ɵɵadvance(1);
|
|
1516
|
-
i0.ɵɵproperty("ngIf",
|
|
1505
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
|
|
1517
1506
|
i0.ɵɵadvance(1);
|
|
1518
|
-
i0.ɵɵproperty("ngIf",
|
|
1507
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.hideFicCode);
|
|
1519
1508
|
i0.ɵɵadvance(1);
|
|
1520
|
-
i0.ɵɵproperty("ngIf",
|
|
1509
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer);
|
|
1521
1510
|
i0.ɵɵadvance(1);
|
|
1522
|
-
i0.ɵɵproperty("ngIf",
|
|
1511
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1523
1512
|
i0.ɵɵadvance(1);
|
|
1524
|
-
i0.ɵɵproperty("ngIf",
|
|
1513
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer);
|
|
1525
1514
|
i0.ɵɵadvance(1);
|
|
1526
|
-
i0.ɵɵproperty("ngIf",
|
|
1515
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1527
1516
|
i0.ɵɵadvance(1);
|
|
1528
|
-
i0.ɵɵproperty("ngIf",
|
|
1517
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1529
1518
|
i0.ɵɵadvance(1);
|
|
1530
|
-
i0.ɵɵproperty("ngIf",
|
|
1519
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1531
1520
|
i0.ɵɵadvance(1);
|
|
1532
|
-
i0.ɵɵproperty("ngIf",
|
|
1521
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1533
1522
|
i0.ɵɵadvance(1);
|
|
1534
|
-
i0.ɵɵproperty("ngIf",
|
|
1523
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1535
1524
|
i0.ɵɵadvance(1);
|
|
1536
|
-
i0.ɵɵproperty("ngIf",
|
|
1525
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
|
|
1537
1526
|
i0.ɵɵadvance(1);
|
|
1538
|
-
i0.ɵɵproperty("ngIf",
|
|
1527
|
+
i0.ɵɵproperty("ngIf", ctx_r1.displayVerificationOfWages.value && !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
|
|
1539
1528
|
i0.ɵɵadvance(1);
|
|
1540
|
-
i0.ɵɵproperty("ngIf",
|
|
1529
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1541
1530
|
i0.ɵɵadvance(1);
|
|
1542
|
-
i0.ɵɵproperty("ngIf",
|
|
1531
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
|
|
1543
1532
|
i0.ɵɵadvance(1);
|
|
1544
|
-
i0.ɵɵproperty("ngIf",
|
|
1533
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && ctx_r1.isBasePeriodEmployer && ctx_r1.workFlag.value === "Y");
|
|
1545
1534
|
i0.ɵɵadvance(1);
|
|
1546
|
-
i0.ɵɵproperty("ngIf",
|
|
1535
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
|
|
1547
1536
|
i0.ɵɵadvance(1);
|
|
1548
|
-
i0.ɵɵproperty("ngIf",
|
|
1537
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value == "REG" || ctx_r1.employerType.value === "FED");
|
|
1549
1538
|
i0.ɵɵadvance(1);
|
|
1550
|
-
i0.ɵɵproperty("ngIf", (
|
|
1539
|
+
i0.ɵɵproperty("ngIf", (ctx_r1.reasonSeparation.value == null ? null : ctx_r1.reasonSeparation.value.value) === "DCFI" && ctx_r1.employerType.value != "MIL");
|
|
1551
1540
|
i0.ɵɵadvance(1);
|
|
1552
|
-
i0.ɵɵproperty("ngIf", (
|
|
1541
|
+
i0.ɵɵproperty("ngIf", (ctx_r1.reasonSeparation.value == null ? null : ctx_r1.reasonSeparation.value.value) === "VOLQ" && ctx_r1.employerType.value != "MIL");
|
|
1553
1542
|
i0.ɵɵadvance(1);
|
|
1554
|
-
i0.ɵɵproperty("ngIf",
|
|
1543
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
|
|
1555
1544
|
i0.ɵɵadvance(1);
|
|
1556
|
-
i0.ɵɵproperty("ngIf",
|
|
1545
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL" && ctx_r1.milPensionFlag.value === "Y" && ctx_r1.currentState != "ME");
|
|
1557
1546
|
i0.ɵɵadvance(1);
|
|
1558
|
-
i0.ɵɵproperty("ngIf",
|
|
1547
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
|
|
1559
1548
|
i0.ɵɵadvance(1);
|
|
1560
1549
|
i0.ɵɵclassMap("app-grid");
|
|
1561
|
-
i0.ɵɵproperty("form",
|
|
1550
|
+
i0.ɵɵproperty("form", ctx_r1.isFormSubmitted)("field", ctx_r1.dd214Flag)("errDef", i0.ɵɵpureFunction0(65, _c3));
|
|
1562
1551
|
i0.ɵɵadvance(3);
|
|
1563
|
-
i0.ɵɵproperty("ngIf", !
|
|
1552
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
|
|
1564
1553
|
i0.ɵɵadvance(1);
|
|
1565
|
-
i0.ɵɵproperty("ngIf", !
|
|
1554
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
|
|
1566
1555
|
i0.ɵɵadvance(1);
|
|
1567
|
-
i0.ɵɵproperty("ngIf", !
|
|
1556
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
|
|
1568
1557
|
i0.ɵɵadvance(1);
|
|
1569
|
-
i0.ɵɵproperty("ngIf",
|
|
1558
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
|
|
1570
1559
|
i0.ɵɵadvance(1);
|
|
1571
|
-
i0.ɵɵproperty("ngIf",
|
|
1560
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
|
|
1572
1561
|
i0.ɵɵadvance(1);
|
|
1573
|
-
i0.ɵɵproperty("ngIf",
|
|
1562
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL" && ctx_r1.dd214Flag.value === "Y");
|
|
1574
1563
|
i0.ɵɵadvance(1);
|
|
1575
|
-
i0.ɵɵproperty("ngIf",
|
|
1564
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL" && ctx_r1.dd214Flag.value === "N");
|
|
1576
1565
|
i0.ɵɵadvance(1);
|
|
1577
|
-
i0.ɵɵproperty("ngIf",
|
|
1566
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer && ctx_r1.osaBpEmployerFlag.value === "1");
|
|
1578
1567
|
i0.ɵɵadvance(1);
|
|
1579
|
-
i0.ɵɵproperty("ngIf",
|
|
1568
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer);
|
|
1580
1569
|
i0.ɵɵadvance(1);
|
|
1581
|
-
i0.ɵɵproperty("ngIf",
|
|
1570
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1582
1571
|
i0.ɵɵadvance(1);
|
|
1583
|
-
i0.ɵɵproperty("ngIf",
|
|
1572
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.fedPensionFlag.value === "Y" && ctx_r1.currentState != "ME");
|
|
1584
1573
|
i0.ɵɵadvance(1);
|
|
1585
|
-
i0.ɵɵproperty("ngIf",
|
|
1574
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.currentState === "ME");
|
|
1586
1575
|
i0.ɵɵadvance(1);
|
|
1587
|
-
i0.ɵɵproperty("ngIf",
|
|
1576
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.sevPayFlag.value === "Y");
|
|
1588
1577
|
i0.ɵɵadvance(1);
|
|
1589
|
-
i0.ɵɵproperty("ngIf",
|
|
1578
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.sevPayFlag.value === "Y");
|
|
1590
1579
|
i0.ɵɵadvance(1);
|
|
1591
|
-
i0.ɵɵproperty("ngIf",
|
|
1580
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && ctx_r1.workFlag.value === "Y");
|
|
1592
1581
|
i0.ɵɵadvance(1);
|
|
1593
|
-
i0.ɵɵproperty("ngIf",
|
|
1582
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer && ctx_r1.workFlag.value === "Y" && ctx_r1.pensionFlag.value === "Y" && ctx_r1.employerType.value === "REG");
|
|
1594
1583
|
i0.ɵɵadvance(1);
|
|
1595
|
-
i0.ɵɵproperty("ngIf", !
|
|
1584
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
|
|
1596
1585
|
i0.ɵɵadvance(1);
|
|
1597
|
-
i0.ɵɵproperty("ngIf", !
|
|
1586
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG" && ctx_r1.regPensionFlag.value === "Y");
|
|
1598
1587
|
i0.ɵɵadvance(1);
|
|
1599
|
-
i0.ɵɵproperty("ngIf",
|
|
1588
|
+
i0.ɵɵproperty("ngIf", ctx_r1.displayVerificationOfWages.value && !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
|
|
1600
1589
|
i0.ɵɵadvance(1);
|
|
1601
|
-
i0.ɵɵproperty("ngIf",
|
|
1590
|
+
i0.ɵɵproperty("ngIf", ctx_r1.displayVerificationOfWages.value && !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
|
|
1602
1591
|
i0.ɵɵadvance(1);
|
|
1603
|
-
i0.ɵɵproperty("ngIf",
|
|
1592
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && (ctx_r1.displayVerificationOfWages == null ? null : ctx_r1.displayVerificationOfWages.value) && !ctx_r1.isBasePeriodEmployer);
|
|
1604
1593
|
i0.ɵɵadvance(1);
|
|
1605
|
-
i0.ɵɵproperty("ngIf",
|
|
1594
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
|
|
1606
1595
|
i0.ɵɵadvance(1);
|
|
1607
|
-
i0.ɵɵproperty("ngIf",
|
|
1596
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" || ctx_r1.employerType.value === "REG" && (ctx_r1.displayVerificationOfWages == null ? null : ctx_r1.displayVerificationOfWages.value));
|
|
1608
1597
|
i0.ɵɵadvance(1);
|
|
1609
|
-
i0.ɵɵproperty("ngIf",
|
|
1598
|
+
i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
|
|
1610
1599
|
i0.ɵɵadvance(3);
|
|
1611
1600
|
i0.ɵɵproperty("autofocus", true);
|
|
1612
1601
|
i0.ɵɵadvance(1);
|
|
1613
1602
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(65, 63, "induction.employment.button.cancel"), " ");
|
|
1614
1603
|
i0.ɵɵadvance(2);
|
|
1615
|
-
i0.ɵɵproperty("ngIf",
|
|
1604
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
|
|
1616
1605
|
i0.ɵɵadvance(1);
|
|
1617
|
-
i0.ɵɵproperty("ngIf", !
|
|
1606
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
|
|
1618
1607
|
} }
|
|
1619
|
-
const
|
|
1620
|
-
const
|
|
1608
|
+
const _c7 = () => ({ width: "60vw" });
|
|
1609
|
+
const _c8 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
|
|
1621
1610
|
export class AddEmployerComponent {
|
|
1622
|
-
constructor(formBuilder, validationService, util, filterService, logger, sanitizer, claimsService, ls, el, ar
|
|
1611
|
+
constructor(formBuilder, validationService, util, filterService, logger, sanitizer, claimsService, ls, el, ar) {
|
|
1623
1612
|
this.formBuilder = formBuilder;
|
|
1624
1613
|
this.validationService = validationService;
|
|
1625
1614
|
this.util = util;
|
|
@@ -1630,32 +1619,31 @@ export class AddEmployerComponent {
|
|
|
1630
1619
|
this.ls = ls;
|
|
1631
1620
|
this.el = el;
|
|
1632
1621
|
this.ar = ar;
|
|
1633
|
-
this.
|
|
1634
|
-
this.
|
|
1635
|
-
this.
|
|
1636
|
-
this.
|
|
1637
|
-
this.payRateOptions = [];
|
|
1622
|
+
this.employerTypeOptions = ComboOption.EMPLOYER_TYPE;
|
|
1623
|
+
this.countryOptions = ComboOption.COUNTRY;
|
|
1624
|
+
this.countryFedOptions = ComboOption.COUNTRY;
|
|
1625
|
+
this.payRateOptions = ComboOption.PAY_PERIOD;
|
|
1638
1626
|
this.stateOptions = [];
|
|
1639
1627
|
this.fedStateOptions = [];
|
|
1640
1628
|
this.jobTileOrPositionOptions = [];
|
|
1641
1629
|
this.fedJobTileOptions = [];
|
|
1642
|
-
this.radioOptions =
|
|
1643
|
-
this.workOptions =
|
|
1644
|
-
this.yesNoNaOptions =
|
|
1645
|
-
this.payMethodOptions =
|
|
1646
|
-
this.wageProofOptions =
|
|
1630
|
+
this.radioOptions = ComboOption.YES_NO;
|
|
1631
|
+
this.workOptions = ComboOption.WORK_FOR_EMPL;
|
|
1632
|
+
this.yesNoNaOptions = ComboOption.YES_NO_NA;
|
|
1633
|
+
this.payMethodOptions = ComboOption.PAYMENT_METHOD;
|
|
1634
|
+
this.wageProofOptions = ComboOption.WAGE_PROOF;
|
|
1647
1635
|
this.dischargeReasonOptions = [];
|
|
1648
1636
|
this.volQuitReasonOptions = [];
|
|
1649
|
-
this.statesOptions =
|
|
1650
|
-
this.nonKSStatesOptions =
|
|
1651
|
-
this.payPeriod =
|
|
1637
|
+
this.statesOptions = ComboOption.US_STATES;
|
|
1638
|
+
this.nonKSStatesOptions = ComboOption.NON_KS_STATES;
|
|
1639
|
+
this.payPeriod = ComboOption.PAY_PERIOD;
|
|
1652
1640
|
this.employmentStatusOptions = [];
|
|
1653
|
-
this.workCountryOptions =
|
|
1654
|
-
this.militaryServiceOptions =
|
|
1655
|
-
this.remunerationTypeOptions =
|
|
1641
|
+
this.workCountryOptions = ComboOption.WORK_COUNTRY;
|
|
1642
|
+
this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
|
|
1643
|
+
this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES;
|
|
1656
1644
|
this.dateTime = new Date();
|
|
1657
|
-
this.groupedReasons =
|
|
1658
|
-
this.prevWorkedStateOptions =
|
|
1645
|
+
this.groupedReasons = ComboOption.GROUP_REASONS;
|
|
1646
|
+
this.prevWorkedStateOptions = ComboOption.WORKED_STATE;
|
|
1659
1647
|
this.dischargeReasonOptionsAll = [];
|
|
1660
1648
|
this.volQuitReasonOptionsAll = [];
|
|
1661
1649
|
this.employmentStatusOptionsAll = [];
|
|
@@ -1675,6 +1663,7 @@ export class AddEmployerComponent {
|
|
|
1675
1663
|
this.modelCancel = new EventEmitter();
|
|
1676
1664
|
this.success = new EventEmitter();
|
|
1677
1665
|
this.isBasePeriodEmployer = false;
|
|
1666
|
+
this.isManualEnterEmp = true;
|
|
1678
1667
|
this.basePeriodIndex = new EventEmitter();
|
|
1679
1668
|
this.isOsaEmployer = "0";
|
|
1680
1669
|
this.showWorkState = true;
|
|
@@ -1685,48 +1674,8 @@ export class AddEmployerComponent {
|
|
|
1685
1674
|
ngOnInit() {
|
|
1686
1675
|
this.setWorkStartDate();
|
|
1687
1676
|
this.loadMasterData();
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
this.countryOptions = ComboOption.COUNTRY_ES;
|
|
1691
|
-
this.countryFedOptions = ComboOption.COUNTRY_ES;
|
|
1692
|
-
this.payRateOptions = ComboOption.PAY_PERIOD_ES;
|
|
1693
|
-
this.radioOptions = ComboOption.YES_NO_ES;
|
|
1694
|
-
this.workOptions = ComboOption.WORK_FOR_EMPL_ES;
|
|
1695
|
-
this.yesNoNaOptions = ComboOption.YES_NO_NA_ES;
|
|
1696
|
-
this.payMethodOptions = ComboOption.PAYMENT_METHOD_ES;
|
|
1697
|
-
this.wageProofOptions = ComboOption.WAGE_PROOF_ES;
|
|
1698
|
-
this.statesOptions = ComboOption.US_STATES_ES;
|
|
1699
|
-
this.nonKSStatesOptions = ComboOption.NON_KS_STATES_ES;
|
|
1700
|
-
this.payPeriod = ComboOption.PAY_PERIOD_ES;
|
|
1701
|
-
this.workCountryOptions = ComboOption.WORK_COUNTRY_ES;
|
|
1702
|
-
this.militaryServiceOptions = ComboOption.MILITARY_SERVICE_ES;
|
|
1703
|
-
this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES_ES;
|
|
1704
|
-
this.groupedReasons = ComboOption.GROUP_REASONS_ES;
|
|
1705
|
-
this.prevWorkedStateOptions = ComboOption.WORKED_STATE_ES;
|
|
1706
|
-
const currentState = ComboOption.US_STATES_ES.find(state => state.value == this.util.getState());
|
|
1707
|
-
this.statesOptions = [currentState, ...ComboOption.US_STATES_ES.filter(state => state.value != this.util.getState())];
|
|
1708
|
-
}
|
|
1709
|
-
else {
|
|
1710
|
-
this.employerTypeOptions = ComboOption.EMPLOYER_TYPE;
|
|
1711
|
-
this.countryOptions = ComboOption.COUNTRY;
|
|
1712
|
-
this.countryFedOptions = ComboOption.COUNTRY;
|
|
1713
|
-
this.payRateOptions = ComboOption.PAY_PERIOD;
|
|
1714
|
-
this.radioOptions = ComboOption.YES_NO;
|
|
1715
|
-
this.workOptions = ComboOption.WORK_FOR_EMPL;
|
|
1716
|
-
this.yesNoNaOptions = ComboOption.YES_NO_NA;
|
|
1717
|
-
this.payMethodOptions = ComboOption.PAYMENT_METHOD;
|
|
1718
|
-
this.wageProofOptions = ComboOption.WAGE_PROOF;
|
|
1719
|
-
this.statesOptions = ComboOption.US_STATES;
|
|
1720
|
-
this.nonKSStatesOptions = ComboOption.NON_KS_STATES;
|
|
1721
|
-
this.payPeriod = ComboOption.PAY_PERIOD;
|
|
1722
|
-
this.workCountryOptions = ComboOption.WORK_COUNTRY;
|
|
1723
|
-
this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
|
|
1724
|
-
this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES;
|
|
1725
|
-
this.groupedReasons = ComboOption.GROUP_REASONS;
|
|
1726
|
-
this.prevWorkedStateOptions = ComboOption.WORKED_STATE;
|
|
1727
|
-
const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
|
|
1728
|
-
this.statesOptions = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
|
|
1729
|
-
}
|
|
1677
|
+
const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
|
|
1678
|
+
this.statesOptions = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
|
|
1730
1679
|
this.logger.debug('isBasePeriodEmployer is = ', this.isBasePeriodEmployer, this.statesOptions);
|
|
1731
1680
|
this.logger.debug('isNewClaim = ', this.isNewClaim);
|
|
1732
1681
|
this.currentState = this.util.getState();
|
|
@@ -1860,7 +1809,7 @@ export class AddEmployerComponent {
|
|
|
1860
1809
|
'startDateReserve': [esm.startDateReserve ?? null],
|
|
1861
1810
|
'endDateReserve': [esm.endDateReserve ?? null],
|
|
1862
1811
|
'dd214File': [esm.dd214File ?? null],
|
|
1863
|
-
'address': [esm.address ?? null],
|
|
1812
|
+
'address': [esm.address ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'REG' || this.employerType?.value === 'FED'))],
|
|
1864
1813
|
'wageAmountArray': this.formBuilder.array([]),
|
|
1865
1814
|
'testEmp': [esm.employerProvidedWages?.wagesListQtrWise ?? null],
|
|
1866
1815
|
'osaBpEmployerFlag': [esm.osaBpEmployerFlag ?? "0"],
|
|
@@ -2272,6 +2221,7 @@ export class AddEmployerComponent {
|
|
|
2272
2221
|
this.addressLine2.setValue(employer.addressLine2);
|
|
2273
2222
|
this.addressLine3.setValue(employer.addressLine3);
|
|
2274
2223
|
this.regEmployerFound.setValue(true);
|
|
2224
|
+
this.isManualEnterEmp = false;
|
|
2275
2225
|
}
|
|
2276
2226
|
setFedEmployer(employer) {
|
|
2277
2227
|
this.address2.readonly = false;
|
|
@@ -2296,6 +2246,7 @@ export class AddEmployerComponent {
|
|
|
2296
2246
|
this.addressLine3.setValue(employer.addressLine3);
|
|
2297
2247
|
this.regEmployerFound.setValue(false);
|
|
2298
2248
|
this.address2.readonly = true;
|
|
2249
|
+
this.isManualEnterEmp = false;
|
|
2299
2250
|
}
|
|
2300
2251
|
resetFedEmployer(employer) {
|
|
2301
2252
|
this.address.enable();
|
|
@@ -2337,6 +2288,11 @@ export class AddEmployerComponent {
|
|
|
2337
2288
|
}
|
|
2338
2289
|
}
|
|
2339
2290
|
save() {
|
|
2291
|
+
if (this.isBasePeriodEmployer) {
|
|
2292
|
+
//remove validator since basePeriod employer already has employer coming from backend
|
|
2293
|
+
this.address.clearValidators();
|
|
2294
|
+
this.address.updateValueAndValidity();
|
|
2295
|
+
}
|
|
2340
2296
|
this.isFormSubmitted.submitted = true;
|
|
2341
2297
|
this.logger.debug('this.save.value', this.addEmployerForm);
|
|
2342
2298
|
this.address.enable();
|
|
@@ -2360,17 +2316,22 @@ export class AddEmployerComponent {
|
|
|
2360
2316
|
if (this.employerType.value != 'MIL') {
|
|
2361
2317
|
this.validateWageGrid();
|
|
2362
2318
|
this.logger.debug('validate address component');
|
|
2363
|
-
this.
|
|
2364
|
-
|
|
2319
|
+
if (this.isManualEnterEmp) {
|
|
2320
|
+
//Validate address only when address is manual entered
|
|
2321
|
+
this.validateAddress();
|
|
2322
|
+
}
|
|
2323
|
+
else {
|
|
2324
|
+
this.address.enable();
|
|
2325
|
+
}
|
|
2365
2326
|
}
|
|
2366
|
-
if (this.addEmployerForm.invalid || this.address.errors
|
|
2327
|
+
if (this.addEmployerForm.invalid || (this.address.errors && Object.keys(this.address.errors).length > 0)) {
|
|
2367
2328
|
console.log(this.addEmployerForm);
|
|
2368
2329
|
const fixFields = Object.entries(this.addEmployerForm.controls).filter(x => !x[1].valid).map(x => x[0]);
|
|
2369
2330
|
console.log("fix fields:", fixFields);
|
|
2370
2331
|
this.logger.info("add employer failure info:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
|
|
2371
2332
|
this.logger.error("add employer failure error:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
|
|
2372
2333
|
this.logger.log("add employer failure log:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
|
|
2373
|
-
this.address.disable();
|
|
2334
|
+
//this.address.disable();
|
|
2374
2335
|
return;
|
|
2375
2336
|
}
|
|
2376
2337
|
this.logger.debug('this.add.value', this.addEmployerForm);
|
|
@@ -2392,13 +2353,40 @@ export class AddEmployerComponent {
|
|
|
2392
2353
|
this.wageAmountArray.setErrors({ requireCheckboxToBeChecked: true });
|
|
2393
2354
|
}
|
|
2394
2355
|
validateAddress() {
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2356
|
+
// Clear previous errors on the address control
|
|
2357
|
+
const addressControl = this.addEmployerForm.controls['address'];
|
|
2358
|
+
// Get the address component value
|
|
2359
|
+
const addressCompValue = addressControl.value;
|
|
2360
|
+
// List of address fields to validate
|
|
2361
|
+
const addressFields = ['streetAddress', 'city', 'state', 'zip', 'country'];
|
|
2362
|
+
let hasErrors = false;
|
|
2363
|
+
// Loop through each field and validate
|
|
2364
|
+
addressFields.forEach(field => {
|
|
2365
|
+
const fieldValue = addressCompValue?.[field];
|
|
2366
|
+
// Check if the field is missing or empty
|
|
2367
|
+
if (!fieldValue) {
|
|
2368
|
+
// Set required error if field is missing
|
|
2369
|
+
this.setFieldError(field, true);
|
|
2370
|
+
hasErrors = true;
|
|
2371
|
+
}
|
|
2372
|
+
else {
|
|
2373
|
+
// Clear error if field has value
|
|
2374
|
+
this.setFieldError(field, false);
|
|
2375
|
+
}
|
|
2376
|
+
});
|
|
2377
|
+
// If there are errors in any field, mark the address control as invalid
|
|
2378
|
+
if (hasErrors) {
|
|
2379
|
+
addressControl.setErrors({ addressValidationFlag: true });
|
|
2380
|
+
if (this.employerFormElement) {
|
|
2381
|
+
this.employerFormElement.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); // Focus the error element
|
|
2382
|
+
}
|
|
2401
2383
|
}
|
|
2384
|
+
else {
|
|
2385
|
+
addressControl.setErrors(null); // Clear error if everything is valid
|
|
2386
|
+
}
|
|
2387
|
+
// Update validity of the form
|
|
2388
|
+
this.addEmployerForm.updateValueAndValidity();
|
|
2389
|
+
// Submit address1 and address2 if they exist
|
|
2402
2390
|
if (this.address1) {
|
|
2403
2391
|
this.address1.submit();
|
|
2404
2392
|
}
|
|
@@ -2406,6 +2394,16 @@ export class AddEmployerComponent {
|
|
|
2406
2394
|
this.address2.submit();
|
|
2407
2395
|
}
|
|
2408
2396
|
}
|
|
2397
|
+
// Helper function to set or clear errors for each address field
|
|
2398
|
+
setFieldError(field, isError) {
|
|
2399
|
+
const control = this.addEmployerForm.controls['address'].get(field);
|
|
2400
|
+
if (isError) {
|
|
2401
|
+
control?.setErrors({ required: true });
|
|
2402
|
+
}
|
|
2403
|
+
else {
|
|
2404
|
+
control?.setErrors(null);
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2409
2407
|
setFedWorkStateValues(event) {
|
|
2410
2408
|
if (event.value !== 'US') {
|
|
2411
2409
|
this.fedWorkState.setValue(null);
|
|
@@ -2502,12 +2500,7 @@ export class AddEmployerComponent {
|
|
|
2502
2500
|
let query = event.query;
|
|
2503
2501
|
this.logger.debug('query', query);
|
|
2504
2502
|
let filteredGroups = [];
|
|
2505
|
-
|
|
2506
|
-
this.groupedReasons = ComboOption.GROUP_REASONS_ES;
|
|
2507
|
-
}
|
|
2508
|
-
else {
|
|
2509
|
-
this.groupedReasons = ComboOption.GROUP_REASONS;
|
|
2510
|
-
}
|
|
2503
|
+
this.groupedReasons = ComboOption.GROUP_REASONS;
|
|
2511
2504
|
for (let optgroup of this.groupedReasons) {
|
|
2512
2505
|
this.logger.debug('optgroup.items', optgroup.items);
|
|
2513
2506
|
let filteredSubOptions = this.filterService.filter(optgroup.items, ["label"], query, "contains");
|
|
@@ -2536,43 +2529,39 @@ export class AddEmployerComponent {
|
|
|
2536
2529
|
}
|
|
2537
2530
|
}
|
|
2538
2531
|
}
|
|
2539
|
-
|
|
2540
|
-
return this.translateService.instant('common.required');
|
|
2541
|
-
}
|
|
2542
|
-
get requiredKansas() {
|
|
2543
|
-
return this.translateService.instant('induction.add.employment.required.kansas');
|
|
2544
|
-
}
|
|
2545
|
-
static { this.ɵfac = function AddEmployerComponent_Factory(t) { return new (t || AddEmployerComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.FilterService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.DomSanitizer), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.LoginService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i9.ActivatedRoute), i0.ɵɵdirectiveInject(i10.TranslateService)); }; }
|
|
2532
|
+
static { this.ɵfac = function AddEmployerComponent_Factory(t) { return new (t || AddEmployerComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.FilterService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.DomSanitizer), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.LoginService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i9.ActivatedRoute)); }; }
|
|
2546
2533
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddEmployerComponent, selectors: [["app-add-employer"]], viewQuery: function AddEmployerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
2547
2534
|
i0.ɵɵviewQuery(_c0, 5);
|
|
2548
2535
|
i0.ɵɵviewQuery(_c1, 5);
|
|
2536
|
+
i0.ɵɵviewQuery(_c2, 5);
|
|
2549
2537
|
} if (rf & 2) {
|
|
2550
2538
|
let _t;
|
|
2551
2539
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address1 = _t.first);
|
|
2552
2540
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address2 = _t.first);
|
|
2553
|
-
} }, inputs: { recordIndexToEdit: "recordIndexToEdit", isBasePeriodEmployer: "isBasePeriodEmployer", noEditMode: "noEditMode", isNewClaim: "isNewClaim", dob: "dob" }, outputs: { modelCancel: "modelCancel", success: "success", basePeriodIndex: "basePeriodIndex" }, decls: 6, vars: 13, consts: [["visible", "true", "position", "top", "appendTo", "body", 3, "showHeader", "draggable", "resizable", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], [4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], ["class", "field", 4, "ngIf"], ["class", "field", "style", "width: inherit !important;", 4, "ngIf"], [3, "form", "field", "errDef"], ["class", "ion-hide-sm-down", 4, "ngIf"], [1, "ion-text-right"], ["tabindex", "0", "shape", "round", "fill", "outline", "type", "reset", 2, "width", "80px", 3, "autofocus", "click", "keyup.space", "keyup.enter"], ["tabindex", "0", "shape", "round", "style", "width: 80px;", "type", "submit", 3, "click", "keyup.space", "keyup.enter", 4, "ngIf"], [1, "field"], [2, "font-size", "12px"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns"], ["pTemplate", "header"], [4, "ngFor", "ngForOf"], ["for", "employerType"], [2, "inline-size", "inherit"], ["inputId", "employerType", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "prevWorkedState"], [2, "inline-size", "min-content"], ["inputId", "prevWorkedState", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onOptionClick"], ["for", "employerName"], [4, "ngIf", "ngIfElse"], ["elseBlock", ""], ["inputId", "employerName", "empType", "REG", 3, "formControl", "onFound", "onEmpty"], ["id", "employerName", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], [1, "field", 2, "width", "inherit !important"], ["for", "fedEmployerName"], ["empType", "FED", 3, "formControl", "onFound", "onEmpty"], ["id", "serviceBranch-label", "for", "serviceBranch"], ["optionLabel", "text", "appendTo", "body", "inputId", "serviceBranch", 3, "options", "formControl", "autoDisplayFirst"], ["id", "mil-state-label", "for", "mil-state"], ["optionLabel", "text", "inputId", "mil-state", "appendTo", "body", 3, "formControl", "options"], [1, "app-grid", 3, "form", "field", "errDef"], [2, "padding", "0px"], ["for", "startDateMil"], ["iconAriaLabel", "startDateMil", "inputId", "startDateMil", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "maxDate", "yearNavigator", "showOnFocus", "minDate", "onBlur", "onSelect", "onInput"], ["size", "1"], ["for", "endDateMil"], ["iconAriaLabel", "endDateMil", "inputId", "endDateMil", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "ficCode"], ["id", "ficCode", "type", "input", "pInputText", "", 3, "formControl"], ["for", "ficDestinationName"], ["id", "ficDestinationName", "type", "input", "pInputText", "", 3, "formControl"], [2, "padding-left", "0px", "padding-right", "0px"], [3, "formControl", "countyRequired", "fromPopup"], ["address1", ""], ["readonly", "true", 3, "formControl", "countyRequired", "fromPopup"], ["address2", ""], ["class", "app-grid", 4, "ngIf"], [1, "app-grid"], ["for", "workCity"], ["id", "workCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["id", "workState-label", "for", "workState"], ["optionLabel", "text", "appendTo", "body", "inputId", "workState", 3, "options", "formControl", "autoDisplayFirst", "onChange"], ["id", "fedWorkCountry-label", "for", "fedWorkCountry"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkCountry", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCity"], ["id", "fedWorkCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["style", "padding: 0px;", 4, "ngIf"], ["id", "fedWorkState-label", "for", "fedWorkState"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "startDateFed"], ["iconAriaLabel", "startDateFed", "inputId", "startDateFed", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "minDate", "onBlur", "onSelect", "onInput"], ["for", "endDateFed"], ["iconAriaLabel", "endDateFed", "inputId", "endDateFed", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "fedJobTileOrPosition"], ["id", "fedJobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["for", "sfEightflag"], ["inputId", "sfEightflag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "startDate"], ["iconAriaLabel", "startDate", "inputId", "startDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "minDate", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDate"], ["iconAriaLabel", "endDate", "inputId", "endDate", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "minDate", "maxDate", "yearNavigator", "formControl", "showOnFocus", "onBlur", "onInput", "onSelect"], ["for", "workType"], ["id", "workType", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], ["for", "performedService"], ["inputId", "performedService", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "jobTileOrPosition"], ["id", "jobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], [2, "padding-right", "5px", "padding-left", "0px"], ["for", "payRate"], ["inputId", "payRate", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["id", "payRateFrequency-label", "for", "payRateFrequency"], ["optionLabel", "text", "appendTo", "body", "inputId", "payRateFrequency", 3, "options", "formControl", "autoDisplayFirst"], ["for", "employerTelephoneNumber"], ["mask", "999-999-9999", "inputId", "employerTelephoneNumber", "placeholder", "999-999-9999", 3, "formControl"], ["id", "reasonSeparation-label", "for", "reasonSeparation", 4, "ngIf"], ["optionLabel", "text", "appendTo", "body", "inputId", "reasonSeparation", 3, "options", "formControl", "autoDisplayFirst"], ["id", "reasonSeparation-label", "for", "reasonSeparation"], ["id", "dischargeDetail-label", "for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "inputId", "dischargeDetail", 3, "options", "formControl", "autoDisplayFirst"], ["id", "volQuitDetails-label", "for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "inputId", "volQuitDetails", 3, "options", "formControl", "autoDisplayFirst"], ["for", "milPensionFlag"], ["inputId", "milPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "milPensionRecvDate"], ["inputId", "milPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "dd214Flag"], [2, "inline-size", "min-content", "display", "inline-flex"], ["inputId", "dd214Flag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [3, "overlayText"], [1, "ion-hide-sm-down"], [2, "border-style", "solid", "border-width", "1px"], [3, "innerHTML"], [2, "padding-left", "15px", 3, "innerHTML"], [2, "padding-top", "0px"], ["for", "grossWages", 2, "inline-size", "max-content"], ["inputId", "grossWages", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["style", "padding-right:5px; padding-left: 0px; padding-top: 0px;", 4, "ngIf"], ["style", "padding-right:5px;padding-top: 0px;", 4, "ngIf"], ["style", "padding-top: 0px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px", "padding-top", "0px"], [2, "padding-right", "5px", "padding-top", "0px"], ["for", "fedPensionFlag"], [2, "inline-size", "min-content", "display", "flex"], ["inputId", "fedPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], ["for", "fedPensionRecvDate"], ["inputId", "fedPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "sevPayFlag"], ["inputId", "sevPayFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [2, "padding-right", "5px"], ["for", "weeklyAmount"], ["inputId", "weeklyAmount", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["for", "numberOfWeeks"], ["inputId", "numberOfWeeks", "maxlength", "4", 3, "useGrouping", "formControl"], ["for", "sevPayAmount"], ["inputId", "sevPayAmount", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["for", "sevPayStartDate"], ["inputId", "sevPayStartDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "sevPayEndDate"], ["inputId", "sevPayEndDate", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "minDate", "showOnFocus", "onInput"], ["for", "sevPayPaymentStartDate"], ["inputId", "sevPayPaymentStartDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "pensionFlag"], ["inputId", "pensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "pensionRecvDate"], ["inputId", "pensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "regPensionFlag"], ["inputId", "regPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "regPensionRecvDate"], ["inputId", "regPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "paymentType"], ["inputId", "paymentType", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "docsReceived"], ["inputId", "docsReceived", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherSSNFlag"], ["inputId", "otherSSNFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherSSN"], ["inputId", "otherSSN", "mask", "999-99-9999", "placeholder", "999-99-9999", 3, "formControl"], ["for", "otherNameFlag"], ["inputId", "otherNameFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherName"], ["id", "otherName", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "businessNature"], ["id", "businessNature", "type", "input", "pInputText", "", "maxlength", "250", 3, "formControl"], ["rules", "rows"], [2, "text-align", "center"], ["formArrayName", "wageAmountArray"], [3, "formGroupName", 4, "ngFor", "ngForOf"], [3, "formGroupName"], [3, "for"], ["ariaLabel", "wageAmount", "formControlName", "wageAmount", "mode", "currency", "maxlength", "12", "currency", "USD", "locale", "en-US", 3, "inputId", "min", "max"], ["colspan", "2"], [3, "field", "form", "errDef"], ["for", "severance"], ["inputId", "severance", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["tabindex", "0", "shape", "round", "type", "submit", 2, "width", "80px", 3, "click", "keyup.space", "keyup.enter"]], template: function AddEmployerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2541
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.employerFormElement = _t.first);
|
|
2542
|
+
} }, inputs: { recordIndexToEdit: "recordIndexToEdit", isBasePeriodEmployer: "isBasePeriodEmployer", noEditMode: "noEditMode", isNewClaim: "isNewClaim", dob: "dob" }, outputs: { modelCancel: "modelCancel", success: "success", basePeriodIndex: "basePeriodIndex" }, decls: 7, vars: 13, consts: [["visible", "true", "position", "top", "appendTo", "body", 3, "showHeader", "draggable", "resizable", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], ["employerForm", ""], [4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], ["class", "field", 4, "ngIf"], ["class", "field", "style", "width: inherit !important;", 4, "ngIf"], [3, "form", "field", "errDef"], ["class", "ion-hide-sm-down", 4, "ngIf"], [1, "ion-text-right"], ["tabindex", "0", "shape", "round", "fill", "outline", "type", "reset", 2, "width", "80px", 3, "autofocus", "click", "keyup.space", "keyup.enter"], ["tabindex", "0", "shape", "round", "style", "width: 80px;", "type", "submit", 3, "click", "keyup.space", "keyup.enter", 4, "ngIf"], [1, "field"], [2, "font-size", "12px"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns"], ["pTemplate", "header"], [4, "ngFor", "ngForOf"], ["for", "employerType"], [2, "inline-size", "inherit"], ["inputId", "employerType", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "prevWorkedState"], [2, "inline-size", "min-content"], ["inputId", "prevWorkedState", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onOptionClick"], ["for", "employerName"], [4, "ngIf", "ngIfElse"], ["elseBlock", ""], ["inputId", "employerName", "empType", "REG", 3, "formControl", "onFound", "onEmpty"], ["id", "employerName", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], [1, "field", 2, "width", "inherit !important"], ["for", "fedEmployerName"], ["empType", "FED", 3, "formControl", "onFound", "onEmpty"], ["id", "serviceBranch-label", "for", "serviceBranch"], ["optionLabel", "text", "appendTo", "body", "inputId", "serviceBranch", 3, "options", "formControl", "autoDisplayFirst"], ["id", "mil-state-label", "for", "mil-state"], ["optionLabel", "text", "inputId", "mil-state", "appendTo", "body", 3, "formControl", "options"], [1, "app-grid", 3, "form", "field", "errDef"], [2, "padding", "0px"], ["for", "startDateMil"], ["iconAriaLabel", "startDateMil", "inputId", "startDateMil", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "maxDate", "yearNavigator", "showOnFocus", "minDate", "onBlur", "onSelect", "onInput"], ["size", "1"], ["for", "endDateMil"], ["iconAriaLabel", "endDateMil", "inputId", "endDateMil", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "ficCode"], ["id", "ficCode", "type", "input", "pInputText", "", 3, "formControl"], ["for", "ficDestinationName"], ["id", "ficDestinationName", "type", "input", "pInputText", "", 3, "formControl"], [2, "padding-left", "0px", "padding-right", "0px"], [3, "formControl", "countyRequired", "fromPopup"], ["address1", ""], ["readonly", "true", 3, "formControl", "countyRequired", "fromPopup"], ["address2", ""], ["class", "app-grid", 4, "ngIf"], [1, "app-grid"], ["for", "workCity"], ["id", "workCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["id", "workState-label", "for", "workState"], ["optionLabel", "text", "appendTo", "body", "inputId", "workState", 3, "options", "formControl", "autoDisplayFirst", "onChange"], ["id", "fedWorkCountry-label", "for", "fedWorkCountry"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkCountry", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCity"], ["id", "fedWorkCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["style", "padding: 0px;", 4, "ngIf"], ["id", "fedWorkState-label", "for", "fedWorkState"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "startDateFed"], ["iconAriaLabel", "startDateFed", "inputId", "startDateFed", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "minDate", "onBlur", "onSelect", "onInput"], ["for", "endDateFed"], ["iconAriaLabel", "endDateFed", "inputId", "endDateFed", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "fedJobTileOrPosition"], ["id", "fedJobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["for", "sfEightflag"], ["inputId", "sfEightflag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "startDate"], ["iconAriaLabel", "startDate", "inputId", "startDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "minDate", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDate"], ["iconAriaLabel", "endDate", "inputId", "endDate", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "minDate", "maxDate", "yearNavigator", "formControl", "showOnFocus", "onBlur", "onInput", "onSelect"], ["for", "workType"], ["id", "workType", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], ["for", "performedService"], ["inputId", "performedService", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "jobTileOrPosition"], ["id", "jobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], [2, "padding-right", "5px", "padding-left", "0px"], ["for", "payRate"], ["inputId", "payRate", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["id", "payRateFrequency-label", "for", "payRateFrequency"], ["optionLabel", "text", "appendTo", "body", "inputId", "payRateFrequency", 3, "options", "formControl", "autoDisplayFirst"], ["for", "employerTelephoneNumber"], ["mask", "999-999-9999", "inputId", "employerTelephoneNumber", "placeholder", "999-999-9999", 3, "formControl"], ["id", "reasonSeparation-label", "for", "reasonSeparation", 4, "ngIf"], ["optionLabel", "text", "appendTo", "body", "inputId", "reasonSeparation", 3, "options", "formControl", "autoDisplayFirst"], ["id", "reasonSeparation-label", "for", "reasonSeparation"], ["id", "dischargeDetail-label", "for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "inputId", "dischargeDetail", 3, "options", "formControl", "autoDisplayFirst"], ["id", "volQuitDetails-label", "for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "inputId", "volQuitDetails", 3, "options", "formControl", "autoDisplayFirst"], ["for", "milPensionFlag"], ["inputId", "milPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "milPensionRecvDate"], ["inputId", "milPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "dd214Flag"], [2, "inline-size", "min-content", "display", "inline-flex"], ["inputId", "dd214Flag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [3, "overlayText"], [1, "ion-hide-sm-down"], [2, "border-style", "solid", "border-width", "1px"], [3, "innerHTML"], [2, "padding-left", "15px", 3, "innerHTML"], [2, "padding-top", "0px"], ["for", "grossWages", 2, "inline-size", "max-content"], ["inputId", "grossWages", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["style", "padding-right:5px; padding-left: 0px; padding-top: 0px;", 4, "ngIf"], ["style", "padding-right:5px;padding-top: 0px;", 4, "ngIf"], ["style", "padding-top: 0px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px", "padding-top", "0px"], [2, "padding-right", "5px", "padding-top", "0px"], ["for", "fedPensionFlag"], [2, "inline-size", "min-content", "display", "flex"], ["inputId", "fedPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], ["for", "fedPensionRecvDate"], ["inputId", "fedPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "sevPayFlag"], ["inputId", "sevPayFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [2, "padding-right", "5px"], ["for", "weeklyAmount"], ["inputId", "weeklyAmount", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["for", "numberOfWeeks"], ["inputId", "numberOfWeeks", "maxlength", "4", 3, "useGrouping", "formControl"], ["for", "sevPayAmount"], ["inputId", "sevPayAmount", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["for", "sevPayStartDate"], ["inputId", "sevPayStartDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "sevPayEndDate"], ["inputId", "sevPayEndDate", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "minDate", "showOnFocus", "onInput"], ["for", "sevPayPaymentStartDate"], ["inputId", "sevPayPaymentStartDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "pensionFlag"], ["inputId", "pensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "pensionRecvDate"], ["inputId", "pensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "regPensionFlag"], ["inputId", "regPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "regPensionRecvDate"], ["inputId", "regPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "paymentType"], ["inputId", "paymentType", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "docsReceived"], ["inputId", "docsReceived", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherSSNFlag"], ["inputId", "otherSSNFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherSSN"], ["inputId", "otherSSN", "mask", "999-99-9999", "placeholder", "999-99-9999", 3, "formControl"], ["for", "otherNameFlag"], ["inputId", "otherNameFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherName"], ["id", "otherName", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "businessNature"], ["id", "businessNature", "type", "input", "pInputText", "", "maxlength", "250", 3, "formControl"], ["rules", "rows"], [2, "text-align", "center"], ["formArrayName", "wageAmountArray"], [3, "formGroupName", 4, "ngFor", "ngForOf"], [3, "formGroupName"], [3, "for"], ["ariaLabel", "wageAmount", "formControlName", "wageAmount", "mode", "currency", "maxlength", "12", "currency", "USD", "locale", "en-US", 3, "inputId", "min", "max"], ["colspan", "2"], [3, "field", "form", "errDef"], ["for", "severance"], ["inputId", "severance", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["tabindex", "0", "shape", "round", "type", "submit", 2, "width", "80px", 3, "click", "keyup.space", "keyup.enter"]], template: function AddEmployerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2554
2543
|
i0.ɵɵelementStart(0, "p-dialog", 0)(1, "h4", 1);
|
|
2555
2544
|
i0.ɵɵtext(2);
|
|
2556
2545
|
i0.ɵɵpipe(3, "translate");
|
|
2557
2546
|
i0.ɵɵelementEnd();
|
|
2558
|
-
i0.ɵɵelementStart(4, "form", 2);
|
|
2559
|
-
i0.ɵɵtemplate(
|
|
2547
|
+
i0.ɵɵelementStart(4, "form", 2, 3);
|
|
2548
|
+
i0.ɵɵtemplate(6, AddEmployerComponent_ion_grid_6_Template, 68, 66, "ion-grid", 4);
|
|
2560
2549
|
i0.ɵɵelementEnd()();
|
|
2561
2550
|
} if (rf & 2) {
|
|
2562
|
-
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(11,
|
|
2563
|
-
i0.ɵɵproperty("showHeader", false)("draggable", false)("resizable", false)("breakpoints", i0.ɵɵpureFunction0(12,
|
|
2551
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(11, _c7));
|
|
2552
|
+
i0.ɵɵproperty("showHeader", false)("draggable", false)("resizable", false)("breakpoints", i0.ɵɵpureFunction0(12, _c8));
|
|
2564
2553
|
i0.ɵɵadvance(2);
|
|
2565
2554
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.heading"), " ");
|
|
2566
2555
|
i0.ɵɵadvance(2);
|
|
2567
2556
|
i0.ɵɵproperty("formGroup", ctx.addEmployerForm);
|
|
2568
|
-
i0.ɵɵadvance(
|
|
2557
|
+
i0.ɵɵadvance(2);
|
|
2569
2558
|
i0.ɵɵproperty("ngIf", ctx.addEmployerForm == null ? null : ctx.addEmployerForm.controls);
|
|
2570
|
-
} }, dependencies: [
|
|
2559
|
+
} }, dependencies: [i10.IonButton, i10.IonCol, i10.IonGrid, i10.IonRow, i11.NgForOf, i11.NgIf, i4.PrimeTemplate, i12.MatError, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i1.FormControlName, i1.FormGroupName, i1.FormArrayName, i13.Dialog, i14.Table, i15.InputText, i16.InputMask, i17.Calendar, i18.SelectButton, i19.InputNumber, i20.Dropdown, i21.ErrorComponent, i22.OverlayInfoComponent, i23.SearchEmployerComponent, i24.AddressComponent, i11.CurrencyPipe, i25.TranslatePipe], styles: [".p-fluid[_ngcontent-%COMP%] .p-buttonset[_ngcontent-%COMP%]{display:flex}.p-selectbutton[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{width:50px!important}.disabled[_ngcontent-%COMP%]{cursor:not-allowed;pointer-events:none}.disabled[_ngcontent-%COMP%] *{color:gray;border-color:gray}table[_ngcontent-%COMP%], th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{border-collapse:collapse;padding:5px}table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#f1f1f1}table[_ngcontent-%COMP%]{width:100%}.app-grid[_ngcontent-%COMP%]{color:red}"] }); }
|
|
2571
2560
|
}
|
|
2572
2561
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddEmployerComponent, [{
|
|
2573
2562
|
type: Component,
|
|
2574
|
-
args: [{ selector: 'app-add-employer', template: "<p-dialog visible=\"true\" position=\"top\" appendTo=\"body\" [showHeader]=\"false\" [draggable]=\"false\"\r\n [resizable]=\"false\" [style]=\"{width: '60vw'}\"\r\n [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\">\r\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\"> {{\"induction.confirm.employment.heading\"|translate}}\r\n </h4>\r\n <form [formGroup]=\"addEmployerForm\">\r\n <ion-grid *ngIf=\"addEmployerForm?.controls\"> <!--To Review-->\r\n <ion-row>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer\">\r\n {{customerName}}\r\n <div *ngIf=\"aliasName != null\">\r\n {{\"induction.confirm.employment.dba\"|translate}} {{aliasName}}</div>\r\n <br>\r\n <span style=\"font-size: 12px;\"> {{mailingAddressDisplay}}\r\n </span>\r\n <div *ngIf=\"isCSR\">\r\n <br>\r\n {{\"induction.confirm.employment.employer.wages\"|translate}}\r\n </div>\r\n <div class=\"field\" *ngIf=\"isCSR\">\r\n <p-table [value]=\"employerProvidedWages\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\"\r\n [columns]=\"employerProvidedWages\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n <b>{{ col.qtrYearDisplayString }}</b>\r\n </th>\r\n </tr>\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n {{col.wageAmount | currency}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"workFlag?.value == 'Y'\">\r\n <label>{{\"induction.confirm.employment.workflag.no\"|translate}}<br /> <br />\r\n {{\"induction.confirm.employment.workflag.no.line2\"|translate}}</label>\r\n </div> \r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer\">\r\n <label for=\"employerType\">{{\"induction.add.employment.employer.type\"|translate}}</label>\r\n <div style=\"inline-size: inherit;\">\r\n <p-selectButton inputId=\"employerType\" [options]=\"employerTypeOptions\" optionLabel=\"text\" optionValue=\"value\"\r\n [formControl]=\"employerType\" [class.disabled]=\"noEditMode\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerType' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG' \">\r\n <label for=\"prevWorkedState\">{{\"induction.add.employment.work.state\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"prevWorkedState\" [options]=\"prevWorkedStateOptions\" [formControl]=\"prevWorkedState\" optionLabel=\"text\"\r\n optionValue=\"value\" [class.disabled]=\"noEditMode\"\r\n (onOptionClick)=\"onToggleChangePrevWorkedState($event)\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='prevWorkedState' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG' \">\r\n <label for=\"employerName\">{{\"induction.add.employment.employer.name\"|translate}}</label>\r\n <div *ngIf=\"prevWorkedState.value==='KS'; else elseBlock\">\r\n <app-search-employer inputId=\"employerName\" [formControl]=\"employerName\" empType=\"REG\" (onFound)=\"setEmployer($event)\"\r\n (onEmpty)=\"resetEmployer($event)\"></app-search-employer>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ng-template #elseBlock>\r\n <div class=\"field\">\r\n <input id=\"employerName\" type=\"input\" pInputText [formControl]=\"othStateEmpName\" maxlength=\"50\">\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='othStateEmpName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"field\" style=\"width: inherit !important;\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedEmployerName\">{{\"induction.add.employment.employer.fed.name\"|translate}}</label>\r\n <app-search-employer [formControl]=\"fedEmployerName\" empType=\"FED\" (onFound)=\"setFedEmployer($event)\"\r\n (onEmpty)=\"resetFedEmployer($event)\"></app-search-employer>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedEmployerName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label id=\"serviceBranch-label\" for=\"serviceBranch\">{{\"induction.add.employment.mil.service.branch\"|translate}}</label>\r\n <p-dropdown [options]=\"militaryServiceOptions\" [formControl]=\"serviceBranch\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"serviceBranch\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='serviceBranch' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label id=\"mil-state-label\" for=\"mil-state\">\r\n {{\"induction.add.employment.physical.location\"|translate}}\r\n </label>\r\n <p-dropdown [formControl]=\"milState\" [options]=\"statesOptions\" optionLabel=\"text\" inputId=\"mil-state\" appendTo=\"body\">\r\n\r\n </p-dropdown>\r\n <app-error class=\"app-grid\" [form]=\"isFormSubmitted\" [field]=\"milState\" [errDef]=\"{\r\n required: required,\r\n requiredKansas: requiredKansas\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='MIL'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateMil\">{{\"induction.add.employment.mil.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateMil\" [showIcon]=\"true\" inputId=\"startDateMil\"\r\n [formControl]=\"startDateMil\" [maxDate]=\"dateTime\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [minDate]=\"minWorkStartDate\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDateMil' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateMil\">{{\"induction.add.employment.mil.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateMil\" [showIcon]=\"true\" inputId=\"endDateMil\" [maxDate]=\"dateTime\"\r\n [minDate]=\"minDate\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateMil\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDateMil' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='FED' && hideFicCode\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficCode\">{{\"induction.add.employment.fed.fic.code\"|translate}}</label>\r\n <input id=\"ficCode\" type=\"input\" pInputText [formControl]=\"ficCode\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='ficCode' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficDestinationName\">{{\"induction.add.employment.fed.fic.destination\"|translate}}</label>\r\n <input id=\"ficDestinationName\" type=\"input\" pInputText [formControl]=\"ficDestinationName\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='ficDestinationName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding-left: 0px; padding-right: 0px;\">\r\n <app-address #address1 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\">\r\n </app-address>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <app-address readonly=\"true\" #address2 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\"> </app-address>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]=\"address\" [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n <mat-error class=\"app-grid\" *ngIf=\"address?.errors?.addressValidationFlag && isFormSubmitted.submitted\">\r\n {{\"common.valid.address\"|translate}}\r\n </mat-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workCity\">{{\"induction.add.employment.work.location.city\"|translate}} </label>\r\n <input id=\"workCity\" type=\"input\" pInputText [formControl]=\"workCity\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workCity' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label id=\"workState-label\" for=\"workState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <p-dropdown [options]=\"prevWorkedState.value==='KS'?statesOptions:nonKSStatesOptions\"\r\n [formControl]=\"workState\" optionLabel=\"text\" appendTo=\"body\" [autoDisplayFirst]=\"false\"\r\n inputId=\"workState\" (onChange)=\"validateWagesDisplay($event)\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workState' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label id=\"fedWorkCountry-label\" for=\"fedWorkCountry\">{{\"induction.add.employment.fed.work.location.country\"|translate}}</label>\r\n <p-dropdown [options]=\"workCountryOptions\" [formControl]=\"fedWorkCountry\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"fedWorkCountry\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkCountry' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fedWorkCity\">{{\"induction.add.employment.work.location.city\"|translate}}</label>\r\n <input id=\"fedWorkCity\" type=\"input\" pInputText [formControl]=\"fedWorkCity\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkCity' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\" *ngIf=\"showWorkState === true\">\r\n <div class=\"field\">\r\n <label id=\"fedWorkState-label\" for=\"fedWorkState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <p-dropdown [options]=\"statesOptions\" [formControl]=\"fedWorkState\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkState\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkState' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateFed\">{{\"induction.add.employment.fed.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateFed\" [showIcon]=\"true\" [maxDate]=\"dateTime\" inputId=\"startDateFed\"\r\n [formControl]=\"startDateFed\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" appendTo=\"body\"\r\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [minDate]=\"minWorkStartDate\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDateFed' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateFed\">{{\"induction.add.employment.fed.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateFed\" [showIcon]=\"true\" inputId=\"endDateFed\" [maxDate]=\"dateTime\"\r\n [minDate]=\"minDate\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateFed\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDateFed' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedJobTileOrPosition\">{{\"induction.add.employment.fed.jobtitle\"|translate}}</label>\r\n <input id=\"fedJobTileOrPosition\" type=\"input\" pInputText [formControl]=\"fedJobTileOrPosition\"\r\n maxlength=\"100\" />\r\n <!-- <p-autoComplete [formControl]=\"fedJobTileOrPosition\" [suggestions]=\"fedJobTileOptions\" \r\n (completeMethod)=\"filterFedJobTileOrPosition($event)\" field=\"jobTitle\" [dropdown]=\"false\" \r\n placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedJobTileOrPosition' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"sfEightflag\">{{\"induction.add.employment.fed.sfeight\"|translate}} </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"sfEightflag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"sfEightflag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sfEightflag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG'\">\r\n\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDate\">{{\"induction.confirm.employment.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDate\" [showIcon]=\"true\" inputId=\"startDate\" [maxDate]=\"dateTime\"\r\n [formControl]=\"startDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" [minDate]=\"minWorkStartDate\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDate\">{{\"induction.confirm.employment.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDate\" [showIcon]=\"true\" inputId=\"endDate\" [minDate]=\"minDate\"\r\n [maxDate]=\"dateTime\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDate\"\r\n (onBlur)=\"validateWagesDisplay($event)\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n (onSelect)=\"validateWagesDisplay($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n <ion-row *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\"> \r\n <!-- <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"numberEmployed\">{{\"induction.add.employment.reg.employees.no\" | translate}} </label>\r\n <p-inputNumber [id]=\"numberEmployed\" [useGrouping]=\"false\" [formControl]=\"numberEmployed\"\r\n maxlength=\"9\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='numberEmployed' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col> -->\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workType\">{{\"induction.add.employment.reg.work.type\" | translate}}</label>\r\n <input id=\"workType\" type=\"input\" pInputText [formControl]=\"workType\" maxlength=\"50\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workType' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"claimantEmployedWithEmpr\">Were you employed while a spouse of a US military member stationed at\r\n a foreign military base?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"yesNoNaOptions\" [formControl]=\"claimantEmployedWithEmpr\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='claimantEmployedWithEmpr' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"performedService\">{{\"induction.add.employment.fed.civilian.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"performedService\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"performedService\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='performedService' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"jobTileOrPosition\">{{\"induction.confirm.employment.jobtitle\"|translate}}</label>\r\n <input id=\"jobTileOrPosition\" type=\"input\" pInputText [formControl]=\"jobTileOrPosition\" maxlength=\"100\" />\r\n <!-- <p-autoComplete [formControl]=\"jobTileOrPosition\" [suggestions]=\"jobTileOrPositionOptions\" \r\n (completeMethod)=\"filterJobTileOrPosition($event)\" field=\"jobTitle\" (onClear)=\"onClearAction($event)\" \r\n [dropdown]=\"false\" placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='jobTileOrPosition' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG' && isBasePeriodEmployer && workFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.confirm.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\"\r\n locale=\"en-US\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\">\r\n <div class=\"field\">\r\n <label id=\"payRateFrequency-label\" for=\"payRateFrequency\">{{\"induction.confirm.employment.per\"|translate}}</label>\r\n <p-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRateFrequency' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"employerTelephoneNumber\">{{\"induction.confirm.employment.employer.phone\"|translate}}</label>\r\n\r\n <p-inputMask mask=\"999-999-9999\" inputId=\"employerTelephoneNumber\" [formControl]=\"employerTelephoneNumber\"\r\n placeholder=\"999-999-9999\"></p-inputMask>\r\n\r\n\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerTelephoneNumber' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value=='REG' || employerType.value==='FED'\">\r\n <label id=\"reasonSeparation-label\" for=\"reasonSeparation\" *ngIf=\"employerType.value==='REG'\">{{\"induction.confirm.employment.reason.separation\"|translate}}</label>\r\n <label id=\"reasonSeparation-label\" for=\"reasonSeparation\" *ngIf=\"employerType.value==='FED'\">{{\"induction.add.employment.fed.reason.separation\"|translate}}</label>\r\n <p-dropdown [options]=\"employmentStatusOptionsAll\" [formControl]=\"reasonSeparation\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"reasonSeparation\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='reasonSeparation' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <!-- add for quit and discharge -->\r\n <div class=\"field\" *ngIf=\"reasonSeparation.value?.value === 'DCFI' \r\n && employerType.value!='MIL'\">\r\n <label id=\"dischargeDetail-label\" for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label>\r\n <p-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"dischargeDetail\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"dischargeDetail\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='dischargeDetail' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"reasonSeparation.value?.value === 'VOLQ' \r\n && employerType.value!='MIL'\">\r\n <label id=\"volQuitDetails-label\" for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label>\r\n <p-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"volQuitDetails\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"volQuitDetails\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='volQuitDetails' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"milPensionFlag\">{{\"induction.add.employment.mil.pension\"|translate}}\r\n <br> {{\"induction.add.employment.mil.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"milPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"milPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='milPensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\"\r\n *ngIf=\"employerType.value==='MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"milPensionRecvDate\">{{\"induction.add.employment.mil.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"milPensionRecvDate\" [formControl]=\"milPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='milPensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"dd214Flag\">{{\"induction.add.employment.mil.dd214\"|translate}}\r\n </label><br>\r\n <div style=\"inline-size: min-content; display: inline-flex;\">\r\n <p-selectButton inputId=\"dd214Flag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"dd214Flag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info [overlayText]=\"dd214Info\"></app-overlay-info>\r\n </div>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='dd214Flag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='Y'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"paraOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFour | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFive | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraSix| translate)\" style=\"padding-left: 15px;\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='N'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"noParaOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFour | translate)\"\r\n style=\"padding-left: 15px;\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFive | translate)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer && osaBpEmployerFlag.value ==='1'\"> <!--Old code-->\r\n <ion-col style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">\r\n {{\"induction.add.employment.total.wages.earned\"|translate}}\r\n </label>\r\n <p-inputNumber inputId=\"grossWages\" [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px; padding-top: 0px;\" *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.add.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\"\r\n [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px;padding-top: 0px;\" *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label id=\"payRateFrequency-label\" for=\"payRateFrequency\">{{\"induction.add.employment.per\"|translate}}</label>\r\n <p-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRateFrequency' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <!-- <ion-col *ngIf=\"displayVerificationOfWages.value\" style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col> -->\r\n <!--<ion-col *ngIf=\"displayVerificationOfWages.value style=\"padding-top: 0px;\"> Old Code-->\r\n <ion-col *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer\" style=\"padding-top: 0px;\"> <!--New condition was added-->\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">{{\"induction.add.employment.total.wages.earned\"|translate}}</label>\r\n <p-inputNumber inputId=\"grossWages\" [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col> \r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' \">\r\n <label for=\"fedPensionFlag\">{{\"induction.add.employment.fed.pension\"|translate}}\r\n <br> {{\"induction.add.employment.fed.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton inputId=\"fedPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"fedPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.fed.pension.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedPensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\"\r\n *ngIf=\"employerType.value==='FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"fedPensionRecvDate\">{{\"induction.add.employment.fed.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"fedPensionRecvDate\" [formControl]=\"fedPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedPensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.currentState === 'ME' \">\r\n <label for=\"sevPayFlag\">{{\"induction.add.employment.fed.severance\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"sevPayFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"sevPayFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"weeklyAmount\">{{\"induction.add.employment.fed.severance.weekly.amt\"|translate}}</label>\r\n <p-inputNumber inputId=\"weeklyAmount\" [formControl]=\"weeklyAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='weeklyAmount' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"numberOfWeeks\">{{\"induction.add.employment.fed.severance.weeks\"|translate}}</label>\r\n <p-inputNumber inputId=\"numberOfWeeks\" [useGrouping]=\"false\" [formControl]=\"numberOfWeeks\" maxlength=\"4\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='numberOfWeeks' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col>\r\n <div class=\"field\">\r\n <label for=\"sevPayAmount\">{{\"induction.add.employment.fed.severance.entitlement\"|translate}}</label>\r\n <p-inputNumber inputId=\"sevPayAmount\" [formControl]=\"sevPayAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayAmount' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayStartDate\">{{\"induction.add.employment.fed.severance.start.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayStartDate\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" [formControl]=\"sevPayStartDate\" [yearNavigator]=\"true\"\r\n yearRange=\"1901:2050\" appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\"\r\n dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayStartDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayEndDate\">{{\"induction.add.employment.fed.severance.end.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayEndDate\" [formControl]=\"sevPayEndDate\"\r\n [yearNavigator]=\"true\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\"\r\n appendTo=\"body\" [minDate]=\"minDate\" dataType=\"string\" [showOnFocus]=\"false\"\r\n (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayEndDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col>\r\n <div class=\"field\">\r\n <label\r\n for=\"sevPayPaymentStartDate\">{{\"induction.add.employment.fed.severance.pay.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayPaymentStartDate\" [formControl]=\"sevPayPaymentStartDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayPaymentStartDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG' && workFlag.value==='Y'\">\r\n <label for=\"pensionFlag\">{{\"induction.confirm.employment.pension\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"pensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"pensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='pensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> \r\n \r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer && workFlag.value==='Y' && pensionFlag.value==='Y'\r\n && employerType.value==='REG' \"> <!-- this is questionable because above dependent question does not have isBasePeriodEmployer -->\r\n <label for=\"pensionRecvDate\">{{\"induction.confirm.employment.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"pensionRecvDate\" [formControl]=\"pensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='pensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\">\r\n <label for=\"regPensionFlag\">{{\"induction.add.employment.reg.pension\"|translate}} <br />\r\n {{\"induction.add.employment.reg.pension.disclaimer\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton inputId=\"regPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"regPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.pension.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='regPensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\r\n && regPensionFlag.value==='Y'\">\r\n <label for=\"regPensionRecvDate\">{{\"induction.add.employment.reg.pension.date\"|translate}}</label>\r\n \r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"regPensionRecvDate\" [formControl]=\"regPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='regPensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"isClmtPaidWhileLow\">{{\"induction.confirm.employment.employer.pay.return.to.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"isClmtPaidWhileLow\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.employerPayReturnToWorkInfo'| translate}}\" \r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='isClmtPaidWhileLow' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"hasShortTermDisability\">{{\"induction.confirm.employment.shorttermdisability\"|translate}} {{bpStartDateToDisplay | date:'MMMM d, yyyy'}} ?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"hasShortTermDisability\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hasShortTermDisability' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState==='ME'\">\r\n <label for=\"hasRecvRemuneration\">{{\"induction.confirm.employment.remuneration.pay\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"hasRecvRemuneration\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hasRecvRemuneration' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='REG' && currentState==='ME' && hasRecvRemuneration.value==='Y' && osaBpEmployerFlag.value==='0'\">\r\n <label for=\"remunerationTypes\">{{\"induction.confirm.employment.remuneration.types\"|translate}}</label>\r\n <p-checkbox [name]=\"'remunerationtypes-group'\" [value]=\"choice.value\" \r\n [label]=\"choice.text\" *ngFor=\"let choice of remunerationTypeOptions\" [formControl]=\"remunerationTypes\"\r\n styleClass=\"app-p-checkbox\"></p-checkbox>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='remunerationTypes' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"vacation\">{{\"induction.confirm.employment.vacation.break\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"vacation\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='vacation' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!--<div *ngIf=\"displayVerificationOfWages.value && employerType.value==='REG'\"> Stephen Code-->\r\n <div *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <div class=\"field\">\r\n <h4>{{\"induction.add.employment.reg.verification.wages.header\"|translate}}</h4>\r\n </div>\r\n <div class=\"field\">\r\n <label>{{\"induction.add.employment.reg.verification.wages.subheader\"|translate}}</label>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"paymentType\">{{\"induction.add.employment.reg.verification.wages.paymode\"|translate}}</label>\r\n <p-selectButton inputId=\"paymentType\" unselectable=\"true\" [options]=\"payMethodOptions\" [formControl]=\"paymentType\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='paymentType' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"docsReceived\">{{\"induction.add.employment.reg.verification.wages.docs\"|translate}}</label>\r\n <p-selectButton inputId=\"docsReceived\" unselectable=\"true\" [options]=\"wageProofOptions\" [formControl]=\"docsReceived\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='docsReceived' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"otherSSNFlag\">{{\"induction.add.employment.reg.verification.wages.other.ssn.flag\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"otherSSNFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"otherSSNFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherSSNFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherSSNFlag.value === 'Y'\">\r\n <label for=\"otherSSN\">{{\"induction.add.employment.reg.verification.wages.other.ssn\"|translate}}</label>\r\n <p-inputMask inputId=\"otherSSN\" mask=\"999-99-9999\" [formControl]=\"otherSSN\" placeholder=\"999-99-9999\">\r\n </p-inputMask>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherSSN' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n\r\n <!-- <div class=\"field\">\r\n <label for=\"hiredBy\">Manager's Name & Title</label>\r\n <input id=\"hiredBy\" type=\"input\" pInputText [formControl]=\"hiredBy\" maxlength=\"40\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hiredBy' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error> \r\n </div> -->\r\n </div>\r\n\r\n <!-- <ion-row *ngIf=\"employerType.value==='FED'\"> Stephen Code -->\r\n\r\n <ion-row *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\"> \r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label\r\n for=\"otherNameFlag\">{{\"induction.add.employment.reg.verification.wages.other.name.flag\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"otherNameFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"otherNameFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherNameFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherNameFlag.value === 'Y'\">\r\n \r\n <label\r\n for=\"otherName\">{{\"induction.add.employment.reg.verification.wages.other.name\"|translate}}</label>\r\n <input id=\"otherName\" type=\"input\" pInputText [formControl]=\"otherName\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <!-- <ion-row *ngIf=\"workState.value && workState.value.value==='KS' && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fein\">FEIN</label>\r\n <p-inputNumber [id]=\"fein\" [useGrouping]=\"false\" [formControl]=\"fein\" maxlength=\"9\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fein' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"doingBusinessAs\">Doing Business As/Trade Name</label>\r\n <input id=\"doingBusinessAs\" type=\"input\" pInputText [formControl]=\"doingBusinessAs\" maxlength=\"100\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='doingBusinessAs' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row> -->\r\n\r\n <ion-row *ngIf=\"employerType.value==='REG' && displayVerificationOfWages?.value \r\n && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"businessNature\">{{\"induction.add.employment.reg.verification.nature\"|translate}}</label>\r\n <input id=\"businessNature\" type=\"input\" pInputText [formControl]=\"businessNature\" maxlength=\"250\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='businessNature' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <!-- <div *ngIf=\"employerType.value==='FED' || (displayVerificationOfWages?.value && employerType.value==='REG' && prevWorkedState?.value === 'KS')\">\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\"> Stephen Code -->\r\n <!-- <div *ngIf=\"employerType.value==='FED' && isNewClaim\">\r\n <!--<label>{{\"induction.add.employment.fed.verification.wages\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n \r\n </div> -->\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label>{{\"induction.add.employment.fed.verification.wages.statement\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' || (employerType.value==='REG' && displayVerificationOfWages?.value)\">\r\n <label>{{\"induction.add.employment.reg.verification.wages\"|translate}}</label>\r\n <table rules=\"rows\">\r\n <tr>\r\n <th style=\"text-align: center;\">{{\"induction.add.employment.reg.verification.wages.col1\"|translate}}\r\n </th>\r\n <th>{{\"induction.add.employment.reg.verification.wages.col2\"|translate}}</th>\r\n </tr>\r\n <ng-container formArrayName=\"wageAmountArray\">\r\n <ng-container *ngFor=\"let wageAmountForm of wageAmountArray.controls; let i = index\"\r\n [formGroupName]=\"i\">\r\n <tr *ngIf=\"((employerType.value==='FED') || (employerType.value==='REG' && wageAmountForm.value.displayForAll===true) )\">\r\n <td>\r\n <label [for]=\"'wageAmountArray-' + i\" >{{wageAmountForm.value.qtrYearDisplayString}}</label>\r\n </td>\r\n <td>\r\n <p-inputNumber [inputId]=\"'wageAmountArray-' + i\" ariaLabel=\"wageAmount\" formControlName=\"wageAmount\" mode=\"currency\" [min]=\"0.00\" [max]=\"999999.99\" maxlength=\"12\" currency=\"USD\" locale=\"en-US\">\r\n </p-inputNumber>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf=\"wageAmountArray.errors?.requireCheckboxToBeChecked\">\r\n <td colspan=\"2\">\r\n <app-error [class]=\"'app-grid'\" [field]='wageAmountArray' [form]=\"isFormSubmitted\" [errDef]=\"{\r\n requireCheckboxToBeChecked: 'at least one amount must be greater than zero'\r\n }\"></app-error>\r\n </td>\r\n </tr> \r\n </ng-container>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"severance\">{{\"induction.add.employment.reg.severance\"|translate}}</label>\r\n <div>\r\n <p-selectButton inputId=\"severance\" [options]=\"radioOptions\" [formControl]=\"severance\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='severance'\r\n [errDef]=\"{required: required}\"></app-error>\r\n </div>\r\n \r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button [autofocus]=\"true\" tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" fill=\"outline\" (click)=\"onModelCancel(false)\" (keyup.space)=\"onModelCancel(false)\" (keyup.enter)=\"onModelCancel(false)\"\r\n type=\"reset\">{{\"induction.employment.button.cancel\"|translate}} </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" (click)=\"save()\" type=\"submit\" *ngIf=\"isBasePeriodEmployer\" (keyup.space)=\"save()\" (keyup.enter)=\"save()\">\r\n {{\"induction.employment.button.save\"|translate}} </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" (click)=\"add()\" type=\"submit\" *ngIf=\"!isBasePeriodEmployer\" (keyup.space)=\"add()\" (keyup.enter)=\"add()\"\r\n [attr.aria-label]=\"'Add an employer' | translate\"> {{\"induction.employment.button.add\"|translate}}\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</p-dialog>", styles: [".p-fluid .p-buttonset{display:flex}.p-selectbutton .p-button{width:50px!important}.disabled{cursor:not-allowed;pointer-events:none}.disabled ::ng-deep *{color:gray;border-color:gray}table,th,td{border-collapse:collapse;padding:5px}table th{background-color:#f1f1f1}table{width:100%}.app-grid{color:red}\n"] }]
|
|
2575
|
-
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.ValidationService }, { type: i3.UtilService }, { type: i4.FilterService }, { type: i5.LoggerService }, { type: i6.DomSanitizer }, { type: i7.ClaimService }, { type: i8.LoginService }, { type: i0.ElementRef }, { type: i9.ActivatedRoute }
|
|
2563
|
+
args: [{ selector: 'app-add-employer', template: "<p-dialog visible=\"true\" position=\"top\" appendTo=\"body\" [showHeader]=\"false\" [draggable]=\"false\"\r\n [resizable]=\"false\" [style]=\"{width: '60vw'}\"\r\n [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\">\r\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\"> {{\"induction.confirm.employment.heading\"|translate}}\r\n </h4>\r\n <form #employerForm [formGroup]=\"addEmployerForm\">\r\n <ion-grid *ngIf=\"addEmployerForm?.controls\"> <!--To Review-->\r\n <ion-row>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer\">\r\n {{customerName}}\r\n <div *ngIf=\"aliasName != null\">\r\n {{\"induction.confirm.employment.dba\"|translate}} {{aliasName}}</div>\r\n <br>\r\n <span style=\"font-size: 12px;\"> {{mailingAddressDisplay}}\r\n </span>\r\n <div *ngIf=\"isCSR\">\r\n <br>\r\n {{\"induction.confirm.employment.employer.wages\"|translate}}\r\n </div>\r\n <div class=\"field\" *ngIf=\"isCSR\">\r\n <p-table [value]=\"employerProvidedWages\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\"\r\n [columns]=\"employerProvidedWages\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n <b>{{ col.qtrYearDisplayString }}</b>\r\n </th>\r\n </tr>\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n {{col.wageAmount | currency}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"workFlag?.value == 'Y'\">\r\n <label>{{\"induction.confirm.employment.workflag.no\"|translate}}<br /> <br />\r\n {{\"induction.confirm.employment.workflag.no.line2\"|translate}}</label>\r\n </div> \r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer\">\r\n <label for=\"employerType\">{{\"induction.add.employment.employer.type\"|translate}}</label>\r\n <div style=\"inline-size: inherit;\">\r\n <p-selectButton inputId=\"employerType\" [options]=\"employerTypeOptions\" optionLabel=\"text\" optionValue=\"value\"\r\n [formControl]=\"employerType\" [class.disabled]=\"noEditMode\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerType' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG' \">\r\n <label for=\"prevWorkedState\">{{\"induction.add.employment.work.state\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"prevWorkedState\" [options]=\"prevWorkedStateOptions\" [formControl]=\"prevWorkedState\" optionLabel=\"text\"\r\n optionValue=\"value\" [class.disabled]=\"noEditMode\"\r\n (onOptionClick)=\"onToggleChangePrevWorkedState($event)\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='prevWorkedState' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG' \">\r\n <label for=\"employerName\">{{\"induction.add.employment.employer.name\"|translate}}</label>\r\n <div *ngIf=\"prevWorkedState.value==='KS'; else elseBlock\">\r\n <app-search-employer inputId=\"employerName\" [formControl]=\"employerName\" empType=\"REG\" (onFound)=\"setEmployer($event)\"\r\n (onEmpty)=\"resetEmployer($event)\"></app-search-employer>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerName' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <ng-template #elseBlock>\r\n <div class=\"field\">\r\n <input id=\"employerName\" type=\"input\" pInputText [formControl]=\"othStateEmpName\" maxlength=\"50\">\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='othStateEmpName' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"field\" style=\"width: inherit !important;\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedEmployerName\">{{\"induction.add.employment.employer.fed.name\"|translate}}</label>\r\n <app-search-employer [formControl]=\"fedEmployerName\" empType=\"FED\" (onFound)=\"setFedEmployer($event)\"\r\n (onEmpty)=\"resetFedEmployer($event)\"></app-search-employer>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedEmployerName' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label id=\"serviceBranch-label\" for=\"serviceBranch\">{{\"induction.add.employment.mil.service.branch\"|translate}}</label>\r\n <p-dropdown [options]=\"militaryServiceOptions\" [formControl]=\"serviceBranch\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"serviceBranch\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='serviceBranch' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label id=\"mil-state-label\" for=\"mil-state\">\r\n Where are you physically located at this time?\r\n </label>\r\n <p-dropdown [formControl]=\"milState\" [options]=\"statesOptions\" optionLabel=\"text\" inputId=\"mil-state\" appendTo=\"body\">\r\n\r\n </p-dropdown>\r\n <app-error class=\"app-grid\" [form]=\"isFormSubmitted\" [field]=\"milState\" [errDef]=\"{\r\n required: 'required',\r\n requiredKansas: 'Based on some of your responses you need to call the KDOL Call Center to file your claim.'\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='MIL'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateMil\">{{\"induction.add.employment.mil.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateMil\" [showIcon]=\"true\" inputId=\"startDateMil\"\r\n [formControl]=\"startDateMil\" [maxDate]=\"dateTime\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [minDate]=\"minWorkStartDate\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDateMil' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateMil\">{{\"induction.add.employment.mil.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateMil\" [showIcon]=\"true\" inputId=\"endDateMil\" [maxDate]=\"dateTime\"\r\n [minDate]=\"minDate\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateMil\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDateMil' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='FED' && hideFicCode\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficCode\">{{\"induction.add.employment.fed.fic.code\"|translate}}</label>\r\n <input id=\"ficCode\" type=\"input\" pInputText [formControl]=\"ficCode\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='ficCode' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficDestinationName\">{{\"induction.add.employment.fed.fic.destination\"|translate}}</label>\r\n <input id=\"ficDestinationName\" type=\"input\" pInputText [formControl]=\"ficDestinationName\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='ficDestinationName' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding-left: 0px; padding-right: 0px;\">\r\n <app-address #address1 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\">\r\n </app-address>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <app-address readonly=\"true\" #address2 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\"> </app-address>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]=\"address\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <mat-error class=\"app-grid\" *ngIf=\"address?.errors?.addressValidationFlag && isFormSubmitted.submitted\">\r\n Please provide a valid address.\r\n </mat-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workCity\">{{\"induction.add.employment.work.location.city\"|translate}} </label>\r\n <input id=\"workCity\" type=\"input\" pInputText [formControl]=\"workCity\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workCity' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label id=\"workState-label\" for=\"workState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <p-dropdown [options]=\"prevWorkedState.value==='KS'?statesOptions:nonKSStatesOptions\"\r\n [formControl]=\"workState\" optionLabel=\"text\" appendTo=\"body\" [autoDisplayFirst]=\"false\"\r\n inputId=\"workState\" (onChange)=\"validateWagesDisplay($event)\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workState' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label id=\"fedWorkCountry-label\" for=\"fedWorkCountry\">{{\"induction.add.employment.fed.work.location.country\"|translate}}</label>\r\n <p-dropdown [options]=\"workCountryOptions\" [formControl]=\"fedWorkCountry\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"fedWorkCountry\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkCountry' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fedWorkCity\">{{\"induction.add.employment.work.location.city\"|translate}}</label>\r\n <input id=\"fedWorkCity\" type=\"input\" pInputText [formControl]=\"fedWorkCity\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkCity' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\" *ngIf=\"showWorkState === true\">\r\n <div class=\"field\">\r\n <label id=\"fedWorkState-label\" for=\"fedWorkState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <p-dropdown [options]=\"statesOptions\" [formControl]=\"fedWorkState\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkState\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkState' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateFed\">{{\"induction.add.employment.fed.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateFed\" [showIcon]=\"true\" [maxDate]=\"dateTime\" inputId=\"startDateFed\"\r\n [formControl]=\"startDateFed\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" appendTo=\"body\"\r\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [minDate]=\"minWorkStartDate\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDateFed' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateFed\">{{\"induction.add.employment.fed.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateFed\" [showIcon]=\"true\" inputId=\"endDateFed\" [maxDate]=\"dateTime\"\r\n [minDate]=\"minDate\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateFed\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDateFed' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedJobTileOrPosition\">{{\"induction.add.employment.fed.jobtitle\"|translate}}</label>\r\n <input id=\"fedJobTileOrPosition\" type=\"input\" pInputText [formControl]=\"fedJobTileOrPosition\"\r\n maxlength=\"100\" />\r\n <!-- <p-autoComplete [formControl]=\"fedJobTileOrPosition\" [suggestions]=\"fedJobTileOptions\" \r\n (completeMethod)=\"filterFedJobTileOrPosition($event)\" field=\"jobTitle\" [dropdown]=\"false\" \r\n placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedJobTileOrPosition' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"sfEightflag\">{{\"induction.add.employment.fed.sfeight\"|translate}} </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"sfEightflag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"sfEightflag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sfEightflag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG'\">\r\n\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDate\">{{\"induction.confirm.employment.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDate\" [showIcon]=\"true\" inputId=\"startDate\" [maxDate]=\"dateTime\"\r\n [formControl]=\"startDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" [minDate]=\"minWorkStartDate\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDate\">{{\"induction.confirm.employment.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDate\" [showIcon]=\"true\" inputId=\"endDate\" [minDate]=\"minDate\"\r\n [maxDate]=\"dateTime\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDate\"\r\n (onBlur)=\"validateWagesDisplay($event)\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n (onSelect)=\"validateWagesDisplay($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n <ion-row *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\"> \r\n <!-- <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"numberEmployed\">{{\"induction.add.employment.reg.employees.no\" | translate}} </label>\r\n <p-inputNumber [id]=\"numberEmployed\" [useGrouping]=\"false\" [formControl]=\"numberEmployed\"\r\n maxlength=\"9\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='numberEmployed' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col> -->\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workType\">{{\"induction.add.employment.reg.work.type\" | translate}}</label>\r\n <input id=\"workType\" type=\"input\" pInputText [formControl]=\"workType\" maxlength=\"50\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workType' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"claimantEmployedWithEmpr\">Were you employed while a spouse of a US military member stationed at\r\n a foreign military base?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"yesNoNaOptions\" [formControl]=\"claimantEmployedWithEmpr\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='claimantEmployedWithEmpr' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"performedService\">{{\"induction.add.employment.fed.civilian.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"performedService\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"performedService\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='performedService' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"jobTileOrPosition\">{{\"induction.confirm.employment.jobtitle\"|translate}}</label>\r\n <input id=\"jobTileOrPosition\" type=\"input\" pInputText [formControl]=\"jobTileOrPosition\" maxlength=\"100\" />\r\n <!-- <p-autoComplete [formControl]=\"jobTileOrPosition\" [suggestions]=\"jobTileOrPositionOptions\" \r\n (completeMethod)=\"filterJobTileOrPosition($event)\" field=\"jobTitle\" (onClear)=\"onClearAction($event)\" \r\n [dropdown]=\"false\" placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='jobTileOrPosition' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG' && isBasePeriodEmployer && workFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.confirm.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\"\r\n locale=\"en-US\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\">\r\n <div class=\"field\">\r\n <label id=\"payRateFrequency-label\" for=\"payRateFrequency\">{{\"induction.confirm.employment.per\"|translate}}</label>\r\n <p-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRateFrequency' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"employerTelephoneNumber\">{{\"induction.confirm.employment.employer.phone\"|translate}}</label>\r\n\r\n <p-inputMask mask=\"999-999-9999\" inputId=\"employerTelephoneNumber\" [formControl]=\"employerTelephoneNumber\"\r\n placeholder=\"999-999-9999\"></p-inputMask>\r\n\r\n\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerTelephoneNumber' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value=='REG' || employerType.value==='FED'\">\r\n <label id=\"reasonSeparation-label\" for=\"reasonSeparation\" *ngIf=\"employerType.value==='REG'\">{{\"induction.confirm.employment.reason.separation\"|translate}}</label>\r\n <label id=\"reasonSeparation-label\" for=\"reasonSeparation\" *ngIf=\"employerType.value==='FED'\">{{\"induction.add.employment.fed.reason.separation\"|translate}}</label>\r\n <p-dropdown [options]=\"employmentStatusOptionsAll\" [formControl]=\"reasonSeparation\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"reasonSeparation\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='reasonSeparation' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <!-- add for quit and discharge -->\r\n <div class=\"field\" *ngIf=\"reasonSeparation.value?.value === 'DCFI' \r\n && employerType.value!='MIL'\">\r\n <label id=\"dischargeDetail-label\" for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label>\r\n <p-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"dischargeDetail\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"dischargeDetail\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='dischargeDetail' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"reasonSeparation.value?.value === 'VOLQ' \r\n && employerType.value!='MIL'\">\r\n <label id=\"volQuitDetails-label\" for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label>\r\n <p-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"volQuitDetails\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"volQuitDetails\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='volQuitDetails' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"milPensionFlag\">{{\"induction.add.employment.mil.pension\"|translate}}\r\n <br> {{\"induction.add.employment.mil.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"milPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"milPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='milPensionFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\"\r\n *ngIf=\"employerType.value==='MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"milPensionRecvDate\">{{\"induction.add.employment.mil.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"milPensionRecvDate\" [formControl]=\"milPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='milPensionRecvDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"dd214Flag\">{{\"induction.add.employment.mil.dd214\"|translate}}\r\n </label><br>\r\n <div style=\"inline-size: min-content; display: inline-flex;\">\r\n <p-selectButton inputId=\"dd214Flag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"dd214Flag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info [overlayText]=\"dd214Info\"></app-overlay-info>\r\n </div>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='dd214Flag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='Y'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"paraOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFour | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFive | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraSix| translate)\" style=\"padding-left: 15px;\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='N'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"noParaOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFour | translate)\"\r\n style=\"padding-left: 15px;\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFive | translate)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer && osaBpEmployerFlag.value ==='1'\"> <!--Old code-->\r\n <ion-col style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber inputId=\"grossWages\" [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px; padding-top: 0px;\" *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.add.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\"\r\n [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px;padding-top: 0px;\" *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label id=\"payRateFrequency-label\" for=\"payRateFrequency\">{{\"induction.add.employment.per\"|translate}}</label>\r\n <p-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRateFrequency' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <!-- <ion-col *ngIf=\"displayVerificationOfWages.value\" style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col> -->\r\n <!--<ion-col *ngIf=\"displayVerificationOfWages.value style=\"padding-top: 0px;\"> Old Code-->\r\n <ion-col *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer\" style=\"padding-top: 0px;\"> <!--New condition was added-->\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber inputId=\"grossWages\" [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col> \r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' \">\r\n <label for=\"fedPensionFlag\">{{\"induction.add.employment.fed.pension\"|translate}}\r\n <br> {{\"induction.add.employment.fed.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton inputId=\"fedPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"fedPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.fed.pension.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedPensionFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\"\r\n *ngIf=\"employerType.value==='FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"fedPensionRecvDate\">{{\"induction.add.employment.fed.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"fedPensionRecvDate\" [formControl]=\"fedPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedPensionRecvDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.currentState === 'ME' \">\r\n <label for=\"sevPayFlag\">{{\"induction.add.employment.fed.severance\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"sevPayFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"sevPayFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"weeklyAmount\">{{\"induction.add.employment.fed.severance.weekly.amt\"|translate}}</label>\r\n <p-inputNumber inputId=\"weeklyAmount\" [formControl]=\"weeklyAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='weeklyAmount' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"numberOfWeeks\">{{\"induction.add.employment.fed.severance.weeks\"|translate}}</label>\r\n <p-inputNumber inputId=\"numberOfWeeks\" [useGrouping]=\"false\" [formControl]=\"numberOfWeeks\" maxlength=\"4\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='numberOfWeeks' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col>\r\n <div class=\"field\">\r\n <label for=\"sevPayAmount\">{{\"induction.add.employment.fed.severance.entitlement\"|translate}}</label>\r\n <p-inputNumber inputId=\"sevPayAmount\" [formControl]=\"sevPayAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayAmount' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayStartDate\">{{\"induction.add.employment.fed.severance.start.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayStartDate\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" [formControl]=\"sevPayStartDate\" [yearNavigator]=\"true\"\r\n yearRange=\"1901:2050\" appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\"\r\n dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayStartDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayEndDate\">{{\"induction.add.employment.fed.severance.end.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayEndDate\" [formControl]=\"sevPayEndDate\"\r\n [yearNavigator]=\"true\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\"\r\n appendTo=\"body\" [minDate]=\"minDate\" dataType=\"string\" [showOnFocus]=\"false\"\r\n (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayEndDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col>\r\n <div class=\"field\">\r\n <label\r\n for=\"sevPayPaymentStartDate\">{{\"induction.add.employment.fed.severance.pay.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayPaymentStartDate\" [formControl]=\"sevPayPaymentStartDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayPaymentStartDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG' && workFlag.value==='Y'\">\r\n <label for=\"pensionFlag\">{{\"induction.confirm.employment.pension\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"pensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"pensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='pensionFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> \r\n \r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer && workFlag.value==='Y' && pensionFlag.value==='Y'\r\n && employerType.value==='REG' \"> <!-- this is questionable because above dependent question does not have isBasePeriodEmployer -->\r\n <label for=\"pensionRecvDate\">{{\"induction.confirm.employment.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"pensionRecvDate\" [formControl]=\"pensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='pensionRecvDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\">\r\n <label for=\"regPensionFlag\">{{\"induction.add.employment.reg.pension\"|translate}} <br />\r\n {{\"induction.add.employment.reg.pension.disclaimer\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton inputId=\"regPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"regPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.pension.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='regPensionFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\r\n && regPensionFlag.value==='Y'\">\r\n <label for=\"regPensionRecvDate\">{{\"induction.add.employment.reg.pension.date\"|translate}}</label>\r\n \r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"regPensionRecvDate\" [formControl]=\"regPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='regPensionRecvDate' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"isClmtPaidWhileLow\">{{\"induction.confirm.employment.employer.pay.return.to.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"isClmtPaidWhileLow\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.employerPayReturnToWorkInfo'| translate}}\" \r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='isClmtPaidWhileLow' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"hasShortTermDisability\">{{\"induction.confirm.employment.shorttermdisability\"|translate}} {{bpStartDateToDisplay | date:'MMMM d, yyyy'}} ?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"hasShortTermDisability\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hasShortTermDisability' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState==='ME'\">\r\n <label for=\"hasRecvRemuneration\">{{\"induction.confirm.employment.remuneration.pay\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"hasRecvRemuneration\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hasRecvRemuneration' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='REG' && currentState==='ME' && hasRecvRemuneration.value==='Y' && osaBpEmployerFlag.value==='0'\">\r\n <label for=\"remunerationTypes\">{{\"induction.confirm.employment.remuneration.types\"|translate}}</label>\r\n <p-checkbox [name]=\"'remunerationtypes-group'\" [value]=\"choice.value\" \r\n [label]=\"choice.text\" *ngFor=\"let choice of remunerationTypeOptions\" [formControl]=\"remunerationTypes\"\r\n styleClass=\"app-p-checkbox\"></p-checkbox>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='remunerationTypes' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"vacation\">{{\"induction.confirm.employment.vacation.break\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"vacation\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='vacation' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!--<div *ngIf=\"displayVerificationOfWages.value && employerType.value==='REG'\"> Stephen Code-->\r\n <div *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <div class=\"field\">\r\n <h4>{{\"induction.add.employment.reg.verification.wages.header\"|translate}}</h4>\r\n </div>\r\n <div class=\"field\">\r\n <label>{{\"induction.add.employment.reg.verification.wages.subheader\"|translate}}</label>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"paymentType\">{{\"induction.add.employment.reg.verification.wages.paymode\"|translate}}</label>\r\n <p-selectButton inputId=\"paymentType\" unselectable=\"true\" [options]=\"payMethodOptions\" [formControl]=\"paymentType\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='paymentType' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"docsReceived\">{{\"induction.add.employment.reg.verification.wages.docs\"|translate}}</label>\r\n <p-selectButton inputId=\"docsReceived\" unselectable=\"true\" [options]=\"wageProofOptions\" [formControl]=\"docsReceived\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='docsReceived' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"otherSSNFlag\">{{\"induction.add.employment.reg.verification.wages.other.ssn.flag\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"otherSSNFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"otherSSNFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherSSNFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherSSNFlag.value === 'Y'\">\r\n <label for=\"otherSSN\">{{\"induction.add.employment.reg.verification.wages.other.ssn\"|translate}}</label>\r\n <p-inputMask inputId=\"otherSSN\" mask=\"999-99-9999\" [formControl]=\"otherSSN\" placeholder=\"999-99-9999\">\r\n </p-inputMask>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherSSN' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <!-- <div class=\"field\">\r\n <label for=\"hiredBy\">Manager's Name & Title</label>\r\n <input id=\"hiredBy\" type=\"input\" pInputText [formControl]=\"hiredBy\" maxlength=\"40\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hiredBy' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error> \r\n </div> -->\r\n </div>\r\n\r\n <!-- <ion-row *ngIf=\"employerType.value==='FED'\"> Stephen Code -->\r\n\r\n <ion-row *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\"> \r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label\r\n for=\"otherNameFlag\">{{\"induction.add.employment.reg.verification.wages.other.name.flag\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"otherNameFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"otherNameFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherNameFlag' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherNameFlag.value === 'Y'\">\r\n \r\n <label\r\n for=\"otherName\">{{\"induction.add.employment.reg.verification.wages.other.name\"|translate}}</label>\r\n <input id=\"otherName\" type=\"input\" pInputText [formControl]=\"otherName\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherName' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <!-- <ion-row *ngIf=\"workState.value && workState.value.value==='KS' && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fein\">FEIN</label>\r\n <p-inputNumber [id]=\"fein\" [useGrouping]=\"false\" [formControl]=\"fein\" maxlength=\"9\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fein' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"doingBusinessAs\">Doing Business As/Trade Name</label>\r\n <input id=\"doingBusinessAs\" type=\"input\" pInputText [formControl]=\"doingBusinessAs\" maxlength=\"100\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='doingBusinessAs' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row> -->\r\n\r\n <ion-row *ngIf=\"employerType.value==='REG' && displayVerificationOfWages?.value \r\n && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"businessNature\">{{\"induction.add.employment.reg.verification.nature\"|translate}}</label>\r\n <input id=\"businessNature\" type=\"input\" pInputText [formControl]=\"businessNature\" maxlength=\"250\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='businessNature' [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <!-- <div *ngIf=\"employerType.value==='FED' || (displayVerificationOfWages?.value && employerType.value==='REG' && prevWorkedState?.value === 'KS')\">\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\"> Stephen Code -->\r\n <!-- <div *ngIf=\"employerType.value==='FED' && isNewClaim\">\r\n <!--<label>{{\"induction.add.employment.fed.verification.wages\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n \r\n </div> -->\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label>{{\"induction.add.employment.fed.verification.wages.statement\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' || (employerType.value==='REG' && displayVerificationOfWages?.value)\">\r\n <label>{{\"induction.add.employment.reg.verification.wages\"|translate}}</label>\r\n <table rules=\"rows\">\r\n <tr>\r\n <th style=\"text-align: center;\">{{\"induction.add.employment.reg.verification.wages.col1\"|translate}}\r\n </th>\r\n <th>{{\"induction.add.employment.reg.verification.wages.col2\"|translate}}</th>\r\n </tr>\r\n <ng-container formArrayName=\"wageAmountArray\">\r\n <ng-container *ngFor=\"let wageAmountForm of wageAmountArray.controls; let i = index\"\r\n [formGroupName]=\"i\">\r\n <tr *ngIf=\"((employerType.value==='FED') || (employerType.value==='REG' && wageAmountForm.value.displayForAll===true) )\">\r\n <td>\r\n <label [for]=\"'wageAmountArray-' + i\" >{{wageAmountForm.value.qtrYearDisplayString}}</label>\r\n </td>\r\n <td>\r\n <p-inputNumber [inputId]=\"'wageAmountArray-' + i\" ariaLabel=\"wageAmount\" formControlName=\"wageAmount\" mode=\"currency\" [min]=\"0.00\" [max]=\"999999.99\" maxlength=\"12\" currency=\"USD\" locale=\"en-US\">\r\n </p-inputNumber>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf=\"wageAmountArray.errors?.requireCheckboxToBeChecked\">\r\n <td colspan=\"2\">\r\n <app-error [class]=\"'app-grid'\" [field]='wageAmountArray' [form]=\"isFormSubmitted\" [errDef]=\"{\r\n requireCheckboxToBeChecked: 'at least one amount must be greater than zero'\r\n }\"></app-error>\r\n </td>\r\n </tr> \r\n </ng-container>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"severance\">{{\"induction.add.employment.reg.severance\"|translate}}</label>\r\n <div>\r\n <p-selectButton inputId=\"severance\" [options]=\"radioOptions\" [formControl]=\"severance\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='severance'\r\n [errDef]=\"{required: 'required'}\"></app-error>\r\n </div>\r\n \r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button [autofocus]=\"true\" tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" fill=\"outline\" (click)=\"onModelCancel(false)\" (keyup.space)=\"onModelCancel(false)\" (keyup.enter)=\"onModelCancel(false)\"\r\n type=\"reset\">{{\"induction.employment.button.cancel\"|translate}} </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" (click)=\"save()\" type=\"submit\" *ngIf=\"isBasePeriodEmployer\" (keyup.space)=\"save()\" (keyup.enter)=\"save()\">\r\n {{\"induction.employment.button.save\"|translate}} </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" (click)=\"add()\" type=\"submit\" *ngIf=\"!isBasePeriodEmployer\" (keyup.space)=\"add()\" (keyup.enter)=\"add()\"\r\n [attr.aria-label]=\"'Add an employer' | translate\"> {{\"induction.employment.button.add\"|translate}}\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</p-dialog>", styles: [".p-fluid .p-buttonset{display:flex}.p-selectbutton .p-button{width:50px!important}.disabled{cursor:not-allowed;pointer-events:none}.disabled ::ng-deep *{color:gray;border-color:gray}table,th,td{border-collapse:collapse;padding:5px}table th{background-color:#f1f1f1}table{width:100%}.app-grid{color:red}\n"] }]
|
|
2564
|
+
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.ValidationService }, { type: i3.UtilService }, { type: i4.FilterService }, { type: i5.LoggerService }, { type: i6.DomSanitizer }, { type: i7.ClaimService }, { type: i8.LoginService }, { type: i0.ElementRef }, { type: i9.ActivatedRoute }], { address1: [{
|
|
2576
2565
|
type: ViewChild,
|
|
2577
2566
|
args: ['address1']
|
|
2578
2567
|
}], address2: [{
|
|
@@ -2594,6 +2583,9 @@ export class AddEmployerComponent {
|
|
|
2594
2583
|
type: Input
|
|
2595
2584
|
}], basePeriodIndex: [{
|
|
2596
2585
|
type: Output
|
|
2586
|
+
}], employerFormElement: [{
|
|
2587
|
+
type: ViewChild,
|
|
2588
|
+
args: ['employerForm']
|
|
2597
2589
|
}] }); })();
|
|
2598
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddEmployerComponent, { className: "AddEmployerComponent", filePath: "lib\\components\\add-employer\\add-employer.component.ts", lineNumber:
|
|
2599
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBMEQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU9oRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ05sQywyQkFBK0I7SUFDN0IsWUFBOEQ7O0lBQUEsaUJBQU07OztJQUFwRSxlQUE4RDtJQUE5RCxnSEFBOEQ7OztJQUloRSwyQkFBbUI7SUFDakIscUJBQUk7SUFDSixZQUNGOztJQUFBLGlCQUFNOztJQURKLGVBQ0Y7SUFERSxvR0FDRjs7O0lBTVEsMEJBQWdDLFFBQUE7SUFDM0IsWUFBOEI7SUFBQSxpQkFBSSxFQUFBOzs7SUFBbEMsZUFBOEI7SUFBOUIsa0RBQThCOzs7SUFJbkMsMEJBQWdDO0lBQzlCLFlBQ0Y7O0lBQUEsaUJBQUs7OztJQURILGVBQ0Y7SUFE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QUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUosY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUosaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNoSyxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1Six3QkFBd0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDOUssa0JBQWtCLEVBQUUsQ0FBQyxHQUFH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QUFPLEVBQUE7O1lBLytCYSwwQ0FBeUI7WUFEUyxrQ0FBb0Isb0JBQUEsb0JBQUEsNENBQUE7WUFHWCxlQUMvRDtZQUQrRCw2RkFDL0Q7WUFDTSxlQUE2QjtZQUE3QiwrQ0FBNkI7WUFDdEIsZUFBK0I7WUFBL0Isd0ZBQStCOzs7aUZEb0JqQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7NFVBTUwsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBQ0UsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBaUVyQixXQUFXO2tCQURWLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxpQkFBaUI7a0JBRHZCLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLEdBQUc7a0JBRFQsS0FBSztZQU1OLGVBQWU7a0JBRGQsTUFBTTs7a0ZBMUZJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xyXG5pbXBvcnQgeyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnRNb2RlbCwgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWVtcGxveWVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZW1wbG95ZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEVtcGxveWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczEnKSBhZGRyZXNzMTogQWRkcmVzc0NvbXBvbmVudDsgXHJcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczInKSBhZGRyZXNzMjogQWRkcmVzc0NvbXBvbmVudDsgXHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclR5cGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBjb3VudHJ5RmVkT3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIHBheVJhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgZmVkU3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgam9iVGlsZU9yUG9zaXRpb25PcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBmZWRKb2JUaWxlT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgcmFkaW9PcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyB3b3JrT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgeWVzTm9OYU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHBheU1ldGhvZE9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHdhZ2VQcm9vZk9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBub25LU1N0YXRlc09wdGlvbnMgOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBwYXlQZXJpb2Q6IGFueSA9W107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBhZGRFbXBsb3llckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIGRpc3BsYXk6IGJvb2xlYW47XHJcbiAgcHVibGljIGJhc2VQZXJpb2RTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGJhc2VQZXJpb2RFbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBicFN0YXJ0RGF0ZVRvRGlzcGxheTogRGF0ZTtcclxuICBwdWJsaWMgbWluRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgbWluU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VPbmU/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZVR3bz86IHN0cmluZztcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlVGhyZWU/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZvdXI/OiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRRdWFydGVyUmFuZ2U/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZpdmU/OiBzdHJpbmc7XHJcbiAgcHVibGljIGRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgZ3JvdXBlZFJlYXNvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG1pbldvcmtTdGFydERhdGUgOiBEYXRlO1xyXG4gIHB1YmxpYyBwcmV2V29ya2VkU3RhdGVPcHRpb25zOiBhbnkgPVtdO1xyXG5cclxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2Y4SW5mbz1cIlNGLThcIjtcclxuICBwdWJsaWMgZGQyMTRJbmZvPVwiREQgMjE0XCI7XHJcblxyXG4gIHB1YmxpYyBwYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEub25lXCI7XHJcbiAgcHVibGljIHBhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBwYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnRocmVlXCI7XHJcbiAgcHVibGljIHBhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5mb3VyXCI7XHJcbiAgcHVibGljIHBhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5maXZlXCI7XHJcbiAgcHVibGljIHBhcmFTaXg9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnNpeFwiO1xyXG5cclxuICBwdWJsaWMgbm9QYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5vbmVcIjtcclxuICBwdWJsaWMgbm9QYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBub1BhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS50aHJlZVwiO1xyXG4gIHB1YmxpYyBub1BhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZvdXJcIjtcclxuICBwdWJsaWMgbm9QYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5maXZlXCI7XHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclByb3ZpZGVkV2FnZXM6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBtb2RlbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlY29yZEluZGV4VG9FZGl0OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9FZGl0TW9kZTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9iOiBEYXRlO1xyXG5cclxuICBwdWJsaWMgaGlkZUZpY0NvZGU6IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBcclxuICBiYXNlUGVyaW9kSW5kZXg6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gICBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50U3RhdGUgOiBzdHJpbmc7XHJcbiAgcHVibGljIGN1c3RvbWVyTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBhbGlhc05hbWU6IHN0cmluZztcclxuICBwdWJsaWMgbWFpbGluZ0FkZHJlc3NEaXNwbGF5OiBzdHJpbmc7XHJcbiAgcHVibGljIHNjaG9vbEZsYWc6c3RyaW5nO1xyXG4gIHB1YmxpYyBpc09zYUVtcGxveWVyOnN0cmluZyA9IFwiMFwiO1xyXG4gIHB1YmxpYyBpc0NTUjpib29sZWFuO1xyXG4gIHB1YmxpYyBzaG93V29ya1N0YXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgbm9uS3NTdGF0ZTp7dGV4dDpzdHJpbmcsIHZhbHVlOnN0cmluZ31bXTtcclxuICBwdWJsaWMgcXRyV2FnZUxpc3Q6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG4gIHB1YmxpYyBpc0Zvcm1TdWJtaXR0ZWQgPSB7c3VibWl0dGVkOiBmYWxzZX1cclxuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XHJcblxyXG4gIH07XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBcclxuICAgIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIFxyXG4gICAgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIFxyXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBcclxuICAgIHB1YmxpYyBjbGFpbXNTZXJ2aWNlIDogQ2xhaW1TZXJ2aWNlLFxyXG4gICAgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIFxyXG4gICAgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZSA6IFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHsgfVxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuc2V0V29ya1N0YXJ0RGF0ZSgpO1xyXG4gICAgXHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcblxyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgdGhpcy5lbXBsb3llclR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uRU1QTE9ZRVJfVFlQRV9FUztcclxuICAgICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUllfRVM7XHJcbiAgICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRF9FUztcclxuICAgICAgdGhpcy5yYWRpb09wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk9fRVM7XHJcbiAgICAgIHRoaXMud29ya09wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0ZPUl9FTVBMX0VTO1xyXG4gICAgICB0aGlzLnllc05vTmFPcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX05BX0VTO1xyXG4gICAgICB0aGlzLnBheU1ldGhvZE9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlNRU5UX01FVEhPRF9FUztcclxuICAgICAgdGhpcy53YWdlUHJvb2ZPcHRpb25zID0gQ29tYm9PcHRpb24uV0FHRV9QUk9PRl9FUztcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTO1xyXG4gICAgICB0aGlzLm5vbktTU3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLk5PTl9LU19TVEFURVNfRVM7XHJcbiAgICAgIHRoaXMucGF5UGVyaW9kID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRF9FUztcclxuICAgICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUllfRVM7XHJcbiAgICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0VfRVM7XHJcbiAgICAgIHRoaXMucmVtdW5lcmF0aW9uVHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5SRU1VTkVSQVRJT05fVFlQRVNfRVM7XHJcbiAgICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlNfRVM7XHJcbiAgICAgIHRoaXMucHJldldvcmtlZFN0YXRlT3B0aW9ucz0gQ29tYm9PcHRpb24uV09SS0VEX1NUQVRFX0VTO1xyXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVNfRVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbXBsb3llclR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uRU1QTE9ZRVJfVFlQRTtcclxuICAgICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XHJcbiAgICAgIHRoaXMuY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gICAgICB0aGlzLnBheVJhdGVPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcclxuICAgICAgdGhpcy5yYWRpb09wdGlvbnMgPSBDb21ib09wdGlvbi5ZRVNfTk87XHJcbiAgICAgIHRoaXMud29ya09wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0ZPUl9FTVBMO1xyXG4gICAgICB0aGlzLnllc05vTmFPcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX05BO1xyXG4gICAgICB0aGlzLnBheU1ldGhvZE9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlNRU5UX01FVEhPRDtcclxuICAgICAgdGhpcy53YWdlUHJvb2ZPcHRpb25zID0gQ29tYm9PcHRpb24uV0FHRV9QUk9PRjtcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xyXG4gICAgICB0aGlzLm5vbktTU3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLk5PTl9LU19TVEFURVM7XHJcbiAgICAgIHRoaXMucGF5UGVyaW9kID0gQ29tYm9PcHRpb24uUEFZX1BFUklPRDtcclxuICAgICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XHJcbiAgICAgIHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0U7XHJcbiAgICAgIHRoaXMucmVtdW5lcmF0aW9uVHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5SRU1VTkVSQVRJT05fVFlQRVM7XHJcbiAgICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlM7XHJcbiAgICAgIHRoaXMucHJldldvcmtlZFN0YXRlT3B0aW9ucz0gQ29tYm9PcHRpb24uV09SS0VEX1NUQVRFO1xyXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdpc0Jhc2VQZXJpb2RFbXBsb3llciBpcyA9ICcsIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIsIHRoaXMuc3RhdGVzT3B0aW9ucyk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNOZXdDbGFpbSA9ICcsIHRoaXMuaXNOZXdDbGFpbSk7XHJcbiAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9IHRoaXMudXRpbC5nZXRTdGF0ZSgpO1xyXG4gICAgdGhpcy5pc0NTUiA9IHRoaXMubHMuaXNDc3IoKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiQ3VycmVudCBTdGF0ZSA9IFwiLCB0aGlzLmN1cnJlbnRTdGF0ZSk7XHJcbiAgICBsZXQgZXNtOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJjYWxsIHNlcnZpY2UgPVwiLCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcclxuICAgIGlmICh0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09PSB1bmRlZmluZWQgfHwgdGhpcy5yZWNvcmRJbmRleFRvRWRpdCA9PT0gbnVsbCkge1xyXG4gICAgICBlc20gPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xyXG4gICAgICB0aGlzLnF0cldhZ2VMaXN0ID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8ucXRyWWVhcldhZ2VMaXN0R2VuZXJpYzsgICAgICBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZWNvcmRJbmRleFRvRWRpdCcsIHRoaXMucmVjb3JkSW5kZXhUb0VkaXQpXHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpJywgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XHJcbiAgICAgIHRoaXMubm9FZGl0TW9kZSA9IHRydWU7XHJcbiAgICAgIGVzbSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMucmVjb3JkSW5kZXhUb0VkaXRdO1xyXG4gICAgICB0aGlzLnF0cldhZ2VMaXN0ID0gZXNtLndhZ2VBbW91bnRBcnJheSBhcyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcclxuICAgICAgdGhpcy5jdXN0b21lck5hbWUgPSBlc20uZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lO1xyXG4gICAgICBpZihlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZSl7XHJcbiAgICAgICAgdGhpcy5hbGlhc05hbWUgPSBlc20uZW1wbG95ZXJEYXRhLnRyYWRlTmFtZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmFsaWFzTmFtZSA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYoZXNtLm9zYUJwRW1wbG95ZXJGbGFnKXtcclxuICAgICAgICB0aGlzLmlzT3NhRW1wbG95ZXIgPSBlc20ub3NhQnBFbXBsb3llckZsYWc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJpc09zYUVtcGxveWVyID09PT09PT0gXCIgLCB0aGlzLmlzT3NhRW1wbG95ZXIpO1xyXG4gICAgICB0aGlzLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9IGVzbS5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5O1xyXG4gICAgICB0aGlzLnNjaG9vbEZsYWcgPSBlc20uZW1wbG95ZXJEYXRhLnNjaG9vbEZsYWc7XHJcbiAgICAgIGlmKHRoaXMuaXNDU1IgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcyAmJiBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2Upe1xyXG4gICAgICAgIHRoaXMuZW1wbG95ZXJQcm92aWRlZFdhZ2VzID0gZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8uYmFzZVBlcmlvZFN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuYmFzZVBlcmlvZEVuZERhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpPy5iYXNlUGVyaW9kRW5kRGF0ZTtcclxuICAgIHRoaXMuYnBTdGFydERhdGVUb0Rpc3BsYXkgPSBuZXcgRGF0ZSh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpPy5icFN0YXJ0RGF0ZVRvRGlzcGxheSk7XHJcblxyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLm1pbldvcmtTdGFydERhdGVcIiwgdGhpcy5taW5Xb3JrU3RhcnREYXRlKTtcclxuICAgIGlmKHRoaXMubWluV29ya1N0YXJ0RGF0ZSl7XHJcbiAgICAgIHRoaXMuYnBTdGFydERhdGVUb0Rpc3BsYXkgPSB0aGlzLm1pbldvcmtTdGFydERhdGU7XHJcbiAgICB9IGVsc2V7XHJcbiAgICAgIHRoaXMubWluV29ya1N0YXJ0RGF0ZSA9IHRoaXMuZG9iO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkTWFzdGVyRGF0YSgpO1xyXG4gICAgXHJcblxyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2VtcGxveWVyVHlwZSc6IFtlc20uZW1wbG95ZXJUeXBlID8/IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnZW1wbG95ZXJOYW1lJzogW2VzbS5lbXBsb3llck5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5wcmV2V29ya2VkU3RhdGUudmFsdWUgPT09ICdLUycpXSxcclxuICAgICAgJ290aFN0YXRlRW1wTmFtZSc6IFtlc20ub3RoU3RhdGVFbXBOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMucHJldldvcmtlZFN0YXRlLnZhbHVlID09PSAnT1QnKV0sXHJcbiAgICAgICdmZWRFbXBsb3llck5hbWUnOiBbZXNtLmZlZEVtcGxveWVyTmFtZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInOiBbZXNtLmVtcGxveWVyVGVsZXBob25lTnVtYmVyID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdlbmREYXRlJzogW2VzbS5lbmREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdzdGFydERhdGUnOiBbZXNtLnN0YXJ0RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnam9iVGlsZU9yUG9zaXRpb24nOiBbZXNtLmpvYlRpbGVPclBvc2l0aW9uID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdyZWFzb25TZXBhcmF0aW9uJzogW2VzbS5yZWFzb25TZXBhcmF0aW9uID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2Rpc2NoYXJnZURldGFpbCc6IFtlc20uZGlzY2hhcmdlRGV0YWlsID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUhPSdNSUwnICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbj8udmFsdWU/LnZhbHVlID09PSAnRENGSScpXSxcclxuICAgICAgJ3ZvbFF1aXREZXRhaWxzJzogW2VzbS52b2xRdWl0RGV0YWlscyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlIT0nTUlMJyAmJiAgdGhpcy5yZWFzb25TZXBhcmF0aW9uPy52YWx1ZT8udmFsdWUgPT09ICdWT0xRJyldLFxyXG4gICAgICAncGF5UmF0ZSc6IFtlc20ucGF5UmF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycgJiYgKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWc/LnZhbHVlPT09J1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcclxuICAgICAgJ3BheVJhdGVGcmVxdWVuY3knOiBbZXNtLnBheVJhdGVGcmVxdWVuY3kgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnPy52YWx1ZT09PSdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXHJcbiAgICAgICdwZW5zaW9uRmxhZyc6IFtlc20ucGVuc2lvbkZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmIHRoaXMud29ya0ZsYWc/LnZhbHVlPT09J1knKV0sXHJcbiAgICAgICdwZW5zaW9uUmVjdkRhdGUnOiBbZXNtLnBlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAncmVnUGVuc2lvbkZsYWcnOiBbZXNtLnJlZ1BlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgICAncmVnUGVuc2lvblJlY3ZEYXRlJzpbZXNtLnJlZ1BlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlID09PSAnWScpXSwgICAgICBcclxuICAgICAgLy8gJ2lzQ2xtdFBhaWRXaGlsZUxvdyc6IFtlc20uaXNDbG10UGFpZFdoaWxlTG93ICE9IG51bGwgPyBlc20uaXNDbG10UGFpZFdoaWxlTG93IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgIC8vICdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JzogW2VzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5ICE9IG51bGwgPyBlc20uaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXHJcbiAgICAgIC8vICdoYXNSZWN2UmVtdW5lcmF0aW9uJzogW2VzbS5oYXNSZWN2UmVtdW5lcmF0aW9uICE9IG51bGwgPyBlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxyXG4gICAgICAncmVtdW5lcmF0aW9uVHlwZXMnOiBbZXNtLnJlbXVuZXJhdGlvblR5cGVzID8/IG51bGxdLFxyXG4gICAgICAvLyAndmFjYXRpb24nOiBbZXNtLnZhY2F0aW9uICE9IG51bGwgPyBlc20udmFjYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLnNjaG9vbEZsYWcgPT09JzEnKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxyXG4gICAgICBcclxuICAgICAgJ2dyb3NzV2FnZXMnOiBbZXNtLmdyb3NzV2FnZXMgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmICh0aGlzLm9zYUJwRW1wbG95ZXJGbGFnPy52YWx1ZSA9PT0nMScgfHwgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUpKV0sXHJcbiAgICAgIC8vJ3BhaWRCeSc6IFtlc20ucGFpZEJ5ICE9IG51bGwgPyBlc20ucGFpZEJ5IDogbnVsbCxBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuaXNDbG10UGFpZFdoaWxlTG93LnZhbHVlPT09J1knKSldLFxyXG4gICAgICAncGF5bWVudFR5cGUnOiBbZXNtLnBheW1lbnRUeXBlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgICAnZG9jc1JlY2VpdmVkJzogW2VzbS5kb2NzUmVjZWl2ZWQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ290aGVyU1NORmxhZyc6IFtlc20ub3RoZXJTU05GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdvdGhlclNTTic6IFtlc20ub3RoZXJTU04gPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiB0aGlzLm90aGVyU1NORmxhZy52YWx1ZSA9PT0gJ1knKV0sXHJcbiAgICAgICdvdGhlck5hbWVGbGFnJzogW2VzbS5vdGhlck5hbWVGbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgICAnb3RoZXJOYW1lJzogW2VzbS5vdGhlck5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZSA9PT0gJ1knKV0sXHJcbiAgICAgIC8vJ2RvaW5nQnVzaW5lc3NBcyc6IFtlc20uZG9pbmdCdXNpbmVzc0FzICE9IG51bGwgPyBlc20uZG9pbmdCdXNpbmVzc0FzIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycpKV0sXHJcbiAgICAgICdwcmV2V29ya2VkU3RhdGUnOiBbZXNtLnByZXZXb3JrZWRTdGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAnd29ya1N0YXRlJzogW2VzbS53b3JrU3RhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgJ3dvcmtDaXR5JzogW2VzbS53b3JrQ2l0eSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAvLydudW1iZXJFbXBsb3llZCc6IFtlc20ubnVtYmVyRW1wbG95ZWQgIT0gbnVsbCA/IGVzbS5udW1iZXJFbXBsb3llZCA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcclxuICAgICAgJ3dvcmtUeXBlJzogW2VzbS53b3JrVHlwZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAvLyAnZmVpbic6IFtlc20uZmVpbl0sXHJcbiAgICAgLy8gJ2hpcmVkQnknOiBbZXNtLmhpcmVkQnksIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nS1MnKSldLFxyXG4gICAgICAvLydidXNpbmVzc093bmVyJzogW2VzbS5idXNpbmVzc093bmVyLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J0tTJykpXSxcclxuICAgICAgJ2J1c2luZXNzTmF0dXJlJzogW2VzbS5idXNpbmVzc05hdHVyZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnd29ya0ZsYWcnOiBbZXNtLndvcmtGbGFnID8/IG51bGxdLFxyXG4gICAgICAvLydxdWl0cmVhc29uJzogW2VzbS5xdWl0cmVhc29uICE9IG51bGwgPyBlc20ucXVpdHJlYXNvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICghdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUudmFsdWUgPT09ICdWT0xRJykpKV0sXHJcbiAgICAgICdkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyc6IFtlc20uZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNEZXN0aW5hdGlvbkNvZGUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uQ29kZSA/PyBudWxsXSxcclxuICAgICAgJ2ZpY0NvZGUnOiBbZXNtLmZpY0NvZGUgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNEZXN0aW5hdGlvbk5hbWUnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uTmFtZSA/PyBudWxsXSxcclxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uSWQnOiBbZXNtLmZpY0Rlc3RpbmF0aW9uSWQgPz8gbnVsbF0sXHJcbiAgICAgICdzZkVpZ2h0ZmxhZyc6IFtlc20uc2ZFaWdodGZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFdvcmtDaXR5JzogW2VzbS5mZWRXb3JrQ2l0eSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkV29ya1N0YXRlJzogW2VzbS5mZWRXb3JrU3RhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFdvcmtDb3VudHJ5JzogW2VzbS5mZWRXb3JrQ291bnRyeSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnc3RhcnREYXRlRmVkJzogW2VzbS5zdGFydERhdGVGZWQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2VuZERhdGVGZWQnOiBbZXNtLmVuZERhdGVGZWQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5mZWRKb2JUaWxlT3JQb3NpdGlvbiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgIC8vJ2NsYWltYW50RW1wbG95ZWRXaXRoRW1wcic6IFtlc20uY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByICE9IG51bGwgPyBlc20uY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKSldLFxyXG4gICAgICAncGVyZm9ybWVkU2VydmljZSc6IFtlc20ucGVyZm9ybWVkU2VydmljZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkUGVuc2lvbkZsYWcnOiBbZXNtLmZlZFBlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJykpXSxcclxuICAgICAgJ2ZlZFBlbnNpb25SZWN2RGF0ZSc6W2VzbS5mZWRQZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheUZsYWcnOiBbZXNtLnNldlBheUZsYWcgPz8gbnVsbF0sXHJcbiAgICAgICd3ZWVrbHlBbW91bnQnOiBbZXNtLndlZWtseUFtb3VudCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdudW1iZXJPZldlZWtzJzogW2VzbS5udW1iZXJPZldlZWtzID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheUFtb3VudCc6IFtlc20uc2V2UGF5QW1vdW50ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheVN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5U3RhcnREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheUVuZERhdGUnOiBbZXNtLnNldlBheUVuZERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSc6IFtlc20uc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdyZWdFbXBsb3llckZvdW5kJzogW2VzbS5yZWdFbXBsb3llckZvdW5kID8/IG51bGxdLFxyXG4gICAgICAnZW1wbG95ZXJJZCc6IFtlc20uZW1wbG95ZXJJZCA/PyBudWxsXSxcclxuICAgICAgJ3NlcnZpY2VCcmFuY2gnOiBbZXNtLnNlcnZpY2VCcmFuY2ggPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ3N0YXJ0RGF0ZU1pbCc6IFtlc20uc3RhcnREYXRlTWlsID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdlbmREYXRlTWlsJzogW2VzbS5lbmREYXRlTWlsID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdkZDIxNEZsYWcnOiBbZXNtLmRkMjE0RmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnbGFzdFBheUdyYWRlJzogW2VzbS5sYXN0UGF5R3JhZGUgPz8gbnVsbF0sXHJcbiAgICAgICdsYXN0ZHV0eSc6IFtlc20ubGFzdGR1dHkgPz8gbnVsbF0sXHJcbiAgICAgICdwbGFjZVNlcGFyYXRlZCc6IFtlc20ucGxhY2VTZXBhcmF0ZWQgPz8gbnVsbF0sXHJcbiAgICAgICdub0xlYXZlRGF5cyc6IFtlc20ubm9MZWF2ZURheXMgPz8gbnVsbF0sXHJcbiAgICAgICdjb21wbGV0ZWRGdWxsVGVybUZsYWcnOiBbZXNtLmNvbXBsZXRlZEZ1bGxUZXJtRmxhZyA/PyBudWxsXSxcclxuICAgICAgJ3Jlc2VydmVPckd1YXJkRmxhZyc6IFtlc20ucmVzZXJ2ZU9yR3VhcmRGbGFnID8/IG51bGxdLFxyXG4gICAgICAnbWlsUGVuc2lvbkZsYWcnOiBbZXNtLm1pbFBlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdtaWxQZW5zaW9uUmVjdkRhdGUnOltlc20ubWlsUGVuc2lvblJlY3ZEYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdtaWxTdGF0ZSc6W251bGwsIFtBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyksIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRLYW5zYXNdXSxcclxuICAgICAgJ2FkZHJlc3NMaW5lMSc6IFtlc20uYWRkcmVzc0xpbmUxID8/IG51bGxdLFxyXG4gICAgICAnYWRkcmVzc0xpbmUyJzogW2VzbS5hZGRyZXNzTGluZTIgPz8gbnVsbF0sXHJcbiAgICAgICdhZGRyZXNzTGluZTMnOiBbZXNtLmFkZHJlc3NMaW5lMyA/PyBudWxsXSxcclxuICAgICAgJ3Jlc2VydmVCcmFuY2gnOltlc20ucmVzZXJ2ZUJyYW5jaCA/PyBudWxsXSxcclxuICAgICAgJ3N0YXJ0RGF0ZVJlc2VydmUnOltlc20uc3RhcnREYXRlUmVzZXJ2ZSA/PyBudWxsXSxcclxuICAgICAgJ2VuZERhdGVSZXNlcnZlJzpbZXNtLmVuZERhdGVSZXNlcnZlID8/IG51bGxdLFxyXG4gICAgICAnZGQyMTRGaWxlJzpbZXNtLmRkMjE0RmlsZSA/PyBudWxsXSxcclxuICAgICAgJ2FkZHJlc3MnOltlc20uYWRkcmVzcyA/PyBudWxsXSxcclxuICAgICAgJ3dhZ2VBbW91bnRBcnJheSc6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pLFxyXG4gICAgICAndGVzdEVtcCcgOiBbZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcz8ud2FnZXNMaXN0UXRyV2lzZSA/PyBudWxsXSxcclxuICAgICAgJ29zYUJwRW1wbG95ZXJGbGFnJzpbZXNtLm9zYUJwRW1wbG95ZXJGbGFnID8/IFwiMFwiXSxcclxuICAgICAgJ3NldmVyYW5jZSc6W2VzbS5zZXZlcmFuY2UgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+e1xyXG4gICAgICAvLyB1bmNvbW1lbnQgdGhpcyBpZiB0aGVyZSBpcyBhbiBpc3N1ZSB3aXRoIGNoYW5naW5nIGVtcGxveWVyIHR5cGUuXHJcbiAgICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyB1bmNvbW1lbnRlZFxyXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9scykuZm9yRWFjaCgodHVwbGUpPT4ge2lmKHR1cGxlWzBdICE9PSBcImVtcGxveWVyVHlwZVwiICYmIHR1cGxlWzBdICE9PSBcIndhZ2VBbW91bnRBcnJheVwiICYmICF0dXBsZVsxXS52YWxpZCkgdHVwbGVbMV0ucmVzZXQoKTt9KTtcclxuICAgICAgdGhpcy5pc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09PSAnRkVEJyA/IHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk6IHRoaXMuYWRkcmVzcy5lbmFibGUoKTsgICAgICBcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgQmFzZVBhZ2UucHJpbWVOR0ZpeGVzKCk7ICAgICAgICAgXHJcbiAgICAgIH0sIDUwMCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCBfID0+IHtcclxuICAgICAgdGhpcy5kaXNjaGFyZ2VEZXRhaWwucmVzZXQoKTtcclxuICAgICAgdGhpcy52b2xRdWl0RGV0YWlscy5yZXNldCgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBCYXNlUGFnZS5wcmltZU5HRml4ZXMoKTsgICAgICAgICBcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5vdGhlclNTTkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5vdGhlclNTTi5yZXNldCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm90aGVyTmFtZUZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5vdGhlck5hbWUucmVzZXQoKTtcclxuICAgIH1cclxuICAgIClcclxuIFxyXG4gICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIFJFRyBhbmQgbm9uIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICByZWdQZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gcmVnUGVuc2lvblJlY3ZEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcbiAgICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIFJFRyBhbmQgIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICBwZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gUGVuc2lvblJlY2l2ZURhdGUgdmFsaWRhdGlvbiB3YXMgcmVzZXRcclxuICAgICB0aGlzLnBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcblxyXG5cclxuICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBSRUcgYW5kICBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIFBlbnNpb25SZWNpdmVEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMuZmVkUGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcblxyXG4gICAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgYWRkZWQuIGlmICBlbXBsb3llclR5cGUgaXMgTUlMIGFuZCAgYmFzZXBlcmlvZEVtcGxveWVyLiBJZiB1c2VyIGNoYW5nZSB0aGUgIHBlbnNpb25GbGFnICdZRVMnIHRvICdOTycgdGhlbiBtaWxQZW5zaW9uUmVjdkRhdGUgdmFsaWRhdGlvbiB3YXMgcmVzZXRcclxuICAgICAgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgIHRoaXMubWlsUGVuc2lvblJlY3ZEYXRlLnJlc2V0KCk7XHJcbiAgICAgIH1cclxuICAgICAgKVxyXG5cclxuXHJcblxyXG4gICAgXHJcbiAgICBpZighdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnZhbHVlKXtcclxuICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnBhdGNoVmFsdWUoeyB2YWx1ZTogJ0hPVVInLCB0ZXh0OiAnSG91cicgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UpIHtcclxuICAgICAgaWYgKHRoaXMucXRyV2FnZUxpc3QpIHtcclxuICAgICAgICBmb3IgKHZhciBxdHJXYWdlIG9mIHRoaXMucXRyV2FnZUxpc3QpIHtcclxuICAgICAgICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnB1c2godGhpcy53YWdlQXJyYXkocXRyV2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlIHx8ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PSAnRkVEJyAmJiB0aGlzLmlzTmV3Q2xhaW0pKSB7XHJcbiAgICAgICAgdGhpcy5zZXRXYWdlVmFsaWRhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuICBzZXRXb3JrU3RhcnREYXRlKCkge1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLmFyLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkYXRhJyk7XHJcbiAgICBpZihkYXRhKXtcclxuICAgICAgbGV0IHBhcnNlZERhdGEgOiBLZXlWYWx1ZU1vZGVsW10gPSBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xyXG4gICAgICBpZihBcnJheS5pc0FycmF5KHBhcnNlZERhdGEpKXtcclxuICAgICAgICBsZXQgbGFzdEN3ZSA9IHBhcnNlZERhdGEuZmlsdGVyKGsgPT4gay5rZXkgPT0gJ2xhc3RDd2VEYXRlJyk7XHJcbiAgICAgICAgaWYobGFzdEN3ZS5sZW5ndGggPiAwICYmIGxhc3RDd2VbMF0ua2V5ID09ICdsYXN0Q3dlRGF0ZScgJiYgIXRoaXMuaXNOZXdDbGFpbSl7XHJcbiAgICAgICAgICB0aGlzLm1pbldvcmtTdGFydERhdGUgPSBuZXcgRGF0ZShsYXN0Q3dlWzBdLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWRNYXN0ZXJEYXRhKCl7XHJcblxyXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFJlYXNvblNlcGFyYXRpb24oKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXREaXNjaGFyZ2VSZWFzb25zKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRRdWl0UmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBcclxuICBpZih0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zIT0gbnVsbClcclxuICAgICAgcmV0dXJuIHRydWVcclxuICB9XHJcblxyXG4gIGdldCB3YWdlQW1vdW50QXJyYXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbXCJ3YWdlQW1vdW50QXJyYXlcIl0gYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldCB0ZXN0RW1wKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbXCJ0ZXN0RW1wXCJdIDtcclxuICB9XHJcbiAgZ2V0IHNldmVyYW5jZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2ZXJhbmNlJ107XHJcbiAgfVxyXG4gIGdldCBlbXBsb3llclR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzWydlbXBsb3llclR5cGUnXTtcclxuICB9XHJcbiAgZ2V0IGVtcGxveWVyTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJOYW1lJ107XHJcbiAgfVxyXG4gIGdldCBvdGhTdGF0ZUVtcE5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aFN0YXRlRW1wTmFtZSddO1xyXG4gIH1cclxuICBnZXQgZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhcnREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgam9iVGlsZU9yUG9zaXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2pvYlRpbGVPclBvc2l0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVhc29uU2VwYXJhdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybT8uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCBkaXNjaGFyZ2VEZXRhaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc2NoYXJnZURldGFpbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZvbFF1aXREZXRhaWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd2b2xRdWl0RGV0YWlscyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBheVJhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBncm9zc1dhZ2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydncm9zc1dhZ2VzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcGF5UmF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZUZyZXF1ZW5jeSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuICBcclxuICBnZXQgcGVuc2lvblJlY3ZEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZ1BlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdQZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuICBcclxuICBnZXQgcmVnUGVuc2lvblJlY3ZEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ1BlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1Nob3J0VGVybURpc2FiaWxpdHkoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1JlY3ZSZW11bmVyYXRpb24oKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGFzUmVjdlJlbXVuZXJhdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlbXVuZXJhdGlvblR5cGVzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlbXVuZXJhdGlvblR5cGVzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgdmFjYXRpb24oKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndmFjYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCBwYXltZW50VHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5bWVudFR5cGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBkb2NzUmVjZWl2ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvY3NSZWNlaXZlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG90aGVyU1NORmxhZygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlclNTTkZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlclNTTigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU04nXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlck5hbWVGbGFnKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZUZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlck5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRvaW5nQnVzaW5lc3NBcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZG9pbmdCdXNpbmVzc0FzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya0ZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtGbGFnJ107XHJcbiAgfVxyXG5cclxuICAvLyBnZXQgcXVpdHJlYXNvbigpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncXVpdHJlYXNvbiddO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IHdvcmtDaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrQ2l0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdvcmtTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1N0YXRlJ107XHJcbiAgfVxyXG4gIGdldCBtaWxTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsU3RhdGUnXTtcclxuICB9XHJcblxyXG4gIC8qZ2V0IGhpcmVkQnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hpcmVkQnknXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWluJ107XHJcbiAgfSovXHJcblxyXG4gIGdldCB3b3JrVHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya1R5cGUnXTtcclxuICB9XHJcblxyXG4gIC8qZ2V0IG51bWJlckVtcGxveWVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJFbXBsb3llZCddO1xyXG4gIH0qL1xyXG5cclxuICBnZXQgYnVzaW5lc3NOYXR1cmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2J1c2luZXNzTmF0dXJlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzJ107XHJcbiAgfVxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIxKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjEnXTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGdldCB3YWdlUXVhcnRlcjIoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMiddO1xyXG4gIC8vIH1cclxuXHJcblxyXG4gIC8vIGdldCB3YWdlUXVhcnRlcjMoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMyddO1xyXG4gIC8vIH1cclxuXHJcblxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXI0KCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjQnXTtcclxuICAvLyB9XHJcblxyXG4gIGdldCBmaWNDb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNDb2RlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmljRGVzdGluYXRpb25Db2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbkNvZGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBmaWNEZXN0aW5hdGlvbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbklkJ107XHJcbiAgfVxyXG4gICAgICBcclxuICBcclxuICAvLyBnZXQgZm9ybWVybHlLbm93bkFzKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmb3JtZXJseUtub3duQXMnXTtcclxuICAvLyB9XHJcblxyXG4gIGdldCBzZkVpZ2h0ZmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2ZFaWdodGZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRXb3JrQ2l0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya0NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRXb3JrU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtTdGF0ZSddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBmZWRXb3JrQ291bnRyeSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya0NvdW50cnknXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc3RhcnREYXRlRmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVGZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlRmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlRmVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkSm9iVGlsZU9yUG9zaXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZEpvYlRpbGVPclBvc2l0aW9uJ107XHJcbiAgfVxyXG5cclxuICAvKiBnZXQgY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInXTtcclxuICB9ICovXHJcblxyXG4gIGdldCBwZXJmb3JtZWRTZXJ2aWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZXJmb3JtZWRTZXJ2aWNlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkUGVuc2lvbkZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkUGVuc2lvblJlY3ZEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFBlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNldlBheUZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCB3ZWVrbHlBbW91bnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dlZWtseUFtb3VudCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG51bWJlck9mV2Vla3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ251bWJlck9mV2Vla3MnXTtcclxuICB9XHJcblxyXG4gIGdldCBzZXZQYXlBbW91bnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUFtb3VudCddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBzZXZQYXlTdGFydERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVN0YXJ0RGF0ZSddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBzZXZQYXlFbmREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlFbmREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZ0VtcGxveWVyRm91bmQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ0VtcGxveWVyRm91bmQnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbXBsb3llcklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llcklkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkRW1wbG95ZXJOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRFbXBsb3llck5hbWUnXTtcclxuICB9XHJcbiAgZ2V0IHNlcnZpY2VCcmFuY2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NlcnZpY2VCcmFuY2gnXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGFydERhdGVNaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZU1pbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZERhdGVNaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVNaWwnXTtcclxuICB9XHJcblxyXG4gIGdldCBkZDIxNEZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RkMjE0RmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3RQYXlHcmFkZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdFBheUdyYWRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdGR1dHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RkdXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgcGxhY2VTZXBhcmF0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BsYWNlU2VwYXJhdGVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbm9MZWF2ZURheXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ25vTGVhdmVEYXlzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY29tcGxldGVkRnVsbFRlcm1GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydjb21wbGV0ZWRGdWxsVGVybUZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCByZXNlcnZlT3JHdWFyZEZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVPckd1YXJkRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbFBlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydtaWxQZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbFBlbnNpb25SZWN2RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvblJlY3ZEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzc0xpbmUxKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3NMaW5lMigpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTInXTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRyZXNzTGluZTMoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmljRGVzdGluYXRpb25OYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlc2VydmVCcmFuY2goKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZUJyYW5jaCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZVJlc2VydmUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlUmVzZXJ2ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZERhdGVSZXNlcnZlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVSZXNlcnZlJ107XHJcbiAgfVxyXG4gIFxyXG4gIGdldCBkZDIxNEZpbGUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGQyMTRGaWxlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzcygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3NhQnBFbXBsb3llckZsYWcoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3NhQnBFbXBsb3llckZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBwcmV2V29ya2VkU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzWydwcmV2V29ya2VkU3RhdGUnXTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIG9uVG9nZ2xlQ2hhbmdlUHJldldvcmtlZFN0YXRlKG9iajogYW55KSB7XHJcbiAgICAgIHRoaXMucmVhc29uU2VwYXJhdGlvbi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZmljQ29kZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5maWNEZXN0aW5hdGlvbkNvZGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUobnVsbCk7ICBcclxuICAgICAgdGhpcy5wZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMud29ya1R5cGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLm90aFN0YXRlRW1wTmFtZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy53b3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7IFxyXG4gICAgICB0aGlzLndvcmtDaXR5LnNldFZhbHVlKG51bGwpOyBcclxuICAgICAgdGhpcy5zdGFydERhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5wYXlSYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucmVnUGVuc2lvbkZsYWcuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucmVnUGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgb25Nb2RlbENhbmNlbChjYW5jZWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdChjYW5jZWwpO1xyXG4gIH1cclxuXHJcbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwidHlwZVwiLCB0aGlzLmVtcGxveWVyVHlwZSwgJ3RoaXMuYWRkRW1wbG95ZXJGb3JtJyx0aGlzLmFkZEVtcGxveWVyRm9ybSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW1wbG95ZXIuc3RhdGUnLCBlbXBsb3llci5zdGF0ZSlcclxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTplbXBsb3llci5jb3VudHJ5LCBjaXR5OmVtcGxveWVyLmNpdHlcclxuICAgICwgemlwOmVtcGxveWVyLnppcCxzdHJlZXRBZGRyZXNzOmVtcGxveWVyLmFkZHJlc3NEaXNwbGF5VmFsLHN0YXRlOmVtcGxveWVyLnN0YXRlLFxyXG4gICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmFkZHJlc3Muc2V0RXJyb3JzKHt9KTtcclxuICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLmVtcGxveWVySWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUyKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMyk7XHJcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xyXG4gICAgdGhpcy5hZGRyZXNzMi5yZWFkb25seSA9IGZhbHNlXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RmVkRW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwiemlwIFwiLCBlbXBsb3llci56aXApO1xyXG4gICAgdGhpcy5maWNDb2RlLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5maWNDb2RlLnNldFZhbHVlKGVtcGxveWVyLmZpY0NvZGUpO1xyXG4gICAgdGhpcy5maWNDb2RlLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZmVkRW1wbG95ZXJOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5lbmFibGUoKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uTmFtZSk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uSWQuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25JZCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uQ29kZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbkNvZGUpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5OmVtcGxveWVyLmNvdW50cnksIGNpdHk6ZW1wbG95ZXIuY2l0eVxyXG4gICAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTEsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXHJcbiAgICAgIG9wdGlvbmFsQWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTIsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICB0aGlzLmFkZHJlc3MyLnJlYWRvbmx5ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHJlc2V0RmVkRW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KXtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTpudWxsLCBjaXR5Om51bGxcclxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcclxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHJlc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XHJcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIpO1xyXG4gICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6bnVsbCwgY2l0eTpudWxsXHJcbiAgICAgICwgemlwOm51bGwsc3RyZWV0QWRkcmVzczpudWxsLHN0YXRlOm51bGwsXHJcbiAgICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxyXG4gICAgICB9KTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHV0TWlsUmVzQnJhbmNoVmFsaWRhdGlvbihldmVudCl7XHJcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnWScpIHtcclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlQnJhbmNoJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVSZXNlcnZlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIG9uT3B0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlICE9PSAnWScpIHtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2pvYlRpbGVPclBvc2l0aW9uJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlRnJlcXVlbmN5J10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uRmxhZyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAvLyB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaXNDbG10UGFpZFdoaWxlTG93J10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuc2F2ZS52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMudmFsaWRhdGVXYWdlR3JpZCgpXHJcbiAgICBpZiAodGhpcy5hZGRFbXBsb3llckZvcm0udmFsaWQgJiYgdGhpcy5hZGRyZXNzLmVycm9ycyA9PT0gbnVsbCkgIHtcclxuICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgICAgY29uc3QgZml4RmllbGRzID0gT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZpbHRlcih4ID0+ICF4WzFdLnZhbGlkKS5tYXAoeCA9PiB4WzBdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmaXggZmllbGRzOlwiLCBmaXhGaWVsZHMpO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGluZm86XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcImFkZCBlbXBsb3llciBmYWlsdXJlIGVycm9yOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgbG9nOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTsgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSB0cnVlO1xyXG5cdCAgaWYodGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ01JTCcpIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZVdhZ2VHcmlkKCk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWxpZGF0ZSBhZGRyZXNzIGNvbXBvbmVudCcpO1xyXG4gICAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcygpO1xyXG4gICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS5pbnZhbGlkIHx8IHRoaXMuYWRkcmVzcy5lcnJvcnMgIT09IG51bGwgKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgICAgY29uc3QgZml4RmllbGRzID0gT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZpbHRlcih4ID0+ICF4WzFdLnZhbGlkKS5tYXAoeCA9PiB4WzBdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmaXggZmllbGRzOlwiLCBmaXhGaWVsZHMpO1xyXG5cclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGluZm86XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcImFkZCBlbXBsb3llciBmYWlsdXJlIGVycm9yOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgbG9nOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgXHJcbiAgICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5hZGQudmFsdWUnLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7IFxyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0NvZGUnXS5lbmFibGUoKTtcclxuICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXS5lbmFibGUoKTtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiYWRkIGZvcm0gZGV0YWlscyBhZGQoKS0gXCIsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xyXG5cclxuICB9XHJcbiAgdmFsaWRhdGVXYWdlR3JpZCgpIHtcclxuICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnNldEVycm9ycyhudWxsKTtcclxuICAgIGlmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSE9PSdGRUQnICYmICEodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKE9iamVjdC52YWx1ZXModGhpcy53YWdlQW1vdW50QXJyYXkuY29udHJvbHMpLmZpbHRlcih4ID0+IHgudmFsdWUud2FnZUFtb3VudCAhPT0gMCkubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnNldEVycm9ycyh7cmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWQ6IHRydWV9KTtcclxuICB9XHJcbiAgdmFsaWRhdGVBZGRyZXNzKCkge1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldEVycm9ycyhudWxsKTtcclxuICAgIGxldCBhZGRyZXNzQ29tcFZhbHVlOiBBZGRyZXNzQ29tcG9uZW50TW9kZWw9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10udmFsdWU7XHJcbiAgICBpZiAoIWFkZHJlc3NDb21wVmFsdWU/LmNpdHkgfHwgIWFkZHJlc3NDb21wVmFsdWUuc3RhdGUgfHxcclxuICAgICAgICAhYWRkcmVzc0NvbXBWYWx1ZVsnemlwJ10gfHwgIWFkZHJlc3NDb21wVmFsdWUuY291bnRyeSB8fFxyXG4gICAgICAgICFhZGRyZXNzQ29tcFZhbHVlWydzdHJlZXRBZGRyZXNzJ10pIHtcclxuICAgICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddLnNldEVycm9ycyh7IGFkZHJlc3NWYWxpZGF0aW9uRmxhZzogdHJ1ZSB9KTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuYWRkcmVzczEpe1xyXG4gICAgICB0aGlzLmFkZHJlc3MxLnN1Ym1pdCgpO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5hZGRyZXNzMil7XHJcbiAgICAgIHRoaXMuYWRkcmVzczIuc3VibWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRGZWRXb3JrU3RhdGVWYWx1ZXMoZXZlbnQpe1xyXG4gICAgaWYoZXZlbnQudmFsdWUgIT09ICdVUycpe1xyXG4gICAgICB0aGlzLmZlZFdvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlckpvYlRpbGVPclBvc2l0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtldmVudC5xdWVyeX1gKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XHJcbiAgICAgICAgdGhpcy5qb2JUaWxlT3JQb3NpdGlvbk9wdGlvbnMgPSByZXM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyRmVkSm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcclxuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0KGAvY2xhaW1zLXNlcnZpY2UvY2xhaW0vam9idGl0bGUvYCArIGAke2V2ZW50LnF1ZXJ5fWApLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcclxuICAgICAgICB0aGlzLmZlZEpvYlRpbGVPcHRpb25zID0gcmVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlckRpc2NoYXJnZVJlYXNvbnMoZXZlbnQpIHtcclxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFtpXTtcclxuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XHJcbiAgICAgICAgZmlsdGVyZWQucHVzaChzZXBSZWFzb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcclxuICB9XHJcblxyXG4gIGZpbHRlclZvbHVudGFyeVJlYXNvbihldmVudCkge1xyXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHNlcFJlYXNvbiA9IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGxbaV07XHJcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9ucyA9IGZpbHRlcmVkO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoZXZlbnQpIHtcclxuICAgIGlmKGV2ZW50LnRhcmdldD8udmFsdWUpe1xyXG4gICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmKCBldmVudCBpbnN0YW5jZW9mIERhdGUpe1xyXG4gICAgICB0aGlzLm1pbkRhdGUgPSBldmVudDtcclxuICAgIH1cclxuICAgIHRoaXMuZW5kRGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUnLCB0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpICBcclxuICB9XHJcblxyXG53YWdlQXJyYXkocXRyV2FnZTpRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwpOiBVbnR5cGVkRm9ybUdyb3VwIHtcclxuICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICB3YWdlQW1vdW50OiBbcXRyV2FnZS53YWdlQW1vdW50IT1udWxsP3F0cldhZ2Uud2FnZUFtb3VudDpudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgcXRyV2FnZS5kaXNwbGF5Rm9yQWxsICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09dGhpcy5jdXJyZW50U3RhdGUpICkpKV0sXHJcbiAgICBxdWFydGVyOiBbcXRyV2FnZS5xdWFydGVyIT1udWxsP3F0cldhZ2UucXVhcnRlcjpudWxsXSxcclxuICAgIHllYXI6IFtxdHJXYWdlLnllYXIhPW51bGw/cXRyV2FnZS55ZWFyOm51bGxdLFxyXG4gICAgcXRyWWVhckRpc3BsYXlTdHJpbmc6IFtxdHJXYWdlLnF0clllYXJEaXNwbGF5U3RyaW5nIT1udWxsP3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmc6bnVsbF0sXHJcbiAgICBkaXNwbGF5T3JkZXI6IFtxdHJXYWdlLmRpc3BsYXlPcmRlciE9bnVsbD9xdHJXYWdlLmRpc3BsYXlPcmRlcjpudWxsXSxcclxuICAgIGRpc3BsYXlGb3JBbGw6IFtxdHJXYWdlLmRpc3BsYXlGb3JBbGwhPW51bGw/cXRyV2FnZS5kaXNwbGF5Rm9yQWxsOm51bGxdLFxyXG4gIH0pXHJcbn1cclxuXHJcbnNldFdhZ2VWYWxpZGF0aW9uKCkge1xyXG4gIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMud2FnZUFtb3VudEFycmF5LCBBcHBWYWxpZGF0b3JzLmF0TGVhc3RPbmVOb25aZXJvVmFsdWVWYWxpZGF0b3IoMSwgJ3dhZ2VBbW91bnQnKSk7XHJcbiAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldHRpbmcgdmFsaWRhdGlvbiBmb3IgZmVkIGVtcGxveWVyJyk7XHJcbn1cclxuXHJcbnJlbW92ZVdhZ2VWYWxpZGF0aW9uKCkge1xyXG4gIGlmKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlICE9ICdGRUQnKXtcclxuICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53YWdlQW1vdW50QXJyYXkpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlbW92aW5nIHZhbGlkYXRpb24gZm9yIGZlZCBlbXBsb3llcicpO1xyXG4gIH1cclxufVxyXG5cclxuICB2YWxpZGF0ZVdhZ2VzRGlzcGxheShldmVudCl7XHJcbiAgICBsZXQgYnBTdGFydERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUpO1xyXG4gICAgbGV0IGJwRW5kRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZEVuZERhdGUpO1xyXG4gICAgbGV0IHN0YXJ0ZURhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZS52YWx1ZSk7XHJcbiAgICBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZS52YWx1ZSk7XHJcbiAgICAvLyBsZXQgZW5kRGF0ZVZhbDogRGF0ZSA9IGV2ZW50LnRhcmdldD8udmFsdWUgPyBuZXcgRGF0ZShldmVudC50YXJnZXQudmFsdWUpIDogZXZlbnQ7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYnBTdGFydERhdGUgJywgYnBTdGFydERhdGUsICdzdGFydGVEYXRlVmFsICcsIHN0YXJ0ZURhdGVWYWwpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWwgJywgZW5kRGF0ZVZhbCwgJ2JwRW5kRGF0ZSAnLCBicEVuZERhdGUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3N0YXJ0ZURhdGVWYWwgYmVmb3JlIGJwRW5kRGF0ZSAnLCBzdGFydGVEYXRlVmFsIDwgYnBFbmREYXRlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsIGFmdGVyIGJwU3RhcnREYXRlICcsIGVuZERhdGVWYWwgPiBicFN0YXJ0RGF0ZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy53b3JrU3RhdGUgJywgdGhpcy53b3JrU3RhdGUpO1xyXG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWUgPT0gdGhpcy5jdXJyZW50U3RhdGUgJiYgdGhpcy5pc05ld0NsYWltKSB7XHJcbiAgICAgICAgaWYgKHN0YXJ0ZURhdGVWYWwuZ2V0VGltZSgpIDwgYnBFbmREYXRlLmdldFRpbWUoKSAmJiBlbmREYXRlVmFsLmdldFRpbWUoKT4gYnBTdGFydERhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnNldFZhbHVlKGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlckdyb3VwZWRSZWFzb24oZXZlbnQpIHtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3F1ZXJ5JyxxdWVyeSk7XHJcbiAgICBsZXQgZmlsdGVyZWRHcm91cHMgPSBbXTtcclxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnM9IENvbWJvT3B0aW9uLkdST1VQX1JFQVNPTlNfRVM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgb3B0Z3JvdXAgb2YgdGhpcy5ncm91cGVkUmVhc29ucykge1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnb3B0Z3JvdXAuaXRlbXMnLG9wdGdyb3VwLml0ZW1zKTtcclxuICAgICAgbGV0IGZpbHRlcmVkU3ViT3B0aW9ucyA9IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIoXHJcbiAgICAgICAgb3B0Z3JvdXAuaXRlbXMsXHJcbiAgICAgICAgW1wibGFiZWxcIl0sXHJcbiAgICAgICAgcXVlcnksXHJcbiAgICAgICAgXCJjb250YWluc1wiXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmaWx0ZXJlZFN1Yk9wdGlvbnMnLGZpbHRlcmVkU3ViT3B0aW9ucyk7XHJcbiAgICAgIGlmIChmaWx0ZXJlZFN1Yk9wdGlvbnMgJiYgZmlsdGVyZWRTdWJPcHRpb25zLmxlbmd0aCkge1xyXG4gICAgICAgIGZpbHRlcmVkR3JvdXBzLnB1c2goe1xyXG4gICAgICAgICAgbGFiZWw6IG9wdGdyb3VwLmxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IG9wdGdyb3VwLnZhbHVlLFxyXG4gICAgICAgICAgaXRlbXM6IGZpbHRlcmVkU3ViT3B0aW9uc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5ncm91cGVkUmVhc29ucyA9IGZpbHRlcmVkR3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhckFjdGlvbihldmVudCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICB9ICBcclxuICBcclxuXHJcbiAgZGF0ZUlucHV0KGV2ZW50KXtcclxuICAgIGxldCBjdXJyZW50VmFsdWUgOiBzdHJpbmcgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xyXG4gICAgaWYoY3VycmVudFZhbHVlKXtcclxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDIgJiYgY3VycmVudFZhbHVlLmNoYXJBdCgyKSAhPSAnLycpe1xyXG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSA1ICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoNSkgIT0gJy8nKXtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgcmVxdWlyZWQoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnJlcXVpcmVkJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWlyZWRLYW5zYXMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlcXVpcmVkLmthbnNhcycpO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPHAtZGlhbG9nIHZpc2libGU9XCJ0cnVlXCIgcG9zaXRpb249XCJ0b3BcIiBhcHBlbmRUbz1cImJvZHlcIiBbc2hvd0hlYWRlcl09XCJmYWxzZVwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxyXG4gIFtyZXNpemFibGVdPVwiZmFsc2VcIiBbc3R5bGVdPVwie3dpZHRoOiAnNjB2dyd9XCJcclxuICBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiPlxyXG4gIDxoNCBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JleSk7IHBhZGRpbmctbGVmdDogMjBweDtcIj4ge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuaGVhZGluZ1wifHRyYW5zbGF0ZX19XHJcbiAgPC9oND5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImFkZEVtcGxveWVyRm9ybVwiPlxyXG4gICAgPGlvbi1ncmlkICpuZ0lmPVwiYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1wiPiA8IS0tVG8gUmV2aWV3LS0+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICB7e2N1c3RvbWVyTmFtZX19XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFsaWFzTmFtZSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kYmFcInx0cmFuc2xhdGV9fSB7e2FsaWFzTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e21haWxpbmdBZGRyZXNzRGlzcGxheX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIud2FnZXNcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNDU1JcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJlbXBsb3llclByb3ZpZGVkV2FnZXNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyBjb2wucXRyWWVhckRpc3BsYXlTdHJpbmcgfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2NvbC53YWdlQW1vdW50IHwgY3VycmVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid29ya0ZsYWc/LnZhbHVlID09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5ub1wifHRyYW5zbGF0ZX19PGJyIC8+IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya2ZsYWcubm8ubGluZTJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci50eXBlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogaW5oZXJpdDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZW1wbG95ZXJUeXBlXCIgW29wdGlvbnNdPVwiZW1wbG95ZXJUeXBlT3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUeXBlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVHlwZScgW2VyckRlZl09XCJ7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwcmV2V29ya2VkU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lndvcmsuc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicHJldldvcmtlZFN0YXRlXCIgW29wdGlvbnNdPVwicHJldldvcmtlZFN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwcmV2V29ya2VkU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAob25PcHRpb25DbGljayk9XCJvblRvZ2dsZUNoYW5nZVByZXZXb3JrZWRTdGF0ZSgkZXZlbnQpXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwcmV2V29ya2VkU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJldldvcmtlZFN0YXRlLnZhbHVlPT09J0tTJzsgZWxzZSBlbHNlQmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIGlucHV0SWQ9XCJlbXBsb3llck5hbWVcIiBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIlJFR1wiIChvbkZvdW5kKT1cInNldEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhTdGF0ZUVtcE5hbWVcIiBtYXhsZW5ndGg9XCI1MFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoU3RhdGVFbXBOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwid2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIuZmVkLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cImZlZEVtcGxveWVyTmFtZVwiIGVtcFR5cGU9XCJGRURcIiAob25Gb3VuZCk9XCJzZXRGZWRFbXBsb3llcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RmVkRW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkRW1wbG95ZXJOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBpZD1cInNlcnZpY2VCcmFuY2gtbGFiZWxcIiBmb3I9XCJzZXJ2aWNlQnJhbmNoXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc2VydmljZS5icmFuY2hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwibWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXJ2aWNlQnJhbmNoXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInNlcnZpY2VCcmFuY2hcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NlcnZpY2VCcmFuY2gnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWlsLXN0YXRlLWxhYmVsXCIgZm9yPVwibWlsLXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBoeXNpY2FsLmxvY2F0aW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtmb3JtQ29udHJvbF09XCJtaWxTdGF0ZVwiIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBvcHRpb25MYWJlbD1cInRleHRcIiBpbnB1dElkPVwibWlsLXN0YXRlXCIgYXBwZW5kVG89XCJib2R5XCI+XHJcblxyXG4gICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIGNsYXNzPVwiYXBwLWdyaWRcIiBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbZmllbGRdPVwibWlsU3RhdGVcIiBbZXJyRGVmXT1cIntcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkS2Fuc2FzOiByZXF1aXJlZEthbnNhc1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVNaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGVNaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaGlkZUZpY0NvZGVcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljQ29kZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmZpYy5jb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljQ29kZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNDb2RlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljRGVzdGluYXRpb25OYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuZmljLmRlc3RpbmF0aW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmljRGVzdGluYXRpb25OYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MxIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzIHJlYWRvbmx5PVwidHJ1ZVwiICNhZGRyZXNzMiBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIFtjb3VudHlSZXF1aXJlZF09XCJmYWxzZVwiIFtmcm9tUG9wdXBdPVwidHJ1ZVwiPiA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPVwiYWRkcmVzc1wiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1ncmlkXCIgKm5nSWY9XCJhZGRyZXNzPy5lcnJvcnM/LmFkZHJlc3NWYWxpZGF0aW9uRmxhZyAmJiBpc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiY29tbW9uLnZhbGlkLmFkZHJlc3NcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya0NpdHlcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uY2l0eVwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrQ2l0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cIndvcmtTdGF0ZS1sYWJlbFwiIGZvcj1cIndvcmtTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicHJldldvcmtlZFN0YXRlLnZhbHVlPT09J0tTJz9zdGF0ZXNPcHRpb25zOm5vbktTU3RhdGVzT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIndvcmtTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dElkPVwid29ya1N0YXRlXCIgKG9uQ2hhbmdlKT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZmVkV29ya0NvdW50cnktbGFiZWxcIiBmb3I9XCJmZWRXb3JrQ291bnRyeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndvcmsubG9jYXRpb24uY291bnRyeVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ3b3JrQ291bnRyeU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya0NvdW50cnlcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZmVkV29ya0NvdW50cnlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtDb3VudHJ5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmZWRXb3JrQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NpdHknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIiAqbmdJZj1cInNob3dXb3JrU3RhdGUgPT09IHRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJmZWRXb3JrU3RhdGUtbGFiZWxcIiBmb3I9XCJmZWRXb3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrU3RhdGVcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRXb3JrU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZUZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBpbnB1dElkPVwic3RhcnREYXRlRmVkXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlRmVkXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgKG9uQmx1cik9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhcnREYXRlRmVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZUZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiXHJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIiAvPlxyXG4gICAgICAgICAgICAgIDwhLS0gIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiZmVkSm9iVGlsZU9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbigkZXZlbnQpXCIgZmllbGQ9XCJqb2JUaXRsZVwiIFtkcm9wZG93bl09XCJmYWxzZVwiIFxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydC4uLiB0eXBpbmcgam9iIHRpdGxlXCIgbWluTGVuZ3RoPTMgZm9yY2VTZWxlY3Rpb249XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXZhbHVlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUuam9iVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT4gLS0+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEpvYlRpbGVPclBvc2l0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZkVpZ2h0ZmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNmZWlnaHRcInx0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInNmRWlnaHRmbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZkVpZ2h0ZmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZkVpZ2h0ZmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlXCIgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25CbHVyKT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlckVtcGxveWVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZWVzLm5vXCIgfCB0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwibnVtYmVyRW1wbG95ZWRcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyRW1wbG95ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJFbXBsb3llZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPiAtLT5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1R5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy53b3JrLnR5cGVcIiB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya1R5cGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrVHlwZVwiIG1heGxlbmd0aD1cIjUwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiPldlcmUgeW91IGVtcGxveWVkIHdoaWxlIGEgc3BvdXNlIG9mIGEgVVMgbWlsaXRhcnkgbWVtYmVyIHN0YXRpb25lZCBhdFxyXG4gICAgICAgICAgICAgICAgYSBmb3JlaWduIG1pbGl0YXJ5IGJhc2U/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ5ZXNOb05hT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZXJmb3JtZWRTZXJ2aWNlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuY2l2aWxpYW4ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJwZXJmb3JtZWRTZXJ2aWNlXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZXJmb3JtZWRTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVyZm9ybWVkU2VydmljZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiam9iVGlsZU9yUG9zaXRpb25cIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5qb2J0aXRsZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJqb2JUaWxlT3JQb3NpdGlvblwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImpvYlRpbGVPclBvc2l0aW9uXCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICAgICAgICA8IS0tIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiam9iVGlsZU9yUG9zaXRpb25PcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiAob25DbGVhcik9XCJvbkNsZWFyQWN0aW9uKCRldmVudClcIiBcclxuICAgICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGlsZU9yUG9zaXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7IHBhZGRpbmctbGVmdDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicGF5UmF0ZUZyZXF1ZW5jeS1sYWJlbFwiIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBob25lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OTktOTk5OVwiIGlucHV0SWQ9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIjk5OS05OTktOTk5OVwiPjwvcC1pbnB1dE1hc2s+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJyZWFzb25TZXBhcmF0aW9uLWxhYmVsXCIgZm9yPVwicmVhc29uU2VwYXJhdGlvblwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJyZWFzb25TZXBhcmF0aW9uLWxhYmVsXCIgZm9yPVwicmVhc29uU2VwYXJhdGlvblwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJyZWFzb25TZXBhcmF0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInJlYXNvblNlcGFyYXRpb25cIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlYXNvblNlcGFyYXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIGFkZCBmb3IgcXVpdCBhbmQgZGlzY2hhcmdlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInJlYXNvblNlcGFyYXRpb24udmFsdWU/LnZhbHVlID09PSAnRENGSScgXHJcbiAgICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZGlzY2hhcmdlRGV0YWlsLWxhYmVsXCIgZm9yPVwiZGlzY2hhcmdlRGV0YWlsXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24uZGlzY2hhcmdlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwiZGlzY2hhcmdlRGV0YWlsXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImRpc2NoYXJnZURldGFpbFwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlRGV0YWlsJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJyZWFzb25TZXBhcmF0aW9uLnZhbHVlPy52YWx1ZSA9PT0gJ1ZPTFEnIFxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJ2b2xRdWl0RGV0YWlscy1sYWJlbFwiIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ2b2xRdWl0RGV0YWlsc1wiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndm9sUXVpdERldGFpbHMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwibWlsUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm1pbFBlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbWlsUGVuc2lvbkZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uUmVjdkRhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRkMjE0RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0XCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZGQyMTRGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkZDIxNEZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJkZDIxNEluZm9cIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGQyMTRGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwicGFyYU9uZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZmlsZS11cGxvYWRlciBbZm9ybUNvbnRyb2xdPVwiZGQyMTRGaWxlXCIgW3VwbG9hZGVkRmlsZUZvckVkaXRdPVwiZGQyMTRGaWxlLnZhbHVlXCI+PC9hcHAtZmlsZS11cGxvYWRlcj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGb3VyIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFTaXh8IHRyYW5zbGF0ZSlcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nTidcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJub1BhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWZpbGUtdXBsb2FkZXIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmlsZVwiIFt1cGxvYWRlZEZpbGVGb3JFZGl0XT1cImRkMjE0RmlsZS52YWx1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVGhyZWUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhRm91ciB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWUgPT09JzEnXCI+IDwhLS1PbGQgY29kZS0tPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQudG90YWwud2FnZXMuZWFybmVkXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cImdyb3NzV2FnZXNcIiBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLXRvcDogMHB4O1wiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicGF5UmF0ZUZyZXF1ZW5jeS1sYWJlbFwiIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8IS0tIDxpb24tY29sICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWVcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiAgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+VG90YWwgV2FnZXMgRWFybmVkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+IC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+ICBPbGQgQ29kZS0tPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+IDwhLS1OZXcgY29uZGl0aW9uIHdhcyBhZGRlZC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQudG90YWwud2FnZXMuZWFybmVkXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwiZ3Jvc3NXYWdlc1wiIFtmb3JtQ29udHJvbF09XCJncm9zc1dhZ2VzXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPiBcclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImZlZFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uRmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImZlZFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJzZXZQYXlGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlZWtseUFtb3VudFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrbHkuYW10XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid2Vla2x5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cIndlZWtseUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2Vla2x5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyT2ZXZWVrc1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIm51bWJlck9mV2Vla3NcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyT2ZXZWVrc1wiIG1heGxlbmd0aD1cIjRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbnVtYmVyT2ZXZWVrcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVudGl0bGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwic2V2UGF5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cInNldlBheUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheVN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5zdGFydC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlTdGFydERhdGVcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlTdGFydERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RW5kRGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5lbmQuZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5RW5kRGF0ZVwiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlFbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheUVuZERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnBheS5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVBheW1lbnRTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd29ya0ZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBwZW5zaW9uRmxhZy52YWx1ZT09PSdZJ1xyXG4gICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyBcIj4gPCEtLSB0aGlzIGlzIHF1ZXN0aW9uYWJsZSBiZWNhdXNlIGFib3ZlIGRlcGVuZGVudCBxdWVzdGlvbiBkb2VzIG5vdCBoYXZlIGlzQmFzZVBlcmlvZEVtcGxveWVyIC0tPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb25cInx0cmFuc2xhdGV9fSA8YnIgLz5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicmVnUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXHJcbiAgICAgICAgICAgICYmIHJlZ1BlbnNpb25GbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvblJlY3ZEYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaXNDbG10UGFpZFdoaWxlTG93XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGF5LnJldHVybi50by53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZXJQYXlSZXR1cm5Ub1dvcmtJbmZvJ3wgdHJhbnNsYXRlfX1cIiBcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naXNDbG10UGFpZFdoaWxlTG93JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlID09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNob3J0dGVybWRpc2FiaWxpdHlcInx0cmFuc2xhdGV9fSB7e2JwU3RhcnREYXRlVG9EaXNwbGF5IHwgZGF0ZTonTU1NTSBkLCB5eXl5J319ID88L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJoYXNTaG9ydFRlcm1EaXNhYmlsaXR5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGFzU2hvcnRUZXJtRGlzYWJpbGl0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi5wYXlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1JlY3ZSZW11bmVyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNSZWN2UmVtdW5lcmF0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlPT09J01FJyAmJiBoYXNSZWN2UmVtdW5lcmF0aW9uLnZhbHVlPT09J1knICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlPT09JzAnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlbXVuZXJhdGlvblR5cGVzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVtdW5lcmF0aW9uLnR5cGVzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNoZWNrYm94IFtuYW1lXT1cIidyZW11bmVyYXRpb250eXBlcy1ncm91cCdcIiBbdmFsdWVdPVwiY2hvaWNlLnZhbHVlXCIgXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIiAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zXCIgIFtmb3JtQ29udHJvbF09XCJyZW11bmVyYXRpb25UeXBlc1wiXHJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlbXVuZXJhdGlvblR5cGVzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGUgPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2YWNhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnZhY2F0aW9uLmJyZWFrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ2YWNhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZhY2F0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tPGRpdiAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+IFN0ZXBoZW4gQ29kZS0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5bWVudFR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMucGF5bW9kZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicGF5bWVudFR5cGVcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicGF5TWV0aG9kT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXltZW50VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheW1lbnRUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9jc1JlY2VpdmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmRvY3NcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImRvY3NSZWNlaXZlZFwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ3YWdlUHJvb2ZPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRvY3NSZWNlaXZlZFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RvY3NSZWNlaXZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJTU05GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzbi5mbGFnXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cIm90aGVyU1NORmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwib3RoZXJTU05GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NORmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTlwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgaW5wdXRJZD1cIm90aGVyU1NOXCIgbWFzaz1cIjk5OS05OS05OTk5XCIgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NOXCIgcGxhY2Vob2xkZXI9XCI5OTktOTktOTk5OVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWlucHV0TWFzaz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlclNTTicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpcmVkQnlcIj5NYW5hZ2VyJ3MgTmFtZSAmIFRpdGxlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiaGlyZWRCeVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImhpcmVkQnlcIiBtYXhsZW5ndGg9XCI0MFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hpcmVkQnknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLSAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPiBTdGVwaGVuIENvZGUgLS0+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwib3RoZXJOYW1lRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lLmZsYWdcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJvdGhlck5hbWVGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWVGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cIm90aGVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJvdGhlck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxpb24tcm93ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlaW5cIj5GRUlOPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cImZlaW5cIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwiZmVpblwiIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWluJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvaW5nQnVzaW5lc3NBc1wiPkRvaW5nIEJ1c2luZXNzIEFzL1RyYWRlIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJkb2luZ0J1c2luZXNzQXNcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJkb2luZ0J1c2luZXNzQXNcIiBtYXhsZW5ndGg9XCIxMDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2luZ0J1c2luZXNzQXMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PiAtLT5cclxuXHJcbiAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgXHJcbiAgICAgICAgICAgICAgICAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnVzaW5lc3NOYXR1cmVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ubmF0dXJlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJidXNpbmVzc05hdHVyZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImJ1c2luZXNzTmF0dXJlXCIgbWF4bGVuZ3RoPVwiMjUwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYnVzaW5lc3NOYXR1cmUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgfHwgKGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBwcmV2V29ya2VkU3RhdGU/LnZhbHVlID09PSAnS1MnKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj4gU3RlcGhlbiBDb2RlIC0tPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIGlzTmV3Q2xhaW1cIj5cclxuICAgICAgICAgICAgICAgIDwhLS08bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnZlcmlmaWNhdGlvbi53YWdlcy5zdGF0ZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBydWxlcz1cInJvd3NcIj5cclxuICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMVwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmNvbDJcInx0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ3YWdlQW1vdW50QXJyYXlcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2FnZUFtb3VudEZvcm0gb2Ygd2FnZUFtb3VudEFycmF5LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiKChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHdhZ2VBbW91bnRGb3JtLnZhbHVlLmRpc3BsYXlGb3JBbGw9PT10cnVlKSApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIid3YWdlQW1vdW50QXJyYXktJyArIGlcIiA+e3t3YWdlQW1vdW50Rm9ybS52YWx1ZS5xdHJZZWFyRGlzcGxheVN0cmluZ319PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpbnB1dElkXT1cIid3YWdlQW1vdW50QXJyYXktJyArIGlcIiBhcmlhTGFiZWw9XCJ3YWdlQW1vdW50XCIgZm9ybUNvbnRyb2xOYW1lPVwid2FnZUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIFttaW5dPVwiMC4wMFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwid2FnZUFtb3VudEFycmF5LmVycm9ycz8ucmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dhZ2VBbW91bnRBcnJheScgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2VyckRlZl09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogJ2F0IGxlYXN0IG9uZSBhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybydcclxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZlcmFuY2VcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5zZXZlcmFuY2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwic2V2ZXJhbmNlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNldmVyYW5jZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZlcmFuY2UnXHJcbiAgICAgICAgICAgICAgICBbZXJyRGVmXT1cIntyZXF1aXJlZDogcmVxdWlyZWR9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIFthdXRvZm9jdXNdPVwidHJ1ZVwiIHRhYmluZGV4PVwiMFwiIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCIgKGtleXVwLnNwYWNlKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCIgKGtleXVwLmVudGVyKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCJcclxuICAgICAgICAgICAgdHlwZT1cInJlc2V0XCI+e3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmJ1dHRvbi5jYW5jZWxcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwic2F2ZSgpXCIgdHlwZT1cInN1Ym1pdFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiAoa2V5dXAuc3BhY2UpPVwic2F2ZSgpXCIgKGtleXVwLmVudGVyKT1cInNhdmUoKVwiPlxyXG4gICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLnNhdmVcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwiYWRkKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiAoa2V5dXAuc3BhY2UpPVwiYWRkKClcIiAoa2V5dXAuZW50ZXIpPVwiYWRkKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZGQgYW4gZW1wbG95ZXInIHwgdHJhbnNsYXRlXCI+IHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uYWRkXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvaW9uLWdyaWQ+XHJcbiAgPC9mb3JtPlxyXG48L3AtZGlhbG9nPiJdfQ==
|
|
2590
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddEmployerComponent, { className: "AddEmployerComponent", filePath: "lib\\components\\add-employer\\add-employer.component.ts", lineNumber: 26 }); })();
|
|
2591
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBMEQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU9oRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNObEMsMkJBQStCO0lBQzdCLFlBQThEOztJQUFBLGlCQUFNOzs7SUFBcEUsZUFBOEQ7SUFBOUQsZ0hBQThEOzs7SUFJaEUsMkJBQW1CO0lBQ2pCLHFCQUFJO0lBQ0osWUFDRjs7SUFBQSxpQkFBTTs7SUFESixlQUNGO0lBREUsb0dBQ0Y7OztJQU1RLDBCQUFnQyxRQUFBO0lBQzNCLFlBQThCO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxDLGVBQThCO0lBQTlCLGtEQUE4Qjs7O0lBSW5DLDBCQUFnQztJQUM5QixZQUNGOztJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lB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QUNMLGtDQUFrRDtZQUNoRCxpRkF1K0JXO1lBQ2IsaUJBQU8sRUFBQTs7WUE3K0JhLDBDQUF5QjtZQURTLGtDQUFvQixvQkFBQSxvQkFBQSw0Q0FBQTtZQUdYLGVBQy9EO1lBRCtELDZGQUMvRDtZQUNvQixlQUE2QjtZQUE3QiwrQ0FBNkI7WUFDcEMsZUFBK0I7WUFBL0Isd0ZBQStCOzs7aUZEbUJqQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7NFNBTUwsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBQ0UsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBaUVyQixXQUFXO2tCQURWLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxpQkFBaUI7a0JBRHZCLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLEdBQUc7a0JBRFQsS0FBSztZQU9OLGVBQWU7a0JBRGQsTUFBTTtZQUdvQixtQkFBbUI7a0JBQTdDLFNBQVM7bUJBQUMsY0FBYzs7a0ZBOUZkLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xyXG5pbXBvcnQgeyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnRNb2RlbCwgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1lbXBsb3llcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1lbXBsb3llci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWVtcGxveWVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRFbXBsb3llckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3MxJykgYWRkcmVzczE6IEFkZHJlc3NDb21wb25lbnQ7IFxyXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3MyJykgYWRkcmVzczI6IEFkZHJlc3NDb21wb25lbnQ7IFxyXG5cclxuICBwdWJsaWMgZW1wbG95ZXJUeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLkVNUExPWUVSX1RZUEU7XHJcbiAgcHVibGljIGNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcclxuICBwdWJsaWMgY291bnRyeUZlZE9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gIHB1YmxpYyBwYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XHJcbiAgcHVibGljIHN0YXRlT3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIGZlZFN0YXRlT3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIGpvYlRpbGVPclBvc2l0aW9uT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgZmVkSm9iVGlsZU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHJhZGlvT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OTztcclxuICBwdWJsaWMgd29ya09wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0ZPUl9FTVBMO1xyXG4gIHB1YmxpYyB5ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQTtcclxuICBwdWJsaWMgcGF5TWV0aG9kT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWU1FTlRfTUVUSE9EO1xyXG4gIHB1YmxpYyB3YWdlUHJvb2ZPcHRpb25zID0gQ29tYm9PcHRpb24uV0FHRV9QUk9PRjtcclxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uczogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHN0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5VU19TVEFURVM7XHJcbiAgcHVibGljIG5vbktTU3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLk5PTl9LU19TVEFURVM7XHJcbiAgcHVibGljIHBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XHJcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFO1xyXG4gIHB1YmxpYyByZW11bmVyYXRpb25UeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlJFTVVORVJBVElPTl9UWVBFUztcclxuICBwdWJsaWMgYWRkRW1wbG95ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyBkaXNwbGF5OiBib29sZWFuO1xyXG4gIHB1YmxpYyBiYXNlUGVyaW9kU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBiYXNlUGVyaW9kRW5kRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgYnBTdGFydERhdGVUb0Rpc3BsYXk6IERhdGU7XHJcbiAgcHVibGljIG1pbkRhdGU6IERhdGU7XHJcbiAgcHVibGljIG1pblN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlT25lPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VUd28/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZVRocmVlPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VGb3VyPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBjdXJyZW50UXVhcnRlclJhbmdlPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VGaXZlPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBkYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgcHVibGljIGdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xyXG4gIHB1YmxpYyBtaW5Xb3JrU3RhcnREYXRlIDogRGF0ZTtcclxuICBwdWJsaWMgcHJldldvcmtlZFN0YXRlT3B0aW9ucz0gQ29tYm9PcHRpb24uV09SS0VEX1NUQVRFO1xyXG5cclxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2Y4SW5mbz1cIlNGLThcIjtcclxuICBwdWJsaWMgZGQyMTRJbmZvPVwiREQgMjE0XCI7XHJcblxyXG4gIHB1YmxpYyBwYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEub25lXCI7XHJcbiAgcHVibGljIHBhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBwYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnRocmVlXCI7XHJcbiAgcHVibGljIHBhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5mb3VyXCI7XHJcbiAgcHVibGljIHBhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5maXZlXCI7XHJcbiAgcHVibGljIHBhcmFTaXg9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnNpeFwiO1xyXG5cclxuICBwdWJsaWMgbm9QYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5vbmVcIjtcclxuICBwdWJsaWMgbm9QYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBub1BhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS50aHJlZVwiO1xyXG4gIHB1YmxpYyBub1BhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZvdXJcIjtcclxuICBwdWJsaWMgbm9QYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5maXZlXCI7XHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclByb3ZpZGVkV2FnZXM6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBtb2RlbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlY29yZEluZGV4VG9FZGl0OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9FZGl0TW9kZTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9iOiBEYXRlO1xyXG5cclxuICBwdWJsaWMgaGlkZUZpY0NvZGU6IHRydWU7XHJcbiAgcHVibGljIGlzTWFudWFsRW50ZXJFbXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgXHJcbiAgYmFzZVBlcmlvZEluZGV4OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9ICAgbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbXBsb3llckZvcm0nKSBlbXBsb3llckZvcm1FbGVtZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgY3VycmVudFN0YXRlIDogc3RyaW5nO1xyXG4gIHB1YmxpYyBjdXN0b21lck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgYWxpYXNOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIG1haWxpbmdBZGRyZXNzRGlzcGxheTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzY2hvb2xGbGFnOnN0cmluZztcclxuICBwdWJsaWMgaXNPc2FFbXBsb3llcjpzdHJpbmcgPSBcIjBcIjtcclxuICBwdWJsaWMgaXNDU1I6Ym9vbGVhbjtcclxuICBwdWJsaWMgc2hvd1dvcmtTdGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIG5vbktzU3RhdGU6e3RleHQ6c3RyaW5nLCB2YWx1ZTpzdHJpbmd9W107XHJcbiAgcHVibGljIHF0cldhZ2VMaXN0OiBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcclxuICBwdWJsaWMgaXNGb3JtU3VibWl0dGVkID0ge3N1Ym1pdHRlZDogZmFsc2V9XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xyXG5cclxuICB9O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIFxyXG4gICAgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgXHJcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHB1YmxpYyBjbGFpbXNTZXJ2aWNlIDogQ2xhaW1TZXJ2aWNlLCBwdWJsaWMgbHM6IExvZ2luU2VydmljZSxcclxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBhcjogQWN0aXZhdGVkUm91dGUpIHsgfVxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuc2V0V29ya1N0YXJ0RGF0ZSgpO1xyXG4gICAgXHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcblxyXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICB0aGlzLnN0YXRlc09wdGlvbnMgPSBbY3VycmVudFN0YXRlLCAuLi5Db21ib09wdGlvbi5VU19TVEFURVMuZmlsdGVyKHN0YXRlID0+IHN0YXRlLnZhbHVlICE9IHRoaXMudXRpbC5nZXRTdGF0ZSgpKV07XHJcblxyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2lzQmFzZVBlcmlvZEVtcGxveWVyIGlzID0gJywgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciwgdGhpcy5zdGF0ZXNPcHRpb25zKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdpc05ld0NsYWltID0gJywgdGhpcy5pc05ld0NsYWltKTtcclxuICAgIHRoaXMuY3VycmVudFN0YXRlID0gdGhpcy51dGlsLmdldFN0YXRlKCk7XHJcbiAgICB0aGlzLmlzQ1NSID0gdGhpcy5scy5pc0NzcigpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJDdXJyZW50IFN0YXRlID0gXCIsIHRoaXMuY3VycmVudFN0YXRlKTtcclxuICAgIGxldCBlc206IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWw7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNhbGwgc2VydmljZSA9XCIsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xyXG4gICAgaWYgKHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09PSBudWxsKSB7XHJcbiAgICAgIGVzbSA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XHJcbiAgICAgIHRoaXMucXRyV2FnZUxpc3QgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpPy5xdHJZZWFyV2FnZUxpc3RHZW5lcmljOyAgICAgIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlY29yZEluZGV4VG9FZGl0JywgdGhpcy5yZWNvcmRJbmRleFRvRWRpdClcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCknLCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcclxuICAgICAgdGhpcy5ub0VkaXRNb2RlID0gdHJ1ZTtcclxuICAgICAgZXNtID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbdGhpcy5yZWNvcmRJbmRleFRvRWRpdF07XHJcbiAgICAgIHRoaXMucXRyV2FnZUxpc3QgPSBlc20ud2FnZUFtb3VudEFycmF5IGFzIFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG4gICAgICB0aGlzLmN1c3RvbWVyTmFtZSA9IGVzbS5lbXBsb3llckRhdGEuZGlzcGxheU5hbWU7XHJcbiAgICAgIGlmKGVzbS5lbXBsb3llckRhdGEudHJhZGVOYW1lKXtcclxuICAgICAgICB0aGlzLmFsaWFzTmFtZSA9IGVzbS5lbXBsb3llckRhdGEudHJhZGVOYW1lO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBpZihlc20ub3NhQnBFbXBsb3llckZsYWcpe1xyXG4gICAgICAgIHRoaXMuaXNPc2FFbXBsb3llciA9IGVzbS5vc2FCcEVtcGxveWVyRmxhZztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImlzT3NhRW1wbG95ZXIgPT09PT09PSBcIiAsIHRoaXMuaXNPc2FFbXBsb3llcik7XHJcbiAgICAgIHRoaXMubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID0gZXNtLmVtcGxveWVyRGF0YS5tYWlsaW5nQWRkcmVzc0Rpc3BsYXk7XHJcbiAgICAgIHRoaXMuc2Nob29sRmxhZyA9IGVzbS5lbXBsb3llckRhdGEuc2Nob29sRmxhZztcclxuICAgICAgaWYodGhpcy5pc0NTUiAmJiBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZSl7XHJcbiAgICAgICAgdGhpcy5lbXBsb3llclByb3ZpZGVkV2FnZXMgPSBlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJhc2VQZXJpb2RTdGFydERhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpPy5iYXNlUGVyaW9kU3RhcnREYXRlO1xyXG4gICAgdGhpcy5iYXNlUGVyaW9kRW5kRGF0ZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LmJhc2VQZXJpb2RFbmREYXRlO1xyXG4gICAgdGhpcy5icFN0YXJ0RGF0ZVRvRGlzcGxheSA9IG5ldyBEYXRlKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LmJwU3RhcnREYXRlVG9EaXNwbGF5KTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMubWluV29ya1N0YXJ0RGF0ZVwiLCB0aGlzLm1pbldvcmtTdGFydERhdGUpO1xyXG4gICAgaWYodGhpcy5taW5Xb3JrU3RhcnREYXRlKXtcclxuICAgICAgdGhpcy5icFN0YXJ0RGF0ZVRvRGlzcGxheSA9IHRoaXMubWluV29ya1N0YXJ0RGF0ZTtcclxuICAgIH0gZWxzZXtcclxuICAgICAgdGhpcy5taW5Xb3JrU3RhcnREYXRlID0gdGhpcy5kb2I7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmxvYWRNYXN0ZXJEYXRhKCk7XHJcbiAgICBcclxuXHJcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAnZW1wbG95ZXJUeXBlJzogW2VzbS5lbXBsb3llclR5cGUgPz8gbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdlbXBsb3llck5hbWUnOiBbZXNtLmVtcGxveWVyTmFtZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnByZXZXb3JrZWRTdGF0ZS52YWx1ZSA9PT0gJ0tTJyldLFxyXG4gICAgICAnb3RoU3RhdGVFbXBOYW1lJzogW2VzbS5vdGhTdGF0ZUVtcE5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5wcmV2V29ya2VkU3RhdGUudmFsdWUgPT09ICdPVCcpXSxcclxuICAgICAgJ2ZlZEVtcGxveWVyTmFtZSc6IFtlc20uZmVkRW1wbG95ZXJOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdlbXBsb3llclRlbGVwaG9uZU51bWJlcic6IFtlc20uZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXIgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ2VuZERhdGUnOiBbZXNtLmVuZERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ3N0YXJ0RGF0ZSc6IFtlc20uc3RhcnREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdqb2JUaWxlT3JQb3NpdGlvbic6IFtlc20uam9iVGlsZU9yUG9zaXRpb24gPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ3JlYXNvblNlcGFyYXRpb24nOiBbZXNtLnJlYXNvblNlcGFyYXRpb24gPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgfHwgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZGlzY2hhcmdlRGV0YWlsJzogW2VzbS5kaXNjaGFyZ2VEZXRhaWwgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSE9J01JTCcgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uPy52YWx1ZT8udmFsdWUgPT09ICdEQ0ZJJyldLFxyXG4gICAgICAndm9sUXVpdERldGFpbHMnOiBbZXNtLnZvbFF1aXREZXRhaWxzID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUhPSdNSUwnICYmICB0aGlzLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlPy52YWx1ZSA9PT0gJ1ZPTFEnKV0sXHJcbiAgICAgICdwYXlSYXRlJzogW2VzbS5wYXlSYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZz8udmFsdWU9PT0nWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxyXG4gICAgICAncGF5UmF0ZUZyZXF1ZW5jeSc6IFtlc20ucGF5UmF0ZUZyZXF1ZW5jeSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycgJiYgKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWc/LnZhbHVlPT09J1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikpXSxcclxuICAgICAgJ3BlbnNpb25GbGFnJzogW2VzbS5wZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycgJiYgdGhpcy53b3JrRmxhZz8udmFsdWU9PT0nWScpXSxcclxuICAgICAgJ3BlbnNpb25SZWN2RGF0ZSc6IFtlc20ucGVuc2lvblJlY3ZEYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMucGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyAmJiB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXHJcbiAgICAgICdyZWdQZW5zaW9uRmxhZyc6IFtlc20ucmVnUGVuc2lvbkZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnKV0sXHJcbiAgICAgICdyZWdQZW5zaW9uUmVjdkRhdGUnOltlc20ucmVnUGVuc2lvblJlY3ZEYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJyldLCAgICAgIFxyXG4gICAgICAvLyAnaXNDbG10UGFpZFdoaWxlTG93JzogW2VzbS5pc0NsbXRQYWlkV2hpbGVMb3cgIT0gbnVsbCA/IGVzbS5pc0NsbXRQYWlkV2hpbGVMb3cgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgLy8gJ2hhc1Nob3J0VGVybURpc2FiaWxpdHknOiBbZXNtLmhhc1Nob3J0VGVybURpc2FiaWxpdHkgIT0gbnVsbCA/IGVzbS5oYXNTaG9ydFRlcm1EaXNhYmlsaXR5IDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcclxuICAgICAgLy8gJ2hhc1JlY3ZSZW11bmVyYXRpb24nOiBbZXNtLmhhc1JlY3ZSZW11bmVyYXRpb24gIT0gbnVsbCA/IGVzbS5oYXNSZWN2UmVtdW5lcmF0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXHJcbiAgICAgICdyZW11bmVyYXRpb25UeXBlcyc6IFtlc20ucmVtdW5lcmF0aW9uVHlwZXMgPz8gbnVsbF0sXHJcbiAgICAgIC8vICd2YWNhdGlvbic6IFtlc20udmFjYXRpb24gIT0gbnVsbCA/IGVzbS52YWNhdGlvbiA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuc2Nob29sRmxhZyA9PT0nMScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnKV0sXHJcbiAgICAgIFxyXG4gICAgICAnZ3Jvc3NXYWdlcyc6IFtlc20uZ3Jvc3NXYWdlcyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgKHRoaXMub3NhQnBFbXBsb3llckZsYWc/LnZhbHVlID09PScxJyB8fCB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSkpXSxcclxuICAgICAgLy8ncGFpZEJ5JzogW2VzbS5wYWlkQnkgIT0gbnVsbCA/IGVzbS5wYWlkQnkgOiBudWxsLEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5pc0NsbXRQYWlkV2hpbGVMb3cudmFsdWU9PT0nWScpKV0sXHJcbiAgICAgICdwYXltZW50VHlwZSc6IFtlc20ucGF5bWVudFR5cGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnKV0sXHJcbiAgICAgICdkb2NzUmVjZWl2ZWQnOiBbZXNtLmRvY3NSZWNlaXZlZCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnb3RoZXJTU05GbGFnJzogW2VzbS5vdGhlclNTTkZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ290aGVyU1NOJzogW2VzbS5vdGhlclNTTiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIHRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWScpXSxcclxuICAgICAgJ290aGVyTmFtZUZsYWcnOiBbZXNtLm90aGVyTmFtZUZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnKV0sXHJcbiAgICAgICdvdGhlck5hbWUnOiBbZXNtLm90aGVyTmFtZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWScpXSxcclxuICAgICAgLy8nZG9pbmdCdXNpbmVzc0FzJzogW2VzbS5kb2luZ0J1c2luZXNzQXMgIT0gbnVsbCA/IGVzbS5kb2luZ0J1c2luZXNzQXMgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J0tTJykpXSxcclxuICAgICAgJ3ByZXZXb3JrZWRTdGF0ZSc6IFtlc20ucHJldldvcmtlZFN0YXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXHJcbiAgICAgICd3b3JrU3RhdGUnOiBbZXNtLndvcmtTdGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcildLFxyXG4gICAgICAnd29ya0NpdHknOiBbZXNtLndvcmtDaXR5ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXHJcbiAgICAgIC8vJ251bWJlckVtcGxveWVkJzogW2VzbS5udW1iZXJFbXBsb3llZCAhPSBudWxsID8gZXNtLm51bWJlckVtcGxveWVkIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxyXG4gICAgICAnd29ya1R5cGUnOiBbZXNtLndvcmtUeXBlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyldLFxyXG4gICAgIC8vICdmZWluJzogW2VzbS5mZWluXSxcclxuICAgICAvLyAnaGlyZWRCeSc6IFtlc20uaGlyZWRCeSwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycpKV0sXHJcbiAgICAgIC8vJ2J1c2luZXNzT3duZXInOiBbZXNtLmJ1c2luZXNzT3duZXIsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nS1MnKSldLFxyXG4gICAgICAnYnVzaW5lc3NOYXR1cmUnOiBbZXNtLmJ1c2luZXNzTmF0dXJlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICd3b3JrRmxhZyc6IFtlc20ud29ya0ZsYWcgPz8gbnVsbF0sXHJcbiAgICAgIC8vJ3F1aXRyZWFzb24nOiBbZXNtLnF1aXRyZWFzb24gIT0gbnVsbCA/IGVzbS5xdWl0cmVhc29uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgKCF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSkgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlICYmIHRoaXMucmVhc29uU2VwYXJhdGlvbi52YWx1ZS52YWx1ZSA9PT0gJ1ZPTFEnKSkpXSxcclxuICAgICAgJ2Rpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzJzogW2VzbS5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyA/PyBudWxsXSxcclxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uQ29kZSc6IFtlc20uZmljRGVzdGluYXRpb25Db2RlID8/IG51bGxdLFxyXG4gICAgICAnZmljQ29kZSc6IFtlc20uZmljQ29kZSA/PyBudWxsXSxcclxuICAgICAgJ2ZpY0Rlc3RpbmF0aW9uTmFtZSc6IFtlc20uZmljRGVzdGluYXRpb25OYW1lID8/IG51bGxdLFxyXG4gICAgICAnZmljRGVzdGluYXRpb25JZCc6IFtlc20uZmljRGVzdGluYXRpb25JZCA/PyBudWxsXSxcclxuICAgICAgJ3NmRWlnaHRmbGFnJzogW2VzbS5zZkVpZ2h0ZmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkV29ya0NpdHknOiBbZXNtLmZlZFdvcmtDaXR5ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRXb3JrU3RhdGUnOiBbZXNtLmZlZFdvcmtTdGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkV29ya0NvdW50cnknOiBbZXNtLmZlZFdvcmtDb3VudHJ5ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdzdGFydERhdGVGZWQnOiBbZXNtLnN0YXJ0RGF0ZUZlZCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZW5kRGF0ZUZlZCc6IFtlc20uZW5kRGF0ZUZlZCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyldLFxyXG4gICAgICAnZmVkSm9iVGlsZU9yUG9zaXRpb24nOiBbZXNtLmZlZEpvYlRpbGVPclBvc2l0aW9uID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJykpXSxcclxuICAgICAgLy8nY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJzogW2VzbS5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIgIT0gbnVsbCA/IGVzbS5jbGFpbWFudEVtcGxveWVkV2l0aEVtcHIgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgICdwZXJmb3JtZWRTZXJ2aWNlJzogW2VzbS5wZXJmb3JtZWRTZXJ2aWNlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRQZW5zaW9uRmxhZyc6IFtlc20uZmVkUGVuc2lvbkZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKSldLFxyXG4gICAgICAnZmVkUGVuc2lvblJlY3ZEYXRlJzpbZXNtLmZlZFBlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnc2V2UGF5RmxhZyc6IFtlc20uc2V2UGF5RmxhZyA/PyBudWxsXSxcclxuICAgICAgJ3dlZWtseUFtb3VudCc6IFtlc20ud2Vla2x5QW1vdW50ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ251bWJlck9mV2Vla3MnOiBbZXNtLm51bWJlck9mV2Vla3MgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnc2V2UGF5QW1vdW50JzogW2VzbS5zZXZQYXlBbW91bnQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnc2V2UGF5U3RhcnREYXRlJzogW2VzbS5zZXZQYXlTdGFydERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnc2V2UGF5RW5kRGF0ZSc6IFtlc20uc2V2UGF5RW5kRGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlQYXltZW50U3RhcnREYXRlJzogW2VzbS5zZXZQYXlQYXltZW50U3RhcnREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3JlZ0VtcGxveWVyRm91bmQnOiBbZXNtLnJlZ0VtcGxveWVyRm91bmQgPz8gbnVsbF0sXHJcbiAgICAgICdlbXBsb3llcklkJzogW2VzbS5lbXBsb3llcklkID8/IG51bGxdLFxyXG4gICAgICAnc2VydmljZUJyYW5jaCc6IFtlc20uc2VydmljZUJyYW5jaCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnc3RhcnREYXRlTWlsJzogW2VzbS5zdGFydERhdGVNaWwgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ2VuZERhdGVNaWwnOiBbZXNtLmVuZERhdGVNaWwgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ2RkMjE0RmxhZyc6IFtlc20uZGQyMTRGbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdsYXN0UGF5R3JhZGUnOiBbZXNtLmxhc3RQYXlHcmFkZSA/PyBudWxsXSxcclxuICAgICAgJ2xhc3RkdXR5JzogW2VzbS5sYXN0ZHV0eSA/PyBudWxsXSxcclxuICAgICAgJ3BsYWNlU2VwYXJhdGVkJzogW2VzbS5wbGFjZVNlcGFyYXRlZCA/PyBudWxsXSxcclxuICAgICAgJ25vTGVhdmVEYXlzJzogW2VzbS5ub0xlYXZlRGF5cyA/PyBudWxsXSxcclxuICAgICAgJ2NvbXBsZXRlZEZ1bGxUZXJtRmxhZyc6IFtlc20uY29tcGxldGVkRnVsbFRlcm1GbGFnID8/IG51bGxdLFxyXG4gICAgICAncmVzZXJ2ZU9yR3VhcmRGbGFnJzogW2VzbS5yZXNlcnZlT3JHdWFyZEZsYWcgPz8gbnVsbF0sXHJcbiAgICAgICdtaWxQZW5zaW9uRmxhZyc6IFtlc20ubWlsUGVuc2lvbkZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ21pbFBlbnNpb25SZWN2RGF0ZSc6W2VzbS5taWxQZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnICYmIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ21pbFN0YXRlJzpbbnVsbCwgW0FwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKSwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZEthbnNhc11dLFxyXG4gICAgICAnYWRkcmVzc0xpbmUxJzogW2VzbS5hZGRyZXNzTGluZTEgPz8gbnVsbF0sXHJcbiAgICAgICdhZGRyZXNzTGluZTInOiBbZXNtLmFkZHJlc3NMaW5lMiA/PyBudWxsXSxcclxuICAgICAgJ2FkZHJlc3NMaW5lMyc6IFtlc20uYWRkcmVzc0xpbmUzID8/IG51bGxdLFxyXG4gICAgICAncmVzZXJ2ZUJyYW5jaCc6W2VzbS5yZXNlcnZlQnJhbmNoID8/IG51bGxdLFxyXG4gICAgICAnc3RhcnREYXRlUmVzZXJ2ZSc6W2VzbS5zdGFydERhdGVSZXNlcnZlID8/IG51bGxdLFxyXG4gICAgICAnZW5kRGF0ZVJlc2VydmUnOltlc20uZW5kRGF0ZVJlc2VydmUgPz8gbnVsbF0sXHJcbiAgICAgICdkZDIxNEZpbGUnOltlc20uZGQyMTRGaWxlID8/IG51bGxdLFxyXG4gICAgICAnYWRkcmVzcyc6W2VzbS5hZGRyZXNzID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKSldLFxyXG4gICAgICAnd2FnZUFtb3VudEFycmF5JzogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSksXHJcbiAgICAgICd0ZXN0RW1wJyA6IFtlc20uZW1wbG95ZXJQcm92aWRlZFdhZ2VzPy53YWdlc0xpc3RRdHJXaXNlID8/IG51bGxdLFxyXG4gICAgICAnb3NhQnBFbXBsb3llckZsYWcnOltlc20ub3NhQnBFbXBsb3llckZsYWcgPz8gXCIwXCJdLFxyXG4gICAgICAnc2V2ZXJhbmNlJzpbZXNtLnNldmVyYW5jZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT57XHJcbiAgICAgIC8vIHVuY29tbWVudCB0aGlzIGlmIHRoZXJlIGlzIGFuIGlzc3VlIHdpdGggY2hhbmdpbmcgZW1wbG95ZXIgdHlwZS5cclxuICAgICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIHVuY29tbWVudGVkXHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzKS5mb3JFYWNoKCh0dXBsZSk9PiB7aWYodHVwbGVbMF0gIT09IFwiZW1wbG95ZXJUeXBlXCIgJiYgdHVwbGVbMF0gIT09IFwid2FnZUFtb3VudEFycmF5XCIgJiYgIXR1cGxlWzFdLnZhbGlkKSB0dXBsZVsxXS5yZXNldCgpO30pO1xyXG4gICAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT09ICdGRUQnID8gdGhpcy5hZGRyZXNzLmRpc2FibGUoKTogdGhpcy5hZGRyZXNzLmVuYWJsZSgpOyAgICAgIFxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBCYXNlUGFnZS5wcmltZU5HRml4ZXMoKTsgICAgICAgICBcclxuICAgICAgfSwgNTAwKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoIF8gPT4ge1xyXG4gICAgICB0aGlzLmRpc2NoYXJnZURldGFpbC5yZXNldCgpO1xyXG4gICAgICB0aGlzLnZvbFF1aXREZXRhaWxzLnJlc2V0KCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIEJhc2VQYWdlLnByaW1lTkdGaXhlcygpOyAgICAgICAgIFxyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm90aGVyU1NORmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLm90aGVyU1NOLnJlc2V0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMub3RoZXJOYW1lRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLm90aGVyTmFtZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG4gXHJcbiAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgYWRkZWQuIGlmICBlbXBsb3llclR5cGUgaXMgUkVHIGFuZCBub24gYmFzZXBlcmlvZEVtcGxveWVyLiBJZiB1c2VyIGNoYW5nZSB0aGUgIHJlZ1BlbnNpb25GbGFnICdZRVMnIHRvICdOTycgdGhlbiByZWdQZW5zaW9uUmVjdkRhdGUgdmFsaWRhdGlvbiB3YXMgcmVzZXRcclxuICAgIHRoaXMucmVnUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUucmVzZXQoKTtcclxuICAgIH1cclxuICAgIClcclxuICAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgYWRkZWQuIGlmICBlbXBsb3llclR5cGUgaXMgUkVHIGFuZCAgYmFzZXBlcmlvZEVtcGxveWVyLiBJZiB1c2VyIGNoYW5nZSB0aGUgIHBlbnNpb25GbGFnICdZRVMnIHRvICdOTycgdGhlbiBQZW5zaW9uUmVjaXZlRGF0ZSB2YWxpZGF0aW9uIHdhcyByZXNldFxyXG4gICAgIHRoaXMucGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5wZW5zaW9uUmVjdkRhdGUucmVzZXQoKTtcclxuICAgIH1cclxuICAgIClcclxuXHJcblxyXG4gICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIFJFRyBhbmQgIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICBwZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gUGVuc2lvblJlY2l2ZURhdGUgdmFsaWRhdGlvbiB3YXMgcmVzZXRcclxuICAgIHRoaXMuZmVkUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgdGhpcy5mZWRQZW5zaW9uUmVjdkRhdGUucmVzZXQoKTtcclxuICAgIH1cclxuICAgIClcclxuXHJcbiAgICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBNSUwgYW5kICBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIG1pbFBlbnNpb25SZWN2RGF0ZSB2YWxpZGF0aW9uIHdhcyByZXNldFxyXG4gICAgICB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgdGhpcy5taWxQZW5zaW9uUmVjdkRhdGUucmVzZXQoKTtcclxuICAgICAgfVxyXG4gICAgICApXHJcblxyXG5cclxuXHJcbiAgICBcclxuICAgIGlmKCF0aGlzLnBheVJhdGVGcmVxdWVuY3kudmFsdWUpe1xyXG4gICAgICB0aGlzLnBheVJhdGVGcmVxdWVuY3kucGF0Y2hWYWx1ZSh7IHZhbHVlOiAnSE9VUicsIHRleHQ6ICdIb3VyJyB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZSkge1xyXG4gICAgICBpZiAodGhpcy5xdHJXYWdlTGlzdCkge1xyXG4gICAgICAgIGZvciAodmFyIHF0cldhZ2Ugb2YgdGhpcy5xdHJXYWdlTGlzdCkge1xyXG4gICAgICAgICAgdGhpcy53YWdlQW1vdW50QXJyYXkucHVzaCh0aGlzLndhZ2VBcnJheShxdHJXYWdlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgfHwgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlID09ICdGRUQnICYmIHRoaXMuaXNOZXdDbGFpbSkpIHtcclxuICAgICAgICB0aGlzLnNldFdhZ2VWYWxpZGF0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG4gIHNldFdvcmtTdGFydERhdGUoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHRoaXMuYXIuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2RhdGEnKTtcclxuICAgIGlmKGRhdGEpe1xyXG4gICAgICBsZXQgcGFyc2VkRGF0YSA6IEtleVZhbHVlTW9kZWxbXSA9IEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XHJcbiAgICAgIGlmKEFycmF5LmlzQXJyYXkocGFyc2VkRGF0YSkpe1xyXG4gICAgICAgIGxldCBsYXN0Q3dlID0gcGFyc2VkRGF0YS5maWx0ZXIoayA9PiBrLmtleSA9PSAnbGFzdEN3ZURhdGUnKTtcclxuICAgICAgICBpZihsYXN0Q3dlLmxlbmd0aCA+IDAgJiYgbGFzdEN3ZVswXS5rZXkgPT0gJ2xhc3RDd2VEYXRlJyAmJiAhdGhpcy5pc05ld0NsYWltKXtcclxuICAgICAgICAgIHRoaXMubWluV29ya1N0YXJ0RGF0ZSA9IG5ldyBEYXRlKGxhc3RDd2VbMF0udmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZE1hc3RlckRhdGEoKXtcclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UmVhc29uU2VwYXJhdGlvbigpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldERpc2NoYXJnZVJlYXNvbnMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFF1aXRSZWFzb25zKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIFxyXG4gIGlmKHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnMhPSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gIH1cclxuXHJcbiAgZ2V0IHdhZ2VBbW91bnRBcnJheSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1tcIndhZ2VBbW91bnRBcnJheVwiXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRlc3RFbXAoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1tcInRlc3RFbXBcIl0gO1xyXG4gIH1cclxuICBnZXQgc2V2ZXJhbmNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZlcmFuY2UnXTtcclxuICB9XHJcbiAgZ2V0IGVtcGxveWVyVHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybT8uY29udHJvbHNbJ2VtcGxveWVyVHlwZSddO1xyXG4gIH1cclxuICBnZXQgZW1wbG95ZXJOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llck5hbWUnXTtcclxuICB9XHJcbiAgZ2V0IG90aFN0YXRlRW1wTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoU3RhdGVFbXBOYW1lJ107XHJcbiAgfVxyXG4gIGdldCBlbXBsb3llclRlbGVwaG9uZU51bWJlcigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGFydERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBqb2JUaWxlT3JQb3NpdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snam9iVGlsZU9yUG9zaXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCByZWFzb25TZXBhcmF0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1sncmVhc29uU2VwYXJhdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpc2NoYXJnZURldGFpbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGlzY2hhcmdlRGV0YWlsJ107XHJcbiAgfVxyXG5cclxuICBnZXQgdm9sUXVpdERldGFpbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3ZvbFF1aXREZXRhaWxzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcGF5UmF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGF5UmF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdyb3NzV2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2dyb3NzV2FnZXMnXTtcclxuICB9XHJcblxyXG4gIGdldCBwYXlSYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlRnJlcXVlbmN5J107XHJcbiAgfVxyXG5cclxuICBnZXQgcGVuc2lvbkZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ107XHJcbiAgfVxyXG4gIFxyXG4gIGdldCBwZW5zaW9uUmVjdkRhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvblJlY3ZEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVnUGVuc2lvbkZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlZ1BlbnNpb25GbGFnJ107XHJcbiAgfVxyXG4gIFxyXG4gIGdldCByZWdQZW5zaW9uUmVjdkRhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvblJlY3ZEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoYXNTaG9ydFRlcm1EaXNhYmlsaXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzUmVjdlJlbXVuZXJhdGlvbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoYXNSZWN2UmVtdW5lcmF0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVtdW5lcmF0aW9uVHlwZXMoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVtdW5lcmF0aW9uVHlwZXMnXTtcclxuICB9XHJcblxyXG4gIGdldCB2YWNhdGlvbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd2YWNhdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBheW1lbnRUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXltZW50VHlwZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRvY3NSZWNlaXZlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZG9jc1JlY2VpdmVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJTU05GbGFnKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyU1NORmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG90aGVyU1NOKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlclNTTiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG90aGVyTmFtZUZsYWcoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJOYW1lRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG90aGVyTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJOYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZG9pbmdCdXNpbmVzc0FzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkb2luZ0J1c2luZXNzQXMnXTtcclxuICB9XHJcblxyXG4gIGdldCB3b3JrRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya0ZsYWcnXTtcclxuICB9XHJcblxyXG4gIC8vIGdldCBxdWl0cmVhc29uKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydxdWl0cmVhc29uJ107XHJcbiAgLy8gfVxyXG5cclxuICBnZXQgd29ya0NpdHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtDaXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya1N0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrU3RhdGUnXTtcclxuICB9XHJcbiAgZ2V0IG1pbFN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydtaWxTdGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgLypnZXQgaGlyZWRCeSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaGlyZWRCeSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlaW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlaW4nXTtcclxuICB9Ki9cclxuXHJcbiAgZ2V0IHdvcmtUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrVHlwZSddO1xyXG4gIH1cclxuXHJcbiAgLypnZXQgbnVtYmVyRW1wbG95ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ251bWJlckVtcGxveWVkJ107XHJcbiAgfSovXHJcblxyXG4gIGdldCBidXNpbmVzc05hdHVyZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYnVzaW5lc3NOYXR1cmUnXTtcclxuICB9XHJcblxyXG4gIGdldCBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMnXTtcclxuICB9XHJcblxyXG4gIC8vIGdldCB3YWdlUXVhcnRlcjEoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyMSddO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMigpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIyJ107XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMygpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIzJ107XHJcbiAgLy8gfVxyXG5cclxuXHJcblxyXG4gIC8vIGdldCB3YWdlUXVhcnRlcjQoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dhZ2VRdWFydGVyNCddO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IGZpY0NvZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0NvZGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBmaWNEZXN0aW5hdGlvbkNvZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uQ29kZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uSWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uSWQnXTtcclxuICB9XHJcbiAgICAgIFxyXG4gIFxyXG4gIC8vIGdldCBmb3JtZXJseUtub3duQXMoKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2Zvcm1lcmx5S25vd25BcyddO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0IHNmRWlnaHRmbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZkVpZ2h0ZmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZFdvcmtDaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrQ2l0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZFdvcmtTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkV29ya1N0YXRlJ107XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IGZlZFdvcmtDb3VudHJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrQ291bnRyeSddO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBzdGFydERhdGVGZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZUZlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVuZERhdGVGZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVGZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRKb2JUaWxlT3JQb3NpdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkSm9iVGlsZU9yUG9zaXRpb24nXTtcclxuICB9XHJcblxyXG4gIC8qIGdldCBjbGFpbWFudEVtcGxveWVkV2l0aEVtcHIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2NsYWltYW50RW1wbG95ZWRXaXRoRW1wciddO1xyXG4gIH0gKi9cclxuXHJcbiAgZ2V0IHBlcmZvcm1lZFNlcnZpY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlcmZvcm1lZFNlcnZpY2UnXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRQZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkUGVuc2lvbkZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRQZW5zaW9uUmVjdkRhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkUGVuc2lvblJlY3ZEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc2V2UGF5RmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5RmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdlZWtseUFtb3VudCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2Vla2x5QW1vdW50J107XHJcbiAgfVxyXG5cclxuICBnZXQgbnVtYmVyT2ZXZWVrcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbnVtYmVyT2ZXZWVrcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNldlBheUFtb3VudCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5QW1vdW50J107XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IHNldlBheVN0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5U3RhcnREYXRlJ107XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IHNldlBheUVuZERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheUVuZERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBzZXZQYXlQYXltZW50U3RhcnREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlQYXltZW50U3RhcnREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVnRW1wbG95ZXJGb3VuZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnRW1wbG95ZXJGb3VuZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtcGxveWVySWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVySWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWRFbXBsb3llck5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZEVtcGxveWVyTmFtZSddO1xyXG4gIH1cclxuICBnZXQgc2VydmljZUJyYW5jaCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2VydmljZUJyYW5jaCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZU1pbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlTWlsJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kRGF0ZU1pbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZU1pbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRkMjE0RmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZGQyMTRGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdFBheUdyYWRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0UGF5R3JhZGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0ZHV0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbGFzdGR1dHknXTtcclxuICB9XHJcblxyXG4gIGdldCBwbGFjZVNlcGFyYXRlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGxhY2VTZXBhcmF0ZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBub0xlYXZlRGF5cygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbm9MZWF2ZURheXMnXTtcclxuICB9XHJcblxyXG4gIGdldCBjb21wbGV0ZWRGdWxsVGVybUZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2NvbXBsZXRlZEZ1bGxUZXJtRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlc2VydmVPckd1YXJkRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVzZXJ2ZU9yR3VhcmRGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbWlsUGVuc2lvbkZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFBlbnNpb25GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbWlsUGVuc2lvblJlY3ZEYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydtaWxQZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRyZXNzTGluZTEoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUxJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzc0xpbmUyKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3NMaW5lMygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTMnXTtcclxuICB9XHJcblxyXG4gIGdldCBmaWNEZXN0aW5hdGlvbk5hbWUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25OYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVzZXJ2ZUJyYW5jaCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlQnJhbmNoJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhcnREYXRlUmVzZXJ2ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVSZXNlcnZlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kRGF0ZVJlc2VydmUoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZVJlc2VydmUnXTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IGRkMjE0RmlsZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZpbGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRyZXNzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXTtcclxuICB9XHJcblxyXG4gIGdldCBvc2FCcEVtcGxveWVyRmxhZygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvc2FCcEVtcGxveWVyRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHByZXZXb3JrZWRTdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybT8uY29udHJvbHNbJ3ByZXZXb3JrZWRTdGF0ZSddO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgb25Ub2dnbGVDaGFuZ2VQcmV2V29ya2VkU3RhdGUob2JqOiBhbnkpIHtcclxuICAgICAgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5maWNDb2RlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uQ29kZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShudWxsKTsgIFxyXG4gICAgICB0aGlzLnBlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy53b3JrVHlwZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5lbXBsb3llck5hbWUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMub3RoU3RhdGVFbXBOYW1lLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLndvcmtTdGF0ZS5zZXRWYWx1ZShudWxsKTsgXHJcbiAgICAgIHRoaXMud29ya0NpdHkuc2V0VmFsdWUobnVsbCk7IFxyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5lbmREYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnBheVJhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5wZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5lbXBsb3llclRlbGVwaG9uZU51bWJlci5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5qb2JUaWxlT3JQb3NpdGlvbi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5yZWdQZW5zaW9uRmxhZy5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5yZWdQZW5zaW9uUmVjdkRhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBvbk1vZGVsQ2FuY2VsKGNhbmNlbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5tb2RlbENhbmNlbC5lbWl0KGNhbmNlbCk7XHJcbiAgfVxyXG5cclxuICBzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpIHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llciwgXCJ0eXBlXCIsIHRoaXMuZW1wbG95ZXJUeXBlLCAndGhpcy5hZGRFbXBsb3llckZvcm0nLHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbXBsb3llci5zdGF0ZScsIGVtcGxveWVyLnN0YXRlKVxyXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5OmVtcGxveWVyLmNvdW50cnksIGNpdHk6ZW1wbG95ZXIuY2l0eVxyXG4gICAgLCB6aXA6ZW1wbG95ZXIuemlwLHN0cmVldEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0Rpc3BsYXlWYWwsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXHJcbiAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgIHRoaXMuYWRkcmVzcy5zZXRFcnJvcnMoe30pO1xyXG4gICAgdGhpcy5lbXBsb3llck5hbWUuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJOYW1lKTtcclxuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZSh0cnVlKTtcclxuICAgIHRoaXMuaXNNYW51YWxFbnRlckVtcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RmVkRW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KXtcclxuICAgIHRoaXMuYWRkcmVzczIucmVhZG9ubHkgPSBmYWxzZVxyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldEZlZEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyLCBcInppcCBcIiwgZW1wbG95ZXIuemlwKTtcclxuICAgIHRoaXMuZmljQ29kZS5lbmFibGUoKTtcclxuICAgIHRoaXMuZmljQ29kZS5zZXRWYWx1ZShlbXBsb3llci5maWNDb2RlKTtcclxuICAgIHRoaXMuZmljQ29kZS5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmZlZEVtcGxveWVyTmFtZS5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llck5hbWUpO1xyXG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbk5hbWUuZW5hYmxlKCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbk5hbWUpO1xyXG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbklkLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uSWQpO1xyXG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbk5hbWUuZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5maWNEZXN0aW5hdGlvbkNvZGUuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25Db2RlKTtcclxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTplbXBsb3llci5jb3VudHJ5LCBjaXR5OmVtcGxveWVyLmNpdHlcclxuICAgICAgLCB6aXA6ZW1wbG95ZXIuemlwLHN0cmVldEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0xpbmUxLHN0YXRlOmVtcGxveWVyLnN0YXRlLFxyXG4gICAgICBvcHRpb25hbEFkZHJlc3M6ZW1wbG95ZXIuYWRkcmVzc0xpbmUyLGNvdW50eTpudWxsLHRvd246bnVsbFxyXG4gICAgICB9KTtcclxuICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmVtcGxveWVySWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUyKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMyk7XHJcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgdGhpcy5hZGRyZXNzMi5yZWFkb25seSA9IHRydWU7XHJcbiAgICB0aGlzLmlzTWFudWFsRW50ZXJFbXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJlc2V0RmVkRW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KXtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTpudWxsLCBjaXR5Om51bGxcclxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcclxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHJlc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0KSB7XHJcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2V0RW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIpO1xyXG4gICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6bnVsbCwgY2l0eTpudWxsXHJcbiAgICAgICwgemlwOm51bGwsc3RyZWV0QWRkcmVzczpudWxsLHN0YXRlOm51bGwsXHJcbiAgICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxyXG4gICAgICB9KTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHV0TWlsUmVzQnJhbmNoVmFsaWRhdGlvbihldmVudCl7XHJcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlID09PSAnWScpIHtcclxuICAgIH1cclxuICAgIGVsc2V7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlQnJhbmNoJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVSZXNlcnZlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIG9uT3B0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQub3B0aW9uLnZhbHVlICE9PSAnWScpIHtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2pvYlRpbGVPclBvc2l0aW9uJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlRnJlcXVlbmN5J10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uRmxhZyddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAvLyB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snaXNDbG10UGFpZFdoaWxlTG93J10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICBpZih0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSB7XHJcbiAgICAgIC8vcmVtb3ZlIHZhbGlkYXRvciBzaW5jZSBiYXNlUGVyaW9kIGVtcGxveWVyIGFscmVhZHkgaGFzIGVtcGxveWVyIGNvbWluZyBmcm9tIGJhY2tlbmRcclxuICAgICAgdGhpcy5hZGRyZXNzLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICB0aGlzLmFkZHJlc3MudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLnNhdmUudmFsdWUnLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7XHJcbiAgICB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7XHJcbiAgICB0aGlzLnZhbGlkYXRlV2FnZUdyaWQoKVxyXG4gICAgaWYgKHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbGlkICYmIHRoaXMuYWRkcmVzcy5lcnJvcnMgPT09IG51bGwpICB7XHJcbiAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTsgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmFkZEVtcGxveWVyRm9ybSk7XHJcbiAgICAgIGNvbnN0IGZpeEZpZWxkcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzKS5maWx0ZXIoeCA9PiAheFsxXS52YWxpZCkubWFwKHggPT4geFswXSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZml4IGZpZWxkczpcIiwgZml4RmllbGRzKTtcclxuICAgICAgXHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJhZGQgZW1wbG95ZXIgZmFpbHVyZSBpbmZvOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJhZGQgZW1wbG95ZXIgZmFpbHVyZSBlcnJvcjpcIiwgdGhpcy5scy5nZXRVc2VyKCkuY2xhaW1hbnRJZCwgZml4RmllbGRzLCB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGxvZzpcIiwgdGhpcy5scy5nZXRVc2VyKCkuY2xhaW1hbnRJZCwgZml4RmllbGRzLCB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5pc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkID0gdHJ1ZTtcclxuXHQgIGlmKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlICE9ICdNSUwnKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVXYWdlR3JpZCgpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndmFsaWRhdGUgYWRkcmVzcyBjb21wb25lbnQnKTtcclxuICAgICAgaWYodGhpcy5pc01hbnVhbEVudGVyRW1wKSB7XHJcbiAgICAgICAgLy9WYWxpZGF0ZSBhZGRyZXNzIG9ubHkgd2hlbiBhZGRyZXNzIGlzIG1hbnVhbCBlbnRlcmVkXHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoKTtcclxuICAgICAgfSBlbHNle1xyXG4gICAgICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZiAodGhpcy5hZGRFbXBsb3llckZvcm0uaW52YWxpZCB8fCAodGhpcy5hZGRyZXNzLmVycm9ycyAmJiBPYmplY3Qua2V5cyh0aGlzLmFkZHJlc3MuZXJyb3JzKS5sZW5ndGggPiAwKSkge1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmFkZEVtcGxveWVyRm9ybSk7XHJcbiAgICAgIGNvbnN0IGZpeEZpZWxkcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzKS5maWx0ZXIoeCA9PiAheFsxXS52YWxpZCkubWFwKHggPT4geFswXSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZml4IGZpZWxkczpcIiwgZml4RmllbGRzKTtcclxuXHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJhZGQgZW1wbG95ZXIgZmFpbHVyZSBpbmZvOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJhZGQgZW1wbG95ZXIgZmFpbHVyZSBlcnJvcjpcIiwgdGhpcy5scy5nZXRVc2VyKCkuY2xhaW1hbnRJZCwgZml4RmllbGRzLCB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGxvZzpcIiwgdGhpcy5scy5nZXRVc2VyKCkuY2xhaW1hbnRJZCwgZml4RmllbGRzLCB0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIFxyXG4gICAgICAvL3RoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5hZGQudmFsdWUnLCB0aGlzLmFkZEVtcGxveWVyRm9ybSk7IFxyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0NvZGUnXS5lbmFibGUoKTtcclxuICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXS5lbmFibGUoKTtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiYWRkIGZvcm0gZGV0YWlscyBhZGQoKS0gXCIsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xyXG5cclxuICB9XHJcbiAgdmFsaWRhdGVXYWdlR3JpZCgpIHtcclxuICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnNldEVycm9ycyhudWxsKTtcclxuICAgIGlmICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSE9PSdGRUQnICYmICEodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKE9iamVjdC52YWx1ZXModGhpcy53YWdlQW1vdW50QXJyYXkuY29udHJvbHMpLmZpbHRlcih4ID0+IHgudmFsdWUud2FnZUFtb3VudCAhPT0gMCkubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMud2FnZUFtb3VudEFycmF5LnNldEVycm9ycyh7cmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWQ6IHRydWV9KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlQWRkcmVzcygpIHtcclxuICAgIC8vIENsZWFyIHByZXZpb3VzIGVycm9ycyBvbiB0aGUgYWRkcmVzcyBjb250cm9sXHJcbiAgICBjb25zdCBhZGRyZXNzQ29udHJvbCA9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ107XHJcbiAgXHJcbiAgICAvLyBHZXQgdGhlIGFkZHJlc3MgY29tcG9uZW50IHZhbHVlXHJcbiAgICBjb25zdCBhZGRyZXNzQ29tcFZhbHVlOiBBZGRyZXNzQ29tcG9uZW50TW9kZWwgPSBhZGRyZXNzQ29udHJvbC52YWx1ZTtcclxuICBcclxuICAgIC8vIExpc3Qgb2YgYWRkcmVzcyBmaWVsZHMgdG8gdmFsaWRhdGVcclxuICAgIGNvbnN0IGFkZHJlc3NGaWVsZHMgPSBbJ3N0cmVldEFkZHJlc3MnLCAnY2l0eScsICdzdGF0ZScsICd6aXAnLCAnY291bnRyeSddO1xyXG4gIFxyXG4gICAgbGV0IGhhc0Vycm9ycyA9IGZhbHNlO1xyXG4gIFxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmllbGQgYW5kIHZhbGlkYXRlXHJcbiAgICBhZGRyZXNzRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBjb25zdCBmaWVsZFZhbHVlID0gYWRkcmVzc0NvbXBWYWx1ZT8uW2ZpZWxkXTtcclxuICBcclxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpZWxkIGlzIG1pc3Npbmcgb3IgZW1wdHlcclxuICAgICAgaWYgKCFmaWVsZFZhbHVlKSB7XHJcbiAgICAgICAgLy8gU2V0IHJlcXVpcmVkIGVycm9yIGlmIGZpZWxkIGlzIG1pc3NpbmdcclxuICAgICAgICB0aGlzLnNldEZpZWxkRXJyb3IoZmllbGQsIHRydWUpO1xyXG4gICAgICAgIGhhc0Vycm9ycyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gQ2xlYXIgZXJyb3IgaWYgZmllbGQgaGFzIHZhbHVlXHJcbiAgICAgICAgdGhpcy5zZXRGaWVsZEVycm9yKGZpZWxkLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gSWYgdGhlcmUgYXJlIGVycm9ycyBpbiBhbnkgZmllbGQsIG1hcmsgdGhlIGFkZHJlc3MgY29udHJvbCBhcyBpbnZhbGlkXHJcbiAgICBpZiAoaGFzRXJyb3JzKSB7XHJcbiAgICAgIGFkZHJlc3NDb250cm9sLnNldEVycm9ycyh7IGFkZHJlc3NWYWxpZGF0aW9uRmxhZzogdHJ1ZSB9KTtcclxuICAgICAgaWYgKHRoaXMuZW1wbG95ZXJGb3JtRWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMuZW1wbG95ZXJGb3JtRWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTsgIC8vIEZvY3VzIHRoZSBlcnJvciBlbGVtZW50XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFkZHJlc3NDb250cm9sLnNldEVycm9ycyhudWxsKTsgIC8vIENsZWFyIGVycm9yIGlmIGV2ZXJ5dGhpbmcgaXMgdmFsaWRcclxuICAgIH1cclxuICBcclxuICAgIC8vIFVwZGF0ZSB2YWxpZGl0eSBvZiB0aGUgZm9ybVxyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIFxyXG4gICAgLy8gU3VibWl0IGFkZHJlc3MxIGFuZCBhZGRyZXNzMiBpZiB0aGV5IGV4aXN0XHJcbiAgICBpZiAodGhpcy5hZGRyZXNzMSkge1xyXG4gICAgICB0aGlzLmFkZHJlc3MxLnN1Ym1pdCgpO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5hZGRyZXNzMil7XHJcbiAgICAgIHRoaXMuYWRkcmVzczIuc3VibWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byBzZXQgb3IgY2xlYXIgZXJyb3JzIGZvciBlYWNoIGFkZHJlc3MgZmllbGRcclxuICBzZXRGaWVsZEVycm9yKGZpZWxkOiBzdHJpbmcsIGlzRXJyb3I6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddLmdldChmaWVsZCk7XHJcbiAgICBpZiAoaXNFcnJvcikge1xyXG4gICAgICBjb250cm9sPy5zZXRFcnJvcnMoeyByZXF1aXJlZDogdHJ1ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnRyb2w/LnNldEVycm9ycyhudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEZlZFdvcmtTdGF0ZVZhbHVlcyhldmVudCl7XHJcbiAgICBpZihldmVudC52YWx1ZSAhPT0gJ1VTJyl7XHJcbiAgICAgIHRoaXMuZmVkV29ya1N0YXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oZXZlbnQpIHtcclxuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0KGAvY2xhaW1zLXNlcnZpY2UvY2xhaW0vam9idGl0bGUvYCArIGAke2V2ZW50LnF1ZXJ5fWApLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcclxuICAgICAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uT3B0aW9ucyA9IHJlcztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbihldmVudCkge1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQoYC9jbGFpbXMtc2VydmljZS9jbGFpbS9qb2J0aXRsZS9gICsgYCR7ZXZlbnQucXVlcnl9YCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXMnLCByZXMpO1xyXG4gICAgICAgIHRoaXMuZmVkSm9iVGlsZU9wdGlvbnMgPSByZXM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyRGlzY2hhcmdlUmVhc29ucyhldmVudCkge1xyXG4gICAgbGV0IGZpbHRlcmVkOiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsW2ldO1xyXG4gICAgICBpZiAoc2VwUmVhc29uLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9ucyA9IGZpbHRlcmVkO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyVm9sdW50YXJ5UmVhc29uKGV2ZW50KSB7XHJcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgc2VwUmVhc29uID0gdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbFtpXTtcclxuICAgICAgaWYgKHNlcFJlYXNvbi50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XHJcbiAgICAgICAgZmlsdGVyZWQucHVzaChzZXBSZWFzb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zID0gZmlsdGVyZWQ7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShldmVudCkge1xyXG4gICAgaWYoZXZlbnQudGFyZ2V0Py52YWx1ZSl7XHJcbiAgICAgIHRoaXMubWluRGF0ZSA9IG5ldyBEYXRlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYoIGV2ZW50IGluc3RhbmNlb2YgRGF0ZSl7XHJcbiAgICAgIHRoaXMubWluRGF0ZSA9IGV2ZW50O1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbmREYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZScsIHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSkgIFxyXG4gIH1cclxuXHJcbndhZ2VBcnJheShxdHJXYWdlOlF0clllYXJFbXBsb3llcldhZ2VNb2RlbCk6IFVudHlwZWRGb3JtR3JvdXAge1xyXG4gIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgIHdhZ2VBbW91bnQ6IFtxdHJXYWdlLndhZ2VBbW91bnQhPW51bGw/cXRyV2FnZS53YWdlQW1vdW50Om51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKCh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSB8fCAodGhpcy5lbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBxdHJXYWdlLmRpc3BsYXlGb3JBbGwgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT10aGlzLmN1cnJlbnRTdGF0ZSkgKSkpXSxcclxuICAgIHF1YXJ0ZXI6IFtxdHJXYWdlLnF1YXJ0ZXIhPW51bGw/cXRyV2FnZS5xdWFydGVyOm51bGxdLFxyXG4gICAgeWVhcjogW3F0cldhZ2UueWVhciE9bnVsbD9xdHJXYWdlLnllYXI6bnVsbF0sXHJcbiAgICBxdHJZZWFyRGlzcGxheVN0cmluZzogW3F0cldhZ2UucXRyWWVhckRpc3BsYXlTdHJpbmchPW51bGw/cXRyV2FnZS5xdHJZZWFyRGlzcGxheVN0cmluZzpudWxsXSxcclxuICAgIGRpc3BsYXlPcmRlcjogW3F0cldhZ2UuZGlzcGxheU9yZGVyIT1udWxsP3F0cldhZ2UuZGlzcGxheU9yZGVyOm51bGxdLFxyXG4gICAgZGlzcGxheUZvckFsbDogW3F0cldhZ2UuZGlzcGxheUZvckFsbCE9bnVsbD9xdHJXYWdlLmRpc3BsYXlGb3JBbGw6bnVsbF0sXHJcbiAgfSlcclxufVxyXG5cclxuc2V0V2FnZVZhbGlkYXRpb24oKSB7XHJcbiAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy53YWdlQW1vdW50QXJyYXksIEFwcFZhbGlkYXRvcnMuYXRMZWFzdE9uZU5vblplcm9WYWx1ZVZhbGlkYXRvcigxLCAnd2FnZUFtb3VudCcpKTtcclxuICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0dGluZyB2YWxpZGF0aW9uIGZvciBmZWQgZW1wbG95ZXInKTtcclxufVxyXG5cclxucmVtb3ZlV2FnZVZhbGlkYXRpb24oKSB7XHJcbiAgaWYodGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ0ZFRCcpe1xyXG4gICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndhZ2VBbW91bnRBcnJheSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVtb3ZpbmcgdmFsaWRhdGlvbiBmb3IgZmVkIGVtcGxveWVyJyk7XHJcbiAgfVxyXG59XHJcblxyXG4gIHZhbGlkYXRlV2FnZXNEaXNwbGF5KGV2ZW50KXtcclxuICAgIGxldCBicFN0YXJ0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSk7XHJcbiAgICBsZXQgYnBFbmREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kRW5kRGF0ZSk7XHJcbiAgICBsZXQgc3RhcnRlRGF0ZVZhbDogRGF0ZSA9IG5ldyBEYXRlKHRoaXMuc3RhcnREYXRlLnZhbHVlKTtcclxuICAgIGxldCBlbmREYXRlVmFsOiBEYXRlID0gbmV3IERhdGUodGhpcy5lbmREYXRlLnZhbHVlKTtcclxuICAgIC8vIGxldCBlbmREYXRlVmFsOiBEYXRlID0gZXZlbnQudGFyZ2V0Py52YWx1ZSA/IG5ldyBEYXRlKGV2ZW50LnRhcmdldC52YWx1ZSkgOiBldmVudDtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdicFN0YXJ0RGF0ZSAnLCBicFN0YXJ0RGF0ZSwgJ3N0YXJ0ZURhdGVWYWwgJywgc3RhcnRlRGF0ZVZhbCk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCAnLCBlbmREYXRlVmFsLCAnYnBFbmREYXRlICcsIGJwRW5kRGF0ZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc3RhcnRlRGF0ZVZhbCBiZWZvcmUgYnBFbmREYXRlICcsIHN0YXJ0ZURhdGVWYWwgPCBicEVuZERhdGUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VuZERhdGVWYWwgYWZ0ZXIgYnBTdGFydERhdGUgJywgZW5kRGF0ZVZhbCA+IGJwU3RhcnREYXRlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLndvcmtTdGF0ZSAnLCB0aGlzLndvcmtTdGF0ZSk7XHJcbiAgICBpZiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZSA9PSB0aGlzLmN1cnJlbnRTdGF0ZSAmJiB0aGlzLmlzTmV3Q2xhaW0pIHtcclxuICAgICAgICBpZiAoc3RhcnRlRGF0ZVZhbC5nZXRUaW1lKCkgPCBicEVuZERhdGUuZ2V0VGltZSgpICYmIGVuZERhdGVWYWwuZ2V0VGltZSgpPiBicFN0YXJ0RGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyR3JvdXBlZFJlYXNvbihldmVudCkge1xyXG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncXVlcnknLHF1ZXJ5KTtcclxuICAgIGxldCBmaWx0ZXJlZEdyb3VwcyA9IFtdO1xyXG4gICAgdGhpcy5ncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcclxuXHJcbiAgICBmb3IgKGxldCBvcHRncm91cCBvZiB0aGlzLmdyb3VwZWRSZWFzb25zKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdvcHRncm91cC5pdGVtcycsb3B0Z3JvdXAuaXRlbXMpO1xyXG4gICAgICBsZXQgZmlsdGVyZWRTdWJPcHRpb25zID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcihcclxuICAgICAgICBvcHRncm91cC5pdGVtcyxcclxuICAgICAgICBbXCJsYWJlbFwiXSxcclxuICAgICAgICBxdWVyeSxcclxuICAgICAgICBcImNvbnRhaW5zXCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZpbHRlcmVkU3ViT3B0aW9ucycsZmlsdGVyZWRTdWJPcHRpb25zKTtcclxuICAgICAgaWYgKGZpbHRlcmVkU3ViT3B0aW9ucyAmJiBmaWx0ZXJlZFN1Yk9wdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgZmlsdGVyZWRHcm91cHMucHVzaCh7XHJcbiAgICAgICAgICBsYWJlbDogb3B0Z3JvdXAubGFiZWwsXHJcbiAgICAgICAgICB2YWx1ZTogb3B0Z3JvdXAudmFsdWUsXHJcbiAgICAgICAgICBpdGVtczogZmlsdGVyZWRTdWJPcHRpb25zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdyb3VwZWRSZWFzb25zID0gZmlsdGVyZWRHcm91cHM7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyQWN0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xyXG4gIH0gIFxyXG4gIFxyXG5cclxuICBkYXRlSW5wdXQoZXZlbnQpe1xyXG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA6IHN0cmluZyA9IGV2ZW50LnNyY0VsZW1lbnQudmFsdWU7XHJcbiAgICBpZihjdXJyZW50VmFsdWUpe1xyXG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJyl7XHJcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpe1xyXG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbn1cclxuXHJcbiIsIjxwLWRpYWxvZyB2aXNpYmxlPVwidHJ1ZVwiIHBvc2l0aW9uPVwidG9wXCIgYXBwZW5kVG89XCJib2R5XCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcclxuICBbcmVzaXphYmxlXT1cImZhbHNlXCIgW3N0eWxlXT1cInt3aWR0aDogJzYwdncnfVwiXHJcbiAgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIj5cclxuICA8aDQgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZXkpOyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+IHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmhlYWRpbmdcInx0cmFuc2xhdGV9fVxyXG4gIDwvaDQ+XHJcbiAgPGZvcm0gI2VtcGxveWVyRm9ybSBbZm9ybUdyb3VwXT1cImFkZEVtcGxveWVyRm9ybVwiPlxyXG4gICAgPGlvbi1ncmlkICpuZ0lmPVwiYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1wiPiA8IS0tVG8gUmV2aWV3LS0+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICB7e2N1c3RvbWVyTmFtZX19XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFsaWFzTmFtZSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kYmFcInx0cmFuc2xhdGV9fSB7e2FsaWFzTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e21haWxpbmdBZGRyZXNzRGlzcGxheX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIud2FnZXNcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNDU1JcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJlbXBsb3llclByb3ZpZGVkV2FnZXNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyBjb2wucXRyWWVhckRpc3BsYXlTdHJpbmcgfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2NvbC53YWdlQW1vdW50IHwgY3VycmVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid29ya0ZsYWc/LnZhbHVlID09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5ub1wifHRyYW5zbGF0ZX19PGJyIC8+IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya2ZsYWcubm8ubGluZTJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci50eXBlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogaW5oZXJpdDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZW1wbG95ZXJUeXBlXCIgW29wdGlvbnNdPVwiZW1wbG95ZXJUeXBlT3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUeXBlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVHlwZScgW2VyckRlZl09XCJ7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicHJldldvcmtlZFN0YXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLnN0YXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInByZXZXb3JrZWRTdGF0ZVwiIFtvcHRpb25zXT1cInByZXZXb3JrZWRTdGF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicHJldldvcmtlZFN0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJub0VkaXRNb2RlXCJcclxuICAgICAgICAgICAgICAgICAgKG9uT3B0aW9uQ2xpY2spPVwib25Ub2dnbGVDaGFuZ2VQcmV2V29ya2VkU3RhdGUoJGV2ZW50KVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncHJldldvcmtlZFN0YXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJOYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcmV2V29ya2VkU3RhdGUudmFsdWU9PT0nS1MnOyBlbHNlIGVsc2VCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgaW5wdXRJZD1cImVtcGxveWVyTmFtZVwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llck5hbWVcIiBlbXBUeXBlPVwiUkVHXCIgKG9uRm91bmQpPVwic2V0RW1wbG95ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhTdGF0ZUVtcE5hbWVcIiBtYXhsZW5ndGg9XCI1MFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoU3RhdGVFbXBOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIndpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRFbXBsb3llck5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmVtcGxveWVyLmZlZC5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIFtmb3JtQ29udHJvbF09XCJmZWRFbXBsb3llck5hbWVcIiBlbXBUeXBlPVwiRkVEXCIgKG9uRm91bmQpPVwic2V0RmVkRW1wbG95ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEZlZEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEVtcGxveWVyTmFtZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwic2VydmljZUJyYW5jaC1sYWJlbFwiIGZvcj1cInNlcnZpY2VCcmFuY2hcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zZXJ2aWNlLmJyYW5jaFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJtaWxpdGFyeVNlcnZpY2VPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNlcnZpY2VCcmFuY2hcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwic2VydmljZUJyYW5jaFwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VydmljZUJyYW5jaCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWlsLXN0YXRlLWxhYmVsXCIgZm9yPVwibWlsLXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICBXaGVyZSBhcmUgeW91IHBoeXNpY2FsbHkgbG9jYXRlZCBhdCB0aGlzIHRpbWU/XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbZm9ybUNvbnRyb2xdPVwibWlsU3RhdGVcIiBbb3B0aW9uc109XCJzdGF0ZXNPcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgaW5wdXRJZD1cIm1pbC1zdGF0ZVwiIGFwcGVuZFRvPVwiYm9keVwiPlxyXG5cclxuICAgICAgICAgICAgICA8L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBjbGFzcz1cImFwcC1ncmlkXCIgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2ZpZWxkXT1cIm1pbFN0YXRlXCIgW2VyckRlZl09XCJ7XHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkS2Fuc2FzOiAnQmFzZWQgb24gc29tZSBvZiB5b3VyIHJlc3BvbnNlcyB5b3UgbmVlZCB0byBjYWxsIHRoZSBLRE9MIENhbGwgQ2VudGVyIHRvIGZpbGUgeW91ciBjbGFpbS4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGFydERhdGVNaWxcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5zdGFydGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJzdGFydERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzdGFydERhdGVNaWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVNaWxcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5Xb3JrU3RhcnREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZU1pbCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZU1pbFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZU1pbFwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZU1pbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlTWlsJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaGlkZUZpY0NvZGVcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljQ29kZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmZpYy5jb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljQ29kZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNDb2RlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5maWMuZGVzdGluYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZpY0Rlc3RpbmF0aW9uTmFtZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNEZXN0aW5hdGlvbk5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MxIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzIHJlYWRvbmx5PVwidHJ1ZVwiICNhZGRyZXNzMiBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIFtjb3VudHlSZXF1aXJlZF09XCJmYWxzZVwiIFtmcm9tUG9wdXBdPVwidHJ1ZVwiPiA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPVwiYWRkcmVzc1wiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZ3JpZFwiICpuZ0lmPVwiYWRkcmVzcz8uZXJyb3JzPy5hZGRyZXNzVmFsaWRhdGlvbkZsYWcgJiYgaXNGb3JtU3VibWl0dGVkLnN1Ym1pdHRlZFwiPlxyXG4gICAgICAgICAgICAgICAgUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBhZGRyZXNzLlxyXG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya0NpdHlcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uY2l0eVwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrQ2l0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJ3b3JrU3RhdGUtbGFiZWxcIiBmb3I9XCJ3b3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInByZXZXb3JrZWRTdGF0ZS52YWx1ZT09PSdLUyc/c3RhdGVzT3B0aW9uczpub25LU1N0YXRlc09wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJ3b3JrU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRJZD1cIndvcmtTdGF0ZVwiIChvbkNoYW5nZSk9XCJ2YWxpZGF0ZVdhZ2VzRGlzcGxheSgkZXZlbnQpXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd29ya1N0YXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJmZWRXb3JrQ291bnRyeS1sYWJlbFwiIGZvcj1cImZlZFdvcmtDb3VudHJ5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQud29yay5sb2NhdGlvbi5jb3VudHJ5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cIndvcmtDb3VudHJ5T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRXb3JrQ291bnRyeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrQ291bnRyeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NvdW50cnknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmZWRXb3JrQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NpdHknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCIgKm5nSWY9XCJzaG93V29ya1N0YXRlID09PSB0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZmVkV29ya1N0YXRlLWxhYmVsXCIgZm9yPVwiZmVkV29ya1N0YXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC53b3JrLmxvY2F0aW9uLnN0YXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJzdGF0ZXNPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZmVkV29ya1N0YXRlXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya1N0YXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlRmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlRmVkXCIgW3Nob3dJY29uXT1cInRydWVcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiIGlucHV0SWQ9XCJzdGFydERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGFydERhdGVGZWRcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVGZWQnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZUZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmpvYnRpdGxlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBpZD1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICAgICAgICA8IS0tICA8cC1hdXRvQ29tcGxldGUgW2Zvcm1Db250cm9sXT1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCIgW3N1Z2dlc3Rpb25zXT1cImZlZEpvYlRpbGVPcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVyRmVkSm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiBbZHJvcGRvd25dPVwiZmFsc2VcIiBcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnQuLi4gdHlwaW5nIGpvYiB0aXRsZVwiIG1pbkxlbmd0aD0zIGZvcmNlU2VsZWN0aW9uPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e3ZhbHVlLmpvYlRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+IC0tPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRKb2JUaWxlT3JQb3NpdGlvbicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNmRWlnaHRmbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2ZlaWdodFwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwic2ZFaWdodGZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNmRWlnaHRmbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NmRWlnaHRmbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW5kRGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVuZGRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIGljb25BcmlhTGFiZWw9XCJlbmREYXRlXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwiZW5kRGF0ZVwiIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cImRhdGVUaW1lXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbZm9ybUNvbnRyb2xdPVwiZW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uQmx1cik9XCJ2YWxpZGF0ZVdhZ2VzRGlzcGxheSgkZXZlbnQpXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZVdhZ2VzRGlzcGxheSgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPCEtLSA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyRW1wbG95ZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5lbXBsb3llZXMubm9cIiB8IHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpZF09XCJudW1iZXJFbXBsb3llZFwiIFt1c2VHcm91cGluZ109XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJudW1iZXJFbXBsb3llZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiOVwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J251bWJlckVtcGxveWVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPiAtLT5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1R5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy53b3JrLnR5cGVcIiB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya1R5cGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrVHlwZVwiIG1heGxlbmd0aD1cIjUwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIj5XZXJlIHlvdSBlbXBsb3llZCB3aGlsZSBhIHNwb3VzZSBvZiBhIFVTIG1pbGl0YXJ5IG1lbWJlciBzdGF0aW9uZWQgYXRcclxuICAgICAgICAgICAgICAgIGEgZm9yZWlnbiBtaWxpdGFyeSBiYXNlPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwieWVzTm9OYU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJyAgICAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBlcmZvcm1lZFNlcnZpY2VcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5jaXZpbGlhbi53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInBlcmZvcm1lZFNlcnZpY2VcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBlcmZvcm1lZFNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZXJmb3JtZWRTZXJ2aWNlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiam9iVGlsZU9yUG9zaXRpb25cIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5qb2J0aXRsZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJqb2JUaWxlT3JQb3NpdGlvblwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImpvYlRpbGVPclBvc2l0aW9uXCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICAgICAgICA8IS0tIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiam9iVGlsZU9yUG9zaXRpb25PcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiAob25DbGVhcik9XCJvbkNsZWFyQWN0aW9uKCRldmVudClcIiBcclxuICAgICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGlsZU9yUG9zaXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4OyBwYWRkaW5nLWxlZnQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBheXJhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJwYXlSYXRlXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsZT1cImVuLVVTXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGF5UmF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctcmlnaHQ6NXB4OyBwYWRkaW5nLWxlZnQ6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJwYXlSYXRlRnJlcXVlbmN5LWxhYmVsXCIgZm9yPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBob25lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OTktOTk5OVwiIGlucHV0SWQ9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIjk5OS05OTktOTk5OVwiPjwvcC1pbnB1dE1hc2s+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PSdSRUcnIHx8IGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicmVhc29uU2VwYXJhdGlvbi1sYWJlbFwiIGZvcj1cInJlYXNvblNlcGFyYXRpb25cIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicmVhc29uU2VwYXJhdGlvbi1sYWJlbFwiIGZvcj1cInJlYXNvblNlcGFyYXRpb25cIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucmVhc29uLnNlcGFyYXRpb25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwicmVhc29uU2VwYXJhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJyZWFzb25TZXBhcmF0aW9uXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZWFzb25TZXBhcmF0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gYWRkIGZvciBxdWl0IGFuZCBkaXNjaGFyZ2UgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwicmVhc29uU2VwYXJhdGlvbi52YWx1ZT8udmFsdWUgPT09ICdEQ0ZJJyBcclxuICAgICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJkaXNjaGFyZ2VEZXRhaWwtbGFiZWxcIiBmb3I9XCJkaXNjaGFyZ2VEZXRhaWxcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5kaXNjaGFyZ2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VEZXRhaWxcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZGlzY2hhcmdlRGV0YWlsXCI+PC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkaXNjaGFyZ2VEZXRhaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJyZWFzb25TZXBhcmF0aW9uLnZhbHVlPy52YWx1ZSA9PT0gJ1ZPTFEnIFxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJ2b2xRdWl0RGV0YWlscy1sYWJlbFwiIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ2b2xRdWl0RGV0YWlsc1wiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndm9sUXVpdERldGFpbHMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDxicj4ge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cIm1pbFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJtaWxQZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiB0aGlzLm1pbFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIm1pbFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJtaWxQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J21pbFBlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRkMjE0RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0XCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZGQyMTRGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkZDIxNEZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJkZDIxNEluZm9cIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGQyMTRGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgZGQyMTRGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInBhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWZpbGUtdXBsb2FkZXIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmlsZVwiIFt1cGxvYWRlZEZpbGVGb3JFZGl0XT1cImRkMjE0RmlsZS52YWx1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUaHJlZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRm91ciB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXJhU2l4fCB0cmFuc2xhdGUpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgZGQyMTRGbGFnLnZhbHVlPT09J04nXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwibm9QYXJhT25lIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1maWxlLXVwbG9hZGVyIFtmb3JtQ29udHJvbF09XCJkZDIxNEZpbGVcIiBbdXBsb2FkZWRGaWxlRm9yRWRpdF09XCJkZDIxNEZpbGUudmFsdWVcIj48L2FwcC1maWxlLXVwbG9hZGVyPiAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVHdvIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG5vUGFyYUZvdXIgfCB0cmFuc2xhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDE1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhRml2ZSB8IHRyYW5zbGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlID09PScxJ1wiPiA8IS0tT2xkIGNvZGUtLT5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwiZ3Jvc3NXYWdlc1wiIFtmb3JtQ29udHJvbF09XCJncm9zc1dhZ2VzXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy10b3A6IDBweDtcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cInBheVJhdGVGcmVxdWVuY3ktbGFiZWxcIiBmb3I9XCJwYXlSYXRlRnJlcXVlbmN5XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZVwiIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiICBzdHlsZT1cImlubGluZS1zaXplOiBtYXgtY29udGVudDtcIj5Ub3RhbCBXYWdlcyBFYXJuZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIiBbbWF4XT1cIjk5OTk5OS45OVwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dyb3NzV2FnZXMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+IC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+ICBPbGQgQ29kZS0tPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+IDwhLS1OZXcgY29uZGl0aW9uIHdhcyBhZGRlZC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPlRvdGFsIFdhZ2VzIEVhcm5lZDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJncm9zc1dhZ2VzXCIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPiBcclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImZlZFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uRmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwiZmVkUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uUmVjdkRhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIHRoaXMuY3VycmVudFN0YXRlID09PSAnTUUnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInNldlBheUZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNldlBheUZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlZWtseUFtb3VudFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrbHkuYW10XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid2Vla2x5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cIndlZWtseUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2Vla2x5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlck9mV2Vla3NcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2Uud2Vla3NcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJudW1iZXJPZldlZWtzXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgW2Zvcm1Db250cm9sXT1cIm51bWJlck9mV2Vla3NcIiBtYXhsZW5ndGg9XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J251bWJlck9mV2Vla3MnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZQYXlBbW91bnRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW50aXRsZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJzZXZQYXlBbW91bnRcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5QW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlBbW91bnQnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheVN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5zdGFydC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlTdGFydERhdGVcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlTdGFydERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcblxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheUVuZERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UuZW5kLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheUVuZERhdGVcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5RW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlFbmREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cInNldlBheVBheW1lbnRTdGFydERhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5zZXZlcmFuY2UucGF5LmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInNldlBheVBheW1lbnRTdGFydERhdGVcIiBbZm9ybUNvbnRyb2xdPVwic2V2UGF5UGF5bWVudFN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlQYXltZW50U3RhcnREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd29ya0ZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgd29ya0ZsYWcudmFsdWU9PT0nWScgJiYgcGVuc2lvbkZsYWcudmFsdWU9PT0nWSdcclxuICAgICAgICAgICAgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgXCI+IDwhLS0gdGhpcyBpcyBxdWVzdGlvbmFibGUgYmVjYXVzZSBhYm92ZSBkZXBlbmRlbnQgcXVlc3Rpb24gZG9lcyBub3QgaGF2ZSBpc0Jhc2VQZXJpb2RFbXBsb3llciAtLT5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJwZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwZW5zaW9uUmVjdkRhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvblwifHRyYW5zbGF0ZX19IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5kaXNjbGFpbWVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJyZWdQZW5zaW9uRmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicmVnUGVuc2lvbkZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIG92ZXJsYXlUZXh0PVwie3snaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5wZW5zaW9uLmluZm8nfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvbkZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXHJcbiAgICAgICAgICAgICYmIHJlZ1BlbnNpb25GbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvblJlY3ZEYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBheS5yZXR1cm4udG8ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJpc0NsbXRQYWlkV2hpbGVMb3dcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLmVtcGxveWVyUGF5UmV0dXJuVG9Xb3JrSW5mbyd8IHRyYW5zbGF0ZX19XCIgXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2lzQ2xtdFBhaWRXaGlsZUxvdycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGUgPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXNTaG9ydFRlcm1EaXNhYmlsaXR5XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuc2hvcnR0ZXJtZGlzYWJpbGl0eVwifHRyYW5zbGF0ZX19IHt7YnBTdGFydERhdGVUb0Rpc3BsYXkgfCBkYXRlOidNTU1NIGQsIHl5eXknfX0gPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1Nob3J0VGVybURpc2FiaWxpdHlcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNTaG9ydFRlcm1EaXNhYmlsaXR5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi5wYXlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1JlY3ZSZW11bmVyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNSZWN2UmVtdW5lcmF0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRScgJiYgaGFzUmVjdlJlbXVuZXJhdGlvbi52YWx1ZT09PSdZJyAmJiBvc2FCcEVtcGxveWVyRmxhZy52YWx1ZT09PScwJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZW11bmVyYXRpb25UeXBlc1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi50eXBlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jaGVja2JveCBbbmFtZV09XCIncmVtdW5lcmF0aW9udHlwZXMtZ3JvdXAnXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiIFxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImNob2ljZS50ZXh0XCIgKm5nRm9yPVwibGV0IGNob2ljZSBvZiByZW11bmVyYXRpb25UeXBlT3B0aW9uc1wiICBbZm9ybUNvbnRyb2xdPVwicmVtdW5lcmF0aW9uVHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cImFwcC1wLWNoZWNrYm94XCI+PC9wLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdyZW11bmVyYXRpb25UeXBlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZSA9PT0nTUUnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZhY2F0aW9uXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQudmFjYXRpb24uYnJlYWtcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInZhY2F0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndmFjYXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tPGRpdiAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+IFN0ZXBoZW4gQ29kZS0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5bWVudFR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMucGF5bW9kZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicGF5bWVudFR5cGVcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicGF5TWV0aG9kT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXltZW50VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheW1lbnRUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvY3NSZWNlaXZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5kb2NzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJkb2NzUmVjZWl2ZWRcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwid2FnZVByb29mT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkb2NzUmVjZWl2ZWRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2NzUmVjZWl2ZWQnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTkZsYWdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMub3RoZXIuc3NuLmZsYWdcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwib3RoZXJTU05GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlclNTTkZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoZXJTU05GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTlwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgaW5wdXRJZD1cIm90aGVyU1NOXCIgbWFzaz1cIjk5OS05OS05OTk5XCIgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NOXCIgcGxhY2Vob2xkZXI9XCI5OTktOTktOTk5OVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWlucHV0TWFzaz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlclNTTicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoaXJlZEJ5XCI+TWFuYWdlcidzIE5hbWUgJiBUaXRsZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImhpcmVkQnlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJoaXJlZEJ5XCIgbWF4bGVuZ3RoPVwiNDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoaXJlZEJ5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+IFN0ZXBoZW4gQ29kZSAtLT5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+ICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJvdGhlck5hbWVGbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLm5hbWUuZmxhZ1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cIm90aGVyTmFtZUZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm90aGVyTmFtZUZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyTmFtZUZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cIm90aGVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJvdGhlck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8aW9uLXJvdyAqbmdJZj1cIndvcmtTdGF0ZS52YWx1ZSAmJiB3b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nS1MnICYmIGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWluXCI+RkVJTjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpZF09XCJmZWluXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgW2Zvcm1Db250cm9sXT1cImZlaW5cIiBtYXhsZW5ndGg9XCI5XCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVpbicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9pbmdCdXNpbmVzc0FzXCI+RG9pbmcgQnVzaW5lc3MgQXMvVHJhZGUgTmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImRvaW5nQnVzaW5lc3NBc1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImRvaW5nQnVzaW5lc3NBc1wiIG1heGxlbmd0aD1cIjEwMFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RvaW5nQnVzaW5lc3NBcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PiAtLT5cclxuXHJcbiAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgXHJcbiAgICAgICAgICAgICAgICAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnVzaW5lc3NOYXR1cmVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ubmF0dXJlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJidXNpbmVzc05hdHVyZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImJ1c2luZXNzTmF0dXJlXCIgbWF4bGVuZ3RoPVwiMjUwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYnVzaW5lc3NOYXR1cmUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyB8fCAoZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHByZXZXb3JrZWRTdGF0ZT8udmFsdWUgPT09ICdLUycpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPiBTdGVwaGVuIENvZGUgLS0+XHJcbiAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaXNOZXdDbGFpbVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLTxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC52ZXJpZmljYXRpb24ud2FnZXNcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzLnN0YXRlbWVudFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIHx8IChlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHRhYmxlIHJ1bGVzPVwicm93c1wiPlxyXG4gICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5jb2wxXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMlwifHRyYW5zbGF0ZX19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cIndhZ2VBbW91bnRBcnJheVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB3YWdlQW1vdW50Rm9ybSBvZiB3YWdlQW1vdW50QXJyYXkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cImlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCIoKGVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnKSB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd2FnZUFtb3VudEZvcm0udmFsdWUuZGlzcGxheUZvckFsbD09PXRydWUpIClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiJ3dhZ2VBbW91bnRBcnJheS0nICsgaVwiID57e3dhZ2VBbW91bnRGb3JtLnZhbHVlLnF0clllYXJEaXNwbGF5U3RyaW5nfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lucHV0SWRdPVwiJ3dhZ2VBbW91bnRBcnJheS0nICsgaVwiIGFyaWFMYWJlbD1cIndhZ2VBbW91bnRcIiBmb3JtQ29udHJvbE5hbWU9XCJ3YWdlQW1vdW50XCIgbW9kZT1cImN1cnJlbmN5XCIgW21pbl09XCIwLjAwXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiIGN1cnJlbmN5PVwiVVNEXCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCJ3YWdlQW1vdW50QXJyYXkuZXJyb3JzPy5yZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2FnZUFtb3VudEFycmF5JyBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbZXJyRGVmXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVDaGVja2JveFRvQmVDaGVja2VkOiAnYXQgbGVhc3Qgb25lIGFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldmVyYW5jZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJzZXZlcmFuY2VcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwic2V2ZXJhbmNlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldmVyYW5jZSdcclxuICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwie3JlcXVpcmVkOiAncmVxdWlyZWQnfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIFxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBbYXV0b2ZvY3VzXT1cInRydWVcIiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJvbk1vZGVsQ2FuY2VsKGZhbHNlKVwiIChrZXl1cC5zcGFjZSk9XCJvbk1vZGVsQ2FuY2VsKGZhbHNlKVwiIChrZXl1cC5lbnRlcik9XCJvbk1vZGVsQ2FuY2VsKGZhbHNlKVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJyZXNldFwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uY2FuY2VsXCJ8dHJhbnNsYXRlfX0gPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gdGFiaW5kZXg9XCIwXCIgc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgKGNsaWNrKT1cInNhdmUoKVwiIHR5cGU9XCJzdWJtaXRcIiAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgKGtleXVwLnNwYWNlKT1cInNhdmUoKVwiIChrZXl1cC5lbnRlcik9XCJzYXZlKClcIj5cclxuICAgICAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmJ1dHRvbi5zYXZlXCJ8dHJhbnNsYXRlfX0gPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gdGFiaW5kZXg9XCIwXCIgc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgKGNsaWNrKT1cImFkZCgpXCIgdHlwZT1cInN1Ym1pdFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgKGtleXVwLnNwYWNlKT1cImFkZCgpXCIgKGtleXVwLmVudGVyKT1cImFkZCgpXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQWRkIGFuIGVtcGxveWVyJyB8IHRyYW5zbGF0ZVwiPiB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLmFkZFwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZm9ybT5cclxuPC9wLWRpYWxvZz4iXX0=
|