geonetwork-ui 2.1.0 → 2.2.0-dev.3678ce55
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/libs/ui/inputs/src/lib/button/button.component.mjs +17 -38
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
- package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +8 -1
- package/esm2022/translations/de.json +3 -0
- package/esm2022/translations/en.json +5 -2
- package/esm2022/translations/es.json +3 -0
- package/esm2022/translations/fr.json +7 -4
- package/esm2022/translations/it.json +6 -0
- package/esm2022/translations/nl.json +3 -0
- package/esm2022/translations/pt.json +3 -0
- package/fesm2022/geonetwork-ui.mjs +57 -43
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -4
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/model.d.ts +2 -0
- package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/theme.service.d.ts +1 -0
- package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
- package/package.json +8 -6
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +22 -42
- package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
- package/src/libs/util/app-config/src/lib/model.ts +2 -0
- package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -0
- package/tailwind.base.css +31 -1
- package/translations/de.json +3 -0
- package/translations/en.json +5 -2
- package/translations/es.json +3 -0
- package/translations/fr.json +7 -4
- package/translations/it.json +6 -0
- package/translations/nl.json +3 -0
- package/translations/pt.json +3 -0
- package/translations/sk.json +3 -0
|
@@ -3,53 +3,32 @@ import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src'
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ButtonComponent {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.type = 'default';
|
|
7
6
|
this.disabled = false;
|
|
8
7
|
this.extraClass = '';
|
|
9
8
|
this.buttonClick = new EventEmitter();
|
|
10
9
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
get color() {
|
|
15
|
-
switch (this.type) {
|
|
16
|
-
case 'default':
|
|
17
|
-
return 'bg-gray-700 hover:bg-gray-800 hover:bg-gray-800 active:bg-gray-900';
|
|
10
|
+
// btn-classes are explicited to allow tailwind recognize them and add it in css.
|
|
11
|
+
set type(value) {
|
|
12
|
+
switch (value) {
|
|
18
13
|
case 'primary':
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return 'bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest';
|
|
22
|
-
case 'outline':
|
|
23
|
-
return 'bg-white';
|
|
24
|
-
case 'light':
|
|
25
|
-
return 'bg-white hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
get textColor() {
|
|
29
|
-
switch (this.type) {
|
|
30
|
-
case 'default':
|
|
14
|
+
this.btnClass = 'btn-primary';
|
|
15
|
+
break;
|
|
31
16
|
case 'secondary':
|
|
32
|
-
|
|
33
|
-
|
|
17
|
+
this.btnClass = 'btn-secondary';
|
|
18
|
+
break;
|
|
34
19
|
case 'outline':
|
|
35
|
-
|
|
20
|
+
this.btnClass = 'btn-outline';
|
|
21
|
+
break;
|
|
36
22
|
case 'light':
|
|
37
|
-
|
|
23
|
+
this.btnClass = 'btn-light';
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
this.btnClass = 'btn-default';
|
|
27
|
+
break;
|
|
38
28
|
}
|
|
39
29
|
}
|
|
40
|
-
get
|
|
41
|
-
|
|
42
|
-
case 'default':
|
|
43
|
-
return 'border border-gray-700 focus:ring-4 focus:ring-gray-200';
|
|
44
|
-
case 'secondary':
|
|
45
|
-
return 'border border-secondary focus:ring-4 focus:ring-secondary-lightest';
|
|
46
|
-
case 'primary':
|
|
47
|
-
return 'border border-primary focus:ring-4 focus:ring-primary-lightest';
|
|
48
|
-
case 'outline':
|
|
49
|
-
return 'border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker';
|
|
50
|
-
case 'light':
|
|
51
|
-
return 'border border-white focus:ring-4 focus:ring-gray-300';
|
|
52
|
-
}
|
|
30
|
+
get classList() {
|
|
31
|
+
return `${this.btnClass} ${this.extraClass}`;
|
|
53
32
|
}
|
|
54
33
|
handleClick(event) {
|
|
55
34
|
this.buttonClick.emit();
|
|
@@ -71,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
71
50
|
}], buttonClick: [{
|
|
72
51
|
type: Output
|
|
73
52
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7O0FBUWhGLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBZ0NXLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtLQVdqRDtJQXBDQyxpRkFBaUY7SUFDakYsSUFBYSxJQUFJLENBQ2YsS0FBZ0U7UUFFaEUsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUE7Z0JBQy9CLE1BQUs7WUFDUCxLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUE7Z0JBQzNCLE1BQUs7WUFDUDtnQkFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQTtnQkFDN0IsTUFBSztTQUNSO0lBQ0gsQ0FBQztJQU1ELElBQUksU0FBUztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDdEIsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsQ0FBQzs4R0F0Q1UsZUFBZTtrR0FBZixlQUFlLHVLQ2Y1Qix5VkFTQTs7MkZETWEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBTWxDLElBQUk7c0JBQWhCLEtBQUs7Z0JBc0JHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBwcml2YXRlIGJ0bkNsYXNzOiBzdHJpbmdcblxuICAvLyBidG4tY2xhc3NlcyBhcmUgZXhwbGljaXRlZCB0byBhbGxvdyB0YWlsd2luZCByZWNvZ25pemUgdGhlbSBhbmQgYWRkIGl0IGluIGNzcy5cbiAgQElucHV0KCkgc2V0IHR5cGUoXG4gICAgdmFsdWU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ2xpZ2h0J1xuICApIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgICAgdGhpcy5idG5DbGFzcyA9ICdidG4tcHJpbWFyeSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NlY29uZGFyeSc6XG4gICAgICAgIHRoaXMuYnRuQ2xhc3MgPSAnYnRuLXNlY29uZGFyeSdcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICB0aGlzLmJ0bkNsYXNzID0gJ2J0bi1vdXRsaW5lJ1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICB0aGlzLmJ0bkNsYXNzID0gJ2J0bi1saWdodCdcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYnRuQ2xhc3MgPSAnYnRuLWRlZmF1bHQnXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZVxuICBASW5wdXQoKSBleHRyYUNsYXNzID0gJydcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgZ2V0IGNsYXNzTGlzdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5idG5DbGFzc30gJHt0aGlzLmV4dHJhQ2xhc3N9YFxuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5idXR0b25DbGljay5lbWl0KClcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgcHJvcGFnYXRlVG9Eb2N1bWVudE9ubHkoZXZlbnQpXG4gIH1cbn1cbiIsIjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgdGV4dC1bMWVtXSBsZWFkaW5nLW5vbmUgcC1bMWVtXSByb3VuZGVkLVswLjI1ZW1dIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTEwMCBmb2N1czpvdXRsaW5lLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgW2NsYXNzXT1cImNsYXNzTGlzdFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -67,6 +67,7 @@ export function loadAppConfig() {
|
|
|
67
67
|
'login_url',
|
|
68
68
|
'web_component_embedder_url',
|
|
69
69
|
'languages',
|
|
70
|
+
'contact_email',
|
|
70
71
|
], warnings, errors);
|
|
71
72
|
if (parsedGlobalSection?.metadata_language) {
|
|
72
73
|
parsedGlobalSection = checkMetadataLanguage(parsedGlobalSection, warnings);
|
|
@@ -84,6 +85,7 @@ export function loadAppConfig() {
|
|
|
84
85
|
LOGIN_URL: parsedGlobalSection.login_url,
|
|
85
86
|
WEB_COMPONENT_EMBEDDER_URL: parsedGlobalSection.web_component_embedder_url,
|
|
86
87
|
LANGUAGES: parsedGlobalSection.languages,
|
|
88
|
+
CONTACT_EMAIL: parsedGlobalSection.contact_email,
|
|
87
89
|
};
|
|
88
90
|
const parsedLayersSections = parseMultiConfigSection(parsed, 'map_layer', ['type'], ['name', 'url', 'data'], warnings, errors);
|
|
89
91
|
const parsedMapSection = parseConfigSection(parsed, 'map', [], [
|
|
@@ -117,6 +119,7 @@ export function loadAppConfig() {
|
|
|
117
119
|
'fonts_stylesheet_url',
|
|
118
120
|
'thumbnail_placeholder',
|
|
119
121
|
'header_background',
|
|
122
|
+
'favicon',
|
|
120
123
|
], warnings, errors);
|
|
121
124
|
themeConfig =
|
|
122
125
|
parsedThemeSection === null
|
|
@@ -132,6 +135,7 @@ export function loadAppConfig() {
|
|
|
132
135
|
TITLE_FONT: parsedThemeSection.title_font,
|
|
133
136
|
MAIN_FONT: parsedThemeSection.main_font,
|
|
134
137
|
FONTS_STYLESHEET_URL: parsedThemeSection.fonts_stylesheet_url,
|
|
138
|
+
FAVICON: parsedThemeSection.favicon,
|
|
135
139
|
};
|
|
136
140
|
const parsedSearchSection = parseConfigSection(parsed, 'search', [], [
|
|
137
141
|
'filter_geometry_data',
|
|
@@ -195,4 +199,4 @@ export const TRANSLATE_WITH_OVERRIDES_CONFIG = {
|
|
|
195
199
|
deps: [HttpClient],
|
|
196
200
|
},
|
|
197
201
|
};
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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QU8sZUFBZSxDQUFBO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTTtJQUNwQixZQUFZLEdBQUcsSUFBSSxDQUFBO0lBQ25CLFdBQVcsR0FBRyxJQUFJLENBQUE7SUFDbEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0FBQzNCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM3QyxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFnQjtZQUNyRCxPQUFPLElBQUksZ0NBQWdDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7UUFDckUsQ0FBQztRQUNELGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztLQUNuQjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUT01MIGZyb20gJ0BsdGQvai10b21sJ1xuaW1wb3J0IHtcbiAgY2hlY2tNZXRhZGF0YUxhbmd1YWdlLFxuICBwYXJzZUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlTXVsdGlDb25maWdTZWN0aW9uLFxuICBwYXJzZVRyYW5zbGF0aW9uc0NvbmZpZ1NlY3Rpb24sXG59IGZyb20gJy4vcGFyc2UtdXRpbHMnXG5pbXBvcnQge1xuICBDdXN0b21UcmFuc2xhdGlvbnMsXG4gIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyxcbiAgR2xvYmFsQ29uZmlnLFxuICBMYXllckNvbmZpZyxcbiAgTWFwQ29uZmlnLFxuICBNZXRhZGF0YVF1YWxpdHlDb25maWcsXG4gIFNlYXJjaENvbmZpZyxcbiAgVGhlbWVDb25maWcsXG59IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBUcmFuc2xhdGVDb21waWxlciwgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlciB9IGZyb20gJ25neC10cmFuc2xhdGUtbWVzc2FnZWZvcm1hdC1jb21waWxlcidcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IERFRkFVTFRfTEFORyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYydcbmltcG9ydCB7IEZpbGVXaXRoT3ZlcnJpZGVzVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnLi9pMThuL2ZpbGUtd2l0aC1vdmVycmlkZXMudHJhbnNsYXRlLmxvYWRlcidcblxuY29uc3QgTUlTU0lOR19DT05GSUdfRVJST1IgPSBgQXBwbGljYXRpb24gY29uZmlndXJhdGlvbiB3YXMgbm90IGluaXRpYWxpemVkIGNvcnJlY3RseS5cblRoaXMgZXJyb3IgbWlnaHQgc2hvdyB1cCBpbiBjYXNlIG9mIGFuIGludmFsaWQvbWFsZm9ybWVkIGNvbmZpZ3VyYXRpb24gZmlsZS5cblxuTm90ZTogbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUgY2FsbGVkIFxcYGxvYWRBcHBDb25maWdcXGAgZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2FwcC1jb25maWcvc3JjJyBiZWZvcmUgc3RhcnRpbmcgdGhlIEFuZ3VsYXIgYXBwbGljYXRpb24uYFxuXG5sZXQgZ2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxDb25maWcoKTogR2xvYmFsQ29uZmlnIHtcbiAgaWYgKGdsb2JhbENvbmZpZyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gZ2xvYmFsQ29uZmlnXG59XG5cbmxldCB0aGVtZUNvbmZpZzogVGhlbWVDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaGVtZUNvbmZpZygpOiBUaGVtZUNvbmZpZyB7XG4gIGlmICh0aGVtZUNvbmZpZyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gdGhlbWVDb25maWdcbn1cblxubGV0IG1hcENvbmZpZzogTWFwQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uYWxNYXBDb25maWcoKTogTWFwQ29uZmlnIHwgbnVsbCB7XG4gIHJldHVybiBtYXBDb25maWdcbn1cblxubGV0IHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uYWxTZWFyY2hDb25maWcoKTogU2VhcmNoQ29uZmlnIHwgbnVsbCB7XG4gIHJldHVybiBzZWFyY2hDb25maWdcbn1cblxubGV0IG1ldGFkYXRhUXVhbGl0eUNvbmZpZzogTWV0YWRhdGFRdWFsaXR5Q29uZmlnID0gbnVsbFxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGFkYXRhUXVhbGl0eUNvbmZpZygpOiBNZXRhZGF0YVF1YWxpdHlDb25maWcge1xuICByZXR1cm4gKFxuICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyB8fFxuICAgICh7XG4gICAgICBFTkFCTEVEOiBmYWxzZSxcbiAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcbiAgKVxufVxuXG5sZXQgY3VzdG9tVHJhbnNsYXRpb25zOiBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXN0b21UcmFuc2xhdGlvbnMobGFuZ0NvZGU6IHN0cmluZyk6IEN1c3RvbVRyYW5zbGF0aW9ucyB7XG4gIGlmIChjdXN0b21UcmFuc2xhdGlvbnMgPT09IG51bGwpIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0NPTkZJR19FUlJPUilcbiAgcmV0dXJuIGxhbmdDb2RlIGluIGN1c3RvbVRyYW5zbGF0aW9ucyA/IGN1c3RvbVRyYW5zbGF0aW9uc1tsYW5nQ29kZV0gOiB7fVxufVxuXG5sZXQgYXBwQ29uZmlnTG9hZGVkID0gZmFsc2VcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBcHBDb25maWcoKSB7XG4gIHJldHVybiBmZXRjaCgnYXNzZXRzL2NvbmZpZ3VyYXRpb24vZGVmYXVsdC50b21sJylcbiAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgaWYgKCFyZXNwLm9rKSB0aHJvdyBuZXcgRXJyb3IoJ0NvbmZpZ3VyYXRpb24gZmlsZSBjb3VsZCBub3QgYmUgbG9hZGVkJylcbiAgICAgIHJldHVybiByZXNwLnRleHQoKVxuICAgIH0pXG4gICAgLnRoZW4oKGNvbmYpID0+IHtcbiAgICAgIGxldCBwYXJzZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlZCA9IFRPTUwucGFyc2UoY29uZiwgeyBqb2luZXI6ICdcXG4nLCBiaWdpbnQ6IGZhbHNlIH0pIGFzIGFueVxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiBwYXJzaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGU6ICR7ZS5tZXNzYWdlfWBcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29uc3QgZXJyb3JzID0gW11cbiAgICAgIGNvbnN0IHdhcm5pbmdzID0gW11cblxuICAgICAgbGV0IHBhcnNlZEdsb2JhbFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ2dsb2JhbCcsXG4gICAgICAgIFsnZ2VvbmV0d29yazRfYXBpX3VybCddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2RhdGFodWJfdXJsJyxcbiAgICAgICAgICAncHJveHlfcGF0aCcsXG4gICAgICAgICAgJ21ldGFkYXRhX2xhbmd1YWdlJyxcbiAgICAgICAgICAnbG9naW5fdXJsJyxcbiAgICAgICAgICAnd2ViX2NvbXBvbmVudF9lbWJlZGRlcl91cmwnLFxuICAgICAgICAgICdsYW5ndWFnZXMnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgIH0gYXMgR2xvYmFsQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRMYXllcnNTZWN0aW9ucyA9IHBhcnNlTXVsdGlDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtYXBfbGF5ZXInLFxuICAgICAgICBbJ3R5cGUnXSxcbiAgICAgICAgWyduYW1lJywgJ3VybCcsICdkYXRhJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcnNlZE1hcFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ21heF96b29tJyxcbiAgICAgICAgICAnbWF4X2V4dGVudCcsXG4gICAgICAgICAgJ2Jhc2VsYXllcicsXG4gICAgICAgICAgJ2RvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZScsXG4gICAgICAgICAgJ2V4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWInLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtYXBDb25maWcgPVxuICAgICAgICBwYXJzZWRNYXBTZWN0aW9uID09PSBudWxsIHx8IHBhcnNlZExheWVyc1NlY3Rpb25zID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBNQVhfWk9PTTogcGFyc2VkTWFwU2VjdGlvbi5tYXhfem9vbSxcbiAgICAgICAgICAgICAgTUFYX0VYVEVOVDogcGFyc2VkTWFwU2VjdGlvbi5tYXhfZXh0ZW50LFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfVVJMX1RFTVBMQVRFOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX3VybF90ZW1wbGF0ZSxcbiAgICAgICAgICAgICAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQjpcbiAgICAgICAgICAgICAgICBwYXJzZWRNYXBTZWN0aW9uLmV4dGVybmFsX3ZpZXdlcl9vcGVuX25ld190YWIsXG4gICAgICAgICAgICAgIERPX05PVF9VU0VfREVGQVVMVF9CQVNFTUFQOlxuICAgICAgICAgICAgICAgICEhcGFyc2VkTWFwU2VjdGlvbi5kb19ub3RfdXNlX2RlZmF1bHRfYmFzZW1hcCxcbiAgICAgICAgICAgICAgTUFQX0xBWUVSUzogcGFyc2VkTGF5ZXJzU2VjdGlvbnMubWFwKFxuICAgICAgICAgICAgICAgIChtYXBfbGF5ZXIpID0+XG4gICAgICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgICAgICBUWVBFOiBtYXBfbGF5ZXIudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgVVJMOiBtYXBfbGF5ZXIudXJsLFxuICAgICAgICAgICAgICAgICAgICBOQU1FOiBtYXBfbGF5ZXIubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgREFUQTogbWFwX2xheWVyLmRhdGEsXG4gICAgICAgICAgICAgICAgICB9IGFzIExheWVyQ29uZmlnKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSBhcyBNYXBDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFRoZW1lU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBbJ3ByaW1hcnlfY29sb3InLCAnc2Vjb25kYXJ5X2NvbG9yJywgJ21haW5fY29sb3InLCAnYmFja2dyb3VuZF9jb2xvciddLFxuICAgICAgICBbXG4gICAgICAgICAgJ2hlYWRlcl9mb3JlZ3JvdW5kX2NvbG9yJyxcbiAgICAgICAgICAnbWFpbl9mb250JyxcbiAgICAgICAgICAndGl0bGVfZm9udCcsXG4gICAgICAgICAgJ2ZvbnRzX3N0eWxlc2hlZXRfdXJsJyxcbiAgICAgICAgICAndGh1bWJuYWlsX3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAnaGVhZGVyX2JhY2tncm91bmQnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICB0aGVtZUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUFJJTUFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnByaW1hcnlfY29sb3IsXG4gICAgICAgICAgICAgIFNFQ09OREFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnNlY29uZGFyeV9jb2xvcixcbiAgICAgICAgICAgICAgTUFJTl9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fY29sb3IsXG4gICAgICAgICAgICAgIEJBQ0tHUk9VTkRfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5iYWNrZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBIRUFERVJfRk9SRUdST1VORF9DT0xPUjpcbiAgICAgICAgICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2ZvcmVncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogcGFyc2VkVGhlbWVTZWN0aW9uLnRodW1ibmFpbF9wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgSEVBREVSX0JBQ0tHUk9VTkQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgVElUTEVfRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLnRpdGxlX2ZvbnQsXG4gICAgICAgICAgICAgIE1BSU5fRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fZm9udCxcbiAgICAgICAgICAgICAgRk9OVFNfU1RZTEVTSEVFVF9VUkw6IHBhcnNlZFRoZW1lU2VjdGlvbi5mb250c19zdHlsZXNoZWV0X3VybCxcbiAgICAgICAgICAgIH0gYXMgVGhlbWVDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaCcsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV9kYXRhJyxcbiAgICAgICAgICAnZmlsdGVyX2dlb21ldHJ5X3VybCcsXG4gICAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICAgICdhZHZhbmNlZF9maWx0ZXJzJyxcbiAgICAgICAgXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkU2VhcmNoUGFyYW1zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ3NlYXJjaF9wcmVzZXQnLFxuICAgICAgICBbJ25hbWUnXSxcbiAgICAgICAgWydzb3J0JywgJ2ZpbHRlcnMnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgc2VhcmNoQ29uZmlnID1cbiAgICAgICAgcGFyc2VkU2VhcmNoU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgRklMVEVSX0dFT01FVFJZX0RBVEE6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X2RhdGEsXG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9VUkw6IHBhcnNlZFNlYXJjaFNlY3Rpb24uZmlsdGVyX2dlb21ldHJ5X3VybCxcbiAgICAgICAgICAgICAgU0VBUkNIX1BSRVNFVDogcGFyc2VkU2VhcmNoUGFyYW1zLm1hcCgocGFyYW0pID0+ICh7XG4gICAgICAgICAgICAgICAgc29ydDogcGFyYW0uc29ydCxcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXJhbS5uYW1lLFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IHBhcmFtLmZpbHRlcnMsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgQURWQU5DRURfRklMVEVSUzogcGFyc2VkU2VhcmNoU2VjdGlvbi5hZHZhbmNlZF9maWx0ZXJzLFxuICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPSBwYXJzZUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21ldGFkYXRhLXF1YWxpdHknLFxuICAgICAgICBbXSxcbiAgICAgICAgWydlbmFibGVkJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1ldGFkYXRhUXVhbGl0eUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEVOQUJMRUQ6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uZW5hYmxlZCxcbiAgICAgICAgICAgICAgU09SVEFCTEU6IHBhcnNlZE1ldGFkYXRhUXVhbGl0eVNlY3Rpb24uc29ydGFibGUsXG4gICAgICAgICAgICB9IGFzIE1ldGFkYXRhUXVhbGl0eUNvbmZpZylcblxuICAgICAgY3VzdG9tVHJhbnNsYXRpb25zID0gcGFyc2VUcmFuc2xhdGlvbnNDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0cmFuc2xhdGlvbnMnXG4gICAgICApIGFzIEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlc1xuXG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE9uZSBvciBtb3JlIG1hbmRhdG9yeSBzZXR0aW5ncyB3ZXJlIG1pc3NpbmcgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHtlcnJvcnMuam9pbignXFxuJyl9YClcbiAgICAgIH0gZWxzZSBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgT25lIG9yIG1vcmUgdW5leHBlY3RlZCBzZXR0aW5ncyB3ZXJlIGVuY291bnRlcmVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuXG4ke3dhcm5pbmdzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9XG5cbiAgICAgIGFwcENvbmZpZ0xvYWRlZCA9IHRydWVcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb25maWdMb2FkZWQoKSB7XG4gIHJldHVybiBhcHBDb25maWdMb2FkZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9yZXNldCgpIHtcbiAgZ2xvYmFsQ29uZmlnID0gbnVsbFxuICB0aGVtZUNvbmZpZyA9IG51bGxcbiAgY3VzdG9tVHJhbnNsYXRpb25zID0gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRFX1dJVEhfT1ZFUlJJREVTX0NPTkZJRyA9IHtcbiAgY29tcGlsZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVDb21waWxlcixcbiAgICB1c2VDbGFzczogVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyLFxuICB9LFxuICBsb2FkZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgdXNlRmFjdG9yeTogZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgcmV0dXJuIG5ldyBGaWxlV2l0aE92ZXJyaWRlc1RyYW5zbGF0ZUxvYWRlcihodHRwLCAnLi9hc3NldHMvaTE4bi8nKVxuICAgIH0sXG4gICAgZGVmYXVsdExhbmd1YWdlOiBERUZBVUxUX0xBTkcsXG4gICAgZGVwczogW0h0dHBDbGllbnRdLFxuICB9LFxufVxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9hcHAtY29uZmlnL3NyYy9saWIvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQTtBQUNuQyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFBO0FBV3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBRTlGLE1BQU0sb0JBQW9CLEdBQUc7OzsrSUFHa0gsQ0FBQTtBQUUvSSxJQUFJLFlBQVksR0FBaUIsSUFBSSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxlQUFlO0lBQzdCLElBQUksWUFBWSxLQUFLLElBQUk7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDaEUsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksV0FBVyxHQUFnQixJQUFJLENBQUE7QUFFbkMsTUFBTSxVQUFVLGNBQWM7SUFDNUIsSUFBSSxXQUFXLEtBQUssSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMvRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDO0FBRUQsSUFBSSxTQUFTLEdBQWMsSUFBSSxDQUFBO0FBRS9CLE1BQU0sVUFBVSxvQkFBb0I7SUFD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QUNqQjtRQUVELGVBQWUsR0FBRyxJQUFJLENBQUE7SUFDeEIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNO0lBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUNsQixrQkFBa0IsR0FBRyxJQUFJLENBQUE7QUFDM0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDLFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxTQUFTLGlCQUFpQixDQUFDLElBQWdCO1lBQ3JELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRPTUwgZnJvbSAnQGx0ZC9qLXRvbWwnXG5pbXBvcnQge1xuICBjaGVja01ldGFkYXRhTGFuZ3VhZ2UsXG4gIHBhcnNlQ29uZmlnU2VjdGlvbixcbiAgcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24sXG4gIHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9wYXJzZS11dGlscydcbmltcG9ydCB7XG4gIEN1c3RvbVRyYW5zbGF0aW9ucyxcbiAgQ3VzdG9tVHJhbnNsYXRpb25zQWxsTGFuZ3VhZ2VzLFxuICBHbG9iYWxDb25maWcsXG4gIExheWVyQ29uZmlnLFxuICBNYXBDb25maWcsXG4gIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyxcbiAgU2VhcmNoQ29uZmlnLFxuICBUaGVtZUNvbmZpZyxcbn0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbXBpbGVyLCBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTWVzc2FnZUZvcm1hdENvbXBpbGVyIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tZXNzYWdlZm9ybWF0LWNvbXBpbGVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICcuL2kxOG4vZmlsZS13aXRoLW92ZXJyaWRlcy50cmFuc2xhdGUubG9hZGVyJ1xuXG5jb25zdCBNSVNTSU5HX0NPTkZJR19FUlJPUiA9IGBBcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIHdhcyBub3QgaW5pdGlhbGl6ZWQgY29ycmVjdGx5LlxuVGhpcyBlcnJvciBtaWdodCBzaG93IHVwIGluIGNhc2Ugb2YgYW4gaW52YWxpZC9tYWxmb3JtZWQgY29uZmlndXJhdGlvbiBmaWxlLlxuXG5Ob3RlOiBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBjYWxsZWQgXFxgbG9hZEFwcENvbmZpZ1xcYCBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMnIGJlZm9yZSBzdGFydGluZyB0aGUgQW5ndWxhciBhcHBsaWNhdGlvbi5gXG5cbmxldCBnbG9iYWxDb25maWc6IEdsb2JhbENvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbENvbmZpZygpOiBHbG9iYWxDb25maWcge1xuICBpZiAoZ2xvYmFsQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiBnbG9iYWxDb25maWdcbn1cblxubGV0IHRoZW1lQ29uZmlnOiBUaGVtZUNvbmZpZyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29uZmlnKCk6IFRoZW1lQ29uZmlnIHtcbiAgaWYgKHRoZW1lQ29uZmlnID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19DT05GSUdfRVJST1IpXG4gIHJldHVybiB0aGVtZUNvbmZpZ1xufVxuXG5sZXQgbWFwQ29uZmlnOiBNYXBDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbE1hcENvbmZpZygpOiBNYXBDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIG1hcENvbmZpZ1xufVxuXG5sZXQgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcgPSBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25hbFNlYXJjaENvbmZpZygpOiBTZWFyY2hDb25maWcgfCBudWxsIHtcbiAgcmV0dXJuIHNlYXJjaENvbmZpZ1xufVxuXG5sZXQgbWV0YWRhdGFRdWFsaXR5Q29uZmlnOiBNZXRhZGF0YVF1YWxpdHlDb25maWcgPSBudWxsXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFRdWFsaXR5Q29uZmlnKCk6IE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgbWV0YWRhdGFRdWFsaXR5Q29uZmlnIHx8XG4gICAgKHtcbiAgICAgIEVOQUJMRUQ6IGZhbHNlLFxuICAgIH0gYXMgTWV0YWRhdGFRdWFsaXR5Q29uZmlnKVxuICApXG59XG5cbmxldCBjdXN0b21UcmFuc2xhdGlvbnM6IEN1c3RvbVRyYW5zbGF0aW9uc0FsbExhbmd1YWdlcyA9IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1c3RvbVRyYW5zbGF0aW9ucyhsYW5nQ29kZTogc3RyaW5nKTogQ3VzdG9tVHJhbnNsYXRpb25zIHtcbiAgaWYgKGN1c3RvbVRyYW5zbGF0aW9ucyA9PT0gbnVsbCkgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfQ09ORklHX0VSUk9SKVxuICByZXR1cm4gbGFuZ0NvZGUgaW4gY3VzdG9tVHJhbnNsYXRpb25zID8gY3VzdG9tVHJhbnNsYXRpb25zW2xhbmdDb2RlXSA6IHt9XG59XG5cbmxldCBhcHBDb25maWdMb2FkZWQgPSBmYWxzZVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFwcENvbmZpZygpIHtcbiAgcmV0dXJuIGZldGNoKCdhc3NldHMvY29uZmlndXJhdGlvbi9kZWZhdWx0LnRvbWwnKVxuICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICBpZiAoIXJlc3Aub2spIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSBsb2FkZWQnKVxuICAgICAgcmV0dXJuIHJlc3AudGV4dCgpXG4gICAgfSlcbiAgICAudGhlbigoY29uZikgPT4ge1xuICAgICAgbGV0IHBhcnNlZFxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gVE9NTC5wYXJzZShjb25mLCB7IGpvaW5lcjogJ1xcbicsIGJpZ2ludDogZmFsc2UgfSkgYXMgYW55XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGVuIHBhcnNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZTogJHtlLm1lc3NhZ2V9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBlcnJvcnMgPSBbXVxuICAgICAgY29uc3Qgd2FybmluZ3MgPSBbXVxuXG4gICAgICBsZXQgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnZ2xvYmFsJyxcbiAgICAgICAgWydnZW9uZXR3b3JrNF9hcGlfdXJsJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnZGF0YWh1Yl91cmwnLFxuICAgICAgICAgICdwcm94eV9wYXRoJyxcbiAgICAgICAgICAnbWV0YWRhdGFfbGFuZ3VhZ2UnLFxuICAgICAgICAgICdsb2dpbl91cmwnLFxuICAgICAgICAgICd3ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCcsXG4gICAgICAgICAgJ2xhbmd1YWdlcycsXG4gICAgICAgICAgJ2NvbnRhY3RfZW1haWwnLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBpZiAocGFyc2VkR2xvYmFsU2VjdGlvbj8ubWV0YWRhdGFfbGFuZ3VhZ2UpIHtcbiAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbiA9IGNoZWNrTWV0YWRhdGFMYW5ndWFnZShcbiAgICAgICAgICBwYXJzZWRHbG9iYWxTZWN0aW9uLFxuICAgICAgICAgIHdhcm5pbmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGdsb2JhbENvbmZpZyA9XG4gICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEdONF9BUElfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmdlb25ldHdvcms0X2FwaV91cmwsXG4gICAgICAgICAgICAgIERBVEFIVUJfVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmRhdGFodWJfdXJsLFxuICAgICAgICAgICAgICBQUk9YWV9QQVRIOiBwYXJzZWRHbG9iYWxTZWN0aW9uLnByb3h5X3BhdGgsXG4gICAgICAgICAgICAgIE1FVEFEQVRBX0xBTkdVQUdFOiBwYXJzZWRHbG9iYWxTZWN0aW9uLm1ldGFkYXRhX2xhbmd1YWdlXG4gICAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEdsb2JhbFNlY3Rpb24ubWV0YWRhdGFfbGFuZ3VhZ2UgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgTE9HSU5fVVJMOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxvZ2luX3VybCxcbiAgICAgICAgICAgICAgV0VCX0NPTVBPTkVOVF9FTUJFRERFUl9VUkw6XG4gICAgICAgICAgICAgICAgcGFyc2VkR2xvYmFsU2VjdGlvbi53ZWJfY29tcG9uZW50X2VtYmVkZGVyX3VybCxcbiAgICAgICAgICAgICAgTEFOR1VBR0VTOiBwYXJzZWRHbG9iYWxTZWN0aW9uLmxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgQ09OVEFDVF9FTUFJTDogcGFyc2VkR2xvYmFsU2VjdGlvbi5jb250YWN0X2VtYWlsLFxuICAgICAgICAgICAgfSBhcyBHbG9iYWxDb25maWcpXG5cbiAgICAgIGNvbnN0IHBhcnNlZExheWVyc1NlY3Rpb25zID0gcGFyc2VNdWx0aUNvbmZpZ1NlY3Rpb24oXG4gICAgICAgIHBhcnNlZCxcbiAgICAgICAgJ21hcF9sYXllcicsXG4gICAgICAgIFsndHlwZSddLFxuICAgICAgICBbJ25hbWUnLCAndXJsJywgJ2RhdGEnXSxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9yc1xuICAgICAgKVxuICAgICAgY29uc3QgcGFyc2VkTWFwU2VjdGlvbiA9IHBhcnNlQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAnbWFwJyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnbWF4X3pvb20nLFxuICAgICAgICAgICdtYXhfZXh0ZW50JyxcbiAgICAgICAgICAnYmFzZWxheWVyJyxcbiAgICAgICAgICAnZG9fbm90X3VzZV9kZWZhdWx0X2Jhc2VtYXAnLFxuICAgICAgICAgICdleHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlJyxcbiAgICAgICAgICAnZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYicsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIG1hcENvbmZpZyA9XG4gICAgICAgIHBhcnNlZE1hcFNlY3Rpb24gPT09IG51bGwgfHwgcGFyc2VkTGF5ZXJzU2VjdGlvbnMgPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIE1BWF9aT09NOiBwYXJzZWRNYXBTZWN0aW9uLm1heF96b29tLFxuICAgICAgICAgICAgICBNQVhfRVhURU5UOiBwYXJzZWRNYXBTZWN0aW9uLm1heF9leHRlbnQsXG4gICAgICAgICAgICAgIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU6XG4gICAgICAgICAgICAgICAgcGFyc2VkTWFwU2VjdGlvbi5leHRlcm5hbF92aWV3ZXJfdXJsX3RlbXBsYXRlLFxuICAgICAgICAgICAgICBFWFRFUk5BTF9WSUVXRVJfT1BFTl9ORVdfVEFCOlxuICAgICAgICAgICAgICAgIHBhcnNlZE1hcFNlY3Rpb24uZXh0ZXJuYWxfdmlld2VyX29wZW5fbmV3X3RhYixcbiAgICAgICAgICAgICAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6XG4gICAgICAgICAgICAgICAgISFwYXJzZWRNYXBTZWN0aW9uLmRvX25vdF91c2VfZGVmYXVsdF9iYXNlbWFwLFxuICAgICAgICAgICAgICBNQVBfTEFZRVJTOiBwYXJzZWRMYXllcnNTZWN0aW9ucy5tYXAoXG4gICAgICAgICAgICAgICAgKG1hcF9sYXllcikgPT5cbiAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgIFRZUEU6IG1hcF9sYXllci50eXBlLFxuICAgICAgICAgICAgICAgICAgICBVUkw6IG1hcF9sYXllci51cmwsXG4gICAgICAgICAgICAgICAgICAgIE5BTUU6IG1hcF9sYXllci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBEQVRBOiBtYXBfbGF5ZXIuZGF0YSxcbiAgICAgICAgICAgICAgICAgIH0gYXMgTGF5ZXJDb25maWcpXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9IGFzIE1hcENvbmZpZylcblxuICAgICAgY29uc3QgcGFyc2VkVGhlbWVTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICd0aGVtZScsXG4gICAgICAgIFsncHJpbWFyeV9jb2xvcicsICdzZWNvbmRhcnlfY29sb3InLCAnbWFpbl9jb2xvcicsICdiYWNrZ3JvdW5kX2NvbG9yJ10sXG4gICAgICAgIFtcbiAgICAgICAgICAnaGVhZGVyX2ZvcmVncm91bmRfY29sb3InLFxuICAgICAgICAgICdtYWluX2ZvbnQnLFxuICAgICAgICAgICd0aXRsZV9mb250JyxcbiAgICAgICAgICAnZm9udHNfc3R5bGVzaGVldF91cmwnLFxuICAgICAgICAgICd0aHVtYm5haWxfcGxhY2Vob2xkZXInLFxuICAgICAgICAgICdoZWFkZXJfYmFja2dyb3VuZCcsXG4gICAgICAgICAgJ2Zhdmljb24nLFxuICAgICAgICBdLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICB0aGVtZUNvbmZpZyA9XG4gICAgICAgIHBhcnNlZFRoZW1lU2VjdGlvbiA9PT0gbnVsbFxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgUFJJTUFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnByaW1hcnlfY29sb3IsXG4gICAgICAgICAgICAgIFNFQ09OREFSWV9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLnNlY29uZGFyeV9jb2xvcixcbiAgICAgICAgICAgICAgTUFJTl9DT0xPUjogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fY29sb3IsXG4gICAgICAgICAgICAgIEJBQ0tHUk9VTkRfQ09MT1I6IHBhcnNlZFRoZW1lU2VjdGlvbi5iYWNrZ3JvdW5kX2NvbG9yLFxuICAgICAgICAgICAgICBIRUFERVJfRk9SRUdST1VORF9DT0xPUjpcbiAgICAgICAgICAgICAgICBwYXJzZWRUaGVtZVNlY3Rpb24uaGVhZGVyX2ZvcmVncm91bmRfY29sb3IsXG4gICAgICAgICAgICAgIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogcGFyc2VkVGhlbWVTZWN0aW9uLnRodW1ibmFpbF9wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgSEVBREVSX0JBQ0tHUk9VTkQ6IHBhcnNlZFRoZW1lU2VjdGlvbi5oZWFkZXJfYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgVElUTEVfRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLnRpdGxlX2ZvbnQsXG4gICAgICAgICAgICAgIE1BSU5fRk9OVDogcGFyc2VkVGhlbWVTZWN0aW9uLm1haW5fZm9udCxcbiAgICAgICAgICAgICAgRk9OVFNfU1RZTEVTSEVFVF9VUkw6IHBhcnNlZFRoZW1lU2VjdGlvbi5mb250c19zdHlsZXNoZWV0X3VybCxcbiAgICAgICAgICAgICAgRkFWSUNPTjogcGFyc2VkVGhlbWVTZWN0aW9uLmZhdmljb24sXG4gICAgICAgICAgICB9IGFzIFRoZW1lQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRTZWFyY2hTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdzZWFyY2gnLFxuICAgICAgICBbXSxcbiAgICAgICAgW1xuICAgICAgICAgICdmaWx0ZXJfZ2VvbWV0cnlfZGF0YScsXG4gICAgICAgICAgJ2ZpbHRlcl9nZW9tZXRyeV91cmwnLFxuICAgICAgICAgICdzZWFyY2hfcHJlc2V0JyxcbiAgICAgICAgICAnYWR2YW5jZWRfZmlsdGVycycsXG4gICAgICAgIF0sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIGNvbnN0IHBhcnNlZFNlYXJjaFBhcmFtcyA9IHBhcnNlTXVsdGlDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdzZWFyY2hfcHJlc2V0JyxcbiAgICAgICAgWyduYW1lJ10sXG4gICAgICAgIFsnc29ydCcsICdmaWx0ZXJzJ10sXG4gICAgICAgIHdhcm5pbmdzLFxuICAgICAgICBlcnJvcnNcbiAgICAgIClcbiAgICAgIHNlYXJjaENvbmZpZyA9XG4gICAgICAgIHBhcnNlZFNlYXJjaFNlY3Rpb24gPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIEZJTFRFUl9HRU9NRVRSWV9EQVRBOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV9kYXRhLFxuICAgICAgICAgICAgICBGSUxURVJfR0VPTUVUUllfVVJMOiBwYXJzZWRTZWFyY2hTZWN0aW9uLmZpbHRlcl9nZW9tZXRyeV91cmwsXG4gICAgICAgICAgICAgIFNFQVJDSF9QUkVTRVQ6IHBhcnNlZFNlYXJjaFBhcmFtcy5tYXAoKHBhcmFtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHNvcnQ6IHBhcmFtLnNvcnQsXG4gICAgICAgICAgICAgICAgbmFtZTogcGFyYW0ubmFtZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBwYXJhbS5maWx0ZXJzLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgIEFEVkFOQ0VEX0ZJTFRFUlM6IHBhcnNlZFNlYXJjaFNlY3Rpb24uYWR2YW5jZWRfZmlsdGVycyxcbiAgICAgICAgICAgIH0gYXMgU2VhcmNoQ29uZmlnKVxuXG4gICAgICBjb25zdCBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uID0gcGFyc2VDb25maWdTZWN0aW9uKFxuICAgICAgICBwYXJzZWQsXG4gICAgICAgICdtZXRhZGF0YS1xdWFsaXR5JyxcbiAgICAgICAgW10sXG4gICAgICAgIFsnZW5hYmxlZCddLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzXG4gICAgICApXG4gICAgICBtZXRhZGF0YVF1YWxpdHlDb25maWcgPVxuICAgICAgICBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uID09PSBudWxsXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICBFTkFCTEVEOiBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uLmVuYWJsZWQsXG4gICAgICAgICAgICAgIFNPUlRBQkxFOiBwYXJzZWRNZXRhZGF0YVF1YWxpdHlTZWN0aW9uLnNvcnRhYmxlLFxuICAgICAgICAgICAgfSBhcyBNZXRhZGF0YVF1YWxpdHlDb25maWcpXG5cbiAgICAgIGN1c3RvbVRyYW5zbGF0aW9ucyA9IHBhcnNlVHJhbnNsYXRpb25zQ29uZmlnU2VjdGlvbihcbiAgICAgICAgcGFyc2VkLFxuICAgICAgICAndHJhbnNsYXRpb25zJ1xuICAgICAgKSBhcyBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXNcblxuICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBPbmUgb3IgbW9yZSBtYW5kYXRvcnkgc2V0dGluZ3Mgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiR7ZXJyb3JzLmpvaW4oJ1xcbicpfWApXG4gICAgICB9IGVsc2UgaWYgKHdhcm5pbmdzLmxlbmd0aCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYE9uZSBvciBtb3JlIHVuZXhwZWN0ZWQgc2V0dGluZ3Mgd2VyZSBlbmNvdW50ZXJlZCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlLlxuJHt3YXJuaW5ncy5qb2luKCdcXG4nKX1gKVxuICAgICAgfVxuXG4gICAgICBhcHBDb25maWdMb2FkZWQgPSB0cnVlXG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29uZmlnTG9hZGVkKCkge1xuICByZXR1cm4gYXBwQ29uZmlnTG9hZGVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfcmVzZXQoKSB7XG4gIGdsb2JhbENvbmZpZyA9IG51bGxcbiAgdGhlbWVDb25maWcgPSBudWxsXG4gIGN1c3RvbVRyYW5zbGF0aW9ucyA9IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9XSVRIX09WRVJSSURFU19DT05GSUcgPSB7XG4gIGNvbXBpbGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlQ29tcGlsZXIsXG4gICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbiAgfSxcbiAgbG9hZGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgIHVzZUZhY3Rvcnk6IGZ1bmN0aW9uIEh0dHBMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICAgIHJldHVybiBuZXcgRmlsZVdpdGhPdmVycmlkZXNUcmFuc2xhdGVMb2FkZXIoaHR0cCwgJy4vYXNzZXRzL2kxOG4vJylcbiAgICB9LFxuICAgIGRlZmF1bHRMYW5ndWFnZTogREVGQVVMVF9MQU5HLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgfSxcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvYXBwLWNvbmZpZy9zcmMvbGliL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnIHtcbiAgR040X0FQSV9VUkw6IHN0cmluZ1xuICBEQVRBSFVCX1VSTD86IHN0cmluZ1xuICBQUk9YWV9QQVRIPzogc3RyaW5nXG4gIE1FVEFEQVRBX0xBTkdVQUdFPzogc3RyaW5nXG4gIExPR0lOX1VSTD86IHN0cmluZ1xuICBXRUJfQ09NUE9ORU5UX0VNQkVEREVSX1VSTD86IHN0cmluZ1xuICBMQU5HVUFHRVM/OiBzdHJpbmdbXVxuICBDT05UQUNUX0VNQUlMPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJDb25maWcge1xuICBUWVBFOiAneHl6JyB8ICd3bXMnIHwgJ3dmcycgfCAnZ2VvanNvbidcbiAgVVJMPzogc3RyaW5nXG4gIE5BTUU/OiBzdHJpbmdcbiAgREFUQT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcENvbmZpZyB7XG4gIE1BWF9aT09NPzogbnVtYmVyXG4gIE1BWF9FWFRFTlQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSAvLyBFeHByZXNzZWQgYXMgW21pbngsIG1pbnksIG1heHgsIG1heHldXG4gIEVYVEVSTkFMX1ZJRVdFUl9VUkxfVEVNUExBVEU/OiBzdHJpbmdcbiAgRVhURVJOQUxfVklFV0VSX09QRU5fTkVXX1RBQj86IGJvb2xlYW5cbiAgRE9fTk9UX1VTRV9ERUZBVUxUX0JBU0VNQVA6IGJvb2xlYW5cbiAgTUFQX0xBWUVSUzogTGF5ZXJDb25maWdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lQ29uZmlnIHtcbiAgUFJJTUFSWV9DT0xPUjogc3RyaW5nXG4gIFNFQ09OREFSWV9DT0xPUjogc3RyaW5nXG4gIE1BSU5fQ09MT1I6IHN0cmluZ1xuICBCQUNLR1JPVU5EX0NPTE9SOiBzdHJpbmdcbiAgSEVBREVSX0ZPUkVHUk9VTkRfQ09MT1I6IHN0cmluZ1xuICBIRUFERVJfQkFDS0dST1VORDogc3RyaW5nXG4gIFRIVU1CTkFJTF9QTEFDRUhPTERFUjogc3RyaW5nXG4gIE1BSU5fRk9OVD86IHN0cmluZ1xuICBUSVRMRV9GT05UPzogc3RyaW5nXG4gIEZPTlRTX1NUWUxFU0hFRVRfVVJMPzogc3RyaW5nXG4gIEZBVklDT04/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQcmVzZXQge1xuICBzb3J0OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdIHwgc3RyaW5nPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbmZpZyB7XG4gIEZJTFRFUl9HRU9NRVRSWV9VUkw/OiBzdHJpbmdcbiAgRklMVEVSX0dFT01FVFJZX0RBVEE/OiBzdHJpbmdcbiAgU0VBUkNIX1BSRVNFVD86IFNlYXJjaFByZXNldFtdXG4gIEFEVkFOQ0VEX0ZJTFRFUlM/OiBbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUNvbmZpZyB7XG4gIEVOQUJMRUQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tVHJhbnNsYXRpb25zID0geyBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZyB9XG5leHBvcnQgdHlwZSBDdXN0b21UcmFuc2xhdGlvbnNBbGxMYW5ndWFnZXMgPSB7XG4gIFtsYW5nOiBzdHJpbmddOiBDdXN0b21UcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBGSUxURVJfR0VPTUVUUlk/OiBHZW9tZXRyeVxufVxuIl19
|
|
@@ -74,6 +74,13 @@ export class ThemeService {
|
|
|
74
74
|
}
|
|
75
75
|
return chroma.hsl(hue % 360, saturation, lightness).css();
|
|
76
76
|
}
|
|
77
|
+
static setFavicon(faviconPath) {
|
|
78
|
+
const link = document.querySelector("link[rel*='icon']") ||
|
|
79
|
+
document.createElement('link');
|
|
80
|
+
link['rel'] = 'icon';
|
|
81
|
+
link['href'] = faviconPath;
|
|
82
|
+
document.getElementsByTagName('head')[0].appendChild(link);
|
|
83
|
+
}
|
|
77
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
85
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
|
79
86
|
}
|
|
@@ -83,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
83
90
|
providedIn: 'root',
|
|
84
91
|
}]
|
|
85
92
|
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBOztBQUs5QixNQUFNLE9BQU8sWUFBWTtJQUN2Qix1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU8scUJBQXFCLEtBQUs7aUJBQ3RFLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBRVosUUFBUSxJQUFJLGFBQWEsU0FBUyxZQUFZLE9BQU8sNEJBQTRCLEtBQUs7aUJBQ25GLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFB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QixFQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVsQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMzRTtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUE7U0FDRjtRQUVELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1lBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzNELENBQUM7OEdBdklVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgY2hyb21hIGZyb20gJ2Nocm9tYS1qcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lU2VydmljZSB7XG4gIC8vIEZJWE1FOiB0aGlzIHNob3VsZG4ndCBiZSBuZWNlc3NhcnksIHRoZSBhcHAgY29uZmlnIHNob3VsZCBiZSByZWFkIGluc3RlYWQsIHRvIHJlbW92ZVxuICBzdGF0aWMgZ2V0Q29sb3IobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGAtLWNvbG9yLSR7bmFtZX1gKVxuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlQmdPcGFjaXR5Q2xhc3NlcyhcbiAgICBjb2xvck5hbWUsXG4gICAgY29sb3JWYWx1ZSxcbiAgICBvcGFjaXRpZXMgPSBbMCwgMTAsIDI1LCA1MCwgNzVdXG4gICkge1xuICAgIGNvbnN0IGNvbG9yID0gY2hyb21hKGNvbG9yVmFsdWUpXG4gICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKVxuICAgIHN0eWxlRWxlbWVudC5pbm5lckhUTUwgPSBvcGFjaXRpZXMucmVkdWNlKChjc3NSdWxlcywgb3BhY2l0eSkgPT4ge1xuICAgICAgY3NzUnVsZXMgKz0gYC5iZy0ke2NvbG9yTmFtZX0tb3BhY2l0eS0ke29wYWNpdHl9e2JhY2tncm91bmQtY29sb3I6JHtjb2xvclxuICAgICAgICAuYWxwaGEob3BhY2l0eSAvIDEwMClcbiAgICAgICAgLmNzcygpfTt9YFxuXG4gICAgICBjc3NSdWxlcyArPSBgLmhvdmVyLWJnLSR7Y29sb3JOYW1lfS1vcGFjaXR5LSR7b3BhY2l0eX06aG92ZXIge2JhY2tncm91bmQtY29sb3I6JHtjb2xvclxuICAgICAgICAuYWxwaGEob3BhY2l0eSAvIDEwMClcbiAgICAgICAgLmNzcygpfTt9YFxuICAgICAgcmV0dXJuIGNzc1J1bGVzXG4gICAgfSwgJycpXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpXG4gIH1cblxuICBzdGF0aWMgYXBwbHlDc3NWYXJpYWJsZXMoXG4gICAgcHJpbWFyeUNvbG9yOiBzdHJpbmcsXG4gICAgc2Vjb25kYXJ5Q29sb3I6IHN0cmluZyxcbiAgICBtYWluQ29sb3I6IHN0cmluZyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyxcbiAgICBtYWluRm9udD86IHN0cmluZyxcbiAgICB0aXRsZUZvbnQ/OiBzdHJpbmcsXG4gICAgZm9udHNTdHlsZXNoZWV0VXJsPzogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IGFwcGx5Q29sb3IgPSAobmFtZTogc3RyaW5nLCBjb2xvcikgPT4ge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWNvbG9yLSR7bmFtZX1gLCBjb2xvci5jc3MoKSlcbiAgICB9XG5cbiAgICBjb25zdCBibGFjayA9IGNocm9tYSgnYmxhY2snKVxuICAgIGNvbnN0IHdoaXRlID0gY2hyb21hKCd3aGl0ZScpXG4gICAgYXBwbHlDb2xvcigncHJpbWFyeScsIGNocm9tYShwcmltYXJ5Q29sb3IpKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1saWdodGVyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LWxpZ2h0ZXN0JyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LXdoaXRlJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuODUpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1kYXJrZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC4zKVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktZGFya2VzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1ibGFjaycsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKCdzZWNvbmRhcnknLCBjaHJvbWEoc2Vjb25kYXJ5Q29sb3IpKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWxpZ2h0ZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWxpZ2h0ZXN0JyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIHdoaXRlXSkubW9kZSgnbGFiJykoMC42KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS13aGl0ZScsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuODUpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWRhcmtlcicsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktZGFya2VzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktYmxhY2snLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKCdtYWluJywgY2hyb21hKG1haW5Db2xvcikpXG4gICAgYXBwbHlDb2xvcignYmFja2dyb3VuZCcsIGNocm9tYShiYWNrZ3JvdW5kQ29sb3IpKVxuXG4gICAgY29uc3Qgc2NhbGUgPSBjaHJvbWEuc2NhbGUoW2JhY2tncm91bmRDb2xvciwgbWFpbkNvbG9yXSkubW9kZSgnbHJnYicpXG4gICAgYXBwbHlDb2xvcignZ3JheS01MCcsIHNjYWxlKDAuMDUpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktMTAwJywgc2NhbGUoMC4xKSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTIwMCcsIHNjYWxlKDAuMikpXG4gICAgYXBwbHlDb2xvcignZ3JheS0zMDAnLCBzY2FsZSgwLjMpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNDAwJywgc2NhbGUoMC40KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTUwMCcsIHNjYWxlKDAuNSkpXG4gICAgYXBwbHlDb2xvcignZ3JheS02MDAnLCBzY2FsZSgwLjYpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNzAwJywgc2NhbGUoMC43KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTgwMCcsIHNjYWxlKDAuOCkpXG4gICAgYXBwbHlDb2xvcignZ3JheS05MDAnLCBzY2FsZSgwLjkpKVxuXG4gICAgaWYgKG1haW5Gb250KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tZm9udC1mYW1pbHktbWFpbmAsIG1haW5Gb250KVxuICAgIH1cbiAgICBpZiAodGl0bGVGb250KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgIGAtLWZvbnQtZmFtaWx5LXRpdGxlYCxcbiAgICAgICAgdGl0bGVGb250XG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKGZvbnRzU3R5bGVzaGVldFVybCkge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxuICAgICAgbGluay5ocmVmID0gZm9udHNTdHlsZXNoZWV0VXJsXG4gICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0J1xuICAgICAgbGluay50eXBlID0gJ3RleHQvY3NzJ1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQobGluaylcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2VuZXJhdGVMYWJlbENvbG9yKFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgc2F0dXJhdGlvbjogbnVtYmVyLFxuICAgIGxpZ2h0bmVzczogbnVtYmVyXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGh1ZSA9IDBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxhYmVsLmxlbmd0aDsgaSsrKSB7XG4gICAgICBodWUgKz0gbGFiZWwuY2hhckNvZGVBdChpKVxuICAgIH1cbiAgICByZXR1cm4gY2hyb21hLmhzbChodWUgJSAzNjAsIHNhdHVyYXRpb24sIGxpZ2h0bmVzcykuY3NzKClcbiAgfVxufVxuIl19
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBOztBQUs5QixNQUFNLE9BQU8sWUFBWTtJQUN2Qix1RkFBdUY7SUFDdkYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQzdCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUUvQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNwRCxZQUFZLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxJQUFJLE9BQU8sU0FBUyxZQUFZLE9BQU8scUJBQXFCLEtBQUs7aUJBQ3RFLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFBO1lBRVosUUFBUSxJQUFJLGFBQWEsU0FBUyxZQUFZLE9BQU8sNEJBQTRCLEtBQUs7aUJBQ25GLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2lCQUNwQixHQUFHLEVBQUUsSUFB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QixFQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLG1CQUFtQixFQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2RCxDQUFBO1FBQ0QsVUFBVSxDQUNSLGlCQUFpQixFQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN4RCxDQUFBO1FBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO1FBRWpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDbEMsVUFBVSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVsQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMzRTtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN4QyxxQkFBcUIsRUFDckIsU0FBUyxDQUNWLENBQUE7U0FDRjtRQUVELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1lBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFBO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzNCO1FBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQzNELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQW1CO1FBQ25DLE1BQU0sSUFBSSxHQUNSLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUM7WUFDM0MsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUE7UUFDMUIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1RCxDQUFDOzhHQWhKVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IGNocm9tYSBmcm9tICdjaHJvbWEtanMnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xuICAvLyBGSVhNRTogdGhpcyBzaG91bGRuJ3QgYmUgbmVjZXNzYXJ5LCB0aGUgYXBwIGNvbmZpZyBzaG91bGQgYmUgcmVhZCBpbnN0ZWFkLCB0byByZW1vdmVcbiAgc3RhdGljIGdldENvbG9yKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShgLS1jb2xvci0ke25hbWV9YClcbiAgfVxuXG4gIHN0YXRpYyBnZW5lcmF0ZUJnT3BhY2l0eUNsYXNzZXMoXG4gICAgY29sb3JOYW1lLFxuICAgIGNvbG9yVmFsdWUsXG4gICAgb3BhY2l0aWVzID0gWzAsIDEwLCAyNSwgNTAsIDc1XVxuICApIHtcbiAgICBjb25zdCBjb2xvciA9IGNocm9tYShjb2xvclZhbHVlKVxuICAgIGNvbnN0IHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJylcbiAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MID0gb3BhY2l0aWVzLnJlZHVjZSgoY3NzUnVsZXMsIG9wYWNpdHkpID0+IHtcbiAgICAgIGNzc1J1bGVzICs9IGAuYmctJHtjb2xvck5hbWV9LW9wYWNpdHktJHtvcGFjaXR5fXtiYWNrZ3JvdW5kLWNvbG9yOiR7Y29sb3JcbiAgICAgICAgLmFscGhhKG9wYWNpdHkgLyAxMDApXG4gICAgICAgIC5jc3MoKX07fWBcblxuICAgICAgY3NzUnVsZXMgKz0gYC5ob3Zlci1iZy0ke2NvbG9yTmFtZX0tb3BhY2l0eS0ke29wYWNpdHl9OmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiR7Y29sb3JcbiAgICAgICAgLmFscGhhKG9wYWNpdHkgLyAxMDApXG4gICAgICAgIC5jc3MoKX07fWBcbiAgICAgIHJldHVybiBjc3NSdWxlc1xuICAgIH0sICcnKVxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KVxuICB9XG5cbiAgc3RhdGljIGFwcGx5Q3NzVmFyaWFibGVzKFxuICAgIHByaW1hcnlDb2xvcjogc3RyaW5nLFxuICAgIHNlY29uZGFyeUNvbG9yOiBzdHJpbmcsXG4gICAgbWFpbkNvbG9yOiBzdHJpbmcsXG4gICAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcsXG4gICAgbWFpbkZvbnQ/OiBzdHJpbmcsXG4gICAgdGl0bGVGb250Pzogc3RyaW5nLFxuICAgIGZvbnRzU3R5bGVzaGVldFVybD86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBhcHBseUNvbG9yID0gKG5hbWU6IHN0cmluZywgY29sb3IpID0+IHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1jb2xvci0ke25hbWV9YCwgY29sb3IuY3NzKCkpXG4gICAgfVxuXG4gICAgY29uc3QgYmxhY2sgPSBjaHJvbWEoJ2JsYWNrJylcbiAgICBjb25zdCB3aGl0ZSA9IGNocm9tYSgnd2hpdGUnKVxuICAgIGFwcGx5Q29sb3IoJ3ByaW1hcnknLCBjaHJvbWEocHJpbWFyeUNvbG9yKSlcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktbGlnaHRlcicsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS1saWdodGVzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAncHJpbWFyeS13aGl0ZScsXG4gICAgICBjaHJvbWEuc2NhbGUoW3ByaW1hcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktZGFya2VyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbcHJpbWFyeUNvbG9yLCBibGFja10pLm1vZGUoJ2xhYicpKDAuMylcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdwcmltYXJ5LWRhcmtlc3QnLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC42KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3ByaW1hcnktYmxhY2snLFxuICAgICAgY2hyb21hLnNjYWxlKFtwcmltYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC44NSlcbiAgICApXG4gICAgYXBwbHlDb2xvcignc2Vjb25kYXJ5JywgY2hyb21hKHNlY29uZGFyeUNvbG9yKSlcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1saWdodGVyJyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIHdoaXRlXSkubW9kZSgnbGFiJykoMC4zKVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1saWdodGVzdCcsXG4gICAgICBjaHJvbWEuc2NhbGUoW3NlY29uZGFyeUNvbG9yLCB3aGl0ZV0pLm1vZGUoJ2xhYicpKDAuNilcbiAgICApXG4gICAgYXBwbHlDb2xvcihcbiAgICAgICdzZWNvbmRhcnktd2hpdGUnLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgd2hpdGVdKS5tb2RlKCdsYWInKSgwLjg1KVxuICAgIClcbiAgICBhcHBseUNvbG9yKFxuICAgICAgJ3NlY29uZGFyeS1kYXJrZXInLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjMpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWRhcmtlc3QnLFxuICAgICAgY2hyb21hLnNjYWxlKFtzZWNvbmRhcnlDb2xvciwgYmxhY2tdKS5tb2RlKCdsYWInKSgwLjYpXG4gICAgKVxuICAgIGFwcGx5Q29sb3IoXG4gICAgICAnc2Vjb25kYXJ5LWJsYWNrJyxcbiAgICAgIGNocm9tYS5zY2FsZShbc2Vjb25kYXJ5Q29sb3IsIGJsYWNrXSkubW9kZSgnbGFiJykoMC44NSlcbiAgICApXG4gICAgYXBwbHlDb2xvcignbWFpbicsIGNocm9tYShtYWluQ29sb3IpKVxuICAgIGFwcGx5Q29sb3IoJ2JhY2tncm91bmQnLCBjaHJvbWEoYmFja2dyb3VuZENvbG9yKSlcblxuICAgIGNvbnN0IHNjYWxlID0gY2hyb21hLnNjYWxlKFtiYWNrZ3JvdW5kQ29sb3IsIG1haW5Db2xvcl0pLm1vZGUoJ2xyZ2InKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNTAnLCBzY2FsZSgwLjA1KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTEwMCcsIHNjYWxlKDAuMSkpXG4gICAgYXBwbHlDb2xvcignZ3JheS0yMDAnLCBzY2FsZSgwLjIpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktMzAwJywgc2NhbGUoMC4zKSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTQwMCcsIHNjYWxlKDAuNCkpXG4gICAgYXBwbHlDb2xvcignZ3JheS01MDAnLCBzY2FsZSgwLjUpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktNjAwJywgc2NhbGUoMC42KSlcbiAgICBhcHBseUNvbG9yKCdncmF5LTcwMCcsIHNjYWxlKDAuNykpXG4gICAgYXBwbHlDb2xvcignZ3JheS04MDAnLCBzY2FsZSgwLjgpKVxuICAgIGFwcGx5Q29sb3IoJ2dyYXktOTAwJywgc2NhbGUoMC45KSlcblxuICAgIGlmIChtYWluRm9udCkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWZvbnQtZmFtaWx5LW1haW5gLCBtYWluRm9udClcbiAgICB9XG4gICAgaWYgKHRpdGxlRm9udCkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICBgLS1mb250LWZhbWlseS10aXRsZWAsXG4gICAgICAgIHRpdGxlRm9udFxuICAgICAgKVxuICAgIH1cblxuICAgIGlmIChmb250c1N0eWxlc2hlZXRVcmwpIHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJylcbiAgICAgIGxpbmsuaHJlZiA9IGZvbnRzU3R5bGVzaGVldFVybFxuICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCdcbiAgICAgIGxpbmsudHlwZSA9ICd0ZXh0L2NzcydcbiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKGxpbmspXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlTGFiZWxDb2xvcihcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIHNhdHVyYXRpb246IG51bWJlcixcbiAgICBsaWdodG5lc3M6IG51bWJlclxuICApOiBzdHJpbmcge1xuICAgIGxldCBodWUgPSAwXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYWJlbC5sZW5ndGg7IGkrKykge1xuICAgICAgaHVlICs9IGxhYmVsLmNoYXJDb2RlQXQoaSlcbiAgICB9XG4gICAgcmV0dXJuIGNocm9tYS5oc2woaHVlICUgMzYwLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpLmNzcygpXG4gIH1cblxuICBzdGF0aWMgc2V0RmF2aWNvbihmYXZpY29uUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbGluayA9XG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibGlua1tyZWwqPSdpY29uJ11cIikgfHxcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxuICAgIGxpbmtbJ3JlbCddID0gJ2ljb24nXG4gICAgbGlua1snaHJlZiddID0gZmF2aWNvblBhdGhcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKGxpbmspXG4gIH1cbn1cbiJdfQ==
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "Organisationen",
|
|
111
111
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
112
112
|
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten von meiner Organisation</div>",
|
|
113
|
+
"datahub.news.contact.contactus": "",
|
|
114
|
+
"datahub.news.contact.html": "",
|
|
115
|
+
"datahub.news.contact.title": "",
|
|
113
116
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
114
117
|
"datahub.news.figures": "Indikatoren",
|
|
115
118
|
"datahub.search.back": "Zurück zu den Ergebnissen",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
"dashboard.records.myRecords": "My Records",
|
|
25
25
|
"dashboard.records.noRecord": "No record for this organization",
|
|
26
26
|
"dashboard.records.noUser": "No users for this organization",
|
|
27
|
-
"dashboard.records.publishedRecords": "published records",
|
|
27
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
|
|
28
28
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
29
29
|
"dashboard.records.userDetail": "Name",
|
|
30
30
|
"dashboard.records.userEmail": "Email",
|
|
31
31
|
"dashboard.records.username": "Username",
|
|
32
|
-
"dashboard.records.users": "users",
|
|
32
|
+
"dashboard.records.users": "{count, plural, =1{user} other{users}}",
|
|
33
33
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
|
|
34
34
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
|
|
35
35
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "Organisations",
|
|
111
111
|
"datahub.header.popularRecords": "The most popular",
|
|
112
112
|
"datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
|
|
113
|
+
"datahub.news.contact.contactus": "Contact us",
|
|
114
|
+
"datahub.news.contact.html": "<p>Do you need data that is not currently present on the platform?</p><p>Our teams are here to answer you.</p>",
|
|
115
|
+
"datahub.news.contact.title": "A specific need?",
|
|
113
116
|
"datahub.news.feed": "News feed",
|
|
114
117
|
"datahub.news.figures": "Indicators",
|
|
115
118
|
"datahub.search.back": "Back to results",
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "",
|
|
111
111
|
"datahub.header.popularRecords": "",
|
|
112
112
|
"datahub.header.title.html": "",
|
|
113
|
+
"datahub.news.contact.contactus": "",
|
|
114
|
+
"datahub.news.contact.html": "",
|
|
115
|
+
"datahub.news.contact.title": "",
|
|
113
116
|
"datahub.news.feed": "",
|
|
114
117
|
"datahub.news.figures": "",
|
|
115
118
|
"datahub.search.back": "",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
"dashboard.records.myRecords": "Mes fiches publiées",
|
|
25
25
|
"dashboard.records.noRecord": "Aucun jeu de données pour cette organisation",
|
|
26
26
|
"dashboard.records.noUser": "Aucun utilisateur pour cette organisation",
|
|
27
|
-
"dashboard.records.publishedRecords": "données publiées",
|
|
27
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
|
|
28
28
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
29
29
|
"dashboard.records.userDetail": "Nom",
|
|
30
30
|
"dashboard.records.userEmail": "Email",
|
|
31
31
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
32
|
-
"dashboard.records.users": "utilisateurs",
|
|
32
|
+
"dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
|
|
33
33
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
|
|
34
34
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
|
|
35
35
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n des données",
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "Organisations",
|
|
111
111
|
"datahub.header.popularRecords": "Les plus appréciées",
|
|
112
112
|
"datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
|
|
113
|
+
"datahub.news.contact.contactus": "Contactez-nous",
|
|
114
|
+
"datahub.news.contact.html": "<p>Vous avez besoin de données qui ne sont pas présentes sur la plateforme actuellement ? </p><p> Nos équipes sont la pour vous répondre.</p>",
|
|
115
|
+
"datahub.news.contact.title": "Un besoin spécifique ?",
|
|
113
116
|
"datahub.news.feed": "Fil d'activité",
|
|
114
117
|
"datahub.news.figures": "Quelques chiffres",
|
|
115
118
|
"datahub.search.back": "Retour aux résultats",
|
|
@@ -252,10 +255,10 @@
|
|
|
252
255
|
"record.was.created.time": "a créé ce jeu de données {time}",
|
|
253
256
|
"records": "enregistrements",
|
|
254
257
|
"results.layout.selectOne": "Affichage des résultats",
|
|
255
|
-
"results.records.hits.displayedOn": "",
|
|
258
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Aucun enregistrement} one{1 enregistrement affiché} other{{displayed} enregistrements affichés}} {hits, plural, other{sur {hits} au total.}}",
|
|
256
259
|
"results.records.hits.empty.help.html": "Suggestions : <ul class='list-disc list-inside'><li>Essayez d'autres mots clés</li><li>Cherchez moins de mots</li></ul>",
|
|
257
260
|
"results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 enregistrement trouvé.} other{{hits} résultats.}}",
|
|
258
|
-
"results.records.hits.selected": "",
|
|
261
|
+
"results.records.hits.selected": "{amount, plural, one{1 selectionnée} other{{ amount } sélectionnées}}",
|
|
259
262
|
"results.showMore": "Plus de résultats...",
|
|
260
263
|
"results.sortBy.dateStamp": "Plus récent",
|
|
261
264
|
"results.sortBy.popularity": "Popularité",
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "Organizzazioni",
|
|
111
111
|
"datahub.header.popularRecords": "Più popolari",
|
|
112
112
|
"datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
|
|
113
|
+
"datahub.news.contact.contactus": "",
|
|
114
|
+
"datahub.news.contact.html": "",
|
|
115
|
+
"datahub.news.contact.title": "",
|
|
113
116
|
"datahub.news.feed": "Feed di attività",
|
|
114
117
|
"datahub.news.figures": "Alcune figure",
|
|
115
118
|
"datahub.search.back": "Torna ai risultati",
|
|
@@ -139,6 +142,7 @@
|
|
|
139
142
|
"downloads.format.unknown": "sconosciuto",
|
|
140
143
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
141
144
|
"dropFile": "Trascina il suo file",
|
|
145
|
+
"externalviewer.dataset.unnamed": "",
|
|
142
146
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
143
147
|
"facets.block.title.availableInServices": "Disponibile per",
|
|
144
148
|
"facets.block.title.cl_hierarchyLevel.key": "Tipo di risorsa",
|
|
@@ -305,6 +309,8 @@
|
|
|
305
309
|
"tooltip.html.copy": "Copiare il HTML",
|
|
306
310
|
"tooltip.url.copy": "Copiare l'URL",
|
|
307
311
|
"tooltip.url.open": "Aprire l'URL",
|
|
312
|
+
"ui.readLess": "",
|
|
313
|
+
"ui.readMore": "",
|
|
308
314
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
309
315
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
310
316
|
"wfs.unreachable.cors": "Il servizio non è accessibile a causa di limitazioni CORS",
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "",
|
|
111
111
|
"datahub.header.popularRecords": "",
|
|
112
112
|
"datahub.header.title.html": "",
|
|
113
|
+
"datahub.news.contact.contactus": "",
|
|
114
|
+
"datahub.news.contact.html": "",
|
|
115
|
+
"datahub.news.contact.title": "",
|
|
113
116
|
"datahub.news.feed": "",
|
|
114
117
|
"datahub.news.figures": "",
|
|
115
118
|
"datahub.search.back": "",
|
|
@@ -110,6 +110,9 @@
|
|
|
110
110
|
"datahub.header.organisations": "",
|
|
111
111
|
"datahub.header.popularRecords": "",
|
|
112
112
|
"datahub.header.title.html": "",
|
|
113
|
+
"datahub.news.contact.contactus": "",
|
|
114
|
+
"datahub.news.contact.html": "",
|
|
115
|
+
"datahub.news.contact.title": "",
|
|
113
116
|
"datahub.news.feed": "",
|
|
114
117
|
"datahub.news.figures": "",
|
|
115
118
|
"datahub.search.back": "",
|