@loxia/mst-viewer 8.1.3-202511130844 → 8.1.3-202511131237
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/generated/openapi/api/api.mjs +23 -0
- package/esm2022/generated/openapi/api/appConfigController.service.mjs +140 -0
- package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api/bewegingController.service.mjs +155 -0
- package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +140 -0
- package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api/connectorController.service.mjs +146 -0
- package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api/logController.service.mjs +150 -0
- package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api/p21Controller.service.mjs +236 -0
- package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api/sbController.service.mjs +202 -0
- package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/api.module.mjs +40 -0
- package/esm2022/generated/openapi/configuration.mjs +99 -0
- package/esm2022/generated/openapi/encoder.mjs +19 -0
- package/esm2022/generated/openapi/index.mjs +7 -0
- package/esm2022/generated/openapi/model/actieDto.mjs +13 -0
- package/esm2022/generated/openapi/model/algemeneRitDto.mjs +13 -0
- package/esm2022/generated/openapi/model/bewegingDto.mjs +2 -0
- package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +13 -0
- package/esm2022/generated/openapi/model/frontendProperties.mjs +2 -0
- package/esm2022/generated/openapi/model/logDto.mjs +2 -0
- package/esm2022/generated/openapi/model/models.mjs +10 -0
- package/esm2022/generated/openapi/model/ritRequestDto.mjs +2 -0
- package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +13 -0
- package/esm2022/generated/openapi/model/signaleringsbeeldRequestDto.mjs +13 -0
- package/esm2022/generated/openapi/param.mjs +2 -0
- package/esm2022/generated/openapi/variables.mjs +9 -0
- package/esm2022/lib/atomic-components/message/message.component.mjs +3 -3
- package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +2 -3
- package/esm2022/lib/model/ritdeel.mjs +4 -4
- package/esm2022/lib/mst-viewer.module.mjs +3 -1
- package/esm2022/lib/resources/mstlogging.resource.mjs +12 -145
- package/esm2022/lib/services/viewer-control.service.mjs +3 -4
- package/esm2022/lib/state/actions/actions.mjs +1 -1
- package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +2 -2
- package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +2 -2
- package/esm2022/lib/state/effect/laad-route-files.effect.mjs +2 -2
- package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +5 -5
- package/esm2022/lib/state/effect/ritdelen.effect.mjs +22 -22
- package/esm2022/lib/state/mst-editor-state.mjs +2 -3
- package/esm2022/lib/util/actie-helper.mjs +5 -5
- package/esm2022/lib/util/logging-helper.mjs +9 -12
- package/esm2022/lib/util/multi-map.mjs +2 -3
- package/esm2022/lib/util/utils.mjs +2 -5
- package/esm2022/lib/util/zone-util.mjs +2 -1
- package/esm2022/src/generated/openapi/api/api.mjs +23 -0
- package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +140 -0
- package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +155 -0
- package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +140 -0
- package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api/connectorController.service.mjs +146 -0
- package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api/logController.service.mjs +150 -0
- package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +236 -0
- package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api/sbController.service.mjs +202 -0
- package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/api.module.mjs +40 -0
- package/esm2022/src/generated/openapi/configuration.mjs +99 -0
- package/esm2022/src/generated/openapi/encoder.mjs +19 -0
- package/esm2022/src/generated/openapi/index.mjs +7 -0
- package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +5 -0
- package/esm2022/src/generated/openapi/model/actieDto.mjs +13 -0
- package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +13 -0
- package/esm2022/src/generated/openapi/model/bewegingDto.mjs +2 -0
- package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +13 -0
- package/esm2022/src/generated/openapi/model/frontendProperties.mjs +2 -0
- package/esm2022/src/generated/openapi/model/logDto.mjs +2 -0
- package/esm2022/src/generated/openapi/model/models.mjs +10 -0
- package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +2 -0
- package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +13 -0
- package/esm2022/src/generated/openapi/model/signaleringsbeeldRequestDto.mjs +13 -0
- package/esm2022/src/generated/openapi/param.mjs +2 -0
- package/esm2022/src/generated/openapi/variables.mjs +9 -0
- package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +1341 -0
- package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +1 -0
- package/fesm2022/loxia-mst-viewer.mjs +1611 -412
- package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
- package/generated/openapi/api/api.d.ts +22 -0
- package/generated/openapi/api/appConfigController.service.d.ts +38 -0
- package/generated/openapi/api/appConfigController.serviceInterface.d.ts +24 -0
- package/generated/openapi/api/bewegingController.service.d.ts +40 -0
- package/generated/openapi/api/bewegingController.serviceInterface.d.ts +27 -0
- package/generated/openapi/api/class0BuildProperties.service.d.ts +36 -0
- package/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +23 -0
- package/generated/openapi/api/connectorController.service.d.ts +38 -0
- package/generated/openapi/api/connectorController.serviceInterface.d.ts +25 -0
- package/generated/openapi/api/logController.service.d.ts +38 -0
- package/generated/openapi/api/logController.serviceInterface.d.ts +25 -0
- package/generated/openapi/api/p21Controller.service.d.ts +62 -0
- package/generated/openapi/api/p21Controller.serviceInterface.d.ts +30 -0
- package/generated/openapi/api/sbController.service.d.ts +60 -0
- package/generated/openapi/api/sbController.serviceInterface.d.ts +32 -0
- package/generated/openapi/api.module.d.ts +11 -0
- package/generated/openapi/configuration.d.ts +104 -0
- package/generated/openapi/encoder.d.ts +11 -0
- package/generated/openapi/index.d.ts +6 -0
- package/generated/openapi/model/actieDto.d.ts +35 -0
- package/generated/openapi/model/algemeneRitDto.d.ts +28 -0
- package/generated/openapi/model/bewegingDto.d.ts +37 -0
- package/generated/openapi/model/frontendKeycloakConfig.d.ts +16 -0
- package/generated/openapi/model/frontendProperties.d.ts +15 -0
- package/generated/openapi/model/logDto.d.ts +22 -0
- package/generated/openapi/model/models.d.ts +9 -0
- package/generated/openapi/model/ritRequestDto.d.ts +17 -0
- package/generated/openapi/model/signaleringsbeeldDto.d.ts +16 -0
- package/generated/openapi/model/signaleringsbeeldRequestDto.d.ts +16 -0
- package/generated/openapi/param.d.ts +37 -0
- package/generated/openapi/variables.d.ts +8 -0
- package/lib/atomic-components/message/message.component.d.ts +2 -2
- package/lib/model/ritdeel.d.ts +6 -5
- package/lib/resources/mstlogging.resource.d.ts +6 -95
- package/lib/state/actions/actions.d.ts +4 -4
- package/lib/state/effect/laad-route-files.effect.d.ts +2 -1
- package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +1 -1
- package/lib/state/effect/ritdelen.effect.d.ts +7 -6
- package/lib/state/mst-editor-state.d.ts +4 -4
- package/lib/util/logging-helper.d.ts +4 -6
- package/lib/util/utils.d.ts +0 -1
- package/package.json +7 -1
- package/src/generated/openapi/README.md +226 -0
- package/src/generated/openapi/api/api.d.ts +22 -0
- package/src/generated/openapi/api/appConfigController.service.d.ts +38 -0
- package/src/generated/openapi/api/appConfigController.serviceInterface.d.ts +24 -0
- package/src/generated/openapi/api/bewegingController.service.d.ts +40 -0
- package/src/generated/openapi/api/bewegingController.serviceInterface.d.ts +27 -0
- package/src/generated/openapi/api/class0BuildProperties.service.d.ts +36 -0
- package/src/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +23 -0
- package/src/generated/openapi/api/connectorController.service.d.ts +38 -0
- package/src/generated/openapi/api/connectorController.serviceInterface.d.ts +25 -0
- package/src/generated/openapi/api/logController.service.d.ts +38 -0
- package/src/generated/openapi/api/logController.serviceInterface.d.ts +25 -0
- package/src/generated/openapi/api/p21Controller.service.d.ts +62 -0
- package/src/generated/openapi/api/p21Controller.serviceInterface.d.ts +30 -0
- package/src/generated/openapi/api/sbController.service.d.ts +60 -0
- package/src/generated/openapi/api/sbController.serviceInterface.d.ts +32 -0
- package/src/generated/openapi/api.module.d.ts +11 -0
- package/src/generated/openapi/configuration.d.ts +104 -0
- package/src/generated/openapi/encoder.d.ts +11 -0
- package/src/generated/openapi/index.d.ts +6 -0
- package/src/generated/openapi/model/actieDto.d.ts +35 -0
- package/src/generated/openapi/model/algemeneRitDto.d.ts +28 -0
- package/src/generated/openapi/model/bewegingDto.d.ts +37 -0
- package/src/generated/openapi/model/frontendKeycloakConfig.d.ts +16 -0
- package/src/generated/openapi/model/frontendProperties.d.ts +15 -0
- package/src/generated/openapi/model/logDto.d.ts +22 -0
- package/src/generated/openapi/model/models.d.ts +9 -0
- package/src/generated/openapi/model/ritRequestDto.d.ts +17 -0
- package/src/generated/openapi/model/signaleringsbeeldDto.d.ts +16 -0
- package/src/generated/openapi/model/signaleringsbeeldRequestDto.d.ts +16 -0
- package/src/generated/openapi/param.d.ts +37 -0
- package/src/generated/openapi/variables.d.ts +8 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export class Configuration {
|
|
2
|
+
constructor(configurationParameters = {}) {
|
|
3
|
+
this.apiKeys = configurationParameters.apiKeys;
|
|
4
|
+
this.username = configurationParameters.username;
|
|
5
|
+
this.password = configurationParameters.password;
|
|
6
|
+
this.accessToken = configurationParameters.accessToken;
|
|
7
|
+
this.basePath = configurationParameters.basePath;
|
|
8
|
+
this.withCredentials = configurationParameters.withCredentials;
|
|
9
|
+
this.encoder = configurationParameters.encoder;
|
|
10
|
+
if (configurationParameters.encodeParam) {
|
|
11
|
+
this.encodeParam = configurationParameters.encodeParam;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.encodeParam = param => this.defaultEncodeParam(param);
|
|
15
|
+
}
|
|
16
|
+
if (configurationParameters.credentials) {
|
|
17
|
+
this.credentials = configurationParameters.credentials;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.credentials = {};
|
|
21
|
+
}
|
|
22
|
+
// init default keycloak_auth credential
|
|
23
|
+
if (!this.credentials['keycloak_auth']) {
|
|
24
|
+
this.credentials['keycloak_auth'] = () => {
|
|
25
|
+
return typeof this.accessToken === 'function'
|
|
26
|
+
? this.accessToken()
|
|
27
|
+
: this.accessToken;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Select the correct content-type to use for a request.
|
|
33
|
+
* Uses {@link Configuration#isJsonMime} to determine the correct content-type.
|
|
34
|
+
* If no content type is found return the first found type if the contentTypes is not empty
|
|
35
|
+
* @param contentTypes - the array of content types that are available for selection
|
|
36
|
+
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
37
|
+
*/
|
|
38
|
+
selectHeaderContentType(contentTypes) {
|
|
39
|
+
if (contentTypes.length === 0) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const type = contentTypes.find((x) => this.isJsonMime(x));
|
|
43
|
+
if (type === undefined) {
|
|
44
|
+
return contentTypes[0];
|
|
45
|
+
}
|
|
46
|
+
return type;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Select the correct accept content-type to use for a request.
|
|
50
|
+
* Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
|
|
51
|
+
* If no content type is found return the first found type if the contentTypes is not empty
|
|
52
|
+
* @param accepts - the array of content types that are available for selection.
|
|
53
|
+
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
54
|
+
*/
|
|
55
|
+
selectHeaderAccept(accepts) {
|
|
56
|
+
if (accepts.length === 0) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
const type = accepts.find((x) => this.isJsonMime(x));
|
|
60
|
+
if (type === undefined) {
|
|
61
|
+
return accepts[0];
|
|
62
|
+
}
|
|
63
|
+
return type;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Check if the given MIME is a JSON MIME.
|
|
67
|
+
* JSON MIME examples:
|
|
68
|
+
* application/json
|
|
69
|
+
* application/json; charset=UTF8
|
|
70
|
+
* APPLICATION/JSON
|
|
71
|
+
* application/vnd.company+json
|
|
72
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
73
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
74
|
+
*/
|
|
75
|
+
isJsonMime(mime) {
|
|
76
|
+
const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
|
|
77
|
+
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
|
|
78
|
+
}
|
|
79
|
+
lookupCredential(key) {
|
|
80
|
+
const value = this.credentials[key];
|
|
81
|
+
return typeof value === 'function'
|
|
82
|
+
? value()
|
|
83
|
+
: value;
|
|
84
|
+
}
|
|
85
|
+
defaultEncodeParam(param) {
|
|
86
|
+
// This implementation exists as fallback for missing configuration
|
|
87
|
+
// and for backwards compatibility to older typescript-angular generator versions.
|
|
88
|
+
// It only works for the 'simple' parameter style.
|
|
89
|
+
// Date-handling only works for the 'date-time' format.
|
|
90
|
+
// All other styles and Date-formats are probably handled incorrectly.
|
|
91
|
+
//
|
|
92
|
+
// But: if that's all you need (i.e.: the most common use-case): no need for customization!
|
|
93
|
+
const value = param.dataFormat === 'date-time' && param.value instanceof Date
|
|
94
|
+
? param.value.toISOString()
|
|
95
|
+
: param.value;
|
|
96
|
+
return encodeURIComponent(String(value));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2dlbmVyYXRlZC9vcGVuYXBpL2NvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NBLE1BQU0sT0FBTyxhQUFhO0lBZ0N0QixZQUFZLDBCQUFtRCxFQUFFO1FBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLENBQUMsV0FBVyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsdUJBQXVCLENBQUMsZUFBZSxDQUFDO1FBQy9ELElBQUksQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDO1FBQy9DLElBQUksdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7UUFDM0QsQ0FBQzthQUNJLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxJQUFJLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLENBQUMsV0FBVyxDQUFDO1FBQzNELENBQUM7YUFDSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELHdDQUF3QztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsR0FBRyxFQUFFO2dCQUNyQyxPQUFPLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVO29CQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDM0IsQ0FBQyxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUIsQ0FBRSxZQUFzQjtRQUNsRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQixDQUFDLE9BQWlCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksVUFBVSxDQUFDLElBQVk7UUFDMUIsTUFBTSxRQUFRLEdBQVcsSUFBSSxNQUFNLENBQUMsK0RBQStELEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUcsT0FBTyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssNkJBQTZCLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsR0FBVztRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVTtZQUM5QixDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ1QsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBWTtRQUNuQyxtRUFBbUU7UUFDbkUsa0ZBQWtGO1FBQ2xGLGtEQUFrRDtRQUNsRCx1REFBdUQ7UUFDdkQsc0VBQXNFO1FBQ3RFLEVBQUU7UUFDRiwyRkFBMkY7UUFFM0YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsS0FBSyxXQUFXLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxJQUFJO1lBQ3pFLENBQUMsQ0FBRSxLQUFLLENBQUMsS0FBYyxDQUFDLFdBQVcsRUFBRTtZQUNyQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUVsQixPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFBhcmFtIH0gZnJvbSAnLi9wYXJhbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvblBhcmFtZXRlcnMge1xuICAgIC8qKlxuICAgICAqICBAZGVwcmVjYXRlZCBTaW5jZSA1LjAuIFVzZSBjcmVkZW50aWFscyBpbnN0ZWFkXG4gICAgICovXG4gICAgYXBpS2V5cz86IHtbIGtleTogc3RyaW5nIF06IHN0cmluZ307XG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogIEBkZXByZWNhdGVkIFNpbmNlIDUuMC4gVXNlIGNyZWRlbnRpYWxzIGluc3RlYWRcbiAgICAgKi9cbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICAgIGJhc2VQYXRoPzogc3RyaW5nO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGFrZXMgY2FyZSBvZiBlbmNvZGluZyBxdWVyeS0gYW5kIGZvcm0tcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBlbmNvZGVyPzogSHR0cFBhcmFtZXRlckNvZGVjO1xuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IG1ldGhvZCBmb3IgZW5jb2RpbmcgcGF0aCBwYXJhbWV0ZXJzIGluIHZhcmlvdXNcbiAgICAgKiA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL09BSS9PcGVuQVBJLVNwZWNpZmljYXRpb24vYmxvYi9tYWluL3ZlcnNpb25zLzMuMS4wLm1kI3N0eWxlLXZhbHVlc1wiPnN0eWxlczwvYT4uXG4gICAgICogPHA+XG4gICAgICogU2VlIHtAbGluayBSRUFETUUubWR9IGZvciBtb3JlIGRldGFpbHNcbiAgICAgKiA8L3A+XG4gICAgICovXG4gICAgZW5jb2RlUGFyYW0/OiAocGFyYW06IFBhcmFtKSA9PiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGtleXMgYXJlIHRoZSBuYW1lcyBpbiB0aGUgc2VjdXJpdHlTY2hlbWVzIHNlY3Rpb24gb2YgdGhlIE9wZW5BUElcbiAgICAgKiBkb2N1bWVudC4gVGhleSBzaG91bGQgbWFwIHRvIHRoZSB2YWx1ZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvblxuICAgICAqIG1pbnVzIGFueSBzdGFuZGFyZCBwcmVmaXhlcyBzdWNoIGFzICdCYXNpYycgb3IgJ0JlYXJlcicuXG4gICAgICovXG4gICAgY3JlZGVudGlhbHM/OiB7WyBrZXk6IHN0cmluZyBdOiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkKX07XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uIHtcbiAgICAvKipcbiAgICAgKiAgQGRlcHJlY2F0ZWQgU2luY2UgNS4wLiBVc2UgY3JlZGVudGlhbHMgaW5zdGVhZFxuICAgICAqL1xuICAgIGFwaUtleXM/OiB7WyBrZXk6IHN0cmluZyBdOiBzdHJpbmd9O1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqICBAZGVwcmVjYXRlZCBTaW5jZSA1LjAuIFVzZSBjcmVkZW50aWFscyBpbnN0ZWFkXG4gICAgICovXG4gICAgYWNjZXNzVG9rZW4/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgICBiYXNlUGF0aD86IHN0cmluZztcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRha2VzIGNhcmUgb2YgZW5jb2RpbmcgcXVlcnktIGFuZCBmb3JtLXBhcmFtZXRlcnMuXG4gICAgICovXG4gICAgZW5jb2Rlcj86IEh0dHBQYXJhbWV0ZXJDb2RlYztcbiAgICAvKipcbiAgICAgKiBFbmNvZGluZyBvZiB2YXJpb3VzIHBhdGggcGFyYW1ldGVyXG4gICAgICogPGEgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9PQUkvT3BlbkFQSS1TcGVjaWZpY2F0aW9uL2Jsb2IvbWFpbi92ZXJzaW9ucy8zLjEuMC5tZCNzdHlsZS12YWx1ZXNcIj5zdHlsZXM8L2E+LlxuICAgICAqIDxwPlxuICAgICAqIFNlZSB7QGxpbmsgUkVBRE1FLm1kfSBmb3IgbW9yZSBkZXRhaWxzXG4gICAgICogPC9wPlxuICAgICAqL1xuICAgIGVuY29kZVBhcmFtOiAocGFyYW06IFBhcmFtKSA9PiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGtleXMgYXJlIHRoZSBuYW1lcyBpbiB0aGUgc2VjdXJpdHlTY2hlbWVzIHNlY3Rpb24gb2YgdGhlIE9wZW5BUElcbiAgICAgKiBkb2N1bWVudC4gVGhleSBzaG91bGQgbWFwIHRvIHRoZSB2YWx1ZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvblxuICAgICAqIG1pbnVzIGFueSBzdGFuZGFyZCBwcmVmaXhlcyBzdWNoIGFzICdCYXNpYycgb3IgJ0JlYXJlcicuXG4gICAgICovXG4gICAgY3JlZGVudGlhbHM6IHtbIGtleTogc3RyaW5nIF06IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpfTtcblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzOiBDb25maWd1cmF0aW9uUGFyYW1ldGVycyA9IHt9KSB7XG4gICAgICAgIHRoaXMuYXBpS2V5cyA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmFwaUtleXM7XG4gICAgICAgIHRoaXMudXNlcm5hbWUgPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy51c2VybmFtZTtcbiAgICAgICAgdGhpcy5wYXNzd29yZCA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLnBhc3N3b3JkO1xuICAgICAgICB0aGlzLmFjY2Vzc1Rva2VuID0gY29uZmlndXJhdGlvblBhcmFtZXRlcnMuYWNjZXNzVG9rZW47XG4gICAgICAgIHRoaXMuYmFzZVBhdGggPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy5iYXNlUGF0aDtcbiAgICAgICAgdGhpcy53aXRoQ3JlZGVudGlhbHMgPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy53aXRoQ3JlZGVudGlhbHM7XG4gICAgICAgIHRoaXMuZW5jb2RlciA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmVuY29kZXI7XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uUGFyYW1ldGVycy5lbmNvZGVQYXJhbSkge1xuICAgICAgICAgICAgdGhpcy5lbmNvZGVQYXJhbSA9IGNvbmZpZ3VyYXRpb25QYXJhbWV0ZXJzLmVuY29kZVBhcmFtO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbmNvZGVQYXJhbSA9IHBhcmFtID0+IHRoaXMuZGVmYXVsdEVuY29kZVBhcmFtKHBhcmFtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvblBhcmFtZXRlcnMuY3JlZGVudGlhbHMpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHMgPSBjb25maWd1cmF0aW9uUGFyYW1ldGVycy5jcmVkZW50aWFscztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluaXQgZGVmYXVsdCBrZXljbG9ha19hdXRoIGNyZWRlbnRpYWxcbiAgICAgICAgaWYgKCF0aGlzLmNyZWRlbnRpYWxzWydrZXljbG9ha19hdXRoJ10pIHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHNbJ2tleWNsb2FrX2F1dGgnXSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuYWNjZXNzVG9rZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc1Rva2VuKClcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmFjY2Vzc1Rva2VuO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCB0aGUgY29ycmVjdCBjb250ZW50LXR5cGUgdG8gdXNlIGZvciBhIHJlcXVlc3QuXG4gICAgICogVXNlcyB7QGxpbmsgQ29uZmlndXJhdGlvbiNpc0pzb25NaW1lfSB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgY29udGVudC10eXBlLlxuICAgICAqIElmIG5vIGNvbnRlbnQgdHlwZSBpcyBmb3VuZCByZXR1cm4gdGhlIGZpcnN0IGZvdW5kIHR5cGUgaWYgdGhlIGNvbnRlbnRUeXBlcyBpcyBub3QgZW1wdHlcbiAgICAgKiBAcGFyYW0gY29udGVudFR5cGVzIC0gdGhlIGFycmF5IG9mIGNvbnRlbnQgdHlwZXMgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb25cbiAgICAgKiBAcmV0dXJucyB0aGUgc2VsZWN0ZWQgY29udGVudC10eXBlIG9yIDxjb2RlPnVuZGVmaW5lZDwvY29kZT4gaWYgbm8gc2VsZWN0aW9uIGNvdWxkIGJlIG1hZGUuXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdEhlYWRlckNvbnRlbnRUeXBlIChjb250ZW50VHlwZXM6IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKGNvbnRlbnRUeXBlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0eXBlID0gY29udGVudFR5cGVzLmZpbmQoKHg6IHN0cmluZykgPT4gdGhpcy5pc0pzb25NaW1lKHgpKTtcbiAgICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRUeXBlc1swXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgdGhlIGNvcnJlY3QgYWNjZXB0IGNvbnRlbnQtdHlwZSB0byB1c2UgZm9yIGEgcmVxdWVzdC5cbiAgICAgKiBVc2VzIHtAbGluayBDb25maWd1cmF0aW9uI2lzSnNvbk1pbWV9IHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBhY2NlcHQgY29udGVudC10eXBlLlxuICAgICAqIElmIG5vIGNvbnRlbnQgdHlwZSBpcyBmb3VuZCByZXR1cm4gdGhlIGZpcnN0IGZvdW5kIHR5cGUgaWYgdGhlIGNvbnRlbnRUeXBlcyBpcyBub3QgZW1wdHlcbiAgICAgKiBAcGFyYW0gYWNjZXB0cyAtIHRoZSBhcnJheSBvZiBjb250ZW50IHR5cGVzIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uLlxuICAgICAqIEByZXR1cm5zIHRoZSBzZWxlY3RlZCBjb250ZW50LXR5cGUgb3IgPGNvZGU+dW5kZWZpbmVkPC9jb2RlPiBpZiBubyBzZWxlY3Rpb24gY291bGQgYmUgbWFkZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0SGVhZGVyQWNjZXB0KGFjY2VwdHM6IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKGFjY2VwdHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHlwZSA9IGFjY2VwdHMuZmluZCgoeDogc3RyaW5nKSA9PiB0aGlzLmlzSnNvbk1pbWUoeCkpO1xuICAgICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjZXB0c1swXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gTUlNRSBpcyBhIEpTT04gTUlNRS5cbiAgICAgKiBKU09OIE1JTUUgZXhhbXBsZXM6XG4gICAgICogICBhcHBsaWNhdGlvbi9qc29uXG4gICAgICogICBhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PVVURjhcbiAgICAgKiAgIEFQUExJQ0FUSU9OL0pTT05cbiAgICAgKiAgIGFwcGxpY2F0aW9uL3ZuZC5jb21wYW55K2pzb25cbiAgICAgKiBAcGFyYW0gbWltZSAtIE1JTUUgKE11bHRpcHVycG9zZSBJbnRlcm5ldCBNYWlsIEV4dGVuc2lvbnMpXG4gICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBnaXZlbiBNSU1FIGlzIEpTT04sIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNKc29uTWltZShtaW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QganNvbk1pbWU6IFJlZ0V4cCA9IG5ldyBSZWdFeHAoJ14oYXBwbGljYXRpb25cXC9qc29ufFteOy8gXFx0XStcXC9bXjsvIFxcdF0rWytdanNvbilbIFxcdF0qKDsuKik/JCcsICdpJyk7XG4gICAgICAgIHJldHVybiBtaW1lICE9PSBudWxsICYmIChqc29uTWltZS50ZXN0KG1pbWUpIHx8IG1pbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvbicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb29rdXBDcmVkZW50aWFsKGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmNyZWRlbnRpYWxzW2tleV07XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gdmFsdWUoKVxuICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZmF1bHRFbmNvZGVQYXJhbShwYXJhbTogUGFyYW0pOiBzdHJpbmcge1xuICAgICAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGV4aXN0cyBhcyBmYWxsYmFjayBmb3IgbWlzc2luZyBjb25maWd1cmF0aW9uXG4gICAgICAgIC8vIGFuZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdG8gb2xkZXIgdHlwZXNjcmlwdC1hbmd1bGFyIGdlbmVyYXRvciB2ZXJzaW9ucy5cbiAgICAgICAgLy8gSXQgb25seSB3b3JrcyBmb3IgdGhlICdzaW1wbGUnIHBhcmFtZXRlciBzdHlsZS5cbiAgICAgICAgLy8gRGF0ZS1oYW5kbGluZyBvbmx5IHdvcmtzIGZvciB0aGUgJ2RhdGUtdGltZScgZm9ybWF0LlxuICAgICAgICAvLyBBbGwgb3RoZXIgc3R5bGVzIGFuZCBEYXRlLWZvcm1hdHMgYXJlIHByb2JhYmx5IGhhbmRsZWQgaW5jb3JyZWN0bHkuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIEJ1dDogaWYgdGhhdCdzIGFsbCB5b3UgbmVlZCAoaS5lLjogdGhlIG1vc3QgY29tbW9uIHVzZS1jYXNlKTogbm8gbmVlZCBmb3IgY3VzdG9taXphdGlvbiFcblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcmFtLmRhdGFGb3JtYXQgPT09ICdkYXRlLXRpbWUnICYmIHBhcmFtLnZhbHVlIGluc3RhbmNlb2YgRGF0ZVxuICAgICAgICAgICAgPyAocGFyYW0udmFsdWUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICAgICAgOiBwYXJhbS52YWx1ZTtcblxuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom HttpParameterCodec
|
|
3
|
+
* Workaround for https://github.com/angular/angular/issues/18261
|
|
4
|
+
*/
|
|
5
|
+
export class CustomHttpParameterCodec {
|
|
6
|
+
encodeKey(k) {
|
|
7
|
+
return encodeURIComponent(k);
|
|
8
|
+
}
|
|
9
|
+
encodeValue(v) {
|
|
10
|
+
return encodeURIComponent(v);
|
|
11
|
+
}
|
|
12
|
+
decodeKey(k) {
|
|
13
|
+
return decodeURIComponent(k);
|
|
14
|
+
}
|
|
15
|
+
decodeValue(v) {
|
|
16
|
+
return decodeURIComponent(v);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2dlbmVyYXRlZC9vcGVuYXBpL2VuY29kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQyxTQUFTLENBQUMsQ0FBUztRQUNmLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELFdBQVcsQ0FBQyxDQUFTO1FBQ2pCLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELFNBQVMsQ0FBQyxDQUFTO1FBQ2YsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQVM7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbi8qKlxuICogQ3VzdG9tIEh0dHBQYXJhbWV0ZXJDb2RlY1xuICogV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTgyNjFcbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyBpbXBsZW1lbnRzIEh0dHBQYXJhbWV0ZXJDb2RlYyB7XG4gICAgZW5jb2RlS2V5KGs6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoayk7XG4gICAgfVxuICAgIGVuY29kZVZhbHVlKHY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQodik7XG4gICAgfVxuICAgIGRlY29kZUtleShrOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGspO1xuICAgIH1cbiAgICBkZWNvZGVWYWx1ZSh2OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHYpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './api/api';
|
|
2
|
+
export * from './model/models';
|
|
3
|
+
export * from './variables';
|
|
4
|
+
export * from './configuration';
|
|
5
|
+
export * from './api.module';
|
|
6
|
+
export * from './param';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9nZW5lcmF0ZWQvb3BlbmFwaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwaS9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYWJsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhcmFtJztcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MST
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aWVEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9nZW5lcmF0ZWQvb3BlbmFwaS9tb2RlbC9hY3RpZUR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNU1RcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgT3BlbmFwaSBHZW5lcmF0b3IgaHR0cHM6Ly9naXRodWIuY29tL29wZW5hcGl0b29scy9vcGVuYXBpLWdlbmVyYXRvcilcbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMVxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGludGVyZmFjZSBBY3RpZUR0byB7IFxuICAgIGlkPzogbnVtYmVyO1xuICAgIGJld2VnaW5nSWQ/OiBudW1iZXI7XG4gICAgdm9sZ251bW1lckJpbm5lbkJld2VnaW5nPzogbnVtYmVyO1xuICAgIHZvbGdudW1tZXJCaW5uZW5QbGFubmluZ3NSZWdlbD86IG51bWJlcjtcbiAgICByaXRBY3RpZVR5cGVJZD86IG51bWJlcjtcbiAgICByaXRBY3RpZVR5cGVPbXNjaHJpanZpbmc/OiBzdHJpbmc7XG4gICAgcGxhbm5pbmdzUmVnZWxJZD86IG51bWJlcjtcbiAgICBpbmZyYU9iamVjdFR5cGU/OiBzdHJpbmc7XG4gICAgaWFHZWJpZWRUeXBlPzogc3RyaW5nO1xuICAgIGlhR2ViaWVkTmFhbT86IHN0cmluZztcbiAgICBwcGxnTmFhbT86IHN0cmluZztcbiAgICB3aXNzZWxUeXBlPzogc3RyaW5nO1xuICAgIHdpc3NlbE5hYW0/OiBzdHJpbmc7XG4gICAgd2lzc2VsS2FudENvZGU/OiBzdHJpbmc7XG4gICAgdmFuS2lsb21ldGVybGludD86IHN0cmluZztcbiAgICB2YW5LaWxvbWV0cmVyaW5nPzogbnVtYmVyO1xuICAgIHRvdEtpbG9tZXRlcmxpbnQ/OiBzdHJpbmc7XG4gICAgdG90S2lsb21ldHJlcmluZz86IG51bWJlcjtcbiAgICB3ZXJrb3JkZXJJZD86IHN0cmluZztcbiAgICBpbmZyYUJyb24/OiBzdHJpbmc7XG4gICAgb3BtZXJraW5nPzogc3RyaW5nO1xuICAgIHJpdEFjdGllU3RhdHVzPzogc3RyaW5nO1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MST
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnZW1lbmVSaXREdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9nZW5lcmF0ZWQvb3BlbmFwaS9tb2RlbC9hbGdlbWVuZVJpdER0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNU1RcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgT3BlbmFwaSBHZW5lcmF0b3IgaHR0cHM6Ly9naXRodWIuY29tL29wZW5hcGl0b29scy9vcGVuYXBpLWdlbmVyYXRvcilcbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMVxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGludGVyZmFjZSBBbGdlbWVuZVJpdER0byB7IFxuICAgIGlkPzogc3RyaW5nO1xuICAgIGphYXJwbGFuSWQ/OiBzdHJpbmc7XG4gICAgdm9sZ251bW1lcj86IHN0cmluZztcbiAgICBtYWNoaW5lVHlwZUlkPzogc3RyaW5nO1xuICAgIG1hY2hpbmVUeXBlT21zY2hyaWp2aW5nPzogc3RyaW5nO1xuICAgIHJpdERhdHVtPzogc3RyaW5nO1xuICAgIHN0YXJ0RGF0dW0/OiBzdHJpbmc7XG4gICAgZWluZERhdHVtPzogc3RyaW5nO1xuICAgIHJpdE5hYW0/OiBzdHJpbmc7XG4gICAgc3RhcnRMb2NhdGllPzogc3RyaW5nO1xuICAgIGVpbmRMb2NhdGllPzogc3RyaW5nO1xuICAgIHJpdFN0YXR1cz86IHN0cmluZztcbiAgICBtb2RpZmllZD86IHN0cmluZztcbiAgICBtb2RpZmllZEJ5Pzogc3RyaW5nO1xuICAgIHBsYW5Kb2JJZD86IHN0cmluZztcbn1cblxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV3ZWdpbmdEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9nZW5lcmF0ZWQvb3BlbmFwaS9tb2RlbC9iZXdlZ2luZ0R0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNU1RcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgT3BlbmFwaSBHZW5lcmF0b3IgaHR0cHM6Ly9naXRodWIuY29tL29wZW5hcGl0b29scy9vcGVuYXBpLWdlbmVyYXRvcilcbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMVxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBBY3RpZUR0byB9IGZyb20gJy4vYWN0aWVEdG8nO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV3ZWdpbmdEdG8geyBcbiAgICBpZD86IG51bWJlcjtcbiAgICByaXRJZD86IG51bWJlcjtcbiAgICB2b2xnbnVtbWVyQmlubmVuUml0PzogbnVtYmVyO1xuICAgIHZhblNlaW5UeXBlPzogc3RyaW5nO1xuICAgIHZhblNlaW5OYWFtPzogc3RyaW5nO1xuICAgIHZhblNlaW5QcGxnPzogc3RyaW5nO1xuICAgIHZhbkdlYmllZFR5cGU/OiBzdHJpbmc7XG4gICAgdmFuR2ViaWVkTmFhbT86IHN0cmluZztcbiAgICBuYWFyU2VpblR5cGU/OiBzdHJpbmc7XG4gICAgbmFhclNlaW5OYWFtPzogc3RyaW5nO1xuICAgIG5hYXJTZWluUHBsZz86IHN0cmluZztcbiAgICBuYWFyR2ViaWVkVHlwZT86IHN0cmluZztcbiAgICBuYWFyR2ViaWVkTmFhbT86IHN0cmluZztcbiAgICBkd2FuZ051bW1lcj86IG51bWJlcjtcbiAgICB2YW5QcGxnPzogc3RyaW5nO1xuICAgIHZhblNwb29yPzogc3RyaW5nO1xuICAgIG5hYXJQcGxnPzogc3RyaW5nO1xuICAgIG5hYXJTcG9vcj86IHN0cmluZztcbiAgICB0cmVpbk51bW1lcj86IG51bWJlcjtcbiAgICB0aWpkc3RpcD86IHN0cmluZztcbiAgICBvcG1lcmtpbmc/OiBzdHJpbmc7XG4gICAgd2lqemlnU3RhdHVzPzogc3RyaW5nO1xuICAgIHJpdEFjdGllcz86IEFycmF5PEFjdGllRHRvPjtcbn1cblxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MST
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmRLZXljbG9ha0NvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2dlbmVyYXRlZC9vcGVuYXBpL21vZGVsL2Zyb250ZW5kS2V5Y2xvYWtDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTVNUXG4gKiBObyBkZXNjcmlwdGlvbiBwcm92aWRlZCAoZ2VuZXJhdGVkIGJ5IE9wZW5hcGkgR2VuZXJhdG9yIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYXBpdG9vbHMvb3BlbmFwaS1nZW5lcmF0b3IpXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDFcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRlbmRLZXljbG9ha0NvbmZpZyB7IFxuICAgIGNsaWVudElkPzogc3RyaW5nO1xuICAgIHJlYWxtPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbn1cblxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmRQcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvbW9kZWwvZnJvbnRlbmRQcm9wZXJ0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1TVFxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBPcGVuYXBpIEdlbmVyYXRvciBodHRwczovL2dpdGh1Yi5jb20vb3BlbmFwaXRvb2xzL29wZW5hcGktZ2VuZXJhdG9yKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEZyb250ZW5kS2V5Y2xvYWtDb25maWcgfSBmcm9tICcuL2Zyb250ZW5kS2V5Y2xvYWtDb25maWcnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRlbmRQcm9wZXJ0aWVzIHsgXG4gICAga2V5Y2xvYWtDb25maWc/OiBGcm9udGVuZEtleWNsb2FrQ29uZmlnO1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nRHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvbW9kZWwvbG9nRHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1TVFxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBPcGVuYXBpIEdlbmVyYXRvciBodHRwczovL2dpdGh1Yi5jb20vb3BlbmFwaXRvb2xzL29wZW5hcGktZ2VuZXJhdG9yKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEFsZ2VtZW5lUml0RHRvIH0gZnJvbSAnLi9hbGdlbWVuZVJpdER0byc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NiZWVsZER0byB9IGZyb20gJy4vc2lnbmFsZXJpbmdzYmVlbGREdG8nO1xuaW1wb3J0IHsgQWN0aWVEdG8gfSBmcm9tICcuL2FjdGllRHRvJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ0R0byB7IFxuICAgIGlhVmVyc2llPzogc3RyaW5nO1xuICAgIG1lbGRpbmdMZXZlbD86IHN0cmluZztcbiAgICBtZWxkaW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBhY3RpZUR0bz86IEFjdGllRHRvO1xuICAgIGFsZ2VtZW5lUml0SW5mb0R0bz86IEFsZ2VtZW5lUml0RHRvO1xuICAgIHNiaW5mb0R0b3M/OiBBcnJheTxTaWduYWxlcmluZ3NiZWVsZER0bz47XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './actieDto';
|
|
2
|
+
export * from './algemeneRitDto';
|
|
3
|
+
export * from './bewegingDto';
|
|
4
|
+
export * from './frontendKeycloakConfig';
|
|
5
|
+
export * from './frontendProperties';
|
|
6
|
+
export * from './logDto';
|
|
7
|
+
export * from './ritRequestDto';
|
|
8
|
+
export * from './signaleringsbeeldDto';
|
|
9
|
+
export * from './signaleringsbeeldRequestDto';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvbW9kZWwvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3RpZUR0byc7XG5leHBvcnQgKiBmcm9tICcuL2FsZ2VtZW5lUml0RHRvJztcbmV4cG9ydCAqIGZyb20gJy4vYmV3ZWdpbmdEdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9mcm9udGVuZEtleWNsb2FrQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZnJvbnRlbmRQcm9wZXJ0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nRHRvJztcbmV4cG9ydCAqIGZyb20gJy4vcml0UmVxdWVzdER0byc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ25hbGVyaW5nc2JlZWxkRHRvJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnbmFsZXJpbmdzYmVlbGRSZXF1ZXN0RHRvJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0UmVxdWVzdER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2dlbmVyYXRlZC9vcGVuYXBpL21vZGVsL3JpdFJlcXVlc3REdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTVNUXG4gKiBObyBkZXNjcmlwdGlvbiBwcm92aWRlZCAoZ2VuZXJhdGVkIGJ5IE9wZW5hcGkgR2VuZXJhdG9yIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuYXBpdG9vbHMvb3BlbmFwaS1nZW5lcmF0b3IpXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDFcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuaW1wb3J0IHsgQmV3ZWdpbmdEdG8gfSBmcm9tICcuL2Jld2VnaW5nRHRvJztcbmltcG9ydCB7IEFjdGllRHRvIH0gZnJvbSAnLi9hY3RpZUR0byc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSaXRSZXF1ZXN0RHRvIHsgXG4gICAgYmV3ZWdpbmdlbjogQXJyYXk8QmV3ZWdpbmdEdG8+O1xuICAgIG9uZ2VwbGFuZGVBY3RpZXM6IEFycmF5PEFjdGllRHRvPjtcbn1cblxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MST
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsZXJpbmdzYmVlbGREdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9nZW5lcmF0ZWQvb3BlbmFwaS9tb2RlbC9zaWduYWxlcmluZ3NiZWVsZER0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNU1RcbiAqIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkIChnZW5lcmF0ZWQgYnkgT3BlbmFwaSBHZW5lcmF0b3IgaHR0cHM6Ly9naXRodWIuY29tL29wZW5hcGl0b29scy9vcGVuYXBpLWdlbmVyYXRvcilcbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMVxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxlcmluZ3NiZWVsZER0byB7IFxuICAgIGJsYWROYWFtPzogc3RyaW5nO1xuICAgIHBwbGdzPzogQXJyYXk8c3RyaW5nPjtcbiAgICBtZXRWaXN1YWxpc2F0aWU/OiBib29sZWFuO1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MST
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsZXJpbmdzYmVlbGRSZXF1ZXN0RHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvbW9kZWwvc2lnbmFsZXJpbmdzYmVlbGRSZXF1ZXN0RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1TVFxuICogTm8gZGVzY3JpcHRpb24gcHJvdmlkZWQgKGdlbmVyYXRlZCBieSBPcGVuYXBpIEdlbmVyYXRvciBodHRwczovL2dpdGh1Yi5jb20vb3BlbmFwaXRvb2xzL29wZW5hcGktZ2VuZXJhdG9yKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbGVyaW5nc2JlZWxkUmVxdWVzdER0byB7IFxuICAgIHBwbGdzPzogQXJyYXk8c3RyaW5nPjtcbiAgICB2ZXJzaWU/OiBzdHJpbmc7XG4gICAgaW5nYW5nc0RhdHVtPzogc3RyaW5nO1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9nZW5lcmF0ZWQvb3BlbmFwaS9wYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdGFuZGFyZCBwYXJhbWV0ZXIgc3R5bGVzIGRlZmluZWQgYnkgT3BlbkFQSSBzcGVjXG4gKi9cbmV4cG9ydCB0eXBlIFN0YW5kYXJkUGFyYW1TdHlsZSA9XG4gIHwgJ21hdHJpeCdcbiAgfCAnbGFiZWwnXG4gIHwgJ2Zvcm0nXG4gIHwgJ3NpbXBsZSdcbiAgfCAnc3BhY2VEZWxpbWl0ZWQnXG4gIHwgJ3BpcGVEZWxpbWl0ZWQnXG4gIHwgJ2RlZXBPYmplY3QnXG4gIDtcblxuLyoqXG4gKiBUaGUgT3BlbkFQSSBzdGFuZGFyZCB7QGxpbmsgU3RhbmRhcmRQYXJhbVN0eWxlfXMgbWF5IGJlIGV4dGVuZGVkIGJ5IGN1c3RvbSBzdHlsZXMgYnkgdGhlIHVzZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcmFtU3R5bGUgPSBTdGFuZGFyZFBhcmFtU3R5bGUgfCBzdHJpbmc7XG5cbi8qKlxuICogU3RhbmRhcmQgcGFyYW1ldGVyIGxvY2F0aW9ucyBkZWZpbmVkIGJ5IE9wZW5BUEkgc3BlY1xuICovXG5leHBvcnQgdHlwZSBQYXJhbUxvY2F0aW9uID0gJ3F1ZXJ5JyB8ICdoZWFkZXInIHwgJ3BhdGgnIHwgJ2Nvb2tpZSc7XG5cbi8qKlxuICogU3RhbmRhcmQgdHlwZXMgYXMgZGVmaW5lZCBpbiA8YSBocmVmPVwiaHR0cHM6Ly9zd2FnZ2VyLmlvL3NwZWNpZmljYXRpb24vI2RhdGEtdHlwZXNcIj5PcGVuQVBJIFNwZWNpZmljYXRpb246IERhdGEgVHlwZXM8L2E+XG4gKi9cbmV4cG9ydCB0eXBlIFN0YW5kYXJkRGF0YVR5cGUgPVxuICB8IFwiaW50ZWdlclwiXG4gIHwgXCJudW1iZXJcIlxuICB8IFwiYm9vbGVhblwiXG4gIHwgXCJzdHJpbmdcIlxuICB8IFwib2JqZWN0XCJcbiAgfCBcImFycmF5XCJcbiAgO1xuXG4vKipcbiAqIFN0YW5kYXJkIHtAbGluayBEYXRhVHlwZX1zIHBsdXMgeW91ciBvd24gdHlwZXMvY2xhc3Nlcy5cbiAqL1xuZXhwb3J0IHR5cGUgRGF0YVR5cGUgPSBTdGFuZGFyZERhdGFUeXBlIHwgc3RyaW5nO1xuXG4vKipcbiAqIFN0YW5kYXJkIGZvcm1hdHMgYXMgZGVmaW5lZCBpbiA8YSBocmVmPVwiaHR0cHM6Ly9zd2FnZ2VyLmlvL3NwZWNpZmljYXRpb24vI2RhdGEtdHlwZXNcIj5PcGVuQVBJIFNwZWNpZmljYXRpb246IERhdGEgVHlwZXM8L2E+XG4gKi9cbmV4cG9ydCB0eXBlIFN0YW5kYXJkRGF0YUZvcm1hdCA9XG4gIHwgXCJpbnQzMlwiXG4gIHwgXCJpbnQ2NFwiXG4gIHwgXCJmbG9hdFwiXG4gIHwgXCJkb3VibGVcIlxuICB8IFwiYnl0ZVwiXG4gIHwgXCJiaW5hcnlcIlxuICB8IFwiZGF0ZVwiXG4gIHwgXCJkYXRlLXRpbWVcIlxuICB8IFwicGFzc3dvcmRcIlxuICA7XG5cbmV4cG9ydCB0eXBlIERhdGFGb3JtYXQgPSBTdGFuZGFyZERhdGFGb3JtYXQgfCBzdHJpbmc7XG5cbi8qKlxuICogVGhlIHBhcmFtZXRlciB0byBlbmNvZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiB1bmtub3duO1xuICBpbjogUGFyYW1Mb2NhdGlvbjtcbiAgc3R5bGU6IFBhcmFtU3R5bGUsXG4gIGV4cGxvZGU6IGJvb2xlYW47XG4gIGRhdGFUeXBlOiBEYXRhVHlwZTtcbiAgZGF0YUZvcm1hdDogRGF0YUZvcm1hdCB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const BASE_PATH = new InjectionToken('basePath');
|
|
3
|
+
export const COLLECTION_FORMATS = {
|
|
4
|
+
'csv': ',',
|
|
5
|
+
'tsv': ' ',
|
|
6
|
+
'ssv': ' ',
|
|
7
|
+
'pipes': '|'
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvZ2VuZXJhdGVkL29wZW5hcGkvdmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFTLFVBQVUsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLEtBQUssRUFBRSxHQUFHO0lBQ1YsS0FBSyxFQUFFLEtBQUs7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLE9BQU8sRUFBRSxHQUFHO0NBQ2YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBCQVNFX1BBVEggPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignYmFzZVBhdGgnKTtcbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OX0ZPUk1BVFMgPSB7XG4gICAgJ2Nzdic6ICcsJyxcbiAgICAndHN2JzogJyAgICcsXG4gICAgJ3Nzdic6ICcgJyxcbiAgICAncGlwZXMnOiAnfCdcbn1cbiJdfQ==
|
|
@@ -6,7 +6,7 @@ export class MessageComponent {
|
|
|
6
6
|
this.onClearMessage = new EventEmitter();
|
|
7
7
|
}
|
|
8
8
|
ngOnInit() {
|
|
9
|
-
if (this.message.timeout > 0) {
|
|
9
|
+
if (this.message && this.message.timeout > 0) {
|
|
10
10
|
setTimeout(() => {
|
|
11
11
|
this.closeMessage({ stopPropagation: () => null });
|
|
12
12
|
}, this.message.timeout);
|
|
@@ -18,7 +18,7 @@ export class MessageComponent {
|
|
|
18
18
|
this.message = undefined;
|
|
19
19
|
}
|
|
20
20
|
get severity() {
|
|
21
|
-
return this.message
|
|
21
|
+
return this.message?.severity ?? '?';
|
|
22
22
|
}
|
|
23
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
24
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MessageComponent, selector: "loxia-message", inputs: { message: "message" }, outputs: { onClearMessage: "onClearMessage" }, ngImport: i0, template: "<div id=\"alert-1\" *ngIf=\"message\"\n [ngClass]=\"severity\"\n class=\" loxia-message flex items-center p-4 text-white\" role=\"alert\">\n <svg class=\"flex-shrink-0 size-4 mt-0.5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"></path>\n <path d=\"M12 9v4\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>\n <span class=\"sr-only\">Info</span>\n <div class=\"ms-3 text-sm font-medium\">\n {{message.text}}\n </div>\n <button type=\"button\"\n (click)=\"closeMessage($event)\"\n class=\"ms-auto -mx-1.5 -my-1.5 rounded-lg inline-flex items-center justify-center h-8 w-8\" data-dismiss-target=\"#alert-1\" aria-label=\"Close\">\n <span class=\"sr-only\">Close</span>\n <svg class=\"w-3 h-3\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\">\n <path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"/>\n </svg>\n </button>\n</div>\n", styles: ["svg{background-color:transparent;stroke-width:unset}.loxia-message.information{background-color:#0288d1}.loxia-message.warning{background-color:#ff6a00}.loxia-message.notification{background-color:#f3ed38}.loxia-message.error{background-color:#b5061b}.loxia-message.success{background-color:#297d03}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
31
31
|
}], onClearMessage: [{
|
|
32
32
|
type: Output
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvYXRvbWljLWNvbXBvbmVudHMvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9hdG9taWMtY29tcG9uZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUS9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFTSSxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBb0I5RDtJQWxCRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQTJCLENBQUMsQ0FBQztZQUNoRixDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQjtRQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLEdBQUcsQ0FBQztJQUN6QyxDQUFDOzhHQXRCUSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvSUNSN0IscXlDQXFCQTs7MkZEYmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLGVBQWU7OEJBTXpCLE9BQU87c0JBRE4sS0FBSztnQkFHTixjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi9tZXNzYWdlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsb3hpYS1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgbWVzc2FnZTogTWVzc2FnZSB8IHVuZGVmaW5lZDtcbiAgICBAT3V0cHV0KClcbiAgICBvbkNsZWFyTWVzc2FnZTogRXZlbnRFbWl0dGVyPE1lc3NhZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2UgJiYgdGhpcy5tZXNzYWdlLnRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh7IHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gbnVsbCB9IGFzIHVua25vd24gYXMgTW91c2VFdmVudCk7XG4gICAgICAgICAgICB9LCB0aGlzLm1lc3NhZ2UudGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZU1lc3NhZ2UoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMub25DbGVhck1lc3NhZ2UuZW1pdCh0aGlzLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHNldmVyaXR5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2U/LnNldmVyaXR5ID8/ICc/JztcbiAgICB9XG5cbn1cbiIsIjxkaXYgaWQ9XCJhbGVydC0xXCIgKm5nSWY9XCJtZXNzYWdlXCJcbiAgICAgW25nQ2xhc3NdPVwic2V2ZXJpdHlcIlxuICAgICBjbGFzcz1cIiBsb3hpYS1tZXNzYWdlIGZsZXggaXRlbXMtY2VudGVyIHAtNCB0ZXh0LXdoaXRlXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgIDxzdmcgY2xhc3M9XCJmbGV4LXNocmluay0wIHNpemUtNCBtdC0wLjVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICA8cGF0aCBkPVwibTIxLjczIDE4LTgtMTRhMiAyIDAgMCAwLTMuNDggMGwtOCAxNEEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS43My0zWlwiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk0xMiA5djRcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTIgMTdoLjAxXCI+PC9wYXRoPlxuICAgIDwvc3ZnPlxuICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPkluZm88L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cIm1zLTMgdGV4dC1zbSBmb250LW1lZGl1bVwiPlxuICAgICAgICB7e21lc3NhZ2UudGV4dH19XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1lc3NhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cIm1zLWF1dG8gLW14LTEuNSAtbXktMS41IHJvdW5kZWQtbGcgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtOCB3LThcIiBkYXRhLWRpc21pc3MtdGFyZ2V0PVwiI2FsZXJ0LTFcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICAgIDxzdmcgY2xhc3M9XCJ3LTMgaC0zXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAxNCAxNFwiPlxuICAgICAgICAgICAgPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJtMSAxIDYgNm0wIDAgNiA2TTcgN2w2LTZNNyA3bC02IDZcIi8+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -7,7 +7,6 @@ import { AddOngeplandeActie, BepaalOngeplandeActies, BewegingInvoegen, ClearProg
|
|
|
7
7
|
import { ritdeelInvoegen, setAlternatieveRitDelen } from '../../state/actions/ritdelen.actions';
|
|
8
8
|
import { ActiePopoverBepaler } from '../../util/actie-popover-bepaler';
|
|
9
9
|
import { ArrayMultimap } from '../../util/multi-map';
|
|
10
|
-
import Utils from '../../util/utils';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
12
11
|
import * as i1 from "@ngrx/store";
|
|
13
12
|
import * as i2 from "../../services/viewer-control.service";
|
|
@@ -223,7 +222,7 @@ export class SvgVisualisatieComponent {
|
|
|
223
222
|
});
|
|
224
223
|
this.viewerControlsService.setValideRit(!gebrokenRit);
|
|
225
224
|
this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
|
|
226
|
-
const actieOpRitSelectiePuicsArray =
|
|
225
|
+
const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).reduce((acc, val) => acc.concat(val), []);
|
|
227
226
|
this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
|
|
228
227
|
ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
|
|
229
228
|
this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
|
|
@@ -270,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
270
269
|
type: ViewChild,
|
|
271
270
|
args: ['imxviewercontainer']
|
|
272
271
|
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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QUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0I7UUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO2tCQUNsRixXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLHFDQUFxQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxhQUFxQztRQUNsRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXpSUSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw2UEM3Q3JDLHczQkFpQkE7OzJGRDRCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO2lOQU1uQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFMkIsU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbXhWaWV3ZXJDb21wb25lbnQsIFBvcG92ZXJJbmZvLCBTZWxlY3RpZUV2ZW50LCBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgZG9tZWluLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsdGVybmF0aWVmUml0RGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL2FsdGVybmF0aWVmLXJpdC1kZWVsJztcbmltcG9ydCB7IE9uZ2VwbGFuZGVBY3RpZSB9IGZyb20gJy4uLy4uL21vZGVsL29uZ2VwbGFuZGUtYWN0aWUnO1xuaW1wb3J0IHsgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB9IGZyb20gJy4uLy4uL21vZGVsL3JpandlZ3BsYW4tcmlqd2VnLWR3YW5nLWNvbWJpbmF0aWUnO1xuaW1wb3J0IHsgUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3JpdGRlZWwnO1xuaW1wb3J0IHsgU2Vpbk9wUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3NlaW4tb3Atcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSB9IGZyb20gJy4uLy4uL29wdGltbyc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgQmV3ZWdpbmdJbnZvZWdlbixcbiAgICBDbGVhclByb2dyZXNzLCBTZXRTZWxlY3RlZFJpdGRlZWwsXG4gICAgbmF2aWdlZXJCdWl0ZW5SaXQsXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFNldFJpdFNlbGVjdGllSWRzXG59IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyByaXRkZWVsSW52b2VnZW4sIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuIH0gZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBBY3RpZUhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWwvYWN0aWUtaGVscGVyJztcbmltcG9ydCB7IEFjdGllUG9wb3ZlckJlcGFsZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLXBvcG92ZXItYmVwYWxlcic7XG5pbXBvcnQgeyBBcnJheU11bHRpbWFwIH0gZnJvbSAnLi4vLi4vdXRpbC9tdWx0aS1tYXAnO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3N2Zy12aXN1YWxpc2F0aWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgbmlldEdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdO1xuICAgIEBJbnB1dCgpIHVzZUNsaWNrQXJlYTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lteHZpZXdlcmNvbnRhaW5lcicpIGlteHZpZXdlcjogSW14Vmlld2VyQ29tcG9uZW50O1xuXG4gICAgc3ZnSW5mb3MkOiBPYnNlcnZhYmxlPFN2Z0luZm9bXT4gPSB0aGlzLnN0b3JlLnNlbGVjdCgnc3ZnSW5mb3MnKTtcbiAgICBwb3BvdmVySW5mb3M6IFBvcG92ZXJJbmZvW10gPSBbXTtcbiAgICBjbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICByaWdodENsaWNrYWJsZUlkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb250ZXh0TWVudUFjdGlvbnM6IGFueSA9IFtdO1xuICAgIGNvbnRleHRNZW51U3R5bGU6IGFueSA9IHsgZGlzcGxheTogJ25vbmUnIH07XG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbCA9IG5ldyBNYXA8c3RyaW5nLCBTZWluT3BSaXRkZWVsPigpO1xuICAgIHByaXZhdGUgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgPSBuZXcgTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUgPSBuZXcgTWFwPHN0cmluZywgQWx0ZXJuYXRpZWZSaXREZWVsPigpO1xuXG4gICAgcHJpdmF0ZSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmlld2VyQ29udHJvbHNTZXJ2aWNlOiBWaWV3ZXJDb250cm9sU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGFjdGllSGVscGVyOiBBY3RpZUhlbHBlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25SaXRkZWxlblVwZGF0ZSgpO1xuICAgICAgICB0aGlzLnRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlclJpZ2h0Q2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLmhhbmRsZU5pZXV3ZVJvdXRlVG9lZ2V2b2VnZCgpO1xuICAgICAgICB0aGlzLnNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUob25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdmb2N1c0lkcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGZvY3VzSWRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9jdXNJZHMgJiYgdGhpcy5pbXh2aWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXh2aWV3ZXIuZm9jdXNPbklkcyhmb2N1c0lkcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dE1lbnUnKS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5oaWRlQ29udGV4dE1lbnUoKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHB1aWMgPSBldnQuaWQ7XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJpdERlZWwgPSB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuZ2V0KHB1aWMpO1xuICAgICAgICBjb25zdCBjb21iaW5hdGllID0gdGhpcy5wdWljTmFhckVpbmRTZWluQ29tYmluYXRpZS5nZXQocHVpYyk7XG4gICAgICAgIGlmIChhbHRlcm5hdGlldmVSaXREZWVsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGlldmVSaXREZWVsLnJpdERlZWwuYWN0aWVzLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxQdWljc1Zvb3JBY3RpZShhY3RpZSk7XG4gICAgICAgICAgICAgICAgaWYgKHB1aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZGRPbmdlcGxhbmRlQWN0aWUobmV3IE9uZ2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldEFsdGVybmF0aWV2ZVJpdERlbGVuKGFsdGVybmF0aWV2ZVJpdERlZWwpKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb21iaW5hdGllKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldE5pZXV3Um91dGVFaW5kU2Vpbihjb21iaW5hdGllKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByYW5kID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljKTtcbiAgICAgICAgICAgIGlmIChyYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuYXZpZ2VlckJ1aXRlblJpdChwdWljKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFNlbGVjdGVkUml0ZGVlbCh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3UmlnaHRDbGljayhldnQ6IFNlbGVjdGllRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydFNlaW5PcFJpdGRlZWwgPSB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5nZXQoZXZ0LmlkKTtcbiAgICAgICAgICAgIGlmIChzdGFydFNlaW5PcFJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMucHVzaCh7IGxhYmVsOiAnYmV3ZWdpbmcgaW52b2VnZW4nLCBjbGljazogZm4gfSk7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGxlZnQ6IChldnQuZXZlbnQub2Zmc2V0WCAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIHRvcDogKGV2dC5ldmVudC5vZmZzZXRZIC0gNSkgKyAncHgnLFxuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZUNvbnRleHRNZW51KCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWwsIHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUpKTtcbiAgICB9XG5cbiAgICBoaWRlQ29udGV4dE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCduaWV1d2VSb3V0ZScpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuaWV1d2VSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmlldXdlUm91dGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJlc2V0TmlldXdlUm91dGUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHJpdGRlZWxJbnZvZWdlbihuaWV1d2VSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUml0ZGVsZW5VcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZShyaXREZWxlbiA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW4gJiYgcml0RGVsZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbENvbnRleHRNZW51Vm9vckJlZ2luU2VpbmVuKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsT25nZXBsYW5kZUFjdGllcygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckNsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdlaW5kU2VpbmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnY29ubmVjdG9yQ2xpY2thYmxlSWRzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcywgZWluZFNlaW5lbkNsaWNrYWJsZUlkcywgY29ubmVjdG9yQ2xpY2thYmxlSWRzXSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2xpY2thYmxlSWRzID0gWy4uLmFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIC4uLmVpbmRTZWluZW5DbGlja2FibGVJZHMsIC4uLmNvbm5lY3RvckNsaWNrYWJsZUlkc10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2JlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkcyA9IFtdO1xuICAgICAgICAgICAgICAgIGlkcy5wdXNoKC4uLmJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2thYmxlSWRzID0gaWRzO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtyaXRkZWxlbiwgb25nZXBsYW5kZUFjdGllcywgZ2VwbGFuZGVBY3RpZXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJpdGRlbGVuICYmIHJpdGRlbGVuLmxlbmd0aCA+IDAgJiYgZ2VwbGFuZGVBY3RpZXMgJiYgb25nZXBsYW5kZUFjdGllcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJJbmZvcyA9IEFjdGllUG9wb3ZlckJlcGFsZXIuYmVwYWFsUG9wb3ZlckluZm9zKHJpdGRlbGVuLCBnZXBsYW5kZUFjdGllcywgb25nZXBsYW5kZUFjdGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBiZXBhYWxPbmdlcGxhbmRlQWN0aWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmVwYWFsT25nZXBsYW5kZUFjdGllcyh0aGlzLm5pZXRHZXBsYW5kZUFjdGllcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbjogUml0ZGVlbFtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zYm1TZXJ2aWNlLmlzUmVhZHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlkcyA9IFtdO1xuICAgICAgICByaXREZWxlbi5maWx0ZXIocml0RGVlbCA9PiByaXREZWVsLmlzWmljaHRiYWFyKCkpLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWljcyA9IHJpdERlZWwuZ2V0U2VpbmVuKCkuZmxhdE1hcChzZWluID0+IHRoaXMudmVyemFtZWxCZWdpblNlaW5JbmZvcm1hdGllKHNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIGlkcyA9IGlkcy5jb25jYXQocHVpY3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKGlkcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblNlbGVjdGllSWRzKFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0RWluZFNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMoW10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluOiBkb21laW4uU2Vpbiwgcml0RGVlbDogUml0ZGVlbCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRTQlNlaW4oc2Vpbik7XG4gICAgICAgIGlmIChzYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBzYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChzZWluLCByaXREZWVsKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWx0U2JTZWluID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRlY2huaXNjaEFsdGVybmF0aWVmU0JTZWluKHNiU2Vpbik7XG4gICAgICAgIGlmIChhbHRTYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBhbHRTYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIGNvbnN0IHJ3cCA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRSaWp3ZWdwbGFuKGFsdFNiU2Vpbi5nZXRQUExHKCkpO1xuICAgICAgICAgICAgY29uc3QgZG9tZWluU2VpbiA9IHJ3cC5nZXRCZWdpblNlaW4oYWx0U2JTZWluLmdldE5hbWUoKSk7XG4gICAgICAgICAgICAvLyBzZWluIGthbiBuaWV0IGFsdGlqZCBnZXZvbmRlbiB3b3JkZW4gb21kYXQgZXIgbmlldCBhbHRpamQgZWVuIHJpandlZyB2YW5hZiBkaXQgc2VpbiBpcywgYmlqdiBiaWogdmVlcndpc3NlbC5cbiAgICAgICAgICAgIGlmIChkb21laW5TZWluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuc2V0KHB1aWMsIG5ldyBTZWluT3BSaXRkZWVsKGRvbWVpblNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVpY3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxSb3V0ZUhpZ2hsaWdodHMocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBsZXQgcml0U2VsZWN0aWVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljcyA9IG5ldyBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+KCk7XG4gICAgICAgIGxldCBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBjbGlja2FibGVJZHMgPSBbXTtcbiAgICAgICAgbGV0IGxhYXRzdGVOYWFyU3Bvb3I6IHN0cmluZztcbiAgICAgICAgY29uc3QgYmVzdGFhdFVpdDFSaXRkZWVsID0gcml0RGVsZW4ubGVuZ3RoID09PSAxO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXQgPSBmYWxzZTtcbiAgICAgICAgcml0RGVsZW4uZm9yRWFjaChyaXREZWVsID0+IHtcbiAgICAgICAgICAgIGlmIChyaXREZWVsLmlzWmljaHRiYWFyKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXA6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4gPSB0aGlzLmFjdGllSGVscGVyLmJlcGFhbEFjdGllUHVpY3NVaXRSaXRkZWVsKHJpdERlZWwpO1xuICAgICAgICAgICAgICAgIG1hcC5rZXlzKCkuZm9yRWFjaChrZXkgPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MucHV0QWxsKGtleSwgbWFwLmdldChrZXkpKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICFiZXN0YWF0VWl0MVJpdGRlZWwgJiYgdGhpcy5pc0dlYnJva2VuUml0ZGVlbChyaXREZWVsLCBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IFsuLi50aGlzLmdldFB1aWNzKHJpdERlZWwuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNibVNlcnZpY2UuZ2V0UHVpY3NWb29yU2VpbmVuSW5Sb3V0ZShyaXREZWVsLmdldFJvdXRlKCkpXTtcblxuICAgICAgICAgICAgICAgIGlmIChwdWljcyAmJiBpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgICAgICAgICBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB1aWNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWwsIGNsaWNrYWJsZUlkcywgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyk7XG5cbiAgICAgICAgICAgICAgICBnZWJyb2tlblJpdCA9IGdlYnJva2VuUml0IHx8IGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFhdHN0ZU5hYXJTcG9vciA9IHJpdERlZWwuZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRWYWxpZGVSaXQoIWdlYnJva2VuUml0KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlcGxhbmRlQWN0aWVzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIGNvbnN0IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkgPSBVdGlscy5mbGF0TWFwKEFycmF5LmZyb20oYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MudmFsdWVzKCkpLCB4ID0+IHgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5KSk7XG4gICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmZpbHRlcihpdGVtID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkuaW5kZXhPZihpdGVtKSA8IDApOyAvLyBtYWtlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFJpdFNlbGVjdGllSWRzKHJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzKGdlYnJva2VuUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHModGhpcy5lZGl0YWJsZSA/IGNsaWNrYWJsZUlkcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzKHRoaXMuZWRpdGFibGUgPyBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGVhclByb2dyZXNzKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsOiBSaXRkZWVsLCBjbGlja2FibGVJZHM6IHN0cmluZ1tdLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICByaXREZWVsLmdldEFsdGVybmF0aWV2ZVJvdXRlcygpPy5mb3JFYWNoKGFsdGVybmF0aWV2ZVJvdXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMuc2JtU2VydmljZS5iZXBhYWxBbHRlcm5hdGl2ZVJvdXRlSGlnaGxpZ2h0cyhhbHRlcm5hdGlldmVSb3V0ZSwgcml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFsdFB1aWNzID0gdGhpcy5nZXRQdWljcyhhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuKTtcbiAgICAgICAgICAgIGlmIChhbHRQdWljcykge1xuICAgICAgICAgICAgICAgIGNsaWNrYWJsZUlkcy5wdXNoKC4uLmFsdFB1aWNzKTtcbiAgICAgICAgICAgICAgICBhbHRQdWljcy5mb3JFYWNoKHB1aWMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuc2V0KHB1aWMsIG5ldyBBbHRlcm5hdGllZlJpdERlZWwocml0RGVlbCwgYWx0ZXJuYXRpZXZlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUm91dGVQdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWwsIGxhYXRzdGVOYWFyU3Bvb3IpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhKCFsYWF0c3RlTmFhclNwb29yIHx8IHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSA9PT0gbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgIGlmIChpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JpdCB2YW4gJyArIHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSArICcgbmFhciAnICsgcml0RGVlbC5nZXROYWFyUHJsU3Bvb3IoKVxuICAgICAgICAgICAgICAgICsgJyBpbiBwcGxnICcgKyByaXREZWVsLmdldFBwbGcoKSArICcgc2x1aXQgbmlldCBhYW4gb3Agdm9yaWdlIGJld2VnaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1aWNzKHRvcG9FbGVtZW50ZW46IHNiYmxhZC5IYXNJZGVudGlmaWVyW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0b3BvRWxlbWVudGVuLm1hcChlID0+IGUuZ2V0UHVpYygpKTtcbiAgICB9XG59XG4iLCI8aW14LXZpZXdlciAjaW14dmlld2VyY29udGFpbmVyXG4gICAgICAgICAgICBbc3ZnSW5mb109XCJzdmdJbmZvcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc2VsZWN0aWVJbmZvc109XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvc1wiXG4gICAgICAgICAgICBbY2xpY2thYmxlSWRzXT1cImNsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcmlnaHRDbGlja2FibGVJZHNdPVwicmlnaHRDbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3BvcG92ZXJJbmZvc109XCJwb3BvdmVySW5mb3NcIlxuICAgICAgICAgICAgW2lubGluZURnbkNzc0ltcG9ydF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbdXNlQ2xpY2tBcmVhXT1cInVzZUNsaWNrQXJlYVwiXG4gICAgICAgICAgICBbem9vbVNjYWxlU2Vuc2l0aXZpdHldPVwiMC4yNVwiXG4gICAgICAgICAgICAoY2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChyaWdodENsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3UmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9pbXgtdmlld2VyPlxuXG48dWwgaWQ9XCJjb250ZXh0TWVudVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwiY29udGV4dE1lbnVTdHlsZVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbnRleHRNZW51QWN0aW9uc1wiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKClcIj57e2FjdGlvbi5sYWJlbH19PC9hPjwvbGk+XG48L3VsPlxuIl19
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCO1FBQy9DLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixDQUFDLENBQUM7UUFDaEcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRTtrQkFDbEYsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFDRCxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFTyxRQUFRLENBQUMsYUFBcUM7UUFDbEQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0F6UlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNlBDNUNyQyx3M0JBaUJBOzsyRkQyQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjtpTkFNbkIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRTJCLFNBQVM7c0JBQXpDLFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW14Vmlld2VyQ29tcG9uZW50LCBQb3BvdmVySW5mbywgU2VsZWN0aWVFdmVudCwgU3ZnSW5mbyB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IGRvbWVpbiwgc2JibGFkIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbHRlcm5hdGllZlJpdERlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9hbHRlcm5hdGllZi1yaXQtZGVlbCc7XG5pbXBvcnQgeyBPbmdlcGxhbmRlQWN0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllJztcbmltcG9ydCB7IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9yaWp3ZWdwbGFuLXJpandlZy1kd2FuZy1jb21iaW5hdGllJztcbmltcG9ydCB7IFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9yaXRkZWVsJztcbmltcG9ydCB7IFNlaW5PcFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWluLW9wLXJpdGRlZWwnO1xuaW1wb3J0IHsgQWN0aWUgfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEFkZE9uZ2VwbGFuZGVBY3RpZSxcbiAgICBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzLFxuICAgIEJld2VnaW5nSW52b2VnZW4sXG4gICAgQ2xlYXJQcm9ncmVzcywgU2V0U2VsZWN0ZWRSaXRkZWVsLFxuICAgIG5hdmlnZWVyQnVpdGVuUml0LFxuICAgIFJlc2V0TmlldXdlUm91dGUsXG4gICAgU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzLFxuICAgIFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzLFxuICAgIFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzLFxuICAgIFNldEJlZ2luU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMsXG4gICAgU2V0RWluZFNlaW5TZWxlY3RpZUlkcyxcbiAgICBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzLFxuICAgIFNldEdlcGxhbmRlQWN0aWVzLFxuICAgIFNldE5pZXV3Um91dGVFaW5kU2VpbixcbiAgICBTZXRSaXRTZWxlY3RpZUlkc1xufSBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0IHsgcml0ZGVlbEludm9lZ2VuLCBzZXRBbHRlcm5hdGlldmVSaXREZWxlbiB9IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvcml0ZGVsZW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IHsgQWN0aWVIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQgeyBBY3RpZVBvcG92ZXJCZXBhbGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9hY3RpZS1wb3BvdmVyLWJlcGFsZXInO1xuaW1wb3J0IHsgQXJyYXlNdWx0aW1hcCB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzdmctdmlzdWFsaXNhdGllJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN2Z1Zpc3VhbGlzYXRpZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG5pZXRHZXBsYW5kZUFjdGllczogQWN0aWVbXTtcbiAgICBASW5wdXQoKSB1c2VDbGlja0FyZWE6IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdpbXh2aWV3ZXJjb250YWluZXInKSBpbXh2aWV3ZXI6IElteFZpZXdlckNvbXBvbmVudDtcblxuICAgIHN2Z0luZm9zJDogT2JzZXJ2YWJsZTxTdmdJbmZvW10+ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3N2Z0luZm9zJyk7XG4gICAgcG9wb3ZlckluZm9zOiBQb3BvdmVySW5mb1tdID0gW107XG4gICAgY2xpY2thYmxlSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcmlnaHRDbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29udGV4dE1lbnVBY3Rpb25zOiBhbnkgPSBbXTtcbiAgICBjb250ZXh0TWVudVN0eWxlOiBhbnkgPSB7IGRpc3BsYXk6ICdub25lJyB9O1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBwdWljTmFhckJlZ2luU2VpblJpdGRlZWwgPSBuZXcgTWFwPHN0cmluZywgU2Vpbk9wUml0ZGVlbD4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllID0gbmV3IE1hcDxzdHJpbmcsIFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWU+KCk7XG4gICAgcHJpdmF0ZSBwdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlID0gbmV3IE1hcDxzdHJpbmcsIEFsdGVybmF0aWVmUml0RGVlbD4oKTtcblxuICAgIHByaXZhdGUgb25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sXG4gICAgICAgICAgICAgICAgcHVibGljIHZpZXdlckNvbnRyb2xzU2VydmljZTogVmlld2VyQ29udHJvbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhY3RpZUhlbHBlcjogQWN0aWVIZWxwZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzYm1TZXJ2aWNlOiBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICB0aGlzLm9uUml0ZGVsZW5VcGRhdGUoKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyQ2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLnRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTtcbiAgICAgICAgdGhpcy5zZXR1cFRyaWdnZXJQb3BvdmVyQmVwYWxpbmcoKTtcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnZWRpdGFibGUnKS5zdWJzY3JpYmUoZWRpdGFibGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGVkaXRhYmxlO1xuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkID0+IHRoaXMub25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnZm9jdXNJZHMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShmb2N1c0lkcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvY3VzSWRzICYmIHRoaXMuaW14dmlld2VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW14dmlld2VyLmZvY3VzT25JZHMoZm9jdXNJZHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRleHRNZW51JykuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuaGlkZUNvbnRleHRNZW51KCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW14dmlld0NsaWNrKGV2dDogU2VsZWN0aWVFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwdWljID0gZXZ0LmlkO1xuICAgICAgICBjb25zdCBhbHRlcm5hdGlldmVSaXREZWVsID0gdGhpcy5wdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlLmdldChwdWljKTtcbiAgICAgICAgY29uc3QgY29tYmluYXRpZSA9IHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUuZ2V0KHB1aWMpO1xuICAgICAgICBpZiAoYWx0ZXJuYXRpZXZlUml0RGVlbCkge1xuICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUml0RGVlbC5yaXREZWVsLmFjdGllcy5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IHRoaXMuYWN0aWVIZWxwZXIuYmVwYWFsUHVpY3NWb29yQWN0aWUoYWN0aWUpO1xuICAgICAgICAgICAgICAgIGlmIChwdWljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRkT25nZXBsYW5kZUFjdGllKG5ldyBPbmdlcGxhbmRlQWN0aWUoYWN0aWUsIHB1aWNzKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzZXRBbHRlcm5hdGlldmVSaXREZWxlbihhbHRlcm5hdGlldmVSaXREZWVsKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29tYmluYXRpZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXROaWV1d1JvdXRlRWluZFNlaW4oY29tYmluYXRpZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcmFuZCA9IHRoaXMuc2JtU2VydmljZS5nZXRUb3BvbG9neUVsZW1lbnRCeVB1aWMocHVpYyk7XG4gICAgICAgICAgICBpZiAocmFuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmF2aWdlZXJCdWl0ZW5SaXQocHVpYykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRTZWxlY3RlZFJpdGRlZWwodW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW14dmlld1JpZ2h0Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZuID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRTZWluT3BSaXRkZWVsID0gdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuZ2V0KGV2dC5pZCk7XG4gICAgICAgICAgICBpZiAoc3RhcnRTZWluT3BSaXRkZWVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVBY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVBY3Rpb25zLnB1c2goeyBsYWJlbDogJ2Jld2VnaW5nIGludm9lZ2VuJywgY2xpY2s6IGZuIH0pO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3R5bGUgPSB7XG4gICAgICAgICAgICBsZWZ0OiAoZXZ0LmV2ZW50Lm9mZnNldFggLSA1KSArICdweCcsXG4gICAgICAgICAgICB0b3A6IChldnQuZXZlbnQub2Zmc2V0WSAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBiZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbDogU2Vpbk9wUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVDb250ZXh0TWVudSgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsLCB0aGlzLnB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllKSk7XG4gICAgfVxuXG4gICAgaGlkZUNvbnRleHRNZW51KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3R5bGUgPSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTmlldXdlUm91dGVUb2VnZXZvZWdkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnbmlldXdlUm91dGUnKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobmlldXdlUm91dGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5pZXV3ZVJvdXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSZXNldE5pZXV3ZVJvdXRlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChyaXRkZWVsSW52b2VnZW4obmlldXdlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblJpdGRlbGVuVXBkYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKS5zdWJzY3JpYmUocml0RGVsZW4gPT4ge1xuICAgICAgICAgICAgaWYgKHJpdERlbGVuICYmIHJpdERlbGVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbFJvdXRlSGlnaGxpZ2h0cyhyaXREZWxlbik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdhbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZWluZFNlaW5lbkNsaWNrYWJsZUlkcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2Nvbm5lY3RvckNsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIGVpbmRTZWluZW5DbGlja2FibGVJZHMsIGNvbm5lY3RvckNsaWNrYWJsZUlkc10pID0+XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZUlkcyA9IFsuLi5hbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLCAuLi5laW5kU2VpbmVuQ2xpY2thYmxlSWRzLCAuLi5jb25uZWN0b3JDbGlja2FibGVJZHNdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmlnZ2VyUmlnaHRDbGlja2FibGVJZEJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdCgnYmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpZHMgPSBbXTtcbiAgICAgICAgICAgICAgICBpZHMucHVzaCguLi5iZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodENsaWNrYWJsZUlkcyA9IGlkcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFRyaWdnZXJQb3BvdmVyQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ3JpdERlbGVuJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2dlcGxhbmRlQWN0aWVzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbcml0ZGVsZW4sIG9uZ2VwbGFuZGVBY3RpZXMsIGdlcGxhbmRlQWN0aWVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyaXRkZWxlbiAmJiByaXRkZWxlbi5sZW5ndGggPiAwICYmIGdlcGxhbmRlQWN0aWVzICYmIG9uZ2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVySW5mb3MgPSBBY3RpZVBvcG92ZXJCZXBhbGVyLmJlcGFhbFBvcG92ZXJJbmZvcyhyaXRkZWxlbiwgZ2VwbGFuZGVBY3RpZXMsIG9uZ2VwbGFuZGVBY3RpZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgYmVwYWFsT25nZXBsYW5kZUFjdGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmlldEdlcGxhbmRlQWN0aWVzKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXModGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQ29udGV4dE1lbnVWb29yQmVnaW5TZWluZW4ocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2JtU2VydmljZS5pc1JlYWR5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpZHMgPSBbXTtcbiAgICAgICAgcml0RGVsZW4uZmlsdGVyKHJpdERlZWwgPT4gcml0RGVlbC5pc1ppY2h0YmFhcigpKS5mb3JFYWNoKHJpdERlZWwgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHVpY3MgPSByaXREZWVsLmdldFNlaW5lbigpLmZsYXRNYXAoc2VpbiA9PiB0aGlzLnZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluLCByaXREZWVsKSk7XG4gICAgICAgICAgICBpZHMgPSBpZHMuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyhpZHMpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluU2VsZWN0aWVJZHMoW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzKFtdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ6YW1lbEJlZ2luU2VpbkluZm9ybWF0aWUoc2VpbjogZG9tZWluLlNlaW4sIHJpdERlZWw6IFJpdGRlZWwpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBzYlNlaW4gPSB0aGlzLnNibVNlcnZpY2UuZ2V0U0JTZWluKHNlaW4pO1xuICAgICAgICBpZiAoc2JTZWluKSB7XG4gICAgICAgICAgICBjb25zdCBwdWljID0gc2JTZWluLmdldFB1aWMoKTtcbiAgICAgICAgICAgIHB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5zZXQocHVpYywgbmV3IFNlaW5PcFJpdGRlZWwoc2Vpbiwgcml0RGVlbCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFsdFNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRUZWNobmlzY2hBbHRlcm5hdGllZlNCU2VpbihzYlNlaW4pO1xuICAgICAgICBpZiAoYWx0U2JTZWluKSB7XG4gICAgICAgICAgICBjb25zdCBwdWljID0gYWx0U2JTZWluLmdldFB1aWMoKTtcbiAgICAgICAgICAgIHB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICBjb25zdCByd3AgPSB0aGlzLmVkaXRvclNlcnZpY2UuZ2V0Umlqd2VncGxhbihhbHRTYlNlaW4uZ2V0UFBMRygpKTtcbiAgICAgICAgICAgIGNvbnN0IGRvbWVpblNlaW4gPSByd3AuZ2V0QmVnaW5TZWluKGFsdFNiU2Vpbi5nZXROYW1lKCkpO1xuICAgICAgICAgICAgLy8gc2VpbiBrYW4gbmlldCBhbHRpamQgZ2V2b25kZW4gd29yZGVuIG9tZGF0IGVyIG5pZXQgYWx0aWpkIGVlbiByaWp3ZWcgdmFuYWYgZGl0IHNlaW4gaXMsIGJpanYgYmlqIHZlZXJ3aXNzZWwuXG4gICAgICAgICAgICBpZiAoZG9tZWluU2Vpbikge1xuICAgICAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChkb21laW5TZWluLCByaXREZWVsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHB1aWNzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuOiBSaXRkZWVsW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IHJpdFNlbGVjdGllUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MgPSBuZXcgQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPigpO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzID0gW107XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgY2xpY2thYmxlSWRzID0gW107XG4gICAgICAgIGxldCBsYWF0c3RlTmFhclNwb29yOiBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGJlc3RhYXRVaXQxUml0ZGVlbCA9IHJpdERlbGVuLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgbGV0IGdlYnJva2VuUml0ID0gZmFsc2U7XG4gICAgICAgIHJpdERlbGVuLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVlbC5pc1ppY2h0YmFhcigpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwOiBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+ID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxBY3RpZVB1aWNzVWl0Uml0ZGVlbChyaXREZWVsKTtcbiAgICAgICAgICAgICAgICBtYXAua2V5cygpLmZvckVhY2goa2V5ID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzLnB1dEFsbChrZXksIG1hcC5nZXQoa2V5KSkpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhYmVzdGFhdFVpdDFSaXRkZWVsICYmIHRoaXMuaXNHZWJyb2tlblJpdGRlZWwocml0RGVlbCwgbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgICAgICAgICAgY29uc3QgcHVpY3MgPSBbLi4udGhpcy5nZXRQdWljcyhyaXREZWVsLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5zYm1TZXJ2aWNlLmdldFB1aWNzVm9vclNlaW5lbkluUm91dGUocml0RGVlbC5nZXRSb3V0ZSgpKV07XG5cbiAgICAgICAgICAgICAgICBpZiAocHVpY3MgJiYgaXNHZWJyb2tlblJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzID0gZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdWljcykge1xuICAgICAgICAgICAgICAgICAgICByaXRTZWxlY3RpZVB1aWNzID0gcml0U2VsZWN0aWVQdWljcy5jb25jYXQocHVpY3MpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsLCBjbGlja2FibGVJZHMsIGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MpO1xuXG4gICAgICAgICAgICAgICAgZ2Vicm9rZW5SaXQgPSBnZWJyb2tlblJpdCB8fCBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYXRzdGVOYWFyU3Bvb3IgPSByaXREZWVsLmdldFZpc3VlZWxOYWFyUHJsU3Bvb3IoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2V0VmFsaWRlUml0KCFnZWJyb2tlblJpdCk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZXBsYW5kZUFjdGllcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5ID0gQXJyYXkuZnJvbShhY3RpZU9wUml0U2VsZWN0aWVQdWljcy52YWx1ZXMoKSkucmVkdWNlKChhY2M6IHN0cmluZ1tdLCB2YWw6IHN0cmluZyk6IHN0cmluZ1tdID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5KSk7XG4gICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmZpbHRlcihpdGVtID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkuaW5kZXhPZihpdGVtKSA8IDApOyAvLyBtYWtlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFJpdFNlbGVjdGllSWRzKHJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzKGdlYnJva2VuUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHModGhpcy5lZGl0YWJsZSA/IGNsaWNrYWJsZUlkcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzKHRoaXMuZWRpdGFibGUgPyBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGVhclByb2dyZXNzKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsOiBSaXRkZWVsLCBjbGlja2FibGVJZHM6IHN0cmluZ1tdLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICByaXREZWVsLmdldEFsdGVybmF0aWV2ZVJvdXRlcygpPy5mb3JFYWNoKGFsdGVybmF0aWV2ZVJvdXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMuc2JtU2VydmljZS5iZXBhYWxBbHRlcm5hdGl2ZVJvdXRlSGlnaGxpZ2h0cyhhbHRlcm5hdGlldmVSb3V0ZSwgcml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFsdFB1aWNzID0gdGhpcy5nZXRQdWljcyhhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuKTtcbiAgICAgICAgICAgIGlmIChhbHRQdWljcykge1xuICAgICAgICAgICAgICAgIGNsaWNrYWJsZUlkcy5wdXNoKC4uLmFsdFB1aWNzKTtcbiAgICAgICAgICAgICAgICBhbHRQdWljcy5mb3JFYWNoKHB1aWMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuc2V0KHB1aWMsIG5ldyBBbHRlcm5hdGllZlJpdERlZWwocml0RGVlbCwgYWx0ZXJuYXRpZXZlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUm91dGVQdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWwsIGxhYXRzdGVOYWFyU3Bvb3IpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhKCFsYWF0c3RlTmFhclNwb29yIHx8IHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSA9PT0gbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgIGlmIChpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JpdCB2YW4gJyArIHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSArICcgbmFhciAnICsgcml0RGVlbC5nZXROYWFyUHJsU3Bvb3IoKVxuICAgICAgICAgICAgICAgICsgJyBpbiBwcGxnICcgKyByaXREZWVsLmdldFBwbGcoKSArICcgc2x1aXQgbmlldCBhYW4gb3Agdm9yaWdlIGJld2VnaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1aWNzKHRvcG9FbGVtZW50ZW46IHNiYmxhZC5IYXNJZGVudGlmaWVyW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0b3BvRWxlbWVudGVuLm1hcChlID0+IGUuZ2V0UHVpYygpKTtcbiAgICB9XG59XG4iLCI8aW14LXZpZXdlciAjaW14dmlld2VyY29udGFpbmVyXG4gICAgICAgICAgICBbc3ZnSW5mb109XCJzdmdJbmZvcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc2VsZWN0aWVJbmZvc109XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvc1wiXG4gICAgICAgICAgICBbY2xpY2thYmxlSWRzXT1cImNsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcmlnaHRDbGlja2FibGVJZHNdPVwicmlnaHRDbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3BvcG92ZXJJbmZvc109XCJwb3BvdmVySW5mb3NcIlxuICAgICAgICAgICAgW2lubGluZURnbkNzc0ltcG9ydF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbdXNlQ2xpY2tBcmVhXT1cInVzZUNsaWNrQXJlYVwiXG4gICAgICAgICAgICBbem9vbVNjYWxlU2Vuc2l0aXZpdHldPVwiMC4yNVwiXG4gICAgICAgICAgICAoY2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChyaWdodENsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3UmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9pbXgtdmlld2VyPlxuXG48dWwgaWQ9XCJjb250ZXh0TWVudVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwiY29udGV4dE1lbnVTdHlsZVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbnRleHRNZW51QWN0aW9uc1wiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKClcIj57e2FjdGlvbi5sYWJlbH19PC9hPjwvbGk+XG48L3VsPlxuIl19
|