valtech-components 2.0.773 → 2.0.775
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/atoms/pattern/motifs.mjs +41 -26
- package/esm2022/lib/components/atoms/pattern/pattern.component.mjs +48 -15
- package/esm2022/lib/components/atoms/pattern/types.mjs +1 -1
- package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +199 -0
- package/esm2022/lib/components/organisms/cookie-banner/types.mjs +2 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/valtech-components.mjs +280 -40
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/pattern/motifs.d.ts +6 -0
- package/lib/components/atoms/pattern/pattern.component.d.ts +13 -1
- package/lib/components/atoms/pattern/types.d.ts +17 -3
- package/lib/components/organisms/cookie-banner/cookie-banner.component.d.ts +36 -0
- package/lib/components/organisms/cookie-banner/types.d.ts +62 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -10,19 +10,27 @@
|
|
|
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
|
+
const CHEV_STROKE = 18;
|
|
19
|
+
const CHEV_SMALL_STROKE = 12;
|
|
20
|
+
const chevStyle = (f, w = CHEV_STROKE) => `stroke="${f}" stroke-width="${w}" stroke-linecap="round" stroke-linejoin="round" fill="none"`;
|
|
13
21
|
export const PATTERN_MOTIFS = {
|
|
14
|
-
'chev-r': f => `<path d="M22 18
|
|
15
|
-
'chev-l': f => `<path d="M78 18
|
|
16
|
-
'chev-d': f => `<path d="M18 22 L50
|
|
17
|
-
'chev-u': f => `<path d="M18 78 L50
|
|
22
|
+
'chev-r': f => `<path d="M22 18 L72 50 L22 82" ${chevStyle(f)}/>`,
|
|
23
|
+
'chev-l': f => `<path d="M78 18 L28 50 L78 82" ${chevStyle(f)}/>`,
|
|
24
|
+
'chev-d': f => `<path d="M18 22 L50 72 L82 22" ${chevStyle(f)}/>`,
|
|
25
|
+
'chev-u': f => `<path d="M18 78 L50 28 L82 78" ${chevStyle(f)}/>`,
|
|
18
26
|
'tri-tl': f => `<polygon points="0,0 100,0 0,100" fill="${f}"/>`,
|
|
19
27
|
'tri-tr': f => `<polygon points="0,0 100,0 100,100" fill="${f}"/>`,
|
|
20
28
|
'tri-bl': f => `<polygon points="0,0 100,100 0,100" fill="${f}"/>`,
|
|
21
29
|
'tri-br': f => `<polygon points="100,0 100,100 0,100" fill="${f}"/>`,
|
|
22
30
|
solid: () => ``,
|
|
23
31
|
diamond: f => `<polygon points="50,12 88,50 50,88 12,50" fill="${f}"/>`,
|
|
24
|
-
'small-r': f => `<path d="M38 32 L62 50 L38 68
|
|
25
|
-
'small-l': f => `<path d="M62 32 L38 50 L62 68
|
|
32
|
+
'small-r': f => `<path d="M38 32 L62 50 L38 68" ${chevStyle(f, CHEV_SMALL_STROKE)}/>`,
|
|
33
|
+
'small-l': f => `<path d="M62 32 L38 50 L62 68" ${chevStyle(f, CHEV_SMALL_STROKE)}/>`,
|
|
26
34
|
'arrow-r': f => `<path d="M10 42 L60 42 L60 28 L92 50 L60 72 L60 58 L10 58 Z" fill="${f}"/>`,
|
|
27
35
|
'arrow-l': f => `<path d="M90 42 L40 42 L40 28 L8 50 L40 72 L40 58 L90 58 Z" fill="${f}"/>`,
|
|
28
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}"/>`,
|
|
@@ -82,6 +90,31 @@ export function mulberry32(seed) {
|
|
|
82
90
|
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
83
91
|
};
|
|
84
92
|
}
|
|
93
|
+
/**
|
|
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.
|
|
97
|
+
*/
|
|
98
|
+
export function generateRandomTile(palette, chevronDensity = 0.55, rng = Math.random) {
|
|
99
|
+
const roll = rng();
|
|
100
|
+
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)];
|
|
107
|
+
else
|
|
108
|
+
key = TRI_KEYS[Math.floor(rng() * TRI_KEYS.length)];
|
|
109
|
+
const bgIdx = Math.floor(rng() * palette.length);
|
|
110
|
+
let fgIdx = Math.floor(rng() * palette.length);
|
|
111
|
+
let tries = 0;
|
|
112
|
+
while (Math.abs(fgIdx - bgIdx) < 3 && tries < 6) {
|
|
113
|
+
fgIdx = Math.floor(rng() * palette.length);
|
|
114
|
+
tries++;
|
|
115
|
+
}
|
|
116
|
+
return { motif: key, bg: palette[bgIdx], fg: palette[fgIdx] };
|
|
117
|
+
}
|
|
85
118
|
/** Genera matriz de tiles aplicando densidades + reglas de contraste. */
|
|
86
119
|
export function generatePatternTiles(cfg) {
|
|
87
120
|
const { cols, rows, seed, palette } = cfg;
|
|
@@ -89,25 +122,7 @@ export function generatePatternTiles(cfg) {
|
|
|
89
122
|
const r = mulberry32(seed);
|
|
90
123
|
const tiles = [];
|
|
91
124
|
for (let i = 0; i < cols * rows; i++) {
|
|
92
|
-
|
|
93
|
-
let key;
|
|
94
|
-
if (roll < chevronDensity)
|
|
95
|
-
key = CHEV_KEYS[Math.floor(r() * CHEV_KEYS.length)];
|
|
96
|
-
else if (roll < chevronDensity + 0.2)
|
|
97
|
-
key = SOLID_KEYS[Math.floor(r() * SOLID_KEYS.length)];
|
|
98
|
-
else if (roll < chevronDensity + 0.35)
|
|
99
|
-
key = SHAPE_KEYS[Math.floor(r() * SHAPE_KEYS.length)];
|
|
100
|
-
else
|
|
101
|
-
key = TRI_KEYS[Math.floor(r() * TRI_KEYS.length)];
|
|
102
|
-
// Pick bg + contrasting fg (índices con distancia ≥3 en la palette).
|
|
103
|
-
const bgIdx = Math.floor(r() * palette.length);
|
|
104
|
-
let fgIdx = Math.floor(r() * palette.length);
|
|
105
|
-
let tries = 0;
|
|
106
|
-
while (Math.abs(fgIdx - bgIdx) < 3 && tries < 6) {
|
|
107
|
-
fgIdx = Math.floor(r() * palette.length);
|
|
108
|
-
tries++;
|
|
109
|
-
}
|
|
110
|
-
tiles.push({ motif: key, bg: palette[bgIdx], fg: palette[fgIdx] });
|
|
125
|
+
tiles.push(generateRandomTile(palette, chevronDensity, r));
|
|
111
126
|
}
|
|
112
127
|
return tiles;
|
|
113
128
|
}
|
|
@@ -129,4 +144,4 @@ export function renderPatternSvgInner(tiles, cols, baseColor) {
|
|
|
129
144
|
}
|
|
130
145
|
return inner;
|
|
131
146
|
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBcUJILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBb0Q7SUFDN0UsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsK0RBQStELENBQUMsS0FBSztJQUNwRixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQywrREFBK0QsQ0FBQyxLQUFLO0lBQ3BGLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLCtEQUErRCxDQUFDLEtBQUs7SUFDcEYsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsK0RBQStELENBQUMsS0FBSztJQUNwRixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQyxLQUFLO0lBQ2hFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDLEtBQUs7SUFDbEUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsNkNBQTZDLENBQUMsS0FBSztJQUNsRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQyxLQUFLO0lBQ3BFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQ2YsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsbURBQW1ELENBQUMsS0FBSztJQUN2RSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQywrREFBK0QsQ0FBQyxLQUFLO0lBQ3JGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLCtEQUErRCxDQUFDLEtBQUs7SUFDckYsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsc0VBQXNFLENBQUMsS0FBSztJQUM1RixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxRUFBcUUsQ0FBQyxLQUFLO0lBQzNGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUNiLDZDQUE2QyxDQUFDLHVEQUF1RCxDQUFDLEtBQUs7SUFDN0csUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsbURBQW1ELENBQUMsS0FBSztJQUN4RSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtREFBbUQsQ0FBQyxLQUFLO0NBQ3pFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQXNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFzQixDQUFDO0FBRTlGLDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXNCO0lBQzFDLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQztBQUVGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQXNCO0lBQ3pDLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7Q0FDVixDQUFDO0FBRUYsb0RBQW9EO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUV6RCxtREFBbUQ7QUFDbkQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBS3ZELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUF3QztJQUNuRSxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ2hHLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDN0YsUUFBUSxFQUFFO1FBQ1IsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7S0FDVjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTztRQUNMLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQW9CRCx5RUFBeUU7QUFDekUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQXFCO0lBQ3hELE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDMUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUM7SUFDbEQsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFFaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQyxNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqQixJQUFJLEdBQW9CLENBQUM7UUFDekIsSUFBSSxJQUFJLEdBQUcsY0FBYztZQUFFLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBQzthQUMzRSxJQUFJLElBQUksR0FBRyxjQUFjLEdBQUcsR0FBRztZQUFFLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBQzthQUN4RixJQUFJLElBQUksR0FBRyxjQUFjLEdBQUcsSUFBSTtZQUFFLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBQzs7WUFDekYsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFDO1FBRXhELHFFQUFxRTtRQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxDQUFDO1FBQ1YsQ0FBQztRQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsS0FBb0IsRUFDcEIsSUFBWSxFQUNaLFNBQWlCO0lBRWpCLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDckIsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsU0FBUyxLQUFLLENBQUM7SUFDckUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLElBQUksMkJBQTJCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsMkNBQTJDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUM7SUFDekgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVmFsdGVjaCBQYXR0ZXJuIFN5c3RlbSDigJQgbW90aWZzICsgcGFsZXR0ZXMuXG4gKlxuICogUHVyZSBkYXRhICsgaGVscGVycywgc2luIGRlcGVuZGVuY2lhcyBBbmd1bGFyLiBSZXVzYWJsZSBkZXNkZSBOb2RlL3NjcmlwdHNcbiAqIChlLmcuLCBnZW5lcmF0ZSBzdGF0aWMgdGh1bWJuYWlscykgbyBkZXNkZSBlbCBjb21wb25lbnRlIGB2YWwtcGF0dGVybmAuXG4gKlxuICogT3JpZ2luYWwgc3BlYzogYGFzc2V0cy9WYWx0ZWNoIFBhdHRlcm4gU3lzdGVtLmh0bWxgIChzaW5nbGUtcGFnZSBkZW1vKS5cbiAqIENhZGEgbW90aWYgZXMgZnVuY2nDs24gYChmaWxsOiBzdHJpbmcpID0+IHN0cmluZ2AgcXVlIGRldnVlbHZlIFNWRyBpbm5lclxuICogbWFya3VwLiBUaWxlIGVzIDEwMMOXMTAwIHVuaWRhZGVzOyBlbCBtb3RpZiBzZSByZW5kZXJpemEgZGVudHJvIGRlIHVuIGA8Z1xuICogdHJhbnNmb3JtPVwidHJhbnNsYXRlKGNvbCoxMDAgcm93KjEwMClcIj5gIGNvbiB1biBgPHJlY3Qgd2lkdGg9MTAwIGhlaWdodD0xMDBcbiAqIGZpbGw9YmcvPmAgZGUgZm9uZG8uXG4gKi9cblxuZXhwb3J0IHR5cGUgUGF0dGVybk1vdGlmS2V5ID1cbiAgfCAnY2hldi1yJ1xuICB8ICdjaGV2LWwnXG4gIHwgJ2NoZXYtZCdcbiAgfCAnY2hldi11J1xuICB8ICd0cmktdGwnXG4gIHwgJ3RyaS10cidcbiAgfCAndHJpLWJsJ1xuICB8ICd0cmktYnInXG4gIHwgJ3NvbGlkJ1xuICB8ICdkaWFtb25kJ1xuICB8ICdzbWFsbC1yJ1xuICB8ICdzbWFsbC1sJ1xuICB8ICdhcnJvdy1yJ1xuICB8ICdhcnJvdy1sJ1xuICB8ICdob3VzZS1kJ1xuICB8ICdoYWxmLWwnXG4gIHwgJ2hhbGYtdCc7XG5cbmV4cG9ydCBjb25zdCBQQVRURVJOX01PVElGUzogUmVjb3JkPFBhdHRlcm5Nb3RpZktleSwgKGZnOiBzdHJpbmcpID0+IHN0cmluZz4gPSB7XG4gICdjaGV2LXInOiBmID0+IGA8cGF0aCBkPVwiTTIyIDE4IEw1OCA1MCBMMjIgODIgTDQyIDgyIEw3OCA1MCBMNDIgMTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdjaGV2LWwnOiBmID0+IGA8cGF0aCBkPVwiTTc4IDE4IEw0MiA1MCBMNzggODIgTDU4IDgyIEwyMiA1MCBMNTggMTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdjaGV2LWQnOiBmID0+IGA8cGF0aCBkPVwiTTE4IDIyIEw1MCA1OCBMODIgMjIgTDgyIDQyIEw1MCA3OCBMMTggNDIgWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdjaGV2LXUnOiBmID0+IGA8cGF0aCBkPVwiTTE4IDc4IEw1MCA0MiBMODIgNzggTDgyIDU4IEw1MCAyMiBMMTggNTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktdGwnOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDAgMCwxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAndHJpLXRyJzogZiA9PiBgPHBvbHlnb24gcG9pbnRzPVwiMCwwIDEwMCwwIDEwMCwxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAndHJpLWJsJzogZiA9PiBgPHBvbHlnb24gcG9pbnRzPVwiMCwwIDEwMCwxMDAgMCwxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAndHJpLWJyJzogZiA9PiBgPHBvbHlnb24gcG9pbnRzPVwiMTAwLDAgMTAwLDEwMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIHNvbGlkOiAoKSA9PiBgYCxcbiAgZGlhbW9uZDogZiA9PiBgPHBvbHlnb24gcG9pbnRzPVwiNTAsMTIgODgsNTAgNTAsODggMTIsNTBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnc21hbGwtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMzggMzIgTDYyIDUwIEwzOCA2OCBMNDggNjggTDcyIDUwIEw0OCAzMiBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3NtYWxsLWwnOiBmID0+IGA8cGF0aCBkPVwiTTYyIDMyIEwzOCA1MCBMNjIgNjggTDUyIDY4IEwyOCA1MCBMNTIgMzIgWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdhcnJvdy1yJzogZiA9PiBgPHBhdGggZD1cIk0xMCA0MiBMNjAgNDIgTDYwIDI4IEw5MiA1MCBMNjAgNzIgTDYwIDU4IEwxMCA1OCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2Fycm93LWwnOiBmID0+IGA8cGF0aCBkPVwiTTkwIDQyIEw0MCA0MiBMNDAgMjggTDggNTAgTDQwIDcyIEw0MCA1OCBMOTAgNTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdob3VzZS1kJzogZiA9PlxuICAgIGA8cG9seWdvbiBwb2ludHM9XCI1MCwyMCA4OCw1MCAxMiw1MFwiIGZpbGw9XCIke2Z9XCIvPjxyZWN0IHg9XCIyOFwiIHk9XCI1MFwiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCIzMlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdoYWxmLWwnOiBmID0+IGA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdoYWxmLXQnOiBmID0+IGA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCI1MFwiIGZpbGw9XCIke2Z9XCIvPmAsXG59O1xuXG5leHBvcnQgY29uc3QgTU9USUZfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBPYmplY3Qua2V5cyhQQVRURVJOX01PVElGUykgYXMgUGF0dGVybk1vdGlmS2V5W107XG5cbi8qKiBDaGV2cm9uIGZhbWlseSDigJQgb3JpZW50YXRpb25zICsgc2l6ZSB2YXJpYW50cyArIGFycm93cy4gKi9cbmV4cG9ydCBjb25zdCBDSEVWX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAnY2hldi1yJyxcbiAgJ2NoZXYtbCcsXG4gICdjaGV2LWQnLFxuICAnY2hldi11JyxcbiAgJ3NtYWxsLXInLFxuICAnc21hbGwtbCcsXG4gICdhcnJvdy1yJyxcbiAgJ2Fycm93LWwnLFxuXTtcblxuLyoqIFRyaWFuZ2xlIC8gaGFsZi1maWxsIGZhbWlseS4gKi9cbmV4cG9ydCBjb25zdCBUUklfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbXG4gICd0cmktdGwnLFxuICAndHJpLXRyJyxcbiAgJ3RyaS1ibCcsXG4gICd0cmktYnInLFxuICAnaGFsZi1sJyxcbiAgJ2hhbGYtdCcsXG4gICdob3VzZS1kJyxcbl07XG5cbi8qKiBDZW50ZXIgc2hhcGUgZmFtaWx5IChjdXJyZW50bHkgc29sbyBkaWFtb25kKS4gKi9cbmV4cG9ydCBjb25zdCBTSEFQRV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnZGlhbW9uZCddO1xuXG4vKiogTm8tZm9yZWdyb3VuZCB0aWxlcyDigJQgc29sbyBlbCByZWN0IGRlIGZvbmRvLiAqL1xuZXhwb3J0IGNvbnN0IFNPTElEX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gWydzb2xpZCddO1xuXG4vKiogQnVpbHQtaW4gcGFsZXR0ZXMg4oCUIGRhcmsg4oaSIGxpZ2h0ICg4IGNvbG9ycykuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuUGFsZXR0ZUtleSA9ICdwdXJwbGUnIHwgJ2luaycgfCAnbGF2ZW5kZXInO1xuXG5leHBvcnQgY29uc3QgUEFUVEVSTl9QQUxFVFRFUzogUmVjb3JkPFBhdHRlcm5QYWxldHRlS2V5LCBzdHJpbmdbXT4gPSB7XG4gIHB1cnBsZTogWycjMGUwNDIwJywgJyMyYTExNTgnLCAnIzRhMWQ5NicsICcjNzAyNmRmJywgJyM5MTU2ZTgnLCAnI2I0OGVlYScsICcjZDljM2Y1JywgJyNlYmRjZmQnXSxcbiAgaW5rOiBbJyMwMDAwMDAnLCAnIzBhMGYxYycsICcjMWEyMjM1JywgJyMyZDNhNTUnLCAnIzRhNTg3OCcsICcjN2Q4YWE1JywgJyNiOGMxZDQnLCAnI2U0ZThmMCddLFxuICBsYXZlbmRlcjogW1xuICAgICcjMWEwZTNhJyxcbiAgICAnIzJlMTc1NScsXG4gICAgJyM1YTNhYTAnLFxuICAgICcjN2U1ZGM2JyxcbiAgICAnI2ExOGJkOScsXG4gICAgJyNjNGE4ZjAnLFxuICAgICcjZGNjZWY1JyxcbiAgICAnI2YwZTZmYycsXG4gIF0sXG59O1xuXG4vKipcbiAqIE11bGJlcnJ5MzIgc2VlZGVkIFJORyDigJQgZGV2dWVsdmUgZnVuY2nDs24gYCgpPT5bMCwxKWAuXG4gKiBEZXRlcm1pbmlzdGljOiBtaXNtbyBzZWVkIOKGkiBtaXNtYSBzZWN1ZW5jaWEuIMOadGlsIHBhcmEgcGF0cm9uZXMgcmVwcm9kdWNpYmxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG11bGJlcnJ5MzIoc2VlZDogbnVtYmVyKTogKCkgPT4gbnVtYmVyIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBzZWVkID0gKHNlZWQgKyAweDZkMmI3OWY1KSA+Pj4gMDtcbiAgICBsZXQgdCA9IHNlZWQ7XG4gICAgdCA9IE1hdGguaW11bCh0IF4gKHQgPj4+IDE1KSwgdCB8IDEpO1xuICAgIHQgXj0gdCArIE1hdGguaW11bCh0IF4gKHQgPj4+IDcpLCB0IHwgNjEpO1xuICAgIHJldHVybiAoKHQgXiAodCA+Pj4gMTQpKSA+Pj4gMCkgLyA0Mjk0OTY3Mjk2O1xuICB9O1xufVxuXG4vKipcbiAqIERlbnNpZGFkIGRlIGNoZXZyb25zICgwLi4xKS4gRWwgcmVzdG8gc2UgcmVwYXJ0ZSBlbnRyZSBzb2xpZCAoMjAlKSwgc2hhcGVcbiAqICgxNSUpIHkgdHJpIChyZXN0byksIHByb3BvcmNpb25hbCBhbCBnYXAgbGVmdCBkZXNwdcOpcyBkZWwgdGhyZXNob2xkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5HZW5Db25maWcge1xuICBjb2xzOiBudW1iZXI7XG4gIHJvd3M6IG51bWJlcjtcbiAgc2VlZDogbnVtYmVyO1xuICBwYWxldHRlOiBzdHJpbmdbXTtcbiAgY2hldnJvbkRlbnNpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblRpbGUge1xuICBtb3RpZjogUGF0dGVybk1vdGlmS2V5O1xuICBiZzogc3RyaW5nO1xuICBmZzogc3RyaW5nO1xufVxuXG4vKiogR2VuZXJhIG1hdHJpeiBkZSB0aWxlcyBhcGxpY2FuZG8gZGVuc2lkYWRlcyArIHJlZ2xhcyBkZSBjb250cmFzdGUuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVQYXR0ZXJuVGlsZXMoY2ZnOiBQYXR0ZXJuR2VuQ29uZmlnKTogUGF0dGVyblRpbGVbXSB7XG4gIGNvbnN0IHsgY29scywgcm93cywgc2VlZCwgcGFsZXR0ZSB9ID0gY2ZnO1xuICBjb25zdCBjaGV2cm9uRGVuc2l0eSA9IGNmZy5jaGV2cm9uRGVuc2l0eSA/PyAwLjU1O1xuICBjb25zdCByID0gbXVsYmVycnkzMihzZWVkKTtcbiAgY29uc3QgdGlsZXM6IFBhdHRlcm5UaWxlW10gPSBbXTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHMgKiByb3dzOyBpKyspIHtcbiAgICBjb25zdCByb2xsID0gcigpO1xuICAgIGxldCBrZXk6IFBhdHRlcm5Nb3RpZktleTtcbiAgICBpZiAocm9sbCA8IGNoZXZyb25EZW5zaXR5KSBrZXkgPSBDSEVWX0tFWVNbTWF0aC5mbG9vcihyKCkgKiBDSEVWX0tFWVMubGVuZ3RoKV0hO1xuICAgIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMikga2V5ID0gU09MSURfS0VZU1tNYXRoLmZsb29yKHIoKSAqIFNPTElEX0tFWVMubGVuZ3RoKV0hO1xuICAgIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMzUpIGtleSA9IFNIQVBFX0tFWVNbTWF0aC5mbG9vcihyKCkgKiBTSEFQRV9LRVlTLmxlbmd0aCldITtcbiAgICBlbHNlIGtleSA9IFRSSV9LRVlTW01hdGguZmxvb3IocigpICogVFJJX0tFWVMubGVuZ3RoKV0hO1xuXG4gICAgLy8gUGljayBiZyArIGNvbnRyYXN0aW5nIGZnICjDrW5kaWNlcyBjb24gZGlzdGFuY2lhIOKJpTMgZW4gbGEgcGFsZXR0ZSkuXG4gICAgY29uc3QgYmdJZHggPSBNYXRoLmZsb29yKHIoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICBsZXQgZmdJZHggPSBNYXRoLmZsb29yKHIoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICBsZXQgdHJpZXMgPSAwO1xuICAgIHdoaWxlIChNYXRoLmFicyhmZ0lkeCAtIGJnSWR4KSA8IDMgJiYgdHJpZXMgPCA2KSB7XG4gICAgICBmZ0lkeCA9IE1hdGguZmxvb3IocigpICogcGFsZXR0ZS5sZW5ndGgpO1xuICAgICAgdHJpZXMrKztcbiAgICB9XG4gICAgdGlsZXMucHVzaCh7IG1vdGlmOiBrZXksIGJnOiBwYWxldHRlW2JnSWR4XSEsIGZnOiBwYWxldHRlW2ZnSWR4XSEgfSk7XG4gIH1cblxuICByZXR1cm4gdGlsZXM7XG59XG5cbi8qKlxuICogUmVuZGVyaXphIGVsIGlubmVyIFNWRyAoc2luIGVsIGA8c3ZnPmAgcm9vdCkgcGFyYSB1bmEgbWF0cml6IGRlIHRpbGVzLlxuICogQ2FsbGVyIHdyYXBzIGVuIGA8c3ZnIHZpZXdCb3g9XCIwIDAge2NvbHMqMTAwfSB7cm93cyoxMDB9XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIHNsaWNlXCI+YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclBhdHRlcm5TdmdJbm5lcihcbiAgdGlsZXM6IFBhdHRlcm5UaWxlW10sXG4gIGNvbHM6IG51bWJlcixcbiAgYmFzZUNvbG9yOiBzdHJpbmdcbik6IHN0cmluZyB7XG4gIGNvbnN0IFcgPSBjb2xzICogMTAwO1xuICBjb25zdCByb3dzID0gTWF0aC5jZWlsKHRpbGVzLmxlbmd0aCAvIGNvbHMpO1xuICBjb25zdCBIID0gcm93cyAqIDEwMDtcbiAgbGV0IGlubmVyID0gYDxyZWN0IHdpZHRoPVwiJHtXfVwiIGhlaWdodD1cIiR7SH1cIiBmaWxsPVwiJHtiYXNlQ29sb3J9XCIvPmA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdGlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjID0gaSAlIGNvbHM7XG4gICAgY29uc3QgciA9IE1hdGguZmxvb3IoaSAvIGNvbHMpO1xuICAgIGNvbnN0IHQgPSB0aWxlc1tpXSE7XG4gICAgY29uc3Qgc2hhcGUgPSBQQVRURVJOX01PVElGU1t0Lm1vdGlmXSh0LmZnKTtcbiAgICBpbm5lciArPSBgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKCR7YyAqIDEwMH0gJHtyICogMTAwfSlcIj48cmVjdCB3aWR0aD1cIjEwMFwiIGhlaWdodD1cIjEwMFwiIGZpbGw9XCIke3QuYmd9XCIvPiR7c2hhcGV9PC9nPmA7XG4gIH1cbiAgcmV0dXJuIGlubmVyO1xufVxuIl19
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBcUJIOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFTLEVBQUUsSUFBWSxXQUFXLEVBQUUsRUFBRSxDQUN2RCxXQUFXLENBQUMsbUJBQW1CLENBQUMsOERBQThELENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFvRDtJQUM3RSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDakUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNqRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLDJDQUEyQyxDQUFDLEtBQUs7SUFDaEUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsNkNBQTZDLENBQUMsS0FBSztJQUNsRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQyxLQUFLO0lBQ2xFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLCtDQUErQyxDQUFDLEtBQUs7SUFDcEUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDZixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtREFBbUQsQ0FBQyxLQUFLO0lBQ3ZFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDckYsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtJQUNyRixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxzRUFBc0UsQ0FBQyxLQUFLO0lBQzVGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFFQUFxRSxDQUFDLEtBQUs7SUFDM0YsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQ2IsNkNBQTZDLENBQUMsdURBQXVELENBQUMsS0FBSztJQUM3RyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtREFBbUQsQ0FBQyxLQUFLO0lBQ3hFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLG1EQUFtRCxDQUFDLEtBQUs7Q0FDekUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBc0IsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQXNCLENBQUM7QUFFOUYsOERBQThEO0FBQzlELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBc0I7SUFDMUMsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDVixDQUFDO0FBRUYsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBc0I7SUFDekMsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsU0FBUztDQUNWLENBQUM7QUFFRixvREFBb0Q7QUFDcEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXpELG1EQUFtRDtBQUNuRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFLdkQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXdDO0lBQ25FLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDaEcsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUM3RixRQUFRLEVBQUU7UUFDUixTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztLQUNWO0NBQ0YsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPO1FBQ0wsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDYixDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUMvQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBb0JEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQWlCLEVBQ2pCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLE1BQW9CLElBQUksQ0FBQyxNQUFNO0lBRS9CLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBb0IsQ0FBQztJQUN6QixJQUFJLElBQUksR0FBRyxjQUFjO1FBQUUsR0FBRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFDO1NBQzdFLElBQUksSUFBSSxHQUFHLGNBQWMsR0FBRyxHQUFHO1FBQUUsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFDO1NBQzFGLElBQUksSUFBSSxHQUFHLGNBQWMsR0FBRyxJQUFJO1FBQUUsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFDOztRQUMzRixHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFFLENBQUM7SUFFMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFFLEVBQUUsQ0FBQztBQUNsRSxDQUFDO0FBRUQseUVBQXlFO0FBQ3pFLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxHQUFxQjtJQUN4RCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQzFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDO0lBQ2xELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixNQUFNLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsS0FBb0IsRUFDcEIsSUFBWSxFQUNaLFNBQWlCO0lBRWpCLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDckIsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsU0FBUyxLQUFLLENBQUM7SUFDckUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLElBQUksMkJBQTJCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsMkNBQTJDLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUM7SUFDekgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVmFsdGVjaCBQYXR0ZXJuIFN5c3RlbSDigJQgbW90aWZzICsgcGFsZXR0ZXMuXG4gKlxuICogUHVyZSBkYXRhICsgaGVscGVycywgc2luIGRlcGVuZGVuY2lhcyBBbmd1bGFyLiBSZXVzYWJsZSBkZXNkZSBOb2RlL3NjcmlwdHNcbiAqIChlLmcuLCBnZW5lcmF0ZSBzdGF0aWMgdGh1bWJuYWlscykgbyBkZXNkZSBlbCBjb21wb25lbnRlIGB2YWwtcGF0dGVybmAuXG4gKlxuICogT3JpZ2luYWwgc3BlYzogYGFzc2V0cy9WYWx0ZWNoIFBhdHRlcm4gU3lzdGVtLmh0bWxgIChzaW5nbGUtcGFnZSBkZW1vKS5cbiAqIENhZGEgbW90aWYgZXMgZnVuY2nDs24gYChmaWxsOiBzdHJpbmcpID0+IHN0cmluZ2AgcXVlIGRldnVlbHZlIFNWRyBpbm5lclxuICogbWFya3VwLiBUaWxlIGVzIDEwMMOXMTAwIHVuaWRhZGVzOyBlbCBtb3RpZiBzZSByZW5kZXJpemEgZGVudHJvIGRlIHVuIGA8Z1xuICogdHJhbnNmb3JtPVwidHJhbnNsYXRlKGNvbCoxMDAgcm93KjEwMClcIj5gIGNvbiB1biBgPHJlY3Qgd2lkdGg9MTAwIGhlaWdodD0xMDBcbiAqIGZpbGw9YmcvPmAgZGUgZm9uZG8uXG4gKi9cblxuZXhwb3J0IHR5cGUgUGF0dGVybk1vdGlmS2V5ID1cbiAgfCAnY2hldi1yJ1xuICB8ICdjaGV2LWwnXG4gIHwgJ2NoZXYtZCdcbiAgfCAnY2hldi11J1xuICB8ICd0cmktdGwnXG4gIHwgJ3RyaS10cidcbiAgfCAndHJpLWJsJ1xuICB8ICd0cmktYnInXG4gIHwgJ3NvbGlkJ1xuICB8ICdkaWFtb25kJ1xuICB8ICdzbWFsbC1yJ1xuICB8ICdzbWFsbC1sJ1xuICB8ICdhcnJvdy1yJ1xuICB8ICdhcnJvdy1sJ1xuICB8ICdob3VzZS1kJ1xuICB8ICdoYWxmLWwnXG4gIHwgJ2hhbGYtdCc7XG5cbi8qKlxuICogQ2hldnJvbnMgc3Ryb2tlLWJhc2VkIGNvbiBsaW5lY2FwL2xpbmVqb2luIHJlZG9uZG9zIOKAlCB2aXN1YWxtZW50ZSBjb2hlcmVudGVcbiAqIGNvbiBlbCBzw61tYm9sbyBkZSBtYXJjYSBWYWx0ZWNoIChgPl9gKS4gU3Ryb2tlLXdpZHRoIDE4IChkZWZhdWx0KSwgMTIgcGFyYVxuICogdmFyaWFudHMgYHNtYWxsLSpgLlxuICovXG5jb25zdCBDSEVWX1NUUk9LRSA9IDE4O1xuY29uc3QgQ0hFVl9TTUFMTF9TVFJPS0UgPSAxMjtcbmNvbnN0IGNoZXZTdHlsZSA9IChmOiBzdHJpbmcsIHc6IG51bWJlciA9IENIRVZfU1RST0tFKSA9PlxuICBgc3Ryb2tlPVwiJHtmfVwiIHN0cm9rZS13aWR0aD1cIiR7d31cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBmaWxsPVwibm9uZVwiYDtcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fTU9USUZTOiBSZWNvcmQ8UGF0dGVybk1vdGlmS2V5LCAoZmc6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgJ2NoZXYtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMjIgMTggTDcyIDUwIEwyMiA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtbCc6IGYgPT4gYDxwYXRoIGQ9XCJNNzggMTggTDI4IDUwIEw3OCA4MlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtZCc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggMjIgTDUwIDcyIEw4MiAyMlwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ2NoZXYtdSc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggNzggTDUwIDI4IEw4MiA3OFwiICR7Y2hldlN0eWxlKGYpfS8+YCxcbiAgJ3RyaS10bCc6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktdHInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDAgMTAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYmwnOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIwLDAgMTAwLDEwMCAwLDEwMFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICd0cmktYnInOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCIxMDAsMCAxMDAsMTAwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgc29saWQ6ICgpID0+IGBgLFxuICBkaWFtb25kOiBmID0+IGA8cG9seWdvbiBwb2ludHM9XCI1MCwxMiA4OCw1MCA1MCw4OCAxMiw1MFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdzbWFsbC1yJzogZiA9PiBgPHBhdGggZD1cIk0zOCAzMiBMNjIgNTAgTDM4IDY4XCIgJHtjaGV2U3R5bGUoZiwgQ0hFVl9TTUFMTF9TVFJPS0UpfS8+YCxcbiAgJ3NtYWxsLWwnOiBmID0+IGA8cGF0aCBkPVwiTTYyIDMyIEwzOCA1MCBMNjIgNjhcIiAke2NoZXZTdHlsZShmLCBDSEVWX1NNQUxMX1NUUk9LRSl9Lz5gLFxuICAnYXJyb3ctcic6IGYgPT4gYDxwYXRoIGQ9XCJNMTAgNDIgTDYwIDQyIEw2MCAyOCBMOTIgNTAgTDYwIDcyIEw2MCA1OCBMMTAgNTggWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdhcnJvdy1sJzogZiA9PiBgPHBhdGggZD1cIk05MCA0MiBMNDAgNDIgTDQwIDI4IEw4IDUwIEw0MCA3MiBMNDAgNTggTDkwIDU4IFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaG91c2UtZCc6IGYgPT5cbiAgICBgPHBvbHlnb24gcG9pbnRzPVwiNTAsMjAgODgsNTAgMTIsNTBcIiBmaWxsPVwiJHtmfVwiLz48cmVjdCB4PVwiMjhcIiB5PVwiNTBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi1sJzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNTBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi10JzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiNTBcIiBmaWxsPVwiJHtmfVwiLz5gLFxufTtcblxuZXhwb3J0IGNvbnN0IE1PVElGX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gT2JqZWN0LmtleXMoUEFUVEVSTl9NT1RJRlMpIGFzIFBhdHRlcm5Nb3RpZktleVtdO1xuXG4vKiogQ2hldnJvbiBmYW1pbHkg4oCUIG9yaWVudGF0aW9ucyArIHNpemUgdmFyaWFudHMgKyBhcnJvd3MuICovXG5leHBvcnQgY29uc3QgQ0hFVl9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFtcbiAgJ2NoZXYtcicsXG4gICdjaGV2LWwnLFxuICAnY2hldi1kJyxcbiAgJ2NoZXYtdScsXG4gICdzbWFsbC1yJyxcbiAgJ3NtYWxsLWwnLFxuICAnYXJyb3ctcicsXG4gICdhcnJvdy1sJyxcbl07XG5cbi8qKiBUcmlhbmdsZSAvIGhhbGYtZmlsbCBmYW1pbHkuICovXG5leHBvcnQgY29uc3QgVFJJX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAndHJpLXRsJyxcbiAgJ3RyaS10cicsXG4gICd0cmktYmwnLFxuICAndHJpLWJyJyxcbiAgJ2hhbGYtbCcsXG4gICdoYWxmLXQnLFxuICAnaG91c2UtZCcsXG5dO1xuXG4vKiogQ2VudGVyIHNoYXBlIGZhbWlseSAoY3VycmVudGx5IHNvbG8gZGlhbW9uZCkuICovXG5leHBvcnQgY29uc3QgU0hBUEVfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2RpYW1vbmQnXTtcblxuLyoqIE5vLWZvcmVncm91bmQgdGlsZXMg4oCUIHNvbG8gZWwgcmVjdCBkZSBmb25kby4gKi9cbmV4cG9ydCBjb25zdCBTT0xJRF9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnc29saWQnXTtcblxuLyoqIEJ1aWx0LWluIHBhbGV0dGVzIOKAlCBkYXJrIOKGkiBsaWdodCAoOCBjb2xvcnMpLiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblBhbGV0dGVLZXkgPSAncHVycGxlJyB8ICdpbmsnIHwgJ2xhdmVuZGVyJztcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fUEFMRVRURVM6IFJlY29yZDxQYXR0ZXJuUGFsZXR0ZUtleSwgc3RyaW5nW10+ID0ge1xuICBwdXJwbGU6IFsnIzBlMDQyMCcsICcjMmExMTU4JywgJyM0YTFkOTYnLCAnIzcwMjZkZicsICcjOTE1NmU4JywgJyNiNDhlZWEnLCAnI2Q5YzNmNScsICcjZWJkY2ZkJ10sXG4gIGluazogWycjMDAwMDAwJywgJyMwYTBmMWMnLCAnIzFhMjIzNScsICcjMmQzYTU1JywgJyM0YTU4NzgnLCAnIzdkOGFhNScsICcjYjhjMWQ0JywgJyNlNGU4ZjAnXSxcbiAgbGF2ZW5kZXI6IFtcbiAgICAnIzFhMGUzYScsXG4gICAgJyMyZTE3NTUnLFxuICAgICcjNWEzYWEwJyxcbiAgICAnIzdlNWRjNicsXG4gICAgJyNhMThiZDknLFxuICAgICcjYzRhOGYwJyxcbiAgICAnI2RjY2VmNScsXG4gICAgJyNmMGU2ZmMnLFxuICBdLFxufTtcblxuLyoqXG4gKiBNdWxiZXJyeTMyIHNlZWRlZCBSTkcg4oCUIGRldnVlbHZlIGZ1bmNpw7NuIGAoKT0+WzAsMSlgLlxuICogRGV0ZXJtaW5pc3RpYzogbWlzbW8gc2VlZCDihpIgbWlzbWEgc2VjdWVuY2lhLiDDmnRpbCBwYXJhIHBhdHJvbmVzIHJlcHJvZHVjaWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWxiZXJyeTMyKHNlZWQ6IG51bWJlcik6ICgpID0+IG51bWJlciB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgc2VlZCA9IChzZWVkICsgMHg2ZDJiNzlmNSkgPj4+IDA7XG4gICAgbGV0IHQgPSBzZWVkO1xuICAgIHQgPSBNYXRoLmltdWwodCBeICh0ID4+PiAxNSksIHQgfCAxKTtcbiAgICB0IF49IHQgKyBNYXRoLmltdWwodCBeICh0ID4+PiA3KSwgdCB8IDYxKTtcbiAgICByZXR1cm4gKCh0IF4gKHQgPj4+IDE0KSkgPj4+IDApIC8gNDI5NDk2NzI5NjtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZW5zaWRhZCBkZSBjaGV2cm9ucyAoMC4uMSkuIEVsIHJlc3RvIHNlIHJlcGFydGUgZW50cmUgc29saWQgKDIwJSksIHNoYXBlXG4gKiAoMTUlKSB5IHRyaSAocmVzdG8pLCBwcm9wb3JjaW9uYWwgYWwgZ2FwIGxlZnQgZGVzcHXDqXMgZGVsIHRocmVzaG9sZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuR2VuQ29uZmlnIHtcbiAgY29sczogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIHNlZWQ6IG51bWJlcjtcbiAgcGFsZXR0ZTogc3RyaW5nW107XG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5UaWxlIHtcbiAgbW90aWY6IFBhdHRlcm5Nb3RpZktleTtcbiAgYmc6IHN0cmluZztcbiAgZmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmEgVU4gdGlsZSBjb24gbW90aWYvYmcvZmcgcmVzcGV0YW5kbyBkZW5zaWRhZGVzICsgY29udHJhc3RlLlxuICogQ2FsbGVyIHBhc2Egcm5nIChNYXRoLnJhbmRvbSBvIHNlZWRlZCkg4oCUIMO6dGlsIHBhcmEgcmVzaHVmZmxlIGluZGl2aWR1YWwgZGVcbiAqIHRpbGVzIGVuIGB2YWwtcGF0dGVybmAgc2luIHJlZ2VuZXJhciBsYSBncmlkIGNvbXBsZXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21UaWxlKFxuICBwYWxldHRlOiBzdHJpbmdbXSxcbiAgY2hldnJvbkRlbnNpdHkgPSAwLjU1LFxuICBybmc6ICgpID0+IG51bWJlciA9IE1hdGgucmFuZG9tXG4pOiBQYXR0ZXJuVGlsZSB7XG4gIGNvbnN0IHJvbGwgPSBybmcoKTtcbiAgbGV0IGtleTogUGF0dGVybk1vdGlmS2V5O1xuICBpZiAocm9sbCA8IGNoZXZyb25EZW5zaXR5KSBrZXkgPSBDSEVWX0tFWVNbTWF0aC5mbG9vcihybmcoKSAqIENIRVZfS0VZUy5sZW5ndGgpXSE7XG4gIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMikga2V5ID0gU09MSURfS0VZU1tNYXRoLmZsb29yKHJuZygpICogU09MSURfS0VZUy5sZW5ndGgpXSE7XG4gIGVsc2UgaWYgKHJvbGwgPCBjaGV2cm9uRGVuc2l0eSArIDAuMzUpIGtleSA9IFNIQVBFX0tFWVNbTWF0aC5mbG9vcihybmcoKSAqIFNIQVBFX0tFWVMubGVuZ3RoKV0hO1xuICBlbHNlIGtleSA9IFRSSV9LRVlTW01hdGguZmxvb3Iocm5nKCkgKiBUUklfS0VZUy5sZW5ndGgpXSE7XG5cbiAgY29uc3QgYmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgZmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgdHJpZXMgPSAwO1xuICB3aGlsZSAoTWF0aC5hYnMoZmdJZHggLSBiZ0lkeCkgPCAzICYmIHRyaWVzIDwgNikge1xuICAgIGZnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICB0cmllcysrO1xuICB9XG4gIHJldHVybiB7IG1vdGlmOiBrZXksIGJnOiBwYWxldHRlW2JnSWR4XSEsIGZnOiBwYWxldHRlW2ZnSWR4XSEgfTtcbn1cblxuLyoqIEdlbmVyYSBtYXRyaXogZGUgdGlsZXMgYXBsaWNhbmRvIGRlbnNpZGFkZXMgKyByZWdsYXMgZGUgY29udHJhc3RlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGF0dGVyblRpbGVzKGNmZzogUGF0dGVybkdlbkNvbmZpZyk6IFBhdHRlcm5UaWxlW10ge1xuICBjb25zdCB7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUgfSA9IGNmZztcbiAgY29uc3QgY2hldnJvbkRlbnNpdHkgPSBjZmcuY2hldnJvbkRlbnNpdHkgPz8gMC41NTtcbiAgY29uc3QgciA9IG11bGJlcnJ5MzIoc2VlZCk7XG4gIGNvbnN0IHRpbGVzOiBQYXR0ZXJuVGlsZVtdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29scyAqIHJvd3M7IGkrKykge1xuICAgIHRpbGVzLnB1c2goZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGNoZXZyb25EZW5zaXR5LCByKSk7XG4gIH1cbiAgcmV0dXJuIHRpbGVzO1xufVxuXG4vKipcbiAqIFJlbmRlcml6YSBlbCBpbm5lciBTVkcgKHNpbiBlbCBgPHN2Zz5gIHJvb3QpIHBhcmEgdW5hIG1hdHJpeiBkZSB0aWxlcy5cbiAqIENhbGxlciB3cmFwcyBlbiBgPHN2ZyB2aWV3Qm94PVwiMCAwIHtjb2xzKjEwMH0ge3Jvd3MqMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBzbGljZVwiPmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIoXG4gIHRpbGVzOiBQYXR0ZXJuVGlsZVtdLFxuICBjb2xzOiBudW1iZXIsXG4gIGJhc2VDb2xvcjogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBjb25zdCBXID0gY29scyAqIDEwMDtcbiAgY29uc3Qgcm93cyA9IE1hdGguY2VpbCh0aWxlcy5sZW5ndGggLyBjb2xzKTtcbiAgY29uc3QgSCA9IHJvd3MgKiAxMDA7XG4gIGxldCBpbm5lciA9IGA8cmVjdCB3aWR0aD1cIiR7V31cIiBoZWlnaHQ9XCIke0h9XCIgZmlsbD1cIiR7YmFzZUNvbG9yfVwiLz5gO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGkgJSBjb2xzO1xuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKGkgLyBjb2xzKTtcbiAgICBjb25zdCB0ID0gdGlsZXNbaV0hO1xuICAgIGNvbnN0IHNoYXBlID0gUEFUVEVSTl9NT1RJRlNbdC5tb3RpZl0odC5mZyk7XG4gICAgaW5uZXIgKz0gYDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgke2MgKiAxMDB9ICR7ciAqIDEwMH0pXCI+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, PATTERN_PALETTES, renderPatternSvgInner, } from './motifs';
|
|
5
|
+
import { generatePatternTiles, generateRandomTile, PATTERN_PALETTES, renderPatternSvgInner, } from './motifs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/**
|
|
8
8
|
* `val-pattern`
|
|
@@ -54,6 +54,9 @@ export class PatternComponent {
|
|
|
54
54
|
if (value.reshuffleInterval !== undefined && value.reshuffleInterval > 0) {
|
|
55
55
|
this.reshuffleInterval.set(value.reshuffleInterval);
|
|
56
56
|
}
|
|
57
|
+
if (value.tilesPerTick !== undefined && value.tilesPerTick > 0) {
|
|
58
|
+
this.tilesPerTick.set(Math.floor(value.tilesPerTick));
|
|
59
|
+
}
|
|
57
60
|
if (value.animated !== undefined)
|
|
58
61
|
this.animated.set(!!value.animated);
|
|
59
62
|
}
|
|
@@ -66,15 +69,16 @@ export class PatternComponent {
|
|
|
66
69
|
this.chevronDensity = signal(0.55);
|
|
67
70
|
this.preserveAspect = signal('slice');
|
|
68
71
|
this.animated = signal(false);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
/** ms entre updates individuales de tiles (modo animated). Default 1200ms. */
|
|
73
|
+
this.reshuffleInterval = signal(1200);
|
|
74
|
+
/** Cuántos tiles cambiar por tick (default 1 → cambio sutil). */
|
|
75
|
+
this.tilesPerTick = signal(1);
|
|
76
|
+
/**
|
|
77
|
+
* Tiles signal — mutable. Se regenera completa cuando cambia seed/cols/rows/
|
|
78
|
+
* palette/density. En modo animated, tiles individuales se sobrescriben sin
|
|
79
|
+
* tocar el resto (efecto staggered).
|
|
80
|
+
*/
|
|
81
|
+
this.tiles = signal([]);
|
|
78
82
|
/** SVG completo como string sanitized para `[innerHTML]`. */
|
|
79
83
|
this.svgHtml = computed(() => {
|
|
80
84
|
const cols = this.cols();
|
|
@@ -85,18 +89,30 @@ export class PatternComponent {
|
|
|
85
89
|
const svg = `<svg viewBox="0 0 ${cols * 100} ${rows * 100}" preserveAspectRatio="${aspect}" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">${inner}</svg>`;
|
|
86
90
|
return this.sanitizer.bypassSecurityTrustHtml(svg);
|
|
87
91
|
});
|
|
88
|
-
//
|
|
92
|
+
// Regenera grid completa cuando cambian props estructurales (cols/rows/
|
|
93
|
+
// palette/density/seed). El seed solo cambia explícitamente via props o
|
|
94
|
+
// mount inicial — NO se muta en modo animated.
|
|
95
|
+
effect(() => {
|
|
96
|
+
const cols = this.cols();
|
|
97
|
+
const rows = this.rows();
|
|
98
|
+
const seed = this.seed();
|
|
99
|
+
const palette = this.paletteRef();
|
|
100
|
+
const density = this.chevronDensity();
|
|
101
|
+
this.tiles.set(generatePatternTiles({ cols, rows, seed, palette, chevronDensity: density }));
|
|
102
|
+
});
|
|
103
|
+
// Modo animated: cada `reshuffleInterval` ms, sobrescribe `tilesPerTick`
|
|
104
|
+
// tiles random — efecto staggered (no toda la grid de una). Si el user
|
|
105
|
+
// desactiva animated, el timer se limpia automáticamente.
|
|
89
106
|
effect(onCleanup => {
|
|
90
107
|
const isAnimated = this.animated();
|
|
91
108
|
const interval = this.reshuffleInterval();
|
|
109
|
+
const perTick = this.tilesPerTick();
|
|
92
110
|
if (this.timer)
|
|
93
111
|
clearInterval(this.timer);
|
|
94
112
|
this.timer = undefined;
|
|
95
113
|
if (!isAnimated)
|
|
96
114
|
return;
|
|
97
|
-
this.timer = setInterval(() =>
|
|
98
|
-
this.seed.set(this.randomSeed());
|
|
99
|
-
}, interval);
|
|
115
|
+
this.timer = setInterval(() => this.mutateRandomTiles(perTick), interval);
|
|
100
116
|
onCleanup(() => {
|
|
101
117
|
if (this.timer) {
|
|
102
118
|
clearInterval(this.timer);
|
|
@@ -105,6 +121,23 @@ export class PatternComponent {
|
|
|
105
121
|
});
|
|
106
122
|
});
|
|
107
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Reemplaza `count` tiles random del grid actual con tiles nuevos generados.
|
|
126
|
+
* Usado por el modo animated para staggered reshuffle.
|
|
127
|
+
*/
|
|
128
|
+
mutateRandomTiles(count) {
|
|
129
|
+
const current = this.tiles();
|
|
130
|
+
if (current.length === 0)
|
|
131
|
+
return;
|
|
132
|
+
const next = [...current];
|
|
133
|
+
const palette = this.paletteRef();
|
|
134
|
+
const density = this.chevronDensity();
|
|
135
|
+
for (let n = 0; n < count; n++) {
|
|
136
|
+
const idx = Math.floor(Math.random() * next.length);
|
|
137
|
+
next[idx] = generateRandomTile(palette, density);
|
|
138
|
+
}
|
|
139
|
+
this.tiles.set(next);
|
|
140
|
+
}
|
|
108
141
|
ngOnDestroy() {
|
|
109
142
|
if (this.timer)
|
|
110
143
|
clearInterval(this.timer);
|
|
@@ -128,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
128
161
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
129
162
|
type: Input
|
|
130
163
|
}] } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFHaEIscUJBQXFCLEdBQ3RCLE1BQU0sVUFBVSxDQUFDOztBQUdsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBOEJILE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0Isa0VBQWtFO0lBQ2xFLElBQWEsS0FBSyxDQUFDLEtBQWtDO1FBQ25ELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxD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LElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JCLDJFQUEyRTtZQUMzRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDeEQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQXpGVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0F6QmpCLDJEQUEyRCx1UkFEM0QsWUFBWTs7NEZBMEJYLGdCQUFnQjtrQkE3QjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLDJEQUEyRDt3REF3Q3hELEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBJbnB1dCwgT25EZXN0cm95LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVQYXR0ZXJuVGlsZXMsXG4gIFBBVFRFUk5fUEFMRVRURVMsXG4gIFBhdHRlcm5QYWxldHRlS2V5LFxuICBQYXR0ZXJuVGlsZSxcbiAgcmVuZGVyUGF0dGVyblN2Z0lubmVyLFxufSBmcm9tICcuL21vdGlmcyc7XG5pbXBvcnQgeyBQYXR0ZXJuTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBgdmFsLXBhdHRlcm5gXG4gKlxuICogQ29tcG9uZW50ZSBkZSBmb25kbyBnZW9tw6l0cmljbyBpbnNwaXJhZG8gZW4gZWwgc2lzdGVtYSBWYWx0ZWNoLiBSZW5kZXJpemEgdW5cbiAqIGdyaWQgZGUgdGlsZXMgMTAww5cxMDAgY29uIG1vdGlmcyAoY2hldnJvbnMsIHRyaWFuZ2xlcywgZGlhbW9uZHMsIGFycm93cykgZW5cbiAqIHVuIFNWRyBpbmxpbmUuIERldGVybWluaXN0YSB2w61hIGBzZWVkYCBvIGFuaW1hZG8gdsOtYSBgcmVzaHVmZmxlYC5cbiAqXG4gKiBDZXJvIGRlcGVuZGVuY2lhcyBleHRlcm5hcyDigJQgdG9kbyBTVkcuXG4gKlxuICogQGV4YW1wbGUgQ29tbyBmb25kbyBkZSBjYXJkIChDU1MgYWJzb2x1dGUpOlxuICogYGBgc2Nzc1xuICogLmNhcmQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAqIC5jYXJkIHZhbC1wYXR0ZXJuIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogMDsgb3BhY2l0eTogMC40OyB9XG4gKiAuY2FyZCAuY29udGVudCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuICogYGBgXG4gKlxuICogYGBgaHRtbFxuICogPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAqICAgPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdwdXJwbGUnLCBjb2xzOiA2LCByb3dzOiAzLCBzZWVkOiA0MiB9XCIgLz5cbiAqICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5UdSBjb250ZW5pZG8gYXF1w608L2Rpdj5cbiAqIDwvZGl2PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQ29tbyBiYWNrZ3JvdW5kIGFuaW1hZG8gKGhlcm8vbG9naW4pOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdsYXZlbmRlcicsIGNvbHM6IDE2LCByb3dzOiA4LCBhbmltYXRlZDogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGF0dGVybicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwidmFsLXBhdHRlcm5cIiBbaW5uZXJIVE1MXT1cInN2Z0h0bWwoKVwiPjwvZGl2PiBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1wYXR0ZXJuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1wYXR0ZXJuIDp3aGVyZShzdmcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2xzID0gc2lnbmFsKDEyKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3dzID0gc2lnbmFsKDQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlZWQgPSBzaWduYWwodGhpcy5yYW5kb21TZWVkKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBhbGV0dGVSZWYgPSBzaWduYWw8c3RyaW5nW10+KFBBVFRFUk5fUEFMRVRURVMucHVycGxlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGV2cm9uRGVuc2l0eSA9IHNpZ25hbCgwLjU1KTtcbiAgcHJpdmF0ZSByZWFkb25seSBwcmVzZXJ2ZUFzcGVjdCA9IHNpZ25hbDwnc2xpY2UnIHwgJ21lZXQnPignc2xpY2UnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaHVmZmxlSW50ZXJ2YWwgPSBzaWduYWwoODAwMCk7XG5cbiAgcHJpdmF0ZSB0aW1lcj86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICAvKiogT2JqZWN0LWZpcnN0IGlucHV0LiBDYW1iaW9zIGRpc3BhcmFuIHJlLXJlbmRlciBwb3Igc2lnbmFscy4gKi9cbiAgQElucHV0KCkgc2V0IHByb3BzKHZhbHVlOiBQYXR0ZXJuTWV0YWRhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgaWYgKHZhbHVlLmNvbHMgIT09IHVuZGVmaW5lZCkgdGhpcy5jb2xzLnNldChNYXRoLm1heCgxLCB2YWx1ZS5jb2xzKSk7XG4gICAgaWYgKHZhbHVlLnJvd3MgIT09IHVuZGVmaW5lZCkgdGhpcy5yb3dzLnNldChNYXRoLm1heCgxLCB2YWx1ZS5yb3dzKSk7XG4gICAgaWYgKHZhbHVlLnNlZWQgIT09IHVuZGVmaW5lZCkgdGhpcy5zZWVkLnNldCh2YWx1ZS5zZWVkKTtcbiAgICBpZiAodmFsdWUuY2hldnJvbkRlbnNpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jaGV2cm9uRGVuc2l0eS5zZXQoTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsdWUuY2hldnJvbkRlbnNpdHkpKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCAhPT0gdW5kZWZpbmVkKSB0aGlzLnByZXNlcnZlQXNwZWN0LnNldCh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCk7XG4gICAgaWYgKHZhbHVlLnBhbGV0dGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYWxldHRlUmVmLnNldCh0aGlzLnJlc29sdmVQYWxldHRlKHZhbHVlLnBhbGV0dGUpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJlc2h1ZmZsZUludGVydmFsICE9PSB1bmRlZmluZWQgJiYgdmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLnJlc2h1ZmZsZUludGVydmFsLnNldCh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5hbmltYXRlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLmFuaW1hdGVkLnNldCghIXZhbHVlLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKiBUaWxlcyBjb21wdXRlZCDigJQgc2UgcmVnZW5lcmEgY3VhbmRvIGNhbWJpYSBzZWVkL2NvbHMvcm93cy9wYWxldHRlL2RlbnNpdHkuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdGlsZXMgPSBjb21wdXRlZDxQYXR0ZXJuVGlsZVtdPigoKSA9PlxuICAgIGdlbmVyYXRlUGF0dGVyblRpbGVzKHtcbiAgICAgIGNvbHM6IHRoaXMuY29scygpLFxuICAgICAgcm93czogdGhpcy5yb3dzKCksXG4gICAgICBzZWVkOiB0aGlzLnNlZWQoKSxcbiAgICAgIHBhbGV0dGU6IHRoaXMucGFsZXR0ZVJlZigpLFxuICAgICAgY2hldnJvbkRlbnNpdHk6IHRoaXMuY2hldnJvbkRlbnNpdHkoKSxcbiAgICB9KVxuICApO1xuXG4gIC8qKiBTVkcgY29tcGxldG8gY29tbyBzdHJpbmcgc2FuaXRpemVkIHBhcmEgYFtpbm5lckhUTUxdYC4gKi9cbiAgcmVhZG9ubHkgc3ZnSHRtbCA9IGNvbXB1dGVkPFNhZmVIdG1sPigoKSA9PiB7XG4gICAgY29uc3QgY29scyA9IHRoaXMuY29scygpO1xuICAgIGNvbnN0IHJvd3MgPSB0aGlzLnJvd3MoKTtcbiAgICBjb25zdCBwYWxldHRlID0gdGhpcy5wYWxldHRlUmVmKCk7XG4gICAgY29uc3QgaW5uZXIgPSByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIodGhpcy50aWxlcygpLCBjb2xzLCBwYWxldHRlWzBdISk7XG4gICAgY29uc3QgYXNwZWN0ID0gdGhpcy5wcmVzZXJ2ZUFzcGVjdCgpID09PSAnbWVldCcgPyAneE1pZFlNaWQgbWVldCcgOiAneE1pZFlNaWQgc2xpY2UnO1xuICAgIGNvbnN0IHN2ZyA9IGA8c3ZnIHZpZXdCb3g9XCIwIDAgJHtjb2xzICogMTAwfSAke3Jvd3MgKiAxMDB9XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIiR7YXNwZWN0fVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4ke2lubmVyfTwvc3ZnPmA7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIEFuaW1hdGVkIHJlc2h1ZmZsZTogY2FkYSBOIG1zIGNhbWJpYSBzZWVkIHBhcmEgcmVzaHVmZmxlIHZpc3VhbC5cbiAgICBlZmZlY3Qob25DbGVhbnVwID0+IHtcbiAgICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLmFuaW1hdGVkKCk7XG4gICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMucmVzaHVmZmxlSW50ZXJ2YWwoKTtcbiAgICAgIGlmICh0aGlzLnRpbWVyKSBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xuICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgIGlmICghaXNBbmltYXRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy50aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZWVkLnNldCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aW1lcikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVBhbGV0dGUocDogUGF0dGVyblBhbGV0dGVLZXkgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwKSkge1xuICAgICAgLy8gQWNlcHRhIGFycmF5cyBkZSBjdWFscXVpZXIgbG9uZ2l0dWQg4omlMjsgdGlsZSBjb250cmFzdCBsb2dpYyB1c2Egw61uZGljZXMuXG4gICAgICByZXR1cm4gcC5sZW5ndGggPj0gMiA/IHAgOiBQQVRURVJOX1BBTEVUVEVTLnB1cnBsZTtcbiAgICB9XG4gICAgcmV0dXJuIFBBVFRFUk5fUEFMRVRURVNbcF0gPz8gUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGU7XG4gIH1cblxuICBwcml2YXRlIHJhbmRvbVNlZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMV8wMDBfMDAwKTtcbiAgfVxufVxuIl19
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBR2hCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUFHbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQThCSCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixrRUFBa0U7SUFDbEUsSUFBYSxLQUFLLENBQUMsS0FBa0M7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElB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QztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sY0FBYyxDQUFDLENBQStCO1FBQ3BELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JCLDJFQUEyRTtZQUMzRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDeEQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQXpIVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0F6QmpCLDJEQUEyRCx1UkFEM0QsWUFBWTs7NEZBMEJYLGdCQUFnQjtrQkE3QjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLDJEQUEyRDt3REEyQ3hELEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBJbnB1dCwgT25EZXN0cm95LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVQYXR0ZXJuVGlsZXMsXG4gIGdlbmVyYXRlUmFuZG9tVGlsZSxcbiAgUEFUVEVSTl9QQUxFVFRFUyxcbiAgUGF0dGVyblBhbGV0dGVLZXksXG4gIFBhdHRlcm5UaWxlLFxuICByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIsXG59IGZyb20gJy4vbW90aWZzJztcbmltcG9ydCB7IFBhdHRlcm5NZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIGB2YWwtcGF0dGVybmBcbiAqXG4gKiBDb21wb25lbnRlIGRlIGZvbmRvIGdlb23DqXRyaWNvIGluc3BpcmFkbyBlbiBlbCBzaXN0ZW1hIFZhbHRlY2guIFJlbmRlcml6YSB1blxuICogZ3JpZCBkZSB0aWxlcyAxMDDDlzEwMCBjb24gbW90aWZzIChjaGV2cm9ucywgdHJpYW5nbGVzLCBkaWFtb25kcywgYXJyb3dzKSBlblxuICogdW4gU1ZHIGlubGluZS4gRGV0ZXJtaW5pc3RhIHbDrWEgYHNlZWRgIG8gYW5pbWFkbyB2w61hIGByZXNodWZmbGVgLlxuICpcbiAqIENlcm8gZGVwZW5kZW5jaWFzIGV4dGVybmFzIOKAlCB0b2RvIFNWRy5cbiAqXG4gKiBAZXhhbXBsZSBDb21vIGZvbmRvIGRlIGNhcmQgKENTUyBhYnNvbHV0ZSk6XG4gKiBgYGBzY3NzXG4gKiAuY2FyZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICogLmNhcmQgdmFsLXBhdHRlcm4geyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyB6LWluZGV4OiAwOyBvcGFjaXR5OiAwLjQ7IH1cbiAqIC5jYXJkIC5jb250ZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XG4gKiBgYGBcbiAqXG4gKiBgYGBodG1sXG4gKiA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICogICA8dmFsLXBhdHRlcm4gW3Byb3BzXT1cInsgcGFsZXR0ZTogJ3B1cnBsZScsIGNvbHM6IDYsIHJvd3M6IDMsIHNlZWQ6IDQyIH1cIiAvPlxuICogICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlR1IGNvbnRlbmlkbyBhcXXDrTwvZGl2PlxuICogPC9kaXY+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBDb21vIGJhY2tncm91bmQgYW5pbWFkbyAoaGVyby9sb2dpbik6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXBhdHRlcm4gW3Byb3BzXT1cInsgcGFsZXR0ZTogJ2xhdmVuZGVyJywgY29sczogMTYsIHJvd3M6IDgsIGFuaW1hdGVkOiB0cnVlIH1cIiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wYXR0ZXJuJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJ2YWwtcGF0dGVyblwiIFtpbm5lckhUTUxdPVwic3ZnSHRtbCgpXCI+PC9kaXY+IGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsLXBhdHRlcm4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAudmFsLXBhdHRlcm4gOndoZXJlKHN2Zykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHMgPSBzaWduYWwoMTIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3MgPSBzaWduYWwoNCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VlZCA9IHNpZ25hbCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFsZXR0ZVJlZiA9IHNpZ25hbDxzdHJpbmdbXT4oUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoZXZyb25EZW5zaXR5ID0gc2lnbmFsKDAuNTUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHByZXNlcnZlQXNwZWN0ID0gc2lnbmFsPCdzbGljZScgfCAnbWVldCc+KCdzbGljZScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgLyoqIG1zIGVudHJlIHVwZGF0ZXMgaW5kaXZpZHVhbGVzIGRlIHRpbGVzIChtb2RvIGFuaW1hdGVkKS4gRGVmYXVsdCAxMjAwbXMuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaHVmZmxlSW50ZXJ2YWwgPSBzaWduYWwoMTIwMCk7XG4gIC8qKiBDdcOhbnRvcyB0aWxlcyBjYW1iaWFyIHBvciB0aWNrIChkZWZhdWx0IDEg4oaSIGNhbWJpbyBzdXRpbCkuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdGlsZXNQZXJUaWNrID0gc2lnbmFsKDEpO1xuXG4gIHByaXZhdGUgdGltZXI/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgLyoqIE9iamVjdC1maXJzdCBpbnB1dC4gQ2FtYmlvcyBkaXNwYXJhbiByZS1yZW5kZXIgcG9yIHNpZ25hbHMuICovXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2YWx1ZTogUGF0dGVybk1ldGFkYXRhIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZS5jb2xzICE9PSB1bmRlZmluZWQpIHRoaXMuY29scy5zZXQoTWF0aC5tYXgoMSwgdmFsdWUuY29scykpO1xuICAgIGlmICh2YWx1ZS5yb3dzICE9PSB1bmRlZmluZWQpIHRoaXMucm93cy5zZXQoTWF0aC5tYXgoMSwgdmFsdWUucm93cykpO1xuICAgIGlmICh2YWx1ZS5zZWVkICE9PSB1bmRlZmluZWQpIHRoaXMuc2VlZC5zZXQodmFsdWUuc2VlZCk7XG4gICAgaWYgKHZhbHVlLmNoZXZyb25EZW5zaXR5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2hldnJvbkRlbnNpdHkuc2V0KE1hdGgubWluKDEsIE1hdGgubWF4KDAsIHZhbHVlLmNoZXZyb25EZW5zaXR5KSkpO1xuICAgIH1cbiAgICBpZiAodmFsdWUucHJlc2VydmVBc3BlY3QgIT09IHVuZGVmaW5lZCkgdGhpcy5wcmVzZXJ2ZUFzcGVjdC5zZXQodmFsdWUucHJlc2VydmVBc3BlY3QpO1xuICAgIGlmICh2YWx1ZS5wYWxldHRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucGFsZXR0ZVJlZi5zZXQodGhpcy5yZXNvbHZlUGFsZXR0ZSh2YWx1ZS5wYWxldHRlKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnJlc2h1ZmZsZUludGVydmFsID4gMCkge1xuICAgICAgdGhpcy5yZXNodWZmbGVJbnRlcnZhbC5zZXQodmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwpO1xuICAgIH1cbiAgICBpZiAodmFsdWUudGlsZXNQZXJUaWNrICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudGlsZXNQZXJUaWNrID4gMCkge1xuICAgICAgdGhpcy50aWxlc1BlclRpY2suc2V0KE1hdGguZmxvb3IodmFsdWUudGlsZXNQZXJUaWNrKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5hbmltYXRlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLmFuaW1hdGVkLnNldCghIXZhbHVlLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaWxlcyBzaWduYWwg4oCUIG11dGFibGUuIFNlIHJlZ2VuZXJhIGNvbXBsZXRhIGN1YW5kbyBjYW1iaWEgc2VlZC9jb2xzL3Jvd3MvXG4gICAqIHBhbGV0dGUvZGVuc2l0eS4gRW4gbW9kbyBhbmltYXRlZCwgdGlsZXMgaW5kaXZpZHVhbGVzIHNlIHNvYnJlc2NyaWJlbiBzaW5cbiAgICogdG9jYXIgZWwgcmVzdG8gKGVmZWN0byBzdGFnZ2VyZWQpLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlcyA9IHNpZ25hbDxQYXR0ZXJuVGlsZVtdPihbXSk7XG5cbiAgLyoqIFNWRyBjb21wbGV0byBjb21vIHN0cmluZyBzYW5pdGl6ZWQgcGFyYSBgW2lubmVySFRNTF1gLiAqL1xuICByZWFkb25seSBzdmdIdG1sID0gY29tcHV0ZWQ8U2FmZUh0bWw+KCgpID0+IHtcbiAgICBjb25zdCBjb2xzID0gdGhpcy5jb2xzKCk7XG4gICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICBjb25zdCBpbm5lciA9IHJlbmRlclBhdHRlcm5TdmdJbm5lcih0aGlzLnRpbGVzKCksIGNvbHMsIHBhbGV0dGVbMF0hKTtcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLnByZXNlcnZlQXNwZWN0KCkgPT09ICdtZWV0JyA/ICd4TWlkWU1pZCBtZWV0JyA6ICd4TWlkWU1pZCBzbGljZSc7XG4gICAgY29uc3Qgc3ZnID0gYDxzdmcgdmlld0JveD1cIjAgMCAke2NvbHMgKiAxMDB9ICR7cm93cyAqIDEwMH1cIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwiJHthc3BlY3R9XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7aW5uZXJ9PC9zdmc+YDtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnKTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVnZW5lcmEgZ3JpZCBjb21wbGV0YSBjdWFuZG8gY2FtYmlhbiBwcm9wcyBlc3RydWN0dXJhbGVzIChjb2xzL3Jvd3MvXG4gICAgLy8gcGFsZXR0ZS9kZW5zaXR5L3NlZWQpLiBFbCBzZWVkIHNvbG8gY2FtYmlhIGV4cGzDrWNpdGFtZW50ZSB2aWEgcHJvcHMgb1xuICAgIC8vIG1vdW50IGluaWNpYWwg4oCUIE5PIHNlIG11dGEgZW4gbW9kbyBhbmltYXRlZC5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY29scyA9IHRoaXMuY29scygpO1xuICAgICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgICAgY29uc3Qgc2VlZCA9IHRoaXMuc2VlZCgpO1xuICAgICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgICAgY29uc3QgZGVuc2l0eSA9IHRoaXMuY2hldnJvbkRlbnNpdHkoKTtcbiAgICAgIHRoaXMudGlsZXMuc2V0KGdlbmVyYXRlUGF0dGVyblRpbGVzKHsgY29scywgcm93cywgc2VlZCwgcGFsZXR0ZSwgY2hldnJvbkRlbnNpdHk6IGRlbnNpdHkgfSkpO1xuICAgIH0pO1xuXG4gICAgLy8gTW9kbyBhbmltYXRlZDogY2FkYSBgcmVzaHVmZmxlSW50ZXJ2YWxgIG1zLCBzb2JyZXNjcmliZSBgdGlsZXNQZXJUaWNrYFxuICAgIC8vIHRpbGVzIHJhbmRvbSDigJQgZWZlY3RvIHN0YWdnZXJlZCAobm8gdG9kYSBsYSBncmlkIGRlIHVuYSkuIFNpIGVsIHVzZXJcbiAgICAvLyBkZXNhY3RpdmEgYW5pbWF0ZWQsIGVsIHRpbWVyIHNlIGxpbXBpYSBhdXRvbcOhdGljYW1lbnRlLlxuICAgIGVmZmVjdChvbkNsZWFudXAgPT4ge1xuICAgICAgY29uc3QgaXNBbmltYXRlZCA9IHRoaXMuYW5pbWF0ZWQoKTtcbiAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5yZXNodWZmbGVJbnRlcnZhbCgpO1xuICAgICAgY29uc3QgcGVyVGljayA9IHRoaXMudGlsZXNQZXJUaWNrKCk7XG4gICAgICBpZiAodGhpcy50aW1lcikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgICAgIHRoaXMudGltZXIgPSB1bmRlZmluZWQ7XG4gICAgICBpZiAoIWlzQW5pbWF0ZWQpIHJldHVybjtcbiAgICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLm11dGF0ZVJhbmRvbVRpbGVzKHBlclRpY2spLCBpbnRlcnZhbCk7XG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVlbXBsYXphIGBjb3VudGAgdGlsZXMgcmFuZG9tIGRlbCBncmlkIGFjdHVhbCBjb24gdGlsZXMgbnVldm9zIGdlbmVyYWRvcy5cbiAgICogVXNhZG8gcG9yIGVsIG1vZG8gYW5pbWF0ZWQgcGFyYSBzdGFnZ2VyZWQgcmVzaHVmZmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBtdXRhdGVSYW5kb21UaWxlcyhjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMudGlsZXMoKTtcbiAgICBpZiAoY3VycmVudC5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICBjb25zdCBuZXh0ID0gWy4uLmN1cnJlbnRdO1xuICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICBjb25zdCBkZW5zaXR5ID0gdGhpcy5jaGV2cm9uRGVuc2l0eSgpO1xuICAgIGZvciAobGV0IG4gPSAwOyBuIDwgY291bnQ7IG4rKykge1xuICAgICAgY29uc3QgaWR4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbmV4dC5sZW5ndGgpO1xuICAgICAgbmV4dFtpZHhdID0gZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGRlbnNpdHkpO1xuICAgIH1cbiAgICB0aGlzLnRpbGVzLnNldChuZXh0KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyKSBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlUGFsZXR0ZShwOiBQYXR0ZXJuUGFsZXR0ZUtleSB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHApKSB7XG4gICAgICAvLyBBY2VwdGEgYXJyYXlzIGRlIGN1YWxxdWllciBsb25naXR1ZCDiiaUyOyB0aWxlIGNvbnRyYXN0IGxvZ2ljIHVzYSDDrW5kaWNlcy5cbiAgICAgIHJldHVybiBwLmxlbmd0aCA+PSAyID8gcCA6IFBBVFRFUk5fUEFMRVRURVMucHVycGxlO1xuICAgIH1cbiAgICByZXR1cm4gUEFUVEVSTl9QQUxFVFRFU1twXSA/PyBQQVRURVJOX1BBTEVUVEVTLnB1cnBsZTtcbiAgfVxuXG4gIHByaXZhdGUgcmFuZG9tU2VlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxXzAwMF8wMDApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblBhbGV0dGVLZXkgfSBmcm9tICcuL21vdGlmcyc7XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGVsIGNvbXBvbmVudGUgYHZhbC1wYXR0ZXJuYC5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgKHNlZWQgZmlqbywgcmVwcm9kdWNpYmxlKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogMTIsIHJvd3M6IDQsIHNlZWQ6IDQyIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQW5pbWF0ZWQgc3RhZ2dlcmVkICgxIHRpbGUgY2FkYSAxLjJzLCBzdXRpbCk6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXBhdHRlcm4gW3Byb3BzXT1cInsgcGFsZXR0ZTogJ2luaycsIGNvbHM6IDE2LCByb3dzOiA4LCBhbmltYXRlZDogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEFuaW1hdGVkIG3DoXMgYWN0aXZvICgyIHRpbGVzIGNhZGEgODAwbXMpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IGFuaW1hdGVkOiB0cnVlLCByZXNodWZmbGVJbnRlcnZhbDogODAwLCB0aWxlc1BlclRpY2s6IDIgfVwiIC8+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTWV0YWRhdGEge1xuICAvKipcbiAgICogUGFsZXR0ZSBidWlsdC1pbiAoYCdwdXJwbGUnIHwgJ2luaycgfCAnbGF2ZW5kZXInYCkgbyBhcnJheSBjdXN0b20gZGUgOFxuICAgKiBjb2xvcmVzIGRhcmsg4oaSIGxpZ2h0LiBEZWZhdWx0OiBgJ3B1cnBsZSdgLlxuICAgKi9cbiAgcGFsZXR0ZT86IFBhdHRlcm5QYWxldHRlS2V5IHwgc3RyaW5nW107XG5cbiAgLyoqIENvbHVtbmFzIGRlbCBncmlkLiBEZWZhdWx0OiAxMi4gKi9cbiAgY29scz86IG51bWJlcjtcblxuICAvKiogRmlsYXMgZGVsIGdyaWQuIERlZmF1bHQ6IDQuICovXG4gIHJvd3M/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNlZWQgcGFyYSBNdWxiZXJyeTMyIOKAlCBkZXRlcm1pbmEgZWwgcGF0csOzbi4gU2kgbm8gc2UgcGFzYSwgZ2VuZXJhIHVubyByYW5kb21cbiAgICogYWwgbW91bnQgeSBxdWVkYSBmaWpvIChhIG1lbm9zIHF1ZSBgYW5pbWF0ZWQ6IHRydWVgKS5cbiAgICovXG4gIHNlZWQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlbnNpZGFkIGRlIGNoZXZyb25zICgwLi4xKS4gRWwgcmVzdG8gc2UgcmVwYXJ0ZSBlbnRyZSBzb2xpZC9zaGFwZS90cmkuXG4gICAqIERlZmF1bHQ6IGAwLjU1YC5cbiAgICovXG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGVsIHBhdHLDs24gaGFjZSAqKnN0YWdnZXJlZCByZXNodWZmbGUqKjogY2FkYSBgcmVzaHVmZmxlSW50ZXJ2YWxgXG4gICAqIG1zIHNlIHJlZW1wbGF6YW4gYHRpbGVzUGVyVGlja2AgdGlsZXMgcmFuZG9tIOKAlCBOTyBsYSBncmlkIGVudGVyYS5cbiAgICogRGVmYXVsdDogYGZhbHNlYC5cbiAgICovXG4gIGFuaW1hdGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogbXMgZW50cmUgdXBkYXRlcyBpbmRpdmlkdWFsZXMgZGUgdGlsZXMgKG1vZG8gYW5pbWF0ZWQpLlxuICAgKiBEZWZhdWx0OiBgMTIwMGAgKH4xIHRpbGUgY2FkYSAxLjJzIGNvbiBgdGlsZXNQZXJUaWNrOiAxYCkuXG4gICAqL1xuICByZXNodWZmbGVJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ3XDoW50b3MgdGlsZXMgY2FtYmlhciBwb3IgdGljayAobW9kbyBhbmltYXRlZCkuIERlZmF1bHQ6IGAxYCAoY2FtYmlvIHN1dGlsKS5cbiAgICogU3ViaXIgYSAyLTQgcGFyYSBlZmVjdG8gbcOhcyB2aXZvLlxuICAgKi9cbiAgdGlsZXNQZXJUaWNrPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBgc2xpY2VgIChkZWZhdWx0KSDigJQgZWwgcGF0csOzbiBjdWJyZSB0b2RvIGVsIGNvbnRlbmVkb3IgbWFudGVuaWVuZG8gYXNwZWN0LFxuICAgKiBjcm9wZWFuZG8gc2kgbmVjZXNhcmlvLiBgbWVldGAg4oCUIGZpdCBjb21wbGV0byBzaW4gY3JvcCwgZGVqYSBlc3BhY2lvLlxuICAgKi9cbiAgcHJlc2VydmVBc3BlY3Q/OiAnc2xpY2UnIHwgJ21lZXQnO1xufVxuIl19
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { RouterLink } from '@angular/router';
|
|
4
|
+
import { IonButton, IonIcon } from '@ionic/angular/standalone';
|
|
5
|
+
import { addIcons } from 'ionicons';
|
|
6
|
+
import { closeOutline } from 'ionicons/icons';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* `val-cookie-banner` — bottom/top fixed banner asking the user to choose
|
|
10
|
+
* a cookie consent option. Presentational only: emits events on each
|
|
11
|
+
* action, the parent decides what to do (typically wiring to
|
|
12
|
+
* `AnalyticsService` from `valtech-components`).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <val-cookie-banner
|
|
16
|
+
* [props]="bannerProps()"
|
|
17
|
+
* (accept)="onAccept()"
|
|
18
|
+
* (reject)="onReject()"
|
|
19
|
+
* (customize)="onCustomize()"
|
|
20
|
+
* (dismiss)="onDismiss()"
|
|
21
|
+
* />
|
|
22
|
+
*
|
|
23
|
+
* Wire `props.visible` to `analytics.consentState().hasDecided === false`
|
|
24
|
+
* so the banner auto-hides once the user makes a choice.
|
|
25
|
+
*/
|
|
26
|
+
export class CookieBannerComponent {
|
|
27
|
+
constructor() {
|
|
28
|
+
/** Fired when the user clicks the primary "accept" button. */
|
|
29
|
+
this.accept = new EventEmitter();
|
|
30
|
+
/** Fired when the user clicks the secondary "reject" button. */
|
|
31
|
+
this.reject = new EventEmitter();
|
|
32
|
+
/** Fired when the user clicks the tertiary "customize/configure" button. */
|
|
33
|
+
this.customize = new EventEmitter();
|
|
34
|
+
/** Fired when the user clicks the dismiss (X) icon. */
|
|
35
|
+
this.dismiss = new EventEmitter();
|
|
36
|
+
addIcons({ closeOutline });
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CookieBannerComponent, isStandalone: true, selector: "val-cookie-banner", inputs: { props: "props" }, outputs: { accept: "accept", reject: "reject", customize: "customize", dismiss: "dismiss" }, ngImport: i0, template: `
|
|
40
|
+
@if (props?.visible) {
|
|
41
|
+
<div
|
|
42
|
+
class="val-cookie-banner"
|
|
43
|
+
[class.val-cookie-banner--top]="props.position === 'top'"
|
|
44
|
+
[class.val-cookie-banner--bottom]="props.position !== 'top'"
|
|
45
|
+
[class.val-cookie-banner--translucent]="props.translucent"
|
|
46
|
+
role="dialog"
|
|
47
|
+
aria-modal="false"
|
|
48
|
+
aria-live="polite"
|
|
49
|
+
>
|
|
50
|
+
<div class="val-cookie-banner__inner" [style.max-width]="props.maxWidth || '1200px'">
|
|
51
|
+
@if (props.dismissible) {
|
|
52
|
+
<button
|
|
53
|
+
type="button"
|
|
54
|
+
class="val-cookie-banner__dismiss"
|
|
55
|
+
[attr.aria-label]="'dismiss'"
|
|
56
|
+
(click)="dismiss.emit()"
|
|
57
|
+
>
|
|
58
|
+
<ion-icon name="close-outline"></ion-icon>
|
|
59
|
+
</button>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
<div class="val-cookie-banner__copy">
|
|
63
|
+
@if (props.title) {
|
|
64
|
+
<h3 class="val-cookie-banner__title">{{ props.title }}</h3>
|
|
65
|
+
}
|
|
66
|
+
<p class="val-cookie-banner__message">
|
|
67
|
+
{{ props.message }}
|
|
68
|
+
@if (props.policyLinkText && props.policyHref) {
|
|
69
|
+
<a class="val-cookie-banner__policy" [href]="props.policyHref" target="_blank" rel="noopener">
|
|
70
|
+
{{ props.policyLinkText }}
|
|
71
|
+
</a>
|
|
72
|
+
}
|
|
73
|
+
</p>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<div class="val-cookie-banner__actions">
|
|
77
|
+
<ion-button fill="clear" size="small" [color]="props.rejectColor || 'medium'" (click)="reject.emit()">
|
|
78
|
+
{{ props.rejectText }}
|
|
79
|
+
</ion-button>
|
|
80
|
+
|
|
81
|
+
@if (props.customizeText) {
|
|
82
|
+
@if (props.customizeRouterLink) {
|
|
83
|
+
<ion-button
|
|
84
|
+
fill="outline"
|
|
85
|
+
size="small"
|
|
86
|
+
[color]="props.customizeColor || 'dark'"
|
|
87
|
+
[routerLink]="props.customizeRouterLink"
|
|
88
|
+
(click)="customize.emit()"
|
|
89
|
+
>
|
|
90
|
+
{{ props.customizeText }}
|
|
91
|
+
</ion-button>
|
|
92
|
+
} @else {
|
|
93
|
+
<ion-button
|
|
94
|
+
fill="outline"
|
|
95
|
+
size="small"
|
|
96
|
+
[color]="props.customizeColor || 'dark'"
|
|
97
|
+
(click)="customize.emit()"
|
|
98
|
+
>
|
|
99
|
+
{{ props.customizeText }}
|
|
100
|
+
</ion-button>
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
<ion-button fill="solid" size="small" [color]="props.acceptColor || 'primary'" (click)="accept.emit()">
|
|
105
|
+
{{ props.acceptText }}
|
|
106
|
+
</ion-button>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
}
|
|
111
|
+
`, isInline: true, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}@media (prefers-color-scheme: dark){.val-cookie-banner--translucent{background:#141414d9}}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
112
|
+
}
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieBannerComponent, decorators: [{
|
|
114
|
+
type: Component,
|
|
115
|
+
args: [{ selector: 'val-cookie-banner', standalone: true, imports: [CommonModule, RouterLink, IonButton, IonIcon], template: `
|
|
116
|
+
@if (props?.visible) {
|
|
117
|
+
<div
|
|
118
|
+
class="val-cookie-banner"
|
|
119
|
+
[class.val-cookie-banner--top]="props.position === 'top'"
|
|
120
|
+
[class.val-cookie-banner--bottom]="props.position !== 'top'"
|
|
121
|
+
[class.val-cookie-banner--translucent]="props.translucent"
|
|
122
|
+
role="dialog"
|
|
123
|
+
aria-modal="false"
|
|
124
|
+
aria-live="polite"
|
|
125
|
+
>
|
|
126
|
+
<div class="val-cookie-banner__inner" [style.max-width]="props.maxWidth || '1200px'">
|
|
127
|
+
@if (props.dismissible) {
|
|
128
|
+
<button
|
|
129
|
+
type="button"
|
|
130
|
+
class="val-cookie-banner__dismiss"
|
|
131
|
+
[attr.aria-label]="'dismiss'"
|
|
132
|
+
(click)="dismiss.emit()"
|
|
133
|
+
>
|
|
134
|
+
<ion-icon name="close-outline"></ion-icon>
|
|
135
|
+
</button>
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
<div class="val-cookie-banner__copy">
|
|
139
|
+
@if (props.title) {
|
|
140
|
+
<h3 class="val-cookie-banner__title">{{ props.title }}</h3>
|
|
141
|
+
}
|
|
142
|
+
<p class="val-cookie-banner__message">
|
|
143
|
+
{{ props.message }}
|
|
144
|
+
@if (props.policyLinkText && props.policyHref) {
|
|
145
|
+
<a class="val-cookie-banner__policy" [href]="props.policyHref" target="_blank" rel="noopener">
|
|
146
|
+
{{ props.policyLinkText }}
|
|
147
|
+
</a>
|
|
148
|
+
}
|
|
149
|
+
</p>
|
|
150
|
+
</div>
|
|
151
|
+
|
|
152
|
+
<div class="val-cookie-banner__actions">
|
|
153
|
+
<ion-button fill="clear" size="small" [color]="props.rejectColor || 'medium'" (click)="reject.emit()">
|
|
154
|
+
{{ props.rejectText }}
|
|
155
|
+
</ion-button>
|
|
156
|
+
|
|
157
|
+
@if (props.customizeText) {
|
|
158
|
+
@if (props.customizeRouterLink) {
|
|
159
|
+
<ion-button
|
|
160
|
+
fill="outline"
|
|
161
|
+
size="small"
|
|
162
|
+
[color]="props.customizeColor || 'dark'"
|
|
163
|
+
[routerLink]="props.customizeRouterLink"
|
|
164
|
+
(click)="customize.emit()"
|
|
165
|
+
>
|
|
166
|
+
{{ props.customizeText }}
|
|
167
|
+
</ion-button>
|
|
168
|
+
} @else {
|
|
169
|
+
<ion-button
|
|
170
|
+
fill="outline"
|
|
171
|
+
size="small"
|
|
172
|
+
[color]="props.customizeColor || 'dark'"
|
|
173
|
+
(click)="customize.emit()"
|
|
174
|
+
>
|
|
175
|
+
{{ props.customizeText }}
|
|
176
|
+
</ion-button>
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
<ion-button fill="solid" size="small" [color]="props.acceptColor || 'primary'" (click)="accept.emit()">
|
|
181
|
+
{{ props.acceptText }}
|
|
182
|
+
</ion-button>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
}
|
|
187
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}@media (prefers-color-scheme: dark){.val-cookie-banner--translucent{background:#141414d9}}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"] }]
|
|
188
|
+
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], accept: [{
|
|
191
|
+
type: Output
|
|
192
|
+
}], reject: [{
|
|
193
|
+
type: Output
|
|
194
|
+
}], customize: [{
|
|
195
|
+
type: Output
|
|
196
|
+
}], dismiss: [{
|
|
197
|
+
type: Output
|
|
198
|
+
}] } });
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzlDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQWlGSCxNQUFNLE9BQU8scUJBQXFCO0lBYWhDO1FBVEEsOERBQThEO1FBQ3BELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVDLGdFQUFnRTtRQUN0RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1Qyw0RUFBNEU7UUFDbEUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDL0MsdURBQXVEO1FBQzdDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNDLFFBQVEsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0FmVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzTUE1RXRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RVQsa2tGQXpFUyxZQUFZLCtCQUFFLFVBQVUsb09BQUUsU0FBUyxvUEFBRSxPQUFPOzs0RkE2RTNDLHFCQUFxQjtrQkFoRmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUM3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNO3dEQUl0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksTUFBTTtzQkFBZixNQUFNO2dCQUVHLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjbG9zZU91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBDb29raWVCYW5uZXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIGB2YWwtY29va2llLWJhbm5lcmAg4oCUIGJvdHRvbS90b3AgZml4ZWQgYmFubmVyIGFza2luZyB0aGUgdXNlciB0byBjaG9vc2VcbiAqIGEgY29va2llIGNvbnNlbnQgb3B0aW9uLiBQcmVzZW50YXRpb25hbCBvbmx5OiBlbWl0cyBldmVudHMgb24gZWFjaFxuICogYWN0aW9uLCB0aGUgcGFyZW50IGRlY2lkZXMgd2hhdCB0byBkbyAodHlwaWNhbGx5IHdpcmluZyB0b1xuICogYEFuYWx5dGljc1NlcnZpY2VgIGZyb20gYHZhbHRlY2gtY29tcG9uZW50c2ApLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWNvb2tpZS1iYW5uZXJcbiAqICAgW3Byb3BzXT1cImJhbm5lclByb3BzKClcIlxuICogICAoYWNjZXB0KT1cIm9uQWNjZXB0KClcIlxuICogICAocmVqZWN0KT1cIm9uUmVqZWN0KClcIlxuICogICAoY3VzdG9taXplKT1cIm9uQ3VzdG9taXplKClcIlxuICogICAoZGlzbWlzcyk9XCJvbkRpc21pc3MoKVwiXG4gKiAvPlxuICpcbiAqIFdpcmUgYHByb3BzLnZpc2libGVgIHRvIGBhbmFseXRpY3MuY29uc2VudFN0YXRlKCkuaGFzRGVjaWRlZCA9PT0gZmFsc2VgXG4gKiBzbyB0aGUgYmFubmVyIGF1dG8taGlkZXMgb25jZSB0aGUgdXNlciBtYWtlcyBhIGNob2ljZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1iYW5uZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25CdXR0b24sIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAocHJvcHM/LnZpc2libGUpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2YWwtY29va2llLWJhbm5lclwiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tdG9wXT1cInByb3BzLnBvc2l0aW9uID09PSAndG9wJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tYm90dG9tXT1cInByb3BzLnBvc2l0aW9uICE9PSAndG9wJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tdHJhbnNsdWNlbnRdPVwicHJvcHMudHJhbnNsdWNlbnRcIlxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgYXJpYS1tb2RhbD1cImZhbHNlXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19pbm5lclwiIFtzdHlsZS5tYXgtd2lkdGhdPVwicHJvcHMubWF4V2lkdGggfHwgJzEyMDBweCdcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmRpc21pc3NpYmxlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19kaXNtaXNzXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInZGlzbWlzcydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcy5lbWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19jb3B5XCI+XG4gICAgICAgICAgICBAaWYgKHByb3BzLnRpdGxlKSB7XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX190aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAge3sgcHJvcHMubWVzc2FnZSB9fVxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnBvbGljeUxpbmtUZXh0ICYmIHByb3BzLnBvbGljeUhyZWYpIHtcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19wb2xpY3lcIiBbaHJlZl09XCJwcm9wcy5wb2xpY3lIcmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHByb3BzLnBvbGljeUxpbmtUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWNvb2tpZS1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIFtjb2xvcl09XCJwcm9wcy5yZWplY3RDb2xvciB8fCAnbWVkaXVtJ1wiIChjbGljayk9XCJyZWplY3QuZW1pdCgpXCI+XG4gICAgICAgICAgICAgIHt7IHByb3BzLnJlamVjdFRleHQgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgQGlmIChwcm9wcy5jdXN0b21pemVUZXh0KSB7XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuY3VzdG9taXplUm91dGVyTGluaykge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmN1c3RvbWl6ZUNvbG9yIHx8ICdkYXJrJ1wiXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJwcm9wcy5jdXN0b21pemVSb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21pemUuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBwcm9wcy5jdXN0b21pemVUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jdXN0b21pemVDb2xvciB8fCAnZGFyaydcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1c3RvbWl6ZS5lbWl0KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHByb3BzLmN1c3RvbWl6ZVRleHQgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgc2l6ZT1cInNtYWxsXCIgW2NvbG9yXT1cInByb3BzLmFjY2VwdENvbG9yIHx8ICdwcmltYXJ5J1wiIChjbGljayk9XCJhY2NlcHQuZW1pdCgpXCI+XG4gICAgICAgICAgICAgIHt7IHByb3BzLmFjY2VwdFRleHQgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Nvb2tpZS1iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUJhbm5lckNvbXBvbmVudCB7XG4gIC8qKiBCYW5uZXIgY29uZmlndXJhdGlvbiBvYmplY3QuICovXG4gIEBJbnB1dCgpIHByb3BzITogQ29va2llQmFubmVyTWV0YWRhdGE7XG5cbiAgLyoqIEZpcmVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBwcmltYXJ5IFwiYWNjZXB0XCIgYnV0dG9uLiAqL1xuICBAT3V0cHV0KCkgYWNjZXB0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKiogRmlyZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIHNlY29uZGFyeSBcInJlamVjdFwiIGJ1dHRvbi4gKi9cbiAgQE91dHB1dCgpIHJlamVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqIEZpcmVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSB0ZXJ0aWFyeSBcImN1c3RvbWl6ZS9jb25maWd1cmVcIiBidXR0b24uICovXG4gIEBPdXRwdXQoKSBjdXN0b21pemUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKiBGaXJlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgZGlzbWlzcyAoWCkgaWNvbi4gKi9cbiAgQE91dHB1dCgpIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSWNvbnMoeyBjbG9zZU91dGxpbmUgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Nvb2tpZS1iYW5uZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG4vKiogUG9zaXRpb24gb2YgdGhlIGJhbm5lciByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQuICovXG5leHBvcnQgdHlwZSBDb29raWVCYW5uZXJQb3NpdGlvbiA9ICdib3R0b20nIHwgJ3RvcCc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYHZhbC1jb29raWUtYmFubmVyYC5cbiAqXG4gKiBUaGUgYmFubmVyIGlzIHB1cmVseSBwcmVzZW50YXRpb25hbDogaXQgc2hvd3MgY29uZmlndXJhYmxlIHRleHQgYW5kXG4gKiB1cCB0byB0aHJlZSBhY3Rpb24gYnV0dG9ucy4gSXQgZG9lcyBOT1QgY291cGxlIHRvIGFueSBjb25zZW50IHNlcnZpY2Ug4oCUXG4gKiB0aGUgcGFyZW50IGRlY2lkZXMgd2hhdCB0byBkbyBvbiBlYWNoIGV2ZW50IChhY2NlcHQvcmVqZWN0L2N1c3RvbWl6ZSkuXG4gKlxuICogVHlwaWNhbCB3aXJpbmcgKHdpdGggYEFuYWx5dGljc1NlcnZpY2VgIGZyb20gdmFsdGVjaC1jb21wb25lbnRzKTpcbiAqICAgLSBgYWNjZXB0YCAgIOKGkiBgYW5hbHl0aWNzLmdyYW50QWxsQ29uc2VudCgpYFxuICogICAtIGByZWplY3RgICAg4oaSIGBhbmFseXRpY3MuZGVueUFsbENvbnNlbnQoKWBcbiAqICAgLSBgY3VzdG9taXplYCDihpIgYHJvdXRlci5uYXZpZ2F0ZShbJy9jb29raWVzJ10pYFxuICpcbiAqIFZpc2liaWxpdHkgaXMgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IHZpYSBgW3Zpc2libGVdYCDigJQgdHlwaWNhbGx5XG4gKiB0aWVkIHRvIGBhbmFseXRpY3MuY29uc2VudFN0YXRlKCkuaGFzRGVjaWRlZCA9PT0gZmFsc2VgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZUJhbm5lck1ldGFkYXRhIHtcbiAgLyoqIFdoZXRoZXIgdGhlIGJhbm5lciBpcyBzaG93bi4gUGFyZW50IHRvZ2dsZXMgYmFzZWQgb24gYGhhc0RlY2lkZWRgLiAqL1xuICB2aXNpYmxlOiBib29sZWFuO1xuXG4gIC8qKiBXaGVyZSB0aGUgYmFubmVyIGFuY2hvcnMuIERlZmF1bHQgYCdib3R0b20nYC4gKi9cbiAgcG9zaXRpb24/OiBDb29raWVCYW5uZXJQb3NpdGlvbjtcblxuICAvKiogU2hvcnQgdGl0bGUgYWJvdmUgdGhlIG1lc3NhZ2UgKG9wdGlvbmFsKS4gKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1haW4gbWVzc2FnZSBzaG93biB0byB0aGUgdXNlci4gUGxhaW4gdGV4dCDigJQgbmV3bGluZXMgcmVzcGVjdGVkLlxuICAgKiBGb3IgaW5saW5lIGxpbmtzLCB1c2UgYHBvbGljeUhyZWZgICsgYHBvbGljeUxpbmtUZXh0YCBzbyB0aGUgbGlua1xuICAgKiByZW5kZXJzIGNvbnNpc3RlbnRseSBhZnRlciB0aGUgbWVzc2FnZS5cbiAgICovXG4gIG1lc3NhZ2U6IHN0cmluZztcblxuICAvKiogT3B0aW9uYWwgaW5saW5lIGxpbmsgYXBwZW5kZWQgdG8gdGhlIG1lc3NhZ2UgKGUuZy4gXCJNb3JlIGluZm9cIikuICovXG4gIHBvbGljeUxpbmtUZXh0Pzogc3RyaW5nO1xuICAvKiogSHJlZiBmb3IgdGhlIGlubGluZSBwb2xpY3kgbGluayAocmVsYXRpdmUgb3IgYWJzb2x1dGUpLiAqL1xuICBwb2xpY3lIcmVmPzogc3RyaW5nO1xuXG4gIC8qKiBMYWJlbCBmb3IgdGhlIFwiYWNjZXB0IGFsbFwiIHByaW1hcnkgYWN0aW9uLiAqL1xuICBhY2NlcHRUZXh0OiBzdHJpbmc7XG4gIC8qKiBMYWJlbCBmb3IgdGhlIFwicmVqZWN0IC8gZXNzZW50aWFsIG9ubHlcIiBzZWNvbmRhcnkgYWN0aW9uLiAqL1xuICByZWplY3RUZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExhYmVsIGZvciB0aGUgXCJjb25maWd1cmUgLyBjdXN0b21pemVcIiB0ZXJ0aWFyeSBhY3Rpb24uIFdoZW4gb21pdHRlZCxcbiAgICogdGhlIGJ1dHRvbiBpcyBub3QgcmVuZGVyZWQgKHNpbXBsZSB0d28tYnV0dG9uIG1vZGUpLlxuICAgKi9cbiAgY3VzdG9taXplVGV4dD86IHN0cmluZztcbiAgLyoqIFJvdXRlciBsaW5rIGFwcGxpZWQgdG8gdGhlIGN1c3RvbWl6ZSBidXR0b24gKGUuZy4gYCcvY29va2llcydgKS4gKi9cbiAgY3VzdG9taXplUm91dGVyTGluaz86IHN0cmluZztcblxuICAvKiogU2hvdyBhbiBgWGAgaWNvbiB0byBkaXNtaXNzIHRoZSBiYW5uZXIgd2l0aG91dCBkZWNpZGluZy4gRGVmYXVsdCBgZmFsc2VgLiAqL1xuICBkaXNtaXNzaWJsZT86IGJvb2xlYW47XG5cbiAgLyoqIENvbG9yIG9mIHRoZSBwcmltYXJ5IGFjdGlvbiBidXR0b24uIERlZmF1bHQgYCdwcmltYXJ5J2AuICovXG4gIGFjY2VwdENvbG9yPzogQ29sb3I7XG4gIC8qKiBDb2xvciBvZiB0aGUgc2Vjb25kYXJ5IGFjdGlvbiBidXR0b24uIERlZmF1bHQgYCdtZWRpdW0nYC4gKi9cbiAgcmVqZWN0Q29sb3I/OiBDb2xvcjtcbiAgLyoqIENvbG9yIG9mIHRoZSB0ZXJ0aWFyeSBhY3Rpb24gYnV0dG9uLiBEZWZhdWx0IGAnZGFyaydgLiAqL1xuICBjdXN0b21pemVDb2xvcj86IENvbG9yO1xuXG4gIC8qKlxuICAgKiBNYXggd2lkdGggb2YgdGhlIGlubmVyIGJhbm5lciBjb250YWluZXIuIERlZmF1bHRzIHRvIGAnMTIwMHB4J2Agc28gaXRcbiAgICogZG9lc24ndCBzcGFuIHRoZSBmdWxsIHZpZXdwb3J0IG9uIGxhcmdlIHNjcmVlbnMuXG4gICAqL1xuICBtYXhXaWR0aD86IHN0cmluZztcblxuICAvKiogQXBwbHkgdHJhbnNsdWNlbnQgKGdsYXNzLXN0eWxlKSBiYWNrZHJvcC4gRGVmYXVsdCBgZmFsc2VgLiAqL1xuICB0cmFuc2x1Y2VudD86IGJvb2xlYW47XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -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.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.775';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC43NzUnO1xuIl19
|