@dsivd/prestations-ng 17.7.0-beta.8 → 17.7.0
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/CHANGELOG.md +16 -0
- package/dsivd-prestations-ng-17.7.0.tgz +0 -0
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +17 -5
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.type.mjs +1 -1
- package/esm2022/foehn-modal/foehn-modal.component.mjs +3 -3
- package/esm2022/foehn-table/foehn-table.component.mjs +3 -3
- package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +9 -3
- package/esm2022/sdk-appinfo/application-info.mjs +1 -1
- package/esm2022/sdk-appinfo/application-info.service.mjs +16 -4
- package/esm2022/sdk-epayment/pending-payment/pending-payment.component.mjs +2 -2
- package/fesm2022/dsivd-prestations-ng.mjs +44 -14
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-feedback-notification/foehn-feedback-notification.type.d.ts +1 -0
- package/gesdem-confirmation/gesdem-confirmation.component.d.ts +2 -1
- package/package.json +1 -1
- package/sdk-appinfo/application-info.d.ts +1 -0
- package/sdk-appinfo/application-info.service.d.ts +2 -0
- package/sdk-epayment/pending-payment/pending-payment.component.d.ts +0 -1
- package/dsivd-prestations-ng-17.7.0-beta.8.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -27,11 +27,27 @@ and your `angular.json` (/projects/{nom-du-projet}/architect/build/options/style
|
|
|
27
27
|
],
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- [gesdem-confirmation.component.ts](projects/prestations-ng/src/gesdem-confirmation/gesdem-confirmation.component.ts)
|
|
33
|
+
|
|
34
|
+
- allow to override [foehn-feedback-notification.component.ts](projects/prestations-ng/src/foehn-feedback-notification/foehn-feedback-notification.component.ts) visibility
|
|
35
|
+
- via `@Input() hideFeedbackNotificationOverride`
|
|
36
|
+
- via route data : `hideFeedbackNotificationOverride`
|
|
37
|
+
- default value is `false`
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- [foehn-feedback-notification.component.ts](projects/prestations-ng/src/foehn-feedback-notification/foehn-feedback-notification.component.ts)
|
|
42
|
+
- Feedback notification links now depend on `applicationInfo.configuration.portail.baseUrl`
|
|
43
|
+
- Can be overridden in BE properties by setting key `application-info.portail.baseUrl`
|
|
44
|
+
|
|
30
45
|
## [17.6.8]
|
|
31
46
|
|
|
32
47
|
### Fixed
|
|
33
48
|
|
|
34
49
|
- [object.helper.ts](projects/prestations-ng/src/helpers/object.helper.ts)
|
|
50
|
+
|
|
35
51
|
- fixed function `hasAnyValue` and `isEmpty` when testing a NULL object
|
|
36
52
|
|
|
37
53
|
### Added
|
|
Binary file
|
|
@@ -3,7 +3,7 @@ import { faFaceFrown, faFaceMeh, faFaceSmile } from '@fortawesome/free-solid-svg
|
|
|
3
3
|
import { combineLatest, filter, of, startWith } from 'rxjs';
|
|
4
4
|
import { map, tap } from 'rxjs/operators';
|
|
5
5
|
import { FoehnFeedbackNotificationType } from '../foehn-feedback-notification/foehn-feedback-notification.type';
|
|
6
|
-
import { PORTAIL_BASE_URL_INT } from '../sdk-appinfo/application-info.service';
|
|
6
|
+
import { PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL } from '../sdk-appinfo/application-info.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../sdk-appinfo/application-info.service";
|
|
9
9
|
import * as i2 from "../sdk-session-info/session-info.service";
|
|
@@ -37,6 +37,8 @@ export class FoehnFeedbackNotificationComponent {
|
|
|
37
37
|
feedbackUsager.idMetierEtape = etapeInfo.idMetierEtape;
|
|
38
38
|
feedbackUsager.beneficiaryCategory = this.getCategory(sessionInfoData, etapeInfo);
|
|
39
39
|
feedbackUsager.currentAction = meta?.currentAction;
|
|
40
|
+
feedbackUsager.isBehindIAM =
|
|
41
|
+
window.location.origin.includes('etat-de-vaud.ch');
|
|
40
42
|
this.goodUrl = this.getUrl('good', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
41
43
|
this.mediumUrl = this.getUrl('medium', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
42
44
|
this.badUrl = this.getUrl('bad', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
@@ -78,9 +80,19 @@ export class FoehnFeedbackNotificationComponent {
|
|
|
78
80
|
: 'Inconnu';
|
|
79
81
|
}
|
|
80
82
|
getPortailBaseUrl(appInfo) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
83
|
+
const baseUrl = appInfo.configuration?.portail?.baseUrl;
|
|
84
|
+
if (!!baseUrl) {
|
|
85
|
+
return baseUrl;
|
|
86
|
+
}
|
|
87
|
+
switch (appInfo.environment) {
|
|
88
|
+
case 'CO':
|
|
89
|
+
case 'IN':
|
|
90
|
+
return PORTAIL_BASE_URL_INT;
|
|
91
|
+
case 'VA':
|
|
92
|
+
return PORTAIL_BASE_URL_VAL;
|
|
93
|
+
default:
|
|
94
|
+
return PORTAIL_BASE_URL_PROD;
|
|
95
|
+
}
|
|
84
96
|
}
|
|
85
97
|
getFullReference(meta) {
|
|
86
98
|
if (!meta) {
|
|
@@ -98,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
98
110
|
type: HostListener,
|
|
99
111
|
args: ['window:scroll', ['$event']]
|
|
100
112
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDZCxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUloSCxPQUFPLEVBRUgsb0JBQW9CLEVBQ3ZCLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7O0FBSWpELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLG1CQUFtQixDQUFDO0FBT3pFLE1BQU0sT0FBTyxrQ0FBa0M7SUFhM0MsWUFDWSxzQkFBOEMsRUFDOUMsV0FBd0IsRUFDeEIsb0JBQTBDLEVBQzFDLElBQWdCO1FBSGhCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxTQUFJ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LENBQUMsT0FBd0I7UUFDOUMsT0FBTyxPQUFPLENBQUMsV0FBVyxLQUFLLElBQUk7WUFDL0IsQ0FBQyxDQUFDLG9CQUFvQjtZQUN0QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFrQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JELENBQUM7K0dBdklRLGtDQUFrQzttR0FBbEMsa0NBQWtDLHVJQzVCL0MsK3JJQWdIQTs7NEZEcEZhLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDSSw2QkFBNkI7aUxBNEV2QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGZhRmFjZUZyb3duLFxuICAgIGZhRmFjZU1laCxcbiAgICBmYUZhY2VTbWlsZVxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUgfSBmcm9tICcuLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnR5cGUnO1xuaW1wb3J0IHsgRm9ybU1ldGFkYXRhIH0gZnJvbSAnLi4vZm9ybS1wb3N0LXJlc3BvbnNlJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvLCBFdGFwZUluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7XG4gICAgQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICBQT1JUQUlMX0JBU0VfVVJMX0lOVFxufSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuXG5leHBvcnQgY29uc3QgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCA9ICdGRUVEQkFDSy1VU0FHRVJTLSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQge1xuICAgIGdvb2RJY29uTmFtZSA9IGZhRmFjZVNtaWxlO1xuICAgIG1lZGl1bUljb25OYW1lID0gZmFGYWNlTWVoO1xuICAgIGJhZEljb25OYW1lID0gZmFGYWNlRnJvd247XG5cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICBpc1Njcm9sbEVuZGVkOiBib29sZWFuO1xuXG4gICAgdmlzaWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBnb29kVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbWVkaXVtVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgYmFkVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1IYW5kbGVyU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLFxuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhKVxuICAgICAgICAgICAgKVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChbLCBldGFwZUluZm8sICwgbWV0YV0pID0+ICEhZXRhcGVJbmZvICYmICEhbWV0YSksXG4gICAgICAgICAgICB0YXAoKFthcHBsaWNhdGlvbkluZm8sIGV0YXBlSW5mbywgc2Vzc2lvbkluZm9EYXRhLCBtZXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRCYWNrRm9ybUJhc2VVcmwgPSBgJHt0aGlzLmdldFBvcnRhaWxCYXNlVXJsKGFwcGxpY2F0aW9uSW5mbyl9cHViLzEwMTY0My9gO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRiYWNrVXNhZ2VyID0gbmV3IEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25UeXBlKCk7XG4gICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIuaXNDb25uZWN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICAhIXNlc3Npb25JbmZvRGF0YSAmJiAhIXNlc3Npb25JbmZvRGF0YS5jb250ZXh0O1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmlkTWV0aWVyRXRhcGUgPSBldGFwZUluZm8uaWRNZXRpZXJFdGFwZTtcbiAgICAgICAgICAgICAgICBmZWVkYmFja1VzYWdlci5iZW5lZmljaWFyeUNhdGVnb3J5ID0gdGhpcy5nZXRDYXRlZ29yeShcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICBldGFwZUluZm9cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmN1cnJlbnRBY3Rpb24gPSBtZXRhPy5jdXJyZW50QWN0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMuZ29vZFVybCA9IHRoaXMuZ2V0VXJsKFxuICAgICAgICAgICAgICAgICAgICAnZ29vZCcsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmZWVkQmFja0Zvcm1CYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZWRpdW1VcmwgPSB0aGlzLmdldFVybChcbiAgICAgICAgICAgICAgICAgICAgJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmZWVkQmFja0Zvcm1CYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5iYWRVcmwgPSB0aGlzLmdldFVybChcbiAgICAgICAgICAgICAgICAgICAgJ2JhZCcsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmZWVkQmFja0Zvcm1CYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoWywgZXRhcGVJbmZvLCAsIG1ldGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmlzaWJsZSA9IGV0YXBlSW5mbz8udXNlckZlZWRiYWNrUmVxdWVzdGVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5lZWRGZWVkYmFjayA9ICFsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgICAgICAgICAgICAgICAgYCR7RkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWH0ke3RoaXMuZ2V0RnVsbFJlZmVyZW5jZShtZXRhKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gdmlzaWJsZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBuZWVkRmVlZGJhY2sgJiYgdmlzaWJsZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25XaW5kb3dTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxFbmRlZCA9XG4gICAgICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsWSA+PVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgLSAzMDtcbiAgICB9XG5cbiAgICBoaWRlTm90aWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgIEZFRURCQUNLX1VTQUdFUlNfTE9DQUxfU1RPUkFHRV9QUkVGSVggK1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RnVsbFJlZmVyZW5jZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGFcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgJ0RvbmUnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IG9mKGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRVcmwoXG4gICAgICAgIGFuc3dlcjogc3RyaW5nLFxuICAgICAgICBmZWVkYmFja1VzYWdlcjogRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUsXG4gICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgcmVmZXJlbmNlOiBzdHJpbmdcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAoIWZlZWRiYWNrVXNhZ2VyIHx8ICFmZWVkQmFja0Zvcm1CYXNlVXJsIHx8ICFyZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmYnUgPSB7IC4uLmZlZWRiYWNrVXNhZ2VyIH07XG4gICAgICAgIGZidS5hbnN3ZXIgPSBhbnN3ZXI7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0KGBhcGkvZmVlZGJhY2tub3RpZmljYXRpb24vcXVlcnlwYXJhbXMvJHtyZWZlcmVuY2V9YCwgZmJ1LCB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIGNyeXB0ZWRVcmxQYXJhbXMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGAke2ZlZWRCYWNrRm9ybUJhc2VVcmx9P3E9JHtlbmNvZGVVUklDb21wb25lbnQoY3J5cHRlZFVybFBhcmFtcyl9YFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDYXRlZ29yeShcbiAgICAgICAgc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGEsXG4gICAgICAgIGV0YXBlSW5mbzogRXRhcGVJbmZvXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHNlc3Npb25JbmZvRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIHNlc3Npb25JbmZvRGF0YS5jYXRlZ29yaWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBldGFwZUluZm8ucHVibGljQ2libGU/Lmxlbmd0aCA9PT0gMVxuICAgICAgICAgICAgPyBldGFwZUluZm8ucHVibGljQ2libGVbMF1cbiAgICAgICAgICAgIDogJ0luY29ubnUnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9ydGFpbEJhc2VVcmwoYXBwSW5mbzogQXBwbGljYXRpb25JbmZvKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGFwcEluZm8uZW52aXJvbm1lbnQgPT09ICdDTydcbiAgICAgICAgICAgID8gUE9SVEFJTF9CQVNFX1VSTF9JTlRcbiAgICAgICAgICAgIDogYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZ1bGxSZWZlcmVuY2UobWV0YTogRm9ybU1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFtZXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7bWV0YS5yZWZlcmVuY2V9LSR7bWV0YS5jdXJyZW50QWN0aW9ufWA7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGlkPVwiZmVlZGJhY2stY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJleHBhbmRlZCA/ICdleHBhbmRlZCcgOiAncmVkdWNlZCdcIlxuICAgIFtjbGFzcy5vZmZzZXQtYm90dG9tXT1cImlzU2Nyb2xsRW5kZWRcIlxuICAgIFtjbGFzcy52aXNpYmxlXT1cInZpc2libGUgfCBhc3luY1wiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJmZWVkYmFjay1jaGV2cm9uIGJ0biBidG4tbGlua1wiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidmZWVkYmFjay1mb3JtJ1wiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWRvd25cbiAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY2hldnJvbi1kb3duJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tZG93bj5cbiAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cFxuICAgICAgICAgICAgKm5nSWY9XCIhZXhwYW5kZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY2hldnJvbi11cCcgfCBmcm9tRGljdGlvbmFyeVwiXG4gICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGlkPVwiZmVlZGJhY2stdGl0bGVcIiBjbGFzcz1cImg0XCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udGl0bGUtZXhwYW5kZWQnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFleHBhbmRlZFwiIChjbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiPlxuICAgICAgICAgICAge3sgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50aXRsZS1yZWR1Y2VkJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiZmVlZGJhY2stZm9ybVwiIFtjbGFzcy52aXNpYmxlXT1cImV4cGFuZGVkXCI+XG4gICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5xdWVzdGlvbi5RX05PVElGSUNBVElPTl9GQUNJTEVfQV9VVElMSVNFUidcbiAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHVsIGNsYXNzPVwidmQtbGlzdC1pY29ucyBtYi0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8bGkgKGNsaWNrKT1cImhpZGVOb3RpZmljYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdvb2RVcmwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC1zdWNjZXNzXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5nb29kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiZ29vZEljb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmdvb2QnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibXgtMlwiIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJtZWRpdW1VcmwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC13YXJuaW5nXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5tZWRpdW0nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJtZWRpdW1JY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5tZWRpdW0nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJiYWRVcmwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmJhZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImJhZEljb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmJhZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDZCxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUloSCxPQUFPLEVBRUgsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDdkIsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFJakQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsbUJBQW1CLENBQUM7QUFPekUsTUFBTSxPQUFPLGtDQUFrQztJQWEzQyxZQUNZLHNCQUE4QyxFQUM5QyxXQUF3QixFQUN4QixvQkFBMEMsRUFDMUMsSUFBZ0I7UUFIaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix5QkFBb0IsR0FB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RSxNQUFNLEtBQUssQ0FBQztZQUN0QyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNwQixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBd0I7UUFDOUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3hELElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELFFBQVEsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFCLEtBQUssSUFBSSxDQUFDO1lBQ1YsS0FBSyxJQUFJO2dCQUNMLE9BQU8sb0JBQW9CLENBQUM7WUFDaEMsS0FBSyxJQUFJO2dCQUNMLE9BQU8sb0JBQW9CLENBQUM7WUFDaEM7Z0JBQ0ksT0FBTyxxQkFBcUIsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQWtCO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckQsQ0FBQzsrR0FuSlEsa0NBQWtDO21HQUFsQyxrQ0FBa0MsdUlDOUIvQywrcklBZ0hBOzs0RkRsRmEsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNJLDZCQUE2QjtpTEE4RXZDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZmFGYWNlRnJvd24sXG4gICAgZmFGYWNlTWVoLFxuICAgIGZhRmFjZVNtaWxlXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIE9ic2VydmFibGUsIG9mLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGb2VobkZlZWRiYWNrTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4uL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udHlwZSc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEgfSBmcm9tICcuLi9mb3JtLXBvc3QtcmVzcG9uc2UnO1xuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8sIEV0YXBlSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgIFBPUlRBSUxfQkFTRV9VUkxfSU5ULFxuICAgIFBPUlRBSUxfQkFTRV9VUkxfUFJPRCxcbiAgICBQT1JUQUlMX0JBU0VfVVJMX1ZBTFxufSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuXG5leHBvcnQgY29uc3QgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCA9ICdGRUVEQkFDSy1VU0FHRVJTLSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQge1xuICAgIGdvb2RJY29uTmFtZSA9IGZhRmFjZVNtaWxlO1xuICAgIG1lZGl1bUljb25OYW1lID0gZmFGYWNlTWVoO1xuICAgIGJhZEljb25OYW1lID0gZmFGYWNlRnJvd247XG5cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICBpc1Njcm9sbEVuZGVkOiBib29sZWFuO1xuXG4gICAgdmlzaWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBnb29kVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbWVkaXVtVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgYmFkVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1IYW5kbGVyU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLFxuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhKVxuICAgICAgICAgICAgKVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChbLCBldGFwZUluZm8sICwgbWV0YV0pID0+ICEhZXRhcGVJbmZvICYmICEhbWV0YSksXG4gICAgICAgICAgICB0YXAoKFthcHBsaWNhdGlvbkluZm8sIGV0YXBlSW5mbywgc2Vzc2lvbkluZm9EYXRhLCBtZXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRCYWNrRm9ybUJhc2VVcmwgPSBgJHt0aGlzLmdldFBvcnRhaWxCYXNlVXJsKGFwcGxpY2F0aW9uSW5mbyl9cHViLzEwMTY0My9gO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRiYWNrVXNhZ2VyID0gbmV3IEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25UeXBlKCk7XG4gICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIuaXNDb25uZWN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICAhIXNlc3Npb25JbmZvRGF0YSAmJiAhIXNlc3Npb25JbmZvRGF0YS5jb250ZXh0O1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmlkTWV0aWVyRXRhcGUgPSBldGFwZUluZm8uaWRNZXRpZXJFdGFwZTtcbiAgICAgICAgICAgICAgICBmZWVkYmFja1VzYWdlci5iZW5lZmljaWFyeUNhdGVnb3J5ID0gdGhpcy5nZXRDYXRlZ29yeShcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICBldGFwZUluZm9cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmN1cnJlbnRBY3Rpb24gPSBtZXRhPy5jdXJyZW50QWN0aW9uO1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmlzQmVoaW5kSUFNID1cbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpbi5pbmNsdWRlcygnZXRhdC1kZS12YXVkLmNoJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5nb29kVXJsID0gdGhpcy5nZXRVcmwoXG4gICAgICAgICAgICAgICAgICAgICdnb29kJyxcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lZGl1bVVybCA9IHRoaXMuZ2V0VXJsKFxuICAgICAgICAgICAgICAgICAgICAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhZFVybCA9IHRoaXMuZ2V0VXJsKFxuICAgICAgICAgICAgICAgICAgICAnYmFkJyxcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGEucmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChbLCBldGFwZUluZm8sICwgbWV0YV0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2aXNpYmxlID0gZXRhcGVJbmZvPy51c2VyRmVlZGJhY2tSZXF1ZXN0ZWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgbmVlZEZlZWRiYWNrID0gIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFxuICAgICAgICAgICAgICAgICAgICBgJHtGRUVEQkFDS19VU0FHRVJTX0xPQ0FMX1NUT1JBR0VfUFJFRklYfSR7dGhpcy5nZXRGdWxsUmVmZXJlbmNlKG1ldGEpfWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB2aXNpYmxlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZWRGZWVkYmFjayAmJiB2aXNpYmxlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Njcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Njcm9sbEVuZGVkID1cbiAgICAgICAgICAgIHdpbmRvdy5pbm5lckhlaWdodCArIHdpbmRvdy5zY3JvbGxZID49XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCAtIDMwO1xuICAgIH1cblxuICAgIGhpZGVOb3RpZmljYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCArXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRGdWxsUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdlc2RlbUhhbmRsZXJTZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAnRG9uZSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gb2YoZmFsc2UpO1xuICAgIH1cblxuICAgIGdldFVybChcbiAgICAgICAgYW5zd2VyOiBzdHJpbmcsXG4gICAgICAgIGZlZWRiYWNrVXNhZ2VyOiBGb2VobkZlZWRiYWNrTm90aWZpY2F0aW9uVHlwZSxcbiAgICAgICAgZmVlZEJhY2tGb3JtQmFzZVVybDogc3RyaW5nLFxuICAgICAgICByZWZlcmVuY2U6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGlmICghZmVlZGJhY2tVc2FnZXIgfHwgIWZlZWRCYWNrRm9ybUJhc2VVcmwgfHwgIXJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZidSA9IHsgLi4uZmVlZGJhY2tVc2FnZXIgfTtcbiAgICAgICAgZmJ1LmFuc3dlciA9IGFuc3dlcjtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3QoYGFwaS9mZWVkYmFja25vdGlmaWNhdGlvbi9xdWVyeXBhcmFtcy8ke3JlZmVyZW5jZX1gLCBmYnUsIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0J1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgY3J5cHRlZFVybFBhcmFtcyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZmVlZEJhY2tGb3JtQmFzZVVybH0/cT0ke2VuY29kZVVSSUNvbXBvbmVudChjcnlwdGVkVXJsUGFyYW1zKX1gXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhdGVnb3J5KFxuICAgICAgICBzZXNzaW9uSW5mb0RhdGE6IFNlc3Npb25JbmZvRGF0YSxcbiAgICAgICAgZXRhcGVJbmZvOiBFdGFwZUluZm9cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBpZiAoc2Vzc2lvbkluZm9EYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gc2Vzc2lvbkluZm9EYXRhLmNhdGVnb3JpZXNbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV0YXBlSW5mby5wdWJsaWNDaWJsZT8ubGVuZ3RoID09PSAxXG4gICAgICAgICAgICA/IGV0YXBlSW5mby5wdWJsaWNDaWJsZVswXVxuICAgICAgICAgICAgOiAnSW5jb25udSc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3J0YWlsQmFzZVVybChhcHBJbmZvOiBBcHBsaWNhdGlvbkluZm8pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBiYXNlVXJsID0gYXBwSW5mby5jb25maWd1cmF0aW9uPy5wb3J0YWlsPy5iYXNlVXJsO1xuICAgICAgICBpZiAoISFiYXNlVXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVVybDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKGFwcEluZm8uZW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIGNhc2UgJ0NPJzpcbiAgICAgICAgICAgIGNhc2UgJ0lOJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gUE9SVEFJTF9CQVNFX1VSTF9JTlQ7XG4gICAgICAgICAgICBjYXNlICdWQSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBPUlRBSUxfQkFTRV9VUkxfVkFMO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gUE9SVEFJTF9CQVNFX1VSTF9QUk9EO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGdWxsUmVmZXJlbmNlKG1ldGE6IEZvcm1NZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghbWV0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke21ldGEucmVmZXJlbmNlfS0ke21ldGEuY3VycmVudEFjdGlvbn1gO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBpZD1cImZlZWRiYWNrLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiZXhwYW5kZWQgPyAnZXhwYW5kZWQnIDogJ3JlZHVjZWQnXCJcbiAgICBbY2xhc3Mub2Zmc2V0LWJvdHRvbV09XCJpc1Njcm9sbEVuZGVkXCJcbiAgICBbY2xhc3MudmlzaWJsZV09XCJ2aXNpYmxlIHwgYXN5bmNcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZmVlZGJhY2stY2hldnJvbiBidG4gYnRuLWxpbmtcIlxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInZmVlZGJhY2stZm9ybSdcIlxuICAgID5cbiAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1kb3duXG4gICAgICAgICAgICAqbmdJZj1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tZG93bicgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvZm9laG4taWNvbi1jaGV2cm9uLWRvd24+XG4gICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tdXBcbiAgICAgICAgICAgICpuZ0lmPVwiIWV4cGFuZGVkXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNoZXZyb24tdXAnIHwgZnJvbURpY3Rpb25hcnlcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tdXA+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBpZD1cImZlZWRiYWNrLXRpdGxlXCIgY2xhc3M9XCJoNFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImV4cGFuZGVkXCI+XG4gICAgICAgICAgICB7eyAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnRpdGxlLWV4cGFuZGVkJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZXhwYW5kZWRcIiAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udGl0bGUtcmVkdWNlZCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cImZlZWRiYWNrLWZvcm1cIiBbY2xhc3MudmlzaWJsZV09XCJleHBhbmRlZFwiPlxuICAgICAgICA8bGFiZWw+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24ucXVlc3Rpb24uUV9OT1RJRklDQVRJT05fRkFDSUxFX0FfVVRJTElTRVInXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDx1bCBjbGFzcz1cInZkLWxpc3QtaWNvbnMgbWItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgPGxpIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnb29kVXJsIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtc3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uZ29vZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImdvb2RJY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5nb29kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm14LTJcIiAoY2xpY2spPVwiaGlkZU5vdGlmaWNhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibWVkaXVtVXJsIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtd2FybmluZ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibWVkaXVtSWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwiaGlkZU5vdGlmaWNhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYmFkVXJsIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5iYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJiYWRJY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5iYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class FoehnFeedbackNotificationType {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw2QkFBNkI7Q0FPekMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUge1xuICAgIGFuc3dlcjogc3RyaW5nO1xuICAgIGlkTWV0aWVyRXRhcGU6IHN0cmluZztcbiAgICBpc0Nvbm5lY3RlZDogYm9vbGVhbjtcbiAgICBiZW5lZmljaWFyeUNhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VycmVudEFjdGlvbjogbnVtYmVyO1xuICAgIGlzQmVoaW5kSUFNOiBib29sZWFuO1xufVxuIl19
|
|
@@ -52,11 +52,11 @@ export class FoehnModalComponent {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnModalComponent, selector: "foehn-modal", inputs: { id: "id", name: "name", modalSize: "modalSize", modalBodyText: "modalBodyText", modalHeaderText: "modalHeaderText", closeable: "closeable", modalTriggerHtmlElement: "modalTriggerHtmlElement", isModalVisible: "isModalVisible" }, outputs: { isModalVisibleChange: "isModalVisibleChange" }, host: { listeners: { "keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "modalTitle", first: true, predicate: ["modalTitle"], descendants: true }, { propertyName: "specificfooter", first: true, predicate: ["specificfooter"], descendants: true }, { propertyName: "modalDefaultCloseBtn", first: true, predicate: ["modalDefaultCloseBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"modal\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnModalComponent, selector: "foehn-modal", inputs: { id: "id", name: "name", modalSize: "modalSize", modalBodyText: "modalBodyText", modalHeaderText: "modalHeaderText", closeable: "closeable", modalTriggerHtmlElement: "modalTriggerHtmlElement", isModalVisible: "isModalVisible" }, outputs: { isModalVisibleChange: "isModalVisibleChange" }, host: { listeners: { "keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "modalTitle", first: true, predicate: ["modalTitle"], descendants: true }, { propertyName: "specificfooter", first: true, predicate: ["specificfooter"], descendants: true }, { propertyName: "modalDefaultCloseBtn", first: true, predicate: ["modalDefaultCloseBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"modal d-block\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n *ngIf=\"isModalVisible\"\n cdkTrapFocus\n>\n <div class=\"modal-dialog modal-dialog-centered\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div\n class=\"modal-header d-flex\"\n [ngClass]=\"{ 'flex-row-reverse': closeable }\"\n >\n <button\n *ngIf=\"closeable\"\n (click)=\"isModalVisible = false\"\n type=\"button\"\n class=\"btn btn-close\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label' | fromDictionary\n \"\n id=\"closeButton\"\n ></button>\n <h2\n class=\"modal-title h5\"\n id=\"modalTitle\"\n #modalTitle\n [innerHTML]=\"modalHeaderText\"\n ></h2>\n </div>\n <div class=\"modal-body\" id=\"modalBody\" #modalBody tabindex=\"-1\">\n <div *ngIf=\"modalBodyText\" [innerHTML]=\"modalBodyText\"></div>\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer w-100 d-block\">\n <div #specificfooter id=\"specificfooter\">\n <ng-content select=\"[modal-footer]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!specificfooter.innerHTML.trim()\">\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n type=\"button\"\n (click)=\"isModalVisible = false\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label'\n | fromDictionary\n \"\n #modalDefaultCloseBtn\n >\n {{\n 'foehn-modal.btn-close.title'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{top:0;left:0;height:100%;width:100%;position:fixed;z-index:9999;overflow:auto;background-color:#000;background-color:#0006}.modal-title{margin-top:.5em!important}.modal-logo{width:30px}.modal-footer{padding-top:20px}.modal-content{-webkit-animation-name:redirect-animatetop;-webkit-animation-duration:.4s;animation-name:redirect-animatetop;animation-duration:.4s}@-webkit-keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}@keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.redirect-modal-header{padding:14px 16px 10px;background-color:#152025;color:#fff}.redirect-modal-body{padding:10px 16px}.redirect-modal-footer{padding:14px 16px 10px;background-color:#152025;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i3.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnModalComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
|
-
args: [{ selector: 'foehn-modal', template: "<div\n class=\"modal\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n
|
|
59
|
+
args: [{ selector: 'foehn-modal', template: "<div\n class=\"modal d-block\"\n [id]=\"id || name\"\n role=\"dialog\"\n aria-labelledby=\"modalTitle\"\n aria-describedby=\"modalBody\"\n *ngIf=\"isModalVisible\"\n cdkTrapFocus\n>\n <div class=\"modal-dialog modal-dialog-centered\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div\n class=\"modal-header d-flex\"\n [ngClass]=\"{ 'flex-row-reverse': closeable }\"\n >\n <button\n *ngIf=\"closeable\"\n (click)=\"isModalVisible = false\"\n type=\"button\"\n class=\"btn btn-close\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label' | fromDictionary\n \"\n id=\"closeButton\"\n ></button>\n <h2\n class=\"modal-title h5\"\n id=\"modalTitle\"\n #modalTitle\n [innerHTML]=\"modalHeaderText\"\n ></h2>\n </div>\n <div class=\"modal-body\" id=\"modalBody\" #modalBody tabindex=\"-1\">\n <div *ngIf=\"modalBodyText\" [innerHTML]=\"modalBodyText\"></div>\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer w-100 d-block\">\n <div #specificfooter id=\"specificfooter\">\n <ng-content select=\"[modal-footer]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!specificfooter.innerHTML.trim()\">\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ms-md-auto me-md-2 mb-2 mt-2\">\n <button\n type=\"button\"\n (click)=\"isModalVisible = false\"\n class=\"btn btn-secondary w-100\"\n [attr.aria-label]=\"\n 'foehn-modal.btn-close.aria-label'\n | fromDictionary\n \"\n #modalDefaultCloseBtn\n >\n {{\n 'foehn-modal.btn-close.title'\n | fromDictionary\n }}\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal{top:0;left:0;height:100%;width:100%;position:fixed;z-index:9999;overflow:auto;background-color:#000;background-color:#0006}.modal-title{margin-top:.5em!important}.modal-logo{width:30px}.modal-footer{padding-top:20px}.modal-content{-webkit-animation-name:redirect-animatetop;-webkit-animation-duration:.4s;animation-name:redirect-animatetop;animation-duration:.4s}@-webkit-keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}@keyframes redirect-animatetop{0%{top:-300px;opacity:0}to{top:0;opacity:1}}.redirect-modal-header{padding:14px 16px 10px;background-color:#152025;color:#fff}.redirect-modal-body{padding:10px 16px}.redirect-modal-footer{padding:14px 16px 10px;background-color:#152025;color:#fff}\n"] }]
|
|
60
60
|
}], propDecorators: { id: [{
|
|
61
61
|
type: Input
|
|
62
62
|
}], name: [{
|
|
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
91
91
|
type: HostListener,
|
|
92
92
|
args: ['keyup', ['$event']]
|
|
93
93
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW1vZGFsL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFzQkksY0FBUyxHQUFHLElBQUksQ0FBQztRQU1qQix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBY2xDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FrRDdCO0lBaERHLElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDSSxjQUFjLENBQUMsR0FBWTtRQUMzQiw0RUFBNEU7UUFDNUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxTQUFrQjtRQUN2QyxzRkFBc0Y7UUFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDcEQsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsMkZBQTJGO2dCQUMzRiwwQ0FBMEM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQzVELGlHQUFpRztRQUNqRywwRUFBMEU7UUFDMUUsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RlEsbUJBQW1CO21HQUFuQixtQkFBbUIsa3pCQ2ZoQyxteUZBb0VBOzs0RkRyRGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGFBQWE7OEJBTXZCLEVBQUU7c0JBREQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLE1BQU07Z0JBSVAsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVc7Z0JBSXRCLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQUl2QixjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUkzQixvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsc0JBQXNCO2dCQVU3QixjQUFjO3NCQURqQixLQUFLO2dCQVlOLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tb2RhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1tb2RhbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Nb2RhbENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsU2l6ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RhbEJvZHlUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsSGVhZGVyVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjbG9zZWFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RhbFRyaWdnZXJIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBpc01vZGFsVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsQm9keScpXG4gICAgbW9kYWxCb2R5OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxUaXRsZScpXG4gICAgbW9kYWxUaXRsZTogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ3NwZWNpZmljZm9vdGVyJylcbiAgICBzcGVjaWZpY2Zvb3RlcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsRGVmYXVsdENsb3NlQnRuJylcbiAgICBtb2RhbERlZmF1bHRDbG9zZUJ0bjogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBnZXQgaXNNb2RhbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc01vZGFsVmlzaWJsZSh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIHZhbHVlIHRvIGhhbmRsZSB0cmFuc2l0aW9ucyBmcm9tIG9uZSBzdGF0ZSB0byBhbm90aGVyLlxuICAgICAgICBjb25zdCB3YXNPcGVuID0gdGhpcy5pc1Zpc2libGU7XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB2YWw7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLmlzVmlzaWJsZSk7XG4gICAgICAgIHRoaXMuZm9jdXNPbkNvbnRhaW5lcih2YWwpO1xuICAgICAgICB0aGlzLmZvY3VzT25Nb2RhbFRyaWdnZXIod2FzT3BlbiwgdmFsKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWFibGUgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uQ29udGFpbmVyKGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvLyBIYXMgdG8gYmUgYSBzZXRUaW1lb3V0IGFzIHdlJ3JlIGFmZmVjdGluZyB0aGUgRE9NIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgbGlmZWN5Y2xlLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tb2RhbERlZmF1bHRDbG9zZUJ0bikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsRGVmYXVsdENsb3NlQnRuLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubW9kYWxCb2R5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxCb2R5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBjb25kaXRpb24gaXMgdXNlbGVzcyBiZWNhdXNlIHRoaXMubW9kYWxUaXRsZSBzaG91bGQgYWx3YXlzIGJlIGhlcmUgd2hlbiBcImlzVmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IG5vdCBpbiB0ZXN0cywgc28gd2Uga2VlcCBpdCBmb3Igbm93XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kYWxUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsVGl0bGUubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uTW9kYWxUcmlnZ2VyKHdhc09wZW46IGJvb2xlYW4sIGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvLyBGb2N1cyBiYWNrIG9uIHRoZSB0cmlnZ2VyLiBObyBuZWVkIGZvciBhIHNldFRpbWVvdXQgYXMgdGhlIHRyaWdnZXIgc2hvdWxkIHN0aWxsIGJlIGluIHRoZSBET00uXG4gICAgICAgIC8vIE9ubHkgZG9lcyBpdCB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQgZnJvbSBhIG9wZW4gc3RhdGUgdG8gYXZvaWQgdG8gc2V0XG4gICAgICAgIC8vIHRoZSBmb2N1cyB3aGVuIHRoZSBwYWdlIGxvYWRzLlxuICAgICAgICBpZiAod2FzT3BlbiAmJiAhaXNWaXNpYmxlICYmIHRoaXMubW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cIm1vZGFsXCJcbiAgICBbaWRdPVwiaWQgfHwgbmFtZVwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwibW9kYWxUaXRsZVwiXG4gICAgYXJpYS1kZXNjcmliZWRieT1cIm1vZGFsQm9keVwiXG4gICAgc3R5bGU9XCJkaXNwbGF5OiBibG9ja1wiXG4gICAgKm5nSWY9XCJpc01vZGFsVmlzaWJsZVwiXG4gICAgY2RrVHJhcEZvY3VzXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIiBbbmdDbGFzc109XCJtb2RhbFNpemVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vZGFsLWhlYWRlciBkLWZsZXhcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZsZXgtcm93LXJldmVyc2UnOiBjbG9zZWFibGUgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNsb3NlYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc01vZGFsVmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1jbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbW9kYWwuYnRuLWNsb3NlLmFyaWEtbGFiZWwnIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJjbG9zZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxoMlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vZGFsLXRpdGxlIGg1XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2RhbFRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgI21vZGFsVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJtb2RhbEhlYWRlclRleHRcIlxuICAgICAgICAgICAgICAgID48L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIGlkPVwibW9kYWxCb2R5XCIgI21vZGFsQm9keSB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGFsQm9keVRleHRcIiBbaW5uZXJIVE1MXT1cIm1vZGFsQm9keVRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIgdy0xMDAgZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgI3NwZWNpZmljZm9vdGVyIGlkPVwic3BlY2lmaWNmb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21vZGFsLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzcGVjaWZpY2Zvb3Rlci5pbm5lckhUTUwudHJpbSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbW9kYWwtZm9vdGVyIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtbWQtYXV0byBtZS1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc01vZGFsVmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbW9kYWwuYnRuLWNsb3NlLmFyaWEtbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbW9kYWxEZWZhdWx0Q2xvc2VCdG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tbW9kYWwuYnRuLWNsb3NlLnRpdGxlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLW1vZGFsL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1tb2RhbC9mb2Vobi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7Ozs7O0FBT3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFzQkksY0FBUyxHQUFHLElBQUksQ0FBQztRQU1qQix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBY2xDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FrRDdCO0lBaERHLElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDSSxjQUFjLENBQUMsR0FBWTtRQUMzQiw0RUFBNEU7UUFDNUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxTQUFrQjtRQUN2QyxzRkFBc0Y7UUFDdEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDcEQsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsMkZBQTJGO2dCQUMzRiwwQ0FBMEM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQzVELGlHQUFpRztRQUNqRywwRUFBMEU7UUFDMUUsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RlEsbUJBQW1CO21HQUFuQixtQkFBbUIsa3pCQ2ZoQyw2d0ZBbUVBOzs0RkRwRGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGFBQWE7OEJBTXZCLEVBQUU7c0JBREQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLE1BQU07Z0JBSVAsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVc7Z0JBSXRCLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQUl2QixjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUkzQixvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsc0JBQXNCO2dCQVU3QixjQUFjO3NCQURqQixLQUFLO2dCQVlOLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1tb2RhbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1tb2RhbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Nb2RhbENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsU2l6ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RhbEJvZHlUZXh0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vZGFsSGVhZGVyVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBjbG9zZWFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBtb2RhbFRyaWdnZXJIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBpc01vZGFsVmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsQm9keScpXG4gICAgbW9kYWxCb2R5OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnbW9kYWxUaXRsZScpXG4gICAgbW9kYWxUaXRsZTogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ3NwZWNpZmljZm9vdGVyJylcbiAgICBzcGVjaWZpY2Zvb3RlcjogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ21vZGFsRGVmYXVsdENsb3NlQnRuJylcbiAgICBtb2RhbERlZmF1bHRDbG9zZUJ0bjogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBnZXQgaXNNb2RhbFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc01vZGFsVmlzaWJsZSh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIHZhbHVlIHRvIGhhbmRsZSB0cmFuc2l0aW9ucyBmcm9tIG9uZSBzdGF0ZSB0byBhbm90aGVyLlxuICAgICAgICBjb25zdCB3YXNPcGVuID0gdGhpcy5pc1Zpc2libGU7XG5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB2YWw7XG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLmlzVmlzaWJsZSk7XG4gICAgICAgIHRoaXMuZm9jdXNPbkNvbnRhaW5lcih2YWwpO1xuICAgICAgICB0aGlzLmZvY3VzT25Nb2RhbFRyaWdnZXIod2FzT3BlbiwgdmFsKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWFibGUgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uQ29udGFpbmVyKGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvLyBIYXMgdG8gYmUgYSBzZXRUaW1lb3V0IGFzIHdlJ3JlIGFmZmVjdGluZyB0aGUgRE9NIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgbGlmZWN5Y2xlLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tb2RhbERlZmF1bHRDbG9zZUJ0bikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsRGVmYXVsdENsb3NlQnRuLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubW9kYWxCb2R5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxCb2R5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBjb25kaXRpb24gaXMgdXNlbGVzcyBiZWNhdXNlIHRoaXMubW9kYWxUaXRsZSBzaG91bGQgYWx3YXlzIGJlIGhlcmUgd2hlbiBcImlzVmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgLy8gYnV0IG5vdCBpbiB0ZXN0cywgc28gd2Uga2VlcCBpdCBmb3Igbm93XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kYWxUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsVGl0bGUubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uTW9kYWxUcmlnZ2VyKHdhc09wZW46IGJvb2xlYW4sIGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICAvLyBGb2N1cyBiYWNrIG9uIHRoZSB0cmlnZ2VyLiBObyBuZWVkIGZvciBhIHNldFRpbWVvdXQgYXMgdGhlIHRyaWdnZXIgc2hvdWxkIHN0aWxsIGJlIGluIHRoZSBET00uXG4gICAgICAgIC8vIE9ubHkgZG9lcyBpdCB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQgZnJvbSBhIG9wZW4gc3RhdGUgdG8gYXZvaWQgdG8gc2V0XG4gICAgICAgIC8vIHRoZSBmb2N1cyB3aGVuIHRoZSBwYWdlIGxvYWRzLlxuICAgICAgICBpZiAod2FzT3BlbiAmJiAhaXNWaXNpYmxlICYmIHRoaXMubW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxUcmlnZ2VySHRtbEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cIm1vZGFsIGQtYmxvY2tcIlxuICAgIFtpZF09XCJpZCB8fCBuYW1lXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJtb2RhbFRpdGxlXCJcbiAgICBhcmlhLWRlc2NyaWJlZGJ5PVwibW9kYWxCb2R5XCJcbiAgICAqbmdJZj1cImlzTW9kYWxWaXNpYmxlXCJcbiAgICBjZGtUcmFwRm9jdXNcbj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiIFtuZ0NsYXNzXT1cIm1vZGFsU2l6ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtaGVhZGVyIGQtZmxleFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmxleC1yb3ctcmV2ZXJzZSc6IGNsb3NlYWJsZSB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2xvc2VhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UuYXJpYS1sYWJlbCcgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImNsb3NlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGgyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtdGl0bGUgaDVcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cIm1vZGFsVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAjbW9kYWxUaXRsZVxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm1vZGFsSGVhZGVyVGV4dFwiXG4gICAgICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgaWQ9XCJtb2RhbEJvZHlcIiAjbW9kYWxCb2R5IHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxCb2R5VGV4dFwiIFtpbm5lckhUTUxdPVwibW9kYWxCb2R5VGV4dFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlciB3LTEwMCBkLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAjc3BlY2lmaWNmb290ZXIgaWQ9XCJzcGVjaWZpY2Zvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbW9kYWwtZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNwZWNpZmljZm9vdGVyLmlubmVySFRNTC50cmltKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBtb2RhbC1mb290ZXIgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtbWQtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1tZC1hdXRvIG1lLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UuYXJpYS1sYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtb2RhbERlZmF1bHRDbG9zZUJ0blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1tb2RhbC5idG4tY2xvc2UudGl0bGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -122,11 +122,11 @@ export class FoehnTableComponent {
|
|
|
122
122
|
this.filteredList = this._list.slice(start, start + this.itemsPerPage);
|
|
123
123
|
}
|
|
124
124
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", title: "title", titleSrOnly: "titleSrOnly", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange", rowClick: "rowClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <caption\n *ngIf=\"title?.length\"\n [class.visually-hidden]=\"titleSrOnly\"\n >\n {{ title }}\n </caption>\n <thead>\n <tr>\n <th\n class=\"vd-bg-pattern-bars-gray\"\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n #tableRowElement\n (click)=\"manageRowClick(tableRowElement, item)\"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: red\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}.cell-vertical-align-middle{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: i3.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i6.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
125
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", title: "title", titleSrOnly: "titleSrOnly", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange", rowClick: "rowClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <caption\n *ngIf=\"title?.length\"\n [class.visually-hidden]=\"titleSrOnly\"\n >\n {{ title }}\n </caption>\n <thead>\n <tr>\n <th\n class=\"vd-bg-pattern-bars-gray\"\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n #tableRowElement\n (click)=\"manageRowClick(tableRowElement, item)\"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation text-danger\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}.cell-vertical-align-middle{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: i3.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: i6.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "pipe", type: i7.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
126
126
|
}
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FoehnTableComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
129
|
-
args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <caption\n *ngIf=\"title?.length\"\n [class.visually-hidden]=\"titleSrOnly\"\n >\n {{ title }}\n </caption>\n <thead>\n <tr>\n <th\n class=\"vd-bg-pattern-bars-gray\"\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n #tableRowElement\n (click)=\"manageRowClick(tableRowElement, item)\"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: red\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
|
|
129
|
+
args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <caption\n *ngIf=\"title?.length\"\n [class.visually-hidden]=\"titleSrOnly\"\n >\n {{ title }}\n </caption>\n <thead>\n <tr>\n <th\n class=\"vd-bg-pattern-bars-gray\"\n scope=\"col\"\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ms-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n #tableRowElement\n (click)=\"manageRowClick(tableRowElement, item)\"\n >\n <td\n *ngFor=\"\n let col of columnsConfiguration;\n trackBy: trackFoehnTableColumnConfiguration\n \"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation text-danger\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle me-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{ iconDef.label }}\n </span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n type=\"button\"\n class=\"btn btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
|
|
130
130
|
}], propDecorators: { itemsPerPage: [{
|
|
131
131
|
type: Input
|
|
132
132
|
}], id: [{
|
|
@@ -160,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
160
160
|
}], trackByFn: [{
|
|
161
161
|
type: Input
|
|
162
162
|
}] } });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXRhYmxlL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi10YWJsZS9mb2Vobi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBTXhELE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBb0IsRUFBVyxFQUFFLENBQ3RELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFPL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9JLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBR2xCLE9BQUUsR0FBRyxhQUFhLENBQUM7UUFTbkIsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFHNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQWF0QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFNM0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHM0MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsaUJBQVksR0FBYyxFQUFFLENBQUM7UUFXN0IsY0FBUyxHQUE2QixDQUNsQyxLQUFhO1FBQ2IsNkRBQTZEO1FBQzdELElBQWEsRUFDUCxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRW5CLHVDQUFrQyxHQUU5QixD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QUFNLENBQUM7UUFDcEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQzsrR0FqTFEsbUJBQW1CO21HQUFuQixtQkFBbUIsMmRDekJoQyx5c1VBb09BOzs0RkQzTWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGFBQWE7OEJBTXZCLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7O1FBSU4sOERBQThEO1FBQzlELG9CQUFvQjtzQkFGbkIsS0FBSztnQkFLTixVQUFVO3NCQURULE1BQU07Z0JBSVAsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBVUgsSUFBSTtzQkFEUCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRyYWNrQnlGdW5jdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9vYmplY3QuaGVscGVyJztcbmltcG9ydCB7IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9mb2Vobi10YWJsZS1jb2x1bW4tY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mb2Vobi10YWJsZS1wYWdlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBSb3dFbGVtZW50IH0gZnJvbSAnLi9yb3ctZWxlbWVudC50eXBlJztcbmltcG9ydCB7IFRhYmxlU29ydCB9IGZyb20gJy4vdGFibGVTb3J0JztcblxuY29uc3QgaGFzSW5wdXRDaGFuZ2VkID0gKGNoYW5nZTogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiA9PlxuICAgIGNoYW5nZSAmJiAhT2JqZWN0SGVscGVyLmlzRXF1YWwoY2hhbmdlLnByZXZpb3VzVmFsdWUsIGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi10YWJsZSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlU3JPbmx5OiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2aW91c0xhYmVsID0gJ1Byw6ljw6lkZW50JztcblxuICAgIEBJbnB1dCgpXG4gICAgbmV4dExhYmVsID0gJ1N1aXZhbnQnO1xuXG4gICAgQElucHV0KClcbiAgICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkUGFnZUNvdW50OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29sdW1uc0NvbmZpZ3VyYXRpb246IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uPGFueT5bXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvZWhuVGFibGVQYWdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNvcnQ6IFRhYmxlU29ydDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlU29ydD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dFbGVtZW50PigpO1xuXG4gICAgY3VycmVudFBhZ2UgPSAxO1xuXG4gICAgZmlsdGVyZWRMaXN0OiB1bmtub3duW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2xpc3Q6IHVua25vd25bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpc3QobGlzdDogdW5rbm93bltdKSB7XG4gICAgICAgIHRoaXMuX2xpc3QgPSBsaXN0O1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjx1bmtub3duPiA9IChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBpdGVtOiB1bmtub3duXG4gICAgKTogbnVtYmVyID0+IGluZGV4O1xuXG4gICAgdHJhY2tGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjogVHJhY2tCeUZ1bmN0aW9uPFxuICAgICAgICBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjx1bmtub3duPlxuICAgID4gPSAoaW5kZXg6IG51bWJlciwgaXRlbTogRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb248dW5rbm93bj4pID0+XG4gICAgICAgIGl0ZW0uaWQgfHwgaXRlbS5jb2x1bW5MYWJlbEtleSB8fCBpbmRleDtcblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXNQZXJQYWdlQ2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLml0ZW1zUGVyUGFnZTtcbiAgICAgICAgY29uc3QgbGlzdENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5saXN0O1xuICAgICAgICBjb25zdCBmaXhlZFBhZ2VDb3VudENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5maXhlZFBhZ2VDb3VudDtcbiAgICAgICAgY29uc3Qgc29ydElucHV0Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLnNvcnQ7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChpdGVtc1BlclBhZ2VDaGFuZ2UpICYmXG4gICAgICAgICAgICAhaGFzSW5wdXRDaGFuZ2VkKGxpc3RDaGFuZ2UpICYmXG4gICAgICAgICAgICAhaGFzSW5wdXRDaGFuZ2VkKGZpeGVkUGFnZUNvdW50Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChzb3J0SW5wdXRDaGFuZ2UpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuICAgIH1cblxuICAgIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UgLSAxO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZTogdGhpcy5jdXJyZW50UGFnZSArIDEsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA+IDE7XG4gICAgfVxuXG4gICAgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlICsgMTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuXG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZTogdGhpcy5jdXJyZW50UGFnZSAtIDEsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5wYWdlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgc2hvd1BhZ2UocGFnZTogbnVtYmVyLCBlbWl0UGFnZUNoYW5nZUV2ZW50OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09IHBhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZSA9IHRoaXMuY3VycmVudFBhZ2U7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG5cbiAgICAgICAgaWYgKGVtaXRQYWdlQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUNoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1BhZ2UsXG4gICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYWdlc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpeGVkUGFnZUNvdW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xpc3RcbiAgICAgICAgICAgID8gTWF0aC5jZWlsKHRoaXMuX2xpc3QubGVuZ3RoIC8gdGhpcy5pdGVtc1BlclBhZ2UpXG4gICAgICAgICAgICA6IDA7XG4gICAgfVxuXG4gICAgdHJpZ2dlclNvcnQoc29ydEF0dHJpYnV0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGxldCBzb3J0RGlyZWN0aW9uOiAnREVTQycgfCAnQVNDJyA9ICdERVNDJztcbiAgICAgICAgaWYgKHRoaXMuc29ydC5zb3J0QXR0cmlidXRlID09PSBzb3J0QXR0cmlidXRlKSB7XG4gICAgICAgICAgICBzb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0LnNvcnREaXJlY3Rpb24gPT09ICdERVNDJyA/ICdBU0MnIDogJ0RFU0MnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zb3J0Q2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgICAgICAgIHNvcnRBdHRyaWJ1dGVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWFuYWdlUm93Q2xpY2socm93RWxlbTogSFRNTFRhYmxlUm93RWxlbWVudCwgaXRlbTogdW5rbm93bik6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZWxlbWVudDogcm93RWxlbSxcbiAgICAgICAgICAgIGluZGV4SW5BcnJheTogdGhpcy5fbGlzdC5pbmRleE9mKGl0ZW0pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWx0ZXJlZExpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGlzdCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3RzID1cbiAgICAgICAgICAgICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSA8PSB0aGlzLl9saXN0Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0cykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdC5zbGljZShzdGFydCwgc3RhcnQgKyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIFtpZF09XCJpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgPT09IDFcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgIT09IDFcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgdG90YWw6IHRvdGFsRWxlbWVudHMudG9TdHJpbmcoKSB9XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L2g0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyXCI+XG4gICAgICAgICAgICA8Y2FwdGlvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidGl0bGU/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCJ0aXRsZVNyT25seVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWJhcnMtZ3JheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZpbHRlcmVkTGlzdC5sZW5ndGggfHwgIWNvbC5zb3J0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sLmNvbHVtbkxhYmVsS2V5IHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEhZmlsdGVyZWRMaXN0Lmxlbmd0aCAmJiAhIWNvbC5zb3J0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtdGV4dC10aGluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU29ydChjb2wuc29ydEF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RyaWVyIHBhciAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2wuY29sdW1uTGFiZWxLZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbC5jb2x1bW5MYWJlbEtleSB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQuc29ydEF0dHJpYnV0ZSA9PT0gY29sLnNvcnRBdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0FTQydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tdXA+PC9mb2Vobi1pY29uLWNoZXZyb24tdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzb3J0LnNvcnREaXJlY3Rpb24gPT09ICdERVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1kb3duPjwvZm9laG4taWNvbi1jaGV2cm9uLWRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGZpbHRlcmVkTGlzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICN0YWJsZVJvd0VsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1hbmFnZVJvd0NsaWNrKHRhYmxlUm93RWxlbWVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkICsgJy0nICsgaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb2wuaXNJbXBvcnRhbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5pc0ltcG9ydGFudChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbC12ZXJ0aWNhbC1hbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6IHJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktZXhjbGFtYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjAwMiAxMWExIDEgMCAxIDEgMiAwIDEgMSAwIDAgMS0yIDB6TTcuMSA0Ljk5NWEuOTA1LjkwNSAwIDEgMSAxLjggMGwtLjM1IDMuNTA3YS41NTMuNTUzIDAgMCAxLTEuMSAwTDcuMSA0Ljk5NXpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWNvbC5pY29uR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wuaWNvbkdldHRlcihpdGVtKSBhcyBpY29uRGVmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsLXZlcnRpY2FsLWFsaWduLW1pZGRsZSBtZS0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkRlZi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpY29uRGVmLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGljb25EZWYubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb2wudGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sLnRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2wudGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbC52YWx1ZUdldHRlcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbC12ZXJ0aWNhbC1hbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDx0ciAqbmdJZj1cIiEhY29sdW1uc0NvbmZpZ3VyYXRpb24gJiYgIWZpbHRlcmVkTGlzdC5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIFtjb2xTcGFuXT1cImNvbHVtbnNDb25maWd1cmF0aW9uLmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMuMCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gcC0xXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgY29sLW1kLTMgY29sLXNtLTYgY29sLXhzLTZcIj5cbiAgICAgICAgICAgICAgICA8bmF2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNQcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tcHJldmlvdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgYnRuLW5vLWV4dHJhIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0PjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSAtIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc05leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgYnRuLW5vLWV4dHJhIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBuZXh0TGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tcmlnaHQ+PC9mb2Vobi1pY29uLWNoZXZyb24tcmlnaHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSArIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXRhYmxlL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi10YWJsZS9mb2Vobi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBTXhELE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBb0IsRUFBVyxFQUFFLENBQ3RELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFPL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9JLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBR2xCLE9BQUUsR0FBRyxhQUFhLENBQUM7UUFTbkIsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFHNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQWF0QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFNM0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHM0MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsaUJBQVksR0FBYyxFQUFFLENBQUM7UUFXN0IsY0FBUyxHQUE2QixDQUNsQyxLQUFhO1FBQ2IsNkRBQTZEO1FBQzdELElBQWEsRUFDUCxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRW5CLHVDQUFrQyxHQUU5QixD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QUFNLENBQUM7UUFDcEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQzsrR0FqTFEsbUJBQW1CO21HQUFuQixtQkFBbUIsMmRDekJoQywycFVBbU9BOzs0RkQxTWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGFBQWE7OEJBTXZCLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7O1FBSU4sOERBQThEO1FBQzlELG9CQUFvQjtzQkFGbkIsS0FBSztnQkFLTixVQUFVO3NCQURULE1BQU07Z0JBSVAsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBVUgsSUFBSTtzQkFEUCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRyYWNrQnlGdW5jdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9vYmplY3QuaGVscGVyJztcbmltcG9ydCB7IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9mb2Vobi10YWJsZS1jb2x1bW4tY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mb2Vobi10YWJsZS1wYWdlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBSb3dFbGVtZW50IH0gZnJvbSAnLi9yb3ctZWxlbWVudC50eXBlJztcbmltcG9ydCB7IFRhYmxlU29ydCB9IGZyb20gJy4vdGFibGVTb3J0JztcblxuY29uc3QgaGFzSW5wdXRDaGFuZ2VkID0gKGNoYW5nZTogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiA9PlxuICAgIGNoYW5nZSAmJiAhT2JqZWN0SGVscGVyLmlzRXF1YWwoY2hhbmdlLnByZXZpb3VzVmFsdWUsIGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi10YWJsZSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlU3JPbmx5OiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwcmV2aW91c0xhYmVsID0gJ1Byw6ljw6lkZW50JztcblxuICAgIEBJbnB1dCgpXG4gICAgbmV4dExhYmVsID0gJ1N1aXZhbnQnO1xuXG4gICAgQElucHV0KClcbiAgICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkUGFnZUNvdW50OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29sdW1uc0NvbmZpZ3VyYXRpb246IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uPGFueT5bXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvZWhuVGFibGVQYWdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNvcnQ6IFRhYmxlU29ydDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlU29ydD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxSb3dFbGVtZW50PigpO1xuXG4gICAgY3VycmVudFBhZ2UgPSAxO1xuXG4gICAgZmlsdGVyZWRMaXN0OiB1bmtub3duW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2xpc3Q6IHVua25vd25bXTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxpc3QobGlzdDogdW5rbm93bltdKSB7XG4gICAgICAgIHRoaXMuX2xpc3QgPSBsaXN0O1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjx1bmtub3duPiA9IChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBpdGVtOiB1bmtub3duXG4gICAgKTogbnVtYmVyID0+IGluZGV4O1xuXG4gICAgdHJhY2tGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjogVHJhY2tCeUZ1bmN0aW9uPFxuICAgICAgICBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbjx1bmtub3duPlxuICAgID4gPSAoaW5kZXg6IG51bWJlciwgaXRlbTogRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb248dW5rbm93bj4pID0+XG4gICAgICAgIGl0ZW0uaWQgfHwgaXRlbS5jb2x1bW5MYWJlbEtleSB8fCBpbmRleDtcblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXNQZXJQYWdlQ2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLml0ZW1zUGVyUGFnZTtcbiAgICAgICAgY29uc3QgbGlzdENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5saXN0O1xuICAgICAgICBjb25zdCBmaXhlZFBhZ2VDb3VudENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5maXhlZFBhZ2VDb3VudDtcbiAgICAgICAgY29uc3Qgc29ydElucHV0Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLnNvcnQ7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChpdGVtc1BlclBhZ2VDaGFuZ2UpICYmXG4gICAgICAgICAgICAhaGFzSW5wdXRDaGFuZ2VkKGxpc3RDaGFuZ2UpICYmXG4gICAgICAgICAgICAhaGFzSW5wdXRDaGFuZ2VkKGZpeGVkUGFnZUNvdW50Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChzb3J0SW5wdXRDaGFuZ2UpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuICAgIH1cblxuICAgIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UgLSAxO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZTogdGhpcy5jdXJyZW50UGFnZSArIDEsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA+IDE7XG4gICAgfVxuXG4gICAgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlICsgMTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuXG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHByZXZpb3VzUGFnZTogdGhpcy5jdXJyZW50UGFnZSAtIDEsXG4gICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5wYWdlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgc2hvd1BhZ2UocGFnZTogbnVtYmVyLCBlbWl0UGFnZUNoYW5nZUV2ZW50OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09IHBhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZSA9IHRoaXMuY3VycmVudFBhZ2U7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG5cbiAgICAgICAgaWYgKGVtaXRQYWdlQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUNoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1BhZ2UsXG4gICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYWdlc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpeGVkUGFnZUNvdW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xpc3RcbiAgICAgICAgICAgID8gTWF0aC5jZWlsKHRoaXMuX2xpc3QubGVuZ3RoIC8gdGhpcy5pdGVtc1BlclBhZ2UpXG4gICAgICAgICAgICA6IDA7XG4gICAgfVxuXG4gICAgdHJpZ2dlclNvcnQoc29ydEF0dHJpYnV0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGxldCBzb3J0RGlyZWN0aW9uOiAnREVTQycgfCAnQVNDJyA9ICdERVNDJztcbiAgICAgICAgaWYgKHRoaXMuc29ydC5zb3J0QXR0cmlidXRlID09PSBzb3J0QXR0cmlidXRlKSB7XG4gICAgICAgICAgICBzb3J0RGlyZWN0aW9uID0gdGhpcy5zb3J0LnNvcnREaXJlY3Rpb24gPT09ICdERVNDJyA/ICdBU0MnIDogJ0RFU0MnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zb3J0Q2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgICAgICAgIHNvcnRBdHRyaWJ1dGVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWFuYWdlUm93Q2xpY2socm93RWxlbTogSFRNTFRhYmxlUm93RWxlbWVudCwgaXRlbTogdW5rbm93bik6IHZvaWQge1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZWxlbWVudDogcm93RWxlbSxcbiAgICAgICAgICAgIGluZGV4SW5BcnJheTogdGhpcy5fbGlzdC5pbmRleE9mKGl0ZW0pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWx0ZXJlZExpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGlzdCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3RzID1cbiAgICAgICAgICAgICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSA8PSB0aGlzLl9saXN0Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0cykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdC5zbGljZShzdGFydCwgc3RhcnQgKyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIFtpZF09XCJpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgPT09IDFcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgIT09IDFcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgdG90YWw6IHRvdGFsRWxlbWVudHMudG9TdHJpbmcoKSB9XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L2g0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyXCI+XG4gICAgICAgICAgICA8Y2FwdGlvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidGl0bGU/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCJ0aXRsZVNyT25seVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWJhcnMtZ3JheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZpbHRlcmVkTGlzdC5sZW5ndGggfHwgIWNvbC5zb3J0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sLmNvbHVtbkxhYmVsS2V5IHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEhZmlsdGVyZWRMaXN0Lmxlbmd0aCAmJiAhIWNvbC5zb3J0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtdGV4dC10aGluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU29ydChjb2wuc29ydEF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RyaWVyIHBhciAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2wuY29sdW1uTGFiZWxLZXkgfCBmcm9tRGljdGlvbmFyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbC5jb2x1bW5MYWJlbEtleSB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQuc29ydEF0dHJpYnV0ZSA9PT0gY29sLnNvcnRBdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0FTQydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWNoZXZyb24tdXA+PC9mb2Vobi1pY29uLWNoZXZyb24tdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzb3J0LnNvcnREaXJlY3Rpb24gPT09ICdERVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1kb3duPjwvZm9laG4taWNvbi1jaGV2cm9uLWRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGZpbHRlcmVkTGlzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICN0YWJsZVJvd0VsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1hbmFnZVJvd0NsaWNrKHRhYmxlUm93RWxlbWVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrRm9laG5UYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkICsgJy0nICsgaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb2wuaXNJbXBvcnRhbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5pc0ltcG9ydGFudChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbC12ZXJ0aWNhbC1hbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1leGNsYW1hdGlvbiB0ZXh0LWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1My41NTMgMCAwIDEtMS4xIDBMNy4xIDQuOTk1elwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhY29sLmljb25HZXR0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5pY29uR2V0dGVyKGl0ZW0pIGFzIGljb25EZWZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlIG1lLTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZhLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRGVmLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImljb25EZWYubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaWNvbkRlZi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWNvbC50ZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2wudGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC50ZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY29sLnZhbHVlR2V0dGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsLXZlcnRpY2FsLWFsaWduLW1pZGRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiISFjb2x1bW5zQ29uZmlndXJhdGlvbiAmJiAhZmlsdGVyZWRMaXN0Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1uc0NvbmZpZ3VyYXRpb24ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cy4wJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1ByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+PC9mb2Vobi1pY29uLWNoZXZyb24tbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1cnJlbnRQYWdlIC0gMSB9fSBzdXIge3sgcGFnZXNDb3VudCgpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGNvbC1tZC0zIGNvbC1zbS02IGNvbC14cy02XCI+XG4gICAgICAgICAgICAgICAgPG5hdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzTmV4dFBhZ2UoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2l0ZW0gdmQtcGFnaW5hdGlvbl9faXRlbS0tbmV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG5leHRMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodD48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1cnJlbnRQYWdlICsgMSB9fSBzdXIge3sgcGFnZXNDb3VudCgpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|