valtech-components 2.0.289 → 2.0.291
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/lib/components/atoms/text/text.component.mjs +3 -3
- package/esm2022/lib/examples/comprehensive-link-test.component.mjs +208 -0
- package/esm2022/lib/examples/link-processing-example.component.mjs +47 -3
- package/esm2022/lib/services/link-processor.service.mjs +85 -36
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/valtech-components.mjs +338 -40
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/examples/comprehensive-link-test.component.d.ts +23 -0
- package/lib/examples/link-processing-example.component.d.ts +2 -0
- package/lib/services/link-processor.service.d.ts +6 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/lib/components/styles/overrides.scss +34 -0
|
@@ -21,13 +21,32 @@ import * as i1 from "@angular/platform-browser";
|
|
|
21
21
|
export class LinkProcessorService {
|
|
22
22
|
constructor(sanitizer) {
|
|
23
23
|
this.sanitizer = sanitizer;
|
|
24
|
-
// Regex para detectar URLs completas (http/https) -
|
|
25
|
-
this.urlRegex = /(https?:\/\/[^\s
|
|
26
|
-
// Regex para detectar rutas internas
|
|
27
|
-
this.internalRouteRegex = /(\s|^)(\/[^\s
|
|
24
|
+
// Regex para detectar URLs completas (http/https) - captura toda la URL y luego limpiamos puntuación
|
|
25
|
+
this.urlRegex = /(https?:\/\/[^\s]+)/g;
|
|
26
|
+
// Regex para detectar rutas internas - captura toda la ruta y luego limpiamos puntuación
|
|
27
|
+
this.internalRouteRegex = /(\s|^)(\/[^\s]*)/g;
|
|
28
28
|
// Regex para detectar enlaces estilo Markdown [texto](url)
|
|
29
29
|
this.markdownLinkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Limpia la puntuación del final de una URL.
|
|
33
|
+
* Mantiene caracteres válidos de URL pero remueve signos de puntuación comunes al final.
|
|
34
|
+
* Preserva parámetros de consulta, fragmentos y caracteres válidos en URLs.
|
|
35
|
+
*/
|
|
36
|
+
cleanUrlPunctuation(url) {
|
|
37
|
+
// Caracteres que consideramos puntuación al final de oración, pero NO parte de URLs
|
|
38
|
+
// No incluimos & o = que son parte de query params, ni # que es parte de fragmentos
|
|
39
|
+
const trailingPunctuation = /[.,;!?)]+$/;
|
|
40
|
+
// Casos especiales: si la URL termina con paréntesis pero no tiene paréntesis de apertura
|
|
41
|
+
// probablemente el paréntesis no es parte de la URL
|
|
42
|
+
const hasOpeningParen = url.includes('(');
|
|
43
|
+
const endsWithClosingParen = url.endsWith(')');
|
|
44
|
+
if (endsWithClosingParen && !hasOpeningParen) {
|
|
45
|
+
// Remover el paréntesis de cierre si no hay uno de apertura
|
|
46
|
+
url = url.replace(/\)$/, '');
|
|
47
|
+
}
|
|
48
|
+
return url.replace(trailingPunctuation, '');
|
|
49
|
+
}
|
|
31
50
|
/**
|
|
32
51
|
* Procesa texto para convertir enlaces en elementos <a> clickeables.
|
|
33
52
|
* Detecta automáticamente URLs externas, rutas internas y enlaces estilo Markdown.
|
|
@@ -56,10 +75,15 @@ export class LinkProcessorService {
|
|
|
56
75
|
let hasLinks = false;
|
|
57
76
|
let processedText = text;
|
|
58
77
|
// 1. Procesar enlaces estilo Markdown [texto](url) primero
|
|
59
|
-
if (processMarkdownLinks
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
78
|
+
if (processMarkdownLinks) {
|
|
79
|
+
const markdownMatches = Array.from(processedText.matchAll(this.markdownLinkRegex));
|
|
80
|
+
// Procesar de atrás hacia adelante para mantener las posiciones
|
|
81
|
+
for (let i = markdownMatches.length - 1; i >= 0; i--) {
|
|
82
|
+
const match = markdownMatches[i];
|
|
83
|
+
const [fullMatch, linkText, url] = match;
|
|
84
|
+
const startIndex = match.index;
|
|
85
|
+
const endIndex = startIndex + fullMatch.length;
|
|
86
|
+
hasLinks = true;
|
|
63
87
|
const isExternal = /^https?:\/\//.test(url);
|
|
64
88
|
const target = (isExternal ? openExternalInNewTab : openInternalInNewTab)
|
|
65
89
|
? isExternal
|
|
@@ -68,38 +92,63 @@ export class LinkProcessorService {
|
|
|
68
92
|
: '';
|
|
69
93
|
const typeClass = isExternal ? externalLinkClass : internalLinkClass;
|
|
70
94
|
const classes = `${linkClass} ${typeClass}`.trim();
|
|
71
|
-
|
|
72
|
-
|
|
95
|
+
const linkHtml = `<a href="${url}"${target} class="${classes}">${linkText}</a>`;
|
|
96
|
+
processedText =
|
|
97
|
+
processedText.substring(0, startIndex) + linkHtml + processedText.substring(endIndex);
|
|
98
|
+
}
|
|
73
99
|
}
|
|
74
100
|
// 2. Procesar URLs externas directas
|
|
75
|
-
|
|
101
|
+
const urlMatches = Array.from(processedText.matchAll(this.urlRegex));
|
|
102
|
+
// Procesar de atrás hacia adelante para mantener las posiciones
|
|
103
|
+
for (let i = urlMatches.length - 1; i >= 0; i--) {
|
|
104
|
+
const match = urlMatches[i];
|
|
105
|
+
const [fullMatch, url] = match;
|
|
106
|
+
const startIndex = match.index;
|
|
107
|
+
const endIndex = startIndex + fullMatch.length;
|
|
108
|
+
// Verificar que no esté ya dentro de un enlace HTML existente
|
|
109
|
+
const textBefore = processedText.substring(0, startIndex);
|
|
110
|
+
const lastOpenTag = textBefore.lastIndexOf('<a ');
|
|
111
|
+
const lastCloseTag = textBefore.lastIndexOf('</a>');
|
|
112
|
+
// Si hay un tag <a abierto sin cerrar, no procesamos
|
|
113
|
+
if (lastOpenTag > lastCloseTag) {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
// Limpiar puntuación del final de la URL
|
|
117
|
+
const cleanUrl = this.cleanUrlPunctuation(url);
|
|
118
|
+
const punctuationRemoved = url !== cleanUrl;
|
|
119
|
+
const punctuation = punctuationRemoved ? url.substring(cleanUrl.length) : '';
|
|
76
120
|
hasLinks = true;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const target = openExternalInNewTab ? ' target="_blank" rel="noopener noreferrer"' : '';
|
|
85
|
-
const classes = `${linkClass} ${externalLinkClass}`.trim();
|
|
86
|
-
return `<a href="${url}"${target} class="${classes}">${url}</a>`;
|
|
87
|
-
});
|
|
121
|
+
const target = openExternalInNewTab ? ' target="_blank" rel="noopener noreferrer"' : '';
|
|
122
|
+
const classes = `${linkClass} ${externalLinkClass}`.trim();
|
|
123
|
+
const linkHtml = `<a href="${cleanUrl}"${target} class="${classes}">${cleanUrl}</a>`;
|
|
124
|
+
// Reemplazar el URL original con el enlace + puntuación si existía
|
|
125
|
+
const replacement = punctuationRemoved ? linkHtml + punctuation : linkHtml;
|
|
126
|
+
processedText =
|
|
127
|
+
processedText.substring(0, startIndex) + replacement + processedText.substring(endIndex);
|
|
88
128
|
}
|
|
89
|
-
// 3. Procesar rutas internas
|
|
90
|
-
|
|
129
|
+
// 3. Procesar rutas internas
|
|
130
|
+
const internalMatches = Array.from(processedText.matchAll(this.internalRouteRegex));
|
|
131
|
+
// Procesar de atrás hacia adelante para mantener las posiciones
|
|
132
|
+
for (let i = internalMatches.length - 1; i >= 0; i--) {
|
|
133
|
+
const match = internalMatches[i];
|
|
134
|
+
const [fullMatch, prefix, route] = match;
|
|
135
|
+
const startIndex = match.index;
|
|
136
|
+
const endIndex = startIndex + fullMatch.length;
|
|
137
|
+
// Verificar que no esté ya dentro de un enlace HTML existente
|
|
138
|
+
const textBefore = processedText.substring(0, startIndex);
|
|
139
|
+
const lastOpenTag = textBefore.lastIndexOf('<a ');
|
|
140
|
+
const lastCloseTag = textBefore.lastIndexOf('</a>');
|
|
141
|
+
// Si hay un tag <a abierto sin cerrar, no procesamos
|
|
142
|
+
if (lastOpenTag > lastCloseTag) {
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
91
145
|
hasLinks = true;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
const target = openInternalInNewTab ? ' target="_blank"' : '';
|
|
100
|
-
const classes = `${linkClass} ${internalLinkClass}`.trim();
|
|
101
|
-
return `${prefix}<a href="${route}"${target} class="${classes}">${route}</a>`;
|
|
102
|
-
});
|
|
146
|
+
const target = openInternalInNewTab ? ' target="_blank"' : '';
|
|
147
|
+
const classes = `${linkClass} ${internalLinkClass}`.trim();
|
|
148
|
+
const linkHtml = `<a href="${route}"${target} class="${classes}">${route}</a>`;
|
|
149
|
+
const replacement = `${prefix}${linkHtml}`;
|
|
150
|
+
processedText =
|
|
151
|
+
processedText.substring(0, startIndex) + replacement + processedText.substring(endIndex);
|
|
103
152
|
}
|
|
104
153
|
// Si hay enlaces, sanitizar el HTML
|
|
105
154
|
if (hasLinks) {
|
|
@@ -189,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
189
238
|
providedIn: 'root',
|
|
190
239
|
}]
|
|
191
240
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9jZXNzb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xpbmstcHJvY2Vzc29yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBa0IzQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVQzQyw4RkFBOEY7UUFDN0UsYUFBUSxHQUFHLDZCQUE2QixDQUFDO1FBRTFELHNHQUFzRztRQUNyRix1QkFBa0IsR0FBRywwQkFBMEIsQ0FBQztRQUVqRSwyREFBMkQ7UUFDMUMsc0JBQWlCLEdBQUcsMEJBQTBCLENBQUM7SUFFbEIsQ0FBQztJQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSCxZQUFZLENBQUMsSUFBWSxFQUFFLFNBQThCLEVBQUU7UUFDekQsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVyQixNQUFNLEVBQ0osb0JBQW9CLEdBQUcsSUFBSSxFQUMzQixvQkFBb0IsR0FBRyxLQUFLLEVBQzVCLFNBQVMsR0FBRyxnQkFBZ0IsRUFDNUIsaUJBQWlCLEdBQUcsZUFBZSxFQUNuQyxpQkFBaUIsR0FBRyxlQUFlLEVBQ25DLG9CQUFvQixHQUFHLElBQUksR0FDNUIsR0FBRyxNQUFNLENBQUM7UUFFWCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRXpCLDJEQUEyRDtRQUMzRCxJQUFJLG9CQUFvQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5RCxRQUFRLEdB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LEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO1FBRUQsa0NBQWtDO1FBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQix3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0EvTFUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW5rUHJvY2Vzc29yQ29uZmlnIHtcbiAgLyoqIFdoZXRoZXIgdG8gb3BlbiBleHRlcm5hbCBsaW5rcyBpbiBuZXcgdGFiIChkZWZhdWx0OiB0cnVlKSAqL1xuICBvcGVuRXh0ZXJuYWxJbk5ld1RhYj86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIG9wZW4gaW50ZXJuYWwgbGlua3MgaW4gbmV3IHRhYiAoZGVmYXVsdDogZmFsc2UpICovXG4gIG9wZW5JbnRlcm5hbEluTmV3VGFiPzogYm9vbGVhbjtcbiAgLyoqIEN1c3RvbSBDU1MgY2xhc3NlcyBmb3IgbGlua3MgKi9cbiAgbGlua0NsYXNzPzogc3RyaW5nO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIGZvciBleHRlcm5hbCBsaW5rcyAqL1xuICBleHRlcm5hbExpbmtDbGFzcz86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBDU1MgY2xhc3NlcyBmb3IgaW50ZXJuYWwgbGlua3MgKi9cbiAgaW50ZXJuYWxMaW5rQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRvIHByb2Nlc3MgTWFya2Rvd24tc3R5bGUgbGlua3MgW3RleHRdKHVybCkgKGRlZmF1bHQ6IHRydWUpICovXG4gIHByb2Nlc3NNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBMaW5rUHJvY2Vzc29yU2VydmljZSAtIFNlcnZpY2UgZm9yIHByb2Nlc3NpbmcgdGV4dCBjb250ZW50IHRvIGNvbnZlcnQgVVJMcyBhbmQgaW50ZXJuYWwgcm91dGVzIGludG8gY2xpY2thYmxlIGxpbmtzLlxuICpcbiAqIFRoaXMgc2VydmljZSBhdXRvbWF0aWNhbGx5IGRldGVjdHMgZXh0ZXJuYWwgVVJMcyAoaHR0cC9odHRwcyksIGludGVybmFsIHJvdXRlcyAoc3RhcnRpbmcgd2l0aCAvKSxcbiAqIGFuZCBNYXJrZG93bi1zdHlsZSBsaW5rcyBbdGV4dF0odXJsKSBhbmQgY29udmVydHMgdGhlbSBpbnRvIEhUTUwgYW5jaG9yIGVsZW1lbnRzIHdpdGggYXBwcm9wcmlhdGUgYXR0cmlidXRlcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgbGlua1Byb2Nlc3NvcjogTGlua1Byb2Nlc3NvclNlcnZpY2UpIHt9XG4gKlxuICogcHJvY2Vzc1RleHQoKSB7XG4gKiAgIGNvbnN0IHRleHQgPSAnVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSwgZ28gdG8gL3Byb2ZpbGUsIG9yIFtjaGVjayBkb2NzXShodHRwczovL2RvY3MuZXhhbXBsZS5jb20pJztcbiAqICAgY29uc3QgcHJvY2Vzc2VkID0gdGhpcy5saW5rUHJvY2Vzc29yLnByb2Nlc3NMaW5rcyh0ZXh0KTtcbiAqICAgLy8gUmV0dXJucyBTYWZlSHRtbCB3aXRoIGNsaWNrYWJsZSBsaW5rc1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rUHJvY2Vzc29yU2VydmljZSB7XG4gIC8vIFJlZ2V4IHBhcmEgZGV0ZWN0YXIgVVJMcyBjb21wbGV0YXMgKGh0dHAvaHR0cHMpIC0gZXhjbHV5ZSBjYXJhY3RlcmVzIGRlIHB1bnR1YWNpw7NuIGFsIGZpbmFsXG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC9bXlxccyw7LiE/KCldKykvZztcblxuICAvLyBSZWdleCBwYXJhIGRldGVjdGFyIHJ1dGFzIGludGVybmFzIChlbXBpZXphbiBjb24gLyBwZXJvIG5vIHNvbiBVUkxzIGNvbXBsZXRhcykgLSBleGNsdXllIHB1bnR1YWNpw7NuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJuYWxSb3V0ZVJlZ2V4ID0gLyhcXHN8XikoXFwvW15cXHMsOy4hPygpXSopL2c7XG5cbiAgLy8gUmVnZXggcGFyYSBkZXRlY3RhciBlbmxhY2VzIGVzdGlsbyBNYXJrZG93biBbdGV4dG9dKHVybClcbiAgcHJpdmF0ZSByZWFkb25seSBtYXJrZG93bkxpbmtSZWdleCA9IC9cXFsoW15cXF1dKylcXF1cXCgoW14pXSspXFwpL2c7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAvKipcbiAgICogUHJvY2VzYSB0ZXh0byBwYXJhIGNvbnZlcnRpciBlbmxhY2VzIGVuIGVsZW1lbnRvcyA8YT4gY2xpY2tlYWJsZXMuXG4gICAqIERldGVjdGEgYXV0b23DoXRpY2FtZW50ZSBVUkxzIGV4dGVybmFzLCBydXRhcyBpbnRlcm5hcyB5IGVubGFjZXMgZXN0aWxvIE1hcmtkb3duLlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dCAtIFRleHRvIGEgcHJvY2VzYXJcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIGRlbCBwcm9jZXNhbWllbnRvXG4gICAqIEByZXR1cm5zIFNhZmVIdG1sIGNvbiBlbmxhY2VzIHByb2Nlc2Fkb3MgbyBzdHJpbmcgb3JpZ2luYWxcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXN1bHQgPSB0aGlzLmxpbmtQcm9jZXNzb3IucHJvY2Vzc0xpbmtzKFxuICAgKiAgICdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tLCBnbyB0byAvcHJvZmlsZSwgb3IgW2NoZWNrIGRvY3NdKGh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbSknLFxuICAgKiAgIHtcbiAgICogICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiOiB0cnVlLFxuICAgKiAgICAgb3BlbkludGVybmFsSW5OZXdUYWI6IGZhbHNlLFxuICAgKiAgICAgcHJvY2Vzc01hcmtkb3duTGlua3M6IHRydWUsXG4gICAqICAgICBsaW5rQ2xhc3M6ICdjdXN0b20tbGluaydcbiAgICogICB9XG4gICAqICk7XG4gICAqIGBgYFxuICAgKi9cbiAgcHJvY2Vzc0xpbmtzKHRleHQ6IHN0cmluZywgY29uZmlnOiBMaW5rUHJvY2Vzc29yQ29uZmlnID0ge30pOiBTYWZlSHRtbCB8IHN0cmluZyB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gJyc7XG5cbiAgICBjb25zdCB7XG4gICAgICBvcGVuRXh0ZXJuYWxJbk5ld1RhYiA9IHRydWUsXG4gICAgICBvcGVuSW50ZXJuYWxJbk5ld1RhYiA9IGZhbHNlLFxuICAgICAgbGlua0NsYXNzID0gJ3Byb2Nlc3NlZC1saW5rJyxcbiAgICAgIGV4dGVybmFsTGlua0NsYXNzID0gJ2V4dGVybmFsLWxpbmsnLFxuICAgICAgaW50ZXJuYWxMaW5rQ2xhc3MgPSAnaW50ZXJuYWwtbGluaycsXG4gICAgICBwcm9jZXNzTWFya2Rvd25MaW5rcyA9IHRydWUsXG4gICAgfSA9IGNvbmZpZztcblxuICAgIGxldCBoYXNMaW5rcyA9IGZhbHNlO1xuICAgIGxldCBwcm9jZXNzZWRUZXh0ID0gdGV4dDtcblxuICAgIC8vIDEuIFByb2Nlc2FyIGVubGFjZXMgZXN0aWxvIE1hcmtkb3duIFt0ZXh0b10odXJsKSBwcmltZXJvXG4gICAgaWYgKHByb2Nlc3NNYXJrZG93bkxpbmtzICYmIHRoaXMubWFya2Rvd25MaW5rUmVnZXgudGVzdCh0ZXh0KSkge1xuICAgICAgaGFzTGlua3MgPSB0cnVlO1xuICAgICAgdGhpcy5tYXJrZG93bkxpbmtSZWdleC5sYXN0SW5kZXggPSAwOyAvLyBSZXNldCByZWdleFxuXG4gICAgICBwcm9jZXNzZWRUZXh0ID0gcHJvY2Vzc2VkVGV4dC5yZXBsYWNlKHRoaXMubWFya2Rvd25MaW5rUmVnZXgsIChtYXRjaCwgbGlua1RleHQsIHVybCkgPT4ge1xuICAgICAgICBjb25zdCBpc0V4dGVybmFsID0gL15odHRwcz86XFwvXFwvLy50ZXN0KHVybCk7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IChpc0V4dGVybmFsID8gb3BlbkV4dGVybmFsSW5OZXdUYWIgOiBvcGVuSW50ZXJuYWxJbk5ld1RhYilcbiAgICAgICAgICA/IGlzRXh0ZXJuYWxcbiAgICAgICAgICAgID8gJyB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCInXG4gICAgICAgICAgICA6ICcgdGFyZ2V0PVwiX2JsYW5rXCInXG4gICAgICAgICAgOiAnJztcbiAgICAgICAgY29uc3QgdHlwZUNsYXNzID0gaXNFeHRlcm5hbCA/IGV4dGVybmFsTGlua0NsYXNzIDogaW50ZXJuYWxMaW5rQ2xhc3M7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBgJHtsaW5rQ2xhc3N9ICR7dHlwZUNsYXNzfWAudHJpbSgpO1xuICAgICAgICByZXR1cm4gYDxhIGhyZWY9XCIke3VybH1cIiR7dGFyZ2V0fSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke2xpbmtUZXh0fTwvYT5gO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gMi4gUHJvY2VzYXIgVVJMcyBleHRlcm5hcyBkaXJlY3Rhc1xuICAgIGlmICh0aGlzLnVybFJlZ2V4LnRlc3QocHJvY2Vzc2VkVGV4dCkpIHtcbiAgICAgIGhhc0xpbmtzID0gdHJ1ZTtcbiAgICAgIHRoaXMudXJsUmVnZXgubGFzdEluZGV4ID0gMDsgLy8gUmVzZXQgcmVnZXhcblxuICAgICAgcHJvY2Vzc2VkVGV4dCA9IHByb2Nlc3NlZFRleHQucmVwbGFjZSh0aGlzLnVybFJlZ2V4LCB1cmwgPT4ge1xuICAgICAgICAvLyBWZXJpZmljYXIgcXVlIG5vIGVzdMOpIHlhIGRlbnRybyBkZSB1biBlbmxhY2UgcHJvY2VzYWRvXG4gICAgICAgIGNvbnN0IGJlZm9yZU1hdGNoID0gcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgcHJvY2Vzc2VkVGV4dC5pbmRleE9mKHVybCkpO1xuICAgICAgICBpZiAoYmVmb3JlTWF0Y2guaW5jbHVkZXMoJzxhIGhyZWY9XCInICsgdXJsICsgJ1wiJykpIHtcbiAgICAgICAgICByZXR1cm4gdXJsOyAvLyBZYSBlc3TDoSBwcm9jZXNhZG8gY29tbyBNYXJrZG93biBsaW5rXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YXJnZXQgPSBvcGVuRXh0ZXJuYWxJbk5ld1RhYiA/ICcgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiJyA6ICcnO1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gYCR7bGlua0NsYXNzfSAke2V4dGVybmFsTGlua0NsYXNzfWAudHJpbSgpO1xuICAgICAgICByZXR1cm4gYDxhIGhyZWY9XCIke3VybH1cIiR7dGFyZ2V0fSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke3VybH08L2E+YDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDMuIFByb2Nlc2FyIHJ1dGFzIGludGVybmFzIGRlc3B1w6lzXG4gICAgaWYgKHRoaXMuaW50ZXJuYWxSb3V0ZVJlZ2V4LnRlc3QocHJvY2Vzc2VkVGV4dCkpIHtcbiAgICAgIGhhc0xpbmtzID0gdHJ1ZTtcbiAgICAgIHRoaXMuaW50ZXJuYWxSb3V0ZVJlZ2V4Lmxhc3RJbmRleCA9IDA7IC8vIFJlc2V0IHJlZ2V4XG5cbiAgICAgIHByb2Nlc3NlZFRleHQgPSBwcm9jZXNzZWRUZXh0LnJlcGxhY2UodGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgsIChtYXRjaCwgcHJlZml4LCByb3V0ZSkgPT4ge1xuICAgICAgICAvLyBTb2xvIHByb2Nlc2FyIHNpIG5vIGVzdMOhIHlhIGRlbnRybyBkZSB1biBlbmxhY2VcbiAgICAgICAgY29uc3QgYmVmb3JlTWF0Y2ggPSBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZygwLCBwcm9jZXNzZWRUZXh0LmluZGV4T2YobWF0Y2gpKTtcbiAgICAgICAgaWYgKGJlZm9yZU1hdGNoLmluY2x1ZGVzKGBocmVmPVwiJHtyb3V0ZX1cImApKSB7XG4gICAgICAgICAgcmV0dXJuIG1hdGNoOyAvLyBZYSBlc3TDoSBwcm9jZXNhZG9cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IG9wZW5JbnRlcm5hbEluTmV3VGFiID8gJyB0YXJnZXQ9XCJfYmxhbmtcIicgOiAnJztcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGAke2xpbmtDbGFzc30gJHtpbnRlcm5hbExpbmtDbGFzc31gLnRyaW0oKTtcbiAgICAgICAgcmV0dXJuIGAke3ByZWZpeH08YSBocmVmPVwiJHtyb3V0ZX1cIiR7dGFyZ2V0fSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke3JvdXRlfTwvYT5gO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU2kgaGF5IGVubGFjZXMsIHNhbml0aXphciBlbCBIVE1MXG4gICAgaWYgKGhhc0xpbmtzKSB7XG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocHJvY2Vzc2VkVGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0YSBzaSB1biB0ZXh0byBjb250aWVuZSBlbmxhY2VzIChVUkxzLCBydXRhcyBpbnRlcm5hcyBvIGVubGFjZXMgTWFya2Rvd24pLlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dCAtIFRleHRvIGEgYW5hbGl6YXJcbiAgICogQHJldHVybnMgdHJ1ZSBzaSBjb250aWVuZSBlbmxhY2VzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgaGFzTGlua3MgPSB0aGlzLmxpbmtQcm9jZXNzb3IuaGFzTGlua3MoJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20gb3IgW2RvY3NdKGh0dHBzOi8vZG9jcy5jb20pJyk7XG4gICAqIC8vIFJldHVybnM6IHRydWVcbiAgICogYGBgXG4gICAqL1xuICBoYXNMaW5rcyh0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRleHQpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIFJlc2V0IHJlZ2V4IGluZGljZXNcbiAgICB0aGlzLnVybFJlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4Lmxhc3RJbmRleCA9IDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy51cmxSZWdleC50ZXN0KHRleHQpIHx8XG4gICAgICB0aGlzLmludGVybmFsUm91dGVSZWdleC50ZXN0KHRleHQpIHx8XG4gICAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LnRlc3QodGV4dClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhZSB0b2RvcyBsb3MgZW5sYWNlcyBkZSB1biB0ZXh0by5cbiAgICpcbiAgICogQHBhcmFtIHRleHQgLSBUZXh0byBhIGFuYWxpemFyXG4gICAqIEByZXR1cm5zIEFycmF5IGRlIGVubGFjZXMgZW5jb250cmFkb3MgY29uIHN1IHRpcG8geSB0ZXh0byAoc2kgZXMgTWFya2Rvd24pXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgbGlua3MgPSB0aGlzLmxpbmtQcm9jZXNzb3IuZXh0cmFjdExpbmtzKCdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tLCAvcHJvZmlsZSwgb3IgW2RvY3NdKGh0dHBzOi8vZG9jcy5jb20pJyk7XG4gICAqIC8vIFJldHVybnM6IFtcbiAgICogLy8gICB7IHVybDogJ2h0dHBzOi8vZXhhbXBsZS5jb20nLCB0eXBlOiAnZXh0ZXJuYWwnLCB0ZXh0OiAnaHR0cHM6Ly9leGFtcGxlLmNvbScgfSxcbiAgICogLy8gICB7IHVybDogJy9wcm9maWxlJywgdHlwZTogJ2ludGVybmFsJywgdGV4dDogJy9wcm9maWxlJyB9LFxuICAgKiAvLyAgIHsgdXJsOiAnaHR0cHM6Ly9kb2NzLmNvbScsIHR5cGU6ICdleHRlcm5hbCcsIHRleHQ6ICdkb2NzJyB9XG4gICAqIC8vIF1cbiAgICogYGBgXG4gICAqL1xuICBleHRyYWN0TGlua3ModGV4dDogc3RyaW5nKTogQXJyYXk8eyB1cmw6IHN0cmluZzsgdHlwZTogJ2V4dGVybmFsJyB8ICdpbnRlcm5hbCc7IHRleHQ6IHN0cmluZyB9PiB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBsaW5rczogQXJyYXk8eyB1cmw6IHN0cmluZzsgdHlwZTogJ2V4dGVybmFsJyB8ICdpbnRlcm5hbCc7IHRleHQ6IHN0cmluZyB9PiA9IFtdO1xuXG4gICAgLy8gUmVzZXQgcmVnZXggaW5kaWNlc1xuICAgIHRoaXMudXJsUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLmludGVybmFsUm91dGVSZWdleC5sYXN0SW5kZXggPSAwO1xuICAgIHRoaXMubWFya2Rvd25MaW5rUmVnZXgubGFzdEluZGV4ID0gMDtcblxuICAgIC8vIEV4dHJhZXIgZW5sYWNlcyBNYXJrZG93biBwcmltZXJvXG4gICAgbGV0IG1hdGNoO1xuICAgIHdoaWxlICgobWF0Y2ggPSB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsyXTtcbiAgICAgIGNvbnN0IGxpbmtUZXh0ID0gbWF0Y2hbMV07XG4gICAgICBjb25zdCB0eXBlID0gL15odHRwcz86XFwvXFwvLy50ZXN0KHVybCkgPyAnZXh0ZXJuYWwnIDogJ2ludGVybmFsJztcbiAgICAgIGxpbmtzLnB1c2goeyB1cmwsIHR5cGUsIHRleHQ6IGxpbmtUZXh0IH0pO1xuICAgIH1cblxuICAgIC8vIEV4dHJhZXIgVVJMcyBleHRlcm5hcyBkaXJlY3Rhc1xuICAgIHdoaWxlICgobWF0Y2ggPSB0aGlzLnVybFJlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsxXTtcbiAgICAgIC8vIFZlcmlmaWNhciBxdWUgbm8gZXN0w6kgeWEgY2FwdHVyYWRvIGNvbW8gTWFya2Rvd24gbGlua1xuICAgICAgaWYgKCFsaW5rcy5zb21lKGxpbmsgPT4gbGluay51cmwgPT09IHVybCkpIHtcbiAgICAgICAgbGlua3MucHVzaCh7IHVybCwgdHlwZTogJ2V4dGVybmFsJywgdGV4dDogdXJsIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4dHJhZXIgcnV0YXMgaW50ZXJuYXMgZGlyZWN0YXNcbiAgICB3aGlsZSAoKG1hdGNoID0gdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXguZXhlYyh0ZXh0KSkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVybCA9IG1hdGNoWzJdO1xuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBjYXB0dXJhZG8gY29tbyBNYXJrZG93biBsaW5rXG4gICAgICBpZiAoIWxpbmtzLnNvbWUobGluayA9PiBsaW5rLnVybCA9PT0gdXJsKSkge1xuICAgICAgICBsaW5rcy5wdXNoKHsgdXJsLCB0eXBlOiAnaW50ZXJuYWwnLCB0ZXh0OiB1cmwgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmtzO1xuICB9XG59XG4iXX0=
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9jZXNzb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xpbmstcHJvY2Vzc29yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBa0IzQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVQzQyxxR0FBcUc7UUFDcEYsYUFBUSxHQUFHLHNCQUFzQixDQUFDO1FBRW5ELHlGQUF5RjtRQUN4RSx1QkFBa0IsR0FBRyxtQkFBbUIsQ0FBQztRQUUxRCwyREFBMkQ7UUFDMUMsc0JBQWlCLEdBQUcsMEJBQTBCLENBQUM7SUFFbEIsQ0FBQztJQUUvQzs7OztPQUlHO0lBQ0ssbUJBQW1CLENBQUMsR0FBVztRQUNyQyxvRkFBb0Y7UUFDcEYsb0ZBQW9GO1FBQ3BGLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1FBRXpDLDBGQUEwRjtRQUMxRixvREFBb0Q7UUFDcEQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0MsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLDREQUE0RDtZQUM1RCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7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Q0FBa0M7UUFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDN0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLHdEQUF3RDtZQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQTdQVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtQcm9jZXNzb3JDb25maWcge1xuICAvKiogV2hldGhlciB0byBvcGVuIGV4dGVybmFsIGxpbmtzIGluIG5ldyB0YWIgKGRlZmF1bHQ6IHRydWUpICovXG4gIG9wZW5FeHRlcm5hbEluTmV3VGFiPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdG8gb3BlbiBpbnRlcm5hbCBsaW5rcyBpbiBuZXcgdGFiIChkZWZhdWx0OiBmYWxzZSkgKi9cbiAgb3BlbkludGVybmFsSW5OZXdUYWI/OiBib29sZWFuO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIGZvciBsaW5rcyAqL1xuICBsaW5rQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBDdXN0b20gQ1NTIGNsYXNzZXMgZm9yIGV4dGVybmFsIGxpbmtzICovXG4gIGV4dGVybmFsTGlua0NsYXNzPzogc3RyaW5nO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIGZvciBpbnRlcm5hbCBsaW5rcyAqL1xuICBpbnRlcm5hbExpbmtDbGFzcz86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdG8gcHJvY2VzcyBNYXJrZG93bi1zdHlsZSBsaW5rcyBbdGV4dF0odXJsKSAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgcHJvY2Vzc01hcmtkb3duTGlua3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIExpbmtQcm9jZXNzb3JTZXJ2aWNlIC0gU2VydmljZSBmb3IgcHJvY2Vzc2luZyB0ZXh0IGNvbnRlbnQgdG8gY29udmVydCBVUkxzIGFuZCBpbnRlcm5hbCByb3V0ZXMgaW50byBjbGlja2FibGUgbGlua3MuXG4gKlxuICogVGhpcyBzZXJ2aWNlIGF1dG9tYXRpY2FsbHkgZGV0ZWN0cyBleHRlcm5hbCBVUkxzIChodHRwL2h0dHBzKSwgaW50ZXJuYWwgcm91dGVzIChzdGFydGluZyB3aXRoIC8pLFxuICogYW5kIE1hcmtkb3duLXN0eWxlIGxpbmtzIFt0ZXh0XSh1cmwpIGFuZCBjb252ZXJ0cyB0aGVtIGludG8gSFRNTCBhbmNob3IgZWxlbWVudHMgd2l0aCBhcHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3RydWN0b3IocHJpdmF0ZSBsaW5rUHJvY2Vzc29yOiBMaW5rUHJvY2Vzc29yU2VydmljZSkge31cbiAqXG4gKiBwcm9jZXNzVGV4dCgpIHtcbiAqICAgY29uc3QgdGV4dCA9ICdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tLCBnbyB0byAvcHJvZmlsZSwgb3IgW2NoZWNrIGRvY3NdKGh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbSknO1xuICogICBjb25zdCBwcm9jZXNzZWQgPSB0aGlzLmxpbmtQcm9jZXNzb3IucHJvY2Vzc0xpbmtzKHRleHQpO1xuICogICAvLyBSZXR1cm5zIFNhZmVIdG1sIHdpdGggY2xpY2thYmxlIGxpbmtzXG4gKiB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtQcm9jZXNzb3JTZXJ2aWNlIHtcbiAgLy8gUmVnZXggcGFyYSBkZXRlY3RhciBVUkxzIGNvbXBsZXRhcyAoaHR0cC9odHRwcykgLSBjYXB0dXJhIHRvZGEgbGEgVVJMIHkgbHVlZ28gbGltcGlhbW9zIHB1bnR1YWNpw7NuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC9bXlxcc10rKS9nO1xuXG4gIC8vIFJlZ2V4IHBhcmEgZGV0ZWN0YXIgcnV0YXMgaW50ZXJuYXMgLSBjYXB0dXJhIHRvZGEgbGEgcnV0YSB5IGx1ZWdvIGxpbXBpYW1vcyBwdW50dWFjacOzblxuICBwcml2YXRlIHJlYWRvbmx5IGludGVybmFsUm91dGVSZWdleCA9IC8oXFxzfF4pKFxcL1teXFxzXSopL2c7XG5cbiAgLy8gUmVnZXggcGFyYSBkZXRlY3RhciBlbmxhY2VzIGVzdGlsbyBNYXJrZG93biBbdGV4dG9dKHVybClcbiAgcHJpdmF0ZSByZWFkb25seSBtYXJrZG93bkxpbmtSZWdleCA9IC9cXFsoW15cXF1dKylcXF1cXCgoW14pXSspXFwpL2c7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAvKipcbiAgICogTGltcGlhIGxhIHB1bnR1YWNpw7NuIGRlbCBmaW5hbCBkZSB1bmEgVVJMLlxuICAgKiBNYW50aWVuZSBjYXJhY3RlcmVzIHbDoWxpZG9zIGRlIFVSTCBwZXJvIHJlbXVldmUgc2lnbm9zIGRlIHB1bnR1YWNpw7NuIGNvbXVuZXMgYWwgZmluYWwuXG4gICAqIFByZXNlcnZhIHBhcsOhbWV0cm9zIGRlIGNvbnN1bHRhLCBmcmFnbWVudG9zIHkgY2FyYWN0ZXJlcyB2w6FsaWRvcyBlbiBVUkxzLlxuICAgKi9cbiAgcHJpdmF0ZSBjbGVhblVybFB1bmN0dWF0aW9uKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBDYXJhY3RlcmVzIHF1ZSBjb25zaWRlcmFtb3MgcHVudHVhY2nDs24gYWwgZmluYWwgZGUgb3JhY2nDs24sIHBlcm8gTk8gcGFydGUgZGUgVVJMc1xuICAgIC8vIE5vIGluY2x1aW1vcyAmIG8gPSBxdWUgc29uIHBhcnRlIGRlIHF1ZXJ5IHBhcmFtcywgbmkgIyBxdWUgZXMgcGFydGUgZGUgZnJhZ21lbnRvc1xuICAgIGNvbnN0IHRyYWlsaW5nUHVuY3R1YXRpb24gPSAvWy4sOyE/KV0rJC87XG5cbiAgICAvLyBDYXNvcyBlc3BlY2lhbGVzOiBzaSBsYSBVUkwgdGVybWluYSBjb24gcGFyw6ludGVzaXMgcGVybyBubyB0aWVuZSBwYXLDqW50ZXNpcyBkZSBhcGVydHVyYVxuICAgIC8vIHByb2JhYmxlbWVudGUgZWwgcGFyw6ludGVzaXMgbm8gZXMgcGFydGUgZGUgbGEgVVJMXG4gICAgY29uc3QgaGFzT3BlbmluZ1BhcmVuID0gdXJsLmluY2x1ZGVzKCcoJyk7XG4gICAgY29uc3QgZW5kc1dpdGhDbG9zaW5nUGFyZW4gPSB1cmwuZW5kc1dpdGgoJyknKTtcblxuICAgIGlmIChlbmRzV2l0aENsb3NpbmdQYXJlbiAmJiAhaGFzT3BlbmluZ1BhcmVuKSB7XG4gICAgICAvLyBSZW1vdmVyIGVsIHBhcsOpbnRlc2lzIGRlIGNpZXJyZSBzaSBubyBoYXkgdW5vIGRlIGFwZXJ0dXJhXG4gICAgICB1cmwgPSB1cmwucmVwbGFjZSgvXFwpJC8sICcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsLnJlcGxhY2UodHJhaWxpbmdQdW5jdHVhdGlvbiwgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc2EgdGV4dG8gcGFyYSBjb252ZXJ0aXIgZW5sYWNlcyBlbiBlbGVtZW50b3MgPGE+IGNsaWNrZWFibGVzLlxuICAgKiBEZXRlY3RhIGF1dG9tw6F0aWNhbWVudGUgVVJMcyBleHRlcm5hcywgcnV0YXMgaW50ZXJuYXMgeSBlbmxhY2VzIGVzdGlsbyBNYXJrZG93bi5cbiAgICpcbiAgICogQHBhcmFtIHRleHQgLSBUZXh0byBhIHByb2Nlc2FyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmFjacOzbiBkZWwgcHJvY2VzYW1pZW50b1xuICAgKiBAcmV0dXJucyBTYWZlSHRtbCBjb24gZW5sYWNlcyBwcm9jZXNhZG9zIG8gc3RyaW5nIG9yaWdpbmFsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmVzdWx0ID0gdGhpcy5saW5rUHJvY2Vzc29yLnByb2Nlc3NMaW5rcyhcbiAgICogICAnVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSwgZ28gdG8gL3Byb2ZpbGUsIG9yIFtjaGVjayBkb2NzXShodHRwczovL2RvY3MuZXhhbXBsZS5jb20pJyxcbiAgICogICB7XG4gICAqICAgICBvcGVuRXh0ZXJuYWxJbk5ld1RhYjogdHJ1ZSxcbiAgICogICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiOiBmYWxzZSxcbiAgICogICAgIHByb2Nlc3NNYXJrZG93bkxpbmtzOiB0cnVlLFxuICAgKiAgICAgbGlua0NsYXNzOiAnY3VzdG9tLWxpbmsnXG4gICAqICAgfVxuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIHByb2Nlc3NMaW5rcyh0ZXh0OiBzdHJpbmcsIGNvbmZpZzogTGlua1Byb2Nlc3NvckNvbmZpZyA9IHt9KTogU2FmZUh0bWwgfCBzdHJpbmcge1xuICAgIGlmICghdGV4dCkgcmV0dXJuICcnO1xuXG4gICAgY29uc3Qge1xuICAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWIgPSB0cnVlLFxuICAgICAgb3BlbkludGVybmFsSW5OZXdUYWIgPSBmYWxzZSxcbiAgICAgIGxpbmtDbGFzcyA9ICdwcm9jZXNzZWQtbGluaycsXG4gICAgICBleHRlcm5hbExpbmtDbGFzcyA9ICdleHRlcm5hbC1saW5rJyxcbiAgICAgIGludGVybmFsTGlua0NsYXNzID0gJ2ludGVybmFsLWxpbmsnLFxuICAgICAgcHJvY2Vzc01hcmtkb3duTGlua3MgPSB0cnVlLFxuICAgIH0gPSBjb25maWc7XG5cbiAgICBsZXQgaGFzTGlua3MgPSBmYWxzZTtcbiAgICBsZXQgcHJvY2Vzc2VkVGV4dCA9IHRleHQ7XG5cbiAgICAvLyAxLiBQcm9jZXNhciBlbmxhY2VzIGVzdGlsbyBNYXJrZG93biBbdGV4dG9dKHVybCkgcHJpbWVyb1xuICAgIGlmIChwcm9jZXNzTWFya2Rvd25MaW5rcykge1xuICAgICAgY29uc3QgbWFya2Rvd25NYXRjaGVzID0gQXJyYXkuZnJvbShwcm9jZXNzZWRUZXh0Lm1hdGNoQWxsKHRoaXMubWFya2Rvd25MaW5rUmVnZXgpKTtcblxuICAgICAgLy8gUHJvY2VzYXIgZGUgYXRyw6FzIGhhY2lhIGFkZWxhbnRlIHBhcmEgbWFudGVuZXIgbGFzIHBvc2ljaW9uZXNcbiAgICAgIGZvciAobGV0IGkgPSBtYXJrZG93bk1hdGNoZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBtYXJrZG93bk1hdGNoZXNbaV07XG4gICAgICAgIGNvbnN0IFtmdWxsTWF0Y2gsIGxpbmtUZXh0LCB1cmxdID0gbWF0Y2g7XG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBtYXRjaC5pbmRleCE7XG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gc3RhcnRJbmRleCArIGZ1bGxNYXRjaC5sZW5ndGg7XG5cbiAgICAgICAgaGFzTGlua3MgPSB0cnVlO1xuICAgICAgICBjb25zdCBpc0V4dGVybmFsID0gL15odHRwcz86XFwvXFwvLy50ZXN0KHVybCk7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IChpc0V4dGVybmFsID8gb3BlbkV4dGVybmFsSW5OZXdUYWIgOiBvcGVuSW50ZXJuYWxJbk5ld1RhYilcbiAgICAgICAgICA/IGlzRXh0ZXJuYWxcbiAgICAgICAgICAgID8gJyB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCInXG4gICAgICAgICAgICA6ICcgdGFyZ2V0PVwiX2JsYW5rXCInXG4gICAgICAgICAgOiAnJztcbiAgICAgICAgY29uc3QgdHlwZUNsYXNzID0gaXNFeHRlcm5hbCA/IGV4dGVybmFsTGlua0NsYXNzIDogaW50ZXJuYWxMaW5rQ2xhc3M7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBgJHtsaW5rQ2xhc3N9ICR7dHlwZUNsYXNzfWAudHJpbSgpO1xuICAgICAgICBjb25zdCBsaW5rSHRtbCA9IGA8YSBocmVmPVwiJHt1cmx9XCIke3RhcmdldH0gY2xhc3M9XCIke2NsYXNzZXN9XCI+JHtsaW5rVGV4dH08L2E+YDtcblxuICAgICAgICBwcm9jZXNzZWRUZXh0ID1cbiAgICAgICAgICBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZygwLCBzdGFydEluZGV4KSArIGxpbmtIdG1sICsgcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoZW5kSW5kZXgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIFByb2Nlc2FyIFVSTHMgZXh0ZXJuYXMgZGlyZWN0YXNcbiAgICBjb25zdCB1cmxNYXRjaGVzID0gQXJyYXkuZnJvbShwcm9jZXNzZWRUZXh0Lm1hdGNoQWxsKHRoaXMudXJsUmVnZXgpKTtcblxuICAgIC8vIFByb2Nlc2FyIGRlIGF0csOhcyBoYWNpYSBhZGVsYW50ZSBwYXJhIG1hbnRlbmVyIGxhcyBwb3NpY2lvbmVzXG4gICAgZm9yIChsZXQgaSA9IHVybE1hdGNoZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gdXJsTWF0Y2hlc1tpXTtcbiAgICAgIGNvbnN0IFtmdWxsTWF0Y2gsIHVybF0gPSBtYXRjaDtcbiAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBtYXRjaC5pbmRleCE7XG4gICAgICBjb25zdCBlbmRJbmRleCA9IHN0YXJ0SW5kZXggKyBmdWxsTWF0Y2gubGVuZ3RoO1xuXG4gICAgICAvLyBWZXJpZmljYXIgcXVlIG5vIGVzdMOpIHlhIGRlbnRybyBkZSB1biBlbmxhY2UgSFRNTCBleGlzdGVudGVcbiAgICAgIGNvbnN0IHRleHRCZWZvcmUgPSBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZygwLCBzdGFydEluZGV4KTtcbiAgICAgIGNvbnN0IGxhc3RPcGVuVGFnID0gdGV4dEJlZm9yZS5sYXN0SW5kZXhPZignPGEgJyk7XG4gICAgICBjb25zdCBsYXN0Q2xvc2VUYWcgPSB0ZXh0QmVmb3JlLmxhc3RJbmRleE9mKCc8L2E+Jyk7XG5cbiAgICAgIC8vIFNpIGhheSB1biB0YWcgPGEgYWJpZXJ0byBzaW4gY2VycmFyLCBubyBwcm9jZXNhbW9zXG4gICAgICBpZiAobGFzdE9wZW5UYWcgPiBsYXN0Q2xvc2VUYWcpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIExpbXBpYXIgcHVudHVhY2nDs24gZGVsIGZpbmFsIGRlIGxhIFVSTFxuICAgICAgY29uc3QgY2xlYW5VcmwgPSB0aGlzLmNsZWFuVXJsUHVuY3R1YXRpb24odXJsKTtcbiAgICAgIGNvbnN0IHB1bmN0dWF0aW9uUmVtb3ZlZCA9IHVybCAhPT0gY2xlYW5Vcmw7XG4gICAgICBjb25zdCBwdW5jdHVhdGlvbiA9IHB1bmN0dWF0aW9uUmVtb3ZlZCA/IHVybC5zdWJzdHJpbmcoY2xlYW5VcmwubGVuZ3RoKSA6ICcnO1xuXG4gICAgICBoYXNMaW5rcyA9IHRydWU7XG4gICAgICBjb25zdCB0YXJnZXQgPSBvcGVuRXh0ZXJuYWxJbk5ld1RhYiA/ICcgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiJyA6ICcnO1xuICAgICAgY29uc3QgY2xhc3NlcyA9IGAke2xpbmtDbGFzc30gJHtleHRlcm5hbExpbmtDbGFzc31gLnRyaW0oKTtcbiAgICAgIGNvbnN0IGxpbmtIdG1sID0gYDxhIGhyZWY9XCIke2NsZWFuVXJsfVwiJHt0YXJnZXR9IGNsYXNzPVwiJHtjbGFzc2VzfVwiPiR7Y2xlYW5Vcmx9PC9hPmA7XG5cbiAgICAgIC8vIFJlZW1wbGF6YXIgZWwgVVJMIG9yaWdpbmFsIGNvbiBlbCBlbmxhY2UgKyBwdW50dWFjacOzbiBzaSBleGlzdMOtYVxuICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBwdW5jdHVhdGlvblJlbW92ZWQgPyBsaW5rSHRtbCArIHB1bmN0dWF0aW9uIDogbGlua0h0bWw7XG4gICAgICBwcm9jZXNzZWRUZXh0ID1cbiAgICAgICAgcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCkgKyByZXBsYWNlbWVudCArIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKGVuZEluZGV4KTtcbiAgICB9XG5cbiAgICAvLyAzLiBQcm9jZXNhciBydXRhcyBpbnRlcm5hc1xuICAgIGNvbnN0IGludGVybmFsTWF0Y2hlcyA9IEFycmF5LmZyb20ocHJvY2Vzc2VkVGV4dC5tYXRjaEFsbCh0aGlzLmludGVybmFsUm91dGVSZWdleCkpO1xuXG4gICAgLy8gUHJvY2VzYXIgZGUgYXRyw6FzIGhhY2lhIGFkZWxhbnRlIHBhcmEgbWFudGVuZXIgbGFzIHBvc2ljaW9uZXNcbiAgICBmb3IgKGxldCBpID0gaW50ZXJuYWxNYXRjaGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGludGVybmFsTWF0Y2hlc1tpXTtcbiAgICAgIGNvbnN0IFtmdWxsTWF0Y2gsIHByZWZpeCwgcm91dGVdID0gbWF0Y2g7XG4gICAgICBjb25zdCBzdGFydEluZGV4ID0gbWF0Y2guaW5kZXghO1xuICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgZnVsbE1hdGNoLmxlbmd0aDtcblxuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBkZW50cm8gZGUgdW4gZW5sYWNlIEhUTUwgZXhpc3RlbnRlXG4gICAgICBjb25zdCB0ZXh0QmVmb3JlID0gcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCk7XG4gICAgICBjb25zdCBsYXN0T3BlblRhZyA9IHRleHRCZWZvcmUubGFzdEluZGV4T2YoJzxhICcpO1xuICAgICAgY29uc3QgbGFzdENsb3NlVGFnID0gdGV4dEJlZm9yZS5sYXN0SW5kZXhPZignPC9hPicpO1xuXG4gICAgICAvLyBTaSBoYXkgdW4gdGFnIDxhIGFiaWVydG8gc2luIGNlcnJhciwgbm8gcHJvY2VzYW1vc1xuICAgICAgaWYgKGxhc3RPcGVuVGFnID4gbGFzdENsb3NlVGFnKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBoYXNMaW5rcyA9IHRydWU7XG4gICAgICBjb25zdCB0YXJnZXQgPSBvcGVuSW50ZXJuYWxJbk5ld1RhYiA/ICcgdGFyZ2V0PVwiX2JsYW5rXCInIDogJyc7XG4gICAgICBjb25zdCBjbGFzc2VzID0gYCR7bGlua0NsYXNzfSAke2ludGVybmFsTGlua0NsYXNzfWAudHJpbSgpO1xuICAgICAgY29uc3QgbGlua0h0bWwgPSBgPGEgaHJlZj1cIiR7cm91dGV9XCIke3RhcmdldH0gY2xhc3M9XCIke2NsYXNzZXN9XCI+JHtyb3V0ZX08L2E+YDtcblxuICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBgJHtwcmVmaXh9JHtsaW5rSHRtbH1gO1xuICAgICAgcHJvY2Vzc2VkVGV4dCA9XG4gICAgICAgIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpICsgcmVwbGFjZW1lbnQgKyBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZyhlbmRJbmRleCk7XG4gICAgfVxuXG4gICAgLy8gU2kgaGF5IGVubGFjZXMsIHNhbml0aXphciBlbCBIVE1MXG4gICAgaWYgKGhhc0xpbmtzKSB7XG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocHJvY2Vzc2VkVGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0YSBzaSB1biB0ZXh0byBjb250aWVuZSBlbmxhY2VzIChVUkxzLCBydXRhcyBpbnRlcm5hcyBvIGVubGFjZXMgTWFya2Rvd24pLlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dCAtIFRleHRvIGEgYW5hbGl6YXJcbiAgICogQHJldHVybnMgdHJ1ZSBzaSBjb250aWVuZSBlbmxhY2VzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgaGFzTGlua3MgPSB0aGlzLmxpbmtQcm9jZXNzb3IuaGFzTGlua3MoJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20gb3IgW2RvY3NdKGh0dHBzOi8vZG9jcy5jb20pJyk7XG4gICAqIC8vIFJldHVybnM6IHRydWVcbiAgICogYGBgXG4gICAqL1xuICBoYXNMaW5rcyh0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRleHQpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIFJlc2V0IHJlZ2V4IGluZGljZXNcbiAgICB0aGlzLnVybFJlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4Lmxhc3RJbmRleCA9IDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy51cmxSZWdleC50ZXN0KHRleHQpIHx8XG4gICAgICB0aGlzLmludGVybmFsUm91dGVSZWdleC50ZXN0KHRleHQpIHx8XG4gICAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LnRlc3QodGV4dClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhZSB0b2RvcyBsb3MgZW5sYWNlcyBkZSB1biB0ZXh0by5cbiAgICpcbiAgICogQHBhcmFtIHRleHQgLSBUZXh0byBhIGFuYWxpemFyXG4gICAqIEByZXR1cm5zIEFycmF5IGRlIGVubGFjZXMgZW5jb250cmFkb3MgY29uIHN1IHRpcG8geSB0ZXh0byAoc2kgZXMgTWFya2Rvd24pXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgbGlua3MgPSB0aGlzLmxpbmtQcm9jZXNzb3IuZXh0cmFjdExpbmtzKCdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tLCAvcHJvZmlsZSwgb3IgW2RvY3NdKGh0dHBzOi8vZG9jcy5jb20pJyk7XG4gICAqIC8vIFJldHVybnM6IFtcbiAgICogLy8gICB7IHVybDogJ2h0dHBzOi8vZXhhbXBsZS5jb20nLCB0eXBlOiAnZXh0ZXJuYWwnLCB0ZXh0OiAnaHR0cHM6Ly9leGFtcGxlLmNvbScgfSxcbiAgICogLy8gICB7IHVybDogJy9wcm9maWxlJywgdHlwZTogJ2ludGVybmFsJywgdGV4dDogJy9wcm9maWxlJyB9LFxuICAgKiAvLyAgIHsgdXJsOiAnaHR0cHM6Ly9kb2NzLmNvbScsIHR5cGU6ICdleHRlcm5hbCcsIHRleHQ6ICdkb2NzJyB9XG4gICAqIC8vIF1cbiAgICogYGBgXG4gICAqL1xuICBleHRyYWN0TGlua3ModGV4dDogc3RyaW5nKTogQXJyYXk8eyB1cmw6IHN0cmluZzsgdHlwZTogJ2V4dGVybmFsJyB8ICdpbnRlcm5hbCc7IHRleHQ6IHN0cmluZyB9PiB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBsaW5rczogQXJyYXk8eyB1cmw6IHN0cmluZzsgdHlwZTogJ2V4dGVybmFsJyB8ICdpbnRlcm5hbCc7IHRleHQ6IHN0cmluZyB9PiA9IFtdO1xuXG4gICAgLy8gUmVzZXQgcmVnZXggaW5kaWNlc1xuICAgIHRoaXMudXJsUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLmludGVybmFsUm91dGVSZWdleC5sYXN0SW5kZXggPSAwO1xuICAgIHRoaXMubWFya2Rvd25MaW5rUmVnZXgubGFzdEluZGV4ID0gMDtcblxuICAgIC8vIEV4dHJhZXIgZW5sYWNlcyBNYXJrZG93biBwcmltZXJvXG4gICAgbGV0IG1hdGNoO1xuICAgIHdoaWxlICgobWF0Y2ggPSB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsyXTtcbiAgICAgIGNvbnN0IGxpbmtUZXh0ID0gbWF0Y2hbMV07XG4gICAgICBjb25zdCB0eXBlID0gL15odHRwcz86XFwvXFwvLy50ZXN0KHVybCkgPyAnZXh0ZXJuYWwnIDogJ2ludGVybmFsJztcbiAgICAgIGxpbmtzLnB1c2goeyB1cmwsIHR5cGUsIHRleHQ6IGxpbmtUZXh0IH0pO1xuICAgIH1cblxuICAgIC8vIEV4dHJhZXIgVVJMcyBleHRlcm5hcyBkaXJlY3Rhc1xuICAgIHdoaWxlICgobWF0Y2ggPSB0aGlzLnVybFJlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsxXTtcbiAgICAgIC8vIFZlcmlmaWNhciBxdWUgbm8gZXN0w6kgeWEgY2FwdHVyYWRvIGNvbW8gTWFya2Rvd24gbGlua1xuICAgICAgaWYgKCFsaW5rcy5zb21lKGxpbmsgPT4gbGluay51cmwgPT09IHVybCkpIHtcbiAgICAgICAgbGlua3MucHVzaCh7IHVybCwgdHlwZTogJ2V4dGVybmFsJywgdGV4dDogdXJsIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4dHJhZXIgcnV0YXMgaW50ZXJuYXMgZGlyZWN0YXNcbiAgICB3aGlsZSAoKG1hdGNoID0gdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXguZXhlYyh0ZXh0KSkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVybCA9IG1hdGNoWzJdO1xuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBjYXB0dXJhZG8gY29tbyBNYXJrZG93biBsaW5rXG4gICAgICBpZiAoIWxpbmtzLnNvbWUobGluayA9PiBsaW5rLnVybCA9PT0gdXJsKSkge1xuICAgICAgICBsaW5rcy5wdXNoKHsgdXJsLCB0eXBlOiAnaW50ZXJuYWwnLCB0ZXh0OiB1cmwgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmtzO1xuICB9XG59XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -86,6 +86,7 @@ export * from './lib/components/templates/layout/layout.component';
|
|
|
86
86
|
export * from './lib/components/templates/simple/simple.component';
|
|
87
87
|
export * from './lib/components/templates/simple/types';
|
|
88
88
|
// Examples
|
|
89
|
+
export * from './lib/examples/comprehensive-link-test.component';
|
|
89
90
|
export * from './lib/examples/custom-content-demo.component';
|
|
90
91
|
export * from './lib/examples/link-processing-example.component';
|
|
91
92
|
export * from './lib/services/content.service';
|
|
@@ -108,4 +109,4 @@ export * from './lib/shared/utils/dom';
|
|
|
108
109
|
export * from './lib/shared/utils/form-defaults';
|
|
109
110
|
export * from './lib/shared/utils/styles';
|
|
110
111
|
export * from './lib/shared/utils/text';
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBRUgsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsV0FBVztBQUNYLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxrREFBa0QsQ0FBQztBQUVqRSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHZhbHRlY2gtY29tcG9uZW50c1xuICovXG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmFsdGVjaC1jb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2F2YXRhci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2JveC9ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXNwbGF5L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2RpdmlkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9ocmVmL2hyZWYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaHJlZi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9pY29uL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaW1hZ2UvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3Byb2dyZXNzLWJhci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy90ZXh0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGl0bGUvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hbGVydC1ib3gvYWxlcnQtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hbGVydC1ib3gvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY2FyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jaGVjay1pbnB1dC9jaGVjay1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29tbWVudC1pbnB1dC9jb21tZW50LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWxvYWRlci9jb250ZW50LWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9lbWFpbC1pbnB1dC9lbWFpbC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvaGludC9oaW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9ob3VyLWlucHV0L2hvdXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xheWVyZWQtY2FyZC9sYXllcmVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xheWVyZWQtY2FyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rL2xpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmsvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGlua3MtY2FrZS9saW5rcy1jYWtlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rcy1jYWtlL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcGluLWlucHV0L3Bpbi1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZ3Jlc3Mtc3RhdHVzL3Byb2dyZXNzLXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZ3Jlc3Mtc3RhdHVzL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Byb21wdGVyL3Byb21wdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LXNlYXJjaC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RpdGxlLWJsb2NrL3RpdGxlLWJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aXRsZS1ibG9jay90eXBlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Jhbm5lci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9ybS9mb3JtLWZvb3Rlci9mb3JtLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9oZWFkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaXRlbS1saXN0L2l0ZW0tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaXRlbS1saXN0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL25vLWNvbnRlbnQvbm8tY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbm8tY29udGVudC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Rvb2xiYXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvd2l6YXJkL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC93aXphcmQtZm9vdGVyL3dpemFyZC1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC93aXphcmQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2ltcGxlL3NpbXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2ltcGxlL3R5cGVzJztcblxuLy8gRXhhbXBsZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4YW1wbGVzL2N1c3RvbS1jb250ZW50LWRlbW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4YW1wbGVzL2xpbmstcHJvY2Vzc2luZy1leGFtcGxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW4tYXBwLWJyb3dzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2NvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9saW5rLXByb2Nlc3Nvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvcGlwZXMvcHJvY2Vzcy1saW5rcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC91dGlscy9jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC91dGlscy9kb20nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL2Zvcm0tZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL3N0eWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvdXRpbHMvdGV4dCc7XG4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBRUgsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsV0FBVztBQUNYLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmFsdGVjaC1jb21wb25lbnRzXG4gKi9cblxuLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB2YWx0ZWNoLWNvbXBvbmVudHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9ib3gvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvZGl2aWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2hyZWYvaHJlZi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9ocmVmL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2ljb24vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9pbWFnZS90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvcHJvZ3Jlc3MtYmFyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RleHQvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy90aXRsZS90eXBlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2FsZXJ0LWJveC9hbGVydC1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2FsZXJ0LWJveC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9idXR0b24tZ3JvdXAvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NoZWNrLWlucHV0L2NoZWNrLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb21tZW50LWlucHV0L2NvbW1lbnQtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtbG9hZGVyL2NvbnRlbnQtbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWxvYWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2VtYWlsLWlucHV0L2VtYWlsLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9leHBhbmRhYmxlLXRleHQvZXhwYW5kYWJsZS10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9leHBhbmRhYmxlLXRleHQvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9oaW50L2hpbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2hvdXItaW5wdXQvaG91ci1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGF5ZXJlZC1jYXJkL2xheWVyZWQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGF5ZXJlZC1jYXJkL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmsvbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGluay90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rcy1jYWtlL2xpbmtzLWNha2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmtzLWNha2UvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbm90ZXMtYm94L25vdGVzLWJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbm90ZXMtYm94L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waW4taW5wdXQvcGluLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9ncmVzcy1zdGF0dXMvcHJvZ3Jlc3Mtc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9ncmVzcy1zdGF0dXMvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvbXB0ZXIvcHJvbXB0ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Byb21wdGVyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JhZGlvLWlucHV0L3JhZGlvLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWxlY3Qtc2VhcmNoL3NlbGVjdC1zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvdGl0bGUtYmxvY2svdGl0bGUtYmxvY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RpdGxlLWJsb2NrL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvYmFubmVyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Zvcm0vZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2Zvcm0tZm9vdGVyL2Zvcm0tZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2hlYWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9pdGVtLWxpc3QvaXRlbS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9pdGVtLWxpc3QvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbm8tY29udGVudC9uby1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9uby1jb250ZW50L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvdG9vbGJhci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy93aXphcmQvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvd2l6YXJkL3dpemFyZC1mb290ZXIvd2l6YXJkLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvd2l6YXJkL3dpemFyZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbXBsYXRlcy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbXBsYXRlcy9zaW1wbGUvc2ltcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RlbXBsYXRlcy9zaW1wbGUvdHlwZXMnO1xuXG4vLyBFeGFtcGxlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXhhbXBsZXMvY29tcHJlaGVuc2l2ZS1saW5rLXRlc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4YW1wbGVzL2N1c3RvbS1jb250ZW50LWRlbW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2V4YW1wbGVzL2xpbmstcHJvY2Vzc2luZy1leGFtcGxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW4tYXBwLWJyb3dzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2NvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9saW5rLXByb2Nlc3Nvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGhlbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvcGlwZXMvcHJvY2Vzcy1saW5rcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC91dGlscy9jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC91dGlscy9kb20nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL2Zvcm0tZGVmYXVsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL3N0eWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvdXRpbHMvdGV4dCc7XG4iXX0=
|