@idea-ionic/auth 8.2.16 → 8.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/confirmPassword.page.mjs +29 -5
- package/esm2022/src/forgotPassword.page.mjs +9 -1
- package/esm2022/src/mfaChallenge.page.mjs +9 -3
- package/esm2022/src/newPassword.page.mjs +23 -5
- package/esm2022/src/resendLink.page.mjs +9 -3
- package/esm2022/src/setupMFA.page.mjs +5 -3
- package/esm2022/src/signIn.page.mjs +19 -3
- package/esm2022/src/signUp.page.mjs +31 -5
- package/fesm2022/idea-ionic-auth.mjs +126 -20
- package/fesm2022/idea-ionic-auth.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -86,7 +86,7 @@ export class IDEASignUpPage {
|
|
|
86
86
|
</ion-card-header>
|
|
87
87
|
<ion-card-content>
|
|
88
88
|
@if (errorMsg) {
|
|
89
|
-
<p class="errorBox">
|
|
89
|
+
<p testId="signup.error" class="errorBox">
|
|
90
90
|
<b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
|
|
91
91
|
{{ errorMsg }}
|
|
92
92
|
</p>
|
|
@@ -96,6 +96,7 @@ export class IDEASignUpPage {
|
|
|
96
96
|
<ion-icon name="person-circle" color="primary" />
|
|
97
97
|
</ion-label>
|
|
98
98
|
<ion-input
|
|
99
|
+
testId="signup.email"
|
|
99
100
|
type="email"
|
|
100
101
|
inputmode="email"
|
|
101
102
|
pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
|
|
@@ -114,6 +115,7 @@ export class IDEASignUpPage {
|
|
|
114
115
|
<ion-icon name="key" color="primary" />
|
|
115
116
|
</ion-label>
|
|
116
117
|
<ion-input
|
|
118
|
+
testId="signup.password"
|
|
117
119
|
type="password"
|
|
118
120
|
spellcheck="false"
|
|
119
121
|
autocorrect="off"
|
|
@@ -126,7 +128,13 @@ export class IDEASignUpPage {
|
|
|
126
128
|
[(ngModel)]="password"
|
|
127
129
|
(keyup.enter)="register()"
|
|
128
130
|
/>
|
|
129
|
-
<ion-button
|
|
131
|
+
<ion-button
|
|
132
|
+
testId="openPasswordPolicyButton"
|
|
133
|
+
slot="end"
|
|
134
|
+
fill="clear"
|
|
135
|
+
color="dark"
|
|
136
|
+
(click)="openPasswordPolicy($event)"
|
|
137
|
+
>
|
|
130
138
|
<ion-icon icon="help-circle-outline" slot="icon-only" />
|
|
131
139
|
</ion-button>
|
|
132
140
|
</ion-item>
|
|
@@ -141,6 +149,7 @@ export class IDEASignUpPage {
|
|
|
141
149
|
@if (translationExists('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')) {
|
|
142
150
|
<a
|
|
143
151
|
ion-text
|
|
152
|
+
testId="openTermsAndConditionsButton"
|
|
144
153
|
color="primary"
|
|
145
154
|
target="_blank"
|
|
146
155
|
[title]="'IDEA_AUTH.TERMS_AND_CONDITIONS_HINT' | translate"
|
|
@@ -158,6 +167,7 @@ export class IDEASignUpPage {
|
|
|
158
167
|
@if (translationExists('IDEA_VARIABLES.PRIVACY_POLICY_URL')) {
|
|
159
168
|
<a
|
|
160
169
|
ion-text
|
|
170
|
+
testId="openPrivacyPolicyButton"
|
|
161
171
|
color="primary"
|
|
162
172
|
target="_blank"
|
|
163
173
|
[title]="'IDEA_AUTH.PRIVACY_POLICY_HINT' | translate"
|
|
@@ -170,6 +180,7 @@ export class IDEASignUpPage {
|
|
|
170
180
|
</ion-row>
|
|
171
181
|
}
|
|
172
182
|
<ion-button
|
|
183
|
+
testId="signUpButton"
|
|
173
184
|
expand="block"
|
|
174
185
|
[disabled]="!agreementsCheck"
|
|
175
186
|
[title]="'IDEA_AUTH.CREATE_AN_ACCOUNT_HINT' | translate"
|
|
@@ -178,6 +189,7 @@ export class IDEASignUpPage {
|
|
|
178
189
|
{{ 'IDEA_AUTH.CREATE_AN_ACCOUNT' | translate }}
|
|
179
190
|
</ion-button>
|
|
180
191
|
<ion-button
|
|
192
|
+
testId="resendLinkButton"
|
|
181
193
|
fill="clear"
|
|
182
194
|
expand="block"
|
|
183
195
|
class="smallCaseButton"
|
|
@@ -187,6 +199,7 @@ export class IDEASignUpPage {
|
|
|
187
199
|
{{ 'IDEA_AUTH.HAVEN_T_RECEIVED_CONFIRMATION_LINK' | translate }}
|
|
188
200
|
</ion-button>
|
|
189
201
|
<ion-button
|
|
202
|
+
testId="backToSignInButton"
|
|
190
203
|
fill="clear"
|
|
191
204
|
expand="block"
|
|
192
205
|
class="smallCaseButton"
|
|
@@ -232,7 +245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
232
245
|
</ion-card-header>
|
|
233
246
|
<ion-card-content>
|
|
234
247
|
@if (errorMsg) {
|
|
235
|
-
<p class="errorBox">
|
|
248
|
+
<p testId="signup.error" class="errorBox">
|
|
236
249
|
<b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
|
|
237
250
|
{{ errorMsg }}
|
|
238
251
|
</p>
|
|
@@ -242,6 +255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
242
255
|
<ion-icon name="person-circle" color="primary" />
|
|
243
256
|
</ion-label>
|
|
244
257
|
<ion-input
|
|
258
|
+
testId="signup.email"
|
|
245
259
|
type="email"
|
|
246
260
|
inputmode="email"
|
|
247
261
|
pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
|
|
@@ -260,6 +274,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
260
274
|
<ion-icon name="key" color="primary" />
|
|
261
275
|
</ion-label>
|
|
262
276
|
<ion-input
|
|
277
|
+
testId="signup.password"
|
|
263
278
|
type="password"
|
|
264
279
|
spellcheck="false"
|
|
265
280
|
autocorrect="off"
|
|
@@ -272,7 +287,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
272
287
|
[(ngModel)]="password"
|
|
273
288
|
(keyup.enter)="register()"
|
|
274
289
|
/>
|
|
275
|
-
<ion-button
|
|
290
|
+
<ion-button
|
|
291
|
+
testId="openPasswordPolicyButton"
|
|
292
|
+
slot="end"
|
|
293
|
+
fill="clear"
|
|
294
|
+
color="dark"
|
|
295
|
+
(click)="openPasswordPolicy($event)"
|
|
296
|
+
>
|
|
276
297
|
<ion-icon icon="help-circle-outline" slot="icon-only" />
|
|
277
298
|
</ion-button>
|
|
278
299
|
</ion-item>
|
|
@@ -287,6 +308,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
287
308
|
@if (translationExists('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')) {
|
|
288
309
|
<a
|
|
289
310
|
ion-text
|
|
311
|
+
testId="openTermsAndConditionsButton"
|
|
290
312
|
color="primary"
|
|
291
313
|
target="_blank"
|
|
292
314
|
[title]="'IDEA_AUTH.TERMS_AND_CONDITIONS_HINT' | translate"
|
|
@@ -304,6 +326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
304
326
|
@if (translationExists('IDEA_VARIABLES.PRIVACY_POLICY_URL')) {
|
|
305
327
|
<a
|
|
306
328
|
ion-text
|
|
329
|
+
testId="openPrivacyPolicyButton"
|
|
307
330
|
color="primary"
|
|
308
331
|
target="_blank"
|
|
309
332
|
[title]="'IDEA_AUTH.PRIVACY_POLICY_HINT' | translate"
|
|
@@ -316,6 +339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
316
339
|
</ion-row>
|
|
317
340
|
}
|
|
318
341
|
<ion-button
|
|
342
|
+
testId="signUpButton"
|
|
319
343
|
expand="block"
|
|
320
344
|
[disabled]="!agreementsCheck"
|
|
321
345
|
[title]="'IDEA_AUTH.CREATE_AN_ACCOUNT_HINT' | translate"
|
|
@@ -324,6 +348,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
324
348
|
{{ 'IDEA_AUTH.CREATE_AN_ACCOUNT' | translate }}
|
|
325
349
|
</ion-button>
|
|
326
350
|
<ion-button
|
|
351
|
+
testId="resendLinkButton"
|
|
327
352
|
fill="clear"
|
|
328
353
|
expand="block"
|
|
329
354
|
class="smallCaseButton"
|
|
@@ -333,6 +358,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
333
358
|
{{ 'IDEA_AUTH.HAVEN_T_RECEIVED_CONFIRMATION_LINK' | translate }}
|
|
334
359
|
</ion-button>
|
|
335
360
|
<ion-button
|
|
361
|
+
testId="backToSignInButton"
|
|
336
362
|
fill="clear"
|
|
337
363
|
expand="block"
|
|
338
364
|
class="smallCaseButton"
|
|
@@ -347,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
347
373
|
</ion-content>
|
|
348
374
|
`, styles: [".flexBox{background:var(--idea-auth-background-color, var(--ion-color-white-shade))}.authCard{min-width:400px;max-width:550px;margin:0 10px;padding:20px;background-color:var(--idea-auth-card-background-color, var(--ion-color-white));border:1px solid var(--idea-auth-card-border-color, var(--ion-color-light));border-radius:10px;box-shadow:none;text-align:center}.authCard ion-img{width:150px;display:block;margin:0 auto}.authCard ion-card-title{font-family:auth-title;font-size:3em}.authCard ion-card-subtitle{font-family:auth-title;font-size:1.2em}.authCard ion-card-content{padding-top:16px}.authCard ion-card-content .errorBox{padding-left:10px;margin-bottom:20px;text-align:left;border-left:2px solid var(--ion-color-danger)}.authCard ion-card-content ion-item{--ion-item-background: var(--idea-auth-card-background-color, var(--ion-color-white));--border-color: var(--idea-auth-card-border-color, var(--ion-color-light))}.authCard ion-card-content ion-label[position=inline] ion-icon{padding-top:4px;padding-right:5px;font-size:1.3em}.authCard ion-card-content .agreementsAcceptanceRow{margin-top:15px;font-size:.9em}.authCard ion-card-content .agreementsAcceptanceRow ion-checkbox{vertical-align:bottom;margin-right:3px}.authCard ion-card-content ion-button:not([slot=end]){margin-top:15px}.authCard ion-card-content .smallCaseButton{text-transform:none;letter-spacing:normal;font-size:1em}@media only screen and (max-width: 500px){.authCard{background-color:transparent;border:none}}.ideaLogo{width:65px;margin:40px auto 0;cursor:pointer}.passwordPolicyPopover{--width: 350px}\n"] }]
|
|
349
375
|
}], ctorParameters: () => [] });
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblVwLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2F1dGgvc3JjL3NpZ25VcC5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDZixjQUFjLEVBQ2QsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxFQUNQLFFBQVEsRUFDUixXQUFXLEVBQ1osTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF1SmpELE1BQU0sT0FBTyxjQUFjO0lBZXpCO1FBZFUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxTQUFJLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdCLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RDLGVBQVUsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM5QyxVQUFLLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBSXZDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBS3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCO1lBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEUsSUFBSSxDQUFDLGVBQWU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMseUNBQXlDLENBQUM7Z0JBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDO2dCQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWU7Z0JBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7Z0JBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2lCQUNuRyxDQUFDO2dCQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDckUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUMvRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLENBQUM7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTTtvQkFDZixJQUFJLENBQUMsUUFBUSxHQUFHO3dCQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHdDQUF3QyxDQUFDO3dCQUMzRCxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FDdEc7cUJBQ0YsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsUUFBUSxHQUFJLEdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUN2RCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBVztRQUMzQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQVk7UUFDbkMsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs4R0F6RVUsY0FBYztrR0FBZCxjQUFjLHdFQTlIZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkhULDBuREE5SUMsWUFBWSw4QkFDWixXQUFXLDQ2QkFDWCxpQkFBaUIsa0RBQ2pCLE9BQU8sZ0ZBQ1AsTUFBTSxrVEFDTixNQUFNLG9EQUNOLFNBQVMsb1BBQ1QsUUFBUSw2RkFDUixPQUFPLDJKQUNQLE9BQU8sME5BQ1AsY0FBYywrRUFDZCxlQUFlLHlGQUNmLFlBQVksc0ZBQ1osYUFBYSxzR0FDYixPQUFPLHlMQUNQLFVBQVUsd0tBQ1YsUUFBUSw4ZUFDUixXQUFXOzsyRkFnSUYsY0FBYztrQkFySjFCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixPQUFPO3dCQUNQLE1BQU07d0JBQ04sTUFBTTt3QkFDTixTQUFTO3dCQUNULFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLFFBQVE7d0JBQ1IsV0FBVztxQkFDWixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EySFQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBOYXZDb250cm9sbGVyLFxuICBQb3BvdmVyQ29udHJvbGxlcixcbiAgSW9uQ29udGVudCxcbiAgSW9uQ2FyZCxcbiAgSW9uQ2FyZEhlYWRlcixcbiAgSW9uQ2FyZFRpdGxlLFxuICBJb25DYXJkU3VidGl0bGUsXG4gIElvbkNhcmRDb250ZW50LFxuICBJb25JdGVtLFxuICBJb25JY29uLFxuICBJb25MYWJlbCxcbiAgSW9uQnV0dG9uLFxuICBJb25Sb3csXG4gIElvbkNvbCxcbiAgSW9uVGV4dCxcbiAgSW9uSW5wdXQsXG4gIElvbkNoZWNrYm94XG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2lkZWEtdG9vbGJveCc7XG5pbXBvcnQge1xuICBJREVBRW52aXJvbm1lbnQsXG4gIElERUFNZXNzYWdlU2VydmljZSxcbiAgSURFQUxvYWRpbmdTZXJ2aWNlLFxuICBJREVBVHJhbnNsYXRpb25zU2VydmljZSxcbiAgSURFQVRyYW5zbGF0ZVBpcGVcbn0gZnJvbSAnQGlkZWEtaW9uaWMvY29tbW9uJztcblxuaW1wb3J0IHsgSURFQVBhc3N3b3JkUG9saWN5Q29tcG9uZW50IH0gZnJvbSAnLi9wYXNzd29yZFBvbGljeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSURFQUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLXNpZ24tdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElERUFUcmFuc2xhdGVQaXBlLFxuICAgIElvblRleHQsXG4gICAgSW9uQ29sLFxuICAgIElvblJvdyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uTGFiZWwsXG4gICAgSW9uSWNvbixcbiAgICBJb25JdGVtLFxuICAgIElvbkNhcmRDb250ZW50LFxuICAgIElvbkNhcmRTdWJ0aXRsZSxcbiAgICBJb25DYXJkVGl0bGUsXG4gICAgSW9uQ2FyZEhlYWRlcixcbiAgICBJb25DYXJkLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uSW5wdXQsXG4gICAgSW9uQ2hlY2tib3hcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNvbnRlbnQ+XG4gICAgICA8Zm9ybSBjbGFzcz1cImZsZXhCb3hcIj5cbiAgICAgICAgPGlvbi1jYXJkIGNsYXNzPVwiYXV0aENhcmRcIj5cbiAgICAgICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlIGNvbG9yPVwicHJpbWFyeVwiPnt7ICdJREVBX0FVVEguTkVXX0FDQ09VTlQnIHwgdHJhbnNsYXRlIH19PC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDxpb24tY2FyZC1zdWJ0aXRsZT57eyAnSURFQV9BVVRILlJFR0lTVEVSX0FfTkVXX0FDQ09VTlRfVE9fVEhFX1NZU1RFTScgfCB0cmFuc2xhdGUgfX08L2lvbi1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgQGlmIChlcnJvck1zZykge1xuICAgICAgICAgICAgICA8cCBjbGFzcz1cImVycm9yQm94XCI+XG4gICAgICAgICAgICAgICAgPGI+IHt7ICdJREVBX0FVVEguRVJST1InIHwgdHJhbnNsYXRlIH19LiA8L2I+XG4gICAgICAgICAgICAgICAge3sgZXJyb3JNc2cgfX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiaW5saW5lXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJwZXJzb24tY2lyY2xlXCIgY29sb3I9XCJwcmltYXJ5XCIgLz5cbiAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGlucHV0bW9kZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBwYXR0ZXJuPVwiW0EtWmEtejAtOS5fJSstXXsyLH1AW2EtekEtWi1fLl17Mix9Wy5dezF9W2EtekEtWl17Mix9XCJcbiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSURFQV9BVVRILkVNQUlMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX0FVVEguUkVHSVNUUkFUSU9OX0VNQUlMX0hJTlQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJyZWdpc3RlcigpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJpbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImtleVwiIGNvbG9yPVwicHJpbWFyeVwiIC8+XG4gICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cIl9hdXRoLmdldFBhc3N3b3JkUG9saWN5UGF0dGVybkZvcklucHV0KClcIlxuICAgICAgICAgICAgICAgIFtjbGVhck9uRWRpdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJREVBX0FVVEguUEFTU1dPUkQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfQVVUSC5DSE9PU0VfQV9QQVNTV09SRCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlZ2lzdGVyKClcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cIm9wZW5QYXNzd29yZFBvbGljeSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIGljb249XCJoZWxwLWNpcmNsZS1vdXRsaW5lXCIgc2xvdD1cImljb24tb25seVwiIC8+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICB0cmFuc2xhdGlvbkV4aXN0cygnSURFQV9WQVJJQUJMRVMuVEVSTVNfQU5EX0NPTkRJVElPTlNfVVJMJykgfHxcbiAgICAgICAgICAgICAgdHJhbnNsYXRpb25FeGlzdHMoJ0lERUFfVkFSSUFCTEVTLlBSSVZBQ1lfUE9MSUNZX1VSTCcpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJhZ3JlZW1lbnRzQWNjZXB0YW5jZVJvd1wiPlxuICAgICAgICAgICAgICAgIDxpb24tY29sPlxuICAgICAgICAgICAgICAgICAgPGlvbi1jaGVja2JveCBzaXplPVwic21hbGxcIiBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIiBbKG5nTW9kZWwpXT1cImFncmVlbWVudHNDaGVja1wiIC8+XG4gICAgICAgICAgICAgICAgICB7eyAnSURFQV9BVVRILkFHUkVFTUVOVFNfQ0hFQ0tfUkVHSVNUUkFUSU9OJyB8IHRyYW5zbGF0ZSB9fTpcbiAgICAgICAgICAgICAgICAgIEBpZiAodHJhbnNsYXRpb25FeGlzdHMoJ0lERUFfVkFSSUFCTEVTLlRFUk1TX0FORF9DT05ESVRJT05TX1VSTCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgaW9uLXRleHRcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX0FVVEguVEVSTVNfQU5EX0NPTkRJVElPTlNfSElOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIidJREVBX1ZBUklBQkxFUy5URVJNU19BTkRfQ09ORElUSU9OU19VUkwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdJREVBX0FVVEguVEVSTVNfQU5EX0NPTkRJVElPTlMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uRXhpc3RzKCdJREVBX1ZBUklBQkxFUy5QUklWQUNZX1BPTElDWV9VUkwnKSAmJlxuICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbkV4aXN0cygnSURFQV9WQVJJQUJMRVMuVEVSTVNfQU5EX0NPTkRJVElPTlNfVVJMJylcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+ICYgPC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpZiAodHJhbnNsYXRpb25FeGlzdHMoJ0lERUFfVkFSSUFCTEVTLlBSSVZBQ1lfUE9MSUNZX1VSTCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgaW9uLXRleHRcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX0FVVEguUFJJVkFDWV9QT0xJQ1lfSElOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIidJREVBX1ZBUklBQkxFUy5QUklWQUNZX1BPTElDWV9VUkwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdJREVBX0FVVEguUFJJVkFDWV9QT0xJQ1knIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFhZ3JlZW1lbnRzQ2hlY2tcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfQVVUSC5DUkVBVEVfQU5fQUNDT1VOVF9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZWdpc3RlcigpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ0lERUFfQVVUSC5DUkVBVEVfQU5fQUNDT1VOVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWFsbENhc2VCdXR0b25cIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfQVVUSC5IQVZFTl9UX1JFQ0VJVkVEX0NPTkZJUk1BVElPTl9MSU5LX0hJTlQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9SZXNlbmRMaW5rKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnSURFQV9BVVRILkhBVkVOX1RfUkVDRUlWRURfQ09ORklSTUFUSU9OX0xJTksnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX0FVVEguQkFDS19UT19TSUdOX0lOX0hJTlQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9BdXRoKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnSURFQV9BVVRILkJBQ0tfVE9fU0lHTl9JTicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9pb24tY29udGVudD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJ2F1dGguc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElERUFTaWduVXBQYWdlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIF9lbnYgPSBpbmplY3QoSURFQUVudmlyb25tZW50KTtcbiAgcHJpdmF0ZSBfbmF2ID0gaW5qZWN0KE5hdkNvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9wb3BvdmVyID0gaW5qZWN0KFBvcG92ZXJDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfbWVzc2FnZSA9IGluamVjdChJREVBTWVzc2FnZVNlcnZpY2UpO1xuICBwcml2YXRlIF9sb2FkaW5nID0gaW5qZWN0KElERUFMb2FkaW5nU2VydmljZSk7XG4gIHByaXZhdGUgX3RyYW5zbGF0ZSA9IGluamVjdChJREVBVHJhbnNsYXRpb25zU2VydmljZSk7XG4gIHB1YmxpYyBfYXV0aCA9IGluamVjdChJREVBQXV0aFNlcnZpY2UpO1xuXG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIGFncmVlbWVudHNDaGVjayA9IGZhbHNlO1xuICBwYXNzd29yZFBvbGljeTogYW55O1xuICBlcnJvck1zZzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucGFzc3dvcmRQb2xpY3kgPSB0aGlzLl9lbnYuaWRlYS5hdXRoLnBhc3N3b3JkUG9saWN5O1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZW52LmlkZWEuYXV0aC5yZWdpc3RyYXRpb25Jc1Bvc3NpYmxlKSByZXR1cm4gdGhpcy5nb1RvQXV0aCgpO1xuICAgIHRoaXMuYWdyZWVtZW50c0NoZWNrID1cbiAgICAgIHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1ZBUklBQkxFUy5URVJNU19BTkRfQ09ORElUSU9OU19VUkwnKSB8fFxuICAgICAgdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVkFSSUFCTEVTLlBSSVZBQ1lfUE9MSUNZX1VSTCcpXG4gICAgICAgID8gdGhpcy5hZ3JlZW1lbnRzQ2hlY2tcbiAgICAgICAgOiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgcmVnaXN0ZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuX2xvYWRpbmcuc2hvdygpO1xuICAgICAgdGhpcy5lcnJvck1zZyA9IG51bGw7XG4gICAgICBpZiAoaXNFbXB0eSh0aGlzLmVtYWlsLCAnZW1haWwnKSkgdGhpcy5lcnJvck1zZyA9IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX0FVVEguVkFMSURfRU1BSUxfT0JMSUdBVE9SWScpO1xuICAgICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGVycm9ycyA9IHRoaXMuX2F1dGgudmFsaWRhdGVQYXNzd29yZEFnYWluc3RQb2xpY3kodGhpcy5wYXNzd29yZCk7XG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID09PSAwICYmIHRoaXMucGFzc3dvcmRQb2xpY3kuYWR2YW5jZWRQYXNzd29yZENoZWNrKSB7XG4gICAgICAgICAgY29uc3QgZW1haWxQYXJ0cyA9IFsuLi50aGlzLmVtYWlsPy5zcGxpdCgnQCcpWzBdLnNwbGl0KC9cXFcvZyldO1xuICAgICAgICAgIGVycm9ycy5wdXNoKC4uLihhd2FpdCB0aGlzLl9hdXRoLnZhbGlkYXRlUGFzc3dvcmRBZ2FpbnN0RGF0YWJhc2VzKHRoaXMucGFzc3dvcmQsIGVtYWlsUGFydHMpKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpXG4gICAgICAgICAgdGhpcy5lcnJvck1zZyA9IFtcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX0FVVEguUEFTU1dPUkRfUkVRVUlSRU1FTlRTX0ZPTExPVycpLFxuICAgICAgICAgICAgLi4uZXJyb3JzLm1hcCh4ID0+XG4gICAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX0FVVEguUEFTU1dPUkRfUkVRVUlSRU1FTlRTLicuY29uY2F0KHgpLCB7IG46IHRoaXMucGFzc3dvcmRQb2xpY3kubWluTGVuZ3RoIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5lcnJvck1zZykgcmV0dXJuIHRoaXMuX21lc3NhZ2UuZXJyb3IoJ0lERUFfQVVUSC5SRUdJU1RSQVRJT05fRkFJTEVEJyk7XG4gICAgICBhd2FpdCB0aGlzLl9hdXRoLnJlZ2lzdGVyKHRoaXMuZW1haWwsIHRoaXMucGFzc3dvcmQpO1xuICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdJREVBX0FVVEguUkVHSVNUUkFUSU9OX0NPTVBMRVRFRCcpO1xuICAgICAgdGhpcy5nb1RvQXV0aCgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvck1zZyA9IChlcnIgYXMgYW55KS5tZXNzYWdlO1xuICAgICAgdGhpcy5fbWVzc2FnZS5lcnJvcignSURFQV9BVVRILlJFR0lTVFJBVElPTl9GQUlMRUQnKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fbG9hZGluZy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNsYXRpb25FeGlzdHMoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl90cmFuc2xhdGUuXyhrZXkpO1xuICB9XG5cbiAgYXN5bmMgb3BlblBhc3N3b3JkUG9saWN5KGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNzc0NsYXNzID0gJ3Bhc3N3b3JkUG9saWN5UG9wb3Zlcic7XG4gICAgY29uc3QgcG9wb3ZlciA9IGF3YWl0IHRoaXMuX3BvcG92ZXIuY3JlYXRlKHsgY29tcG9uZW50OiBJREVBUGFzc3dvcmRQb2xpY3lDb21wb25lbnQsIGV2ZW50LCBjc3NDbGFzcyB9KTtcbiAgICBhd2FpdCBwb3BvdmVyLnByZXNlbnQoKTtcbiAgfVxuXG4gIGdvVG9SZXNlbmRMaW5rKCk6IHZvaWQge1xuICAgIHRoaXMuX25hdi5uYXZpZ2F0ZUZvcndhcmQoWydhdXRoJywgJ3Jlc2VuZC1saW5rJ10pO1xuICB9XG4gIGdvVG9BdXRoKCk6IHZvaWQge1xuICAgIHRoaXMuX25hdi5uYXZpZ2F0ZUJhY2soWydhdXRoJ10pO1xuICB9XG59XG4iXX0=
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblVwLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2F1dGgvc3JjL3NpZ25VcC5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDZixjQUFjLEVBQ2QsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxFQUNQLFFBQVEsRUFDUixXQUFXLEVBQ1osTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFvS2pELE1BQU0sT0FBTyxjQUFjO0lBZXpCO1FBZFUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxTQUFJLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdCLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFD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QUFPLGdGQUNQLE1BQU0sa1RBQ04sTUFBTSxvREFDTixTQUFTLG9QQUNULFFBQVEsNkZBQ1IsT0FBTywySkFDUCxPQUFPLDBOQUNQLGNBQWMsK0VBQ2QsZUFBZSx5RkFDZixZQUFZLHNGQUNaLGFBQWEsc0dBQ2IsT0FBTyx5TEFDUCxVQUFVLHdLQUNWLFFBQVEsOGVBQ1IsV0FBVzs7MkZBNklGLGNBQWM7a0JBbEsxQixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsT0FBTzt3QkFDUCxNQUFNO3dCQUNOLE1BQU07d0JBQ04sU0FBUzt3QkFDVCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixRQUFRO3dCQUNSLFdBQVc7cUJBQ1osWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE5hdkNvbnRyb2xsZXIsXG4gIFBvcG92ZXJDb250cm9sbGVyLFxuICBJb25Db250ZW50LFxuICBJb25DYXJkLFxuICBJb25DYXJkSGVhZGVyLFxuICBJb25DYXJkVGl0bGUsXG4gIElvbkNhcmRTdWJ0aXRsZSxcbiAgSW9uQ2FyZENvbnRlbnQsXG4gIElvbkl0ZW0sXG4gIElvbkljb24sXG4gIElvbkxhYmVsLFxuICBJb25CdXR0b24sXG4gIElvblJvdyxcbiAgSW9uQ29sLFxuICBJb25UZXh0LFxuICBJb25JbnB1dCxcbiAgSW9uQ2hlY2tib3hcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnaWRlYS10b29sYm94JztcbmltcG9ydCB7XG4gIElERUFFbnZpcm9ubWVudCxcbiAgSURFQU1lc3NhZ2VTZXJ2aWNlLFxuICBJREVBTG9hZGluZ1NlcnZpY2UsXG4gIElERUFUcmFuc2xhdGlvbnNTZXJ2aWNlLFxuICBJREVBVHJhbnNsYXRlUGlwZVxufSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5pbXBvcnQgeyBJREVBUGFzc3dvcmRQb2xpY3lDb21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkUG9saWN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJREVBQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lkZWEtc2lnbi11cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSURFQVRyYW5zbGF0ZVBpcGUsXG4gICAgSW9uVGV4dCxcbiAgICBJb25Db2wsXG4gICAgSW9uUm93LFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25MYWJlbCxcbiAgICBJb25JY29uLFxuICAgIElvbkl0ZW0sXG4gICAgSW9uQ2FyZENvbnRlbnQsXG4gICAgSW9uQ2FyZFN1YnRpdGxlLFxuICAgIElvbkNhcmRUaXRsZSxcbiAgICBJb25DYXJkSGVhZGVyLFxuICAgIElvbkNhcmQsXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25JbnB1dCxcbiAgICBJb25DaGVja2JveFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tY29udGVudD5cbiAgICAgIDxmb3JtIGNsYXNzPVwiZmxleEJveFwiPlxuICAgICAgICA8aW9uLWNhcmQgY2xhc3M9XCJhdXRoQ2FyZFwiPlxuICAgICAgICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGUgY29sb3I9XCJwcmltYXJ5XCI+e3sgJ0lERUFfQVVUSC5ORVdfQUNDT1VOVCcgfCB0cmFuc2xhdGUgfX08L2lvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPGlvbi1jYXJkLXN1YnRpdGxlPnt7ICdJREVBX0FVVEguUkVHSVNURVJfQV9ORVdfQUNDT1VOVF9UT19USEVfU1lTVEVNJyB8IHRyYW5zbGF0ZSB9fTwvaW9uLWNhcmQtc3VidGl0bGU+XG4gICAgICAgICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICBAaWYgKGVycm9yTXNnKSB7XG4gICAgICAgICAgICAgIDxwIHRlc3RJZD1cInNpZ251cC5lcnJvclwiIGNsYXNzPVwiZXJyb3JCb3hcIj5cbiAgICAgICAgICAgICAgICA8Yj4ge3sgJ0lERUFfQVVUSC5FUlJPUicgfCB0cmFuc2xhdGUgfX0uIDwvYj5cbiAgICAgICAgICAgICAgICB7eyBlcnJvck1zZyB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJpbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBlcnNvbi1jaXJjbGVcIiBjb2xvcj1cInByaW1hcnlcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgICAgIHRlc3RJZD1cInNpZ251cC5lbWFpbFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBpbnB1dG1vZGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgcGF0dGVybj1cIltBLVphLXowLTkuXyUrLV17Mix9QFthLXpBLVotXy5dezIsfVsuXXsxfVthLXpBLVpdezIsfVwiXG4gICAgICAgICAgICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lERUFfQVVUSC5FTUFJTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInSURFQV9BVVRILlJFR0lTVFJBVElPTl9FTUFJTF9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwicmVnaXN0ZXIoKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwiaW5saW5lXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJrZXlcIiBjb2xvcj1cInByaW1hcnlcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgICAgIHRlc3RJZD1cInNpZ251cC5wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cIl9hdXRoLmdldFBhc3N3b3JkUG9saWN5UGF0dGVybkZvcklucHV0KClcIlxuICAgICAgICAgICAgICAgIFtjbGVhck9uRWRpdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJREVBX0FVVEguUEFTU1dPUkQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfQVVUSC5DSE9PU0VfQV9QQVNTV09SRCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlZ2lzdGVyKClcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgIHRlc3RJZD1cIm9wZW5QYXNzd29yZFBvbGljeUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUGFzc3dvcmRQb2xpY3koJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gaWNvbj1cImhlbHAtY2lyY2xlLW91dGxpbmVcIiBzbG90PVwiaWNvbi1vbmx5XCIgLz5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgIHRyYW5zbGF0aW9uRXhpc3RzKCdJREVBX1ZBUklBQkxFUy5URVJNU19BTkRfQ09ORElUSU9OU19VUkwnKSB8fFxuICAgICAgICAgICAgICB0cmFuc2xhdGlvbkV4aXN0cygnSURFQV9WQVJJQUJMRVMuUFJJVkFDWV9QT0xJQ1lfVVJMJylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImFncmVlbWVudHNBY2NlcHRhbmNlUm93XCI+XG4gICAgICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgICAgICA8aW9uLWNoZWNrYm94IHNpemU9XCJzbWFsbFwiIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiIFsobmdNb2RlbCldPVwiYWdyZWVtZW50c0NoZWNrXCIgLz5cbiAgICAgICAgICAgICAgICAgIHt7ICdJREVBX0FVVEguQUdSRUVNRU5UU19DSEVDS19SRUdJU1RSQVRJT04nIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgICAgICAgQGlmICh0cmFuc2xhdGlvbkV4aXN0cygnSURFQV9WQVJJQUJMRVMuVEVSTVNfQU5EX0NPTkRJVElPTlNfVVJMJykpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICBpb24tdGV4dFxuICAgICAgICAgICAgICAgICAgICAgIHRlc3RJZD1cIm9wZW5UZXJtc0FuZENvbmRpdGlvbnNCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfQVVUSC5URVJNU19BTkRfQ09ORElUSU9OU19ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiJ0lERUFfVkFSSUFCTEVTLlRFUk1TX0FORF9DT05ESVRJT05TX1VSTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0lERUFfQVVUSC5URVJNU19BTkRfQ09ORElUSU9OUycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25FeGlzdHMoJ0lERUFfVkFSSUFCTEVTLlBSSVZBQ1lfUE9MSUNZX1VSTCcpICYmXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uRXhpc3RzKCdJREVBX1ZBUklBQkxFUy5URVJNU19BTkRfQ09ORElUSU9OU19VUkwnKVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD4gJiA8L2lvbi10ZXh0PlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmICh0cmFuc2xhdGlvbkV4aXN0cygnSURFQV9WQVJJQUJMRVMuUFJJVkFDWV9QT0xJQ1lfVVJMJykpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICBpb24tdGV4dFxuICAgICAgICAgICAgICAgICAgICAgIHRlc3RJZD1cIm9wZW5Qcml2YWN5UG9saWN5QnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX0FVVEguUFJJVkFDWV9QT0xJQ1lfSElOVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIidJREVBX1ZBUklBQkxFUy5QUklWQUNZX1BPTElDWV9VUkwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdJREVBX0FVVEguUFJJVkFDWV9QT0xJQ1knIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIHRlc3RJZD1cInNpZ25VcEJ1dHRvblwiXG4gICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFhZ3JlZW1lbnRzQ2hlY2tcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfQVVUSC5DUkVBVEVfQU5fQUNDT1VOVF9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZWdpc3RlcigpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ0lERUFfQVVUSC5DUkVBVEVfQU5fQUNDT1VOVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIHRlc3RJZD1cInJlc2VuZExpbmtCdXR0b25cIlxuICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwic21hbGxDYXNlQnV0dG9uXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX0FVVEguSEFWRU5fVF9SRUNFSVZFRF9DT05GSVJNQVRJT05fTElOS19ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJnb1RvUmVzZW5kTGluaygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ0lERUFfQVVUSC5IQVZFTl9UX1JFQ0VJVkVEX0NPTkZJUk1BVElPTl9MSU5LJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgdGVzdElkPVwiYmFja1RvU2lnbkluQnV0dG9uXCJcbiAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNtYWxsQ2FzZUJ1dHRvblwiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCInSURFQV9BVVRILkJBQ0tfVE9fU0lHTl9JTl9ISU5UJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJnb1RvQXV0aCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ0lERUFfQVVUSC5CQUNLX1RPX1NJR05fSU4nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgPC9mb3JtPlxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWydhdXRoLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJREVBU2lnblVwUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBfZW52ID0gaW5qZWN0KElERUFFbnZpcm9ubWVudCk7XG4gIHByaXZhdGUgX25hdiA9IGluamVjdChOYXZDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfcG9wb3ZlciA9IGluamVjdChQb3BvdmVyQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX21lc3NhZ2UgPSBpbmplY3QoSURFQU1lc3NhZ2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfbG9hZGluZyA9IGluamVjdChJREVBTG9hZGluZ1NlcnZpY2UpO1xuICBwcml2YXRlIF90cmFuc2xhdGUgPSBpbmplY3QoSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UpO1xuICBwdWJsaWMgX2F1dGggPSBpbmplY3QoSURFQUF1dGhTZXJ2aWNlKTtcblxuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBhZ3JlZW1lbnRzQ2hlY2sgPSBmYWxzZTtcbiAgcGFzc3dvcmRQb2xpY3k6IGFueTtcbiAgZXJyb3JNc2c6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnBhc3N3b3JkUG9saWN5ID0gdGhpcy5fZW52LmlkZWEuYXV0aC5wYXNzd29yZFBvbGljeTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Vudi5pZGVhLmF1dGgucmVnaXN0cmF0aW9uSXNQb3NzaWJsZSkgcmV0dXJuIHRoaXMuZ29Ub0F1dGgoKTtcbiAgICB0aGlzLmFncmVlbWVudHNDaGVjayA9XG4gICAgICB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9WQVJJQUJMRVMuVEVSTVNfQU5EX0NPTkRJVElPTlNfVVJMJykgfHxcbiAgICAgIHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1ZBUklBQkxFUy5QUklWQUNZX1BPTElDWV9VUkwnKVxuICAgICAgICA/IHRoaXMuYWdyZWVtZW50c0NoZWNrXG4gICAgICAgIDogdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHJlZ2lzdGVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLl9sb2FkaW5nLnNob3coKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBudWxsO1xuICAgICAgaWYgKGlzRW1wdHkodGhpcy5lbWFpbCwgJ2VtYWlsJykpIHRoaXMuZXJyb3JNc2cgPSB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9BVVRILlZBTElEX0VNQUlMX09CTElHQVRPUlknKTtcbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSB0aGlzLl9hdXRoLnZhbGlkYXRlUGFzc3dvcmRBZ2FpbnN0UG9saWN5KHRoaXMucGFzc3dvcmQpO1xuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnBhc3N3b3JkUG9saWN5LmFkdmFuY2VkUGFzc3dvcmRDaGVjaykge1xuICAgICAgICAgIGNvbnN0IGVtYWlsUGFydHMgPSBbLi4udGhpcy5lbWFpbD8uc3BsaXQoJ0AnKVswXS5zcGxpdCgvXFxXL2cpXTtcbiAgICAgICAgICBlcnJvcnMucHVzaCguLi4oYXdhaXQgdGhpcy5fYXV0aC52YWxpZGF0ZVBhc3N3b3JkQWdhaW5zdERhdGFiYXNlcyh0aGlzLnBhc3N3b3JkLCBlbWFpbFBhcnRzKSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKVxuICAgICAgICAgIHRoaXMuZXJyb3JNc2cgPSBbXG4gICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9BVVRILlBBU1NXT1JEX1JFUVVJUkVNRU5UU19GT0xMT1cnKSxcbiAgICAgICAgICAgIC4uLmVycm9ycy5tYXAoeCA9PlxuICAgICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9BVVRILlBBU1NXT1JEX1JFUVVJUkVNRU5UUy4nLmNvbmNhdCh4KSwgeyBuOiB0aGlzLnBhc3N3b3JkUG9saWN5Lm1pbkxlbmd0aCB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF0uam9pbignICcpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZXJyb3JNc2cpIHJldHVybiB0aGlzLl9tZXNzYWdlLmVycm9yKCdJREVBX0FVVEguUkVHSVNUUkFUSU9OX0ZBSUxFRCcpO1xuICAgICAgYXdhaXQgdGhpcy5fYXV0aC5yZWdpc3Rlcih0aGlzLmVtYWlsLCB0aGlzLnBhc3N3b3JkKTtcbiAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnSURFQV9BVVRILlJFR0lTVFJBVElPTl9DT01QTEVURUQnKTtcbiAgICAgIHRoaXMuZ29Ub0F1dGgoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSAoZXJyIGFzIGFueSkubWVzc2FnZTtcbiAgICAgIHRoaXMuX21lc3NhZ2UuZXJyb3IoJ0lERUFfQVVUSC5SRUdJU1RSQVRJT05fRkFJTEVEJyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2xvYWRpbmcuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zbGF0aW9uRXhpc3RzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fdHJhbnNsYXRlLl8oa2V5KTtcbiAgfVxuXG4gIGFzeW5jIG9wZW5QYXNzd29yZFBvbGljeShldmVudDogRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjc3NDbGFzcyA9ICdwYXNzd29yZFBvbGljeVBvcG92ZXInO1xuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLl9wb3BvdmVyLmNyZWF0ZSh7IGNvbXBvbmVudDogSURFQVBhc3N3b3JkUG9saWN5Q29tcG9uZW50LCBldmVudCwgY3NzQ2xhc3MgfSk7XG4gICAgYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XG4gIH1cblxuICBnb1RvUmVzZW5kTGluaygpOiB2b2lkIHtcbiAgICB0aGlzLl9uYXYubmF2aWdhdGVGb3J3YXJkKFsnYXV0aCcsICdyZXNlbmQtbGluayddKTtcbiAgfVxuICBnb1RvQXV0aCgpOiB2b2lkIHtcbiAgICB0aGlzLl9uYXYubmF2aWdhdGVCYWNrKFsnYXV0aCddKTtcbiAgfVxufVxuIl19
|