From f8cce3001c37e6de61e5f78638da3f2a9ad189ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar?=
+
+### Aiguamarina
+
+La skin per defecte. Si la variable `skin` no està configurada (o és igual a `"teal"`), aquest és l'aspecte de tabi:
+
+{{ image_toggler(default_src="img/skins/teal_light.webp", toggled_src="img/skins/teal_dark.webp", default_alt="teal skin in light mode", toggled_alt="teal skin in dark mode", full_width=true) }}
+
+
+
+### Lavanda
+
+{{ image_toggler(default_src="img/skins/lavender_light.webp", toggled_src="img/skins/lavender_dark.webp", default_alt="skin lavanda en mode clar", toggled_alt="skin lavanda en mode fosc", full_width=true) }}
+
+Per aplicar-la, utilitza `skin = "lavender"`.
+
+
+
+### Vermell
+
+{{ image_toggler(default_src="img/skins/red_light.webp", toggled_src="img/skins/red_dark.webp", default_alt="skin vermell en mode clar", toggled_alt="skin vermell en mode fosc", full_width=true) }}
+
+Canvia a aquesta skin establint `skin = "red"`.
+
+
+
+### Menta
+
+Una skin dissenyada per 🅿️.
+
+{{ image_toggler(default_src="img/skins/mint_light.webp", toggled_src="img/skins/mint_dark.webp", default_alt="skin menta amb tema clar", toggled_alt="skin menta amb tema fosc", full_width=true) }}
+
+Activa-la amb `skin = "mint"`.
+
+
+
+### Sakura
+
+Inspirat per la temporada de floració dels cirerers al Japó.
+
+{{ image_toggler(default_src="img/skins/sakura_light.webp", toggled_src="img/skins/sakura_dark.webp", default_alt="skin sakura en mode clar", toggled_alt="skin sakura en mode fosc", full_width=true) }}
+
+Per habilitar aquesta skin, ajusta `skin = "sakura"`.
+
+
+
+### Blau
+
+{{ image_toggler(default_src="img/skins/blue_light.webp", toggled_src="img/skins/blue_dark.webp", default_alt="skin blau en mode clar", toggled_alt="skin blau en mode fosc", full_width=true) }}
+
+Per activar aquesta aparença, estableix `skin = "blue"`.
+
+
+
+### Lingot indigo
+
+*Indigo* pel blau (en el tema clar) i *lingot* pel daurat (en el tema fosc).
+
+{{ image_toggler(default_src="img/skins/indigo_ingot_light.webp", toggled_src="img/skins/indigo_ingot_dark.webp", default_alt="skin lingot indigo en mode clar", toggled_alt="skin lingot indigo en mode fosc", full_width=true) }}
+
+Per activar aquest tema, utilitza `skin = "indigo_ingot"`.
+
+
+
+### Evangelion
+
+Inspirat pels colors de la Unitat Evangelion-01 (en el tema fosc) i la Unitat-02 (en el tema clar).
+
+{{ image_toggler(default_src="img/skins/evangelion_light.webp", toggled_src="img/skins/evangelion_dark.webp", default_alt="skin evangelion en mode clar", toggled_alt="skin evangelion en mode fosc", full_width=true) }}
+
+
+
+### Monocromàtic
+
+{{ image_toggler(default_src="img/skins/monochrome_light.webp", toggled_src="img/skins/monochrome_dark.webp", default_alt="skin monocromàtic en mode clar", toggled_alt="skin monocromàtic en mode fosc", full_width=true) }}
+
+Per aconseguir aquesta aparença, estableix `skin = "monochrome"`.
+
+
+
+### Taronja (baix contrast)
+
+**AVÍS!** Aquesta skin en mode clar pot tenir [baix contrast](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), afectant l'accessibilitat i la qualificació Lighthouse. (El mode fosc té bon contrast.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_orange_light.webp", toggled_src="img/skins/lowcontrast_orange_dark.webp", default_alt="skin taronja de baix contrast en mode clar", toggled_alt="skin taronja de baix contrast en mode fosc", full_width=true) }}
+
+Per utilitzar-la, estableix `skin = "lowcontrast_orange"`.
+
+
+
+### Préssec (baix contrast)
+
+**AVÍS!** Aquesta skin en mode clar pot tenir [baix contrast](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), afectant l'accessibilitat i la qualificació Lighthouse. (El mode fosc té bon contrast.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_peach_light.webp", toggled_src="img/skins/lowcontrast_peach_dark.webp", default_alt="skin préssec de baix contrast en mode clar", toggled_alt="skin préssec de baix contrast en mode fosc", full_width=true) }}
+
+Especifica `skin = "lowcontrast_peach"` per utilitzar aquesta skin.
+
+
+
+### Rosa (baix contrast)
+
+**AVÍS!** Aquesta skin en mode clar pot tenir [baix contrast](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), afectant l'accessibilitat i la qualificació Lighthouse. (El mode fosc té bon contrast.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_pink_light.webp", toggled_src="img/skins/lowcontrast_pink_dark.webp", default_alt="skin rosa de baix contrast en tema clar", toggled_alt="skin rosa de baix contrast en tema fosc", full_width=true) }}
+
+Per utilitzar aquests colors, assigna `skin = "lowcontrast_pink"`.
+
+
+
+### Crea la teva pròpia skin
+
+No estàs limitat a les skins predefinides. Per què no crees un disseny únic que et representi?
+
+Per començar, dirigeix-te a `themes/tabi/sass/skins` i crea un nou arxiu (per exemple, `la_teva_skin.scss`). Aquest arxiu ha de tenir aquestes dues variables (aquesta és la skin predeterminada, `teal`):
+
+```scss
+:root {
+ --primary-color: #087e96;
+}
+
+[data-theme='dark'] {
+ --primary-color: #91e0ee;
+}
+```
+
+Modifica els colors al teu gust. Una vegada estiguis satisfet, actualitza la variable `skin` perquè coincideixi amb el nom del teu arxiu.
+
+Recorda tenir en compte l'accesibilitat dels colors que triis. Aquí tens un enllaç que et pot ajudar: [WebAIM: Contrast Checker](https://webaim.org/resources/contrastchecker/). El fondo del tema clar és `#fff`, i el del tema fosc `#1f1f1f`.
diff --git a/content/blog/customise-tabi.es.md b/content/blog/customise-tabi.es.md
new file mode 100644
index 0000000..cb8c9e5
--- /dev/null
+++ b/content/blog/customise-tabi.es.md
@@ -0,0 +1,177 @@
++++
+title = "Personaliza el color de tabi y el tema predeterminado"
+date = 2023-08-09
+description = "Aprende a personalizar tabi usando skins y estableciendo un tema predeterminado, haciendo que tu sitio sea único."
+
+[taxonomies]
+tags = ["funcionalidad", "tutorial"]
+
+[extra]
+toc = true
+quick_navigation_buttons = true
++++
+
+tabi puede ser personalizado de dos maneras: estableciendo el tema predeterminado (oscuro o claro) y eligiendo el color principal para el tema ("skin").
+
+## Tema predeterminado
+
+Para configurar permanentemente tu sitio en el tema oscuro o claro, necesitas desactivar el `theme_switcher` en `config.toml` y establecer tu tema preferido (`light` o `dark`) como el `default_theme`.
+
+Por ejemplo, para tener un tema oscuro permanente:
+
+```toml
+[extra]
+theme_switcher = false
+default_theme = "dark"
+```
+
+Si tu interruptor de modo claro/oscuro está activado, el `default_theme` sólo se usará como respaldo, en caso de que un visitante tenga JavaScript desactivado.
+
+## Skins
+
+¿No te gusta el aguamarina? ¡No hay problema! tabi tiene 12 skins (pieles) para elegir. Si ninguna de estas te convence, puedes [crear tu propia skin](#crea-tu-propia-skin).
+
+Una skin es un archivo CSS con dos variables: el color principal para el tema claro y el color principal para el tema oscuro.
+
+Activar una skin es tan fácil como establecer la variable `skin` en tu `config.toml` con el nombre de la skin. Por ejemplo:
+
+```toml
+[extra]
+skin = "sakura"
+```
+
+Echa un vistazo a las pieles disponibles a continuación.
+
+**Haz clic en las imágenes** para cambiar entre los temas oscuro y claro.
+
+
+
+### Aguamarina
+
+La skin predeterminada. Si la variable `skin` no está configurada (o es igual a `"teal"`), este es el aspecto de tabi:
+
+{{ image_toggler(default_src="img/skins/teal_light.webp", toggled_src="img/skins/teal_dark.webp", default_alt="skin aguamarina en tema claro", toggled_alt="skin aguamarina en tema oscuro", full_width=true) }}
+
+
+
+### Lavanda
+
+{{ image_toggler(default_src="img/skins/lavender_light.webp", toggled_src="img/skins/lavender_dark.webp", default_alt="skin lavanda en tema claro", toggled_alt="skin lavanda en tema oscuro", full_width=true) }}
+
+Aplica esta skin con `skin = "lavender"`.
+
+
+
+### Rojo
+
+{{ image_toggler(default_src="img/skins/red_light.webp", toggled_src="img/skins/red_dark.webp", default_alt="skin rojo en tema claro", toggled_alt="skin rojo en tema oscuro", full_width=true) }}
+
+Cambia a esta skin con la configuración `skin = "red"`.
+
+
+
+### Menta
+
+Una skin hecha por 🅿️.
+
+{{ image_toggler(default_src="img/skins/mint_light.webp", toggled_src="img/skins/mint_dark.webp", default_alt="skin menta en tema claro", toggled_alt="skin menta en tema oscuro", full_width=true) }}
+
+Actívala con `skin = "mint"`.
+
+
+
+### Sakura
+
+Inspirada en la temporada de florecimiento de los cerezos en Japón.
+
+{{ image_toggler(default_src="img/skins/sakura_light.webp", toggled_src="img/skins/sakura_dark.webp", default_alt="skin sakura en tema claro", toggled_alt="skin sakura en tema oscuro", full_width=true) }}
+
+Para activar esta skin, ajusta `skin = "sakura"`.
+
+
+
+### Azul
+
+{{ image_toggler(default_src="img/skins/blue_light.webp", toggled_src="img/skins/blue_dark.webp", default_alt="skin azul en tema claro", toggled_alt="skin azul en tema oscuro", full_width=true) }}
+
+Para lograr esta apariencia, establece `skin = "blue"`.
+
+
+
+### Lingote índigo
+
+*Índigo* por el azul (en el tema claro) y *lingote* por el oro (en el tema oscuro).
+
+{{ image_toggler(default_src="img/skins/indigo_ingot_light.webp", toggled_src="img/skins/indigo_ingot_dark.webp", default_alt="skin lingote índigo en tema claro", toggled_alt="skin lingote índigo en tema oscuro", full_width=true) }}
+
+Para activar esta skin, usa `skin = "indigo_ingot"`.
+
+
+
+### Evangelion
+
+Inspirada en los colores de la Unidad-01 de Evangelion (en el tema oscuro) y el EVA-02 (en el tema claro).
+
+{{ image_toggler(default_src="img/skins/evangelion_light.webp", toggled_src="img/skins/evangelion_dark.webp", default_alt="skin evangelion en tema claro", toggled_alt="skin evangelion en tema oscuro", full_width=true) }}
+
+Actívala con `skin = "evangelion"`.
+
+
+
+### Monocromático
+
+{{ image_toggler(default_src="img/skins/monochrome_light.webp", toggled_src="img/skins/monochrome_dark.webp", default_alt="skin monocromático en tema claro", toggled_alt="skin monocromático en tema oscuro", full_width=true) }}
+
+Si te gusta este look, usa `skin = "monochrome"`.
+
+
+
+### Naranja (bajo contraste)
+
+**¡ADVERTENCIA!** El tema claro de esta skin podría tener [poco contraste](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), afectando la accesibilidad y la calificación de Lighthouse. (El tema oscuro tiene buen contraste.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_orange_light.webp", toggled_src="img/skins/lowcontrast_orange_dark.webp", default_alt="skin naranja de bajo contraste en tema claro", toggled_alt="skin naranja de bajo contraste en tema oscuro", full_width=true) }}
+
+Para activarla, configura `skin = "lowcontrast_orange"`.
+
+
+
+### Melocotón (bajo contraste)
+
+**¡ADVERTENCIA!** El tema claro de esta skin podría tener [poco contraste](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), afectando la accesibilidad y la calificación de Lighthouse. (El tema oscuro tiene buen contraste.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_peach_light.webp", toggled_src="img/skins/lowcontrast_peach_dark.webp", default_alt="skin melocotón de bajo contraste en tema claro", toggled_alt="skin melocotón de bajo contraste en tema oscuro", full_width=true) }}
+
+Especifica `skin = "lowcontrast_peach"` para usar esta skin.
+
+
+
+### Rosa (bajo contraste)
+
+**¡ADVERTENCIA!** El tema claro de esta skin podría tener [poco contraste](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), afectando la accesibilidad y la calificación de Lighthouse. (El tema oscuro tiene buen contraste.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_pink_light.webp", toggled_src="img/skins/lowcontrast_pink_dark.webp", default_alt="skin rosa de bajo contraste en tema claro", toggled_alt="skin rosa de bajo contraste en tema oscuro", full_width=true) }}
+
+Para usar estos colores, asigna `skin = "lowcontrast_pink"`.
+
+
+
+### Crea tu propia skin
+
+No estás limitado a las skins predefinidas. ¿Por qué no diseñas un aspecto único que te represente?
+
+Para empezar, dirígete a `themes/tabi/sass/skins` y crea un nuevo archivo (por ejemplo, `tu_skin.scss`). Este archivo debe tener estas dos variables (esta es la piel predeterminada, `teal`):
+
+```scss
+:root {
+ --primary-color: #087e96;
+}
+
+[data-theme='dark'] {
+ --primary-color: #91e0ee;
+}
+```
+
+Modifica los colores a tu gusto. Una vez que estés satisfecho, actualiza la variable `skin` para que coincida con el nombre de tu archivo.
+
+Recuerda tener en cuenta la accesibilidad de los colores que elijas. Aquí tienes un enlace que te puede ayudar: [WebAIM: Contrast Checker](https://webaim.org/resources/contrastchecker/). El fondo del tema claro es `#fff`, y el del tema oscuro `#1f1f1f`.
diff --git a/content/blog/customise-tabi.md b/content/blog/customise-tabi.md
new file mode 100644
index 0000000..199da6b
--- /dev/null
+++ b/content/blog/customise-tabi.md
@@ -0,0 +1,186 @@
++++
+title = "Customise tabi with skins and a default theme"
+date = 2023-08-09
+description = "Learn how to customise tabi using skins and setting a default theme, making your site uniquely yours."
+
+[taxonomies]
+tags = ["showcase", "tutorial"]
+
+[extra]
+toc = true
+quick_navigation_buttons = true
++++
+
+tabi can be customised in two ways: by setting the default theme (dark or light) and by choosing the main colour for the theme (skins).
+
+## Default theme
+
+To permanently set your site to either the dark or light theme, you need to disable the theme switcher in `config.toml` and set your preferred theme as the `default_theme`.
+
+For example, to have a permanent dark theme:
+
+```toml
+[extra]
+theme_switcher = false
+default_theme = "dark"
+```
+
+If your theme switcher is enabled, the `default_theme` will only be used as fallback, in case a visitor has JavaScript disabled.
+
+## Skins
+
+Not a fan of teal? No problem! tabi has 12 skins for you to choose from. If none of these work for you, you can [create your own](#create-your-own-skin).
+
+A skin is a CSS file with two variables: the primary colour for the light theme, and the primary colour for the dark theme.
+
+Enabling a skin is as easy as setting the `skin` variable in your `config.toml` with the name of the skin. For example:
+
+```toml
+[extra]
+skin = "sakura"
+```
+
+Take a look below at the available skins below.
+
+**Click on the images** to switch between dark and light themes.
+
+
+
+### Teal
+
+The default skin. If the `skin` variable is unset (or set to `"teal"`), this is what tabi looks like:
+
+{{ image_toggler(default_src="img/skins/teal_light.webp", toggled_src="img/skins/teal_dark.webp", default_alt="teal skin in light mode", toggled_alt="teal skin in dark mode", full_width=true) }}
+
+
+
+### Lavender
+
+{{ image_toggler(default_src="img/skins/lavender_light.webp", toggled_src="img/skins/lavender_dark.webp", default_alt="lavender skin in light mode", toggled_alt="lavender skin in dark mode", full_width=true) }}
+
+To apply, use `skin = "lavender"`.
+
+
+
+
+### Red
+
+{{ image_toggler(default_src="img/skins/red_light.webp", toggled_src="img/skins/red_dark.webp", default_alt="red skin in light mode", toggled_alt="red skin in dark mode", full_width=true) }}
+
+Switch to this by setting `skin = "red"`.
+
+
+
+
+### Mint
+
+A skin designed by 🅿️.
+
+{{ image_toggler(default_src="img/skins/mint_light.webp", toggled_src="img/skins/mint_dark.webp", default_alt="mint skin in light mode", toggled_alt="mint skin in dark mode", full_width=true) }}
+
+Activate it with `skin = "mint"`.
+
+
+
+
+### Sakura
+
+Inspired by the Japanese cherry blossom season.
+
+{{ image_toggler(default_src="img/skins/sakura_light.webp", toggled_src="img/skins/sakura_dark.webp", default_alt="sakura skin in light mode", toggled_alt="sakura skin in dark mode", full_width=true) }}
+
+To enable this skin, adjust `skin = "sakura"`.
+
+
+
+
+### Blue
+
+{{ image_toggler(default_src="img/skins/blue_light.webp", toggled_src="img/skins/blue_dark.webp", default_alt="blue skin in light mode", toggled_alt="blue skin in dark mode", full_width=true) }}
+
+For this appearance, set `skin = "blue"`.
+
+
+
+
+### Indigo Ingot
+
+*Indigo* for blue (in light theme) and *ingot* for gold (in dark theme).
+
+{{ image_toggler(default_src="img/skins/indigo_ingot_light.webp", toggled_src="img/skins/indigo_ingot_dark.webp", default_alt="indigo ingot skin in light mode", toggled_alt="indigo ingot skin in dark mode", full_width=true) }}
+
+To activate this skin, use `skin = "indigo_ingot"`.
+
+
+
+
+### Evangelion
+
+Inspired by the colours of Evangelion Unit-01 (in dark theme) and Unit-02 (in light theme).
+
+{{ image_toggler(default_src="img/skins/evangelion_light.webp", toggled_src="img/skins/evangelion_dark.webp", default_alt="evangelion skin in light mode", toggled_alt="evangelion skin in dark mode", full_width=true) }}
+
+
+
+
+### Monochrome
+
+{{ image_toggler(default_src="img/skins/monochrome_light.webp", toggled_src="img/skins/monochrome_dark.webp", default_alt="monochrome skin in light mode", toggled_alt="monochrome skin in dark mode", full_width=true) }}
+
+To achieve this look, set `skin = "monochrome"`.
+
+
+
+
+### Low contrast orange
+
+**WARNING!** This skin's light theme may have [low contrast](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), affecting accessibility and Lighthouse rating. (Dark theme is fine.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_orange_light.webp", toggled_src="img/skins/lowcontrast_orange_dark.webp", default_alt="low contrast orange skin in light mode", toggled_alt="low contrast orange skin in dark mode", full_width=true) }}
+
+To use, set `skin = "lowcontrast_orange"`.
+
+
+
+
+### Low contrast peach
+
+**WARNING!** This skin's light theme may have [low contrast](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), affecting accessibility and Lighthouse rating. (Dark theme is fine.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_peach_light.webp", toggled_src="img/skins/lowcontrast_peach_dark.webp", default_alt="low contrast peach skin in light mode", toggled_alt="low contrast peach skin in dark mode", full_width=true) }}
+
+To enable it, specify `skin = "lowcontrast_peach"`.
+
+
+
+
+### Low contrast pink
+
+**WARNING!** This skin's light theme may have [low contrast](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), affecting accessibility and Lighthouse rating. (Dark theme is fine.)
+
+{{ image_toggler(default_src="img/skins/lowcontrast_pink_light.webp", toggled_src="img/skins/lowcontrast_pink_dark.webp", default_alt="low contrast pink skin in light mode", toggled_alt="low contrast pink skin in dark mode", full_width=true) }}
+
+For this colourscheme, choose `skin = "lowcontrast_pink"`.
+
+
+
+
+### Create your own skin
+
+You're not just limited to predefined skins. Why not create a look that's distinctively tailored to your preferences?
+
+To get started, head over to `themes/tabi/sass/skins` and add a new file (e.g. `your_skin.scss`). This file needs to have these two variables (this is the default skin, teal):
+
+```scss
+:root {
+ --primary-color: #087e96;
+}
+
+[data-theme='dark'] {
+ --primary-color: #91e0ee;
+}
+```
+
+Modify the colours to your taste. Once you're satisfied, update the `skin` variable to match your filename.
+
+Remember to consider the accessibility of the colours you choose. Here's a link that can help you: [WebAIM: Contrast Checker](https://webaim.org/resources/contrastchecker/). The background of the light theme is `#fff`, and the dark one is `#1f1f1f`.
diff --git a/sass/skins/blue.scss b/sass/skins/blue.scss
new file mode 100644
index 0000000..8b3225b
--- /dev/null
+++ b/sass/skins/blue.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #3271E7; // Contrast ratio: 4.51:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #6cacff; // Contrast ratio: 7.05:1
+}
diff --git a/sass/skins/evangelion.scss b/sass/skins/evangelion.scss
new file mode 100644
index 0000000..d2506fb
--- /dev/null
+++ b/sass/skins/evangelion.scss
@@ -0,0 +1,9 @@
+// Evangelion Unit-02.
+:root {
+ --primary-color: #d12e36; // Contrast ratio: 5.05:1
+}
+
+// Evangelion Unit-01.
+[data-theme='dark'] {
+ --primary-color: #c09bd9; // Contrast
+}
diff --git a/sass/skins/indigo_ingot.scss b/sass/skins/indigo_ingot.scss
new file mode 100644
index 0000000..5ffb588
--- /dev/null
+++ b/sass/skins/indigo_ingot.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #1460bd; // Contrast ratio: 6.1:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #e6c212; // Contrast ratio: 9.48:1
+}
diff --git a/sass/skins/lavender.scss b/sass/skins/lavender.scss
new file mode 100644
index 0000000..b772953
--- /dev/null
+++ b/sass/skins/lavender.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #9055d8; // Contrast ratio: 4.69:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #cba2e8; // Contrast ratio: 7.74:1
+}
diff --git a/sass/skins/lowcontrast_orange.scss b/sass/skins/lowcontrast_orange.scss
new file mode 100644
index 0000000..c374ddd
--- /dev/null
+++ b/sass/skins/lowcontrast_orange.scss
@@ -0,0 +1,12 @@
+// WARNING! This skin, in light theme, may not provide optimal contrast for readability
+// and might not be suitable for users with certain types of visual impairment.
+// Furthermore, low contrast will affect your Google Lighthouse rating.
+// For more information on web accessibility: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html
+
+:root {
+ --primary-color: #f56a00; // Contrast ratio: 3.02:1. Not very accessible.
+}
+
+[data-theme='dark'] {
+ --primary-color: #ec984f; // Contrast ratio: 7.19:1. Accessible.
+}
diff --git a/sass/skins/lowcontrast_peach.scss b/sass/skins/lowcontrast_peach.scss
new file mode 100644
index 0000000..5b9a51c
--- /dev/null
+++ b/sass/skins/lowcontrast_peach.scss
@@ -0,0 +1,12 @@
+// WARNING! This skin, in light theme, may not provide optimal contrast for readability
+// and might not be suitable for users with certain types of visual impairment.
+// Furthermore, low contrast will affect your Google Lighthouse rating.
+// For more information on web accessibility: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html
+
+:root {
+ --primary-color: #ffa057; // Contrast ratio: 2.01:1. Not very accessible.
+}
+
+[data-theme='dark'] {
+ --primary-color: #ffab7f; // Contrast ratio: 8.93:1. Accessible.
+}
diff --git a/sass/skins/lowcontrast_pink.scss b/sass/skins/lowcontrast_pink.scss
new file mode 100644
index 0000000..b6b7378
--- /dev/null
+++ b/sass/skins/lowcontrast_pink.scss
@@ -0,0 +1,12 @@
+// WARNING! This skin, in light theme, may not provide optimal contrast for readability
+// and might not be suitable for users with certain types of visual impairment.
+// Furthermore, low contrast will affect your Google Lighthouse rating.
+// For more information on web accessibility: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html
+
+:root {
+ --primary-color: #ee59d2; // Contrast ratio: 3:1. Not very accessible.
+}
+
+[data-theme='dark'] {
+ --primary-color: #f49ee9; // Contrast ratio: 9.87:1. Accessible.
+}
diff --git a/sass/skins/mint.scss b/sass/skins/mint.scss
new file mode 100644
index 0000000..692872f
--- /dev/null
+++ b/sass/skins/mint.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #00804d; // Contrast ratio: 5:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #00b86e; // Contrast ratio: 6.34:1
+}
diff --git a/sass/skins/monochrome.scss b/sass/skins/monochrome.scss
new file mode 100644
index 0000000..a616695
--- /dev/null
+++ b/sass/skins/monochrome.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #727272; // Contrast ratio: 4.81:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #b3b3b3; // Contrast ratio: 7.86:1
+}
diff --git a/sass/skins/red.scss b/sass/skins/red.scss
new file mode 100644
index 0000000..844f8b4
--- /dev/null
+++ b/sass/skins/red.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #ca4963; // Contrast ratio: 4.52:1.
+}
+
+[data-theme='dark'] {
+ --primary-color: #ea535f; // Contrast ratio: 4.63:1.
+}
diff --git a/sass/skins/sakura.scss b/sass/skins/sakura.scss
new file mode 100644
index 0000000..db00861
--- /dev/null
+++ b/sass/skins/sakura.scss
@@ -0,0 +1,7 @@
+:root {
+ --primary-color: #D33C5C; // Contrast ratio: 4.61:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #fabed2; // Contrast ratio: 10.48:1
+}
diff --git a/sass/skins/teal.scss b/sass/skins/teal.scss
new file mode 100644
index 0000000..7ecdc0c
--- /dev/null
+++ b/sass/skins/teal.scss
@@ -0,0 +1,12 @@
+// This file is never loaded; it's serves as reference for the default skin (in main.scss).
+// When creating your own skin, you can use https://webaim.org/resources/contrastchecker/
+// to verify the accessibility and readability of your colourscheme.
+// The light background is #fff and the dark background is #1f1f1f.
+
+:root {
+ --primary-color: #087e96; // Contrast ratio: 4.73:1
+}
+
+[data-theme='dark'] {
+ --primary-color: #91e0ee; // Contrast ratio: 11.06:1
+}
diff --git a/static/feed_style.xsl b/static/feed_style.xsl
index 310b200..3980ed0 100644
--- a/static/feed_style.xsl
+++ b/static/feed_style.xsl
@@ -12,6 +12,7 @@
+
@@ -29,7 +30,7 @@
o_Xf9Rw?_G%DAi*a}R27+onIbX}bN;vT*jzHr3_x_Sdws@Kkd)fA4kAUgo~5 zs!mmYx_$Qc)Q7i}%6`{WZhg?f^0K8jSW9}@q<&`e-dhGAg%i%()H^d8H$Dq$uVbB6 zm>_8Lb^q-5_p*;Y-{n*A|A69uwTBY2&-veE#n^ggRX*J!6Bm;(Gq7Q{tIDNC0oD7y z?2PB<)@a}R#jvva`ZK juJ>zY(AIpL&a(pLSePt*1VzrLbVr8Y}J#{5#z zH66QEug#K|#r^xu`+SDoBV+3ole1E)_uY)hceQ@8T5;N*s8!)kD=y!6+v;igdYP1m zfWq^8myWA1xU|CUSE2j&7wJ{58g(i^UpqE^3b`HKVo@8{q{8voeJ|Uh`3oQ1@!G&K zdH3%#cbWxfKe_wvjrPg}u8n%f6b&=YAI& SKh6E+ &Q70xxWw;Cx|7%VOSx_{m+Y!6ZoyuI?|IiEj!w;M zT~)m~?8VYq6U5JCR;gAdtN8mZou<-nz^l#qzBImQ;k Km|I0jdrQ7noT7$FFtqH6z54`;_Ax!b#bfF;QrDwM6 z_;SOUYj%Ok2D7VyV$61O>z%U?fAd%*lK!T3R{t7}ol}zT#C&x+-We8On&i7W^6#<$ zq3iE &g|>_Ihw`y4++*; `|pD~i?% ztG;m)lMvDCitv4|xuL4|i` SAV$f!iKF^~(y!+Jk#? zK0IO!+^W(gGf5@1vv}srAGft1tm1JpdKz?`B_QW+ib}(_KbMVIj<0arcyMmzqdihH z!&80Jrq9aP+gq^j_lW>afmf3K+H3S((-zelEMC#+eY)$;f7uJsOZC?$EIku{@q3Tw ze#J-5f%l@Ge|x8^#67QK{+p-^{C6%m{S#Tl+p{)yL8`?CrmCiFoA{jdANDlLT+I}k zVw3vj(N*1J+ov9qF03>>#O!+6+^F4)b<3*a4Ho-t?rxQ8IvG^6U#cb7P*eDLz3fr; z6LyK+5;ytJX}*}c?oqt=loL!VS{9UuWX-s1{zX8vTWF1}+dnsDQ|>vRX4daI@P<$L z!zL~1-pZ1T LW&b*%Nr}=YJm-D*+S2ar~EpfCHejXU;v-aiG(Cf}lPi)t8*jra~ z7#*)EuUy&na&7uPALdmj*qa*n@chcV67*}+gXkS^4f9S+cTmk!yUN(J$kCo}*gG@7m^?wi?xZ2L Av$#@%z)ZbBuQJ zdGf*wuK3AE=O6r?P$}6N%Ptas+WpbXzg<@kUz+x|+~=!2i&}=@{lA`#cPdr1Ma~+; zU6}cGWyr6^Qga)p|Jtk4(zn?7M$_WM!Z($7OucgbTF~|HPucbIvJbY+JNa_w%xgzE z_jyR~S|&AZd){4lfy_eX(-Z6VO#I&Xf-N%Vsf2T{I_HkM_lk0VZ_CH0Z@>TB_o=GI z&1??iu;6+n&9*PI4TINKtNk;)9CuMvx6$B=*A}OV^Ewii{qIq3TCH^<*g5}4M^f7T zf0j#sy}O_N{New(KkQzvsomAIlw;2`byH`i%^Y$+=C4jsTvfAbQq_h!Q8us6O$VRu zGq*Uo=cim +W%C={Lit>b+{me6D6HSnitHr1QSTe>Pk8 z+fxczpZx`uu3l>R@3Nn}Gc1wSFkrLG+w%wPs^7_GUHB;FzuRo-ylIEOet7swNg*li z)x+zvSn2}2cW>XJaC#c=LpPItm5r}hw{bpC)N{TvN6mHWL-F_5<%5sR%V@aD>>z93 zd+Amh_p|vya}7TFBrVbVmiJgRv)T6QGq%E?>$u+8csH4v3KqSK&%A%;ucK)1+Sa(2 z7v`OP(Xb+QN`lP- hh}dV@ytE`_pa4$^A{a@9q;DUtkjEp^iTF`Z|sMZ zOC5`TSDqF~%GRpLo?^7@@$9>YM1H@Ra`%tQy?ZatoqQyHfBKhc5nbwSr!QDWc}Uwh zB}e=5{^?iD&yL`GQX2y84jxM9)_zyKh=X;`QsH~EHvTO9Fv wMUuXYZU9j*z@1rZ0X{xVzKV>S{SYA!7Sby~3-`VTh zFM2*K>NHv(aVutvn*OE$qcgu_)_WH|(f9e@%=hM-a)eUA{ZsOve0N{&VP=+@HRssB zkQGH{dS@a}D0K;^Hm;udI{R}iZ^QRX~2$9ap%b$eIW?Vobk?t8xYTX(Lxt#y&g zHF<8Wf4i0~PgNER5UD@nENu4w {=B&F`e@o6-9lJ4io`-XsU5RbZ zfgq*soJZx8g(mRDl=t5H@^amb!gaoJbu(XcWS`s5%^@28KrLqr%S^85KW 8E0WFAC>-3TjPzw%z3_+5OYtpeM@&*) )9P-GnStb!e@j Wqj5$F~%(X9JvyayV#olWE$HkM1428vGnTAA1f3mG@b4Le1&D-d4+Z7xWX@V zKhrc&ycafSQPdZ|&G~miCT&(K7u+jxW#`}T{SyU564&ZXnl{gT*V21yUQYO(>LS^n z6cnib_Nms1&H0K?#I^q(UaDzSzy8TwxeqJ;NeLMVYh6n^xBl0RpK*(2HpRuqZ1LQw zvhHk)*A##G2O;`Nrq{l#eCr*-eeG^?{H4#AazDO{pYAt7N_p*8iw7_7%-3G9KKb5( zH>E%L^=p3IVcQw? |M|DqR!>XRym$;r}_^4cs zah*L!=xT@yD|D_RB5#)GhUPlMd$ST}nQD~PTv1Zu;HVJUc_n<_MavXZj~ T| z5HWETUnP_l%y)TmUEP=bJ15s~t7O{V;bJVcdv9WG-u`N%{S6B5zbIx;KB}a?B&UGu zt@w$9>9+c}-? nthsrtEJBfBDU*uYDS(IZb#3Zl%*nX9C&c^Fe zECMIrxU9SOzobRCLeTgb%U5TEl4p+=MF!nA4&_q4m%+X+<+{M;e>@95{rY({saA{8 z=5O;y+Y~;h nx35+-=3b_}2&sZ2VAS6z}95D)WAtpz`kC zQ@^EeAGo%^_HxF7Wx;F@zCO=f-u-{F7n4nB=;S3!UCzdSUn Bs4XY l$sq1jCp;< zr~3tN*r-@g>@uz3WO>2HgUnugcU}9@ed79T%RcS5oafXh7eF1Geb(!jO?< kF$srT&ry6ZSuv^j>X~x|U=31I{zjC9}lW z?y7lys_#L`+yc{8ecmS$%Y`O9cRF~_cu}*i2*c7d`%=qxOupOZx8->a&lS_Ti}^V# zewuziS+x0L^2_UYW`0OrvOVZd&CTx m&qYVoDkqAbNlJ8%2cKGE1@f9|MGbo0hJNl$q= z(l&JRePmnvoNe!c*GW_LqioCzKeX@3`<{`i|81?-QS2-_lf(wZPB(>pPe3m9{qp zpZ}Qm^giE_?SJN4#|HnLE3$CEgmZa-?9$z5@+`I=tvGFvm6Gpom%Xw1=bY7A!af^& zJC_`ppZ-3Eul#TC+W38m*GitmCpN_y=zn>7TB>{wL*?~i>64xh?q!@lU8xsVrBiG5 zd$Rg%nR`WxcFb!&s+pR8@X KP~hzTdmOihNF9{=@wxgo5J~qA4RR6 z&R+WMb+fR`{`du%`~u2Se{GdKjs8t}6|9 MJ&Q+5cc3+D;bjT{<)x6ny260tM(l48TC&yL=yO^e!%grchs}wo- zRU%^Y@&|sb-bpVPY FmvTH}E02DcVGU>g`DW{pPw$*^LM>!o7|!p^slDHG zyLLvy;+8+#dvg2!m+d#!`n`r-qHLmHm)PIi@jomL4^^{I5Mr2az}B>K=27>}I}d+S z{=7y&iqpz}PQA~bn3bCuEgEh#$sJ-m8p_2T6>neTuXp&blW#S*t*ZuysEXqX&+KN0 z4W0U$pKjLcy)WXtb}dj&M9ld*11u%2fBdA0~H|p+r{9+W+*VdxHNSv}+4>7oT3CeaD+m zYWem{qWYOnop?UGZR`tY4wMXIlJH7Z;_bP)Cs%C0RN2|?wwWhGew)5+zV?X2{m*3C z^}31Y=9es&jkVh=&Ji>tcX4lXN~ZIhJ#RMtIi~z_deZhdi;an n;=azRB*pzKwsgLV85qyQBU)CY?{(dUw~Cl`+|twY}%f zgwoes2vYCT4?AV5eelK87`KFbW}E)YG6!B3XL U5%e7D`ae@ zT(GY{I 3~Dt{rc1U6wZHdkQR`gB$bdNTb~)L$F~2}>VpoP(-@b1 z6=l+Cm8+Xrl(Qt0LoMf$*qbT5d5dJSt;Kgv>1X=Spct@meqlr{lY-_W*0;U|bz0JL z&qC)ei}>K_^Ibhz;QEXcPL}IZTH*t=|98KVxL3_!Eb(qZg#Q(z9UFFgF#6vW+|Vqm zmBhgwXqC}$;{%gJ rO>GVpvus#2Ysue$D|d?zgseKeZ1KL^dZigW z9@SMdx`QqzHr$W!I?a%9pWT_!>}#-HzbqH0ooH=BVt~d3#(Z8CuV%hx$L*Qhiz>cM znYPo%@ieDo#omkOT1xNlyk~Z3{=4U!ByX%cbmlidi!Sp48?j>(p2^;el~d5vNV5@O z3Jv+Q<|EhV6`adT1dk=hM14*AA{B7=)~>}K`!{LJ?fb{IBgwQi@ov_x_@8zcXE2}I z#2}z*Dw3wKHMFbhp}@x<>%ZK3<`=L0&Dpyu +Kk@UhM1V^;wo3 zk)94a+`T%!rzibZI)2pV{E;>Pm%dQi{$ox!=NHd_$!9Y6JFIt`KjmhapU~cYa;GQk z+`t $fOoKmW`Q2jp za4ceHnBCdlCw>t-HoV$-=lRKBtM=bNtmJ>&Y2CGz2RZ*~$Z#EW*n5+=c) J2GA `uO o}KAzI>OpRO!(?8H*6-Uo$3Od2@F1 zVddP=j_`>Z?Qf%&EoyLDdM`*;H^Wb3$%I?4Z=d};^FrWX-V0|Q^uGJhWZ=!4cf9`4 z4CSvm9=63dR)|S&IsInMqu zaMf5PddU0V?Mtn{BVwjpJDdJNAY(yQ%dO>C{rXu0tt{W2`6G0pr_D}rj=K5Adq1S_ zo#s8Ug)v!R@6oF-#Qe`Sxp& fzyw?-Tm9()f$Bo z=jflS?G|ih{FguX|Kzy$Q%_}X@7}-k?jGe9w{?CR>0BNhd8eKq-F1*V<*1ln>7v-f zt!q~=DOoppBB!?M)BNgN3^NLp&uxlS&)pgt{pEK2n}(UoLmbn>ORrArG2QSo(ECHZ zPoXQ5Ui#d) UI42|5q=_br+Be-8tj#`oJi z>sB m?wSMdG* z&C9OvA7107pvuJi-!bPHSDdv#e#(@hb1N>&mc3177fduvasJfzDT_b$)6|Q%4lHDw z$NBgAaW>ym4WYkFwRASKe#+Qxuc@WC*Gt1<0eATGWtVpQAF6S5c)n-L39D{nC(G~6 z%A3#SZk&GPTZcoAQ-5SvZRWMjh2GvNnsRohG9Cv{=PS&W^_N&Wd8MHCo%8RQ<Wc8(=ar2?i zp6RKxw!Lio_3wd4n9U?lhD**peI^#?jf#&Qcl+z;dNZM2?e-?0YKIjaON0L}3(V^^ z fRr5ug=Yy za^LlW5Enxl=Xvq_`_?^9cCwkydOo0fhl{0){FE~-XUi6v85VK$ERAza@Qc?!@q3G0 zCHJ)BQzuMkn&kTMZg{Hj-)+7u^=A)07W|s);MV!5a>x2-s#5DL#jKAtWO)BKkg_el zFT0hm=8fHn6HAxr{BJw>S=@5g(^`$ZSTn_4(TkIKzA~p=-^u*5^J<&nd-Ddd$_9;p zRa@S^_fZsyc>U3mL)u{9j#K-Nyc1uo<81v`iRa4X=4Jh>!rr*(hr22?u0N7KnaedK zci+C^(jO1MzPY(C_tA%(L!E1!7S3H-Ff&Wd`q5>B(v_W)zfIvh`881ZfPv+=sVk$m zOqh1Ty+P4#*^|&Ip7WGBr%H0|`+ukOY{yxhkSy1qmt;$)1y0(fux(eiVhnHmW5JHZ zjPpAf8+mfR7nOhR>$?*g5Z|#|^Lz1kai`ytEP1M`_HJ?FTkAKOJKbx`mX UP !lq{Cy7}dl#j4Igb*pgxGq=qG<#jW^a9E~9lrB|1RZ@4hpeH7CsqiVuqv6Ny3cglndc^%y ztm0#gCyR;V)mfZUuhI{HSaqDir!-mM`GxXn;r$sw+dFxTUbtHXFZ{liM{!x(&c}0( zW_EJv)n5>NqE}M=L)@};>Ad5m;c`|2JwK(^zcQb=o0UN-_w4ceGyj%-F0kHH{lam_ ziWTP5qO#)E#5?spg8#;3FBdfn-`B8AYg&tVU}o>T9l}dX7%n+&G_zV&6x*<6mSx2m z*TQ v3eg5Xg6SGfn9uPP# z6MEMu>ez{6NxNdd_E>O=o&5PJ`|*;pBKF9O8b=KNOFCrDO8HguDat2{f!D^wfh)6K z)@2QEMa7~9drga~9&`Vk2Zux^aQPXDoj)^4{lvCU=bi^fUR}9VP*SXJk@CxcLtfiH zh1VXMKF{C`+ni-_E3ZxHx_wIQ^(Dm}ePKy^HI#j96T%PP&+7}gDl_+gk!Pr}8i)Ms z? Dz_dxRhHS-I924waUDJ3;AYNeXT4?HA8BZ`e)lvy(=E1gMe~wr zuctO&*ZNWa&`jgn`wgkWN8>+MILY|^I~V2@dOtbM`fEhW43if{*Uh(OFk~3&ozHu- z+4*Y9^K2PCR)&bnPK@_I)LAqH8ceAAp YpJ%*RMZ*{$4jyrtF&FT8d*n=%!JEK1x{&7-XGefHUg^z*1;bX(rKM|+Sulc>< zOzjP=iM*@2IB)hb2wBzKKfNGf*7*zXk4wg{sfuh+)7c=tuyAJB>g{hjAI^KI*0q=6 z)~dexqKdb#q%K&kUwvxk0w;x~7u9CPCDm ZiZ(`1gDGO~;yt;k*>$~3~era!wpJ5(&<>Zp8n-<60e?C*vDx8t_;0cdMWKYu^ z(}LXn9YG})r2=l>wfO5po<8k5;O@)ZRg<#rS>=JB|7ZN$ns#<(c)gs}i+>(l>R)?k zcb=LcGW+MI)gDgXi`K6H!&Pp$TTYSDaN1(!MdA-j#Wx)N)@Gj_$I&HhchGrj>B+f4 z-(1QJcM9_IPiHqO+sfAQ^tFxrGusm$*A6}q;5snHtw;7q+fs{H4@yGzc=MGcxL#HA zQoNz_+@3$Aw43d0eaEM6_N`v^Uo#3F9b`WpDmU2nS>oH0PqLOKyUS dHXEZ~B+V#Y`^@D0uhQ)^&&IsS;lI9R zUE{vU^li;<&Udu)9OnI67$6wjcfhgvQ2OLw+U>i4iP!M;3vek!ot^V ^M3lX^E_ld-kDIE-!1g?NDp(4o~mB6I6TT>($O%n_8BnOlTJCx0@BkZ0gi! z{bEg-9Mh{>_M@HN)e1ZTAz80{rx#ypj632Zt>M4CE9S-C TR`}^TJ{C zj8e(%=EaVtAq)R5*lXr5bG c5 zBp7sBO}(|F{=4JGty6>|+y5SDlVg$B`5E_A=&tIDf{N6ctoL(xzdkgI%)Y9)%>R^h zO8@y*X+_-$0eL?Rau)a E)EU10XL$tK_phj^$-1!P z`HVGLcJEqio@S+-kc>`ZomN$;_)I48W>nOZptz3`?1y(YRylaSIChJ*^QvY$(+WwA ziRO{>1Kq;b*ee{I)_yGKpmt lHIy2H$O8rwjSTAJ?3y6uW=R?}E*_ z%g)+#t>Sq9Y;)eB+k2MXpY=WM@7if)nVYkA`r5l!a&1|pd7Q;Wu;zKz2D>>LPkFuy z@4jAPufe;#>Cxo4Wf3!UMZ6_X-)KL3!cBE4lQ&o5noSSppZFN4F(b9)`k#5sv475I z3BKnqSAHaU{LiwTbuacR%LnV%+vrTHv1>XSw{}C^l 7;3?LNEZ_miIjk7K1dC*}CIYceEx*G@C4T%zhdZ|C+i zvpYBI<(@cu+Ry9#v&FmSPH^Tr`?BuDi=WIpFaLh5`72zi@!b)=6Ao)-y%eS`nXJ9; z{oV3O+aog@RX4moV`Q0Gme3RaBwbYKqV31GnfeD@Y;y}VgS=c*7t1r(2EBZxJGG=s zz}zO^t*D6M@+`0NM@k)b&GoBgvtIC=Ul Z= zMUmdM-jiR~2`bqtCWt(mblpzK?yBDmvy4;04{HO1cRyIEm-Ne+VXxlF=W^PD?mlJv zbmCY%u5_>0f7&pwf4%9Q+-pj&m9~l`vFDw9x%%G3)thu?mWH~;eXvv3^k_KgZnvd1 zXJ<~MdDBGC?0;ANlTF#a*ji-#40rX&^nF(JB5A4X{i!owmQ4D%ZAoeR%v0yH&8#-m z$UmRap>(pn?^^vKIjbWftWUPz5H!rNzjG=1#_bBz>w9#IeD^pP8YtT@&buv9+qQtq z$ziI^uMUxfy9@5cKQLimxW!p*TJcF%fgg!I{GW~Er(D-#{XO~AN1jP`JsidI$Jdy$ z@Gx9sT%!GUVY<(pqO1i 3m-?ceN#GqAUH#Dd!pXz+siE~4jMgJ=e{WZfzvD% z1a@ z;=+CPt;bTT4l_v&Ejf8uoUa^}lxa{XC(gD&LPXGdQ!g9$E9jmw#D!aYKdH zkxJp_-Isc ~bFAZ7?E=m@xg6|PUa!|K zbP8`UdHHDbE8Eh9Ams&%fBVWmf8oB`F1#v7@~~m=ld~UXk3G^m=Xmt6 *(QI&0Y|}`Eu8~i@FNZZ2uy^{1*1wc8*))P6GpD zU`pPx)L&CoC!I^xQFWMhu {PAHjgJqy|HX+`yuSWfc#HC#CS|GF zpUsjNi&}GBn%lSCZtG E|4Ow&Y)06dkxN zMLP5EgI(9m8S?Ar2mD?0fq@};t9{finF=-2`p_4?0Sg7HC;dC~ X06lvCTixr-S79^zUpoFxXiU# K|JbD;b}y2N~T37Wzz)IXpdh+T@^?ni(6qe>8KoEz9Fc z-TxuA@Sk?&%_yI_lC7H$|NddxU$b%&OHF;)i`%E(%{yC@5TgBvOPDKs>y;_Hx{cze zJ1Z-32KNR%KYf^Ce!{y&hAuo@PiiXG#-_~w;pW7=Pg!AVmhX+FS+gg~T%7e%&2Ylz zHx;=&&L@6I1p9retZLYwyV!$e?&8R!Cu1+PIK6suVrm1^U+Eb-5(}!WI&*)T9DkN; zZN>ZYPBL>60|SHn{I{x%=MtyAx}Ny=Ni}zl!~Cr`M6Vl!%uaBs(6K1kaqxFeb=)7{ z`6AEFU(dgq$(_Kqtwis2$MYAToZYfNoC{F<7w9M}AQAZB&Kb_%Mt!>)^D=zaT5Z>= zI>K;9a>lQT`*?zuOT9TQwXaDgp(xS&tCpeOX5;RjS&7mXy@l5I81mB2ze$^v+nsRu zt)qp|!a2KYT5qZ+Fc{6c7;I#4qVkyj=^!44+nRq5Ffg#Z{{FPfvvb9&I CD^IceOHJyYh<63*~=PwpONW`g!c++Tgg2Co`%q>2%&H&%0$8 z>zk-~Z=YS{!kS*UW{E!!V@hMHUe43{>kz&rG1Bm>%$vfPD#^`t$DY0U_WirKOy%3V z%cUf&Pu~@ID7uq%)+5D>JHvIJT$rEs_O8th*4iseJ2T(T;Fk_4uhYNtWb*`OsS@Tt zPuv4e^*3s5QnQ!HYZj3U`uBES^w~L{?-^MprgT{EIw)xUN@Q)(mh1P*=ASz8UgcJ| z?>x^FEJvm<_k6#wKlgRZA(K %=CF5?F z)UcO47Q! xbARlb;%iw~l6=yz!;8zjX6U8QW~tc8RiMjV?T?F^_|nYq?A?I+PKo@^hk52+!=0 z7dneST)6mQ#u~%_e9Sv-AD3GsIamBNR%f$ue4V%W`<-u>ER`BsFPp6kx)#ZD<8{}2 zt6$L{e=3HGWIsyQ nUh>%=CXz5~BY%^5EHJ@Q@CKBxJk`k57 eN3EJwaorQ_-)y#d(jA?^Sh3#hOQOKN!`2!bOzws(=zqlctMl7O zN5>Rai78)XIPaHQJpO;mL~2Tx`-hK$A7qzDrA1%4zVF?6d*0H=%aes1#PzP~p2-cD zcl=xRxmM-6u(L{Bzhc%O4yl4#`NJL;U#P6?bqQBr%{%ej%~Qwj-(ovgz;@V-!{4pm zGueo(_vw}Jm6t2l20qTu3uF~y(mr(i;whHSu>Q8W; #6>0Rqw3%%(;zu`-M~T%MZ84i*$LdJ7bo2z4OMU)1O<# zj^<2X{@|9@oT5CFfSzgMkJm-z@gKXrm}B+rN1Kf|FTJ+s-uF-T>uc}pR-R_q`!S?O z|HIATA6J;So=IG-UAX>&wnmS<_Vme5w#f;2ewb;NyKt6 AlO&{y2O}sp;?AW$mlWz4vXhTes5wRPB|;6=!7bNJ#8V ziI898X10!h=gR4KLo#n1+SX;4eem*m-zzO!DjSbaGGyxEoiA|KxSCt#w#&=3)tXIh z=Y=CHfAmc~$7Z^Md)9(y$G6^^x3rIEg@TaD<}3FN7!;CzGA*+bPOjunI&g^F>Yc*l z+c6FQbybwRxD})2+GiEURr@^Jt-)cS_W5DHmBh@YCv0vU7izcI^T*F-n#i@Vx)Ae* z|E-_*i8~eTf5Yau=32spi{if*c5LjrF!}b2_8aAI6_XCfXdnIB@54K5!psAl)g_sF ze^*WY7Qwu{sBn$si@&9D&N@w3Yh>8}Kc9ExPNL_F|8bVFZU3L2PFl9-%Lk^5+CuLS z$=?oF>@YJ`)R^2Y^q;F`?E?2JvkJEB|IXi;B5TVRtbEUB+LF6FSJkiQDVuV?pz)q1 z-z>&v=j&e>`BbatINi9n$M(Y;1?iAtZf&Jgc8S*l+rR&vXO=&+>*d>9|GC{fCq?}K za_eWmljD`Nxrcq_pXN9&{x(PAJMWDIrsiDz8;mOt&R@Ob%{%_3d{NT>e(X7F=h1&PFS1cl>c)*#khX6l#hFa!dLwgJg~rIS(WTWmR|+O zj28$oYo|0_Jj#EdZr|6^o1UAVKQ{?|De-yYtgtTyx0J74m!0)^YuJ0`gN(nAy-=F5 zdCk(@zs#;Q6@Oq^wVorXCe6AmY^(T@^H0}L7v&3M-F_=J_rm)kTjd4@rrPbPCywpt zU&h41z xVEA-4mtW72s<|?f{nWuKDQ|Zeg#l!6t*Gx{zJf0kK()g~{ygw0z zkvrC}SNwI*LtHu6a{W?m?a-`Sj~9on<=Dln6RG|rH_b?diz_xYA>_rgk2_^|-s&~4 z+P2>NN2NQrkAD8=2(`(|u{V4&f*!RUIo*0tGw{agq8STs-J1V=Id9a4BPz|IMN>EG zKlBw^D%EG$nakFf8|xB#YU!bqydBrG%|2hMJNq&tbYAg#zoplAKi~D>{wK+4wmMrD z-?nt+@w}$fEZ;w|0?0RRvMdsYG-#ecl z4tciiaKoim-#cF}{=2&?t#ry2kwT7tw;q`USP1Xi{qB21MN4JWt^I4erxxZvUDKBA zza_jassGwy?IhE={r_VE%Ck!1{8}v?T-P~<8Si2aJt*Y8%b49Ndj4Zw5v#jgp f{h{>kx`~zji*)>z(PTf
xqH;<{tk z#K}8^ql%PVbuOEiRl9M7_hc|A|GcKwx}g4>%w{(mmal*6r_VHh_prTKs&`Lu)iHnH z{ZXQ;Rl`LWgz5LN{}sFHeA;QtopdE3{vU^B_Fk=e|1>AzvER9)aYmmi|0>$vjL$zY z`|kI)%O8_E@?Or` W$0 z&-slm77AB(cbL8Sv-M)?Jwt_k6FLt?X&r1)DiywPYjWbl4Q;JoonOj5<2HRFxJ_r) z=a;tEEhQgbS**c!aY0Gzw~eV`v9()F8beOrd=~uJd{w*njDHs<&7M?t;JQ+yT-p08 zpOcnnh?zeToIfuwyX4NZT{;eKh1TLBqMbY+gVUAPYc?HHie>q7(o}ig!YHNtMUlP& zk_)1r }b{oULhq4a}pIfjTS33Oag`(^33SSM!E#7uN zszqFnIO I`{pnK!ZngzQV7Cn>a=&RqJ6iPh0a+}=y}3wKWJoUZz9UNerR z{rdjbhKZxj;f|jm)1G`E&11SL%+IT`Gt$?o{e5z+?i%x+{;ro6y1iB{&d=K?yxA=5 z@mT8T^>geMb=$c1Db14Q`gXa=H@D#8`d;4yH%~m|IM97dv}>2EZS7m0%mecz+M|pj z5`3!a`e%m!p5(YGz>_sqE4NHi@Sz-o*ZYn?Yz?bsS--ex!tL{0)%f5#v4?T(oCQI` z^Y%W;U_ACN_N BT-eF29;qMkx~Itb?WC#d(;mKmb-4Llr1s>7+@uEO zuk2ODk1to JNBsQBamtBBr}UuI9X@HraR z({Q^wR*{)q#KYcQ!6YVXYP3?@chQVlFX|! -b-n50QHvU%N_|c( zJl1Icsp^;7T)_-~Z{FkEY@Z$wxWhX)YHFm1?lmLtNf%AO+bJ^(l%{TzlTTr}9(A+N zs?~ADl_2&i>ypP;?@3g#cBZwj;S9U+B fbID z%lBIMNbS(C39P ^s4j^SnzulxG)TZ<_L+H_9^a zn}6NvDYKqQ*?Vu@`o7RdWkG|?>bHNoZ|XD5>a$t8HB;}#p`bG-grjeMj-U4Cl%j}; z(bB_j@lyy#}{#XY~&6Ids;WSg)284yHLMi{ %WV9|v(vz?;d~xnX@FL+ zV5x_;%& @=@XCdjf+d+#%=mTB6dlnnyyt#5)_GTV z47<~#$d6was@L$(zn9XN6H`$)A?^0|MbT627MWPr_x-FnYB~Rd$*+$mx0i}ld` BVDME >}<8%)F_&eb36M z(?11HJXvsVqjk7h-tn@e3#r|^5*BZ$T{ubB*UO&k{6Sf!LviQ(7{05{->-2^(Kl_$ z$_KBG$X?9oy|XG{>a? DGvQ`UIcbgkWGy1?$ViG-A$ zSMldPLh6^qV{_k#{EYv3RCqG`gT3#j$XDF?TQj%2<6*PjzSq}I6=g|kn|_a)$#;Nl z_1kNqJ9oa5@)mtvWb&k3effL$Cl(7Mh3B9CVHPbKFB|sg>ciW**BZ|4-#%qq`#Qbl zbvJLX_CET1!>PqacYmFEzRx9K^S;L`((k7C#q-GCvF+7bvMxwXLDx&+$B~)$OtW1& zM7YnDsm*=x;JxG>z5s=9od>Tf6v%y+wY=!8+;iKz`CHSqRc~_^9rijjnW0vIL9us7 z^ZU5x^P5*0y#M67MnvG{ZgsVdui2vdI$xZ0+sN$5yQ?;-*MIfBmH#^ l&}b++v>@3J)#2MxI8PVM?u`s chIL1maju+pKD}=7X-EAj(epXQN FJ55qy+P;5ZRRp{i zKhYO-HPF3L{O#b|rp>~C93t<0?zKqaus`*wMQ`qtO3w?y4`e0P>U5H}yMJ2mZV>G_ zcV(?lPHc_Enp7jj!s9POw{Dzh`zF1P;l^8=8!5d34nNH *fNCwE0UPe?rd zU+$mTetX$TeLMeJ{Ce`Eboo>R=dU+xes{~>i}U (+9NJI+FUs+ut~qhP)?<14!j9U`?KuU${bkn>?}s<{+n zb#|7jz_b0Uc;_v7(UIQD+UFb^9+@DjT^GwCu){sy&rhN@wVUtAn>4%6=gw5_yHHj7 zyz9!m;~E*d{9P}_0$y9Wy05h>Ea^LQ^qc%m?b@Ab9;XtvE>--O&UtCcfxSk#QuC+C z9TpLO$GS4hA!8@^iG}5J*3Eu@MeY;B9<7UqnQj^|WCeuwWfivlZCZ0?&;4Ha$kN)4 zh60IJv5NaTZ#G04p1WSsImd4<%bAdgm%iqFY>8}|Zc|<}d2x*#U(=RHpNkJkYL+cg zdvd1qQ;@=}Y^KK-z4TYS;x(>XX<=%4Fy-*(weq&tA3xSITi)CFa%bE0%ng;Mv+L%k zAG tuZNp;^tldDD(lzjJF<8Q-Niimwr#T~|Gy zJ@{}^pTP=8R|8v}?>rmdmn8}AZ;4tz=V@{KA_GJBKU-9+XD|6^RzEw6Nk;e9ZQWHr zg0@ZX6>!MX5)C;KIZc;oW_En$iPf){U2+#wsI0ki@Sjh+OyTocwbQPjlYW-Qv2*cM z38i=26I;W6`A5e+jap!LKbb3d>bHOUHWoT%Zo00^H1&b!#OU<*4&K)Li|iAQeq)zj zoBkl{)QZagzxRJP)ZO)Q;m^B@4>#>h`}A|oyT#0=OL=d8&X43P{aR%rt$sA@;K@t( zRAaf_Cf)cUTfVxO%_Dz>nPS4f9~)Xeh>KsE`*~eK8`mkV4uwUF=Xf;=O7I30RvGhO zZk(KOXPwO=yK}W(y-&ZaaZOK5wsw %8Q-c|kTEK3nRG?=l(et9W}ka^i)a Ke zF0pEg>BAkC|2R_KJ*_ESUv>DQ(vF#&&b`l{S8ON=c$I%v@|Vc0^GbHxLoR*qbNyy? z&LHvWt;g)I%ML!(m+f7-Le{T5OmITYl5~}C`qgZD4Fy)OzOmc+&v?3yTiP)@HqIhQ zZh-*b`6V9~OU?csHpg7{R7Wd=LF%rV-=0aErEOYpj x&g9D}``1v)J*;G-=jc;@*>DDRIpukkP5i^2U-Y9-$s@#ix2Ku$uC`Wd`T} zu5(Hej2vcHSiAdY$=^?nHe2j};q4m}s|O2t0v4tUT2!`Fr}g~Y@i~NvYeB>DyjD}e zguQcoJ sXo2SX6!6ZM%g0?0=54X0UxYX6X|0cS7=$y;i}R>!d!1rVAh1qk4Le z|E8-FLHD$+KQu&d3Sc`{DyUbO@vlf>&Znz~L&_|FGBvVHW ~YPgUD^Ugg%4u(eTt{=KSjk;t(;w7YtPtFl_%?jsszv!au?ac^or z?W;V0vN*?An=Z+QgKWW@rYD$A75#L4hCpkAZ}#R#;SB} Gf_MhbJ-qDUnIWXSSMAEGs4kkM#GPL%-Q`<4yQIJ9GrCRwB*+KS$A(&*csJ) zJ0 DZTuzI7dW>{(7xy6 zvM8RZ%P%)upNLz^@w8Q5<$mJ(yA=$<9bXr}D7e({JbgxW>WQQ~mwa#BHeJgsmaylG zsp=M%gMVc6%GiY}e DJ?McvId*frJfnA+-v+eUx-bMS0*jbiy z{#jM`e%U-h%b6XAZlnq%eLfMh?tpNvh@2b$y)8?>{n^ubN;u&0#sbaFUxgSnPaKe# zG--FFgZzpmQA*z&-zRI#o0=Y*yjaReaDAPM(dJ7h>;C$m5a*b8%d7qE{=zbe?i14l zzTT@f%)Xh~^Y2v5tMcqmGd`uCkzGD3t-vngvhvI}=R3=mI^JpV=?S{E`DcdF+IRQ+ zmK~k(|NYAwT*>Ea@5TA#{amH GuXk&(D7eP?7Cql5_c}a(c&F(d8P) zZDwc9Zj!!oEWDs8|F!Xo_^GGb9-FVI AJn{@c2hU6%7=z>LIqYZgY&xq4;6&zL)H8GK$l zTjQQ{_nbD`cp>@jjFmr+$Q(Q5oOznz=Ev$KdY+35&gFY4`o5ph8YZ`kmrJBHX4BE@ z;^o!<+k)>HuTFpegCV;+PxzH`%q~~Kti77*H-#46P1#V)y-)kGWZ C+!7Cu6UDY&f<&`m9=; =x@|9Mh@SiIEJ(mCooujVjtZ;s2m zbe!oe=N$&Fr#Ei(n V2edwaafhTS@oG-i^W_ MFw18SuOQy%E~`M2}d}RB%^kDU*05@=vh#5F#Fo8g2+VOjXGi3dpI3S z_E>YPFErWm@>4`kt|y15WG`F(k|}W$^3xM9X3yP_xuJ(=g`obz4^L|UiZ1^y&-bnK zAkUdTSrhveH(35W4&U`}b0xdN?Bu0t7SZ($zb7wlcr3MsE&F &gI-mn2AB~*;p{@e=YNKSLRpJsj1 zX*PuuoNkmEUYq>s_hP0$?M!_Q?0W@+6dC4wvK7idniy>15_0a%W8J?8cC1NU&ay4# z&Vve-d`8><&aavN*St9{ XCmAKiZ3 <~Pfv`x*{eOm2@6Lrg_w;Wc>mAG*!K2ZAC`h!=N_Y@p0k=mpvkZfFC z)nx4v?B=}5>R76mkD$MWrt>42$&A67hgnXYUgWs_^g``fhvMhn%D2(m=TM&Vc8Y(e zh2+h5zb@WU{H9s7=ln-I Dnb*BPqpV)-K!2iCh22YTrzJV7lnGq{+MAY@$*#>t@)R-r3a}dTp^T zQw9H=8`~bqeqr3W+wj&B&ddhztO5fAqohZ0SZKvl&P88WSnX;K&3m!(i}pu$`|hO{ zKV=ni9ZpzwnrbvJ{#179yedP=w+HuH{#e@YQ)+qED*x)|)?fASuj*L@yeQB2H1q!W zD%qh)_&L9$koDIC^M7wWR@NaRw(-=9%R3X)8OnqoKQO9TspCIWSp0HwU|GbDiyYq0 z|69}^|9-zMc5>IkWp|qsS)-e^oMQQ2f0@wxd4 #}Fi`8$M#M UHD#>@nTP6Bb$du3RC-3il zz#9BEzy5jbEW^1I9S_&M-~O*!%yvq6_R5sVUl*bnlUX?87FSRFo?3aV;cwjnjyYZi zuiTQ{?khj$)KPSvcX;`gc`H_{@4F+!sw4QR**QA?Oq}7w EFI*eYyw=?<5z z+q?4HOC|Z6lB_QZ>h^3(zV4Q`sLP+@!k_Ln1$*B%He8J=e%Y{Ldv=6p)>-$@$M=1G z`dwO_IpFfK2J`k_pVe*$ex?cXHNRrdxAkwGexqk&q|euX8yI K z4flN*exyR+iFe#g-)U^~4*rchC;r;NajLUt?~SFqCaR@JFRitS77gfX={z)NPL^ce zVrk*vdakg9PD9@v3szNDsjWX}ax>Nb|9g9*C1ZTqs_T80ot$4QVbj)Vx`Rt|^|#AMH->VoJTJiMSb8o$ z()Wdo@08-h_Mhx|_Lulxyms;g@9Xmm7B=oWzNU9A?~J#Ou|Z`)W(9jPLuQ$Yht3fD z o{2C-*{We?jmB(