valtech-components 4.0.152 → 4.0.154

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.
@@ -145,11 +145,11 @@ export function parseMarkdownArticle(markdown, options) {
145
145
  const unord = cur.match(UNORDERED_RE);
146
146
  const ord = cur.match(ORDERED_RE);
147
147
  if (check)
148
- items.push({ text: processInlineBold(check[2].trim()) });
148
+ items.push({ text: processInline(check[2].trim()) });
149
149
  else if (ord && listType === 'ordered')
150
- items.push({ text: processInlineBold(ord[1].trim()) });
150
+ items.push({ text: processInline(ord[1].trim()) });
151
151
  else if (unord && listType !== 'ordered')
152
- items.push({ text: processInlineBold(unord[1].trim()) });
152
+ items.push({ text: processInline(unord[1].trim()) });
153
153
  else
154
154
  break;
155
155
  i++;
@@ -162,7 +162,7 @@ export function parseMarkdownArticle(markdown, options) {
162
162
  paragraph.push(lines[i]);
163
163
  i++;
164
164
  }
165
- const text = processInlineBold(paragraph.join(' ').trim());
165
+ const text = processInline(paragraph.join(' ').trim());
166
166
  if (text) {
167
167
  elements.push({
168
168
  type: 'paragraph',
@@ -201,8 +201,15 @@ function startsNewBlock(line) {
201
201
  line.startsWith('>') ||
202
202
  BOX_DRAWING.test(line));
203
203
  }
204
- function processInlineBold(text) {
205
- return text.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>');
204
+ // Procesa marcado inline a HTML (renderizado vía innerHTML por val-text/val-article).
205
+ // Los enlaces [texto](url) NO se tocan acá: los resuelve el ProcessLinksPipe en
206
+ // runtime (gateado por processLinks). Orden: código primero (para no interpretar
207
+ // su interior), luego negrita, luego itálica (los `**` ya consumidos no colisionan).
208
+ function processInline(text) {
209
+ return text
210
+ .replace(/`([^`]+)`/g, '<code>$1</code>')
211
+ .replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
212
+ .replace(/\*([^*\n]+?)\*/g, '<em>$1</em>');
206
213
  }
207
214
  function makeHeading(level, content) {
208
215
  if (level === 1) {
@@ -228,10 +235,10 @@ function makeQuoteOrCallout(block, labels) {
228
235
  .slice(1)
229
236
  .filter(l => l.trim() !== '')
230
237
  .join('\n');
231
- const text = processInlineBold([firstLineRest, rest].filter(Boolean).join('\n').trim());
238
+ const text = processInline([firstLineRest, rest].filter(Boolean).join('\n').trim());
232
239
  return makeNote(type, text, labels);
233
240
  }
234
- const text = processInlineBold(lines.join(' ').trim());
241
+ const text = processInline(lines.join(' ').trim());
235
242
  return {
236
243
  type: 'quote',
237
244
  props: {
@@ -282,7 +289,7 @@ function makeTable(rows) {
282
289
  {
283
290
  type: 'paragraph',
284
291
  props: {
285
- content: header.join(' · '),
292
+ content: header.map(processInline).join(' · '),
286
293
  size: 'medium',
287
294
  color: 'dark',
288
295
  bold: false,
@@ -295,7 +302,9 @@ function makeTable(rows) {
295
302
  return dataRows.map(row => {
296
303
  const pairs = row.map((cell, idx) => {
297
304
  const key = header[idx] ?? '';
298
- return key ? `<strong>${key}:</strong> ${cell}` : cell;
305
+ return key
306
+ ? `<strong>${processInline(key)}:</strong> ${processInline(cell)}`
307
+ : processInline(cell);
299
308
  });
300
309
  return {
301
310
  type: 'paragraph',
@@ -310,4 +319,4 @@ function makeTable(rows) {
310
319
  };
311
320
  });
312
321
  }
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQThDO0lBQ3ZFLEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLE1BQU07UUFDWixHQUFHLEVBQUUsS0FBSztRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osU0FBUyxFQUFFLFdBQVc7UUFDdEIsT0FBTyxFQUFFLFNBQVM7UUFDbEIsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxNQUFNO1FBQ1gsSUFBSSxFQUFFLE1BQU07UUFDWixTQUFTLEVBQUUsWUFBWTtRQUN2QixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsU0FBUztLQUNuQjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBOEQ7SUFDaEYsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLElBQUksRUFBRSxVQUFVO0lBQ2hCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0NBQ2xCLENBQUM7QUFjRixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUMxQyxNQUFNLFVBQVUsR0FBRyw4REFBOEQsQ0FBQztB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O2dCQUNsQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1NBQ2dCLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJ0aWNsZUVsZW1lbnQsXG4gIEFydGljbGVMaXN0RWxlbWVudCxcbiAgQXJ0aWNsZU1ldGFkYXRhLFxuICBBcnRpY2xlTm90ZUVsZW1lbnQsXG4gIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQsXG4gIEFydGljbGVUaXRsZUVsZW1lbnQsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBDYWxsb3V0VHlwZSA9ICdOT1RFJyB8ICdUSVAnIHwgJ0lORk8nIHwgJ1dBUk5JTkcnIHwgJ0NBVVRJT04nIHwgJ0lNUE9SVEFOVCc7XG5cbi8qKlxuICogTG9jYWxpemVkIGxhYmVsIHBlciBjYWxsb3V0IGtpbmQuIFVzZWQgYXMgdGhlIHByZWZpeCBzaG93biBpbnNpZGUgdGhlXG4gKiByZXN1bHRpbmcgbm90ZSBlbGVtZW50IChlLmcuIGA+IFshTk9URV0g4oCmYCDihpIgYDx2YWwtbm90ZXMtYm94IHByZWZpeD1cIk5vdGFcIj5gKS5cbiAqXG4gKiBEZWZhdWx0cyB0byBTcGFuaXNoIGZvciBiYWNrLWNvbXBhdC4gUGFzcyBhIGRpZmZlcmVudCBtYXAgcGVyIGxvY2FsZSB3aGVuXG4gKiBwYXJzaW5nIHRyYW5zbGF0ZWQgZG9jdW1lbnRzIHNvIHRoZSBwcmVmaXggbWF0Y2hlcyB0aGUgYm9keSBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2FsbG91dExhYmVscyA9IFJlY29yZDxDYWxsb3V0VHlwZSwgc3RyaW5nPjtcblxuLyoqIEJ1aWx0LWluIGxhYmVsIHNldHMgZm9yIHRoZSB0aHJlZSBwbGF0Zm9ybSBsb2NhbGVzLiAqL1xuZXhwb3J0IGNvbnN0IENBTExPVVRfTEFCRUxTOiBSZWNvcmQ8J2VzJyB8ICdlbicgfCAncHQnLCBDYWxsb3V0TGFiZWxzPiA9IHtcbiAgZXM6IHtcbiAgICBOT1RFOiAnTm90YScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW5jacOzbicsXG4gICAgQ0FVVElPTjogJ1ByZWNhdWNpw7NuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBOT1RFOiAnTm90ZScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50JyxcbiAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgQ0FVVElPTjogJ0NhdXRpb24nLFxuICB9LFxuICBwdDoge1xuICAgIE5PVEU6ICdOb3RhJyxcbiAgICBUSVA6ICdEaWNhJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW7Dp8OjbycsXG4gICAgQ0FVVElPTjogJ0N1aWRhZG8nLFxuICB9LFxufTtcblxuLyoqXG4gKiBQZXItY2FsbG91dC1raW5kIGNvbG9yIChJb25pYyBzZW1hbnRpYyBjb2xvcikuIEZpeGVkIGFjcm9zcyBsb2NhbGVzIHNpbmNlXG4gKiByZWQgPSBkYW5nZXIgbm8gbWF0dGVyIHdoYXQgbGFuZ3VhZ2UgeW91IHNwZWFrLlxuICovXG5jb25zdCBDQUxMT1VUX0NPTE9SUzogUmVjb3JkPENhbGxvdXRUeXBlLCBBcnRpY2xlTm90ZUVsZW1lbnRbJ3Byb3BzJ11bJ2NvbG9yJ10+ID0ge1xuICBOT1RFOiAncHJpbWFyeScsXG4gIFRJUDogJ3N1Y2Nlc3MnLFxuICBJTkZPOiAndGVydGlhcnknLFxuICBJTVBPUlRBTlQ6ICd3YXJuaW5nJyxcbiAgV0FSTklORzogJ3dhcm5pbmcnLFxuICBDQVVUSU9OOiAnZGFuZ2VyJyxcbn07XG5cbi8qKiBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgcGFyc2VyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZU1hcmtkb3duQXJ0aWNsZU9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4ge1xuICAvKipcbiAgICogTG9jYWxlIHVzZWQgdG8gcGljayBidWlsdC1pbiBjYWxsb3V0IGxhYmVscy4gQ29udmVuaWVuY2Ugc2hvcnRjdXQgc29cbiAgICogY2FsbGVycyBkb24ndCBoYXZlIHRvIHNwcmVhZCBgQ0FMTE9VVF9MQUJFTFMuZW5gIHRoZW1zZWx2ZXMuIElnbm9yZWRcbiAgICogd2hlbiBgY2FsbG91dExhYmVsc2AgaXMgcHJvdmlkZWQgZXhwbGljaXRseS5cbiAgICovXG4gIGxvY2FsZT86ICdlcycgfCAnZW4nIHwgJ3B0JztcbiAgLyoqIE92ZXJyaWRlIGV2ZXJ5IGNhbGxvdXQgbGFiZWwgaW5kaXZpZHVhbGx5LiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgYGxvY2FsZWAuICovXG4gIGNhbGxvdXRMYWJlbHM/OiBDYWxsb3V0TGFiZWxzO1xufVxuXG5jb25zdCBCT1hfRFJBV0lORyA9IC9b4pSM4pSQ4pSU4pSY4pSc4pSk4pSs4pS04pS84pSA4pSC4pWU4pWX4pWa4pWd4pWQ4pWRXS87XG5jb25zdCBDQUxMT1VUX1JFID0gL14+XFxzKlxcWyEoTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UKVxcXVxccyooLiopJC9pO1xuY29uc3QgRkVOQ0VfUkUgPSAvXmBgYChbXFx3LV0qKVxccyokLztcbmNvbnN0IEhFQURJTkdfUkUgPSAvXigjezEsNn0pXFxzKyguKykkLztcbmNvbnN0IFNFUEFSQVRPUl9SRSA9IC9eXFxzKig/Oi17Myx9fFxcKnszLH18X3szLH0pXFxzKiQvO1xuY29uc3QgVU5PUkRFUkVEX1JFID0gL15cXHMqWy0qK11cXHMrKC4rKSQvO1xuY29uc3QgQ0hFQ0tMSVNUX1JFID0gL15cXHMqWy0qK11cXHMrXFxbKFsgeFhdKVxcXVxccysoLispJC87XG5jb25zdCBPUkRFUkVEX1JFID0gL15cXHMqXFxkK1xcLlxccysoLispJC87XG5jb25zdCBUQUJMRV9ESVZJREVSX1JFID0gL15cXHMqXFx8P1tcXHM6fC1dK1xcfD9cXHMqJC87XG5jb25zdCBUQUJMRV9ST1dfUkUgPSAvXlxccypcXHwoLispXFx8XFxzKiQvO1xuXG4vKipcbiAqIFB1cmUgTWFya2Rvd24g4oaSIEFydGljbGVNZXRhZGF0YSBwYXJzZXIuIE5vIEFuZ3VsYXIgZGVwcyDigJQgdXNhYmxlIGZyb20gTm9kZSBzY3JpcHRzXG4gKiAoYnVpbGQtdGltZSBnZW5lcmF0aW9uKSBhbmQgZnJvbSB0aGUgQW5ndWxhciBgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZWAgd3JhcHBlci5cbiAqXG4gKiBTdXBwb3J0ZWQgc3ludGF4OlxuICogLSBIZWFkaW5ncyAoIywgIyMsICMjIyDigKYpIOKGkiB0aXRsZSAvIHN1YnRpdGxlXG4gKiAtIFBhcmFncmFwaHMg4oaSIHBhcmFncmFwaCAod2l0aCBgcHJvY2Vzc0xpbmtzYCArIGBhbGxvd1BhcnRpYWxCb2xkYClcbiAqIC0gTGlzdHMgKC0sICosIDEuKSDihpIgdW5vcmRlcmVkIC8gb3JkZXJlZCBsaXN0ICgtIFsgXSAvIC0gW3hdIGZvciBjaGVja2xpc3QpXG4gKiAtIEJsb2NrcXVvdGVzICg+KSDihpIgcXVvdGUsIHdpdGggR2l0SHViIGNhbGxvdXRzIGA+IFshTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UXWAgbWFwcGVkIHRvIG5vdGVzXG4gKiAtIENvZGUgZmVuY2VzIChgYGBsYW5nKSDihpIgY29kZVxuICogLSBCb3gtZHJhd2luZyBBU0NJSSBhcnQgKOKUjOKUkOKUlOKUmOKUguKUgCkgYXV0by13cmFwcGVkIGFzIGNvZGVcbiAqIC0gVGFibGVzIOKGkiBmbGF0dGVuZWQgaW50byBwYXJhZ3JhcGhzIHdpdGggYm9sZCBrZXlzXG4gKiAtIEhvcml6b250YWwgcnVsZXMgKC0tLSwgKioqLCBfX18pIOKGkiBzZXBhcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWFya2Rvd25BcnRpY2xlKFxuICBtYXJrZG93bjogc3RyaW5nLFxuICBvcHRpb25zPzogUGFyc2VNYXJrZG93bkFydGljbGVPcHRpb25zXG4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICBjb25zdCBsaW5lcyA9IG5vcm1hbGl6ZShtYXJrZG93bikuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuICBjb25zdCBsYWJlbHM6IENhbGxvdXRMYWJlbHMgPVxuICAgIG9wdGlvbnM/LmNhbGxvdXRMYWJlbHMgPz9cbiAgICAob3B0aW9ucz8ubG9jYWxlID8gQ0FMTE9VVF9MQUJFTFNbb3B0aW9ucy5sb2NhbGVdIDogQ0FMTE9VVF9MQUJFTFMuZXMpO1xuXG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGgpIHtcbiAgICBjb25zdCBsaW5lID0gbGluZXNbaV07XG5cbiAgICBpZiAobGluZS50cmltKCkgPT09ICcnKSB7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmZW5jZSA9IGxpbmUubWF0Y2goRkVOQ0VfUkUpO1xuICAgIGlmIChmZW5jZSkge1xuICAgICAgY29uc3QgbGFuZyA9IGZlbmNlWzFdIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICBpKys7XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAhRkVOQ0VfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgaSsrO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6IGxhbmcsIHRoZW1lOiAnZGFyaycgfSxcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKEJPWF9EUkFXSU5HLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAobGluZXNbaV0udHJpbSgpID09PSAnJyB8fCBCT1hfRFJBV0lORy50ZXN0KGxpbmVzW2ldKSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGJvZHkubGVuZ3RoICYmIGJvZHlbYm9keS5sZW5ndGggLSAxXS50cmltKCkgPT09ICcnKSBib2R5LnBvcCgpO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6ICd0ZXh0JywgdGhlbWU6ICdkYXJrJyB9LFxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoU0VQQVJBVE9SX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goeyB0eXBlOiAnc2VwYXJhdG9yJywgcHJvcHM6IHsgc3R5bGU6ICdsaW5lJyB9IH0pO1xuICAgICAgaSsrO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGluZyA9IGxpbmUubWF0Y2goSEVBRElOR19SRSk7XG4gICAgaWYgKGhlYWRpbmcpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2gobWFrZUhlYWRpbmcoaGVhZGluZ1sxXS5sZW5ndGgsIGhlYWRpbmdbMl0udHJpbSgpKSk7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobGluZS5zdGFydHNXaXRoKCc+JykpIHtcbiAgICAgIGNvbnN0IGJsb2NrOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGggJiYgbGluZXNbaV0uc3RhcnRzV2l0aCgnPicpKSB7XG4gICAgICAgIGJsb2NrLnB1c2gobGluZXNbaV0pO1xuICAgICAgICBpKys7XG4gICAgICB9XG4gICAgICBlbGVtZW50cy5wdXNoKG1ha2VRdW90ZU9yQ2FsbG91dChibG9jaywgbGFiZWxzKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoVEFCTEVfUk9XX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IHJvd3M6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBUQUJMRV9ST1dfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgcm93cy5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgZWxlbWVudHMucHVzaCguLi5tYWtlVGFibGUocm93cykpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKENIRUNLTElTVF9SRS50ZXN0KGxpbmUpIHx8IFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8IE9SREVSRURfUkUudGVzdChsaW5lKSkge1xuICAgICAgY29uc3QgbGlzdFR5cGU6ICdjaGVja2xpc3QnIHwgJ3Vub3JkZXJlZCcgfCAnb3JkZXJlZCcgPSBDSEVDS0xJU1RfUkUudGVzdChsaW5lKVxuICAgICAgICA/ICdjaGVja2xpc3QnXG4gICAgICAgIDogT1JERVJFRF9SRS50ZXN0KGxpbmUpXG4gICAgICAgICAgPyAnb3JkZXJlZCdcbiAgICAgICAgICA6ICd1bm9yZGVyZWQnO1xuXG4gICAgICBjb25zdCBpdGVtczogQXJ0aWNsZUxpc3RFbGVtZW50Wydwcm9wcyddWydpdGVtcyddID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBsaW5lc1tpXS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IGN1ciA9IGxpbmVzW2ldO1xuICAgICAgICBjb25zdCBjaGVjayA9IGN1ci5tYXRjaChDSEVDS0xJU1RfUkUpO1xuICAgICAgICBjb25zdCB1bm9yZCA9IGN1ci5tYXRjaChVTk9SREVSRURfUkUpO1xuICAgICAgICBjb25zdCBvcmQgPSBjdXIubWF0Y2goT1JERVJFRF9SRSk7XG4gICAgICAgIGlmIChjaGVjaykgaXRlbXMucHVzaCh7IHRleHQ6IHByb2Nlc3NJbmxpbmVCb2xkKGNoZWNrWzJdLnRyaW0oKSkgfSk7XG4gICAgICAgIGVsc2UgaWYgKG9yZCAmJiBsaXN0VHlwZSA9PT0gJ29yZGVyZWQnKVxuICAgICAgICAgIGl0ZW1zLnB1c2goeyB0ZXh0OiBwcm9jZXNzSW5saW5lQm9sZChvcmRbMV0udHJpbSgpKSB9KTtcbiAgICAgICAgZWxzZSBpZiAodW5vcmQgJiYgbGlzdFR5cGUgIT09ICdvcmRlcmVkJylcbiAgICAgICAgICBpdGVtcy5wdXNoKHsgdGV4dDogcHJvY2Vzc0lubGluZUJvbGQodW5vcmRbMV0udHJpbSgpKSB9KTtcbiAgICAgICAgZWxzZSBicmVhaztcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgZWxlbWVudHMucHVzaCh7IHR5cGU6ICdsaXN0JywgcHJvcHM6IHsgaXRlbXMsIGxpc3RUeXBlIH0gfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhZ3JhcGg6IHN0cmluZ1tdID0gW107XG4gICAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGggJiYgbGluZXNbaV0udHJpbSgpICE9PSAnJyAmJiAhc3RhcnRzTmV3QmxvY2sobGluZXNbaV0pKSB7XG4gICAgICBwYXJhZ3JhcGgucHVzaChsaW5lc1tpXSk7XG4gICAgICBpKys7XG4gICAgfVxuICAgIGNvbnN0IHRleHQgPSBwcm9jZXNzSW5saW5lQm9sZChwYXJhZ3JhcGguam9pbignICcpLnRyaW0oKSk7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goe1xuICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBjb250ZW50OiB0ZXh0LFxuICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBTdHJpcCBwYXJzZXItb25seSBvcHRpb25zIGJlZm9yZSBtZXJnaW5nIGludG8gQXJ0aWNsZU1ldGFkYXRhXG4gIGNvbnN0IHsgbG9jYWxlOiBfbCwgY2FsbG91dExhYmVsczogX2MsIC4uLm1ldGFkYXRhT3ZlcnJpZGVzIH0gPSBvcHRpb25zID8/IHt9O1xuXG4gIHJldHVybiB7XG4gICAgZWxlbWVudHMsXG4gICAgbWF4V2lkdGg6ICc5MDBweCcsXG4gICAgY2VudGVyZWQ6IHRydWUsXG4gICAgdGhlbWU6ICdhdXRvJyxcbiAgICAuLi5tZXRhZGF0YU92ZXJyaWRlcyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplKG1kOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbWQucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKS5yZXBsYWNlKC9cXHIvZywgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBzdGFydHNOZXdCbG9jayhsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBIRUFESU5HX1JFLnRlc3QobGluZSkgfHxcbiAgICBGRU5DRV9SRS50ZXN0KGxpbmUpIHx8XG4gICAgU0VQQVJBVE9SX1JFLnRlc3QobGluZSkgfHxcbiAgICBUQUJMRV9ST1dfUkUudGVzdChsaW5lKSB8fFxuICAgIFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgQ0hFQ0tMSVNUX1JFLnRlc3QobGluZSkgfHxcbiAgICBsaW5lLnN0YXJ0c1dpdGgoJz4nKSB8fFxuICAgIEJPWF9EUkFXSU5HLnRlc3QobGluZSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lubGluZUJvbGQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZSgvXFwqXFwqKC4rPylcXCpcXCovZywgJzxzdHJvbmc+JDE8L3N0cm9uZz4nKTtcbn1cblxuZnVuY3Rpb24gbWFrZUhlYWRpbmcobGV2ZWw6IG51bWJlciwgY29udGVudDogc3RyaW5nKTogQXJ0aWNsZVRpdGxlRWxlbWVudCB8IEFydGljbGVTdWJ0aXRsZUVsZW1lbnQge1xuICBpZiAobGV2ZWwgPT09IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RpdGxlJyxcbiAgICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemU6ICd4bGFyZ2UnLCBjb2xvcjogJ2RhcmsnLCBib2xkOiB0cnVlIH0sXG4gICAgfTtcbiAgfVxuICBjb25zdCBzaXplOiAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnID1cbiAgICBsZXZlbCA9PT0gMiA/ICdsYXJnZScgOiBsZXZlbCA9PT0gMyA/ICdtZWRpdW0nIDogJ3NtYWxsJztcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnc3VidGl0bGUnLFxuICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemUsIGNvbG9yOiAnZGFyaycsIGJvbGQ6IHRydWUgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWFrZVF1b3RlT3JDYWxsb3V0KGJsb2NrOiBzdHJpbmdbXSwgbGFiZWxzOiBDYWxsb3V0TGFiZWxzKTogQXJ0aWNsZUVsZW1lbnQge1xuICBjb25zdCBmaXJzdCA9IGJsb2NrWzBdO1xuICBjb25zdCBjYWxsb3V0ID0gZmlyc3QubWF0Y2goQ0FMTE9VVF9SRSk7XG4gIGNvbnN0IGxpbmVzID0gYmxvY2subWFwKGwgPT4gbC5yZXBsYWNlKC9ePlxccz8vLCAnJykpO1xuXG4gIGlmIChjYWxsb3V0KSB7XG4gICAgY29uc3QgdHlwZSA9IGNhbGxvdXRbMV0udG9VcHBlckNhc2UoKSBhcyBDYWxsb3V0VHlwZTtcbiAgICBjb25zdCBmaXJzdExpbmVSZXN0ID0gY2FsbG91dFsyXSB8fCAnJztcbiAgICBjb25zdCByZXN0ID0gbGluZXNcbiAgICAgIC5zbGljZSgxKVxuICAgICAgLmZpbHRlcihsID0+IGwudHJpbSgpICE9PSAnJylcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZUJvbGQoW2ZpcnN0TGluZVJlc3QsIHJlc3RdLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKS50cmltKCkpO1xuICAgIHJldHVybiBtYWtlTm90ZSh0eXBlLCB0ZXh0LCBsYWJlbHMpO1xuICB9XG5cbiAgY29uc3QgdGV4dCA9IHByb2Nlc3NJbmxpbmVCb2xkKGxpbmVzLmpvaW4oJyAnKS50cmltKCkpO1xuICByZXR1cm4ge1xuICAgIHR5cGU6ICdxdW90ZScsXG4gICAgcHJvcHM6IHtcbiAgICAgIGNvbnRlbnQ6IHRleHQsXG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgc2hvd1F1b3RlTWFyazogdHJ1ZSxcbiAgICAgIGFsaWdubWVudDogJ2xlZnQnLFxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1ha2VOb3RlKGtpbmQ6IENhbGxvdXRUeXBlLCB0ZXh0OiBzdHJpbmcsIGxhYmVsczogQ2FsbG91dExhYmVscyk6IEFydGljbGVOb3RlRWxlbWVudCB7XG4gIC8vIE5PVEUgZXMgZWwgY2FsbG91dCBuZXV0cm8gKGNhamEgZGUgY29udGVuaWRvIHNpbiBldGlxdWV0YSBkZSBzZXZlcmlkYWQpOiBzZVxuICAvLyByZW5kZXJpemEgU0lOIHByZWZpam8uIExvcyBkZW3DoXMgdGlwb3MgKFRJUC9JTkZPL1dBUk5JTkcvQ0FVVElPTi9JTVBPUlRBTlQpXG4gIC8vIHPDrSBtdWVzdHJhbiBzdSBsYWJlbCBwb3JxdWUgY29tdW5pY2EgY2F0ZWdvcsOtYS9zZXZlcmlkYWQuIEVsIG5vdGVzLWJveCBub1xuICAvLyByZW5kZXJpemEgaGVhZGVyIGN1YW5kbyBwcmVmaXggZXMgdmFjw61vIChgQGlmIChwcm9wcy5wcmVmaXgpYCkuXG4gIGNvbnN0IHByZWZpeCA9IGtpbmQgPT09ICdOT1RFJyA/ICcnIDogYCR7bGFiZWxzW2tpbmRdfTpgO1xuICByZXR1cm4ge1xuICAgIHR5cGU6ICdub3RlJyxcbiAgICBwcm9wczoge1xuICAgICAgdGV4dCxcbiAgICAgIHByZWZpeCxcbiAgICAgIGNvbG9yOiBDQUxMT1VUX0NPTE9SU1traW5kXSxcbiAgICAgIHRleHRDb2xvcjogJ2RhcmsnLFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICByb3VuZGVkOiB0cnVlLFxuICAgICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAgICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYWtlVGFibGUocm93czogc3RyaW5nW10pOiBBcnRpY2xlRWxlbWVudFtdIHtcbiAgY29uc3QgcGFyc2VkID0gcm93c1xuICAgIC5maWx0ZXIociA9PiAhVEFCTEVfRElWSURFUl9SRS50ZXN0KHIpKVxuICAgIC5tYXAociA9PlxuICAgICAgclxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5yZXBsYWNlKC9eXFx8LywgJycpXG4gICAgICAgIC5yZXBsYWNlKC9cXHwkLywgJycpXG4gICAgICAgIC5zcGxpdCgnfCcpXG4gICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICApO1xuICBpZiAocGFyc2VkLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IGhlYWRlciA9IHBhcnNlZFswXTtcbiAgY29uc3QgZGF0YVJvd3MgPSBwYXJzZWQuc2xpY2UoMSk7XG4gIGlmIChkYXRhUm93cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBjb250ZW50OiBoZWFkZXIuam9pbignIMK3ICcpLFxuICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICByZXR1cm4gZGF0YVJvd3MubWFwKHJvdyA9PiB7XG4gICAgY29uc3QgcGFpcnMgPSByb3cubWFwKChjZWxsLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IGhlYWRlcltpZHhdID8/ICcnO1xuICAgICAgcmV0dXJuIGtleSA/IGA8c3Ryb25nPiR7a2V5fTo8L3N0cm9uZz4gJHtjZWxsfWAgOiBjZWxsO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIGNvbnRlbnQ6IHBhaXJzLmpvaW4oJyDCtyAnKSxcbiAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0gYXMgQXJ0aWNsZUVsZW1lbnQ7XG4gIH0pO1xufVxuIl19
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQThDO0lBQ3ZFLEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLE1BQU07UUFDWixHQUFHLEVBQUUsS0FBSztRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osU0FBUyxFQUFFLFdBQVc7UUFDdEIsT0FBTyxFQUFFLFNBQVM7UUFDbEIsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxNQUFNO1FBQ1gsSUFBSSxFQUFFLE1BQU07UUFDWixTQUFTLEVBQUUsWUFBWTtRQUN2QixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsU0FBUztLQUNuQjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBOEQ7SUFDaEYsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLElBQUksRUFBRSxVQUFVO0lBQ2hCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0NBQ2xCLENBQUM7QUFjRixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUMxQyxNQUFNLFVBQVUsR0FBRyw4REFBOEQsQ0FBQztB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Q0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxLQUFLO2dCQUNYLFlBQVksRUFBRSxJQUFJO2dCQUNsQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1NBQ2dCLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJ0aWNsZUVsZW1lbnQsXG4gIEFydGljbGVMaXN0RWxlbWVudCxcbiAgQXJ0aWNsZU1ldGFkYXRhLFxuICBBcnRpY2xlTm90ZUVsZW1lbnQsXG4gIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQsXG4gIEFydGljbGVUaXRsZUVsZW1lbnQsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBDYWxsb3V0VHlwZSA9ICdOT1RFJyB8ICdUSVAnIHwgJ0lORk8nIHwgJ1dBUk5JTkcnIHwgJ0NBVVRJT04nIHwgJ0lNUE9SVEFOVCc7XG5cbi8qKlxuICogTG9jYWxpemVkIGxhYmVsIHBlciBjYWxsb3V0IGtpbmQuIFVzZWQgYXMgdGhlIHByZWZpeCBzaG93biBpbnNpZGUgdGhlXG4gKiByZXN1bHRpbmcgbm90ZSBlbGVtZW50IChlLmcuIGA+IFshTk9URV0g4oCmYCDihpIgYDx2YWwtbm90ZXMtYm94IHByZWZpeD1cIk5vdGFcIj5gKS5cbiAqXG4gKiBEZWZhdWx0cyB0byBTcGFuaXNoIGZvciBiYWNrLWNvbXBhdC4gUGFzcyBhIGRpZmZlcmVudCBtYXAgcGVyIGxvY2FsZSB3aGVuXG4gKiBwYXJzaW5nIHRyYW5zbGF0ZWQgZG9jdW1lbnRzIHNvIHRoZSBwcmVmaXggbWF0Y2hlcyB0aGUgYm9keSBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2FsbG91dExhYmVscyA9IFJlY29yZDxDYWxsb3V0VHlwZSwgc3RyaW5nPjtcblxuLyoqIEJ1aWx0LWluIGxhYmVsIHNldHMgZm9yIHRoZSB0aHJlZSBwbGF0Zm9ybSBsb2NhbGVzLiAqL1xuZXhwb3J0IGNvbnN0IENBTExPVVRfTEFCRUxTOiBSZWNvcmQ8J2VzJyB8ICdlbicgfCAncHQnLCBDYWxsb3V0TGFiZWxzPiA9IHtcbiAgZXM6IHtcbiAgICBOT1RFOiAnTm90YScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW5jacOzbicsXG4gICAgQ0FVVElPTjogJ1ByZWNhdWNpw7NuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBOT1RFOiAnTm90ZScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50JyxcbiAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgQ0FVVElPTjogJ0NhdXRpb24nLFxuICB9LFxuICBwdDoge1xuICAgIE5PVEU6ICdOb3RhJyxcbiAgICBUSVA6ICdEaWNhJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW7Dp8OjbycsXG4gICAgQ0FVVElPTjogJ0N1aWRhZG8nLFxuICB9LFxufTtcblxuLyoqXG4gKiBQZXItY2FsbG91dC1raW5kIGNvbG9yIChJb25pYyBzZW1hbnRpYyBjb2xvcikuIEZpeGVkIGFjcm9zcyBsb2NhbGVzIHNpbmNlXG4gKiByZWQgPSBkYW5nZXIgbm8gbWF0dGVyIHdoYXQgbGFuZ3VhZ2UgeW91IHNwZWFrLlxuICovXG5jb25zdCBDQUxMT1VUX0NPTE9SUzogUmVjb3JkPENhbGxvdXRUeXBlLCBBcnRpY2xlTm90ZUVsZW1lbnRbJ3Byb3BzJ11bJ2NvbG9yJ10+ID0ge1xuICBOT1RFOiAncHJpbWFyeScsXG4gIFRJUDogJ3N1Y2Nlc3MnLFxuICBJTkZPOiAndGVydGlhcnknLFxuICBJTVBPUlRBTlQ6ICd3YXJuaW5nJyxcbiAgV0FSTklORzogJ3dhcm5pbmcnLFxuICBDQVVUSU9OOiAnZGFuZ2VyJyxcbn07XG5cbi8qKiBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgcGFyc2VyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZU1hcmtkb3duQXJ0aWNsZU9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4ge1xuICAvKipcbiAgICogTG9jYWxlIHVzZWQgdG8gcGljayBidWlsdC1pbiBjYWxsb3V0IGxhYmVscy4gQ29udmVuaWVuY2Ugc2hvcnRjdXQgc29cbiAgICogY2FsbGVycyBkb24ndCBoYXZlIHRvIHNwcmVhZCBgQ0FMTE9VVF9MQUJFTFMuZW5gIHRoZW1zZWx2ZXMuIElnbm9yZWRcbiAgICogd2hlbiBgY2FsbG91dExhYmVsc2AgaXMgcHJvdmlkZWQgZXhwbGljaXRseS5cbiAgICovXG4gIGxvY2FsZT86ICdlcycgfCAnZW4nIHwgJ3B0JztcbiAgLyoqIE92ZXJyaWRlIGV2ZXJ5IGNhbGxvdXQgbGFiZWwgaW5kaXZpZHVhbGx5LiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgYGxvY2FsZWAuICovXG4gIGNhbGxvdXRMYWJlbHM/OiBDYWxsb3V0TGFiZWxzO1xufVxuXG5jb25zdCBCT1hfRFJBV0lORyA9IC9b4pSM4pSQ4pSU4pSY4pSc4pSk4pSs4pS04pS84pSA4pSC4pWU4pWX4pWa4pWd4pWQ4pWRXS87XG5jb25zdCBDQUxMT1VUX1JFID0gL14+XFxzKlxcWyEoTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UKVxcXVxccyooLiopJC9pO1xuY29uc3QgRkVOQ0VfUkUgPSAvXmBgYChbXFx3LV0qKVxccyokLztcbmNvbnN0IEhFQURJTkdfUkUgPSAvXigjezEsNn0pXFxzKyguKykkLztcbmNvbnN0IFNFUEFSQVRPUl9SRSA9IC9eXFxzKig/Oi17Myx9fFxcKnszLH18X3szLH0pXFxzKiQvO1xuY29uc3QgVU5PUkRFUkVEX1JFID0gL15cXHMqWy0qK11cXHMrKC4rKSQvO1xuY29uc3QgQ0hFQ0tMSVNUX1JFID0gL15cXHMqWy0qK11cXHMrXFxbKFsgeFhdKVxcXVxccysoLispJC87XG5jb25zdCBPUkRFUkVEX1JFID0gL15cXHMqXFxkK1xcLlxccysoLispJC87XG5jb25zdCBUQUJMRV9ESVZJREVSX1JFID0gL15cXHMqXFx8P1tcXHM6fC1dK1xcfD9cXHMqJC87XG5jb25zdCBUQUJMRV9ST1dfUkUgPSAvXlxccypcXHwoLispXFx8XFxzKiQvO1xuXG4vKipcbiAqIFB1cmUgTWFya2Rvd24g4oaSIEFydGljbGVNZXRhZGF0YSBwYXJzZXIuIE5vIEFuZ3VsYXIgZGVwcyDigJQgdXNhYmxlIGZyb20gTm9kZSBzY3JpcHRzXG4gKiAoYnVpbGQtdGltZSBnZW5lcmF0aW9uKSBhbmQgZnJvbSB0aGUgQW5ndWxhciBgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZWAgd3JhcHBlci5cbiAqXG4gKiBTdXBwb3J0ZWQgc3ludGF4OlxuICogLSBIZWFkaW5ncyAoIywgIyMsICMjIyDigKYpIOKGkiB0aXRsZSAvIHN1YnRpdGxlXG4gKiAtIFBhcmFncmFwaHMg4oaSIHBhcmFncmFwaCAod2l0aCBgcHJvY2Vzc0xpbmtzYCArIGBhbGxvd1BhcnRpYWxCb2xkYClcbiAqIC0gTGlzdHMgKC0sICosIDEuKSDihpIgdW5vcmRlcmVkIC8gb3JkZXJlZCBsaXN0ICgtIFsgXSAvIC0gW3hdIGZvciBjaGVja2xpc3QpXG4gKiAtIEJsb2NrcXVvdGVzICg+KSDihpIgcXVvdGUsIHdpdGggR2l0SHViIGNhbGxvdXRzIGA+IFshTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UXWAgbWFwcGVkIHRvIG5vdGVzXG4gKiAtIENvZGUgZmVuY2VzIChgYGBsYW5nKSDihpIgY29kZVxuICogLSBCb3gtZHJhd2luZyBBU0NJSSBhcnQgKOKUjOKUkOKUlOKUmOKUguKUgCkgYXV0by13cmFwcGVkIGFzIGNvZGVcbiAqIC0gVGFibGVzIOKGkiBmbGF0dGVuZWQgaW50byBwYXJhZ3JhcGhzIHdpdGggYm9sZCBrZXlzXG4gKiAtIEhvcml6b250YWwgcnVsZXMgKC0tLSwgKioqLCBfX18pIOKGkiBzZXBhcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWFya2Rvd25BcnRpY2xlKFxuICBtYXJrZG93bjogc3RyaW5nLFxuICBvcHRpb25zPzogUGFyc2VNYXJrZG93bkFydGljbGVPcHRpb25zXG4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICBjb25zdCBsaW5lcyA9IG5vcm1hbGl6ZShtYXJrZG93bikuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuICBjb25zdCBsYWJlbHM6IENhbGxvdXRMYWJlbHMgPVxuICAgIG9wdGlvbnM/LmNhbGxvdXRMYWJlbHMgPz9cbiAgICAob3B0aW9ucz8ubG9jYWxlID8gQ0FMTE9VVF9MQUJFTFNbb3B0aW9ucy5sb2NhbGVdIDogQ0FMTE9VVF9MQUJFTFMuZXMpO1xuXG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGgpIHtcbiAgICBjb25zdCBsaW5lID0gbGluZXNbaV07XG5cbiAgICBpZiAobGluZS50cmltKCkgPT09ICcnKSB7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmZW5jZSA9IGxpbmUubWF0Y2goRkVOQ0VfUkUpO1xuICAgIGlmIChmZW5jZSkge1xuICAgICAgY29uc3QgbGFuZyA9IGZlbmNlWzFdIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICBpKys7XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAhRkVOQ0VfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgaSsrO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6IGxhbmcsIHRoZW1lOiAnZGFyaycgfSxcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKEJPWF9EUkFXSU5HLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAobGluZXNbaV0udHJpbSgpID09PSAnJyB8fCBCT1hfRFJBV0lORy50ZXN0KGxpbmVzW2ldKSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGJvZHkubGVuZ3RoICYmIGJvZHlbYm9keS5sZW5ndGggLSAxXS50cmltKCkgPT09ICcnKSBib2R5LnBvcCgpO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6ICd0ZXh0JywgdGhlbWU6ICdkYXJrJyB9LFxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoU0VQQVJBVE9SX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goeyB0eXBlOiAnc2VwYXJhdG9yJywgcHJvcHM6IHsgc3R5bGU6ICdsaW5lJyB9IH0pO1xuICAgICAgaSsrO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGluZyA9IGxpbmUubWF0Y2goSEVBRElOR19SRSk7XG4gICAgaWYgKGhlYWRpbmcpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2gobWFrZUhlYWRpbmcoaGVhZGluZ1sxXS5sZW5ndGgsIGhlYWRpbmdbMl0udHJpbSgpKSk7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobGluZS5zdGFydHNXaXRoKCc+JykpIHtcbiAgICAgIGNvbnN0IGJsb2NrOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGggJiYgbGluZXNbaV0uc3RhcnRzV2l0aCgnPicpKSB7XG4gICAgICAgIGJsb2NrLnB1c2gobGluZXNbaV0pO1xuICAgICAgICBpKys7XG4gICAgICB9XG4gICAgICBlbGVtZW50cy5wdXNoKG1ha2VRdW90ZU9yQ2FsbG91dChibG9jaywgbGFiZWxzKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoVEFCTEVfUk9XX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IHJvd3M6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBUQUJMRV9ST1dfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgcm93cy5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgZWxlbWVudHMucHVzaCguLi5tYWtlVGFibGUocm93cykpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKENIRUNLTElTVF9SRS50ZXN0KGxpbmUpIHx8IFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8IE9SREVSRURfUkUudGVzdChsaW5lKSkge1xuICAgICAgY29uc3QgbGlzdFR5cGU6ICdjaGVja2xpc3QnIHwgJ3Vub3JkZXJlZCcgfCAnb3JkZXJlZCcgPSBDSEVDS0xJU1RfUkUudGVzdChsaW5lKVxuICAgICAgICA/ICdjaGVja2xpc3QnXG4gICAgICAgIDogT1JERVJFRF9SRS50ZXN0KGxpbmUpXG4gICAgICAgICAgPyAnb3JkZXJlZCdcbiAgICAgICAgICA6ICd1bm9yZGVyZWQnO1xuXG4gICAgICBjb25zdCBpdGVtczogQXJ0aWNsZUxpc3RFbGVtZW50Wydwcm9wcyddWydpdGVtcyddID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBsaW5lc1tpXS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IGN1ciA9IGxpbmVzW2ldO1xuICAgICAgICBjb25zdCBjaGVjayA9IGN1ci5tYXRjaChDSEVDS0xJU1RfUkUpO1xuICAgICAgICBjb25zdCB1bm9yZCA9IGN1ci5tYXRjaChVTk9SREVSRURfUkUpO1xuICAgICAgICBjb25zdCBvcmQgPSBjdXIubWF0Y2goT1JERVJFRF9SRSk7XG4gICAgICAgIGlmIChjaGVjaykgaXRlbXMucHVzaCh7IHRleHQ6IHByb2Nlc3NJbmxpbmUoY2hlY2tbMl0udHJpbSgpKSB9KTtcbiAgICAgICAgZWxzZSBpZiAob3JkICYmIGxpc3RUeXBlID09PSAnb3JkZXJlZCcpIGl0ZW1zLnB1c2goeyB0ZXh0OiBwcm9jZXNzSW5saW5lKG9yZFsxXS50cmltKCkpIH0pO1xuICAgICAgICBlbHNlIGlmICh1bm9yZCAmJiBsaXN0VHlwZSAhPT0gJ29yZGVyZWQnKVxuICAgICAgICAgIGl0ZW1zLnB1c2goeyB0ZXh0OiBwcm9jZXNzSW5saW5lKHVub3JkWzFdLnRyaW0oKSkgfSk7XG4gICAgICAgIGVsc2UgYnJlYWs7XG4gICAgICAgIGkrKztcbiAgICAgIH1cbiAgICAgIGVsZW1lbnRzLnB1c2goeyB0eXBlOiAnbGlzdCcsIHByb3BzOiB7IGl0ZW1zLCBsaXN0VHlwZSB9IH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYWdyYXBoOiBzdHJpbmdbXSA9IFtdO1xuICAgIHdoaWxlIChpIDwgbGluZXMubGVuZ3RoICYmIGxpbmVzW2ldLnRyaW0oKSAhPT0gJycgJiYgIXN0YXJ0c05ld0Jsb2NrKGxpbmVzW2ldKSkge1xuICAgICAgcGFyYWdyYXBoLnB1c2gobGluZXNbaV0pO1xuICAgICAgaSsrO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZShwYXJhZ3JhcGguam9pbignICcpLnRyaW0oKSk7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goe1xuICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBjb250ZW50OiB0ZXh0LFxuICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBTdHJpcCBwYXJzZXItb25seSBvcHRpb25zIGJlZm9yZSBtZXJnaW5nIGludG8gQXJ0aWNsZU1ldGFkYXRhXG4gIGNvbnN0IHsgbG9jYWxlOiBfbCwgY2FsbG91dExhYmVsczogX2MsIC4uLm1ldGFkYXRhT3ZlcnJpZGVzIH0gPSBvcHRpb25zID8/IHt9O1xuXG4gIHJldHVybiB7XG4gICAgZWxlbWVudHMsXG4gICAgbWF4V2lkdGg6ICc5MDBweCcsXG4gICAgY2VudGVyZWQ6IHRydWUsXG4gICAgdGhlbWU6ICdhdXRvJyxcbiAgICAuLi5tZXRhZGF0YU92ZXJyaWRlcyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplKG1kOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbWQucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKS5yZXBsYWNlKC9cXHIvZywgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBzdGFydHNOZXdCbG9jayhsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBIRUFESU5HX1JFLnRlc3QobGluZSkgfHxcbiAgICBGRU5DRV9SRS50ZXN0KGxpbmUpIHx8XG4gICAgU0VQQVJBVE9SX1JFLnRlc3QobGluZSkgfHxcbiAgICBUQUJMRV9ST1dfUkUudGVzdChsaW5lKSB8fFxuICAgIFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgQ0hFQ0tMSVNUX1JFLnRlc3QobGluZSkgfHxcbiAgICBsaW5lLnN0YXJ0c1dpdGgoJz4nKSB8fFxuICAgIEJPWF9EUkFXSU5HLnRlc3QobGluZSlcbiAgKTtcbn1cblxuLy8gUHJvY2VzYSBtYXJjYWRvIGlubGluZSBhIEhUTUwgKHJlbmRlcml6YWRvIHbDrWEgaW5uZXJIVE1MIHBvciB2YWwtdGV4dC92YWwtYXJ0aWNsZSkuXG4vLyBMb3MgZW5sYWNlcyBbdGV4dG9dKHVybCkgTk8gc2UgdG9jYW4gYWPDoTogbG9zIHJlc3VlbHZlIGVsIFByb2Nlc3NMaW5rc1BpcGUgZW5cbi8vIHJ1bnRpbWUgKGdhdGVhZG8gcG9yIHByb2Nlc3NMaW5rcykuIE9yZGVuOiBjw7NkaWdvIHByaW1lcm8gKHBhcmEgbm8gaW50ZXJwcmV0YXJcbi8vIHN1IGludGVyaW9yKSwgbHVlZ28gbmVncml0YSwgbHVlZ28gaXTDoWxpY2EgKGxvcyBgKipgIHlhIGNvbnN1bWlkb3Mgbm8gY29saXNpb25hbikuXG5mdW5jdGlvbiBwcm9jZXNzSW5saW5lKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoL2AoW15gXSspYC9nLCAnPGNvZGU+JDE8L2NvZGU+JylcbiAgICAucmVwbGFjZSgvXFwqXFwqKC4rPylcXCpcXCovZywgJzxzdHJvbmc+JDE8L3N0cm9uZz4nKVxuICAgIC5yZXBsYWNlKC9cXCooW14qXFxuXSs/KVxcKi9nLCAnPGVtPiQxPC9lbT4nKTtcbn1cblxuZnVuY3Rpb24gbWFrZUhlYWRpbmcobGV2ZWw6IG51bWJlciwgY29udGVudDogc3RyaW5nKTogQXJ0aWNsZVRpdGxlRWxlbWVudCB8IEFydGljbGVTdWJ0aXRsZUVsZW1lbnQge1xuICBpZiAobGV2ZWwgPT09IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RpdGxlJyxcbiAgICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemU6ICd4bGFyZ2UnLCBjb2xvcjogJ2RhcmsnLCBib2xkOiB0cnVlIH0sXG4gICAgfTtcbiAgfVxuICBjb25zdCBzaXplOiAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnID1cbiAgICBsZXZlbCA9PT0gMiA/ICdsYXJnZScgOiBsZXZlbCA9PT0gMyA/ICdtZWRpdW0nIDogJ3NtYWxsJztcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnc3VidGl0bGUnLFxuICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemUsIGNvbG9yOiAnZGFyaycsIGJvbGQ6IHRydWUgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWFrZVF1b3RlT3JDYWxsb3V0KGJsb2NrOiBzdHJpbmdbXSwgbGFiZWxzOiBDYWxsb3V0TGFiZWxzKTogQXJ0aWNsZUVsZW1lbnQge1xuICBjb25zdCBmaXJzdCA9IGJsb2NrWzBdO1xuICBjb25zdCBjYWxsb3V0ID0gZmlyc3QubWF0Y2goQ0FMTE9VVF9SRSk7XG4gIGNvbnN0IGxpbmVzID0gYmxvY2subWFwKGwgPT4gbC5yZXBsYWNlKC9ePlxccz8vLCAnJykpO1xuXG4gIGlmIChjYWxsb3V0KSB7XG4gICAgY29uc3QgdHlwZSA9IGNhbGxvdXRbMV0udG9VcHBlckNhc2UoKSBhcyBDYWxsb3V0VHlwZTtcbiAgICBjb25zdCBmaXJzdExpbmVSZXN0ID0gY2FsbG91dFsyXSB8fCAnJztcbiAgICBjb25zdCByZXN0ID0gbGluZXNcbiAgICAgIC5zbGljZSgxKVxuICAgICAgLmZpbHRlcihsID0+IGwudHJpbSgpICE9PSAnJylcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZShbZmlyc3RMaW5lUmVzdCwgcmVzdF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpLnRyaW0oKSk7XG4gICAgcmV0dXJuIG1ha2VOb3RlKHR5cGUsIHRleHQsIGxhYmVscyk7XG4gIH1cblxuICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZShsaW5lcy5qb2luKCcgJykudHJpbSgpKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAncXVvdGUnLFxuICAgIHByb3BzOiB7XG4gICAgICBjb250ZW50OiB0ZXh0LFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICBib2xkOiBmYWxzZSxcbiAgICAgIHNob3dRdW90ZU1hcms6IHRydWUsXG4gICAgICBhbGlnbm1lbnQ6ICdsZWZ0JyxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYWtlTm90ZShraW5kOiBDYWxsb3V0VHlwZSwgdGV4dDogc3RyaW5nLCBsYWJlbHM6IENhbGxvdXRMYWJlbHMpOiBBcnRpY2xlTm90ZUVsZW1lbnQge1xuICAvLyBOT1RFIGVzIGVsIGNhbGxvdXQgbmV1dHJvIChjYWphIGRlIGNvbnRlbmlkbyBzaW4gZXRpcXVldGEgZGUgc2V2ZXJpZGFkKTogc2VcbiAgLy8gcmVuZGVyaXphIFNJTiBwcmVmaWpvLiBMb3MgZGVtw6FzIHRpcG9zIChUSVAvSU5GTy9XQVJOSU5HL0NBVVRJT04vSU1QT1JUQU5UKVxuICAvLyBzw60gbXVlc3RyYW4gc3UgbGFiZWwgcG9ycXVlIGNvbXVuaWNhIGNhdGVnb3LDrWEvc2V2ZXJpZGFkLiBFbCBub3Rlcy1ib3ggbm9cbiAgLy8gcmVuZGVyaXphIGhlYWRlciBjdWFuZG8gcHJlZml4IGVzIHZhY8OtbyAoYEBpZiAocHJvcHMucHJlZml4KWApLlxuICBjb25zdCBwcmVmaXggPSBraW5kID09PSAnTk9URScgPyAnJyA6IGAke2xhYmVsc1traW5kXX06YDtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnbm90ZScsXG4gICAgcHJvcHM6IHtcbiAgICAgIHRleHQsXG4gICAgICBwcmVmaXgsXG4gICAgICBjb2xvcjogQ0FMTE9VVF9DT0xPUlNba2luZF0sXG4gICAgICB0ZXh0Q29sb3I6ICdkYXJrJyxcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgcm91bmRlZDogdHJ1ZSxcbiAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWFrZVRhYmxlKHJvd3M6IHN0cmluZ1tdKTogQXJ0aWNsZUVsZW1lbnRbXSB7XG4gIGNvbnN0IHBhcnNlZCA9IHJvd3NcbiAgICAuZmlsdGVyKHIgPT4gIVRBQkxFX0RJVklERVJfUkUudGVzdChyKSlcbiAgICAubWFwKHIgPT5cbiAgICAgIHJcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAucmVwbGFjZSgvXlxcfC8sICcnKVxuICAgICAgICAucmVwbGFjZSgvXFx8JC8sICcnKVxuICAgICAgICAuc3BsaXQoJ3wnKVxuICAgICAgICAubWFwKGMgPT4gYy50cmltKCkpXG4gICAgKTtcbiAgaWYgKHBhcnNlZC5sZW5ndGggPT09IDApIHJldHVybiBbXTtcblxuICBjb25zdCBoZWFkZXIgPSBwYXJzZWRbMF07XG4gIGNvbnN0IGRhdGFSb3dzID0gcGFyc2VkLnNsaWNlKDEpO1xuICBpZiAoZGF0YVJvd3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3BhcmFncmFwaCcsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgY29udGVudDogaGVhZGVyLm1hcChwcm9jZXNzSW5saW5lKS5qb2luKCcgwrcgJyksXG4gICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgICAgICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBkYXRhUm93cy5tYXAocm93ID0+IHtcbiAgICBjb25zdCBwYWlycyA9IHJvdy5tYXAoKGNlbGwsIGlkeCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gaGVhZGVyW2lkeF0gPz8gJyc7XG4gICAgICByZXR1cm4ga2V5XG4gICAgICAgID8gYDxzdHJvbmc+JHtwcm9jZXNzSW5saW5lKGtleSl9Ojwvc3Ryb25nPiAke3Byb2Nlc3NJbmxpbmUoY2VsbCl9YFxuICAgICAgICA6IHByb2Nlc3NJbmxpbmUoY2VsbCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdwYXJhZ3JhcGgnLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgY29udGVudDogcGFpcnMuam9pbignIMK3ICcpLFxuICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgICAgICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSBhcyBBcnRpY2xlRWxlbWVudDtcbiAgfSk7XG59XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.152';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNTInO1xuIl19
5
+ export const VERSION = '4.0.154';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNTQnO1xuIl19
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
56
56
  * Current version of valtech-components.
57
57
  * This is automatically updated during the publish process.
58
58
  */
59
- const VERSION = '4.0.152';
59
+ const VERSION = '4.0.154';
60
60
 
61
61
  // Control de estado de refresco (singleton a nivel de módulo)
62
62
  let isRefreshing = false;
@@ -30403,6 +30403,8 @@ addIcons({
30403
30403
  alertCircleOutline,
30404
30404
  cloudOfflineOutline,
30405
30405
  documentOutline,
30406
+ copyOutline,
30407
+ checkmarkOutline,
30406
30408
  });
30407
30409
  const DEFAULT_ICON_BY_VARIANT = {
30408
30410
  empty: 'document-outline',
@@ -30435,6 +30437,7 @@ const DEFAULT_ICON_BY_VARIANT = {
30435
30437
  class EmptyStateComponent {
30436
30438
  constructor() {
30437
30439
  this.props = input.required();
30440
+ this.copied = signal(false);
30438
30441
  /** Variante resuelta (default `'empty'`). */
30439
30442
  this.variantClass = computed(() => this.props().variant ?? 'empty');
30440
30443
  /** Icono final — custom si se pasó, default de la variante si no. */
@@ -30461,6 +30464,12 @@ class EmptyStateComponent {
30461
30464
  };
30462
30465
  });
30463
30466
  }
30467
+ copyOpId(opId) {
30468
+ void navigator.clipboard.writeText(opId).then(() => {
30469
+ this.copied.set(true);
30470
+ setTimeout(() => this.copied.set(false), 1500);
30471
+ });
30472
+ }
30464
30473
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30465
30474
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: EmptyStateComponent, isStandalone: true, selector: "val-empty-state", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
30466
30475
  <section
@@ -30501,8 +30510,15 @@ class EmptyStateComponent {
30501
30510
  @if (props().action; as a) {
30502
30511
  <val-button class="empty-state__cta" [props]="ctaProps()" (click)="a.handler()" />
30503
30512
  }
30513
+
30514
+ @if (props().operationId; as opId) {
30515
+ <button class="empty-state__op-id" (click)="copyOpId(opId)" [attr.aria-label]="'Copiar ID de operación'">
30516
+ <ion-icon [name]="copied() ? 'checkmark-outline' : 'copy-outline'" />
30517
+ <span>{{ copied() ? 'ID copiado' : 'ID: ' + opId }}</span>
30518
+ </button>
30519
+ }
30504
30520
  </section>
30505
- `, isInline: true, styles: [".empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px 16px;min-height:240px}.empty-state__icon{color:var(--ion-color-medium)}.empty-state__emoji{line-height:1}.empty-state--error .empty-state__icon{color:var(--ion-color-warning, #ffb800)}.empty-state--offline .empty-state__icon{color:var(--ion-color-medium);opacity:.7}.empty-state__cta{margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30521
+ `, isInline: true, styles: [".empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px 16px;min-height:240px}.empty-state__icon{color:var(--ion-color-medium)}.empty-state__emoji{line-height:1}.empty-state--error .empty-state__icon{color:var(--ion-color-warning, #ffb800)}.empty-state--offline .empty-state__icon{color:var(--ion-color-medium);opacity:.7}.empty-state__cta{margin-top:8px}.empty-state__op-id{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:5px 10px;background:none;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:999px;cursor:pointer;color:var(--ion-color-medium);font-size:.75rem;font-family:monospace;line-height:1;transition:color .15s,border-color .15s}.empty-state__op-id:hover{color:var(--ion-color-dark);border-color:var(--ion-color-medium)}.empty-state__op-id ion-icon{font-size:.875rem;flex-shrink:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30506
30522
  }
30507
30523
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyStateComponent, decorators: [{
30508
30524
  type: Component,
@@ -30545,8 +30561,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30545
30561
  @if (props().action; as a) {
30546
30562
  <val-button class="empty-state__cta" [props]="ctaProps()" (click)="a.handler()" />
30547
30563
  }
30564
+
30565
+ @if (props().operationId; as opId) {
30566
+ <button class="empty-state__op-id" (click)="copyOpId(opId)" [attr.aria-label]="'Copiar ID de operación'">
30567
+ <ion-icon [name]="copied() ? 'checkmark-outline' : 'copy-outline'" />
30568
+ <span>{{ copied() ? 'ID copiado' : 'ID: ' + opId }}</span>
30569
+ </button>
30570
+ }
30548
30571
  </section>
30549
- `, styles: [".empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px 16px;min-height:240px}.empty-state__icon{color:var(--ion-color-medium)}.empty-state__emoji{line-height:1}.empty-state--error .empty-state__icon{color:var(--ion-color-warning, #ffb800)}.empty-state--offline .empty-state__icon{color:var(--ion-color-medium);opacity:.7}.empty-state__cta{margin-top:8px}\n"] }]
30572
+ `, styles: [".empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px 16px;min-height:240px}.empty-state__icon{color:var(--ion-color-medium)}.empty-state__emoji{line-height:1}.empty-state--error .empty-state__icon{color:var(--ion-color-warning, #ffb800)}.empty-state--offline .empty-state__icon{color:var(--ion-color-medium);opacity:.7}.empty-state__cta{margin-top:8px}.empty-state__op-id{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:5px 10px;background:none;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:999px;cursor:pointer;color:var(--ion-color-medium);font-size:.75rem;font-family:monospace;line-height:1;transition:color .15s,border-color .15s}.empty-state__op-id:hover{color:var(--ion-color-dark);border-color:var(--ion-color-medium)}.empty-state__op-id ion-icon{font-size:.875rem;flex-shrink:0}\n"] }]
30550
30573
  }] });
30551
30574
 
30552
30575
  /**
@@ -30600,6 +30623,7 @@ function createErrorStateProps(err, opts) {
30600
30623
  description: opts.description ? pick(opts.description) : undefined,
30601
30624
  action,
30602
30625
  emoji: opts.emoji ? pick(opts.emoji) : undefined,
30626
+ operationId: interpreted.operationId,
30603
30627
  };
30604
30628
  }
30605
30629
 
@@ -32002,7 +32026,7 @@ class ArticleComponent {
32002
32026
  <span *ngIf="getListElement(element).props.listType === 'checklist'" class="val-article__list-check"
32003
32027
  >✓</span
32004
32028
  >
32005
- <span [innerHTML]="item.text"></span>
32029
+ <span [innerHTML]="item.text | processLinks"></span>
32006
32030
  </li>
32007
32031
  </ul>
32008
32032
  <ol
@@ -32010,7 +32034,7 @@ class ArticleComponent {
32010
32034
  class="val-article__list val-article__list--ordered"
32011
32035
  >
32012
32036
  <li *ngFor="let item of getListElement(element).props.items" class="val-article__list-item">
32013
- <span [innerHTML]="item.text"></span>
32037
+ <span [innerHTML]="item.text | processLinks"></span>
32014
32038
  </li>
32015
32039
  </ol>
32016
32040
  </ng-container>
@@ -32081,7 +32105,7 @@ class ArticleComponent {
32081
32105
  </ng-container>
32082
32106
  </div>
32083
32107
  </article>
32084
- `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-article{width:100%;margin:0 auto;line-height:1.6;color:var(--ion-color-dark, #1f2937);display:block;position:static}.val-article--centered{margin:0 auto}.val-article--light{background-color:var(--ion-color-light, #ffffff);color:var(--ion-color-dark, #1f2937)}.val-article--dark{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article__element{position:relative}.val-article__element:last-child{margin-bottom:0!important}.val-article__spacing-top--none{margin-top:0!important}.val-article__spacing-top--small{margin-top:.5rem!important}.val-article__spacing-top--medium{margin-top:1rem!important}.val-article__spacing-top--large{margin-top:1.5rem!important}.val-article__spacing-top--xlarge{margin-top:2.5rem!important}.val-article__spacing-bottom--none{margin-bottom:0!important}.val-article__spacing-bottom--small{margin-bottom:.5rem!important}.val-article__spacing-bottom--medium{margin-bottom:1rem!important}.val-article__spacing-bottom--large{margin-bottom:1.5rem!important}.val-article__spacing-bottom--xlarge{margin-bottom:2.5rem!important}.val-article__spacing-horizontal--none{margin-left:0!important;margin-right:0!important}.val-article__spacing-horizontal--small{margin-left:.5rem!important;margin-right:.5rem!important}.val-article__spacing-horizontal--medium{margin-left:1rem!important;margin-right:1rem!important}.val-article__spacing-horizontal--large{margin-left:1.5rem!important;margin-right:1.5rem!important}.val-article__spacing-horizontal--xlarge{margin-left:2.5rem!important;margin-right:2.5rem!important}.val-article__quote{border-left:4px solid #0969da;padding:1rem;background-color:var(--ion-color-light-shade, #f8f9fa);border-radius:0 8px 8px 0;font-style:italic}.val-article__quote-content{margin-bottom:.5rem;font-size:1.1em}.val-article__quote-author{font-size:.9em;color:var(--ion-color-medium, #6c757d);font-style:normal;font-weight:500;text-align:right}.val-article__quote-source{font-weight:400;opacity:.8}.val-article__highlight{padding:1rem;background-color:var(--ion-color-warning-tint, #fff3cd);border:1px solid var(--ion-color-warning, #ffc107);border-radius:4px}.val-article__highlight--rounded{border-radius:12px}.val-article__code{border-radius:8px;overflow:hidden;border:1px solid #e1e5e9}.val-article__code-language{background-color:var(--ion-color-medium-tint, #f8f9fa);padding:.5rem 1rem;font-size:.875em;font-weight:500;color:var(--ion-color-dark, #495057);border-bottom:1px solid #e1e5e9;text-transform:uppercase;letter-spacing:.5px}.val-article__code-content{background-color:#f6f8fa;color:#24292e;padding:1rem;margin:0;overflow-x:auto;font-family:SFMono-Regular,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;line-height:1.5}.val-article__code-content code{background:none;padding:0;font-size:inherit;color:inherit}.val-article__code-content--dark{background-color:#161b22;color:#f0f6fc}.val-article__list{padding-left:1.5rem}.val-article__list--ordered{list-style-type:decimal}.val-article__list-item{margin-bottom:.5rem;line-height:1.6;position:relative}.val-article__list-item:last-child{margin-bottom:0}.val-article__list-check{color:var(--ion-color-success, #28a745);font-weight:700;margin-right:.5rem;position:absolute;left:-1.5rem}.val-article .val-article__list:has(.val-article__list-check){list-style:none;padding-left:1rem}.val-article__button-container--left{text-align:left}.val-article__button-container--center{text-align:center}.val-article__button-container--right{text-align:right}.val-article__separator{text-align:center}.val-article__separator-line{border:none;height:1px;background-color:#d0d7de;margin:0}.val-article__separator-line--thin{height:1px}.val-article__separator-line--thick{height:3px}.val-article__separator-dots{color:#d0d7de;font-size:1.5em;letter-spacing:.5em;-webkit-user-select:none;user-select:none}.val-article__separator-space{height:0}.val-article__image{text-align:center}.val-article__image--left{text-align:left}.val-article__image--center{text-align:center}.val-article__image--right{text-align:right}.val-article__image-content{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.val-article__image-content:hover{transform:scale(1.02)}.val-article__image-content--rounded{border-radius:12px}.val-article__image-caption{margin-top:.5rem;font-size:.875em;color:var(--ion-color-medium, #6c757d);font-style:italic;text-align:center}.val-article__video{text-align:center}.val-article__video-content{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.val-article__video-title{margin-top:.5rem;font-size:.9em;color:var(--ion-color-medium, #6c757d);font-weight:500}.val-article__custom *{max-width:100%}@media (max-width: 768px){.val-article__code-content{font-size:.8em;padding:.5rem}.val-article__image-content:hover{transform:none}.val-article__quote,.val-article__highlight{padding:.5rem}}:host-context(body.dark) .val-article--auto,:host-context(.dark) .val-article--auto,:host-context(.ion-palette-dark) .val-article--auto,:host-context(html.ion-palette-dark) .val-article--auto,:host-context([data-theme=dark]) .val-article--auto{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}:host-context(body.dark) .val-article--auto .val-article__quote,:host-context(.dark) .val-article--auto .val-article__quote,:host-context(.ion-palette-dark) .val-article--auto .val-article__quote,:host-context(html.ion-palette-dark) .val-article--auto .val-article__quote,:host-context([data-theme=dark]) .val-article--auto .val-article__quote{background-color:#ffffff14;border-left-color:var(--ion-color-primary)}:host-context(body.dark) .val-article--auto .val-article__highlight,:host-context(.dark) .val-article--auto .val-article__highlight,:host-context(.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context(html.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context([data-theme=dark]) .val-article--auto .val-article__highlight{background-color:#ffc1071a;border-color:var(--ion-color-warning-shade, #e0a800)}:host-context(body.dark) .val-article--auto .val-article__code-content,:host-context(.dark) .val-article--auto .val-article__code-content,:host-context(.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context(html.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context([data-theme=dark]) .val-article--auto .val-article__code-content{background-color:#161b22;color:#f0f6fc}.val-article__element{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.val-article__separator-line{background-color:currentColor;opacity:.5}.val-article__quote{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.val-article .val-article__element{animation:none}.val-article__image-content{transition:none}.val-article__image-content:hover{transform:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: CodeDisplayComponent, selector: "val-code-display", inputs: ["props"] }, { kind: "component", type: NotesBoxComponent, selector: "val-notes-box", inputs: ["props"] }, { kind: "component", type: PlainCodeBoxComponent, selector: "val-plain-code-box", inputs: ["props"] }] }); }
32108
+ `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-article{width:100%;margin:0 auto;line-height:1.6;color:var(--ion-color-dark, #1f2937);display:block;position:static}.val-article--centered{margin:0 auto}.val-article--light{background-color:var(--ion-color-light, #ffffff);color:var(--ion-color-dark, #1f2937)}.val-article--dark{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article__element{position:relative}.val-article__element:last-child{margin-bottom:0!important}.val-article__spacing-top--none{margin-top:0!important}.val-article__spacing-top--small{margin-top:.5rem!important}.val-article__spacing-top--medium{margin-top:1rem!important}.val-article__spacing-top--large{margin-top:1.5rem!important}.val-article__spacing-top--xlarge{margin-top:2.5rem!important}.val-article__spacing-bottom--none{margin-bottom:0!important}.val-article__spacing-bottom--small{margin-bottom:.5rem!important}.val-article__spacing-bottom--medium{margin-bottom:1rem!important}.val-article__spacing-bottom--large{margin-bottom:1.5rem!important}.val-article__spacing-bottom--xlarge{margin-bottom:2.5rem!important}.val-article__spacing-horizontal--none{margin-left:0!important;margin-right:0!important}.val-article__spacing-horizontal--small{margin-left:.5rem!important;margin-right:.5rem!important}.val-article__spacing-horizontal--medium{margin-left:1rem!important;margin-right:1rem!important}.val-article__spacing-horizontal--large{margin-left:1.5rem!important;margin-right:1.5rem!important}.val-article__spacing-horizontal--xlarge{margin-left:2.5rem!important;margin-right:2.5rem!important}.val-article__quote{border-left:4px solid #0969da;padding:1rem;background-color:var(--ion-color-light-shade, #f8f9fa);border-radius:0 8px 8px 0;font-style:italic}.val-article__quote-content{margin-bottom:.5rem;font-size:1.1em}.val-article__quote-author{font-size:.9em;color:var(--ion-color-medium, #6c757d);font-style:normal;font-weight:500;text-align:right}.val-article__quote-source{font-weight:400;opacity:.8}.val-article__highlight{padding:1rem;background-color:var(--ion-color-warning-tint, #fff3cd);border:1px solid var(--ion-color-warning, #ffc107);border-radius:4px}.val-article__highlight--rounded{border-radius:12px}.val-article__code{border-radius:8px;overflow:hidden;border:1px solid #e1e5e9}.val-article__code-language{background-color:var(--ion-color-medium-tint, #f8f9fa);padding:.5rem 1rem;font-size:.875em;font-weight:500;color:var(--ion-color-dark, #495057);border-bottom:1px solid #e1e5e9;text-transform:uppercase;letter-spacing:.5px}.val-article__code-content{background-color:#f6f8fa;color:#24292e;padding:1rem;margin:0;overflow-x:auto;font-family:SFMono-Regular,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;line-height:1.5}.val-article__code-content code{background:none;padding:0;font-size:inherit;color:inherit}.val-article__code-content--dark{background-color:#161b22;color:#f0f6fc}.val-article__list{padding-left:1.5rem}.val-article__list--ordered{list-style-type:decimal}.val-article__list-item{margin-bottom:.5rem;line-height:1.6;position:relative}.val-article__list-item:last-child{margin-bottom:0}.val-article__list-check{color:var(--ion-color-success, #28a745);font-weight:700;margin-right:.5rem;position:absolute;left:-1.5rem}.val-article .val-article__list:has(.val-article__list-check){list-style:none;padding-left:1rem}.val-article__button-container--left{text-align:left}.val-article__button-container--center{text-align:center}.val-article__button-container--right{text-align:right}.val-article__separator{text-align:center}.val-article__separator-line{border:none;height:1px;background-color:#d0d7de;margin:0}.val-article__separator-line--thin{height:1px}.val-article__separator-line--thick{height:3px}.val-article__separator-dots{color:#d0d7de;font-size:1.5em;letter-spacing:.5em;-webkit-user-select:none;user-select:none}.val-article__separator-space{height:0}.val-article__image{text-align:center}.val-article__image--left{text-align:left}.val-article__image--center{text-align:center}.val-article__image--right{text-align:right}.val-article__image-content{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.val-article__image-content:hover{transform:scale(1.02)}.val-article__image-content--rounded{border-radius:12px}.val-article__image-caption{margin-top:.5rem;font-size:.875em;color:var(--ion-color-medium, #6c757d);font-style:italic;text-align:center}.val-article__video{text-align:center}.val-article__video-content{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.val-article__video-title{margin-top:.5rem;font-size:.9em;color:var(--ion-color-medium, #6c757d);font-weight:500}.val-article__custom *{max-width:100%}@media (max-width: 768px){.val-article__code-content{font-size:.8em;padding:.5rem}.val-article__image-content:hover{transform:none}.val-article__quote,.val-article__highlight{padding:.5rem}}:host-context(body.dark) .val-article--auto,:host-context(.dark) .val-article--auto,:host-context(.ion-palette-dark) .val-article--auto,:host-context(html.ion-palette-dark) .val-article--auto,:host-context([data-theme=dark]) .val-article--auto{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}:host-context(body.dark) .val-article--auto .val-article__quote,:host-context(.dark) .val-article--auto .val-article__quote,:host-context(.ion-palette-dark) .val-article--auto .val-article__quote,:host-context(html.ion-palette-dark) .val-article--auto .val-article__quote,:host-context([data-theme=dark]) .val-article--auto .val-article__quote{background-color:#ffffff14;border-left-color:var(--ion-color-primary)}:host-context(body.dark) .val-article--auto .val-article__highlight,:host-context(.dark) .val-article--auto .val-article__highlight,:host-context(.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context(html.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context([data-theme=dark]) .val-article--auto .val-article__highlight{background-color:#ffc1071a;border-color:var(--ion-color-warning-shade, #e0a800)}:host-context(body.dark) .val-article--auto .val-article__code-content,:host-context(.dark) .val-article--auto .val-article__code-content,:host-context(.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context(html.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context([data-theme=dark]) .val-article--auto .val-article__code-content{background-color:#161b22;color:#f0f6fc}.val-article__element{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.val-article__separator-line{background-color:currentColor;opacity:.5}.val-article__quote{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.val-article .val-article__element{animation:none}.val-article__image-content{transition:none}.val-article__image-content:hover{transform:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: CodeDisplayComponent, selector: "val-code-display", inputs: ["props"] }, { kind: "component", type: NotesBoxComponent, selector: "val-notes-box", inputs: ["props"] }, { kind: "component", type: PlainCodeBoxComponent, selector: "val-plain-code-box", inputs: ["props"] }, { kind: "pipe", type: ProcessLinksPipe, name: "processLinks" }] }); }
32085
32109
  }
32086
32110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleComponent, decorators: [{
32087
32111
  type: Component,
@@ -32095,6 +32119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
32095
32119
  CodeDisplayComponent,
32096
32120
  NotesBoxComponent,
32097
32121
  PlainCodeBoxComponent,
32122
+ ProcessLinksPipe,
32098
32123
  ], template: `
32099
32124
  <article
32100
32125
  class="val-article"
@@ -32179,7 +32204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
32179
32204
  <span *ngIf="getListElement(element).props.listType === 'checklist'" class="val-article__list-check"
32180
32205
  >✓</span
32181
32206
  >
32182
- <span [innerHTML]="item.text"></span>
32207
+ <span [innerHTML]="item.text | processLinks"></span>
32183
32208
  </li>
32184
32209
  </ul>
32185
32210
  <ol
@@ -32187,7 +32212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
32187
32212
  class="val-article__list val-article__list--ordered"
32188
32213
  >
32189
32214
  <li *ngFor="let item of getListElement(element).props.items" class="val-article__list-item">
32190
- <span [innerHTML]="item.text"></span>
32215
+ <span [innerHTML]="item.text | processLinks"></span>
32191
32216
  </li>
32192
32217
  </ol>
32193
32218
  </ng-container>
@@ -59271,11 +59296,11 @@ function parseMarkdownArticle(markdown, options) {
59271
59296
  const unord = cur.match(UNORDERED_RE);
59272
59297
  const ord = cur.match(ORDERED_RE);
59273
59298
  if (check)
59274
- items.push({ text: processInlineBold(check[2].trim()) });
59299
+ items.push({ text: processInline(check[2].trim()) });
59275
59300
  else if (ord && listType === 'ordered')
59276
- items.push({ text: processInlineBold(ord[1].trim()) });
59301
+ items.push({ text: processInline(ord[1].trim()) });
59277
59302
  else if (unord && listType !== 'ordered')
59278
- items.push({ text: processInlineBold(unord[1].trim()) });
59303
+ items.push({ text: processInline(unord[1].trim()) });
59279
59304
  else
59280
59305
  break;
59281
59306
  i++;
@@ -59288,7 +59313,7 @@ function parseMarkdownArticle(markdown, options) {
59288
59313
  paragraph.push(lines[i]);
59289
59314
  i++;
59290
59315
  }
59291
- const text = processInlineBold(paragraph.join(' ').trim());
59316
+ const text = processInline(paragraph.join(' ').trim());
59292
59317
  if (text) {
59293
59318
  elements.push({
59294
59319
  type: 'paragraph',
@@ -59327,8 +59352,15 @@ function startsNewBlock(line) {
59327
59352
  line.startsWith('>') ||
59328
59353
  BOX_DRAWING.test(line));
59329
59354
  }
59330
- function processInlineBold(text) {
59331
- return text.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>');
59355
+ // Procesa marcado inline a HTML (renderizado vía innerHTML por val-text/val-article).
59356
+ // Los enlaces [texto](url) NO se tocan acá: los resuelve el ProcessLinksPipe en
59357
+ // runtime (gateado por processLinks). Orden: código primero (para no interpretar
59358
+ // su interior), luego negrita, luego itálica (los `**` ya consumidos no colisionan).
59359
+ function processInline(text) {
59360
+ return text
59361
+ .replace(/`([^`]+)`/g, '<code>$1</code>')
59362
+ .replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
59363
+ .replace(/\*([^*\n]+?)\*/g, '<em>$1</em>');
59332
59364
  }
59333
59365
  function makeHeading(level, content) {
59334
59366
  if (level === 1) {
@@ -59354,10 +59386,10 @@ function makeQuoteOrCallout(block, labels) {
59354
59386
  .slice(1)
59355
59387
  .filter(l => l.trim() !== '')
59356
59388
  .join('\n');
59357
- const text = processInlineBold([firstLineRest, rest].filter(Boolean).join('\n').trim());
59389
+ const text = processInline([firstLineRest, rest].filter(Boolean).join('\n').trim());
59358
59390
  return makeNote(type, text, labels);
59359
59391
  }
59360
- const text = processInlineBold(lines.join(' ').trim());
59392
+ const text = processInline(lines.join(' ').trim());
59361
59393
  return {
59362
59394
  type: 'quote',
59363
59395
  props: {
@@ -59408,7 +59440,7 @@ function makeTable(rows) {
59408
59440
  {
59409
59441
  type: 'paragraph',
59410
59442
  props: {
59411
- content: header.join(' · '),
59443
+ content: header.map(processInline).join(' · '),
59412
59444
  size: 'medium',
59413
59445
  color: 'dark',
59414
59446
  bold: false,
@@ -59421,7 +59453,9 @@ function makeTable(rows) {
59421
59453
  return dataRows.map(row => {
59422
59454
  const pairs = row.map((cell, idx) => {
59423
59455
  const key = header[idx] ?? '';
59424
- return key ? `<strong>${key}:</strong> ${cell}` : cell;
59456
+ return key
59457
+ ? `<strong>${processInline(key)}:</strong> ${processInline(cell)}`
59458
+ : processInline(cell);
59425
59459
  });
59426
59460
  return {
59427
59461
  type: 'paragraph',