valtech-components 2.0.876 → 2.0.878

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.
@@ -6,39 +6,51 @@
6
6
  *
7
7
  * Original spec: `assets/Valtech Pattern System.html` (single-page demo).
8
8
  * Cada motif es función `(fill: string) => string` que devuelve SVG inner
9
- * markup. Tile es 100×100 unidades; el motif se renderiza dentro de un `<g
9
+ * markup. Tile es 100x100 unidades; el motif se renderiza dentro de un `<g
10
10
  * transform="translate(col*100 row*100)">` con un `<rect width=100 height=100
11
11
  * fill=bg/>` de fondo.
12
12
  */
13
- /**
14
- * Chevrons stroke-based con linecap/linejoin redondos — visualmente coherente
15
- * con el símbolo de marca Valtech (`>_`). Stroke-width 18 (default), 12 para
16
- * variants `small-*`.
17
- */
18
13
  const CHEV_STROKE = 18;
19
14
  const CHEV_SMALL_STROKE = 12;
20
15
  const chevStyle = (f, w = CHEV_STROKE) => `stroke="${f}" stroke-width="${w}" stroke-linecap="round" stroke-linejoin="round" fill="none"`;
21
16
  export const PATTERN_MOTIFS = {
17
+ // ── Chevrons ────────────────────────────────────────────────
22
18
  'chev-r': f => `<path d="M22 18 L72 50 L22 82" ${chevStyle(f)}/>`,
23
19
  'chev-l': f => `<path d="M78 18 L28 50 L78 82" ${chevStyle(f)}/>`,
24
20
  'chev-d': f => `<path d="M18 22 L50 72 L82 22" ${chevStyle(f)}/>`,
25
21
  'chev-u': f => `<path d="M18 78 L50 28 L82 78" ${chevStyle(f)}/>`,
26
- 'tri-tl': f => `<polygon points="0,0 100,0 0,100" fill="${f}"/>`,
27
- 'tri-tr': f => `<polygon points="0,0 100,0 100,100" fill="${f}"/>`,
28
- 'tri-bl': f => `<polygon points="0,0 100,100 0,100" fill="${f}"/>`,
29
- 'tri-br': f => `<polygon points="100,0 100,100 0,100" fill="${f}"/>`,
30
- solid: () => ``,
31
- diamond: f => `<polygon points="50,12 88,50 50,88 12,50" fill="${f}"/>`,
32
22
  'small-r': f => `<path d="M38 32 L62 50 L38 68" ${chevStyle(f, CHEV_SMALL_STROKE)}/>`,
33
23
  'small-l': f => `<path d="M62 32 L38 50 L62 68" ${chevStyle(f, CHEV_SMALL_STROKE)}/>`,
34
24
  'arrow-r': f => `<path d="M10 42 L60 42 L60 28 L92 50 L60 72 L60 58 L10 58 Z" fill="${f}"/>`,
35
25
  'arrow-l': f => `<path d="M90 42 L40 42 L40 28 L8 50 L40 72 L40 58 L90 58 Z" fill="${f}"/>`,
36
- 'house-d': f => `<polygon points="50,20 88,50 12,50" fill="${f}"/><rect x="28" y="50" width="44" height="32" fill="${f}"/>`,
26
+ // ── Strokes ─────────────────────────────────────────────────
27
+ cross: f => `<path d="M50 12 L50 88 M12 50 L88 50" ${chevStyle(f, 16)}/>`,
28
+ 'x-mark': f => `<path d="M18 18 L82 82 M82 18 L18 82" ${chevStyle(f, 16)}/>`,
29
+ 'slash-r': f => `<line x1="18" y1="82" x2="82" y2="18" stroke="${f}" stroke-width="16" stroke-linecap="round"/>`,
30
+ 'slash-l': f => `<line x1="18" y1="18" x2="82" y2="82" stroke="${f}" stroke-width="16" stroke-linecap="round"/>`,
31
+ // ── Filled shapes ───────────────────────────────────────────
32
+ circle: f => `<circle cx="50" cy="50" r="40" fill="${f}"/>`,
33
+ 'circle-sm': f => `<circle cx="50" cy="50" r="24" fill="${f}"/>`,
34
+ dot: f => `<circle cx="50" cy="50" r="12" fill="${f}"/>`,
35
+ diamond: f => `<polygon points="50,12 88,50 50,88 12,50" fill="${f}"/>`,
36
+ solid: () => ``,
37
+ // ── Triangles & halves ──────────────────────────────────────
38
+ 'tri-tl': f => `<polygon points="0,0 100,0 0,100" fill="${f}"/>`,
39
+ 'tri-tr': f => `<polygon points="0,0 100,0 100,100" fill="${f}"/>`,
40
+ 'tri-bl': f => `<polygon points="0,0 100,100 0,100" fill="${f}"/>`,
41
+ 'tri-br': f => `<polygon points="100,0 100,100 0,100" fill="${f}"/>`,
37
42
  'half-l': f => `<rect x="0" y="0" width="50" height="100" fill="${f}"/>`,
38
43
  'half-t': f => `<rect x="0" y="0" width="100" height="50" fill="${f}"/>`,
44
+ 'house-d': f => `<polygon points="50,20 88,50 12,50" fill="${f}"/><rect x="28" y="50" width="44" height="32" fill="${f}"/>`,
45
+ // ── Corner arcs ─────────────────────────────────────────────
46
+ 'corner-tl': f => `<path d="M 0 0 L 100 0 A 100 100 0 0 1 0 100 Z" fill="${f}"/>`,
47
+ 'corner-tr': f => `<path d="M 100 0 L 0 0 A 100 100 0 0 0 100 100 Z" fill="${f}"/>`,
48
+ 'corner-bl': f => `<path d="M 0 100 L 100 100 A 100 100 0 0 0 0 0 Z" fill="${f}"/>`,
49
+ 'corner-br': f => `<path d="M 100 100 L 0 100 A 100 100 0 0 1 100 0 Z" fill="${f}"/>`,
39
50
  };
40
51
  export const MOTIF_KEYS = Object.keys(PATTERN_MOTIFS);
41
- /** Chevron family — orientations + size variants + arrows. */
52
+ // ── Familias ─────────────────────────────────────────────────────────────────
53
+ /** Chevron family — orientaciones + variantes pequeñas. */
42
54
  export const CHEV_KEYS = [
43
55
  'chev-r',
44
56
  'chev-l',
@@ -49,6 +61,12 @@ export const CHEV_KEYS = [
49
61
  'arrow-r',
50
62
  'arrow-l',
51
63
  ];
64
+ /** Stroke family — líneas y cruces (complementan chevrons). */
65
+ export const STROKE_KEYS = ['cross', 'x-mark', 'slash-r', 'slash-l'];
66
+ /** Circle / dot family — formas curvas centradas. */
67
+ export const CIRCLE_KEYS = ['circle', 'circle-sm', 'dot'];
68
+ /** Diamond solo — forma geométrica angular centrada. */
69
+ export const SHAPE_KEYS = ['diamond'];
52
70
  /** Triangle / half-fill family. */
53
71
  export const TRI_KEYS = [
54
72
  'tri-tl',
@@ -59,9 +77,9 @@ export const TRI_KEYS = [
59
77
  'half-t',
60
78
  'house-d',
61
79
  ];
62
- /** Center shape family (currently solo diamond). */
63
- export const SHAPE_KEYS = ['diamond'];
64
- /** No-foreground tiles — solo el rect de fondo. */
80
+ /** Corner arc family mezcla suave con triangles. */
81
+ export const CORNER_KEYS = ['corner-tl', 'corner-tr', 'corner-bl', 'corner-br'];
82
+ /** No-foreground tiles — solo rect de fondo. */
65
83
  export const SOLID_KEYS = ['solid'];
66
84
  export const PATTERN_PALETTES = {
67
85
  purple: ['#0e0420', '#2a1158', '#4a1d96', '#7026df', '#9156e8', '#b48eea', '#d9c3f5', '#ebdcfd'],
@@ -76,10 +94,32 @@ export const PATTERN_PALETTES = {
76
94
  '#dccef5',
77
95
  '#f0e6fc',
78
96
  ],
97
+ midnight: [
98
+ '#020814',
99
+ '#071428',
100
+ '#0d2248',
101
+ '#1a3a6e',
102
+ '#2656a8',
103
+ '#4d82d4',
104
+ '#8ab4eb',
105
+ '#c5d9f5',
106
+ ],
107
+ ember: ['#120200', '#2e0800', '#6b1a00', '#b83200', '#e85a10', '#f59042', '#f9c48a', '#fde8cc'],
108
+ forest: ['#010a04', '#052010', '#0a4020', '#0f6635', '#18a058', '#3ece80', '#86e8b4', '#c4f5dc'],
109
+ rose: ['#12010a', '#2e0420', '#6b0a48', '#b01870', '#e040a0', '#f080c8', '#f8bce4', '#fde0f3'],
110
+ gold: ['#100800', '#2a1a00', '#5c3800', '#9e6000', '#d4920a', '#f0bc40', '#f8da8c', '#fdf0cc'],
111
+ mono: ['#080808', '#1a1a1a', '#303030', '#484848', '#707070', '#9e9e9e', '#cecece', '#f0f0f0'],
112
+ };
113
+ export const PATTERN_STYLE_CONFIGS = {
114
+ branded: { chev: 0.6, stroke: 0.08, circle: 0.04, shape: 0.06, solid: 0.18 },
115
+ geometric: { chev: 0.15, stroke: 0.05, circle: 0.18, shape: 0.14, solid: 0.1 },
116
+ minimal: { chev: 0.25, stroke: 0.1, circle: 0.12, shape: 0.04, solid: 0.38 },
117
+ dense: { chev: 0.42, stroke: 0.14, circle: 0.12, shape: 0.1, solid: 0.08 },
79
118
  };
119
+ // ── RNG ──────────────────────────────────────────────────────────────────────
80
120
  /**
81
121
  * Mulberry32 seeded RNG — devuelve función `()=>[0,1)`.
82
- * Deterministic: mismo seed → misma secuencia. Útil para patrones reproducibles.
122
+ * Deterministic: mismo seed → misma secuencia.
83
123
  */
84
124
  export function mulberry32(seed) {
85
125
  return function () {
@@ -90,22 +130,40 @@ export function mulberry32(seed) {
90
130
  return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
91
131
  };
92
132
  }
133
+ function pickFrom(arr, rng) {
134
+ return arr[Math.floor(rng() * arr.length)];
135
+ }
93
136
  /**
94
- * Genera UN tile con motif/bg/fg respetando densidades + contraste.
95
- * Caller pasa rng (Math.random o seeded) útil para reshuffle individual de
96
- * tiles en `val-pattern` sin regenerar la grid completa.
137
+ * Genera UN tile respetando densidades de familia + contraste de palette.
138
+ * Acepta un config opcional de densidades (de PatternStyleKey o chevronDensity legacy).
97
139
  */
98
- export function generateRandomTile(palette, chevronDensity = 0.55, rng = Math.random) {
140
+ export function generateRandomTile(palette, chevronDensity = 0.55, rng = Math.random, densityConfig) {
141
+ const cfg = densityConfig ?? {
142
+ chev: chevronDensity,
143
+ stroke: 0.08,
144
+ circle: 0.05,
145
+ shape: 0.07,
146
+ solid: 0.2,
147
+ };
99
148
  const roll = rng();
100
149
  let key;
101
- if (roll < chevronDensity)
102
- key = CHEV_KEYS[Math.floor(rng() * CHEV_KEYS.length)];
103
- else if (roll < chevronDensity + 0.2)
104
- key = SOLID_KEYS[Math.floor(rng() * SOLID_KEYS.length)];
105
- else if (roll < chevronDensity + 0.35)
106
- key = SHAPE_KEYS[Math.floor(rng() * SHAPE_KEYS.length)];
150
+ const t1 = cfg.chev;
151
+ const t2 = t1 + cfg.stroke;
152
+ const t3 = t2 + cfg.circle;
153
+ const t4 = t3 + cfg.shape;
154
+ const t5 = t4 + cfg.solid;
155
+ if (roll < t1)
156
+ key = pickFrom(CHEV_KEYS, rng);
157
+ else if (roll < t2)
158
+ key = pickFrom(STROKE_KEYS, rng);
159
+ else if (roll < t3)
160
+ key = pickFrom(CIRCLE_KEYS, rng);
161
+ else if (roll < t4)
162
+ key = pickFrom(SHAPE_KEYS, rng);
163
+ else if (roll < t5)
164
+ key = pickFrom(SOLID_KEYS, rng);
107
165
  else
108
- key = TRI_KEYS[Math.floor(rng() * TRI_KEYS.length)];
166
+ key = pickFrom([...TRI_KEYS, ...CORNER_KEYS], rng);
109
167
  const bgIdx = Math.floor(rng() * palette.length);
110
168
  let fgIdx = Math.floor(rng() * palette.length);
111
169
  let tries = 0;
@@ -115,20 +173,20 @@ export function generateRandomTile(palette, chevronDensity = 0.55, rng = Math.ra
115
173
  }
116
174
  return { motif: key, bg: palette[bgIdx], fg: palette[fgIdx] };
117
175
  }
118
- /** Genera matriz de tiles aplicando densidades + reglas de contraste. */
176
+ /** Genera matriz completa de tiles. */
119
177
  export function generatePatternTiles(cfg) {
120
178
  const { cols, rows, seed, palette } = cfg;
121
179
  const chevronDensity = cfg.chevronDensity ?? 0.55;
180
+ const densityConfig = cfg.style ? PATTERN_STYLE_CONFIGS[cfg.style] : undefined;
122
181
  const r = mulberry32(seed);
123
182
  const tiles = [];
124
183
  for (let i = 0; i < cols * rows; i++) {
125
- tiles.push(generateRandomTile(palette, chevronDensity, r));
184
+ tiles.push(generateRandomTile(palette, chevronDensity, r, densityConfig));
126
185
  }
127
186
  return tiles;
128
187
  }
129
188
  /**
130
189
  * Renderiza el inner SVG (sin el `<svg>` root) para una matriz de tiles.
131
- * Caller wraps en `<svg viewBox="0 0 {cols*100} {rows*100}" preserveAspectRatio="xMidYMid slice">`.
132
190
  */
133
191
  export function renderPatternSvgInner(tiles, cols, baseColor) {
134
192
  const W = cols * 100;
@@ -144,4 +202,4 @@ export function renderPatternSvgInner(tiles, cols, baseColor) {
144
202
  }
145
203
  return inner;
146
204
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBcUJIOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFTLEVBQUUsSUFBWSxXQUFXLEVBQUUsRUFBRSxDQUN2RCxXQUFXLENBQUMsbUJBQW1CLENBQUMsOERBQThELENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFvRDtJQUM3RSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDakUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNqRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLDJDQUEyQyxDQUFDLEtBQUs7SUFDaEUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsNkNBQTZDLENBQUMsS0FBSztJQUNsRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQyxLQUFLO0lBQ2xFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLCtDQUErQyxDQUFDLEtBQUs7SUFDcEUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDZixP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YUFBYSxDQUFDLFdBQVcsU0FBUyxLQUFLLENBQUM7SUFDckUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLElBQUksMkJBQTJCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsMkNBQTJDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUM7SUFDekgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVmFsdGVjaCBQYXR0ZXJuIFN5c3RlbSDigJQgbW90aWZzICsgcGFsZXR0ZXMuXG4gKlxuICogUHVyZSBkYXRhICsgaGVscGVycywgc2luIGRlcGVuZGVuY2lhcyBBbmd1bGFyLiBSZXVzYWJsZSBkZXNkZSBOb2RlL3NjcmlwdHNcbiAqIChlLmcuLCBnZW5lcmF0ZSBzdGF0aWMgdGh1bWJuYWlscykgbyBkZXNkZSBlbCBjb21wb25lbnRlIGB2YWwtcGF0dGVybmAuXG4gKlxuICogT3JpZ2luYWwgc3BlYzogYGFzc2V0cy9WYWx0ZWNoIFBhdHRlcm4gU3lzdGVtLmh0bWxgIChzaW5nbGUtcGFnZSBkZW1vKS5cbiAqIENhZGEgbW90aWYgZXMgZnVuY2nDs24gYChmaWxsOiBzdHJpbmcpID0+IHN0cmluZ2AgcXVlIGRldnVlbHZlIFNWRyBpbm5lclxuICogbWFya3VwLiBUaWxlIGVzIDEwMMOXMTAwIHVuaWRhZGVzOyBlbCBtb3RpZiBzZSByZW5kZXJpemEgZGVudHJvIGRlIHVuIGA8Z1xuICogdHJhbnNmb3JtPVwidHJhbnNsYXRlKGNvbCoxMDAgcm93KjEwMClcIj5gIGNvbiB1biBgPHJlY3Qgd2lkdGg9MTAwIGhlaWdodD0xMDBcbiAqIGZpbGw9YmcvPmAgZGUgZm9uZG8uXG4gKi9cblxuZXhwb3J0IHR5cGUgUGF0dGVybk1vdGlmS2V5ID1cbiAgfCAnY2hldi1yJ1xuICB8ICdjaGV2LWwnXG4gIHwgJ2NoZXYtZCdcbiAgfCAnY2hldi11J1xuICB8ICd0cmktdGwnXG4gIHwgJ3RyaS10cidcbiAgfCAndHJpLWJsJ1xuICB8ICd0cmktYnInXG4gIHwgJ3NvbGlkJ1xuICB8ICdkaWFtb25kJ1xuICB8ICdzbWFsbC1yJ1xuICB8ICdzbWFsbC1sJ1xuICB8ICdhcnJvdy1yJ1xuICB8ICdhcnJvdy1sJ1xuICB8ICdob3VzZS1kJ1xuICB8ICdoYWxmLWwnXG4gIHwgJ2hhbGYtdCc7XG5cbi8qKlxuICogQ2hldnJvbnMgc3Ryb2tlLWJhc2VkIGNvbiBsaW5lY2FwL2xpbmVqb2luIHJlZG9uZG9zIOKAlCB2aXN1YWxtZW50ZSBjb2hlcmVudGVcbiAqIGNvbiBlbCBzw61tYm9sbyBkZSBtYXJjYSBWYWx0ZWNoIChgPl9gKS4gU3Ryb2tlLXdpZHRoIDE4IChkZWZhdWx0KSwgMTIgcGFyYVxuICogdmFyaWFudHMgYHNtYWxsLSpgLlxuICovXG5jb25zdCBDSEVWX1NUUk9LRSA9IDE4O1xuY29uc3QgQ0hFVl9TTUFMTF9TVFJPS0UgPSAxMjtcbmNvbnN0IGNoZXZTdHlsZSA9IChmOiBzdHJpbmcsIHc6IG51bWJlciA9IENIRVZfU1RST0tFKSA9PlxuICBgc3Ryb2tlPVwiJHtmfVwiIHN0cm9rZS13aWR0aD1cIiR7d31cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBmaWxsPVwibm9uZVwiYDtcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fTU9USUZTOiBSZWNvcmQ8UGF0dGVybk1vdGlmS2V5LCAoZmc6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgJ2NoZXYtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMjIgMTggTDcyIDUwIEwyMiA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtbCc6IGYgPT4gYDxwYXRoIGQ9XCJNNzggMTggTDI4IDUwIEw3OCA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtZCc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggMjIgTDUwIDcyIEw4MiAyMlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtdSc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggNzggTDUwIDI4IEw4MiA3OFwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ3RyaS10bCc6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktdHInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDAgMTAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYmwnOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDEwMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYnInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIxMDAsMCAxMDAsMTAwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgc29saWQ6ICgpID0+IGBgLFxuICBkaWFtb25kOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCI1MCwxMiA4OCw1MCA1MCw4OCAxMiw1MFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdzbWFsbC1yJzogZiA9PiBgPHBhdGggZD1cIk0zOCAzMiBMNjIgNTAgTDM4IDY4XCIgJHtjaGV2U3R5bGUoZiwgQ0hFVl9TTUFMTF9TVFJPS0UpfS8+YCxcbiAgJ3NtYWxsLWwnOiBmID0+IGA8cGF0aCBkPVwiTTYyIDMyIEwzOCA1MCBMNjIgNjhcIiAke2NoZXZTdHlsZShmLCBDSEVWX1NNQUxMX1NUUk9LRSl9Lz5gLFxuICAnYXJyb3ctcic6IGYgPT4gYDxwYXRoIGQ9XCJNMTAgNDIgTDYwIDQyIEw2MCAyOCBMOTIgNTAgTDYwIDcyIEw2MCA1OCBMMTAgNTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdhcnJvdy1sJzogZiA9PiBgPHBhdGggZD1cIk05MCA0MiBMNDAgNDIgTDQwIDI4IEw4IDUwIEw0MCA3MiBMNDAgNTggTDkwIDU4IFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaG91c2UtZCc6IGYgPT5cbiAgICBgPHBvbHlnb24gcG9pbnRzPVwiNTAsMjAgODgsNTAgMTIsNTBcIiBmaWxsPVwiJHtmfVwiLz48cmVjdCB4PVwiMjhcIiB5PVwiNTBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi1sJzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNTBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi10JzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiNTBcIiBmaWxsPVwiJHtmfVwiLz5gLFxufTtcblxuZXhwb3J0IGNvbnN0IE1PVElGX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gT2JqZWN0LmtleXMoUEFUVEVSTl9NT1RJRlMpIGFzIFBhdHRlcm5Nb3RpZktleVtdO1xuXG4vKiogQ2hldnJvbiBmYW1pbHkg4oCUIG9yaWVudGF0aW9ucyArIHNpemUgdmFyaWFudHMgKyBhcnJvd3MuICovXG5leHBvcnQgY29uc3QgQ0hFVl9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFtcbiAgJ2NoZXYtcicsXG4gICdjaGV2LWwnLFxuICAnY2hldi1kJyxcbiAgJ2NoZXYtdScsXG4gICdzbWFsbC1yJyxcbiAgJ3NtYWxsLWwnLFxuICAnYXJyb3ctcicsXG4gICdhcnJvdy1sJyxcbl07XG5cbi8qKiBUcmlhbmdsZSAvIGhhbGYtZmlsbCBmYW1pbHkuICovXG5leHBvcnQgY29uc3QgVFJJX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAndHJpLXRsJyxcbiAgJ3RyaS10cicsXG4gICd0cmktYmwnLFxuICAndHJpLWJyJyxcbiAgJ2hhbGYtbCcsXG4gICdoYWxmLXQnLFxuICAnaG91c2UtZCcsXG5dO1xuXG4vKiogQ2VudGVyIHNoYXBlIGZhbWlseSAoY3VycmVudGx5IHNvbG8gZGlhbW9uZCkuICovXG5leHBvcnQgY29uc3QgU0hBUEVfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2RpYW1vbmQnXTtcblxuLyoqIE5vLWZvcmVncm91bmQgdGlsZXMg4oCUIHNvbG8gZWwgcmVjdCBkZSBmb25kby4gKi9cbmV4cG9ydCBjb25zdCBTT0xJRF9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnc29saWQnXTtcblxuLyoqIEJ1aWx0LWluIHBhbGV0dGVzIOKAlCBkYXJrIOKGkiBsaWdodCAoOCBjb2xvcnMpLiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblBhbGV0dGVLZXkgPSAncHVycGxlJyB8ICdpbmsnIHwgJ2xhdmVuZGVyJztcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fUEFMRVRURVM6IFJlY29yZDxQYXR0ZXJuUGFsZXR0ZUtleSwgc3RyaW5nW10+ID0ge1xuICBwdXJwbGU6IFsnIzBlMDQyMCcsICcjMmExMTU4JywgJyM0YTFkOTYnLCAnIzcwMjZkZicsICcjOTE1NmU4JywgJyNiNDhlZWEnLCAnI2Q5YzNmNScsICcjZWJkY2ZkJ10sXG4gIGluazogWycjMDAwMDAwJywgJyMwYTBmMWMnLCAnIzFhMjIzNScsICcjMmQzYTU1JywgJyM0YTU4NzgnLCAnIzdkOGFhNScsICcjYjhjMWQ0JywgJyNlNGU4ZjAnXSxcbiAgbGF2ZW5kZXI6IFtcbiAgICAnIzFhMGUzYScsXG4gICAgJyMyZTE3NTUnLFxuICAgICcjNWEzYWEwJyxcbiAgICAnIzdlNWRjNicsXG4gICAgJyNhMThiZDknLFxuICAgICcjYzRhOGYwJyxcbiAgICAnI2RjY2VmNScsXG4gICAgJyNmMGU2ZmMnLFxuICBdLFxufTtcblxuLyoqXG4gKiBNdWxiZXJyeTMyIHNlZWRlZCBSTkcg4oCUIGRldnVlbHZlIGZ1bmNpw7NuIGAoKT0+WzAsMSlgLlxuICogRGV0ZXJtaW5pc3RpYzogbWlzbW8gc2VlZCDihpIgbWlzbWEgc2VjdWVuY2lhLiDDmnRpbCBwYXJhIHBhdHJvbmVzIHJlcHJvZHVjaWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWxiZXJyeTMyKHNlZWQ6IG51bWJlcik6ICgpID0+IG51bWJlciB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgc2VlZCA9IChzZWVkICsgMHg2ZDJiNzlmNSkgPj4+IDA7XG4gICAgbGV0IHQgPSBzZWVkO1xuICAgIHQgPSBNYXRoLmltdWwodCBeICh0ID4+PiAxNSksIHQgfCAxKTtcbiAgICB0IF49IHQgKyBNYXRoLmltdWwodCBeICh0ID4+PiA3KSwgdCB8IDYxKTtcbiAgICByZXR1cm4gKCh0IF4gKHQgPj4+IDE0KSkgPj4+IDApIC8gNDI5NDk2NzI5NjtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZW5zaWRhZCBkZSBjaGV2cm9ucyAoMC4uMSkuIEVsIHJlc3RvIHNlIHJlcGFydGUgZW50cmUgc29saWQgKDIwJSksIHNoYXBlXG4gKiAoMTUlKSB5IHRyaSAocmVzdG8pLCBwcm9wb3JjaW9uYWwgYWwgZ2FwIGxlZnQgZGVzcHXDqXMgZGVsIHRocmVzaG9sZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuR2VuQ29uZmlnIHtcbiAgY29sczogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIHNlZWQ6IG51bWJlcjtcbiAgcGFsZXR0ZTogc3RyaW5nW107XG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5UaWxlIHtcbiAgbW90aWY6IFBhdHRlcm5Nb3RpZktleTtcbiAgYmc6IHN0cmluZztcbiAgZmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmEgVU4gdGlsZSBjb24gbW90aWYvYmcvZmcgcmVzcGV0YW5kbyBkZW5zaWRhZGVzICsgY29udHJhc3RlLlxuICogQ2FsbGVyIHBhc2Egcm5nIChNYXRoLnJhbmRvbSBvIHNlZWRlZCkg4oCUIMO6dGlsIHBhcmEgcmVzaHVmZmxlIGluZGl2aWR1YWwgZGVcbiAqIHRpbGVzIGVuIGB2YWwtcGF0dGVybmAgc2luIHJlZ2VuZXJhciBsYSBncmlkIGNvbXBsZXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21UaWxlKFxuICBwYWxldHRlOiBzdHJpbmdbXSxcbiAgY2hldnJvbkRlbnNpdHkgPSAwLjU1LFxuICBybmc6ICgpID0+IG51bWJlciA9IE1hdGgucmFuZG9tXG4pOiBQYXR0ZXJuVGlsZSB7XG4gIGNvbnN0IHJvbGwgPSBybmcoKTtcbiAgbGV0IGtleTogUGF0dGVybk1vdGlmS2V5O1xuICBpZiAocm9sbCA8IGNoZXZyb25EZW5zaXR5KSBrZXkgPSBDSEVWX0tFWVNbTWF0aC5mbG9vcihybmcoKSAqIENIRVZfS0VZUy5sZW5ndGgpXSE7XG4gIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMikga2V5ID0gU09MSURfS0VZU1tNYXRoLmZsb29yKHJuZygpICogU09MSURfS0VZUy5sZW5ndGgpXSE7XG4gIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMzUpIGtleSA9IFNIQVBFX0tFWVNbTWF0aC5mbG9vcihybmcoKSAqIFNIQVBFX0tFWVMubGVuZ3RoKV0hO1xuICBlbHNlIGtleSA9IFRSSV9LRVlTW01hdGguZmxvb3Iocm5nKCkgKiBUUklfS0VZUy5sZW5ndGgpXSE7XG5cbiAgY29uc3QgYmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgZmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgdHJpZXMgPSAwO1xuICB3aGlsZSAoTWF0aC5hYnMoZmdJZHggLSBiZ0lkeCkgPCAzICYmIHRyaWVzIDwgNikge1xuICAgIGZnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICB0cmllcysrO1xuICB9XG4gIHJldHVybiB7IG1vdGlmOiBrZXksIGJnOiBwYWxldHRlW2JnSWR4XSEsIGZnOiBwYWxldHRlW2ZnSWR4XSEgfTtcbn1cblxuLyoqIEdlbmVyYSBtYXRyaXogZGUgdGlsZXMgYXBsaWNhbmRvIGRlbnNpZGFkZXMgKyByZWdsYXMgZGUgY29udHJhc3RlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGF0dGVyblRpbGVzKGNmZzogUGF0dGVybkdlbkNvbmZpZyk6IFBhdHRlcm5UaWxlW10ge1xuICBjb25zdCB7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUgfSA9IGNmZztcbiAgY29uc3QgY2hldnJvbkRlbnNpdHkgPSBjZmcuY2hldnJvbkRlbnNpdHkgPz8gMC41NTtcbiAgY29uc3QgciA9IG11bGJlcnJ5MzIoc2VlZCk7XG4gIGNvbnN0IHRpbGVzOiBQYXR0ZXJuVGlsZVtdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29scyAqIHJvd3M7IGkrKykge1xuICAgIHRpbGVzLnB1c2goZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGNoZXZyb25EZW5zaXR5LCByKSk7XG4gIH1cbiAgcmV0dXJuIHRpbGVzO1xufVxuXG4vKipcbiAqIFJlbmRlcml6YSBlbCBpbm5lciBTVkcgKHNpbiBlbCBgPHN2Zz5gIHJvb3QpIHBhcmEgdW5hIG1hdHJpeiBkZSB0aWxlcy5cbiAqIENhbGxlciB3cmFwcyBlbiBgPHN2ZyB2aWV3Qm94PVwiMCAwIHtjb2xzKjEwMH0ge3Jvd3MqMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBzbGljZVwiPmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIoXG4gIHRpbGVzOiBQYXR0ZXJuVGlsZVtdLFxuICBjb2xzOiBudW1iZXIsXG4gIGJhc2VDb2xvcjogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBjb25zdCBXID0gY29scyAqIDEwMDtcbiAgY29uc3Qgcm93cyA9IE1hdGguY2VpbCh0aWxlcy5sZW5ndGggLyBjb2xzKTtcbiAgY29uc3QgSCA9IHJvd3MgKiAxMDA7XG4gIGxldCBpbm5lciA9IGA8cmVjdCB3aWR0aD1cIiR7V31cIiBoZWlnaHQ9XCIke0h9XCIgZmlsbD1cIiR7YmFzZUNvbG9yfVwiLz5gO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGkgJSBjb2xzO1xuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKGkgLyBjb2xzKTtcbiAgICBjb25zdCB0ID0gdGlsZXNbaV0hO1xuICAgIGNvbnN0IHNoYXBlID0gUEFUVEVSTl9NT1RJRlNbdC5tb3RpZl0odC5mZyk7XG4gICAgaW5uZXIgKz0gYDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgke2MgKiAxMDB9ICR7ciAqIDEwMH0pXCI+PHJlY3Qgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHt0LmJnfVwiLz4ke3NoYXBlfTwvZz5gO1xuICB9XG4gIHJldHVybiBpbm5lcjtcbn1cbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBaUNILE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFZLFdBQVcsRUFBRSxFQUFFLENBQ3ZELFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyw4REFBOEQsQ0FBQztBQUVqRyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQW9EO0lBQzdFLCtEQUErRDtJQUMvRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDakUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNqRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDckYsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtJQUNyRixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxzRUFBc0UsQ0FBQyxLQUFLO0lBQzVGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFFQUFx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O0lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDckIsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsU0FBUyxLQUFLLENBQUM7SUFDckUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLElBQUksMkJBQTJCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsMkNBQTJDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUM7SUFDekgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVmFsdGVjaCBQYXR0ZXJuIFN5c3RlbSDigJQgbW90aWZzICsgcGFsZXR0ZXMuXG4gKlxuICogUHVyZSBkYXRhICsgaGVscGVycywgc2luIGRlcGVuZGVuY2lhcyBBbmd1bGFyLiBSZXVzYWJsZSBkZXNkZSBOb2RlL3NjcmlwdHNcbiAqIChlLmcuLCBnZW5lcmF0ZSBzdGF0aWMgdGh1bWJuYWlscykgbyBkZXNkZSBlbCBjb21wb25lbnRlIGB2YWwtcGF0dGVybmAuXG4gKlxuICogT3JpZ2luYWwgc3BlYzogYGFzc2V0cy9WYWx0ZWNoIFBhdHRlcm4gU3lzdGVtLmh0bWxgIChzaW5nbGUtcGFnZSBkZW1vKS5cbiAqIENhZGEgbW90aWYgZXMgZnVuY2nDs24gYChmaWxsOiBzdHJpbmcpID0+IHN0cmluZ2AgcXVlIGRldnVlbHZlIFNWRyBpbm5lclxuICogbWFya3VwLiBUaWxlIGVzIDEwMHgxMDAgdW5pZGFkZXM7IGVsIG1vdGlmIHNlIHJlbmRlcml6YSBkZW50cm8gZGUgdW4gYDxnXG4gKiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoY29sKjEwMCByb3cqMTAwKVwiPmAgY29uIHVuIGA8cmVjdCB3aWR0aD0xMDAgaGVpZ2h0PTEwMFxuICogZmlsbD1iZy8+YCBkZSBmb25kby5cbiAqL1xuXG5leHBvcnQgdHlwZSBQYXR0ZXJuTW90aWZLZXkgPVxuICB8ICdjaGV2LXInXG4gIHwgJ2NoZXYtbCdcbiAgfCAnY2hldi1kJ1xuICB8ICdjaGV2LXUnXG4gIHwgJ3RyaS10bCdcbiAgfCAndHJpLXRyJ1xuICB8ICd0cmktYmwnXG4gIHwgJ3RyaS1icidcbiAgfCAnc29saWQnXG4gIHwgJ2RpYW1vbmQnXG4gIHwgJ3NtYWxsLXInXG4gIHwgJ3NtYWxsLWwnXG4gIHwgJ2Fycm93LXInXG4gIHwgJ2Fycm93LWwnXG4gIHwgJ2hvdXNlLWQnXG4gIHwgJ2hhbGYtbCdcbiAgfCAnaGFsZi10J1xuICAvLyDilIDilIAgTnVldm9zIG1vdGlmcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgfCAnY2lyY2xlJ1xuICB8ICdjaXJjbGUtc20nXG4gIHwgJ2RvdCdcbiAgfCAnY3Jvc3MnXG4gIHwgJ3gtbWFyaydcbiAgfCAnc2xhc2gtcidcbiAgfCAnc2xhc2gtbCdcbiAgfCAnY29ybmVyLXRsJ1xuICB8ICdjb3JuZXItdHInXG4gIHwgJ2Nvcm5lci1ibCdcbiAgfCAnY29ybmVyLWJyJztcblxuY29uc3QgQ0hFVl9TVFJPS0UgPSAxODtcbmNvbnN0IENIRVZfU01BTExfU1RST0tFID0gMTI7XG5jb25zdCBjaGV2U3R5bGUgPSAoZjogc3RyaW5nLCB3OiBudW1iZXIgPSBDSEVWX1NUUk9LRSkgPT5cbiAgYHN0cm9rZT1cIiR7Zn1cIiBzdHJva2Utd2lkdGg9XCIke3d9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZmlsbD1cIm5vbmVcImA7XG5cbmV4cG9ydCBjb25zdCBQQVRURVJOX01PVElGUzogUmVjb3JkPFBhdHRlcm5Nb3RpZktleSwgKGZnOiBzdHJpbmcpID0+IHN0cmluZz4gPSB7XG4gIC8vIOKUgOKUgCBDaGV2cm9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJ2NoZXYtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMjIgMTggTDcyIDUwIEwyMiA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtbCc6IGYgPT4gYDxwYXRoIGQ9XCJNNzggMTggTDI4IDUwIEw3OCA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtZCc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggMjIgTDUwIDcyIEw4MiAyMlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtdSc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggNzggTDUwIDI4IEw4MiA3OFwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ3NtYWxsLXInOiBmID0+IGA8cGF0aCBkPVwiTTM4IDMyIEw2MiA1MCBMMzggNjhcIiAke2NoZXZTdHlsZShmLCBDSEVWX1NNQUxMX1NUUk9LRSl9Lz5gLFxuICAnc21hbGwtbCc6IGYgPT4gYDxwYXRoIGQ9XCJNNjIgMzIgTDM4IDUwIEw2MiA2OFwiICR7Y2hldlN0eWxlKGYsIENIRVZfU01BTExfU1RST0tFKX0vPmAsXG4gICdhcnJvdy1yJzogZiA9PiBgPHBhdGggZD1cIk0xMCA0MiBMNjAgNDIgTDYwIDI4IEw5MiA1MCBMNjAgNzIgTDYwIDU4IEwxMCA1OCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2Fycm93LWwnOiBmID0+IGA8cGF0aCBkPVwiTTkwIDQyIEw0MCA0MiBMNDAgMjggTDggNTAgTDQwIDcyIEw0MCA1OCBMOTAgNTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIC8vIOKUgOKUgCBTdHJva2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjcm9zczogZiA9PiBgPHBhdGggZD1cIk01MCAxMiBMNTAgODggTTEyIDUwIEw4OCA1MFwiICR7Y2hldlN0eWxlKGYsIDE2KX0vPmAsXG4gICd4LW1hcmsnOiBmID0+IGA8cGF0aCBkPVwiTTE4IDE4IEw4MiA4MiBNODIgMTggTDE4IDgyXCIgJHtjaGV2U3R5bGUoZiwgMTYpfS8+YCxcbiAgJ3NsYXNoLXInOiBmID0+XG4gICAgYDxsaW5lIHgxPVwiMThcIiB5MT1cIjgyXCIgeDI9XCI4MlwiIHkyPVwiMThcIiBzdHJva2U9XCIke2Z9XCIgc3Ryb2tlLXdpZHRoPVwiMTZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPmAsXG4gICdzbGFzaC1sJzogZiA9PlxuICAgIGA8bGluZSB4MT1cIjE4XCIgeTE9XCIxOFwiIHgyPVwiODJcIiB5Mj1cIjgyXCIgc3Ryb2tlPVwiJHtmfVwiIHN0cm9rZS13aWR0aD1cIjE2XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiLz5gLFxuICAvLyDilIDilIAgRmlsbGVkIHNoYXBlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgY2lyY2xlOiBmID0+IGA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjQwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2NpcmNsZS1zbSc6IGYgPT4gYDxjaXJjbGUgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiMjRcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICBkb3Q6IGYgPT4gYDxjaXJjbGUgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiMTJcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICBkaWFtb25kOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCI1MCwxMiA4OCw1MCA1MCw4OCAxMiw1MFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIHNvbGlkOiAoKSA9PiBgYCxcbiAgLy8g4pSA4pSAIFRyaWFuZ2xlcyAmIGhhbHZlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJ3RyaS10bCc6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktdHInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDAgMTAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYmwnOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDEwMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYnInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIxMDAsMCAxMDAsMTAwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2hhbGYtbCc6IGYgPT4gYDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2hhbGYtdCc6IGYgPT4gYDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjEwMFwiIGhlaWdodD1cIjUwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2hvdXNlLWQnOiBmID0+XG4gICAgYDxwb2x5Z29uIHBvaW50cz1cIjUwLDIwIDg4LDUwIDEyLDUwXCIgZmlsbD1cIiR7Zn1cIi8+PHJlY3QgeD1cIjI4XCIgeT1cIjUwXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjMyXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgLy8g4pSA4pSAIENvcm5lciBhcmNzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAnY29ybmVyLXRsJzogZiA9PiBgPHBhdGggZD1cIk0gMCAwIEwgMTAwIDAgQSAxMDAgMTAwIDAgMCAxIDAgMTAwIFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnY29ybmVyLXRyJzogZiA9PiBgPHBhdGggZD1cIk0gMTAwIDAgTCAwIDAgQSAxMDAgMTAwIDAgMCAwIDEwMCAxMDAgWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdjb3JuZXItYmwnOiBmID0+IGA8cGF0aCBkPVwiTSAwIDEwMCBMIDEwMCAxMDAgQSAxMDAgMTAwIDAgMCAwIDAgMCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2Nvcm5lci1icic6IGYgPT4gYDxwYXRoIGQ9XCJNIDEwMCAxMDAgTCAwIDEwMCBBIDEwMCAxMDAgMCAwIDEgMTAwIDAgWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG59O1xuXG5leHBvcnQgY29uc3QgTU9USUZfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBPYmplY3Qua2V5cyhQQVRURVJOX01PVElGUykgYXMgUGF0dGVybk1vdGlmS2V5W107XG5cbi8vIOKUgOKUgCBGYW1pbGlhcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqIENoZXZyb24gZmFtaWx5IOKAlCBvcmllbnRhY2lvbmVzICsgdmFyaWFudGVzIHBlcXVlw7Fhcy4gKi9cbmV4cG9ydCBjb25zdCBDSEVWX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAnY2hldi1yJyxcbiAgJ2NoZXYtbCcsXG4gICdjaGV2LWQnLFxuICAnY2hldi11JyxcbiAgJ3NtYWxsLXInLFxuICAnc21hbGwtbCcsXG4gICdhcnJvdy1yJyxcbiAgJ2Fycm93LWwnLFxuXTtcblxuLyoqIFN0cm9rZSBmYW1pbHkg4oCUIGzDrW5lYXMgeSBjcnVjZXMgKGNvbXBsZW1lbnRhbiBjaGV2cm9ucykuICovXG5leHBvcnQgY29uc3QgU1RST0tFX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gWydjcm9zcycsICd4LW1hcmsnLCAnc2xhc2gtcicsICdzbGFzaC1sJ107XG5cbi8qKiBDaXJjbGUgLyBkb3QgZmFtaWx5IOKAlCBmb3JtYXMgY3VydmFzIGNlbnRyYWRhcy4gKi9cbmV4cG9ydCBjb25zdCBDSVJDTEVfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2NpcmNsZScsICdjaXJjbGUtc20nLCAnZG90J107XG5cbi8qKiBEaWFtb25kIHNvbG8g4oCUIGZvcm1hIGdlb23DqXRyaWNhIGFuZ3VsYXIgY2VudHJhZGEuICovXG5leHBvcnQgY29uc3QgU0hBUEVfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2RpYW1vbmQnXTtcblxuLyoqIFRyaWFuZ2xlIC8gaGFsZi1maWxsIGZhbWlseS4gKi9cbmV4cG9ydCBjb25zdCBUUklfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbXG4gICd0cmktdGwnLFxuICAndHJpLXRyJyxcbiAgJ3RyaS1ibCcsXG4gICd0cmktYnInLFxuICAnaGFsZi1sJyxcbiAgJ2hhbGYtdCcsXG4gICdob3VzZS1kJyxcbl07XG5cbi8qKiBDb3JuZXIgYXJjIGZhbWlseSDigJQgbWV6Y2xhIHN1YXZlIGNvbiB0cmlhbmdsZXMuICovXG5leHBvcnQgY29uc3QgQ09STkVSX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gWydjb3JuZXItdGwnLCAnY29ybmVyLXRyJywgJ2Nvcm5lci1ibCcsICdjb3JuZXItYnInXTtcblxuLyoqIE5vLWZvcmVncm91bmQgdGlsZXMg4oCUIHNvbG8gcmVjdCBkZSBmb25kby4gKi9cbmV4cG9ydCBjb25zdCBTT0xJRF9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnc29saWQnXTtcblxuLy8g4pSA4pSAIFBhbGV0YXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKiBCdWlsdC1pbiBwYWxldHRlcyDigJQgOCBjb2xvcmVzIGRhcmsg4oaSIGxpZ2h0LiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblBhbGV0dGVLZXkgPVxuICB8ICdwdXJwbGUnXG4gIHwgJ2luaydcbiAgfCAnbGF2ZW5kZXInXG4gIHwgJ21pZG5pZ2h0J1xuICB8ICdlbWJlcidcbiAgfCAnZm9yZXN0J1xuICB8ICdyb3NlJ1xuICB8ICdnb2xkJ1xuICB8ICdtb25vJztcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fUEFMRVRURVM6IFJlY29yZDxQYXR0ZXJuUGFsZXR0ZUtleSwgc3RyaW5nW10+ID0ge1xuICBwdXJwbGU6IFsnIzBlMDQyMCcsICcjMmExMTU4JywgJyM0YTFkOTYnLCAnIzcwMjZkZicsICcjOTE1NmU4JywgJyNiNDhlZWEnLCAnI2Q5YzNmNScsICcjZWJkY2ZkJ10sXG4gIGluazogWycjMDAwMDAwJywgJyMwYTBmMWMnLCAnIzFhMjIzNScsICcjMmQzYTU1JywgJyM0YTU4NzgnLCAnIzdkOGFhNScsICcjYjhjMWQ0JywgJyNlNGU4ZjAnXSxcbiAgbGF2ZW5kZXI6IFtcbiAgICAnIzFhMGUzYScsXG4gICAgJyMyZTE3NTUnLFxuICAgICcjNWEzYWEwJyxcbiAgICAnIzdlNWRjNicsXG4gICAgJyNhMThiZDknLFxuICAgICcjYzRhOGYwJyxcbiAgICAnI2RjY2VmNScsXG4gICAgJyNmMGU2ZmMnLFxuICBdLFxuICBtaWRuaWdodDogW1xuICAgICcjMDIwODE0JyxcbiAgICAnIzA3MTQyOCcsXG4gICAgJyMwZDIyNDgnLFxuICAgICcjMWEzYTZlJyxcbiAgICAnIzI2NTZhOCcsXG4gICAgJyM0ZDgyZDQnLFxuICAgICcjOGFiNGViJyxcbiAgICAnI2M1ZDlmNScsXG4gIF0sXG4gIGVtYmVyOiBbJyMxMjAyMDAnLCAnIzJlMDgwMCcsICcjNmIxYTAwJywgJyNiODMyMDAnLCAnI2U4NWExMCcsICcjZjU5MDQyJywgJyNmOWM0OGEnLCAnI2ZkZThjYyddLFxuICBmb3Jlc3Q6IFsnIzAxMGEwNCcsICcjMDUyMDEwJywgJyMwYTQwMjAnLCAnIzBmNjYzNScsICcjMThhMDU4JywgJyMzZWNlODAnLCAnIzg2ZThiNCcsICcjYzRmNWRjJ10sXG4gIHJvc2U6IFsnIzEyMDEwYScsICcjMmUwNDIwJywgJyM2YjBhNDgnLCAnI2IwMTg3MCcsICcjZTA0MGEwJywgJyNmMDgwYzgnLCAnI2Y4YmNlNCcsICcjZmRlMGYzJ10sXG4gIGdvbGQ6IFsnIzEwMDgwMCcsICcjMmExYTAwJywgJyM1YzM4MDAnLCAnIzllNjAwMCcsICcjZDQ5MjBhJywgJyNmMGJjNDAnLCAnI2Y4ZGE4YycsICcjZmRmMGNjJ10sXG4gIG1vbm86IFsnIzA4MDgwOCcsICcjMWExYTFhJywgJyMzMDMwMzAnLCAnIzQ4NDg0OCcsICcjNzA3MDcwJywgJyM5ZTllOWUnLCAnI2NlY2VjZScsICcjZjBmMGYwJ10sXG59O1xuXG4vLyDilIDilIAgUHJlc2V0cyBkZSBlc3RpbG8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogUHJlc2V0IGRlIGNvbXBvc2ljacOzbiBkZWwgcGF0csOzbi4gQ29udHJvbGEgcXXDqSBmYW1pbGlhcyBwcmVkb21pbmFuLlxuICpcbiAqIC0gYGJyYW5kZWRgICAg4oaSIENoZXZyb25zIGRvbWluYW50ZXMgKGlkZW50aWRhZCBWYWx0ZWNoIGA+X2ApLiBEZWZhdWx0LlxuICogLSBgZ2VvbWV0cmljYCDihpIgVHJpw6FuZ3Vsb3MsIGVzcXVpbmFzIHkgY8OtcmN1bG9zLiBNw6FzIGFycXVpdGVjdMOzbmljby5cbiAqIC0gYG1pbmltYWxgICAg4oaSIEVzcGFjaW9zIHPDs2xpZG9zIGNvbiB0cmF6b3Mgc3V0aWxlcy4gTGltcGlvLCBjb3Jwb3JhdGl2by5cbiAqIC0gYGRlbnNlYCAgICAg4oaSIE1lemNsYSByaWNhIGRlIHRvZGFzIGxhcyBmYW1pbGlhcy4gTcOheGltYSB0ZXh0dXJhLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuU3R5bGVLZXkgPSAnYnJhbmRlZCcgfCAnZ2VvbWV0cmljJyB8ICdtaW5pbWFsJyB8ICdkZW5zZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVybkRlbnNpdHlDb25maWcge1xuICAvKiogUHJvYmFiaWxpZGFkIGRlIGNoZXZyb24gZmFtaWx5LiAqL1xuICBjaGV2OiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgc3Ryb2tlIGZhbWlseSAoY3Jvc3MsIHgsIHNsYXNoKS4gKi9cbiAgc3Ryb2tlOiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgY8OtcmN1bG9zLiAqL1xuICBjaXJjbGU6IG51bWJlcjtcbiAgLyoqIFByb2JhYmlsaWRhZCBkZSBkaWFtb25kLiAqL1xuICBzaGFwZTogbnVtYmVyO1xuICAvKiogUHJvYmFiaWxpZGFkIGRlIHNvbGlkIChlc3BhY2lvIHZhY8OtbykuICovXG4gIHNvbGlkOiBudW1iZXI7XG4gIC8qKiBSZXN0byDihpIgdHJpYW5nbGVzICsgY29ybmVycy4gKi9cbn1cblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fU1RZTEVfQ09ORklHUzogUmVjb3JkPFBhdHRlcm5TdHlsZUtleSwgUGF0dGVybkRlbnNpdHlDb25maWc+ID0ge1xuICBicmFuZGVkOiB7IGNoZXY6IDAuNiwgc3Ryb2tlOiAwLjA4LCBjaXJjbGU6IDAuMDQsIHNoYXBlOiAwLjA2LCBzb2xpZDogMC4xOCB9LFxuICBnZW9tZXRyaWM6IHsgY2hldjogMC4xNSwgc3Ryb2tlOiAwLjA1LCBjaXJjbGU6IDAuMTgsIHNoYXBlOiAwLjE0LCBzb2xpZDogMC4xIH0sXG4gIG1pbmltYWw6IHsgY2hldjogMC4yNSwgc3Ryb2tlOiAwLjEsIGNpcmNsZTogMC4xMiwgc2hhcGU6IDAuMDQsIHNvbGlkOiAwLjM4IH0sXG4gIGRlbnNlOiB7IGNoZXY6IDAuNDIsIHN0cm9rZTogMC4xNCwgY2lyY2xlOiAwLjEyLCBzaGFwZTogMC4xLCBzb2xpZDogMC4wOCB9LFxufTtcblxuLy8g4pSA4pSAIFJORyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBNdWxiZXJyeTMyIHNlZWRlZCBSTkcg4oCUIGRldnVlbHZlIGZ1bmNpw7NuIGAoKT0+WzAsMSlgLlxuICogRGV0ZXJtaW5pc3RpYzogbWlzbW8gc2VlZCDihpIgbWlzbWEgc2VjdWVuY2lhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbXVsYmVycnkzMihzZWVkOiBudW1iZXIpOiAoKSA9PiBudW1iZXIge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHNlZWQgPSAoc2VlZCArIDB4NmQyYjc5ZjUpID4+PiAwO1xuICAgIGxldCB0ID0gc2VlZDtcbiAgICB0ID0gTWF0aC5pbXVsKHQgXiAodCA+Pj4gMTUpLCB0IHwgMSk7XG4gICAgdCBePSB0ICsgTWF0aC5pbXVsKHQgXiAodCA+Pj4gNyksIHQgfCA2MSk7XG4gICAgcmV0dXJuICgodCBeICh0ID4+PiAxNCkpID4+PiAwKSAvIDQyOTQ5NjcyOTY7XG4gIH07XG59XG5cbi8vIOKUgOKUgCBHZW5lcmFjacOzbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuR2VuQ29uZmlnIHtcbiAgY29sczogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIHNlZWQ6IG51bWJlcjtcbiAgcGFsZXR0ZTogc3RyaW5nW107XG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuICBzdHlsZT86IFBhdHRlcm5TdHlsZUtleTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuVGlsZSB7XG4gIG1vdGlmOiBQYXR0ZXJuTW90aWZLZXk7XG4gIGJnOiBzdHJpbmc7XG4gIGZnOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHBpY2tGcm9tPFQ+KGFycjogVFtdLCBybmc6ICgpID0+IG51bWJlcik6IFQge1xuICByZXR1cm4gYXJyW01hdGguZmxvb3Iocm5nKCkgKiBhcnIubGVuZ3RoKV0hO1xufVxuXG4vKipcbiAqIEdlbmVyYSBVTiB0aWxlIHJlc3BldGFuZG8gZGVuc2lkYWRlcyBkZSBmYW1pbGlhICsgY29udHJhc3RlIGRlIHBhbGV0dGUuXG4gKiBBY2VwdGEgdW4gY29uZmlnIG9wY2lvbmFsIGRlIGRlbnNpZGFkZXMgKGRlIFBhdHRlcm5TdHlsZUtleSBvIGNoZXZyb25EZW5zaXR5IGxlZ2FjeSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbVRpbGUoXG4gIHBhbGV0dGU6IHN0cmluZ1tdLFxuICBjaGV2cm9uRGVuc2l0eSA9IDAuNTUsXG4gIHJuZzogKCkgPT4gbnVtYmVyID0gTWF0aC5yYW5kb20sXG4gIGRlbnNpdHlDb25maWc/OiBQYXR0ZXJuRGVuc2l0eUNvbmZpZ1xuKTogUGF0dGVyblRpbGUge1xuICBjb25zdCBjZmcgPSBkZW5zaXR5Q29uZmlnID8/IHtcbiAgICBjaGV2OiBjaGV2cm9uRGVuc2l0eSxcbiAgICBzdHJva2U6IDAuMDgsXG4gICAgY2lyY2xlOiAwLjA1LFxuICAgIHNoYXBlOiAwLjA3LFxuICAgIHNvbGlkOiAwLjIsXG4gIH07XG5cbiAgY29uc3Qgcm9sbCA9IHJuZygpO1xuICBsZXQga2V5OiBQYXR0ZXJuTW90aWZLZXk7XG5cbiAgY29uc3QgdDEgPSBjZmcuY2hldjtcbiAgY29uc3QgdDIgPSB0MSArIGNmZy5zdHJva2U7XG4gIGNvbnN0IHQzID0gdDIgKyBjZmcuY2lyY2xlO1xuICBjb25zdCB0NCA9IHQzICsgY2ZnLnNoYXBlO1xuICBjb25zdCB0NSA9IHQ0ICsgY2ZnLnNvbGlkO1xuXG4gIGlmIChyb2xsIDwgdDEpIGtleSA9IHBpY2tGcm9tKENIRVZfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQyKSBrZXkgPSBwaWNrRnJvbShTVFJPS0VfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQzKSBrZXkgPSBwaWNrRnJvbShDSVJDTEVfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQ0KSBrZXkgPSBwaWNrRnJvbShTSEFQRV9LRVlTLCBybmcpO1xuICBlbHNlIGlmIChyb2xsIDwgdDUpIGtleSA9IHBpY2tGcm9tKFNPTElEX0tFWVMsIHJuZyk7XG4gIGVsc2Uga2V5ID0gcGlja0Zyb20oWy4uLlRSSV9LRVlTLCAuLi5DT1JORVJfS0VZU10sIHJuZyk7XG5cbiAgY29uc3QgYmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgZmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgdHJpZXMgPSAwO1xuICB3aGlsZSAoTWF0aC5hYnMoZmdJZHggLSBiZ0lkeCkgPCAzICYmIHRyaWVzIDwgNikge1xuICAgIGZnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICB0cmllcysrO1xuICB9XG4gIHJldHVybiB7IG1vdGlmOiBrZXksIGJnOiBwYWxldHRlW2JnSWR4XSEsIGZnOiBwYWxldHRlW2ZnSWR4XSEgfTtcbn1cblxuLyoqIEdlbmVyYSBtYXRyaXogY29tcGxldGEgZGUgdGlsZXMuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVQYXR0ZXJuVGlsZXMoY2ZnOiBQYXR0ZXJuR2VuQ29uZmlnKTogUGF0dGVyblRpbGVbXSB7XG4gIGNvbnN0IHsgY29scywgcm93cywgc2VlZCwgcGFsZXR0ZSB9ID0gY2ZnO1xuICBjb25zdCBjaGV2cm9uRGVuc2l0eSA9IGNmZy5jaGV2cm9uRGVuc2l0eSA/PyAwLjU1O1xuICBjb25zdCBkZW5zaXR5Q29uZmlnID0gY2ZnLnN0eWxlID8gUEFUVEVSTl9TVFlMRV9DT05GSUdTW2NmZy5zdHlsZV0gOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHIgPSBtdWxiZXJyeTMyKHNlZWQpO1xuICBjb25zdCB0aWxlczogUGF0dGVyblRpbGVbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHMgKiByb3dzOyBpKyspIHtcbiAgICB0aWxlcy5wdXNoKGdlbmVyYXRlUmFuZG9tVGlsZShwYWxldHRlLCBjaGV2cm9uRGVuc2l0eSwgciwgZGVuc2l0eUNvbmZpZykpO1xuICB9XG4gIHJldHVybiB0aWxlcztcbn1cblxuLyoqXG4gKiBSZW5kZXJpemEgZWwgaW5uZXIgU1ZHIChzaW4gZWwgYDxzdmc+YCByb290KSBwYXJhIHVuYSBtYXRyaXogZGUgdGlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIoXG4gIHRpbGVzOiBQYXR0ZXJuVGlsZVtdLFxuICBjb2xzOiBudW1iZXIsXG4gIGJhc2VDb2xvcjogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBjb25zdCBXID0gY29scyAqIDEwMDtcbiAgY29uc3Qgcm93cyA9IE1hdGguY2VpbCh0aWxlcy5sZW5ndGggLyBjb2xzKTtcbiAgY29uc3QgSCA9IHJvd3MgKiAxMDA7XG4gIGxldCBpbm5lciA9IGA8cmVjdCB3aWR0aD1cIiR7V31cIiBoZWlnaHQ9XCIke0h9XCIgZmlsbD1cIiR7YmFzZUNvbG9yfVwiLz5gO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGkgJSBjb2xzO1xuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKGkgLyBjb2xzKTtcbiAgICBjb25zdCB0ID0gdGlsZXNbaV0hO1xuICAgIGNvbnN0IHNoYXBlID0gUEFUVEVSTl9NT1RJRlNbdC5tb3RpZl0odC5mZyk7XG4gICAgaW5uZXIgKz0gYDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgke2MgKiAxMDB9ICR7ciAqIDEwMH0pXCI+PHJlY3Qgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHt0LmJnfVwiLz4ke3NoYXBlfTwvZz5gO1xuICB9XG4gIHJldHVybiBpbm5lcjtcbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { Component, computed, effect, Input, signal } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
4
  import { inject } from '@angular/core';
5
- import { generatePatternTiles, generateRandomTile, PATTERN_PALETTES, renderPatternSvgInner, } from './motifs';
5
+ import { generatePatternTiles, generateRandomTile, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, renderPatternSvgInner, } from './motifs';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * `val-pattern`
@@ -33,7 +33,6 @@ import * as i0 from "@angular/core";
33
33
  * ```
34
34
  */
35
35
  export class PatternComponent {
36
- /** Object-first input. Cambios disparan re-render por signals. */
37
36
  set props(value) {
38
37
  if (!value)
39
38
  return;
@@ -43,7 +42,9 @@ export class PatternComponent {
43
42
  this.rows.set(Math.max(1, value.rows));
44
43
  if (value.seed !== undefined)
45
44
  this.seed.set(value.seed);
46
- if (value.chevronDensity !== undefined) {
45
+ if (value.style !== undefined)
46
+ this.patternStyle.set(value.style);
47
+ if (value.chevronDensity !== undefined && value.style === undefined) {
47
48
  this.chevronDensity.set(Math.min(1, Math.max(0, value.chevronDensity)));
48
49
  }
49
50
  if (value.preserveAspect !== undefined)
@@ -67,11 +68,10 @@ export class PatternComponent {
67
68
  this.seed = signal(this.randomSeed());
68
69
  this.paletteRef = signal(PATTERN_PALETTES.purple);
69
70
  this.chevronDensity = signal(0.55);
71
+ this.patternStyle = signal(undefined);
70
72
  this.preserveAspect = signal('slice');
71
73
  this.animated = signal(false);
72
- /** ms entre reshuffles (modo animated). Default 8000ms — "de vez en cuando". */
73
74
  this.reshuffleInterval = signal(8000);
74
- /** Tiles a cambiar por tick. 0 → reseed grid completo (default). >0 → staggered. */
75
75
  this.tilesPerTick = signal(0);
76
76
  /**
77
77
  * Tiles signal — mutable. Se regenera completa cuando cambia seed/cols/rows/
@@ -104,7 +104,8 @@ export class PatternComponent {
104
104
  const seed = this.seed();
105
105
  const palette = this.paletteRef();
106
106
  const density = this.chevronDensity();
107
- this.tiles.set(generatePatternTiles({ cols, rows, seed, palette, chevronDensity: density }));
107
+ const style = this.patternStyle();
108
+ this.tiles.set(generatePatternTiles({ cols, rows, seed, palette, chevronDensity: density, style }));
108
109
  }, { allowSignalWrites: true });
109
110
  // Modo animated: cada `reshuffleInterval` ms regenera el grid completo
110
111
  // con un seed nuevo. Visualmente: el patrón cambia de vez en cuando.
@@ -146,9 +147,11 @@ export class PatternComponent {
146
147
  const next = [...current];
147
148
  const palette = this.paletteRef();
148
149
  const density = this.chevronDensity();
150
+ const style = this.patternStyle();
151
+ const densityConfig = style ? PATTERN_STYLE_CONFIGS[style] : undefined;
149
152
  for (let n = 0; n < count; n++) {
150
153
  const idx = Math.floor(Math.random() * next.length);
151
- next[idx] = generateRandomTile(palette, density);
154
+ next[idx] = generateRandomTile(palette, density, Math.random, densityConfig);
152
155
  }
153
156
  this.tiles.set(next);
154
157
  }
@@ -175,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
175
178
  }], ctorParameters: () => [], propDecorators: { props: [{
176
179
  type: Input
177
180
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBR2hCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUFHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQW9DSCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixrRUFBa0U7SUFDbEUsSUFBYSxLQUFLLENBQUMsS0FBa0M7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElB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QUMsWUFBWSxDQUFDLFlBQ2IsMkRBQTJEO3dEQWlEeEQsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIElucHV0LCBPbkRlc3Ryb3ksIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZW5lcmF0ZVBhdHRlcm5UaWxlcyxcbiAgZ2VuZXJhdGVSYW5kb21UaWxlLFxuICBQQVRURVJOX1BBTEVUVEVTLFxuICBQYXR0ZXJuUGFsZXR0ZUtleSxcbiAgUGF0dGVyblRpbGUsXG4gIHJlbmRlclBhdHRlcm5TdmdJbm5lcixcbn0gZnJvbSAnLi9tb3RpZnMnO1xuaW1wb3J0IHsgUGF0dGVybk1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1wYXR0ZXJuYFxuICpcbiAqIENvbXBvbmVudGUgZGUgZm9uZG8gZ2VvbcOpdHJpY28gaW5zcGlyYWRvIGVuIGVsIHNpc3RlbWEgVmFsdGVjaC4gUmVuZGVyaXphIHVuXG4gKiBncmlkIGRlIHRpbGVzIDEwMMOXMTAwIGNvbiBtb3RpZnMgKGNoZXZyb25zLCB0cmlhbmdsZXMsIGRpYW1vbmRzLCBhcnJvd3MpIGVuXG4gKiB1biBTVkcgaW5saW5lLiBEZXRlcm1pbmlzdGEgdsOtYSBgc2VlZGAgbyBhbmltYWRvIHbDrWEgYHJlc2h1ZmZsZWAuXG4gKlxuICogQ2VybyBkZXBlbmRlbmNpYXMgZXh0ZXJuYXMg4oCUIHRvZG8gU1ZHLlxuICpcbiAqIEBleGFtcGxlIENvbW8gZm9uZG8gZGUgY2FyZCAoQ1NTIGFic29sdXRlKTpcbiAqIGBgYHNjc3NcbiAqIC5jYXJkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gKiAuY2FyZCB2YWwtcGF0dGVybiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHotaW5kZXg6IDA7IG9wYWNpdHk6IDAuNDsgfVxuICogLmNhcmQgLmNvbnRlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gKiAgIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogNiwgcm93czogMywgc2VlZDogNDIgfVwiIC8+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+VHUgY29udGVuaWRvIGFxdcOtPC9kaXY+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIENvbW8gYmFja2dyb3VuZCBhbmltYWRvIChoZXJvL2xvZ2luKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAnbGF2ZW5kZXInLCBjb2xzOiAxNiwgcm93czogOCwgYW5pbWF0ZWQ6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBhdHRlcm4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGAgPGRpdiBjbGFzcz1cInZhbC1wYXR0ZXJuXCIgW2lubmVySFRNTF09XCJzdmdIdG1sKClcIj48L2Rpdj4gYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1wYXR0ZXJuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLyogU3BlY2lmaWNpdHkgMCwyLDAg4oCUIGJlYXRzIFVBIGRlZmF1bHRzIHBhcmEgU1ZHLiBXaWR0aC9oZWlnaHQgZnVlcnphblxuICAgICAgICogZmlsbCBkZWwgY29udGFpbmVyLiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwic2xpY2VcIiBlbiBlbCB2aWV3Qm94IGhhY2UgZWxcbiAgICAgICAqIGNyb3AvY292ZXIuIFNpbiBlc3RvLCBlbCBTVkcgY2FlIGEgc3UgaW50cmluc2ljIGFzcGVjdCByYXRpbyBkZWxcbiAgICAgICAqIHZpZXdCb3ggeSBkZWphIGZyYW5qYXMgY3VhbmRvIGVsIGNvbnRhaW5lciBubyBtYXRjaGVhIChlai4gbW9iaWxlXG4gICAgICAgKiBjb24gY29scy9yb3dzIHdpZGUtYXNwZWN0KS4gKi9cbiAgICAgIC52YWwtcGF0dGVybiBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHMgPSBzaWduYWwoMTIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3MgPSBzaWduYWwoNCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VlZCA9IHNpZ25hbCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFsZXR0ZVJlZiA9IHNpZ25hbDxzdHJpbmdbXT4oUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoZXZyb25EZW5zaXR5ID0gc2lnbmFsKDAuNTUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZXNlcnZlQXNwZWN0ID0gc2lnbmFsPCdzbGljZScgfCAnbWVldCc+KCdzbGljZScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgLyoqIG1zIGVudHJlIHJlc2h1ZmZsZXMgKG1vZG8gYW5pbWF0ZWQpLiBEZWZhdWx0IDgwMDBtcyDigJQgXCJkZSB2ZXogZW4gY3VhbmRvXCIuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaHVmZmxlSW50ZXJ2YWwgPSBzaWduYWwoODAwMCk7XG4gIC8qKiBUaWxlcyBhIGNhbWJpYXIgcG9yIHRpY2suIDAg4oaSIHJlc2VlZCBncmlkIGNvbXBsZXRvIChkZWZhdWx0KS4gPjAg4oaSIHN0YWdnZXJlZC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlc1BlclRpY2sgPSBzaWduYWwoMCk7XG5cbiAgcHJpdmF0ZSB0aW1lcj86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICAvKiogT2JqZWN0LWZpcnN0IGlucHV0LiBDYW1iaW9zIGRpc3BhcmFuIHJlLXJlbmRlciBwb3Igc2lnbmFscy4gKi9cbiAgQElucHV0KCkgc2V0IHByb3BzKHZhbHVlOiBQYXR0ZXJuTWV0YWRhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgaWYgKHZhbHVlLmNvbHMgIT09IHVuZGVmaW5lZCkgdGhpcy5jb2xzLnNldChNYXRoLm1heCgxLCB2YWx1ZS5jb2xzKSk7XG4gICAgaWYgKHZhbHVlLnJvd3MgIT09IHVuZGVmaW5lZCkgdGhpcy5yb3dzLnNldChNYXRoLm1heCgxLCB2YWx1ZS5yb3dzKSk7XG4gICAgaWYgKHZhbHVlLnNlZWQgIT09IHVuZGVmaW5lZCkgdGhpcy5zZWVkLnNldCh2YWx1ZS5zZWVkKTtcbiAgICBpZiAodmFsdWUuY2hldnJvbkRlbnNpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jaGV2cm9uRGVuc2l0eS5zZXQoTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsdWUuY2hldnJvbkRlbnNpdHkpKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCAhPT0gdW5kZWZpbmVkKSB0aGlzLnByZXNlcnZlQXNwZWN0LnNldCh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCk7XG4gICAgaWYgKHZhbHVlLnBhbGV0dGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYWxldHRlUmVmLnNldCh0aGlzLnJlc29sdmVQYWxldHRlKHZhbHVlLnBhbGV0dGUpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJlc2h1ZmZsZUludGVydmFsICE9PSB1bmRlZmluZWQgJiYgdmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLnJlc2h1ZmZsZUludGVydmFsLnNldCh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS50aWxlc1BlclRpY2sgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS50aWxlc1BlclRpY2sgPj0gMCkge1xuICAgICAgdGhpcy50aWxlc1BlclRpY2suc2V0KE1hdGguZmxvb3IodmFsdWUudGlsZXNQZXJUaWNrKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5hbmltYXRlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLmFuaW1hdGVkLnNldCghIXZhbHVlLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaWxlcyBzaWduYWwg4oCUIG11dGFibGUuIFNlIHJlZ2VuZXJhIGNvbXBsZXRhIGN1YW5kbyBjYW1iaWEgc2VlZC9jb2xzL3Jvd3MvXG4gICAqIHBhbGV0dGUvZGVuc2l0eS4gRW4gbW9kbyBhbmltYXRlZCwgdGlsZXMgaW5kaXZpZHVhbGVzIHNlIHNvYnJlc2NyaWJlbiBzaW5cbiAgICogdG9jYXIgZWwgcmVzdG8gKGVmZWN0byBzdGFnZ2VyZWQpLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlcyA9IHNpZ25hbDxQYXR0ZXJuVGlsZVtdPihbXSk7XG5cbiAgLyoqIFNWRyBjb21wbGV0byBjb21vIHN0cmluZyBzYW5pdGl6ZWQgcGFyYSBgW2lubmVySFRNTF1gLiAqL1xuICByZWFkb25seSBzdmdIdG1sID0gY29tcHV0ZWQ8U2FmZUh0bWw+KCgpID0+IHtcbiAgICBjb25zdCBjb2xzID0gdGhpcy5jb2xzKCk7XG4gICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICBjb25zdCBpbm5lciA9IHJlbmRlclBhdHRlcm5TdmdJbm5lcih0aGlzLnRpbGVzKCksIGNvbHMsIHBhbGV0dGVbMF0hKTtcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLnByZXNlcnZlQXNwZWN0KCkgPT09ICdtZWV0JyA/ICd4TWlkWU1pZCBtZWV0JyA6ICd4TWlkWU1pZCBzbGljZSc7XG4gICAgLy8gd2lkdGgvaGVpZ2h0PVwiMTAwJVwiIGNvbW8gQVRSSUJVVE9TIChubyBzb2xvIENTUykg4oCUIGFsZ3Vub3MgYnJvd3NlcnNcbiAgICAvLyAoU2FmYXJpL2lPUykgaWdub3JhbiBDU1MgaGVpZ2h0IGVuIFNWRyBzaW4gYXRyaWJ1dG9zIHkgY2FlbiBhbCBpbnRyaW5zaWNcbiAgICAvLyBhc3BlY3QgZGVsIHZpZXdCb3gsIGRlamFuZG8gZnJhbmphcyB2YWPDrWFzIGN1YW5kbyBlbCBjb250YWluZXIgbm9cbiAgICAvLyBtYXRjaGVhIGVsIHJhdGlvLlxuICAgIGNvbnN0IHN2ZyA9IGA8c3ZnIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB2aWV3Qm94PVwiMCAwICR7Y29scyAqIDEwMH0gJHtyb3dzICogMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCIke2FzcGVjdH1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9XCJkaXNwbGF5OmJsb2NrO1wiPiR7aW5uZXJ9PC9zdmc+YDtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnKTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVnZW5lcmEgZ3JpZCBjb21wbGV0YSBjdWFuZG8gY2FtYmlhbiBwcm9wcyBlc3RydWN0dXJhbGVzIChjb2xzL3Jvd3MvXG4gICAgLy8gcGFsZXR0ZS9kZW5zaXR5L3NlZWQpLiBFbCBzZWVkIHNvbG8gY2FtYmlhIGV4cGzDrWNpdGFtZW50ZSB2aWEgcHJvcHMgb1xuICAgIC8vIG1vdW50IGluaWNpYWwg4oCUIE5PIHNlIG11dGEgZW4gbW9kbyBhbmltYXRlZC5cbiAgICAvLyBgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVgIHJlcXVlcmlkbyBlbiBBbmd1bGFyIDE4OiBlc2NyaWJpbW9zIGEgYHRpbGVzYFxuICAgIC8vIHNpZ25hbCBkZW50cm8gZGVsIGVmZmVjdCAoY29uc3VtaWRvIHBvciBzdmdIdG1sIGNvbXB1dGVkKS5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLmNvbHMoKTtcbiAgICAgICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgICAgICBjb25zdCBzZWVkID0gdGhpcy5zZWVkKCk7XG4gICAgICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICAgICAgY29uc3QgZGVuc2l0eSA9IHRoaXMuY2hldnJvbkRlbnNpdHkoKTtcbiAgICAgICAgdGhpcy50aWxlcy5zZXQoZ2VuZXJhdGVQYXR0ZXJuVGlsZXMoeyBjb2xzLCByb3dzLCBzZWVkLCBwYWxldHRlLCBjaGV2cm9uRGVuc2l0eTogZGVuc2l0eSB9KSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIC8vIE1vZG8gYW5pbWF0ZWQ6IGNhZGEgYHJlc2h1ZmZsZUludGVydmFsYCBtcyByZWdlbmVyYSBlbCBncmlkIGNvbXBsZXRvXG4gICAgLy8gY29uIHVuIHNlZWQgbnVldm8uIFZpc3VhbG1lbnRlOiBlbCBwYXRyw7NuIGNhbWJpYSBkZSB2ZXogZW4gY3VhbmRvLlxuICAgIC8vIFNpIGB0aWxlc1BlclRpY2sgPiAwYCB5IDwgdG90YWwgdGlsZXMsIGhhY2Ugc3RhZ2dlcmVkIChyZWVtcGxhemEgc29sb1xuICAgIC8vIE4gdGlsZXMgZW4gdmV6IGRlIHRvZGEgbGEgZ3JpZCkuIERlZmF1bHQgdGlsZXNQZXJUaWNrPTAg4oaSIHJlc2VlZCB0b3RhbC5cbiAgICBlZmZlY3Qob25DbGVhbnVwID0+IHtcbiAgICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLmFuaW1hdGVkKCk7XG4gICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMucmVzaHVmZmxlSW50ZXJ2YWwoKTtcbiAgICAgIGNvbnN0IHBlclRpY2sgPSB0aGlzLnRpbGVzUGVyVGljaygpO1xuICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICB0aGlzLnRpbWVyID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKCFpc0FuaW1hdGVkKSByZXR1cm47XG4gICAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAocGVyVGljayA+IDApIHtcbiAgICAgICAgICB0aGlzLm11dGF0ZVJhbmRvbVRpbGVzKHBlclRpY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VlZC5zZXQodGhpcy5yYW5kb21TZWVkKCkpO1xuICAgICAgICB9XG4gICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVlbXBsYXphIGBjb3VudGAgdGlsZXMgcmFuZG9tIGRlbCBncmlkIGFjdHVhbCBjb24gdGlsZXMgbnVldm9zIGdlbmVyYWRvcy5cbiAgICogVXNhZG8gcGFyYSBzdGFnZ2VyZWQgcmVzaHVmZmxlIChvcHQtaW4gdmlhIGB0aWxlc1BlclRpY2sgPiAwYCkuXG4gICAqL1xuICBwcml2YXRlIG11dGF0ZVJhbmRvbVRpbGVzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy50aWxlcygpO1xuICAgIGlmIChjdXJyZW50Lmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IG5leHQgPSBbLi4uY3VycmVudF07XG4gICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgIGNvbnN0IGRlbnNpdHkgPSB0aGlzLmNoZXZyb25EZW5zaXR5KCk7XG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBjb3VudDsgbisrKSB7XG4gICAgICBjb25zdCBpZHggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBuZXh0Lmxlbmd0aCk7XG4gICAgICBuZXh0W2lkeF0gPSBnZW5lcmF0ZVJhbmRvbVRpbGUocGFsZXR0ZSwgZGVuc2l0eSk7XG4gICAgfVxuICAgIHRoaXMudGlsZXMuc2V0KG5leHQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQYWxldHRlKHA6IFBhdHRlcm5QYWxldHRlS2V5IHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocCkpIHtcbiAgICAgIC8vIEFjZXB0YSBhcnJheXMgZGUgY3VhbHF1aWVyIGxvbmdpdHVkIOKJpTI7IHRpbGUgY29udHJhc3QgbG9naWMgdXNhIMOtbmRpY2VzLlxuICAgICAgcmV0dXJuIHAubGVuZ3RoID49IDIgPyBwIDogUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGU7XG4gICAgfVxuICAgIHJldHVybiBQQVRURVJOX1BBTEVUVEVTW3BdID8/IFBBVFRFUk5fUEFMRVRURVMucHVycGxlO1xuICB9XG5cbiAgcHJpdmF0ZSByYW5kb21TZWVkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDFfMDAwXzAwMCk7XG4gIH1cbn1cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUtyQixxQkFBcUIsR0FDdEIsTUFBTSxVQUFVLENBQUM7O0FBR2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFvQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsSUFBYSxLQUFLLENBQUMsS0FBa0M7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxJQUFJLEtBQUssQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsY0FBYyxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEYsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBd0JEO1FBM0RRLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFeEIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixTQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLE1BQU0sQ0FBVyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixpQkFBWSxHQUFHLE1BQU0sQ0FBOEIsU0FBUyxDQUFDLENBQUM7UUFDOUQsbUJBQWMsR0FBRyxNQUFNLENBQW1CLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBMEIxQzs7OztXQUlHO1FBQ2MsVUFBSyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFFbkQsNkRBQTZEO1FBQ3BELFlBQU8sR0FBRyxRQUFRLENBQVcsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUM7WUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNyRixzRUFBc0U7WUFDdEUsMkVBQTJFO1lBQzNFLG9FQUFvRTtZQUNwRSxvQkFBb0I7WUFDcEIsTUFBTSxHQUFHLEdBQUcsZ0RBQWdELElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxHQUFHLEdBQUcsMEJBQTBCLE1BQU0sa0ZBQWtGLEtBQUssUUFBUSxDQUFDO1lBQ3BOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUdELHdFQUF3RTtRQUN4RSx3RUFBd0U7UUFDeEUsK0NBQStDO1FBQy9DLDBFQUEwRTtRQUMxRSw2REFBNkQ7UUFDN0QsTUFBTSxDQUNKLEdBQUcsRUFBRTtZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFDO1FBRUYsdUVBQXVFO1FBQ3ZFLHFFQUFxRTtRQUNyRSx3RUFBd0U7UUFDeEUsMEVBQTBFO1FBQzFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLElBQUksSUFBSSxDQUFDLEtBQUs7Z0JBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVTtnQkFBRSxPQUFPO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDNUIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO1lBQ0gsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDYixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZixhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssaUJBQWlCLENBQUMsS0FBYTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBcUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3pHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMvRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sY0FBYyxDQUFDLENBQStCO1FBQ3BELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JCLDJFQUEyRTtZQUMzRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDeEQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQTNJVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0EvQmpCLDJEQUEyRCxvU0FEM0QsWUFBWTs7NEZBZ0NYLGdCQUFnQjtrQkFuQzVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLDJEQUEyRDt3REErQ3hELEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBJbnB1dCwgT25EZXN0cm95LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVQYXR0ZXJuVGlsZXMsXG4gIGdlbmVyYXRlUmFuZG9tVGlsZSxcbiAgUEFUVEVSTl9QQUxFVFRFUyxcbiAgUEFUVEVSTl9TVFlMRV9DT05GSUdTLFxuICBQYXR0ZXJuRGVuc2l0eUNvbmZpZyxcbiAgUGF0dGVyblBhbGV0dGVLZXksXG4gIFBhdHRlcm5TdHlsZUtleSxcbiAgUGF0dGVyblRpbGUsXG4gIHJlbmRlclBhdHRlcm5TdmdJbm5lcixcbn0gZnJvbSAnLi9tb3RpZnMnO1xuaW1wb3J0IHsgUGF0dGVybk1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1wYXR0ZXJuYFxuICpcbiAqIENvbXBvbmVudGUgZGUgZm9uZG8gZ2VvbcOpdHJpY28gaW5zcGlyYWRvIGVuIGVsIHNpc3RlbWEgVmFsdGVjaC4gUmVuZGVyaXphIHVuXG4gKiBncmlkIGRlIHRpbGVzIDEwMMOXMTAwIGNvbiBtb3RpZnMgKGNoZXZyb25zLCB0cmlhbmdsZXMsIGRpYW1vbmRzLCBhcnJvd3MpIGVuXG4gKiB1biBTVkcgaW5saW5lLiBEZXRlcm1pbmlzdGEgdsOtYSBgc2VlZGAgbyBhbmltYWRvIHbDrWEgYHJlc2h1ZmZsZWAuXG4gKlxuICogQ2VybyBkZXBlbmRlbmNpYXMgZXh0ZXJuYXMg4oCUIHRvZG8gU1ZHLlxuICpcbiAqIEBleGFtcGxlIENvbW8gZm9uZG8gZGUgY2FyZCAoQ1NTIGFic29sdXRlKTpcbiAqIGBgYHNjc3NcbiAqIC5jYXJkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gKiAuY2FyZCB2YWwtcGF0dGVybiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHotaW5kZXg6IDA7IG9wYWNpdHk6IDAuNDsgfVxuICogLmNhcmQgLmNvbnRlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gKiAgIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogNiwgcm93czogMywgc2VlZDogNDIgfVwiIC8+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+VHUgY29udGVuaWRvIGFxdcOtPC9kaXY+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIENvbW8gYmFja2dyb3VuZCBhbmltYWRvIChoZXJvL2xvZ2luKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAnbGF2ZW5kZXInLCBjb2xzOiAxNiwgcm93czogOCwgYW5pbWF0ZWQ6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBhdHRlcm4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGAgPGRpdiBjbGFzcz1cInZhbC1wYXR0ZXJuXCIgW2lubmVySFRNTF09XCJzdmdIdG1sKClcIj48L2Rpdj4gYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1wYXR0ZXJuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLyogU3BlY2lmaWNpdHkgMCwyLDAg4oCUIGJlYXRzIFVBIGRlZmF1bHRzIHBhcmEgU1ZHLiBXaWR0aC9oZWlnaHQgZnVlcnphblxuICAgICAgICogZmlsbCBkZWwgY29udGFpbmVyLiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwic2xpY2VcIiBlbiBlbCB2aWV3Qm94IGhhY2UgZWxcbiAgICAgICAqIGNyb3AvY292ZXIuIFNpbiBlc3RvLCBlbCBTVkcgY2FlIGEgc3UgaW50cmluc2ljIGFzcGVjdCByYXRpbyBkZWxcbiAgICAgICAqIHZpZXdCb3ggeSBkZWphIGZyYW5qYXMgY3VhbmRvIGVsIGNvbnRhaW5lciBubyBtYXRjaGVhIChlai4gbW9iaWxlXG4gICAgICAgKiBjb24gY29scy9yb3dzIHdpZGUtYXNwZWN0KS4gKi9cbiAgICAgIC52YWwtcGF0dGVybiBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHMgPSBzaWduYWwoMTIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3MgPSBzaWduYWwoNCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VlZCA9IHNpZ25hbCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFsZXR0ZVJlZiA9IHNpZ25hbDxzdHJpbmdbXT4oUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoZXZyb25EZW5zaXR5ID0gc2lnbmFsKDAuNTUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBhdHRlcm5TdHlsZSA9IHNpZ25hbDxQYXR0ZXJuU3R5bGVLZXkgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlc2VydmVBc3BlY3QgPSBzaWduYWw8J3NsaWNlJyB8ICdtZWV0Jz4oJ3NsaWNlJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0ZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc2h1ZmZsZUludGVydmFsID0gc2lnbmFsKDgwMDApO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbGVzUGVyVGljayA9IHNpZ25hbCgwKTtcblxuICBwcml2YXRlIHRpbWVyPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2YWx1ZTogUGF0dGVybk1ldGFkYXRhIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZS5jb2xzICE9PSB1bmRlZmluZWQpIHRoaXMuY29scy5zZXQoTWF0aC5tYXgoMSwgdmFsdWUuY29scykpO1xuICAgIGlmICh2YWx1ZS5yb3dzICE9PSB1bmRlZmluZWQpIHRoaXMucm93cy5zZXQoTWF0aC5tYXgoMSwgdmFsdWUucm93cykpO1xuICAgIGlmICh2YWx1ZS5zZWVkICE9PSB1bmRlZmluZWQpIHRoaXMuc2VlZC5zZXQodmFsdWUuc2VlZCk7XG4gICAgaWYgKHZhbHVlLnN0eWxlICE9PSB1bmRlZmluZWQpIHRoaXMucGF0dGVyblN0eWxlLnNldCh2YWx1ZS5zdHlsZSk7XG4gICAgaWYgKHZhbHVlLmNoZXZyb25EZW5zaXR5ICE9PSB1bmRlZmluZWQgJiYgdmFsdWUuc3R5bGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jaGV2cm9uRGVuc2l0eS5zZXQoTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsdWUuY2hldnJvbkRlbnNpdHkpKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCAhPT0gdW5kZWZpbmVkKSB0aGlzLnByZXNlcnZlQXNwZWN0LnNldCh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCk7XG4gICAgaWYgKHZhbHVlLnBhbGV0dGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYWxldHRlUmVmLnNldCh0aGlzLnJlc29sdmVQYWxldHRlKHZhbHVlLnBhbGV0dGUpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJlc2h1ZmZsZUludGVydmFsICE9PSB1bmRlZmluZWQgJiYgdmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLnJlc2h1ZmZsZUludGVydmFsLnNldCh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS50aWxlc1BlclRpY2sgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS50aWxlc1BlclRpY2sgPj0gMCkge1xuICAgICAgdGhpcy50aWxlc1BlclRpY2suc2V0KE1hdGguZmxvb3IodmFsdWUudGlsZXNQZXJUaWNrKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5hbmltYXRlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLmFuaW1hdGVkLnNldCghIXZhbHVlLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaWxlcyBzaWduYWwg4oCUIG11dGFibGUuIFNlIHJlZ2VuZXJhIGNvbXBsZXRhIGN1YW5kbyBjYW1iaWEgc2VlZC9jb2xzL3Jvd3MvXG4gICAqIHBhbGV0dGUvZGVuc2l0eS4gRW4gbW9kbyBhbmltYXRlZCwgdGlsZXMgaW5kaXZpZHVhbGVzIHNlIHNvYnJlc2NyaWJlbiBzaW5cbiAgICogdG9jYXIgZWwgcmVzdG8gKGVmZWN0byBzdGFnZ2VyZWQpLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlcyA9IHNpZ25hbDxQYXR0ZXJuVGlsZVtdPihbXSk7XG5cbiAgLyoqIFNWRyBjb21wbGV0byBjb21vIHN0cmluZyBzYW5pdGl6ZWQgcGFyYSBgW2lubmVySFRNTF1gLiAqL1xuICByZWFkb25seSBzdmdIdG1sID0gY29tcHV0ZWQ8U2FmZUh0bWw+KCgpID0+IHtcbiAgICBjb25zdCBjb2xzID0gdGhpcy5jb2xzKCk7XG4gICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICBjb25zdCBpbm5lciA9IHJlbmRlclBhdHRlcm5TdmdJbm5lcih0aGlzLnRpbGVzKCksIGNvbHMsIHBhbGV0dGVbMF0hKTtcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLnByZXNlcnZlQXNwZWN0KCkgPT09ICdtZWV0JyA/ICd4TWlkWU1pZCBtZWV0JyA6ICd4TWlkWU1pZCBzbGljZSc7XG4gICAgLy8gd2lkdGgvaGVpZ2h0PVwiMTAwJVwiIGNvbW8gQVRSSUJVVE9TIChubyBzb2xvIENTUykg4oCUIGFsZ3Vub3MgYnJvd3NlcnNcbiAgICAvLyAoU2FmYXJpL2lPUykgaWdub3JhbiBDU1MgaGVpZ2h0IGVuIFNWRyBzaW4gYXRyaWJ1dG9zIHkgY2FlbiBhbCBpbnRyaW5zaWNcbiAgICAvLyBhc3BlY3QgZGVsIHZpZXdCb3gsIGRlamFuZG8gZnJhbmphcyB2YWPDrWFzIGN1YW5kbyBlbCBjb250YWluZXIgbm9cbiAgICAvLyBtYXRjaGVhIGVsIHJhdGlvLlxuICAgIGNvbnN0IHN2ZyA9IGA8c3ZnIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB2aWV3Qm94PVwiMCAwICR7Y29scyAqIDEwMH0gJHtyb3dzICogMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCIke2FzcGVjdH1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9XCJkaXNwbGF5OmJsb2NrO1wiPiR7aW5uZXJ9PC9zdmc+YDtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnKTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVnZW5lcmEgZ3JpZCBjb21wbGV0YSBjdWFuZG8gY2FtYmlhbiBwcm9wcyBlc3RydWN0dXJhbGVzIChjb2xzL3Jvd3MvXG4gICAgLy8gcGFsZXR0ZS9kZW5zaXR5L3NlZWQpLiBFbCBzZWVkIHNvbG8gY2FtYmlhIGV4cGzDrWNpdGFtZW50ZSB2aWEgcHJvcHMgb1xuICAgIC8vIG1vdW50IGluaWNpYWwg4oCUIE5PIHNlIG11dGEgZW4gbW9kbyBhbmltYXRlZC5cbiAgICAvLyBgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVgIHJlcXVlcmlkbyBlbiBBbmd1bGFyIDE4OiBlc2NyaWJpbW9zIGEgYHRpbGVzYFxuICAgIC8vIHNpZ25hbCBkZW50cm8gZGVsIGVmZmVjdCAoY29uc3VtaWRvIHBvciBzdmdIdG1sIGNvbXB1dGVkKS5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLmNvbHMoKTtcbiAgICAgICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgICAgICBjb25zdCBzZWVkID0gdGhpcy5zZWVkKCk7XG4gICAgICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICAgICAgY29uc3QgZGVuc2l0eSA9IHRoaXMuY2hldnJvbkRlbnNpdHkoKTtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLnBhdHRlcm5TdHlsZSgpO1xuICAgICAgICB0aGlzLnRpbGVzLnNldChnZW5lcmF0ZVBhdHRlcm5UaWxlcyh7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUsIGNoZXZyb25EZW5zaXR5OiBkZW5zaXR5LCBzdHlsZSB9KSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIC8vIE1vZG8gYW5pbWF0ZWQ6IGNhZGEgYHJlc2h1ZmZsZUludGVydmFsYCBtcyByZWdlbmVyYSBlbCBncmlkIGNvbXBsZXRvXG4gICAgLy8gY29uIHVuIHNlZWQgbnVldm8uIFZpc3VhbG1lbnRlOiBlbCBwYXRyw7NuIGNhbWJpYSBkZSB2ZXogZW4gY3VhbmRvLlxuICAgIC8vIFNpIGB0aWxlc1BlclRpY2sgPiAwYCB5IDwgdG90YWwgdGlsZXMsIGhhY2Ugc3RhZ2dlcmVkIChyZWVtcGxhemEgc29sb1xuICAgIC8vIE4gdGlsZXMgZW4gdmV6IGRlIHRvZGEgbGEgZ3JpZCkuIERlZmF1bHQgdGlsZXNQZXJUaWNrPTAg4oaSIHJlc2VlZCB0b3RhbC5cbiAgICBlZmZlY3Qob25DbGVhbnVwID0+IHtcbiAgICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLmFuaW1hdGVkKCk7XG4gICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMucmVzaHVmZmxlSW50ZXJ2YWwoKTtcbiAgICAgIGNvbnN0IHBlclRpY2sgPSB0aGlzLnRpbGVzUGVyVGljaygpO1xuICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICB0aGlzLnRpbWVyID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKCFpc0FuaW1hdGVkKSByZXR1cm47XG4gICAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAocGVyVGljayA+IDApIHtcbiAgICAgICAgICB0aGlzLm11dGF0ZVJhbmRvbVRpbGVzKHBlclRpY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VlZC5zZXQodGhpcy5yYW5kb21TZWVkKCkpO1xuICAgICAgICB9XG4gICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVlbXBsYXphIGBjb3VudGAgdGlsZXMgcmFuZG9tIGRlbCBncmlkIGFjdHVhbCBjb24gdGlsZXMgbnVldm9zIGdlbmVyYWRvcy5cbiAgICogVXNhZG8gcGFyYSBzdGFnZ2VyZWQgcmVzaHVmZmxlIChvcHQtaW4gdmlhIGB0aWxlc1BlclRpY2sgPiAwYCkuXG4gICAqL1xuICBwcml2YXRlIG11dGF0ZVJhbmRvbVRpbGVzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy50aWxlcygpO1xuICAgIGlmIChjdXJyZW50Lmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IG5leHQgPSBbLi4uY3VycmVudF07XG4gICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgIGNvbnN0IGRlbnNpdHkgPSB0aGlzLmNoZXZyb25EZW5zaXR5KCk7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLnBhdHRlcm5TdHlsZSgpO1xuICAgIGNvbnN0IGRlbnNpdHlDb25maWc6IFBhdHRlcm5EZW5zaXR5Q29uZmlnIHwgdW5kZWZpbmVkID0gc3R5bGUgPyBQQVRURVJOX1NUWUxFX0NPTkZJR1Nbc3R5bGVdIDogdW5kZWZpbmVkO1xuICAgIGZvciAobGV0IG4gPSAwOyBuIDwgY291bnQ7IG4rKykge1xuICAgICAgY29uc3QgaWR4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbmV4dC5sZW5ndGgpO1xuICAgICAgbmV4dFtpZHhdID0gZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGRlbnNpdHksIE1hdGgucmFuZG9tLCBkZW5zaXR5Q29uZmlnKTtcbiAgICB9XG4gICAgdGhpcy50aWxlcy5zZXQobmV4dCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aW1lcikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVBhbGV0dGUocDogUGF0dGVyblBhbGV0dGVLZXkgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwKSkge1xuICAgICAgLy8gQWNlcHRhIGFycmF5cyBkZSBjdWFscXVpZXIgbG9uZ2l0dWQg4omlMjsgdGlsZSBjb250cmFzdCBsb2dpYyB1c2Egw61uZGljZXMuXG4gICAgICByZXR1cm4gcC5sZW5ndGggPj0gMiA/IHAgOiBQQVRURVJOX1BBTEVUVEVTLnB1cnBsZTtcbiAgICB9XG4gICAgcmV0dXJuIFBBVFRFUk5fUEFMRVRURVNbcF0gPz8gUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGU7XG4gIH1cblxuICBwcml2YXRlIHJhbmRvbVNlZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMV8wMDBfMDAwKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblBhbGV0dGVLZXkgfSBmcm9tICcuL21vdGlmcyc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGVsIGNvbXBvbmVudGUgYHZhbC1wYXR0ZXJuYC5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgKHNlZWQgZmlqbywgcmVwcm9kdWNpYmxlKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogMTIsIHJvd3M6IDQsIHNlZWQ6IDQyIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQW5pbWF0ZWQgd2hvbGUtZ3JpZCByZXNodWZmbGUgKGNhZGEgOHMg4oCUIGRlZmF1bHQpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdpbmsnLCBjb2xzOiAxNiwgcm93czogOCwgYW5pbWF0ZWQ6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBbmltYXRlZCBzdGFnZ2VyZWQgKDIgdGlsZXMgY2FkYSA4MDBtcyDigJQgc3V0aWwpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IGFuaW1hdGVkOiB0cnVlLCByZXNodWZmbGVJbnRlcnZhbDogODAwLCB0aWxlc1BlclRpY2s6IDIgfVwiIC8+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTWV0YWRhdGEge1xuICAvKipcbiAgICogUGFsZXR0ZSBidWlsdC1pbiAoYCdwdXJwbGUnIHwgJ2luaycgfCAnbGF2ZW5kZXInYCkgbyBhcnJheSBjdXN0b20gZGUgOFxuICAgKiBjb2xvcmVzIGRhcmsg4oaSIGxpZ2h0LiBEZWZhdWx0OiBgJ3B1cnBsZSdgLlxuICAgKi9cbiAgcGFsZXR0ZT86IFBhdHRlcm5QYWxldHRlS2V5IHwgc3RyaW5nW107XG5cbiAgLyoqIENvbHVtbmFzIGRlbCBncmlkLiBEZWZhdWx0OiAxMi4gKi9cbiAgY29scz86IG51bWJlcjtcblxuICAvKiogRmlsYXMgZGVsIGdyaWQuIERlZmF1bHQ6IDQuICovXG4gIHJvd3M/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNlZWQgcGFyYSBNdWxiZXJyeTMyIOKAlCBkZXRlcm1pbmEgZWwgcGF0csOzbi4gU2kgbm8gc2UgcGFzYSwgZ2VuZXJhIHVubyByYW5kb21cbiAgICogYWwgbW91bnQgeSBxdWVkYSBmaWpvIChhIG1lbm9zIHF1ZSBgYW5pbWF0ZWQ6IHRydWVgKS5cbiAgICovXG4gIHNlZWQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlbnNpZGFkIGRlIGNoZXZyb25zICgwLi4xKS4gRWwgcmVzdG8gc2UgcmVwYXJ0ZSBlbnRyZSBzb2xpZC9zaGFwZS90cmkuXG4gICAqIERlZmF1bHQ6IGAwLjU1YC5cbiAgICovXG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGVsIHBhdHLDs24gaGFjZSAqKnN0YWdnZXJlZCByZXNodWZmbGUqKjogY2FkYSBgcmVzaHVmZmxlSW50ZXJ2YWxgXG4gICAqIG1zIHNlIHJlZW1wbGF6YW4gYHRpbGVzUGVyVGlja2AgdGlsZXMgcmFuZG9tIOKAlCBOTyBsYSBncmlkIGVudGVyYS5cbiAgICogRGVmYXVsdDogYGZhbHNlYC5cbiAgICovXG4gIGFuaW1hdGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogbXMgZW50cmUgdXBkYXRlcyBpbmRpdmlkdWFsZXMgZGUgdGlsZXMgKG1vZG8gYW5pbWF0ZWQpLlxuICAgKiBEZWZhdWx0OiBgMTIwMGAgKH4xIHRpbGUgY2FkYSAxLjJzIGNvbiBgdGlsZXNQZXJUaWNrOiAxYCkuXG4gICAqL1xuICByZXNodWZmbGVJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ3XDoW50b3MgdGlsZXMgY2FtYmlhciBwb3IgdGljayAobW9kbyBhbmltYXRlZCkuIERlZmF1bHQ6IGAxYCAoY2FtYmlvIHN1dGlsKS5cbiAgICogU3ViaXIgYSAyLTQgcGFyYSBlZmVjdG8gbcOhcyB2aXZvLlxuICAgKi9cbiAgdGlsZXNQZXJUaWNrPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBgc2xpY2VgIChkZWZhdWx0KSDigJQgZWwgcGF0csOzbiBjdWJyZSB0b2RvIGVsIGNvbnRlbmVkb3IgbWFudGVuaWVuZG8gYXNwZWN0LFxuICAgKiBjcm9wZWFuZG8gc2kgbmVjZXNhcmlvLiBgbWVldGAg4oCUIGZpdCBjb21wbGV0byBzaW4gY3JvcCwgZGVqYSBlc3BhY2lvLlxuICAgKi9cbiAgcHJlc2VydmVBc3BlY3Q/OiAnc2xpY2UnIHwgJ21lZXQnO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblBhbGV0dGVLZXksIFBhdHRlcm5TdHlsZUtleSB9IGZyb20gJy4vbW90aWZzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBgdmFsLXBhdHRlcm5gLlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoc2VlZCBmaWpvLCByZXByb2R1Y2libGUpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdwdXJwbGUnLCBjb2xzOiAxMiwgcm93czogNCwgc2VlZDogNDIgfVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBbmltYXRlZCB3aG9sZS1ncmlkIHJlc2h1ZmZsZSAoY2FkYSAxMHMpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdtaWRuaWdodCcsIGNvbHM6IDE0LCByb3dzOiA1LCBhbmltYXRlZDogdHJ1ZSwgcmVzaHVmZmxlSW50ZXJ2YWw6IDEwMDAwIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQW5pbWF0ZWQgc3RhZ2dlcmVkICgyIHRpbGVzIGNhZGEgODAwbXMg4oCUIHN1dGlsKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBhbmltYXRlZDogdHJ1ZSwgcmVzaHVmZmxlSW50ZXJ2YWw6IDgwMCwgdGlsZXNQZXJUaWNrOiAyIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgUHJlc2V0IGdlb23DqXRyaWNvIGNvbiBwYWxldGEgZW1iZXI6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXBhdHRlcm4gW3Byb3BzXT1cInsgcGFsZXR0ZTogJ2VtYmVyJywgc3R5bGU6ICdnZW9tZXRyaWMnLCBjb2xzOiAxMCwgcm93czogNCB9XCIgLz5cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5NZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBQYWxldHRlIGJ1aWx0LWluIG8gYXJyYXkgY3VzdG9tIGRlIDggY29sb3JlcyBkYXJrIOKGkiBsaWdodC5cbiAgICogQnVpbHQtaW5zOiBgJ3B1cnBsZScgfCAnaW5rJyB8ICdsYXZlbmRlcicgfCAnbWlkbmlnaHQnIHwgJ2VtYmVyJyB8ICdmb3Jlc3QnIHwgJ3Jvc2UnIHwgJ2dvbGQnIHwgJ21vbm8nYC5cbiAgICogRGVmYXVsdDogYCdwdXJwbGUnYC5cbiAgICovXG4gIHBhbGV0dGU/OiBQYXR0ZXJuUGFsZXR0ZUtleSB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgZGUgY29tcG9zaWNpw7NuIGRlIGZhbWlsaWFzIGRlIG1vdGlmcy5cbiAgICogLSBgYnJhbmRlZGAgICDihpIgQ2hldnJvbnMgZG9taW5hbnRlcyAoaWRlbnRpZGFkIFZhbHRlY2gpLiBEZWZhdWx0LlxuICAgKiAtIGBnZW9tZXRyaWNgIOKGkiBUcmnDoW5ndWxvcywgZXNxdWluYXMgcmVkb25kZWFkYXMgeSBjw61yY3Vsb3MuXG4gICAqIC0gYG1pbmltYWxgICAg4oaSIE1heW9yw61hIHPDs2xpZG8gY29uIHRyYXpvcyBzdXRpbGVzLiBMb29rIGNvcnBvcmF0aXZvIGxpbXBpby5cbiAgICogLSBgZGVuc2VgICAgICDihpIgTWV6Y2xhIHJpY2EgZGUgdG9kYXMgbGFzIGZhbWlsaWFzLiBNw6F4aW1hIHRleHR1cmEuXG4gICAqXG4gICAqIEN1YW5kbyBzZSB1c2EgYHN0eWxlYCwgc29icmVlc2NyaWJlIGBjaGV2cm9uRGVuc2l0eWAuXG4gICAqL1xuICBzdHlsZT86IFBhdHRlcm5TdHlsZUtleTtcblxuICAvKiogQ29sdW1uYXMgZGVsIGdyaWQuIERlZmF1bHQ6IDEyLiAqL1xuICBjb2xzPzogbnVtYmVyO1xuXG4gIC8qKiBGaWxhcyBkZWwgZ3JpZC4gRGVmYXVsdDogNC4gKi9cbiAgcm93cz86IG51bWJlcjtcblxuICAvKipcbiAgICogU2VlZCBwYXJhIE11bGJlcnJ5MzIg4oCUIGRldGVybWluYSBlbCBwYXRyw7NuLiBTaSBubyBzZSBwYXNhLCBnZW5lcmEgdW5vIHJhbmRvbVxuICAgKiBhbCBtb3VudCB5IHF1ZWRhIGZpam8gKGEgbWVub3MgcXVlIGBhbmltYXRlZDogdHJ1ZWApLlxuICAgKi9cbiAgc2VlZD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVuc2lkYWQgZGUgY2hldnJvbnMgKDAuLjEpLiBJZ25vcmFkbyBzaSBzZSBwYXNhIGBzdHlsZWAuXG4gICAqIERlZmF1bHQ6IGAwLjU1YC5cbiAgICovXG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGVsIHBhdHLDs24gYW5pbWEgdGlsZXMgcGVyacOzZGljYW1lbnRlLlxuICAgKiBDb24gYHRpbGVzUGVyVGljazogMGAgKGRlZmF1bHQpOiByZXNlZWQgY29tcGxldG8gZGUgbGEgZ3JpZC5cbiAgICogQ29uIGB0aWxlc1BlclRpY2sgPiAwYDogcmVzaHVmZmxlIHBhcmNpYWwgKHN0YWdnZXJlZCDigJQgbcOhcyBzdXRpbCkuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAuXG4gICAqL1xuICBhbmltYXRlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIG1zIGVudHJlIHVwZGF0ZXMgKG1vZG8gYW5pbWF0ZWQpLlxuICAgKiBEZWZhdWx0OiBgODAwMGAuXG4gICAqL1xuICByZXNodWZmbGVJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ3XDoW50b3MgdGlsZXMgY2FtYmlhciBwb3IgdGljayAobW9kbyBhbmltYXRlZCkuXG4gICAqIGAwYCDihpIgcmVzZWVkIGdyaWQgY29tcGxldGEuIGAxLU5gIOKGkiBzdGFnZ2VyZWQgc3V0aWwuXG4gICAqIERlZmF1bHQ6IGAwYC5cbiAgICovXG4gIHRpbGVzUGVyVGljaz86IG51bWJlcjtcblxuICAvKipcbiAgICogYHNsaWNlYCAoZGVmYXVsdCkg4oCUIGN1YnJlIHRvZG8gZWwgY29udGVuZWRvciBjb24gY3JvcCBzaSBuZWNlc2FyaW8uXG4gICAqIGBtZWV0YCDigJQgZml0IGNvbXBsZXRvIHNpbiBjcm9wLlxuICAgKi9cbiAgcHJlc2VydmVBc3BlY3Q/OiAnc2xpY2UnIHwgJ21lZXQnO1xufVxuIl19
@@ -51,7 +51,7 @@ export class AnimatedTerminalComponent {
51
51
  </div>
52
52
  </div>
53
53
  </div>
54
- `, isInline: true, styles: [":host{display:block}.terminal{width:100%;overflow:hidden;box-shadow:0 24px 60px #00000073}.terminal.rounded{border-radius:16px}.terminal-header{padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.8rem;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace}.terminal-body{padding:20px 24px 24px;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.9}.line{opacity:0;animation:terminalFadeIn .25s ease forwards;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes terminalFadeIn{to{opacity:1}}.prompt-text{color:#7ee787}.command-text{color:#c9d1d9}.arrow-icon{color:#c8aafd}.arrow-text{color:#8b949e}.success-icon{color:#4ade80;font-weight:700}.success-text{color:#4ade80}.error-text{color:#f85149}.output-text{color:#8b949e}.cursor{display:inline-block;width:9px;height:1em;background:#7ee787;margin-left:2px;vertical-align:text-bottom;animation:terminalBlink 1s step-end infinite}@keyframes terminalBlink{0%,to{opacity:1}50%{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
54
+ `, isInline: true, styles: [":host{display:block;width:100%}.terminal{width:100%;overflow:hidden;box-shadow:0 24px 60px #00000073}.terminal.rounded{border-radius:16px}.terminal-header{padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.8rem;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace}.terminal-body{padding:20px 24px 24px;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.9}.line{opacity:0;animation:terminalFadeIn .25s ease forwards;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes terminalFadeIn{to{opacity:1}}.prompt-text{color:#7ee787}.command-text{color:#c9d1d9}.arrow-icon{color:#c8aafd}.arrow-text{color:#8b949e}.success-icon{color:#4ade80;font-weight:700}.success-text{color:#4ade80}.error-text{color:#f85149}.output-text{color:#8b949e}.cursor{display:inline-block;width:9px;height:1em;background:#7ee787;margin-left:2px;vertical-align:text-bottom;animation:terminalBlink 1s step-end infinite}@keyframes terminalBlink{0%,to{opacity:1}50%{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
55
55
  }
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AnimatedTerminalComponent, decorators: [{
57
57
  type: Component,
@@ -95,8 +95,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
95
95
  </div>
96
96
  </div>
97
97
  </div>
98
- `, styles: [":host{display:block}.terminal{width:100%;overflow:hidden;box-shadow:0 24px 60px #00000073}.terminal.rounded{border-radius:16px}.terminal-header{padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.8rem;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace}.terminal-body{padding:20px 24px 24px;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.9}.line{opacity:0;animation:terminalFadeIn .25s ease forwards;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes terminalFadeIn{to{opacity:1}}.prompt-text{color:#7ee787}.command-text{color:#c9d1d9}.arrow-icon{color:#c8aafd}.arrow-text{color:#8b949e}.success-icon{color:#4ade80;font-weight:700}.success-text{color:#4ade80}.error-text{color:#f85149}.output-text{color:#8b949e}.cursor{display:inline-block;width:9px;height:1em;background:#7ee787;margin-left:2px;vertical-align:text-bottom;animation:terminalBlink 1s step-end infinite}@keyframes terminalBlink{0%,to{opacity:1}50%{opacity:0}}\n"] }]
98
+ `, styles: [":host{display:block;width:100%}.terminal{width:100%;overflow:hidden;box-shadow:0 24px 60px #00000073}.terminal.rounded{border-radius:16px}.terminal-header{padding:12px 16px;display:flex;align-items:center;gap:8px}.terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27ca40}.terminal-title{flex:1;text-align:center;color:#8b949e;font-size:.8rem;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace}.terminal-body{padding:20px 24px 24px;font-family:ui-monospace,Fira Code,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.9}.line{opacity:0;animation:terminalFadeIn .25s ease forwards;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes terminalFadeIn{to{opacity:1}}.prompt-text{color:#7ee787}.command-text{color:#c9d1d9}.arrow-icon{color:#c8aafd}.arrow-text{color:#8b949e}.success-icon{color:#4ade80;font-weight:700}.success-text{color:#4ade80}.error-text{color:#f85149}.output-text{color:#8b949e}.cursor{display:inline-block;width:9px;height:1em;background:#7ee787;margin-left:2px;vertical-align:text-bottom;animation:terminalBlink 1s step-end infinite}@keyframes terminalBlink{0%,to{opacity:1}50%{opacity:0}}\n"] }]
99
99
  }], propDecorators: { props: [{
100
100
  type: Input
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQtdGVybWluYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hbmltYXRlZC10ZXJtaW5hbC9hbmltYXRlZC10ZXJtaW5hbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUE0S2pELE1BQU0sT0FBTyx5QkFBeUI7SUF6S3RDO1FBMEtXLFVBQUssR0FBNkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7S0FNMUQ7SUFKQyxRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsT0FBTyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkMsQ0FBQzsrR0FOVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qiw2R0ExQzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NULHV4Q0FwS1MsWUFBWTs7NEZBc0tYLHlCQUF5QjtrQkF6S3JDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQTRIYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVDs4QkFHUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0ZWRUZXJtaW5hbE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hbmltYXRlZC10ZXJtaW5hbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAyNHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsLnJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsLWRvdCB7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5kb3QtcmVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNWY1NjtcbiAgICAgIH1cbiAgICAgIC5kb3QteWVsbG93IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmYmQyZTtcbiAgICAgIH1cbiAgICAgIC5kb3QtZ3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjdjYTQwO1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtdGl0bGUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgJ0ZpcmEgQ29kZScsICdNb25hY28nLCAnQ29uc29sYXMnLCBtb25vc3BhY2U7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsICdGaXJhIENvZGUnLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS45O1xuICAgICAgfVxuXG4gICAgICAubGluZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGFuaW1hdGlvbjogdGVybWluYWxGYWRlSW4gMC4yNXMgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgdGVybWluYWxGYWRlSW4ge1xuICAgICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvbXB0LXRleHQge1xuICAgICAgICBjb2xvcjogIzdlZTc4NztcbiAgICAgIH1cblxuICAgICAgLmNvbW1hbmQtdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgfVxuXG4gICAgICAuYXJyb3ctaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjYzhhYWZkO1xuICAgICAgfVxuXG4gICAgICAuYXJyb3ctdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgfVxuXG4gICAgICAuc3VjY2Vzcy1pY29uIHtcbiAgICAgICAgY29sb3I6ICM0YWRlODA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG5cbiAgICAgIC5zdWNjZXNzLXRleHQge1xuICAgICAgICBjb2xvcjogIzRhZGU4MDtcbiAgICAgIH1cblxuICAgICAgLmVycm9yLXRleHQge1xuICAgICAgICBjb2xvcjogI2Y4NTE0OTtcbiAgICAgIH1cblxuICAgICAgLm91dHB1dC10ZXh0IHtcbiAgICAgICAgY29sb3I6ICM4Yjk0OWU7XG4gICAgICB9XG5cbiAgICAgIC5jdXJzb3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjN2VlNzg3O1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIGFuaW1hdGlvbjogdGVybWluYWxCbGluayAxcyBzdGVwLWVuZCBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyB0ZXJtaW5hbEJsaW5rIHtcbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRlcm1pbmFsXCJcbiAgICAgIFtjbGFzcy5yb3VuZGVkXT1cInByb3BzLnJvdW5kZWQgIT09IGZhbHNlXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogcHJvcHMuYmFja2dyb3VuZCB8fCAnIzBjMDgxOCcgfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsLWhlYWRlclwiIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogcHJvcHMuaGVhZGVyQmFja2dyb3VuZCB8fCAnIzE2MWIyMicgfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtZG90IGRvdC1yZWRcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsLWRvdCBkb3QteWVsbG93XCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1kb3QgZG90LWdyZWVuXCI+PC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGVybWluYWwtdGl0bGVcIj57eyBwcm9wcy50aXRsZSB8fCAnYmFzaCcgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1ib2R5XCI+XG4gICAgICAgIEBmb3IgKGxpbmUgb2YgcHJvcHMubGluZXM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZVwiIFtzdHlsZS5hbmltYXRpb24tZGVsYXldPVwiZ2V0RGVsYXkoaSlcIj5cbiAgICAgICAgICAgIEBzd2l0Y2ggKGxpbmUudHlwZSkge1xuICAgICAgICAgICAgICBAY2FzZSAoJ3Byb21wdCcpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb21wdC10ZXh0XCI+e3sgcHJvcHMucHJvbXB0IHx8ICd+JyB9fSAkIDwvc3BhblxuICAgICAgICAgICAgICAgID48c3BhbiBjbGFzcz1cImNvbW1hbmQtdGV4dFwiPnt7IGxpbmUuY29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAY2FzZSAoJ2Fycm93Jykge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3ctaWNvblwiPuKGkiA8L3NwYW4+PHNwYW4gY2xhc3M9XCJhcnJvdy10ZXh0XCI+e3sgbGluZS5jb250ZW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBjYXNlICgnc3VjY2VzcycpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Y2Nlc3MtaWNvblwiPuKckyA8L3NwYW4+PHNwYW4gY2xhc3M9XCJzdWNjZXNzLXRleHRcIj57eyBsaW5lLmNvbnRlbnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGNhc2UgKCdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLXRleHRcIj7inJcge3sgbGluZS5jb250ZW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm91dHB1dC10ZXh0XCI+e3sgbGluZS5jb250ZW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmVcIiBbc3R5bGUuYW5pbWF0aW9uLWRlbGF5XT1cImdldERlbGF5KHByb3BzLmxpbmVzLmxlbmd0aClcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb21wdC10ZXh0XCI+e3sgcHJvcHMucHJvbXB0IHx8ICd+JyB9fSAkIDwvc3Bhbj48c3BhbiBjbGFzcz1cImN1cnNvclwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQW5pbWF0ZWRUZXJtaW5hbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHByb3BzOiBBbmltYXRlZFRlcm1pbmFsTWV0YWRhdGEgPSB7IGxpbmVzOiBbXSB9O1xuXG4gIGdldERlbGF5KGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlbGF5ID0gdGhpcy5wcm9wcy5saW5lRGVsYXkgPz8gMC40NTtcbiAgICByZXR1cm4gYCR7aW5kZXggKiBkZWxheSArIDAuMn1zYDtcbiAgfVxufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQtdGVybWluYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hbmltYXRlZC10ZXJtaW5hbC9hbmltYXRlZC10ZXJtaW5hbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUE2S2pELE1BQU0sT0FBTyx5QkFBeUI7SUExS3RDO1FBMktXLFVBQUssR0FBNkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7S0FNMUQ7SUFKQyxRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsT0FBTyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkMsQ0FBQzsrR0FOVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qiw2R0ExQzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NULGt5Q0FyS1MsWUFBWTs7NEZBdUtYLHlCQUF5QjtrQkExS3JDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQTZIYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVDs4QkFHUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0ZWRUZXJtaW5hbE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hbmltYXRlZC10ZXJtaW5hbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMjRweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC5yb3VuZGVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXJtaW5hbC1kb3Qge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuZG90LXJlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjVmNTY7XG4gICAgICB9XG4gICAgICAuZG90LXllbGxvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmJkMmU7XG4gICAgICB9XG4gICAgICAuZG90LWdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI3Y2E0MDtcbiAgICAgIH1cblxuICAgICAgLnRlcm1pbmFsLXRpdGxlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsICdGaXJhIENvZGUnLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgICAgfVxuXG4gICAgICAudGVybWluYWwtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjRweCAyNHB4O1xuICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCAnRmlyYSBDb2RlJywgJ01vbmFjbycsICdDb25zb2xhcycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgIH1cblxuICAgICAgLmxpbmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb246IHRlcm1pbmFsRmFkZUluIDAuMjVzIGVhc2UgZm9yd2FyZHM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIHRlcm1pbmFsRmFkZUluIHtcbiAgICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb21wdC10ZXh0IHtcbiAgICAgICAgY29sb3I6ICM3ZWU3ODc7XG4gICAgICB9XG5cbiAgICAgIC5jb21tYW5kLXRleHQge1xuICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgIH1cblxuICAgICAgLmFycm93LWljb24ge1xuICAgICAgICBjb2xvcjogI2M4YWFmZDtcbiAgICAgIH1cblxuICAgICAgLmFycm93LXRleHQge1xuICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgIH1cblxuICAgICAgLnN1Y2Nlc3MtaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjNGFkZTgwO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuXG4gICAgICAuc3VjY2Vzcy10ZXh0IHtcbiAgICAgICAgY29sb3I6ICM0YWRlODA7XG4gICAgICB9XG5cbiAgICAgIC5lcnJvci10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmODUxNDk7XG4gICAgICB9XG5cbiAgICAgIC5vdXRwdXQtdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgfVxuXG4gICAgICAuY3Vyc29yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzdlZTc4NztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgICAgICBhbmltYXRpb246IHRlcm1pbmFsQmxpbmsgMXMgc3RlcC1lbmQgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgdGVybWluYWxCbGluayB7XG4gICAgICAgIDAlLFxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ0ZXJtaW5hbFwiXG4gICAgICBbY2xhc3Mucm91bmRlZF09XCJwcm9wcy5yb3VuZGVkICE9PSBmYWxzZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmQgfHwgJyMwYzA4MTgnIH1cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1oZWFkZXJcIiBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmhlYWRlckJhY2tncm91bmQgfHwgJyMxNjFiMjInIH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1pbmFsLWRvdCBkb3QtcmVkXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtaW5hbC1kb3QgZG90LXllbGxvd1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtZG90IGRvdC1ncmVlblwiPjwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRlcm1pbmFsLXRpdGxlXCI+e3sgcHJvcHMudGl0bGUgfHwgJ2Jhc2gnIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGVybWluYWwtYm9keVwiPlxuICAgICAgICBAZm9yIChsaW5lIG9mIHByb3BzLmxpbmVzOyB0cmFjayAkaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmVcIiBbc3R5bGUuYW5pbWF0aW9uLWRlbGF5XT1cImdldERlbGF5KGkpXCI+XG4gICAgICAgICAgICBAc3dpdGNoIChsaW5lLnR5cGUpIHtcbiAgICAgICAgICAgICAgQGNhc2UgKCdwcm9tcHQnKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9tcHQtdGV4dFwiPnt7IHByb3BzLnByb21wdCB8fCAnficgfX0gJCA8L3NwYW5cbiAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJjb21tYW5kLXRleHRcIj57eyBsaW5lLmNvbnRlbnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGNhc2UgKCdhcnJvdycpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93LWljb25cIj7ihpIgPC9zcGFuPjxzcGFuIGNsYXNzPVwiYXJyb3ctdGV4dFwiPnt7IGxpbmUuY29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAY2FzZSAoJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWNjZXNzLWljb25cIj7inJMgPC9zcGFuPjxzcGFuIGNsYXNzPVwic3VjY2Vzcy10ZXh0XCI+e3sgbGluZS5jb250ZW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBjYXNlICgnZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci10ZXh0XCI+4pyXIHt7IGxpbmUuY29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvdXRwdXQtdGV4dFwiPnt7IGxpbmUuY29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCIgW3N0eWxlLmFuaW1hdGlvbi1kZWxheV09XCJnZXREZWxheShwcm9wcy5saW5lcy5sZW5ndGgpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9tcHQtdGV4dFwiPnt7IHByb3BzLnByb21wdCB8fCAnficgfX0gJCA8L3NwYW4+PHNwYW4gY2xhc3M9XCJjdXJzb3JcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGVkVGVybWluYWxDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogQW5pbWF0ZWRUZXJtaW5hbE1ldGFkYXRhID0geyBsaW5lczogW10gfTtcblxuICBnZXREZWxheShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBkZWxheSA9IHRoaXMucHJvcHMubGluZURlbGF5ID8/IDAuNDU7XG4gICAgcmV0dXJuIGAke2luZGV4ICogZGVsYXkgKyAwLjJ9c2A7XG4gIH1cbn1cbiJdfQ==
@@ -26,7 +26,7 @@ export class LandingSplitComponent {
26
26
  <ng-content select="[visual]" />
27
27
  </div>
28
28
  </div>
29
- `, isInline: true, styles: [":host{display:block}.split-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-wrap--reversed .split-text{order:1}.split-wrap--reversed .split-visual{order:0}@media (max-width: 767px){.split-wrap{grid-template-columns:1fr;gap:36px}.split-wrap--reversed .split-text{order:0}.split-wrap--reversed .split-visual{order:1}}.split-text{display:flex;flex-direction:column;gap:16px}.split-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ion-color-primary, #7026df);margin:0}.split-title{font-size:clamp(26px,3vw,38px);font-weight:800;color:#090f1b;letter-spacing:-.025em;line-height:1.1;margin:0}.split-desc{font-size:16px;line-height:1.75;color:#354c69;margin:0}.split-visual{display:flex;align-items:stretch}.split-visual>*{flex:1;min-width:0}@media (prefers-color-scheme: dark){.split-title{color:#f0eaff}.split-desc{color:#a0b4c8}}:host-context(body.dark) .split-title,:host-context(html.ion-palette-dark) .split-title,:host-context([data-theme=\"dark\"]) .split-title{color:#f0eaff}:host-context(body.dark) .split-desc,:host-context(html.ion-palette-dark) .split-desc,:host-context([data-theme=\"dark\"]) .split-desc{color:#a0b4c8}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
29
+ `, isInline: true, styles: [":host{display:block}.split-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-wrap--reversed .split-text{order:1}.split-wrap--reversed .split-visual{order:0}@media (max-width: 767px){.split-wrap{grid-template-columns:1fr;gap:36px}.split-wrap--reversed .split-text{order:0}.split-wrap--reversed .split-visual{order:1}}.split-text{display:flex;flex-direction:column;gap:16px}.split-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ion-color-primary, #7026df);margin:0}.split-title{font-size:clamp(26px,3vw,38px);font-weight:800;color:#090f1b;letter-spacing:-.025em;line-height:1.1;margin:0}.split-desc{font-size:16px;line-height:1.75;color:#354c69;margin:0}.split-visual{display:block;width:100%;min-width:0}@media (prefers-color-scheme: dark){.split-title{color:#f0eaff}.split-desc{color:#a0b4c8}}:host-context(body.dark) .split-title,:host-context(html.ion-palette-dark) .split-title,:host-context([data-theme=\"dark\"]) .split-title{color:#f0eaff}:host-context(body.dark) .split-desc,:host-context(html.ion-palette-dark) .split-desc,:host-context([data-theme=\"dark\"]) .split-desc{color:#a0b4c8}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LandingSplitComponent, decorators: [{
32
32
  type: Component,
@@ -46,8 +46,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
46
46
  <ng-content select="[visual]" />
47
47
  </div>
48
48
  </div>
49
- `, styles: [":host{display:block}.split-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-wrap--reversed .split-text{order:1}.split-wrap--reversed .split-visual{order:0}@media (max-width: 767px){.split-wrap{grid-template-columns:1fr;gap:36px}.split-wrap--reversed .split-text{order:0}.split-wrap--reversed .split-visual{order:1}}.split-text{display:flex;flex-direction:column;gap:16px}.split-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ion-color-primary, #7026df);margin:0}.split-title{font-size:clamp(26px,3vw,38px);font-weight:800;color:#090f1b;letter-spacing:-.025em;line-height:1.1;margin:0}.split-desc{font-size:16px;line-height:1.75;color:#354c69;margin:0}.split-visual{display:flex;align-items:stretch}.split-visual>*{flex:1;min-width:0}@media (prefers-color-scheme: dark){.split-title{color:#f0eaff}.split-desc{color:#a0b4c8}}:host-context(body.dark) .split-title,:host-context(html.ion-palette-dark) .split-title,:host-context([data-theme=\"dark\"]) .split-title{color:#f0eaff}:host-context(body.dark) .split-desc,:host-context(html.ion-palette-dark) .split-desc,:host-context([data-theme=\"dark\"]) .split-desc{color:#a0b4c8}\n"] }]
49
+ `, styles: [":host{display:block}.split-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-wrap--reversed .split-text{order:1}.split-wrap--reversed .split-visual{order:0}@media (max-width: 767px){.split-wrap{grid-template-columns:1fr;gap:36px}.split-wrap--reversed .split-text{order:0}.split-wrap--reversed .split-visual{order:1}}.split-text{display:flex;flex-direction:column;gap:16px}.split-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ion-color-primary, #7026df);margin:0}.split-title{font-size:clamp(26px,3vw,38px);font-weight:800;color:#090f1b;letter-spacing:-.025em;line-height:1.1;margin:0}.split-desc{font-size:16px;line-height:1.75;color:#354c69;margin:0}.split-visual{display:block;width:100%;min-width:0}@media (prefers-color-scheme: dark){.split-title{color:#f0eaff}.split-desc{color:#a0b4c8}}:host-context(body.dark) .split-title,:host-context(html.ion-palette-dark) .split-title,:host-context([data-theme=\"dark\"]) .split-title{color:#f0eaff}:host-context(body.dark) .split-desc,:host-context(html.ion-palette-dark) .split-desc,:host-context([data-theme=\"dark\"]) .split-desc{color:#a0b4c8}\n"] }]
50
50
  }], propDecorators: { props: [{
51
51
  type: Input
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZGluZy1zcGxpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2xhbmRpbmctc3BsaXQvbGFuZGluZy1zcGxpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBdUhuRSxNQUFNLE9BQU8scUJBQXFCO0lBcEhsQztRQXFIbUIsV0FBTSxHQUFHLE1BQU0sQ0FBdUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQU03RCxNQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQzVDO0lBTEMsSUFBYSxLQUFLLENBQUMsQ0FBdUI7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0FMVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FsQnRCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JULGl3Q0EvR1MsWUFBWTs7NEZBaUhYLHFCQUFxQjtrQkFwSGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQStGYjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDs4QkFLWSxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmRpbmdTcGxpdE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1sYW5kaW5nLXNwbGl0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IDY0cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC13cmFwLS1yZXZlcnNlZCAuc3BsaXQtdGV4dCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgICAgLnNwbGl0LXdyYXAtLXJldmVyc2VkIC5zcGxpdC12aXN1YWwge1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5zcGxpdC13cmFwIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBnYXA6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnNwbGl0LXdyYXAtLXJldmVyc2VkIC5zcGxpdC10ZXh0IHtcbiAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgICAuc3BsaXQtd3JhcC0tcmV2ZXJzZWQgLnNwbGl0LXZpc3VhbCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwbGl0LXRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC1raWNrZXIge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNzAyNmRmKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuc3BsaXQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzhweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGNvbG9yOiAjMDkwZjFiO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLnNwbGl0LWRlc2Mge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICBjb2xvcjogIzM1NGM2OTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuc3BsaXQtdmlzdWFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC12aXN1YWwgPiAqIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIC5zcGxpdC10aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICNmMGVhZmY7XG4gICAgICAgIH1cbiAgICAgICAgLnNwbGl0LWRlc2Mge1xuICAgICAgICAgIGNvbG9yOiAjYTBiNGM4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLnNwbGl0LXRpdGxlLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5zcGxpdC10aXRsZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLnNwbGl0LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmMGVhZmY7XG4gICAgICB9XG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLnNwbGl0LWRlc2MsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLnNwbGl0LWRlc2MsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5zcGxpdC1kZXNjIHtcbiAgICAgICAgY29sb3I6ICNhMGI0Yzg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic3BsaXQtd3JhcFwiIFtjbGFzcy5zcGxpdC13cmFwLS1yZXZlcnNlZF09XCJwKCkucmV2ZXJzZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGxpdC10ZXh0XCI+XG4gICAgICAgIEBpZiAocCgpLmtpY2tlcikge1xuICAgICAgICAgIDxwIGNsYXNzPVwic3BsaXQta2lja2VyXCI+e3sgcCgpLmtpY2tlciB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgICA8aDIgY2xhc3M9XCJzcGxpdC10aXRsZVwiPnt7IHAoKS50aXRsZSB9fTwvaDI+XG4gICAgICAgIEBpZiAocCgpLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJzcGxpdC1kZXNjXCI+e3sgcCgpLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY3Rpb25zXVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGxpdC12aXN1YWxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Zpc3VhbF1cIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIExhbmRpbmdTcGxpdENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNfID0gc2lnbmFsPExhbmRpbmdTcGxpdE1ldGFkYXRhPih7IHRpdGxlOiAnJyB9KTtcblxuICBASW5wdXQoKSBzZXQgcHJvcHModjogTGFuZGluZ1NwbGl0TWV0YWRhdGEpIHtcbiAgICB0aGlzLnByb3BzXy5zZXQodik7XG4gIH1cblxuICByZWFkb25seSBwID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9wc18oKSk7XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZGluZy1zcGxpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2xhbmRpbmctc3BsaXQvbGFuZGluZy1zcGxpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBbUhuRSxNQUFNLE9BQU8scUJBQXFCO0lBaEhsQztRQWlIbUIsV0FBTSxHQUFHLE1BQU0sQ0FBdUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQU03RCxNQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQzVDO0lBTEMsSUFBYSxLQUFLLENBQUMsQ0FBdUI7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0FMVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FsQnRCOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JULGt1Q0EzR1MsWUFBWTs7NEZBNkdYLHFCQUFxQjtrQkFoSGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQTJGYjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDs4QkFLWSxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmRpbmdTcGxpdE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1sYW5kaW5nLXNwbGl0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IDY0cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC13cmFwLS1yZXZlcnNlZCAuc3BsaXQtdGV4dCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgICAgLnNwbGl0LXdyYXAtLXJldmVyc2VkIC5zcGxpdC12aXN1YWwge1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5zcGxpdC13cmFwIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBnYXA6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnNwbGl0LXdyYXAtLXJldmVyc2VkIC5zcGxpdC10ZXh0IHtcbiAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgICAuc3BsaXQtd3JhcC0tcmV2ZXJzZWQgLnNwbGl0LXZpc3VhbCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwbGl0LXRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC5zcGxpdC1raWNrZXIge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNzAyNmRmKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuc3BsaXQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzhweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGNvbG9yOiAjMDkwZjFiO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLnNwbGl0LWRlc2Mge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICBjb2xvcjogIzM1NGM2OTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuc3BsaXQtdmlzdWFsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgLnNwbGl0LXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogI2YwZWFmZjtcbiAgICAgICAgfVxuICAgICAgICAuc3BsaXQtZGVzYyB7XG4gICAgICAgICAgY29sb3I6ICNhMGI0Yzg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuc3BsaXQtdGl0bGUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLnNwbGl0LXRpdGxlLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuc3BsaXQtdGl0bGUge1xuICAgICAgICBjb2xvcjogI2YwZWFmZjtcbiAgICAgIH1cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuc3BsaXQtZGVzYyxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAuc3BsaXQtZGVzYyxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLnNwbGl0LWRlc2Mge1xuICAgICAgICBjb2xvcjogI2EwYjRjODtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJzcGxpdC13cmFwXCIgW2NsYXNzLnNwbGl0LXdyYXAtLXJldmVyc2VkXT1cInAoKS5yZXZlcnNlZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNwbGl0LXRleHRcIj5cbiAgICAgICAgQGlmIChwKCkua2lja2VyKSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJzcGxpdC1raWNrZXJcIj57eyBwKCkua2lja2VyIH19PC9wPlxuICAgICAgICB9XG4gICAgICAgIDxoMiBjbGFzcz1cInNwbGl0LXRpdGxlXCI+e3sgcCgpLnRpdGxlIH19PC9oMj5cbiAgICAgICAgQGlmIChwKCkuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICA8cCBjbGFzcz1cInNwbGl0LWRlc2NcIj57eyBwKCkuZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgIH1cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FjdGlvbnNdXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNwbGl0LXZpc3VhbFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdmlzdWFsXVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTGFuZGluZ1NwbGl0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wc18gPSBzaWduYWw8TGFuZGluZ1NwbGl0TWV0YWRhdGE+KHsgdGl0bGU6ICcnIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2OiBMYW5kaW5nU3BsaXRNZXRhZGF0YSkge1xuICAgIHRoaXMucHJvcHNfLnNldCh2KTtcbiAgfVxuXG4gIHJlYWRvbmx5IHAgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb3BzXygpKTtcbn1cbiJdfQ==
@@ -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 = '2.0.876';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44NzYnO1xuIl19
5
+ export const VERSION = '2.0.878';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44NzgnO1xuIl19