From faed590a66f6ffd3d107ed7cf1288e7f3cdc4b19 Mon Sep 17 00:00:00 2001 From: Manuel Date: Mon, 20 Jul 2026 12:07:23 +0200 Subject: [PATCH] feat: improve seo, trust signals, and performance --- AGENTS.md | 113 +++--- astro.config.mjs | 7 + ...EO-Report-mnq.elkazurrotaberna.es-full.pdf | Bin 0 -> 74612 bytes .../combined-seo-priority-roadmap.md | 347 ++++++++++++++++++ docs/seo-audit/pagespeed-priority-list.md | 133 +++++++ package-lock.json | 76 ++++ package.json | 1 + public/images/logo-secondary.webp | Bin 0 -> 7738 bytes public/llms.txt | 7 + public/robots.txt | 4 + src/components/Icon.astro | 88 +++++ src/components/SiteFooter.astro | 15 +- src/components/SiteHeader.astro | 7 +- src/components/WhatsAppButton.astro | 10 +- src/layouts/MainLayout.astro | 69 +++- src/pages/bodas-reales.astro | 117 +++++- src/pages/contacto.astro | 115 +++++- src/pages/cookies.astro | 3 +- src/pages/corporativo-business.astro | 148 +++++++- src/pages/index.astro | 108 +++++- src/pages/nosotros.astro | 56 ++- src/pages/privacidad.astro | 7 +- src/pages/reuniones-familiares.astro | 138 ++++++- src/styles/animations.css | 7 +- src/styles/base.css | 6 +- src/styles/components.css | 12 +- src/styles/utilities.css | 3 +- 27 files changed, 1444 insertions(+), 153 deletions(-) create mode 100644 docs/seo-audit/Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf create mode 100644 docs/seo-audit/combined-seo-priority-roadmap.md create mode 100644 docs/seo-audit/pagespeed-priority-list.md create mode 100644 public/images/logo-secondary.webp create mode 100644 public/llms.txt create mode 100644 public/robots.txt create mode 100644 src/components/Icon.astro diff --git a/AGENTS.md b/AGENTS.md index a347ee2..52d13cf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,81 +1,52 @@ # AGENTS.md -## Stack +## Stack and runtime +- Astro 5 SSR with `@astrojs/node` in `standalone` mode. +- Production entrypoint is `node ./dist/server/entry.mjs`. +- Runtime target is Node 20 (`Dockerfile` and `nixpacks.toml` both pin Node 20). +- TypeScript extends `astro/tsconfigs/strict`. -- **Framework:** Astro 5 -- **Adapter:** `@astrojs/node` -- **Rendering mode:** SSR -- **Runtime target:** Node standalone en VPS con Dokploy -- **Styling:** CSS custom con variables CSS -- **Responsive approach:** mobile-first +## Verified commands +- Install deps: `npm install` or `npm ci` +- Dev server: `npm run dev` +- Type/content check: `npm run check` +- Build: `npm run build` +- Local preview: `npm run preview` +- Production start: `npm run start` -## Arquitectura del producto +Recommended verification after UI/content changes: +1. `npm run check` +2. `npm run build` -Sitio institucional multipágina enfocado en **captación de leads por WhatsApp**. +There are currently no repo scripts for linting, formatting, or tests, and no CI workflows to rely on. -Páginas aprobadas: +## Real app structure +- File-based routes live in `src/pages/`. +- Main public routes: `index.astro`, `nosotros.astro`, `bodas-reales.astro`, `corporativo-business.astro`, `reuniones-familiares.astro`, `contacto.astro`. +- Legal routes are part of the real surface area: `cookies.astro` and `privacidad.astro`. +- Shared shell is `src/layouts/MainLayout.astro`. +- Shared UI lives in `src/components/`. +- Global styling is split across `src/styles/tokens.css`, `base.css`, `layout.css`, `components.css`, `utilities.css`, and `animations.css`. -- Home -- Nosotros -- Bodas Reales -- Corporativo & Business -- Reuniones Familiares -- Contacto +## Important implementation facts +- `MainLayout.astro` is the real wiring point: it imports all global CSS and mounts `SiteHeader`, `SiteFooter`, `WhatsAppButton`, and `CookieBanner` on every page. +- `MainLayout.astro` also owns global client behavior: reveal-on-scroll, scroll progress bar, reduced-motion handling, and internal-link fade transitions. +- This is a marketing site optimized for WhatsApp lead capture. Keep WhatsApp as the primary CTA and treat the contact form as secondary. +- The contact form in `src/pages/contacto.astro` is presentational only (`method="dialog"`); do not describe or treat it as a working backend submission flow. +- The WhatsApp destination is hardcoded in multiple places (`+34 678 17 15 13` / `34678171513`). If lead routing changes, search for all occurrences instead of updating a single component and assuming coverage. -## Comandos +## Content and design constraints +- Keep the mobile-first approach in base styles and layout decisions. +- Use CSS variables/tokens instead of introducing utility CSS frameworks. +- Keep service pages structurally consistent, but do not clone copy blindly: adapt CTA, gallery, and messaging per service. +- Galleries belong inside each service page, not as a separate gallery page. +- Preserve the premium editorial tone from `DESIGN.md`; gold is an accent, not a dominant fill color. -Comandos esperados para la implementación del proyecto: +## Deployment notes +- Docker and Nixpacks both expect a built SSR app and start with `node ./dist/server/entry.mjs`. +- Runtime env defaults used by deploy config: `HOST=0.0.0.0`, `PORT=4321`, `NODE_ENV=production`. -| Acción | Comando | -| --- | --- | -| Instalar dependencias | `npm install` | -| Desarrollo | `npm run dev` | -| Build | `npm run build` | -| Preview / ejecución standalone | `node ./dist/server/entry.mjs` | - -## Convenciones - -1. Priorizar claridad comercial y conversión por WhatsApp. -2. Mantener arquitectura mobile-first desde el CSS base. -3. Usar variables CSS para tokens de color, spacing, tipografía, radios y sombras. -4. Evitar frameworks de utilidades si no aportan valor claro al sistema visual. -5. Mantener consistencia estructural entre páginas de servicio. -6. Las galerías deben vivir dentro de cada servicio, no como página independiente. -7. El formulario de contacto debe ser secundario respecto a WhatsApp. - -## Don'ts - -- No usar `@astrojs/cloudflare` para este proyecto: el deployment objetivo es Dokploy sobre VPS. -- No diseñar desktop-first. -- No mezclar estilos premium editoriales con componentes visualmente ruidosos. -- No usar dorado como color masivo de relleno; usarlo como acento. -- No construir páginas de servicio genéricas copiadas una de otra sin adaptar copy, CTA y galería. - -## Estructura CSS recomendada - -- `src/styles/tokens.css` -- `src/styles/base.css` -- `src/styles/layout.css` -- `src/styles/components.css` -- `src/styles/utilities.css` - -## Skills - -Habilidades especialmente relevantes para este proyecto: - -- `project-docs` -- `brainstorming` -- `responsive-design` -- `visual-design-foundations` -- `interface-design` -- `accessibility-compliance` - -## Nota para futuros agentes - -Antes de implementar: - -1. Leer `README.md` -2. Leer este `AGENTS.md` -3. Leer `DESIGN.md` -4. Respetar el enfoque comercial: WhatsApp primero -5. Respetar el enfoque visual: claro editorial premium +## Repo-specific gotchas +- Ignore generated/build output: `.astro/` and `dist/`. +- `.gitignore` also excludes `.opencode/`, `.worktrees/`, and local planning artifacts under `docs/plans/`. +- Read `DESIGN.md` before making visual changes; it contains the project’s visual system and tone constraints. diff --git a/astro.config.mjs b/astro.config.mjs index b81213d..b46de01 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,9 +1,16 @@ import { defineConfig } from 'astro/config'; import node from '@astrojs/node'; +import sitemap from '@astrojs/sitemap'; export default defineConfig({ + site: 'https://mnq.elkazurrotaberna.es', output: 'server', adapter: node({ mode: 'standalone', }), + integrations: [ + sitemap({ + filter: (page) => !page.endsWith('/cookies/') && !page.endsWith('/privacidad/'), + }), + ], }); diff --git a/docs/seo-audit/Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf b/docs/seo-audit/Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5e3b16ef2043bf8ac83cb7c95900364a8150f440 GIT binary patch literal 74612 zcma%?Q+vuA^a&yy(nprv;+2hlRTIx9(2^$&M7#h(@8(Et;n&LAs zu+j7KLOM9w8|hg=x~^ZTO2urlLU(_tzGCA;O2oMX^kG9j#y{6@S)rNE3LO~Qr_t1& z{rr-ABUv}_z~i68WgL#=!K1i)3X87;?b^=&CKgRmi1ypK&U3Tu6*((<5Q5`lz4;dY zb+yuiWjXP5WuX|z;DH9HA5KFUhcrnb@o^>Pu=Dv8INa7YcQL0WH}h)quE(6~b^7bi zqpFioB)aeq1`5!7e;Y4rc^WICZ-52@%9e-v;OWI|xU|AhD8`d;cDr!8UiU zY!F59vV${k5OP8LbQ<>W@mLyfGmze+OVw6>d+){MUBW#~nEn3T4VH~pBR?@`fnoLX zp+H)=_2r&$=LlCyZ!_^HqCgZ`3Fevr=O$D6ix*aJ^<5Tsi#lU-uAQy)G|YNgxgY>_ zH-J2DaHH!pbC_ibajHxb|B+=XKGI`eO*i~HJAyZ9HR_VEfHJif0&q*k;(cJF)GtW1 z&?Lq=`9YTULg~#s>BdBXR0<|_=~@Yl)jVjmaaS=!74{-s3MP%l(|AU`5Jr@mIn4+b z#f`V?Zn~|XvH2x!jdxRL1|%t}^Qgo55Gk5?7mWCqv3;~E1opOm4ymQ-^mZyGGp2Lr zs6HWBSOa~hEB!lg%u!#g2>A#WbF3fe^)y>(Px)0Yt%1aYO0JBG+&h^I`T^3!h#-s2 zrBsPI| zyznuYlFL`f6RjpE`ChR0-0+>ea0(y27xD15{Az!h@<6L{5GfSr#$XE7tu-xBRi&{F zrLtRW7ZziM#5bw;CR%&i?Tr`F!%_aWY^MHecXVT zlCvv;(kd)^$sQZ_W!^lDrKJw5b#tb^6pGI*!$5N5viw~D@wkmIeZ zudA7!tw!^Q>rGEjIR3Xs*0-1U0?oz!0>K>Q5gdZ79C*eX@IJiA$34?^q7ZHz@CX@5 zkA?fW#t?~6vHojQ4IGTm3P$3Z=~y4D_i!0b@Stzg8(wCQS zHZd!#UK+6)D-ATdXX3B37ahLMZw1uoX}DO@YRJq+|2~p1kU}ayWFSh!&7|9G5SJ0# z^`uM}5*=rf4&2d`KV#Lu2!A2&;~-qYhSRxZ936#m*<$Hj_gP4i?SUi}RxT>(C!w)h zMYYj*=*=uw$d+%&-AYcYh|eJA(;@54Nvserv49En(!VbJVDU$tY7E!)^p!G>7B=7q z2{>y{)}!;vvcldD0ATX}StETku_3JdK)N_9gVA!f zIH!sUq(Z8s*&PJ|MH8HTGm%>S6v$?}_^}k=kuP zQ&J=%%EMI)zCXV2s-d=qZiAUQTAMHpDc`e|8Cv$6?fLx|qoV^pq>;7Ze~Q!J(LZ{| z_V4K$BLn;Yt7}ziQZZO;(A_gNsSduB@#5!zAYhn{DTOIl))tK-u-YzJ5iPyNKX~LU zba4hA+;vz)R8wr&JfksiV@=6EeC*!|vuTO;(5u%v87;%<;#(VK3w<_IA6ZPzU+*>t z>-QheO%P*hwy8oHy@|`gtiPE7^(PmNg>l!4HoZN}ny2`7NPJ9jUtd_i^2v|{pVLmj z==0D#Q4AnoOLbNCSi*Z-Zd~0Kz^d$`pAghRx5bE65&*xEAHx3_FoJ|3CjQZiBcU>c zyKx<$TDiR|vnzlYQn6x%D1e*g?P9&*`+3_a8PU;csvzap&@VU#yTRyBu@UG=k+r8_DJ4BhR0i?}t_A>1(IQT(9%X!m?at@vdEdFl5Ju z&PbGh`BFqpJjI-yS78m3U0euz&Y1fw_>eq^J4h7-6j03V4+k=&suV?d-LzY=>+8^U z-J+#Z1iWvBMPNar1y6wI-RlpBFxI;5)Hu!T{20NZ2J}7F(v4LYY! z`aF6GS$@O7_>8z;@oFklrUQc`l?aR@_A-DASJ<2Ul`b}L63Vz7nR9bAYmjj6?w{DK zUWZW8n0;21U{?ly#Y(Pv?C8olAXlr4Xo1Si2kNO*TT_cEvdea#pa|kVx!HwVK?_bd zT#kaYiBsVzNs3Uyp%$%7Y=9!42R5!7a0lJT{Hp`Ja31kGIJ4+1Q?`DQ1G5&F8x+m4 z7_l}VP?ZMhpD9`~1IRiLe!R32O8Tu^A6m3bR(ewoCN#6zv9!7=y>hzDi4}{lhO>T z|2aS{X=zOe=cB7O^Gi0(AtBMlzvnB%VH8QTPWj znLDl5K_P0}3<>JL{s|jq2C~3Ff_9dYF{u8C>`s0E4xY5tRo-K8v$ceSF*C;O#6Pa~ zN{>&i;$C1Q^fmposIMo{q_0|MNER=@J311i>Fvc&DePh$MR?3QRVAcUDH-g-kik80 zyguzd-ePjr?I8e{iz#-ZJWyQ-KY&Z$pEkY5)KZp#=QBU`_dGM9o9U6(Dl?C0=pqT& zba)JRkAOESsreiVM=3~kdK85|_8je=@1^H` zT5SPqw$GY;G1H5OW*|Oq@o37u(Eg_ma{OC5$jHjf{Qv6Um8Mh-b_>EkI@kcvq;7Zz z3J$euOY2Mc;Kc|Ji z2dE!j@DX;VWu}CVjK!79yZw`a)`!E(#ZMs1=j#Sy`t0OIM~)VH96;0s)>yn|JS*!d zfN5LIBRW(VLy-ID+y340eMV?yNABkAWa7TTp=P9yAa_Pn`Ldh<%qXAKFFp}>9*>s& z3T||E-fQ=sTA&T|R1iDm160b3|x8K@7VJ*x>}1rxg`|sN&WA>|DMK z^Gc8}Zz{HK^k*Qq!qOTha*oscPEDD@qK-g$4}mba&mQX(K9+=mc&-+6ahcN*C2i@>S*~gX}Z9 zs)uy)e|_r*_;~}2x@fAM7TqymK~gBo*pC;ExNNzoSRPxE^_c*aS+pocRb>=5-s3d5 zJ9W*FfVt09WfHQ=aQ$j2Tv%uFQ>neQ98`ZGnNI;0ILs+g-A8(wttwR%W?4YE%OsQY zN1t+Nj5G1mvV3$-0f==|R!oA=SLj`9*@tHTR^l6;a82nL!dzui5%2$@7ux2 zf(zfz!wsL;>qZ)40E1|m?YAr6*F~0suN-Ap?`!_#YyQBie$4@t?9Hr9#Dj^qMyJe; zzSoiT&@GnIm;XZZvMinO(auQ>U)J}1oS{r#4x!;Bkn!hAxH`d%=@{|g5BX7u9NzbP z%!>(qRHE_m^LVN=OA8ZK1GuyHVx-KBHT;dkCC=i@-Ip=Up-c2t$+AmtMPmS$dDL2? zC{*WUvY@pF?V}^!u#sKkhCX^g@N7ac^PHOTbI&xR`l34Qag_T0$K!p!tC#V#(F0VV zWK?%Ia9f^b7oFq>X_5UIJ$ru!03h7^pJf~5&axNa?lh8D-*n$}zEa7nRR2zV>*h1+ zlOkh~#zdff0iS2Oa;GNIg}P&aH4=IbKT+c$OK(dS#rzy|c#J`}n*?J~618JAS;P#l z;Q|GjIU~ABz%FDo>5#N>FQU>bcVh&rue_d?BhA(C3p9CobWfNWYOL@z91$HS$8FhRCq#EAy# zwEGgJ6f-U==(%9Qno){Tuu&z=!kWJqGZn5GK!Rv0GWBeyDQuy@ohjT?5W!P{oT1n2 z+s0tvj7`nw6zFEHqLXJUo`-YFlyi%-Z9NRvWNAtldAgRK|GcxbmK}F5scj>P8{9~g zTy}M{-ei1~W#7NNkeyK7duM2MY>irbb!`~0tVVZ@r%s5YDeUBEU|IFP!k!}?rjs?1 z%D6MgJf<-?8BAh;u@sF*q*a2PWCqv>x*nRs`ukjD3PT?1BEZa8xmO;B(YNM4#pAHR zEeW=l01-QfQu>}4qLNuO#pkUxfJ`}NxHDFd>XsW?_f#@VjHIN#{Am&aG?)r<0*i1E z()R`IA7fvq8x<7KEyF|`biSJBu5os6FQV{Xxo$t09bo7my#TDC>?*g8fG=3Ke^4jU z`i4L@W<;bIr1pTyYbZZE|CAwDlA+l!)t+mzCPqV*%|0m5R4$q*N{OPa6ovedqj^`2~*!rzl+ifHoMxMS-5U*s?%Cjevk zI3_MB@icJxyq2&{Ao0n@n9Ip;;o4ONvgqE14>m=5CkuM;mT#1k?k%2{07QgetMeU|U4&BBR@c`SoD+&pePe1$dC{fl3=sM>#Elzb|>M#As zwG=qp*1=|b~W?2qk}Fma5zr@X2@{l=F zz1=yST~^YUSIHk~oI5$-U9}r-X4Yx7Por@j&JR?C2T`NL-A_o`Ut4HwUAmWH8h6tw zAa-0=5W*oGa|F0CUT^7LyUm(ZY2SOsj>^)q;c;2Lv8CyUa`KQjOnM0an9Z+x-7R<5 zs)U~dTmnzmKay&k_uFSQV^cIvEei3|&0 zu7Bu=^46W$T!+yRgK=kIvq^N(Vl$~dLP8#9Xm|WL^KrOeA<3Ttm;l_*>6cz7q{~KU zwMIk9#6UU*@KkGxCcvp6GRW(a04N6hwl0Zj?0f(`UaVkkqE`d%YrTTE)}6z{1-UBZ z?ap$u6o1?Vvfv#x!~HhPen(&$>$;M4W@>cwU5w04xX(_Te^iYe1erbDz!l-8tJZuk zQU1BL1_zrHc!o0o4Hl)eyTWgV^IP>7-Db6BNgd10U3Z)no{tmPjw*z#XC1(5VQ|f< zQWdMB!4SGpBe;jQa--XfLaGo@=k<})=`58?>%^cp{pEVgZp2Lp@_h&!H??ya+udI4 zFs;na&h85K5l)Sr;T(NZTr<>P*EX{n)`BoD^aew$Mju!VpRQdHYq88mos=R!Q?tYajF3HA+XsR7&H^Y z`onJZ+^+V5^oQ4HhXB38p#JBTTFS%+I-C&zUv@oaTFeIhr`*n$?;}p*sf1Tvv#%S9 zs48v#29CGiGMcA*OLXAl2Qbx=1n_@4QwD~A&ziC`G5&wnRO|m*Q@`KT^{+twp!&pU zTxcSaAY`L@#?B)tTLAXoeDL)hYk!8Sy(h)BDf~N=O`6kXmLDqg<501kzTbcke}qB) zVl{3|O3J`UfJ&c}+z1`c+ri!xL?Z9^`wlSn#EeZ3uBXyE5UEe3N|M}F%r@we75Eqq zl72RZKIiwdt_H+| zmeE%sGJS0kw;XBz0>Iy6U?wyPaj`iV>T-sxPg{Snk(=@GO@eqZKt~&> z`fOYYc6#)&eFce6IFF)w(7KAKjOeA7NbU$D9=B~XoRo?CI^L;yUE;T5!7N~&gm|MNb=bjZiyZmk!9ku4_!PN-Clp;6MCDl9rC5(!`##*^c{U8lMQ|o+r6Sr3{S^Kl(p3pQmCA7@H5J zGe1a45O*?1Hv#Zpj~iE;ZM;K*=^$a4e4jbXu`y8NH2r4NP{6ZJXHKXMLCebw(olee zlN5_2!ZZm|GjrWJ)fvzg#gM+ilQjHd%TU1G6bRI#;mNj3Q9{XQBDu$TXoi)DPv5M4 zNgaN-f-0@Q9d2UhzH~DDGR?0-b7Kr2lx7)3TpWD?d~CVQKr)`^;J=j-EbQipYXjuJ zoieMl+WCZq(Lu&E2EeJDy7gtiv<4M4QNedC=etmXFU^ZKQVDhQDPs}FYDFP*H~Oa> z{mKFepFqhf{?SFqKxtOx1^dL%h0a0tgn!i|BQ2}^pY>dVobuRA0;Zc@h-60+Fet+` zfiT>A0esPX90#U3!oqtdAcol>ZW@CD^sz~>u0BrP%-)LR>4DA86+u5@Vi8Fj8V7_) zC!GlNWtxV>O#@8j7!-q0vT)qqBkt`O?bujyCoMQPv)0d% z&o>dR>PN~zqM3T~WaE`n{9WrLyH*&r>b2!9V5*I%+!dO@fKDo@XN<4X-Qe{G!*vXj zYKa+(ogg1(fVf%A>f2@zuT{I3x}&!z)h`$_MJ(Gmks8Ip?KmF`$;}^)btRSg`T7m; zWJzX(;rPfqk%NLJ*oYc^qXTQ>{e80Ikn`4$Lw=o z+oxIW$I{R>u+Wd)Sy&z{4c_p}Of2ufUYDXA^H)eg1GJEq_t(zI3m?w+y*DsSY2qLv z1?52(T$m(;H)73b@{jHa!=QA-9s%Ht#_xaj*v>6Eex2;Nk z8{N|+P#&sTEWFECyBgkcjsy`CYy%)MkxWr8lmzMQ)s3e`t{SF<2A(Q63|Aa|2ug## zU<{qP3V&kM7!^%WSpB<-$(0Vco4;hy;&7BYn13wEw;3cF^*{~oZv4kQG&Y=*B_eyY zlNo#gA8MU7pC@Xey;iRigHi;?3{?L|&~<*H17F${_k;b;G6`u2rkcvDi0EWnIa`FY zP&C*;%~4+w4vIrGGC)V1m9309L+BJJ|Dl^4Kkz_&Y}FpoI=(0jfIPKnIzKHA*ekCa zS3^3B>Zt#6l!M9fX&8oow}D|r7vp;GGbjQ4J$~ImB0Y{$O>s$^33>rb72O40+JCQN zLYuE-J6?CZZz{`l6-x7TavQ5&qNlQrca?r5g36(Jp_#Q{tT)NiJaJ6X9vE9&{2|E? z3h9Jc&A7KBT^43Z^a*)}Fuknrv1hH9x8208r1QN~1RVml0ze9pjsnq1Db>XgU5r^A zj&|xI4aotm`dD)y9qE_V!>jqcKU%zS!)29T7gel{+*7EmnZfuJ9>Wq`TcceozWbga zH1vuZeX+uUp)Q7uYJ-x_^pa%xXSB7a64TCZCB6JKh-@%LIz|`BXWSZ&*pjniP6?T+ zhUOM~lJ=Yic3X<-Bv?))#z(w3RVC`uSITfc>miQ}H6vR%sx&2#g<4sQ&3)C_KCI_6 zjZV8(#nF0L(p}z*f4ID8X>9D*GAB4uc1puEO>z-|nkst(!OBcqKkm!gvC*$mcEC^U znqWOSjoNH+95oHS+LDS7E-VK0m=L%XC*XwPuBiMH-H6vd{za#IBg7tKv-*O97+MjBa- zw%w|c4}+80laxfr@ck zgz)TQgd^vU!SEgT3uJd&>pc59eVSQve#$1Y&w{9|IfcO@3A0r`jNK{jXp!2hBaBoG z->t`HX1`%mHiz`_Z1VT9+DrTmqjl|^jbaf)Tst|DJtf;xhe4~d_a#cmo2Yq)v({~Z z`WOYx5pliIhXG|nw+$H>53ky#1b8j`wHd-rup%2SlZV7>(6@8J@0T+)OHd=hA|#EA zo@2v#+c%0a!>XI@!N2Jl78w71GcPSx;>-QBZ{(Kf6Vk&s{t*_{BOkkob5)UhoFp=p zqZcOo!hH26Bos>+GtJF_1s~gNGkuPOn0V!o;4OybpIM4a$=@IZW30|I9N-dyPDt80 z=>9AXi*r%6ms@fY=)+_v(1W_HB6!UR%H@0Pd((yR`oGcVu(YC#=_f$F7xwm!eAhI) zz4jq>0}Fd6q_@jIy_{`i%^x%Y352tSA59(ci&QtagW77>lr^t*q)Z51SjdKmQou5s zUn)kgntFirzP6T}S+Y^r(WGMk3R3f-6{`2tS;yXe!m~d$it-g%GC^yt*;{GNnxB+e z&Ig;zO7Tf84vD@_JH;pMeBAtaH9}Ucg=O$9aMr}V*->_BV|=6BM3ucA@T5zkQ~gCf zPPtVVahxMHF_FT$aNF0%T51ob$-VYP@|Pu2fSntW3KK7zN6Kqaxl>!Xnr%*&iD1K2 z*~4e4v4Y`+r^}^Y7LBU2;HJur35^6II!Xap&-Pohf@Hlyf&a)aI=zPcs*Dz8{>5rr zc$Jd2tvp=rY0T2+Nmhau(t8QgoaFO+&f!ZQ$(n9Y6ld#}2Ir9M(~C(&{q7W$2`e%S zE{QLeFLg(gpjd%;+1Gm?ykx~os^iD-uV2Rgqu63A{oW(%)25WxZ z(2pOCteTV6m8~teO-=H#Br)XKlJv-%zVr@8uJY!FMIdOZrR?hc>l_lX7% zwVEF8uGYu%iiZu}7FxR6+S`>B>P@q0Ey|KF+wb?|k-w?aTM8eZqKB6Nz}&>rwRM0r zR|m=#!6A8M(e6-e3(i{v)ys^Y_HD7f*XnA&m$O!aK6Ii7y}^3}+$k#D(2$~|P)qMr z)9eG~4*^OBnwO@DLYBHkC&Zl#XSCc%$OGXKP zk{|9nDi>BMQaYx+=2nSdC-LZJ=ptwsszH8MsW>ngY8`}eX37!D8zb6DU>@S^KPpFt zCZZM_F*s|VS~}4w-rgMwB!424QdH}he18R2MKCqN4D9PN#+vWcclIq49~Q<@iF?1w0SBf0^~nvQoN3LMY?Pd)(l}Ozr^u;Wjm*#! zJt6HB0#Y0YDkB09^;8{olTq{y{w*fH?U%J}=Y3JU!0I8w@b5DsP6WPuqBRO}*rDIb zxKhly1mI*SzuzoKL{7_0S*jM<5$#wPY7b2alRu=X88grX3MXNb+4aA|Vo$u1jY7rI z+i-)mnMY(Vw;l!&Jxw@x9u)NwN&E%w=_q-?x@=}(p^%eH^z=ePl`d=H%Ub>F2I?o9 zak@LcZqA>fYL_&~R#IrmDV>DL6vP~<8LWa#N_k^Q6xgNC{_+R^jHU~PP|R`$e`ek99B}0sB}Nf~ zm1=ZHrCA}l(Q0(^^TZH@z)@Tdc5C`c=+pX5Id|y7==B8{6vnl%5-M@q(deO-_fmfMlT_Rnb zBGG3t-6GGkNZdj%cTV?uw$;5~9sND$v9);R0mSFl1;lZ`&)y!tfy(v~|C&W6ex&9bzQZs!8y&PU{o-{-dlQo*pe_}HTAtz9v|l20a$2%muUaOZqj zyc)Nd1rtI@Q4702UfvdBN_spofk;eu4D!b|QVufAKgNIM2}yeCdi)p;80&Xpaby(6 z1|#EICwSvU2rZ8BzAy24f4{Eyc#1E63s4LQLby$+{dzf=5bo3miz2#ozkd}5sb^p$ zi@Zn+Rh^;IVwlsuT}-C7pfw~2z?xNj8ZaAefy;d;!*aJ;bBdokf5`r|vs z#r|;9Au(4-7|6cU|5?Udicai3CM6Wm5gkX!y(leM9$hKdR$tbpaR93(Vno(I$0j_t{*3C`GD~ z*duXyD@M5FAmGrdgu9(_Js*hQ0vXc=>H2k&a32Ib-smw+03Hgvnrsg-?3~eGuMTV^ z#=UyQzz`2_t4C3QfFbxtSFEvQj?E%$gJlaplE}|ff1&E~C>!Ddg^u{w!2+=Pgk|j` z_NjI%JHNx^=cbpCe|wyOE2)y=*9pL;|9p25MuOT_OD2hu7HfTAUp<%pFXTrK22~CW zxVp`0q7>eiOWzo2HqI&U49hf~g~4jA+7_+$MPI*UzZRjpVu=Q`7%RXi14iuf9!Xj) z9s#C;WF51V{YvG$@$Qq*veKm1_yF57JSa0a!!ba6Yeo~@(Usry0&A<0Kc#@NBTmrg z2ZzV)u7p)3#3>U|gA{Hn&Ggvv-7Uj%pvLvr(S{;AsAC?v)q~@0B=cy8vMTO-of0~h z>isquTxYvM5cA|4(^=KnU{SBkWlHN?=}lU;&RS?hw$T$PW^RW@U4;2|b@v`!yeE&F ziTnWuh|p5?1?3X8Tu*6(1;ae26l!jn5wiYDei-&1Ng_l-S~pL>(aV)4pZwI=tx(pA z2!IjX7*thF^miXelaKrwD9mjNd#gmtozU4B3tO~@^8(%;>K&F@G=!>dO;*@eq-9%# z%qNCj#KW6`>WvKt#s!Hko-_Oy30eUv8vSfI0IOOz#rd6px3t3>{gkYpEr3j@0FO3f z(CUu%R|g_K2eg_K2)J0mHH(dlkPxWFyDr#8SvpJ&+0Pk_NJ&M z#%WRL12XfERA1a^6&R@Xuj}Vw!~u6+9?R3zVq%X|_Kinh#i|c#^vc;F8jC=QVI*?m zc1ua!k@-d+ks~wBy@zT_q09@1k;7Q!~pHkZIGNxlm#(99CISoRi(gE_#pi z-XJ{CEJt|%`R2|tH9sZv3-m2(mGa@6#dfy9Qn-nMi*J`41#di6dw-~NSA$4A&9fBw z9-%>E_#F>AgOuGuxMCCA$n6RI^_}#&q*hv{Dv40( zlI2sF>J=7B!UcBUTEo$x#v&34%Fg`{y2CcwsWYH)u0fFSU+>JV@rgjOPDz>9g<0068?KpO6+P%eZ z*hxC9;P9wM@y5PClveRn<25$0(L1=w_5=J)q-Y7tp6MutTvlI$G9J7==v1d~xk!f$ z>7MTN>X$@|&l82SEbq2jmD(epDr66nd`p#67izd|4p`@-rJ63)d)f#DeNcc&(R$Al zB9R@tp?!p`ZOl%DBsGB5dTJUUVupO~{oif|?Rt6}e4G^WKd&biBEOc8Fi=&zePU*S z2<#{-r9bdoeg<-Qe;#M}atv_Z(k5EBlx+~XlkN(Y{7kH2VH;Y zs5_PaWY7gX7Cg*Z^!vPTbEvyp|IoS6E(KjkX)oJZQOZ7GWb4!Znyof+)q{U}61lOb|oV2J=ssZzq4FyF47eDSpIZea3_#Cx#^|$7=Soc02In z@egoZxg?3gkU|m<@MA8+Lhov^GUCvPSh#)*=lJ6TS<*L@N*H{;%d@K+M<;IKExjjK z55{Os2%ene=)uhoSE<4G+rdi!lpv;20T&q2eTAdgFKzY%uRw!F)~QNC?(aLtSI5_z zf5LXSvlFN9JNLIsseH;ktwni)dj~=+1daL?`j{p{+OY1(PHcE}5u!%N-A8(c{D4{_ z9Ga4Rx&j27PM;to5B{AB?yjI42`Q}JQ}wdol( zz6PA>=4mUVK(#+OIWttsVNlpGI!Ri%Ciz$`Wu0;4FBPEvr2;+M&iA5Z0seb%i?T zRWQ5-?MC?He(^-v3LC%ba`fvm=}zjas<`PT!pg?|A-HEE=#V6Bz<0U%;|!V@O@4mdT9h#lY-dNQKE!>fr5Wfa~j-60bwi;Gry zlvuC(t&GE^Soed^_>3o9JumndJIWqZ7}v*{{<{3?2m}NM`);nrd=BT}<-aaph$?;= zif@gn4u2*tEdBSm4AqH*A#3I4^6|1m*SfGa1+)8&9iC8$u@M&DC4Zwg59VDoXc z{2=7Sz_{h+k{PY`fVgP54hjy2APu?UB+2Qyq{t@U(br3Mx{wN*y6K2S#g=>N(TDE1 z@w!lSjvbg;)95Ux(*Gomp#LBaUOOU^onNzmi;<55pUOku5Eiz~0B;EcLN>@C$Fy8O zb}@BTG*ts|1fa^4xe!#utaQ}Cs&u60v+ZYG{5_0FQ`k!wDfPp>Bq&`6F3PFF5UeIj z^bL<<0T@?@3f~qEPZJXM`$S~COq1ZLuid85{vQ~7*+E+5a5kRx$W{Yl{%2V*1oWvf zD#S5J|F!Y|U|7FZKETj_($Bwk9?VxXJHH`;cqaBO3gg>|?CtC>cf82a z_UK-Kf}&87faCdKVsAv}`)ekL@B5(i^6t+4^=gK(>IHuR$~0}eMAh}T-n*sVH{|E* zG7O#Bbeetk&hdya_%~)e{!ePp&(AyXo#wO}{0$yX9+7`iqB5 ze-|6CKoQT^feWS55v`G%vcp{h(uFlJCpUB8FtNx$5l^x2UvqGs63J-|@1>T`<)RWe zBamtk6evZ(_!#Kb?A0SZAEq!(nD}GIu5neFX>>_c`R+YHU6rJm-fI;4y5*E|)*%;O$@^hJBkX77z-&L^-fc749OO2RBhHeF7QX%%tj5 zWBY9_4cTbX5Q7_dOa{%7wrlBc$$`Ua9sXzvwG56GDc>G5bSYt7o`G!UJv{$da2c;A zB+en_wNRU1h(;>fl7Ygq9)~%lFG;XOPG)qR;&Fta089FibR&7UuS7GiAAv)xCwqWl zI!mwXIAJ`Rs!IU zsH=$LUS06_f&(NaT!w@R;&oLRDSIJ_LrXFq8sixmFS+$N=kPO@7lFaHgnvL8V7fPQ z(eWpk!vAq_cg#5)ZdMLgsvPy9`FFP`r`>Ply$JGT`U0 zP)C0!Hq-DEf}u1v)M2v%M( zGxeG*{=jbtLex_n;)oCvr4jO?TdXUS58ZL!D~ytv75F$wTTD&1GYDdY`?s8DYa}#w z==`o`Z!DuZr{=!-yo~9gza9}OZAz{po3h@7FC7mCedt;dOt|Fe#W zySNR(dlwB-xiLum63$t~?$p4`xvf|S@}iu zH8{ALct3j&g{fEZNNijd*8>7x<89wXlyPW$%&hBpv5j*VSnCNRPAd9Tj!eszA6#2H zhX)#|tTfI;a78wb@0e3kEsz=I&@9L3RyyeF6;^62)euA45ZjjPtnC{L7F=_YYBrb6 zNetUA5(7w6+J(9<@k>&Fi#pw`S`UWFDil!jpM00Tr7C|XO4L6Ku#y12+HH7j-vs4G zv)1*+O^x52K``s#ix*#NS>uZ^IcewUyv_||O6!keR7Sll{=JgyL{_L;Bzkfe1fVSK zAlej*+py2esoUFsl8@*>Ruvtgb+jY^ECL@0BpZx)bXeHMFajahZCKQ8w~RiUi0IME z*g`lURb&)1hF2G?V%jf*5mzX_2aXYvolk485RNC6)7u#B-=|+c2ZJUQO@-#t%)|nv zPQHolmw?;Ks5GE#6il5g#BH_WlDP)dcPI#LS30?7@m34WPg4|^eRShTDcaT;yR`H7B4p2GF%5_E5_GbV#Bw6FKp zVQ{i_j_%9t5Ql=8uW9SBy$;-y>Q=brJ=f`n2UJft-H9~m;ApIU&N8L27xY&yk_Kte zYX)`@Ha*y`1H|ETdv7|iUgYGMN{oi!7G|ivSQ?Y~PWpDF%La=8&U&Lq5_7)q&r)=L z+#{{fO{6dFSzL%WQ{RH^D&pZnGVh4#f;YVY8RHh~aS=rJH8Uo?kX1(J&pGUJJm^WK z8R1Y_xuu7uCdTG-?XK@{43^!JTL5tyu0yipg03A>f)~{H{skad{{bMHcD~KN>YKQ- z6-Gze)BC}Bq>~L^HH(UE>{e|?Wmx7Kfy7A?%O53Dv1i&NvpXhx`&JGY`~RTH4-dGC z|Nnv}|K39#CPsRW|Ar>GCic)XN74BZMUE6OT`1;yeC;2!fB(nH?z$Cke>gusPEkiDMPtXL}K0cgY++Q!%&n*ib zk56vj_vU}eB;Mbawj5miGjmWQP~$QwYXcJ@MKDLxnT%K^_WfR?jNUQwP2f#H&pGX5O z^LmFkBej(Xn;$EV`Y3T71Mble8{YM~AxnF;JKJv2RaP?d<1VBSDcyok@n8Wt>3+Ca z3&B16q5@6~u0K#CGjPIoP!KsEAx+I2lfqO?`%2VftF#UO#q=y|GQtM7=vvqMeku%dVvvgwct{)& zi!HSvYAW0Va}^$W;IA^G@22FM2Rk*qssBU@sEdP$F)3k8H-EgaI+}xk7ixz7fvc_bchy~Z{?3xNd`OATQ>XB6hjc)uucwElgjW%QIx71jAT<%< zgrso3BvKt0J%YOEdh{q8{wpbet?ynVVbNlYg1NaDG1;=1y(N1BVrE?XX0jR{V%PKm zUyYY-4!UNf^UTCe+&`b|CL)CO)3zuM{{ufWlZp)jk07 ze3Tiz5(ll3OYmqSVQ|b+a~@jJeizI}(&areurQtV;OuPQ1`Nd3{cRy}xUk3iAs%T? zkX6^LXs{N7!%=a4r4AM)O&RK+Biy-G+PqKKSVQdiWFn3^(3rHmR4&!|{gBMfGdekal8ib?;;n*%h;A z^6#4-WjOxl`&)Yqz7EENsk`+a={@oG+y{I+X_nD`O75|Ps#;jXZ#KpXC{{cx4wwv~ zS-q-;F2I&VC5VC2jd>CmnJHc#TN3Yfmim-a1v4BDJ`B;m@v~$IIA4n0woqB$>-@Sf zrGrOxVdkrpb4m$eBo8c15@v2>YlxVpc=)2)Z8H;dnw5LnHGO_&qtV@L24tHjcjZ`% z2tjXd#F1O@7@uh^D`sdf5C*X>hXI6HfTAShmubl5 zS-X@)DSHH`xz+tSF|V+B3J?^9TyZKnhO);`!l7;P@&vFgbAP7{rP~I!m6jsWM31jq zc}S2#-fKZcu!|ch{qEPSU2ZIs_N=utJBY4L!TJ@&T+o(TuE6gg!wD-z)6k10X=^QQ zLQfN-NNypG*~^%7bVoZ`ZljjCA{}_;yHD~|9y)*o0cvfZC~-^*DVIBbLv_HyMl-Cc zPpDs(%u;R?N7)x&-1@yH*8I-ebJn=ne@HV@QnceYp%x8&a)wkQ zL+8etq1RCF>Ntpk(*oXnss?=8)Z9;Q_4y)=Q5Fv~y!uk8c5RK`L{9vBnBEAvh;(Tm zr8O0QTj{PZLr}koVDQ|!eQ~$#>c}Yzy#YHlY7YlsoNBae&?bVW1aabAg47Vo-oldV zdBL6rpS?&g=@5E*;_D&Ou`X6SJiQp8glZ~}mdnW7z!Hi&g*e_o8xR9C6BXjE&% zZ@U9$_~40+W$gg#zd`0~ae7mMix-;G$SrAISvgbYvPbhxFtyGUF@{bx_SD|!7+QO56@A z3tRDqKShNspOu}5wyRdE+dV+(cu#7|TZiEm>P28%73WP`?zHRKDyxk+z8DddK%$() z3`|X#ie9-WRlq)zG_za%t2w$J7Sw*gDNN9oe4_6+V&O#`DQdL$mby zv#x0e3jz6_tuMA{b%HKjPWl17AREDgBO*vy%h1LFh~CWZ_hR6Z8~4TYAcbh0qAjXO z_$EDVwo2m!VpF@F^b~~$m>pfn6IhwlM9oSEoW=!I`^^8CqLAQ(+@MYWI47vc z)}1FwLZD@iiC4ERU_CoBUzo1U@Kb)(K2rNz~wlh-|U+!%sNtLmV zGmQlFUV^^TKVF#FDM!wENwjo7U)QuZS(DvPn<<&SAu$i!3H=|&-hoRJt=ZZwccII+ zZQC}wY};M7)n(hZZQHhObeHR9?|sks?sv`^cf3C!b3{feV$J!?#U`&!tfLv~5mEuF z*Xr*=(R1*)w>;YXd7WIZ`TDZ!m@%&^UfnW9O)W0{QKbdH#HnmPdnmS-7*ehwuq{Zm z>%ESx1xZ%9sTmRVakGEF()rFj$^Q5ULq(?2WO(8{dkuetd5UTVN5ox2yC*8>?Fi1^ zeN?BlNf!i8nM4J_LV8n=p#Z{I`v~K*i3b5E4D(QOqvEO=&Kkc>S!siP-1ZxM1j-0= z@x!=y2(@B__{zt*z=6e$;mOgAt)4Fotm858w$h5 z@gEjBB$1%_JtyZVDvlQ@H5--F_3i7+Sf-c|>bR?IT|v=wv*#14#bu3^6*~9972L8} zeA{V@5mQqAa^3bw8W^LRTU@<29NWEne5AiZy1dZVn;M!H!l&oBRGiidoJw@ z3>&L{X+Z}P;!mSc)WDKn^G;hD$X@yi69fdz@-1!rn9r2b%;VcD9ODtK?fx2H$%aLm zkef`FT6#)6+Dfc(*pvBVGE&&qlA-%7Tr)m$DniuiL*-g6$X@!iVTj_i1`Q8hU`iRm z`{B5$G7?=Tf7vsk5;eU=Gp0YWT@8Mndf2YBm9iPNe8Gjses#9dl%`UD*!*YFzoVhe z$j675kXpWjeqEEU*GXILVA~{%lkS=49e1kBL<4_5n%nP*d!qjH%tDnXCiP35><@KB zM<{txv!}Qji~5Te>^mH0e0=|S;}+)J`3b-8`;(q8=Lj@EN(1hxt;ZXKo1%?n>a;*W z5?+_=5CeKAJ$;C6BZMi1z}czYSY-d`vBzzJDXPoo8Yy(eCuR-(&! z;$JahC76aF#Psmt@ZougQ(hDs#WCM;7tnX{G27&~}YV9uQGEIU;!+o$w;RVls!d(2Xz$ z>XdFqtb&m{ftMsByJq-SAbPA^k##IEjQ+FNGpFdWvECJ)MulLI1j4EGV)XK^H>&1_II;OSF9mod~tW)%L+)7>E4QX%{`Tk#Cm{|=WWMg2Zs z!(I7EQ$!UbHB!I8$oU$O9yljKilq?FZdJvcZYl7BQv|`KsYq&SlPC07bbvs>v;vB& z(4KV+Q+FT0642_S5_l6kAO7nsVn!(7M5qs7BMP6OgoyalSqElBQbq2=6wsm0B7v+v zHWP601+!6^8u{1i1Q1uq0xbWrI)VGiZg_=;s0D|B3sivZ5MmYKEP>=B(-Lqc>q+2a zmeU)Bqd6@?g#&>o(4L-xMFO;*=^^J zf(dXsVc7Ql<5Yv1_1ymF%pdvxocV76y=pa2MWngG0sL0TaW+JoWYB=h6j@dqrvU1M z3P62mj8iPFI}!ruAR;hf(T6Fwq7otH6YBZkFpNnH)53+CwHEH&^K%iZXG~akp{43D zVSkknl^}CYk;+a3+T1E0r2EdBb__&B;*$(utf@L=0BBJMX8uoKA_qnO=}QX$w6M-V zWxm4!*sX{RH!6+G0S>SRx@MaU0NzkO%K+-M)vhRnSx`m39X1*hR7ssS8E{&~4S|bl z{0udO3o45D$kvaTwikE=893#~IH6P2T3R5ZD(R{+W~@f3KW)qelh5y~HXXq-NEM8^ z{EzX9`yb=gE>^vwlu>3rUeM`aAOfx{$O6!Sf(@oL4+S_JV!>Urq(goS;16GuQ9}pw zueIz_Ff5W6GOnWauUGKAvvf$UMTjfNdB>TN2q3St=?%7pSoRix z$MXOh%QGRmqvXss9zQQ`_t%-8@7LYIPBi83l9a;lBl0T)GroyR8{BDlWRdXfJe64Z zNc_cwXu~`2&kV#4uUA64_~QK^S?_=D7Gjdb!<5u-oTLaS67T^(o)`RlG--*i)9a7Q zA(gy*^C>TRxOQScoksG0kfX~Mj5y8#*+l!$p=b^>Qk38(lw6KlErBd80#n2l3C(^jw^Blpo1uoOm%3>zz@ydW;QU?6C^sF6cnR)A_ zF)HZ#*+P~}Vag-AXJ-vy?6}wGc3|kLdVjZzn4`zujnDLq#bV-M`0+wXbTku!B zzALf&)lS2`E90Jvo!s$#sg_RBL5S&LF(S@7fBG|&Ac_irOdS8%+(b(%X>*iKZl{Wv zUj@%`MK{+)Xs5%-L~Vf?{^&4yyR`4y2WB1Hk3+9sJR{+z`K~cFbQMjGvI00LmBeP2 z9x0X(=xY%O-4|H2X>d8tU3Kg)wr?zun4=>*2#4<1f}4g-p{IOVQmcE0Wm%({fSP0t zuimn{z4b3n!&Tn&vAJ`gtU(qxc#m<6-8_3(HF=T{F+o z1JqnFVZ%3T@I&le^Vjsk)U9Efr?Skym@g@Qsb; zxrmSp3)d>#{I)ZK87)zn-{xWRwX%bydkn8Q38tgxWyAJf?AE>+KGz zJSPaY>|c;#ZReH7jzZAMPD=R{5okx9_0OGT9&N&8LKFK>=NZ|mZ>`Exx(A-v&VQTo zE+TAu{b?Et!g0<8&i6bC#3-3tbDixMj$9nkX4I;64}T<==~AB-G1p35HQVz1nX3T* zjm3Y;ApR$8aMZ=?Q$Wq=!~JBcipgFg+OoeR_K85WFqUS~RP0?P1uTr1 zGzX*qoRi>8jMmW}QbFIhw&ijDyh(gdI?2jdjl}ZNIyM-&SAC|yg4X0VQNH3uG6#$x z>10Ij9$y)3#b^sF7Iy(pA(rcb6y~zNDdOKQ9@9sDqrP5wr4o)ib3Vyh{4SRBz|!4D z*!8%b$3L-}_f)O^h$dzy?)4p7VMq=Yi5K7`1gNt~d6GHjRc|l4qz@PjAxiQUh(SqD zs3aGLl9d@s!bGDr%03MagSA_qmJTviG_>Co<)Yw8qYbMrJ%R~2n51hPxGo`mhh+T| zua-f-h?H(jV{b-JI#RgrdMIKdE}q6#NUMuZa=;?W(Y*ldoOyP(1k%qx$~E-SOg8BO zZoIbX7bK*x>CP)@?bmQb1Uu7e{ljL}d8C$i)?T;p6peQ>SFr7%8sm24ywFwWHdDGH zBiTy5=AHzqM9iVVP0VTm=03a6VLgeB`}ZGhlq2pZ?&xdtulq<@zoBxdrQWzOG)Tr~ zN(pZka!~YQg@Pv@o8JYo-bR|pg^0NY;7#*D;W&krxJNT%-+%N$AP0e;bmkz&S=W|M zGT#dRNXVmhswzvaI=MCPEt2h?^IIE?>xf?nBHXx6hv9lVmu*Z`ME*9%cWt#}1?|0J zVX0;XJ*HB!Re`Ftv1>$ujC+!9{G*$_>B#ZPq;ipvrTHFvrx)@iJDXAJx1D}sP_ioK z58H=clK!W76l9YA*D?WQhcGl~l(=Cu_($yUiTcy+X$}qRZU1tXyu6X*%0CNy0_>8D z^y9%6%GQg5_vGt?3_iRE#tn*C7tqKCT^U+JVaMyy`wL=I7591vj)@~zL4*=_P8~8y04?ZeWZ|2rSAB;EA8^Tx`zZO_1ul9 zxy81ksB&2iXCU*xpFPNby+1HE!y2|cZcZe1DGcCF1@%bB5W2*zWn3KdzeZ_J6JpO#c}W&CJC5e`odle}HJ<77dbL@C51v zAwTPWDi(^^N8*^8x_Yg_5}bU25_V(&*o`M6v3OFN!(f&xEWU`R=kq?@KE)`=>_r?+S?_x>@-UfW_0O&@iBtL#Je$B~GJtS1Fll*9b(V1}T_SyKZVT;PE{mj#e z(Fy-p*21RFIj%<-7xD%`ebJLlUEqYTMLtwT!tAP{xQ*cj>#f@Y! zWuJ+a%YlW8u?P;S`0H^ARkuqaM*o7-TZIJ0N%&iO)B-11SnA?rHr3TyS z6yX4g&i@W+i3Q>06k|Gm#H$6PtbY>owD)IA)^P6O8n zpG@?^7w9ns>{XI0fHqLZt(ubl1ozX=aBi^Kc!&54YLod@i_2rSFQCQuDA7sGi`EkarQ3d(D zl_8~w`2)*hvQb^o)=bNj!$UB+p=lej73i~CUJC|I^MuWg5gIis_@9rf9}DKrdyEID zMu8X7*Deg88_$URHsLXdi!Vc0pKsu3#iWGXMSQsd&B|J&-CH%3LM`)=;hcvcsP zHD2ap!DQ%5QQfPwwD^Qk?TtUdYif2ytnYOu0`*E_q^g={+Q+oyu&QD zQ4Gey!%|62wLAnOq_p^f9+5r8#H*hgr03o`g%l|rIjC)QvbEFg`}W7TOLCD%v5bMy zzW^oVL$06^g3x?8KA-q1++u4E>O8JmDcR+*VDe!zeHE;bc;rURJLOD~p{qW^=u+yK zMT3mj6O-w6Kt(_QyTLatt#(KyX^^`~yT=HExOB0B+%JweJD7^d$ix}3!{o7telWum zA{MX8F$M4~Qj?`IEek34>T z^^+Kh@%oL7^9009c#Eq6Q5=LsbY4rT;9XVEp;+)2(9sYprT!exhjM_9;wb%z7E4p?zm+0(k2Ax7&;Z?6)TBr>BZW9DSY+Sevh9Flc7HbPCWz-7_4P1>PgRW6eGrNvOql8RL4>iyFLQWn@|^lU&v+_JnG8OTJ1@ z+u1`c^$rE@`~^c9?0cJ>TWz`m=4L@1v%gvB8q);j*YFl1DFB1OLE1ft=axT@g598c zX|nu)phafTEVGbMJ1G*l`1FyACvdB?sL9z=7B8Q0T&UT-Ksgp}+f}HhB+@2dy*St_e5bqL1)~;jC^M;GmtT$0i3T%IYp^yZ2E#&gw<{nTMsc^|@6RtPS9EN2AzM$Jh3yNKmKPPuT?+>zJ_$dg^$iQrB`B*Cb?z6(@u1vvkXgx+)P%odcdLJEXco=$; zPZ-;StMZ%Xq08HqSCrnGT?)O&*$8;%ECq{1Cei$TN;}W_hSX!>qAxT%4wHjz|dbMz9QP zQi+U1QYP-3)fi2eawNPW*xqFCLecJ?rHIN&%R0F!TrQ950DdXH$k59QpHb_A@xh8yXhL7UcJq zHfaOtn7THo(^l>IMIcM`p$+942V|}x>&`QgpeFAjIkDJRr}-%31F?Mk+Vc7_x7ZS< z_%p*(!^Q1B<94~-q!z7o?RiN<tMbk=%aPi(z3%Y1gJT*0#3 zqq2KBTn?3mqkyd1mC)luU&M5VjDZA0Bml(xO4pW*4- zvee>u{^(v>0fB@}}(fOEU#_DxpHunml8TG>{$+kDx2EU?ZuWS5Qvi7dHriLfc` zXh~XbK@3JK|Fn=eOSyKj zo2j_w_w`hj`Fz=E2-sb|0!Kshxlx;DB6L{Gb2Jalc*p;G{Y=sG#yHT?_~b4l}=ko%;l%}IPrN5JkRtX+$diireHucE`r8d9+E?F#LQpx zwdxR!r)=~$<6ziz6JXUfv_ZvgV`+E^7Cwcre|=N>jUe>DEID&0Yv-smoE^2=wf0Dxda&bKph~)US;p=M2|Nj2DF)dCQ zRX=u9fH?5uwaZn|4Oz(X&DiF+(s2Fjv-Yj=ZARrvzC-U}X61$a)MTebMy3C)FahM= zhzuK1%W>A$)=E?pN!Y@D6Ii2Sk{YAxAdPXhE0!2HWPvJinSnhQ&wy0GXY++*KR}xl zVt{Z?xtm~1K@@n=ea@L8aayT+q+wa$f$66L)w4DB*vskEZM=!$0{C%mB&vpz?gh*h zKv#wEugE!i9K81sset;IP;r;5T{b9UJ0!Klt(@p4n(SO=w~H2p!q##m190o%`u|0! zgaQZ^SA=Ig0{hp!OE(6StRPh?D$yc%CnBHRf=iiZ@DNKWt$bkQqFW_uDqrNLFi=!6 zX7?zc!m@SS{5$}+KJHDXnl=?kAc^La8^-k{E|k3jbuJpm;Mj%f;r~sj>}NkoS)00- zWDM!^w4=wq24bRUU+%kE()K^}IyK7jwxvO+MEVtierlK&qYLD2w?*iU?U%3f8~AGa zVf}?PK5G)!Z1|#oG?KI+SV+2*7Ljv_w@;IpCY5W65#F&(C}LJz5$hy;DTOyd!Mne< zC?ueVYTdc%?TLSjfgKn7M?mrN9|;b>A>~cpg_-x*PeaTUo%1787;6E({VSZrjS4e1 zhl|w83ILFG04uTkFS73XSI6Pb(EFK>0=fh;3-GE%-#3_svB8wn+k~TaPVi_)EGy8u znFZsWG32{;H-@|bqc#Bte|J}mw6(Vhj5Ur8zGbjWYo1y0P7ua_4_B#Fo z^j+}o)Yw%n$}j@tnm}CR^fQ9AWorz@%_1;_Ua^H|5hhz@_0yRW{w}eg6&(InK?IBS#0mn2sL0-vt5XpxxfWu`M7~!oL}r5Q}Xz(<=Q}z-P(@|QqX5AlbCBG zC0j8)?-w`xzRw%FYab&E*AMtbEPB_*KC5m%9Ihq%w~I`^i8($bq4#GmjLl7t%;Wm| zW+U+5R2M3mex~fHq<8q<@PBr`O^kHb(jX#395$FZJ9=5DmL#DLr_&rw9i6>7lpZ{D z9DXqu!MSJAM4|JMB?ww#Tn?1L`+khnq;WYVG9@!s;ffmE8psCU1AZE%48;>PRzI6&}GHXwPBlkjC7Jr|bgZpNf zNGxAOHsp{#CU>0ROo_y7&T52nZ(~e+XAoX!y0N9YlHw9iCAk;CzTMoQ-H=0rbON!_ zWNe>L>)qd1#wqK#Jg7xZm@G*x)+;(qEI*ZQF0#Zv2{(h~qPc3kzF?F!OX^Jgv?x~nt#YzPRuiEIhIg(?QnXZrkA4SfHdF7b~{vCjKC}7xFqSg zY}Pry4SW2@ozWDLeu?oU&csCo|Jr9kwrQef-E^-CtNXA^$eni!;VGXodrUxm< zB0$N?^}w%a?!{Hb2(=G1(o8wUAp78u--d(-$k1<1wxG0KM0G52jptLe?q}SrUjsUOB2MFr^GW{iYnJ-rJX=)~f5Mr; zRzo9_OSyuD-K}(t{Kf*rt6IFY@paU+phJc7hVEdas!+r++1o}uWph6xP`U8APgE09 z_|3{2ZbKCg8rDQpFj=s(GzEbs$&`LFrwOQPgQhsK)p&K^>O2+M3%JbO>$W7ZViO~@ z6$m7w%vu2JlfJ;qHFjd`iNZuOWqIAwf+c-KafU}Jq z*?6zwKtJkf4sp_j%?J~lqBfTkS!t3fL+1{~RW7q3GgYK54Tju!;RnvQqFCGN*9H4E z;-jl<`t8qkroH`|^t#&m>E2+r2~ja7UHbK80No&*6*+taF(yfw8)~i!PfCoNfom;W zBs7IVx2g!=f$pb4NTSa(0DykL~<(OQpzb# zg0=x1iP7 zI@x*2Fxlmuv5t=IxwU5Am0`Kayag`dzI)ve7uG~=?B5wA)##wDv=^l6KKttUt@kKv zJ$eca=UgE%M3g0kZKe0nNh&4lG&Ne@!7O)~QgV>4M8Qi;lZ{pOA+QH)kMK4gQZTSt zz;=>Lk<)ak0j{Q6y4o78=9T?hQEeI0avT+1?nz10=uqr5R#@K`(WlEseXdnhK)A0@ zLM!yy24i)9YFnDVR7NaK9Fp(?6}xk}GANJV=p&^|qDTQ&~$z@fjHDj}A_ttMS;ju}pLf-B!_F|&-YiPIv> zCHv{?#ZA?axW@=xv5l@wrC_$@E4RhSDVa2)8o0JY3tVcdIA-ns z+;6S9x*i2Y>-)ydGxy}Jd(@(HBvm2w_`~-movTu@r!t%6m%jPDw( z^bJfUOSSBviTk!kdi1FWjvdR#JgJ;G4@ZYD?*ta zK*sqe)fEJg>I#r?Gytitr&Jy?%MD`R^yef-=_3KQrzxRR8x9C$R)Fn^6bDos@1Cs> zF=TmS#4owm;x1VBIr4p-UuY(KO*0?@FAo|!+ zF)xBg4A(6rkrSF=kX%rsB)Mj82vf3X?1RfJbmCFE<2Jk-X~I)x%z}EqHtGCnnKBkn zk|wH(T0RT+j7FJA5V~0QQ57}g669+acUe5A3)vE{9ZiCz%2EZ-3e3+;g19o98|gB= zGVx_FaWcOmaV5>CQK=)3Z+*lUQX6~_|Yks8ktcw0TKQ{MqpZdTRNgZJntN2Q%U?=2-)vq zDx^m*cANxGm;S$w=N$9y3!m)5RN9sY6aNINFq14R@l=Dga zJSA!brX~K=v_qJMaSzH?YSHwzMDFxegUPm$(6%IaqsNQF3VjVmcFGD1} ztG7BYABwk(Fim97%bovU2iW9a2iVBBr<#KUfCFq)a+Ld^*5Ljl^bcU}?;uSW=TXnd z##&oHAoiBz1eRL7>ofA6Blwu-l6;INIqE{jX6m|a?5Z}%+z+SQxjj5B6n%*3*45p0 zsf9;C`^nA(tkW$su%*9$+mFHnSGSO9)*N7xK!~dmVtwI?1v1Me<7{b9sYO`qHPne^ z=6bxJnZ}0w!rYV8Rl?=x!1a+Fs;RTnEu)!ACdgLnRdKOCBh%9j7xge3el|9lOG4gN z*>O3Uhlsjm$+>o3e%QmK8)M%0tZkt$h|cO`K0D-w-QsP#j)y!*UVINpGC8=kJbW5n(r536@)8fl*d1FKZG*H##=U*U;^s>_KwdDy2Nl$ zu+X~?K|+|}xQbosIfzG8pX4#-**&w<|_w>}V zPxq6=UOpu}M*yimbs9S8J7%5l`H@zXLW+pge6l)AoFcZPj)gEiZ#wRoWY_89Fd*qc z|MYV=&iAN4hDvfBS`b@{A8_(5r8V$3@JOG<+C8$e*PMsp;XuwiHzH7OL#08fB&+;} zC~B*MXwqVmrjRd7YVA@y0M!2n-;2n;9Svm)s`hp=HjiPq4RETR)?@6Cwk-TGix zfpW|5ao6sJ_zxkJ$r@r9-x@_uNI~v`-m8}lOa8)qAn#b@)@US&*CgT^P8%3(x(xXq zVJGJrGd{LBN6{zk@7Bvs>r%GPXifvNOiBFfO{9`P!0AakT>CEC*0POOJZB~|@emUG zW+~JeiV{Q;6DDx^L}_pnJpI4z@bemp6SLI=n8Q!OYJ-=h#+k z<52!ELBCUg)p<9TAM8#6C9C6&SNbMK{TcY9+F6@l6tt*V3$ z)rqYvP;w_t2aHA6V(F(v*uyxQ0EQ}`A&%$Tnz!NUU?~2xrT4QTmcSjC`sC_YB5P5n z@erEB$#;v9>WxhYM=8&^F0j|-eCs#7>3MP00owLHtx>gMx15GEm5pui$fwWs>~57C zmN$|+M<4rEf1Ix4x)JvAm{X9W>D{EU}I0Xc5W> zF8r#mLe!U^Wq6e<{9SS;{DUJmn$T^W&)g9k=SmE_g{8`&VM0NS&-q9KJG^kI($&a$ zlFz=2r12K`yQMuAf;hFv$$^t-Nmv}fptVG;LRtX~>kD*dddVzY5hK)Y-hQ-?s`3c} z*@b)O5q@l+pLSi;Zs-1F#o8lbGX33!glhW({i|w8;D4Fq|5Hw#`F})c{ntfmzzbfe z_Y8eCcV9xpK79Gt;#;fM{kqJKd+HU^taND(nG#pItEh>{R545I?p8bN z(NBUT^e~$lcsLu7goa<}xcDXczV|pF3g!O!;Y;p}*Yo-O0RYv-)=sDU!tP3(%>Iqg z`q{|#1c=c3x^wezeZ7&rswr7HyBK&qdiuR~LZZ^&R$3smUqZr0v}jmkU}Gh^3GHpm znHj78Z-mw&V|-w30}gCS{!G=}W~`F{wcvh9!Y?B0K~W=f4jPssy+R#5W&gs9{0Rkh zZmkcvgr(RclXF4Jn|M1B`@Xb0(fRPGZ=3%{XxY!=pMtIt-kz)R@-}$$8r0lnCSv^A za1$L2 z>3YHHHx;#~*0^Bd_tv$;bBj4)ZaQX|A*Dfc7hAKxUOB?L#IsieZpur{x~U`UMHnT% zh6?`(-b_3UfCL{|G~Ef4Q2D3_DQ`vG4KPi1s`i3Xzq3r{82^BImZ=m z6orY99rwDKY`z77FbsfTyEagi^^*$_ZNl1E)A8dCuZS6!`H|33^Y>~Iq*cT~#9U!9vGr0{>IZ z#SB?;cT&KlO*kq~A)nCgxDvG+B+)d0;&%m5{13uP*5D+=ssj7@LM%9F?ep|ZavIRh zAe!tn1F4_SyL!{vg>y<*+)xq9_>Xp@896vOOw2rqz` zD?^~6XF$kr$KUz8n}VehNGJKa07DS?R1yy9z`#3JG}5#0-h&$gxe05J{O}5c;y$+o zF?tk{Zxz#^HjTlwp*&W?kb!GdAxpl>P$^9w_$O+DZtVN93b;j(1!=Go70L4Z@0Z7cny=3hdb>{_ zx$fV;JzlTG(@gKAit%$zJZOu$s(UoqyBb}RsCcF6&bTYD5;OH)n>c%mx9*P_zKWOs z%%v_Q9N|KmJkQT9cC!Q#dg~pBz(2&82)GsX$DG!weR1}D96heIBmgJf88I|!ggg2u zQqHZSDCYYgx_N3Y!n=7dcqJ5mch4A$l!n8XjnF#Kx7+S|+2GeBKYPxVq0`W!tFgyg zM-+V%m9ELe-OzUU!JzS@6gw<44@cEz>DO@Ap$3hZTQ8^yGyGNfF`tgf_|@cTA{u%l z8oxd$+Hp1SO4H!LF{?;@w*ZPzv2>COtjKbT3c{$Ha!x$UoiXe;7WqmGwKqE*5`NpT zUldKPv?nQ0P1=nJple{*J%#5b1(LRLB4uk~%Dz}F$~PC1uHYwNs{m_P^9 z02#qjeFEb*v9}f-gvU(ful91%>T#?YkdvuwH=5Y$ysjC?72KhPlU%df?}wY&Zu)4$ zwwj(-9Ja>G**P8d%ci@$YI-pd8A+XfG^%BIe z^cjXmCW6L%k*^$ls$moTpS*<1BdKBEB^qkPK%kQ82rEk+%p{iR=JxfGC%TCXbvZ|T zjD^Iu-47k62pxZmws_#5rwi~8c|BwU7xSd}L#clg3W=L!o9-|ssFj_Ih%8aYzCQ7P zFW?CQqiL^Y1i_ePiw0^qD!#lubzg-!@xxV^=wxp;!o<(F$eA71e{~Bcv&C=CM`e;y zv1zNJ(N$}>9K5h#=d35EJt!(i$A{>@3Yq3}?NF>*e{UZEffwPCf+araLY0iZTGbnY zrAzgpqi3NDhMCPXj3RZuCzTmPItlAX&EvMJ+_}GF;-7J&nHU>EafFVHXYSb)S%T)) zd;nsrnTGDRE_msBsQ!L7N+Zpt=fLahE7PJ|)TkbPV(;1f(I~hDMsFRfD$HNnz(Z+| znR%c@c{-TaYXVCmSV|*!w%mJpxap{0A0nCqBg;slGaDUf1oz=)D>uB5hr2T}v{DCbZg7KRL=iyLaSXU|x_8ZhkQX zDGSd^w>cv_bO~{!%)~eOkJlztybBF$0Gq1!lyX)25wG$U5d4Khv9N)&yTAI+Z_&zR zFYVu1InG^zZzPsb8qpCFUF-Vd%1^^sY7sgWB1CYxms&dze&iElpEIX}bhl!)6R6Qu z=&>0E!y=ySm(N>Qg;R5y_;%W^G84$ja+hN`v4Z~^hnJS0IA~G=%`iqSs!L9bE}ea~ z*w~Y^h24feLTZ3{^LdbLWA#JjVhmoL8K3gOEkW0?*x#nzR@!XCBfZlxJBXH{m{(S~ zi8hR%$B}oO6j-{;Fv9qmw10ses1T#)f3VwkMa1WsE=D_*V>b4?4O~8HZL@DBX@u;# zI7PEa_K!+RZ@I?xEftr>DdJ@>Do1E@4n9W^r~ZAl{55&<2yM=VJrK+=g(A0fq-cs^>Q=p?1!|qf;gRrq---H!ce=j5pLUY#DUVDJj>{79n4ARt5IHUcaeSAS&`Q~UQ>$Ma`*DBDUJ<44vkPo zhNL&T_&Jr*2QDv^ygMM3tB`D8&- z5B4H1b4>ebB|)HYR(#LMZeRHaAm^Ly^~36ixu5IhE*5aY<=5H@#y8)-+h7IcUz1In zq65*&Fd#9N)l92eJa;$W(5pJzdK9}}33OOvH;(A9=5u;FPU}7IDzzO=x9s0zC3oQ( z;Pk5KukyT`ZoCixej75T=TeSrbM8b+A9{f;^H(>_Hc452Tc`1J{I&`4*cHQGVkcab z0nh6%uFX(T_T+1c|6*Z$c9ca*Wc&5N^YitE>B}uChtv@_>L42_4S=IW1U-(3tmvrEcGa6S-t5Phzw-R{0%~Wf{w3mn zI*xr>R}crsOto<`M}V&|Q;S2ukEeYJK-w1}76|81yMw<=yNft#xTgJcAKr^4pS?dx zhGeF;W4yVJy~lIxqao2Bm|fryGMje5*t|H;{F^7v8`Mdm@ri`lQv_aU$&Yk)G^bnI zu+JlO2`eYLERmfJT(0Eg>C^YQxMVsgJu^&tM}+9vl<+5L>~4lhz0JfO zoj)%1uckLq){L*9~iocqGl4TQG;TUj|R92{sR0*fhE|- z_V>wNP=n=lxe;AS&vHPfu76wUx#aN>5C$u#7|_Nx#Q($DIYvj`b=yAbpkv#%*|DvT z?WAMdwr$%TCmq|iZJW3HdEayIx#yk_XWTLJp+>4k)vjH;My>f@YyRfgR;d_TEEssh zy?Cyl7>FeEpM>o=-;WHu7dWsQ5HM(rCctnmL*A0s8^7r)1Q*q0v4&P|Fn98=ts)cy z7B@{&p%kWQ>=T9psR*_-NkG1d2s99;%)hs$`1;%0zqh8A{hzI|h2eHy904G-dKt~m zBuoZ<(Uk*|frz)jhqnMiqf!`;%952iqH%K z2s8AJeubV__bb0sGYR7NGR=>cb)W`Q%mOUK@V1g0Yaf(K19;f%8-Y+jr*uev=YRJB zIRh97+yHC+^kTv|z@bwPP75sB37gwxyhW25#tnFF5`P;IYv#WvB^DOY`M|}}LB&D? z!i`7rm+jeULG_)i1ah3u!OHiMh;pO(EjaJYLEq@La23NvYg5=4DM9MSG7O>A01`X% zou7^>@Fdm@T9-jqeUzAZ>I^)gARLTm3ue08(Dd8?&jC3$qZE-i7FxK1_}2kZarwjF z2v`M3QJ&l9P$PY|m`O-U40zu(-*CN;`$B%iGP-KeLW1p`*6l{dUxP_-n@0H-c-wVjlaB( z%|553gqGaTY&?8%d%xF717@+Q#YJ5bgC9&%e{EL{K~$a29mV-UF`tZ1MOVtamJY={ zaWvX3=@t%l(H-ck;_dgAt8eSeo?*2ARF6t~(KcqjV}H#2v2ruvv0GFsh7UWH$_srP!j5i;J|xh5us!4@iV>FK4Dq7Ut!&va7kU)lM! z4Kz~n=T>1(ITk*L_x;6&4_^Wv{?Tjr_IN5uQS7&|w$|4vxm#+bY<*bYk+iT0^4WWq z5r~J$98yM83RxRNc5qOHX}HOh9cL@35$gRJau{{}`;Q?t>`07i{}bRn>~NNIU}_l> zUR%WCq67jb@9lX6K_*u+UWVNklzb;gMII*|i|_sUMmw1*sWkK*DewNo#fbUTe7wNW(mueDhZq)P9!FF$ODb$R+V7VNAgm5)+zGEXq&wgQ{zdpqH<_fV+8DuDtaQE&MZ#f^FuTuXR7=Je)HL~Lj z>vqMy@WEF>!n!g!l-*!a+=HXe%|L&4Gdn(J853v42mES^7AFaLOtnsup_12A>))Vs zd4mZuhRRKxlN0hnuc`TKFQK&(?vi#%B`Hz&r)HTIjuMP@d2Z1loL>)xYFZLiETysB zWkt(`oMJtv#3_s=ufjrLOawMzo&3+6$qb_OY;UVKGnMp~E5jfC$qradS&e>!21dB^ z^VOC?BLoch`q$pL&N_ua(g^yO;`>S3hmU;>sl8fB@t9u?PX<&wWyyt!6x_y-PIUJa zod%zIB^a%A$Qm4$qQC?j% z%DO|MYZAwNDsq!nm-xGtvip~BTw8VZ#!V`4zIA|(-uVnebs=Ubb*i9@8>oywLnKeNy`|T_!GV+vrtN4B0`Bi-uV2I*uQ++gjm<-dM|KJb{5G!@~Iz$is*)~REh5KS2e0?==K1=bV* z*Ox9jX|wU#j*pJvh-SN$C}oau!ELzJ`$PT-=QBr#X0G7#X+)XMbyT@2C7uV5<(3NU zS>w%_&QKx5iQn5r6cW_q0fQ=VXM$P|366^5mr}V~x5V zqjoDB)X3}zN1_&T9TC<`^qeXoB|mz{L+LIK1FQMOJMU*fGp@Y2=L>pFV}utBK&bo_E+MSG& zKG9S6aP&eeuL94by5Z=zs7^ani4MTEB>3!#+p#O2jA#1CC{s&m*_K2X@!|< zI=kVk#oz~aurfITGY``VHQ4v-5IMe&+abgCnLk{*Bu)|JKL~t;Y=tNp`hW-r$%TsG z`-14jBBaLppp$oA!v&D|oJ9u^xWnblqjkJY&x5=6&j2un4!W2Qo9ez2<7a(b0Zr72 zYeEXEhkC;m7uh(*0)Y6Mv1p3C|KlK0+mU`w9Jm1<|5)jU&Nr}Ux&x;k#B0!b2rut- zWl!6(Ai;IQRVAe8G$+q`*&|6mFhO4^4c_|s4gp5(boc*?FXsOl1b~T?;lKJ|VzB?i z2ji}8bn^`i^qi>m{BYM5$q;!z_XP98n9P^`3m@{W#{^)6G5^)kw1XRCB|+MG`mhjS z)%SN`OyHH8;4cH#5KXl-!6nR_arz0>(3m{^0Ose;**FZJ$8o&LYW4_*4<8@%ZYg4oS)o% zm_QZJ>ON(bI!6-PUwjy2XdW4Q^@%e9)?V=Ow^JRBFK}R8Fp$ZusA#chOHVGqz?kR> zIvliDtYVy4-p`e^R2(l6T>lwiW31`aMT`QJCEupX4TVavrz8dsa+^ak9?Rx$$BNcZgIAAcQ|@5$q8O|H2d0Qz%MmZ^wtB zw}cOrg#G_oEb0ekeK(m6VW)*P=x+^R!ph7_$wK38K#y%!*q}{jSpimmNs=ZB+YCw| zur-pI?R=|Ffj;!0U{wAL1g?^(@N5e}PCLN)KT2N?_pN-=Fb$2NnAKlV#er6>NHG-a z#7L~d5l?3Ff8z&40*%@QNlXhg2r9XmZ+qDlIRD}hGJw-7|6;?&)j(O|79%<^gbb+C z1x+OX(Kc%||8o69$E}d{SQP^ShzP;~5lt`u*#6Oc=_<)5E1&3?Oljs#MHirxXcdMV zse>K8F>=X`RAF$OMvXuS&H3R@SWrwv9o6slw2xRp+$ZG;nWGg;wT3NG1-r7z8?<{f z^wd+9NTOsa91iz;_`z#>&6yJDWI@xe5V-De1xt9kjWTp{4e$W?x^(>vrD^5-aFb<| z!UWucIyV+hz^vF7q0#A&K&^g}rUGG#v-m?D{h$YM=q=-as0Phj2#Ktv4_MORCYi~X zkj~?3A$W#>bXOJwH- zvzxrLa*V`0K@2a=^c+Nl9Ji<5pI_X30g?L{oiMdZ`pAwbWO^ZnTt&g6Trd}TqxyPEfje&S1F7L;UC+-8BR5bFH8{ zZ00Rwa#<`^jk3HtA@!1g|8X_3JSxO(*e@Zb3IcKG!d&B8JSV`s`+m}|Vt0;k?wdBe zAFaSeCtk@7X=zVnpY{-0mr#4?2}!poITdZ42S^{RR;)lr%-D?G6oszBThb=eh zBOdyt;mzl$FM;U>c%)ma4L|)N47)onYxSA_xE|G|=Jvc$9N-9So7h3-clos*6kMqK zL$B}>$S+i@tT6c5=jznvle8-k`24{~mSylBre`n=Pv2BZjgNnq6^cZlmx|ICF?Q6i zE42@+V79c8u&gv2uzxhYrHs^IpaR^TR}X9BooY0(Ngf> zPc)}k%j}f#IfqpK4=eoMdJbQ?*>nY-iv4!h^JhVG$ zDKki%;#Jl7afc0bmsE$XWJC5^;!lHe*%9vUfj$2|?ypL#G(!K2%DQ4nu;$Y_W3Sy& zYC3J)QnT?sPT969|KC)aLx{l>UNUiI+UFg?+Ycg(53LNYZJbO+R862ILhZ>cF(Bbu z8$@N{ZK7Dpt@!l#*;tRPGSd#~#-s%S!Jwfh*;Wk}l_;(oo3rS$s%X73syC@Dm`b6# z%m%6@p2{_IP~|xjzk(-6xptjtD%+r<274?fM#OOg5=swdvNX|!=1WG3N|>Q^BBOCQ zwa_kOqd*J!h`nWS*^sXyi8Fs}h8U?qMeH%-uK0`9?PHj?!)0{M*`=u+y`Ma>%yVmn z*@|Gvp3n(5FgASjO2GBJ#Y7nE2A$-3ni@E^$1wGQ2(M~F7(rFHYU7bPmlC21VG}+G zyK}K*$~oJoC-RoBDDvY;i`Ht`j+Pw9!*PUJ;D!ZbQw4|}d7{g7J2R86{9@X0l0ei^ z-F`w>uo8nXxNIq=qAMMtr>SmZbW^T--yQ(20j-RU8x7z!rtbxjiIr2 z)P^h^v8s*Hu(Nh36`!ueNz`1#9nePk-s+XTw8g2#dg~At9+ljZcyRD;w2-x8?xOVJ zxi;K3DM%fdsH_Qo)Odd8>Qxuh8d8lcL<6ZicIT!&~ znzf@4|F@_3V)@g}hzc!jM0HAbQ&m$`!&z-?Iri#NUrz?y*B!Tys8KFS5ns=u7JXO; z8MKD0-c&34MR_+Msrto;lm;ouQIl5l;?sf3UxM-UVT0>dmWKC=Q&}XJ$!~~@XLsNz zwPQtCfhMBF4?8yq$xjMRm$&FNsp#%V=S_GJKjF<6?F6#AE3lO@iDQ55l@fZxS8N2)G6(7Gp=X_*n?Q{CV7Nk!e^R#H$pk`j<`s6cM>W}i@)aU<0 zpE@J+|5Kk61LD;IK6Oh1D>QXafTM%$|2R6Zs`kgEeeM2FzIxGy-eN>!EwxpcOuddS zk2q#D)t^tWlN#UYAcQ}CdoKsq?($j9ea&|vegJdFCs-EO=i?SA&fC&e7w&)5=SyAG z|EWGt1JvhN053(~Kk@1vQZ-922M@O^DZ)XM{}?(Ph%)HrjcP8q(b`)`Ub$~Q35;NW z(b+V>_4Nl{aQKi}BTT}fdQ3)}o1qf2>l~hJ7()}y8glyJ5j@+c*uKfBt(x_WvvhlqJoOod3$r0P3G=-RM86 z^()Zhnt!Tw&i_)a1Ki-`R>mMF2aBFO1`P0IUOl$a4=OvzNE$F#jel%#I;)CO4i`Ee4}i>KIPny}Zpj5t8e)Q%9Cw~s*``(q>PL@sRJjzy zn=s!?8>Rk5@pCTUmTYcuv;&7Q`HuoTQKftla_5+VG(eMF!BrcOI*l42O=u#l)(+YK9j7S1pdNm7?6`nK z2TfK#tfa znvHfepdLqXP`DjtlxF@FZXe{|jH9y_rU1eAKr#TuCN~(H8Xj!!Pw_H2=U=n@S1A3* z*26=T{wF+I2PF&5Szzk5=2~fdv*JHkvd5rt6T851K!a@9pmu{W&YX`S! z#&6eGdwX&rUA%B;FoREa$iJ1#0R0JNwqvDgu5SP|o08B^kq2Y=X3R#rEa*BLxBH5& zf9Z&n(vJWt<>fgt7G5=+G+Z>t@%`9eN9hBCj@c7?JjXY>x?q}4$@d6iskJR*0Xl%1wMnl|+L0?AXoHQvqb_pAr=_1ZJ?04>|np1$Kv|g~( zMnrSh0nbUytd4nLbL+aux?BnxH70A#Dkv1Uo;|W++{6+G!qN&_J|bOJ2RC9(#F)`# z)z(-Cwof_a7={7jUCanvMz5LVsB~!scTMnRQLQRiMMpFZ@i@Er!F=iF|MZRnDS24E zoSu$MEsyk(-ri}InqvTR6tCx;f-44QvB9qi-uCnUfDMRddtavZfp?~x^J@LRWxSpw zo9(3{Hf|?ADjsXf!%KGUUcs=QlGANENdR(@p?f!$vxmD>F6EI_EIP=Ryr*nunYU^i z9h0Pbztr(qVz{bRXgw(!GYa>#^LZutxRIo!qz2=^N5e8dR{iEd06VxuMNKS+ z(W-!o0coC~v2T<(4WzsQj3mNIah4!GKpg^Va`ZEha!+n96s*5&`?j9FUoN4{PRiQ9 zRDqgd6ghj@C?PDH{ew%neuP&`{!l8qXn_v9ZhqAuidzB=IHjQ3E8c%1ZDqMtpUK7$ ztz)<@ipI~>D~GZ(r!Z1Oa;7R#NRv*5Qv5=EKLZUf_cwx75^c3`HIASAa?u0~4VrCQ z2AX3ntN{UiWf{{<*b}{D+FH`^@V5f><^6?)b^TD|?lf3iCz#9?YJuSX^EbgYTk2)k z`!%93nmkx#ar{5wZMdtM(;@Kz-^D+TiYn)&h+pZrK$>2tC5vi5KYoX?jucY?eTGPd{7p1nj>%Y~?A>~FKWavUDRC{dFn1S3$ z9D}P9-*?(#V zHxsSAKYiSMT^Ue-xLn01y9HaKZoYy`n^14?u&?A6mrGQ<# zi@O>ZD^pxw+&Gnbh>(z6jA1v~WCdW>(d+7AJW~Vz`m~+eo}oM@a%H&)*SiJeBepKE zOisCm{DLsK6XkuvFm|RiuNdmXHW25j3V&W6Rz7drDkCTSZl~Jwa{&smH(9MTLRia2 zS|tj2%}hc}q7v4q8tYz+-|u{aBG|$xi2R+atDR#0Y?#9YmfD62(1ojDGYC6OacrG zr>=^VmFQITNKf+`hgM7klauo&=LErgE7UmJ_?{#~9r@+YiwrQQoaDv4r^M*$F2v&3 zEqe#T@29&|X>zESm4seCjEI#hki@IskLB}n40d}th180j(M^u=mtyiN9$e`tfH@_{ z!p*2nf+rSB5M{&DF;mb_165wsCn!-{7eJp3vKrc~6Il&bblwo!gKV|^oH)DCY)}Fp zkn?y-%m}nXf&ZK-4p4QgFTCV3w<#+(YQ{|1$HFuR@BFsCmTy&A_o}4LZqN<_sa58G z`*b9A<5lPXlcQLf`ph>CJ6h&@_KJbp(zhRoRrI zURTLSI?v_m_#cdo*vd4s~76GCX}5gOtb7iDIP&jhgNQ19}bG# zJO?+>#;7s5=eEdE#F{?CwY-nA?ArNl091h^%njPk)~2c`n3KiNWrp&TZKZc$3`79Z zvuc?8!&RS&-YY59T1oB;p1t4*w5IQi+s-CuErbq}O0Dbn)CD~$=Qwp|hEC0UiVHQL zS6qf^tn-Tc0Zp*}%m3CUZ9Kcl>p3+hPgjbuDcN&}6;Z?_sZd^(qB-+PylP3}wV?}( z&RqSm`}i?c@`G5PUc=J)%Cbe{gKM=jJf`yn*cL1TC4 za+Ltv%?tiTXDy3wJ$0R@PDOlD&{9lvhvbY#__?3j@#`2tna zk8=HQRLK9#SI*4L^na%&;*3QTH{Vp(Ot0{-dh!7o`eKX>Od9{rpur)AC^Ow3v-EZP z#22qyuvCc~ux90 z1dJx|7_)8>HAq|#v{g|{sGuZO5IRr#;o49R&X^}G?p4q-RS6z5${?nyiLKlIg>ytk zVDUIOGf05d#3(iteWeal!fJ3B>oTc_ZO<5*l+BQf?dP@vj0!CqvmqFqT82W$1Vuw5 zj#6n4U2-Ed7Z?c}vRg*jvI)}`G!qSx?Brhi*k>Ibv>$Sa3~?_Ir<%|pDHp$OJ}8*j zEVCk9vR`^f@^LpOpzW0fr35iqBF)r;C<*~(q!V>4Bwq;%Hps=lO~fAv2Mlec1`+z7 z7JpRhX3-!Vv%7qBk3dSZXw}eh5cV-M8@kMxBrandtqmEyn;G|A(F2;a*nq3pf7`Cs znlTBpAb_JkEqq@_B)=*JD7c$+p3o5^REG4n*uOjI>Ki5+BKgtH#?LP`xvKo407%@% zdp1Q}0*)DAf5Q`jOD7nmqefu}U`q-t;0N{v0f2M`Y&J&6#NW*hck=C4gMf^ry7m9h zi$xD2Mzpiv#HO7opm-bsf(8rZC?@^aQhV+?%D~L2IGs^Bq8;SP`5)%_!^%>l%TPEt zP$Bs;Mk5)4>N3kPHkDvj-J$d#wFGemLwx%IFi|Q+UrR|KnFaClXak4u60pjga<}E zY~}%5h*65mU7YlN9OX2aJXHW?_XE0Xjk=D2CVto=4^Px8_z(z|(IzE))fg`ETXcXq zO8^>e;&Rc+O3@CiExhZwWMIgZ-|n9ulHKnqp1yyd)e|263x9`jO3p32GxlEO-tS?* zE}N_P^D^sd^W`$j=2133+RN?tQTfCfhJ z2=!R9x$L-X(?Z`H$yz98t8NVbgS%UW2^{ra#2p(GE-Uum%sdz)$VcBsB9ZnP>e_1a z_&*m<5DW)~gj>lIV;sp{J$gO&Q_yK9=PgKY!tO=ozA8v5g8~T7I#k7q^5~ZqM=Mx8 z-`{U+zTSb@K=Agu!Rv)J=}bRN0Khlf8iaQ7xpHAc#7G*sh;Ih4@eC_mw&{N4On&Pt_oODjuT zw5`0wEn=Ok4IItQV`!7|uYH6WFx*kBNv=3GD+!W~j=_)=P9<6=#;|Ug3sv-o-$&m? z6<6*|#Ofn+i)jGy(y+@=WjV?MYYcv*5oYJgBq>&{M$kV}Z0^~x-HuY~-yEQo93pGMGB@D(V|5h`h#?Rx-n6#T509XZ4iR8h)b)6A5Xi z&#TDY&;1%>x#t$mz;GfB4SSet{IGfh>&6LvdD_UCXkj!kPcA=XN7l4S+MGP2lw-&^9Jr#N!*6{hEyGsVIg)cgnPIx9+6Q44>(C*G5O0Vv%O3y2ylQYU5d;_k0OB8OF2K|L{D6+`n1xak7 zq1$W-oXB9yYMN2b$tJQ}B(YaPDk&%Pb3aL|XVpYA9biHJDi#QVmX}BnCccN3FUb(WHJ6S;-jS zUr4z}r0JaBr<`uJrui-Nh)0IuHQ#{McCLE(My^a|2UnyoQp`qdL8hwC!|1#^x^J+G zLz6voEc&#JPQFLmYYPVCO*FQ8)17)EI6$T@Axl~bS!y7P){z^k{Jg$$?I`@51rSsQ0wlz3i^2ueL zbmvtYB^&{f5bE3v}r#Vr3tN^SKy?3eikr=k2I)Ei}gL9e!UuWdmY4oA4EYsc+z zE-u=7PN@~fvoq-VS-V@;Z!uB+6UHH0{~^ zYA#7|D5AX&d}>~c=IK{*nj3TOJ%K`O-P4vzIA}$qwD`3^S%Q925;xNlJ`=_|Q*all zank-~YV)2;Oau3HKUFOIW7@_oAXwFebgU)m1hI*|N&GVz`0DXB%2f4Cc1(LD?-!PQ z^I8<*^;b`T$+_rsRd8(`XAb91Wd%Z2N%1bHQ#A4Y>WvgDX^Y>{M8F0zZHa9AD=?kc zETvFZk~N2mHg&kCbeAOK=-Z^8=UW3jM0zX!D=wQRxn#?x)2}?)2I^+CM+Yk1O=p&>SWC|dPu}hXCwdtV-jDUv z+c9pdR0xp;_a0XlWs}-COD=Fzo3DG=wZNV*vl$8}tH5jz+`6MmM`}eS&OEGNN&(c( zZ1(FHz-Ue|{y$JB^si26jjfbo$L1JAJ%!ZIB-GcEBb0$xRf_GyP6|h9hs4iO!TM6H zvphU|;Ci8JtOo9C4mN@F4R6cC+uEtu&E~qY^{XB$P^+ECEhBT3Dzz6+(KY-vt*SF> z9v&a(DK3k^_N7X2M#IP-mDOYxWwdjx4(F|}LpOWZ2((ASOFA826c$F0(bk@sQ>aY3 z%489yVT`qYl#UUTJ3lrVu3Ka0b>6?;Y6ZQKA6}P!zrRRs*}hDnI$5@j)p(vR6Dtcc zVPrUXXkp@jy@y%YGELB6H?>_CX*tok)%v-T^aH~Jxif>FLg^%gXeYS5Whrlo_ZeBO zdVJ?BA@ooj0dcO&Q}nV%Ok9B9tm9^|-iLBPev|pD-Te6V9abM*pA20WKO9qc+LOe< zo%1>`_2!@{gowCVdV*v3C?{3m{R+BgJ$Sek4V;GRg-zt6#TouNmzF-^>Mdd|Dhffd1KU8(){C9t z4N7Hknx}@R6x#DF?2Q9RTS?xO?o=}4Hl)c8|4lpk5VYwjKkgLTaoaH(0>S3FOKetQ z@XBZbWYZLdm`VU%qPUsafbci5kxiHtNZnhPLyjy}b8hUy@)C{)_f#W)?lhf^{adoD zgok=Ynm4jS_G`e2TYbV+e?mp-Lm14;>MS$fJ}Ukv#EarW*?*&>{%5X!4#xjGaYdEK zW{m-1&$XjF?#m{C=%<%tDzW?8@ay%SnI9sW(JaxvsaW{LtA&k$tBEI77>723hs! z!ldFJj6$swztPmT&_`2E(?X5UET57^r|h0`J&#JE)t=TgaNu(zjSih<5h&1>nj$!% z3rzak;+Vu483`qsl|REtwBln_84{t%()tzijZz~ddEifLt2&{YgKYZ5#*MPD1XY>q zQLu^SP+!7O?4zvWZ?<}wc`8Qdf*eM#P;e{2kyczP^$PW6YG$Yr12f_;kI{2T3+~mZ zIOr#=c~J|m)zk8WM9Fobq|3CZO|v~P5fpW1_n{(z0_NdrEXFigD>mrREAL_ zZPM11653F;?Jnd`{C;1Vm{*cEDEcjr-! z@7CY(D2wr*9XMR&n7pR<^cbldhyt|zbUgQU9HYn zVufq4N`UM5g0?AQM@Hp;GyYOu+#|#u7H5d8_6i<80$xCxA$Ecmf^wMF#6*+Qztb;t zNwdg$=w#`Vv8ndRn_2nIopSD~XyP~-{(yhM@ip+@eCPgW_A*8ePLBV~#H&)5vcYCY z0CZ5#Tls&%ZGnLRLusIhyGxuennmD|42+V}ZQoCKZ4tV(W)f0rhQpAm)1_n%vCA09bfwC)X`*tKvIWpKWlr_j89P5Q4J0pBvqY-dmlPS_p~(Vbb4! zow5`N9?~ySQRsJD6qR*rd}sc7v>JsDs@`EH(XXN){;PutnSGatDr?({No-q=i2CB@SpQ&P}nb3_uQKRkm>3GMKCRt%rBVTHimdtzOAK~BGB=u!j z1egaJQGpnTU4y=-By?JeDdeTg2J~N12;>50x-g^-xe8^#NbA#c`&E$rC@!cFG&c$Y z^o^Oh08_7b{05bF@T7^qIvNt`R~fp=T-S|aztorK7moCV%(|G^l5W$MJ38`IVl$eR zaSV-NR^p1_$zW@5-BNi!{GBek7++(^*H6w4A3a#~Fx_tsA@4l@{pTKq_qPTLX(|oy5%)?2HERqF zqfhq+4CMUn2kF6n42>mbLNm^QVW|_t0F^ACzYj0pUI5&~p+V1t$=W8a%b1%8k#}ns zu%lE$PtHry2h?UTc1`TSN0saC_P=nEjaqRp(xoNlsuF=Q> zZT2mx@W#otvJaOReyyvd{V5~oN?z9pSIM3Mle8a;-pQ;iwrXjoHCplCs*2f&sr%2AdYZf+NQf!LqMc@ zr+#icrkezUjFYwZ)KR`y``5HivuLOp7Da<_Br?Y%f>K;rFQKXTfH&^)4r}dmx*QW%kJ95r|2SBG*NR37!GLO~s`i(LVZj z2G>`RH7a|r?EV4E-CV*X)3x8~n9F9UG&sp4T>3%YyQBEM88i(T7xa<(`$`U41wLBD zGTR*1;q(Z4{7+N4@bLvu&CWmqeBK z{YN{>(+&f1>}$ z%sFcaKbD;}09_hO*r1%xHK^0UgO9*Of^2v5@_wp34m#C7a)ldtfezySVNUF-&iZG@ z2}R*-9`+vVbb~F@NrSfQU_T#moAGnr=(^UbZlDIQp(0srHHDYQg5CBlU&zS~37Aww zb1BGrD^pLDc@;3UFWd2(lX+@{jM<9e`dwocY^j)S51g`Cns**os&)Hh)mfsKiC5;E zg&FNOtzS#wej{B{<~U^(^T4oUQMzy$Gs)SDmb;1egT$pqBUdT;@##WqV7oft>Qk_hpYgpE1Q;BdXzwIe07j4`8ZSO7?BvOd)r0}8dUwSFK5FJwe!T0FzWBvB!54*jC z0Jl)#FiJJGTtw7htF-wB<$;!`3T>JZ9rJJ??X%0TTcv!yD|%SjdO|}zZo1l(t$9mn zZFQc&LvPjSuV5uAVy682u}_B1{X+7qI62{cV1a~Ujm#o*Vo;3Nux;}^T*%ttD6h=} z-o0CI+w|&q3As2P3+S*-IeyXo=5g02I>u&@|CON9adDs9^X~HEBZSX8efoe^5^E8= zJ|Df6j1%YO0J>f97gtgF4YNOXH-i*=IXJ8VF`Q-FmA{I+Rh2v;_+G-Z0tTwkwUVdv zm;uchr|Ywk_>oO50J&67maX;@iPwrp!s9Rd)tm`_az3YxnnrL(T9H=uw?1ZOz5bz+ z=B}Ww1$>N()=e?MTPyx7P2Vp0P&Z!8&A2=>f^>{D*|f(DxqTUFF3i$UU3_c66q%(?!j0~mrTVNQn zDC}V*{D@`@D*!*;;A*wmbU*v!cDA{uT=6rH^qc!`s;OiWIUh@6c>CLmgCetKr|aIg%$$G^zm;XZ9|c!Ho-sX7 zc`L0EDM>ezkAcriNcnh)2`Sm>cFaTJ2*6txO^3yFW6i7ZOLp8%h|S;1S{=0R0=7io zvzAp-a+=NTmZV5P&-&E((6W~iqA4I9o%C^k)W)9qv}+G%%&tHXj% zkN}}1XPRrt?%(@iQ|_F^@Z1$=8>}T$Fv5~C7#;k0##WHy=Qmx1Ht8m}G#pL)`z_|> zhg~Dl)a=ZRUS$I&?N_)A|LDYX5X`cquwcKrLP#mMv|MMh5kF5T4*8ylz`m3w=2*j20dFC1P`;~?s~ttmN*J=qurRJ7uoRwe^FQX9 z4MJ$W;*emWh$W2J)CCq}_x5e}(b0ddNl4q1h)R^oQq{pCFOS>bYmEE zP#N`lVKv8W0Kz9#v?F0PhhotoD_o`7Jr|8R1nyM0Y|+ji;2+hqlh5a_uQ&azH!`N8 z%|cr(=SKqgDY&XzNYZos_|j7jUd+FcSZd>;+Gv(Vj_Tt@=zXI@`=^~WlL=)-M=isc zF(pNjh=`o@N}QkO*UCO1hC#VmFPW0;eJA;*=dln3KSBbhY~|9%>xfDF>w6qO7?#K-|cquQs(5HFY%vaLry$_QXD?=X~e; zT{e;^^W`%K34oo5uR`u~(Kc>$Dc5tYmef_8WqCR)v09g*bKz9X@I@ zlqW&Zm*keYM?}NWU#d`orH1;EWQK!Ib6px`I3()>NNfR;|MVO*KfI5cU7Uv&MTBp1AdzAjn z3UM*BwEd24s>E1cNR2#&(g*V(**q1yAazGBoMC^_>R2*CLo$}xerX(hInBIKEh6VY zR|;c$uUy{lxeAYmaGf=8vrsXmMBevrUG*-(ayUsfjt`8tx-{-9imh((0j`wr*%4U z*_EDEHJ+uu0zMMbZRGfr{oopmrlp`S?$}!_XE9~ z!klg*_!>r~Y%}UFNo*{^JDuSn$Bp};yg%RB5DaI2PTE&NQ7K>;XXhn|d3+k#7SdmT ze!{+@FE85LFQsm)pQwOk-=7qcs_E<$&!4Gr$m2>$Rw|u_o}w{MQdb=n5t|>apZx&t z!4O<+&kv|7a`#QowVSSx6vJ#(i`JCx`;!p|pQFjkRV#Ac9)x4$@Fu4GuB*SKvWxqfud>&+}^*kK6l8T4A#-hX9MrD%W0*H!du5-4+w=dxxH% zLt8V*>SEhP)vey$ja~38e)?yG(t>Btmcjx*%1@p$nCk8XU)<{Ldvj0Kr-0Z z!>KwB*|e?XiRm3~0y;O4c&AQfZm9uT-^)A){&r>6mBmr}j=X+7J zcBkSiQ+ofPc<{E^NucOYIT>41*(DpH{G&T%T)3rf>j(V3+cC*cVvCS&9>20}V43_T z)H`Odt}Wv%iSdeq_~|E;LFtc^au~K?%qt=_x0DvF=(-FSJ*_Foe0STW8r%!^hQ5m4 z(9r|N_a{M*TTl(3cjUV-yU|+WC(Yhx+u3ZU3WlelfOTKLbKQQtHy}2T3?Ih~oS%Od z4qr{Ej;2)I&Su3bCS9fEb}x25*jtsH{pTpz0-Q7Rv%48=nYIWzMX{9?0|0TN#11Y1 z+!nqDu^4^}5CYqFMzT87fVClzPG2@}XG~hwOg>9m23@)k$GiQ++>Q;goKcVx1>B}_SB+~jJu+8ia7DmOLV(vBe4wJ zNP}Iry`5V34&h?K)|rWm1lfrAJ7RRW&kiMjqjL&Z&q(|zZ@ehEMKaIv zH}KNl_;Ccl;8i5yDbXRN6dZ&t>WW zY!vK@1V@DtsXlg+eMUf=nF?p#nzs!*R-raA^%*;m7chPS0od%e-+nB)>n61Y1-09W z4h78>uR}cI`I*Nxsf67-^H1`yog%gFlg5a#DB8)WY<4NexsgkF+L&jEKfd3!k8ELm zq}b>iz#acc4`BS$L(t z%I?D(_OmkEilwnG;_p964Am3E-M;w_Wwm@?uEY$X>^%`aQe%R z<_1m}*%CW|^Ki#TKJ|_UpRlSyrOuM4;GH@xxRqG#2X4k~jjFxz9l`?j-$?dxGB?~^ z4n>0nagsP;xTL4Pu=vSlrc}qP)7SmA<{^6l{38){^8K~WSUd*aChHkTBuP$IQp55; z{F%1SZVFB@TISD^1cGs{6~Q@H9yeRnvH{m*Ic(m!VHBf z{jt|2?23fDndMy&O*!F}?sYy4pk;@qNiEAN(m|M+`(?~REbCB+eG1jpR`1nW`Lh9b z*QxFLXQ!TRf-dI>J9p;z$!tPmGZZ*Ar}f$iN!Fd$AgQsJx#iZ+W6pO8mU?+g$QE@r z=+*tkH_N3b&P4hSCvRBSFuY9VgN zZWRJZ4w0&N}e&v5_MiDQ= zni<7zBl&!oiqKo5ToOlw{*Vk4DB`-r&9}w=p@kBhdeZ%#bk$|}AjHqmHkgMgy21i-znD?!pq%@sU;D97G|4jAxX3pqltBsPWyR3+e`)MaStF~ld%dm$Y+0r0^u!&HF7-hP``aYj`Y4oH- zh$w{T6qBKl?bs@_G(&$hvG=ZLTmU^3!xbg0l6duKa4jT`CEGq_k}aQP!gy?S@@pe5 zS$iT9PC%1(;?rr0^&Pm$v3|q|aNC8(Y%Anq`Xrq6gRfg|0x5;(qR6*2Hm%n0i4k?` z#pk>9lh=D1RP4F3so|Jx!0D=kyrHc#*XS87TcWNiy&SiKX=eq!_VyrzsgPS4+kj=~ zC(?{^`gN~X!e!ifJ1I4t4Uu_8_T;iknwef*_VS$414DT%UIh)(v6&80L?_4-UhN97+?5eHZEt?w7nMyk*#4 zo;T56xIoEL=?1xyE};By>~_G9Kl#UCrI$S3RBO(}jf+&VPHW&cPydFt%oyp*#v$n& zob@$^XC$Jmnq*vs`Oqd*IePFkyz$1=|BwNDp;opcD_qFgy_JGDce2LDPNyC4RKSSc zkE|ohpZ|P)TCQM9W;Krk?7ZQF8LapIbGcdk^c4|K_!i z6~je@i{~e0!qj0kV#m~Mqcync3G7c+MjadPQBJOTpA1a549ylPMnrw)LT zQgb7^iihNX(c8cql=DPJHyUUvYs&LUuvo4Yc#=crg6!7zEkyk@Mq&KATxP4b& zv-b;j@0a#sXq$Tm(oX*zq-Bhgq3Cb(TVSI#<1GAz=*}!OE&GSlTqp8_0Gig;Xp2Pg zeioL=v7!~CE{QF_+<=Bm)S=4D4k2oL2kVp9e&`e5{E2Bqp~>Po9^RJ63lR_N_gktc zdIa`>Igyv@SxA(>DUti@f#mE*3YIUd?$0R_vz6=i{8f6}uhl`x3EMIoMEOE{n{Kpg znsgb~iO2JmZXy$s0r)KXnn$H(wo0}_|LxibH*-|1L_*7q=0p)Ku57!qd|jJ?c3$d? z%g&P5{mq3u@qX^36Q8?l*H)*HtgD?k_bykxTp=G>q6p|KY=^Hy2G9FUzC4~pIrmg;V-NT4GTm&?FyX|>X zG-|L~%Y1y;1$}rPv;U!NxyvRJdom+7larY;fV|55M5_X|Ugu^ry+qvpQDqjI{y|u; zS^@jiI{vu+;bkgg_cqrRA3j@q0HKPSOhvU;r;px9(IoT3QbW4PUCagLWYR2Z3Eem7 zQ476^7t7A$GF$<`;p;5uU=Kg7)&c(Y9=cB0HEKo9eB-oYk==e&(k}w4g2+xvT~iDz zv8l5Gsw|s}{7!188e*9X3F|9^Y10_Xv6|u+Yq$M`vqPWZf3Tf3Z*H$$%>*;??}szj zpI97Akby*e+*mN333q?vY6FL5cvbism%)Vb%mc4gm+iIw8?-%e#p+;|?#!=J6ez%< z5A7OVbxjjwQC}Nl2zddNjyn;BSfPXA-_#~GD6d)Ys#cSRsK>0^EPQxKg~EqpEFN4B zYlB|sUA3oZPTZ(k4RBz-DH&b*c$WO{w_QdPPR!LJx(7-zE~#&WNX{(P!XxNFAtb2m z7uCg&1BbKXb>G=pJ;ksIhB}Y)#nZtwll{4Z-JYVC2q@5}&_ZuUsM$DQN@fL8OKQqB+Kr^rCMFuf;+CJPG#u_7ag&f;%LtfG*E*`yLK*I*)OSx+u}! z38zrdwqxiUrt9&xYnbm(h5Pi#!9ejPOI2{C62EW9>ibzL?QBk${Uxlg(T=$E;hP}X zWPDzu1784^^b*7CIkR4!yRftn;nwzJe*|WayMW{6@gpRo@iUVbd1`$}8QssYd$w0e zBa7LY(#FclO&GW9gCz@S{R~*g1tS@Hbv$t<&}a*u{NV0xnb%7JeJuVPxW3G2h) zi`+j%gXvj3vtjh+HRDF_lrL`dkaKe@j-x(Q4l`;S6rG3*WZRr?$vM!dwgB5;2lc2G z&Bq^Iw0`bmAo;x*LARTQ{awr*tnz11pY?Ta+L`q8-;b125wRHE1>K z4UV-R8GEI{2*3V|GN-``h*ik;p2UKHL(q>{v{bTpl%Wdbm3n7ndu3z{?i_RFsZj|} zpbn=n+4OFQ=dAiv+R!L0ZsA6L^|)bWi|&mLgeYP7co%q?t4pkd0E`FbU83{Q1Z$d; zYLO3`!E|*>pw*g*b%2iIr<~=tM8jL!L9}+;L`v6D^-cBbs^~`u5aLwx1>-GS;DEUg z@!j>O7%?_$D(!3lYGpmx28y)wq9fHjEbS=Cb_Xv8)DWMu8aE76NqP0$o3bfjCz_Is zJ%r!yYc&rF*qzFDAIkmB7K^bd6^DQNYZEo%Ev!Qt8*NsuD3do%u-RcR%0*BQQDd6z zr+Zhkg9}P0Z0Xw5g9u$ z9Y(p+%c^5<>??`QZ;nl^r0OT_AOt8_U{f9)4$4l+)lr7_ks}akf4>^s(bsHMoXiV$ z`W=@T@9_kA$z0j2g76sEF@>Pnz|hH2kW(AB=Zmv?dLPHhm0qk+I?JH-ES)5u)!RJR zx$?Y|SZk+RI!$O7oTtBuGt4rOxeql9tPI_@LcGSiL3Or5Z6P<9b2T*Ps*7Qo*WBZ@ zL2Kh<37%EUPNP#Aq=uDQRQR#Qy04O+coWCwv%Pa&>*yX__)gzY(JJ3;FPPrvGK&?v zg}rtz3*09JYy-si%d-ok#Ma|kjmDE%Q`B05Cn?nFYIc8?;-S)96o}wZpbdQq>G#sy z)Wi_lMG}ID5k47$3=+Z*5AV5Qa*MU-HpRucQcS4C)fVcY1{;tjov4aWe#EdeLyd6) z^=Z}@a)A@XYu^6KM}!jrNdl}025G9H?0Sa>Yg#{Y(dR}b4Z zH#Xz_0xtTJz)Cg{{jcIjpsGD1PU6(%HY`_fM+(`P+Z$dHoli|NrfI z(X%r%GW<_HFJ@NO|2DI7&Ect)B)sZ)vJROlfa0PK~i`!yrsdN7>j_WTK-NdOOt!dGPt%efzuH z%GkSZdXk>*$ZI;o#peh2K$k8H#K6GJ?75aD%&BodZEW=&LR4DB5yBw?50GicWixbk z#}7#>^ott9X|KiB-cUADKkUnl@5B{@DovdsFPJn0|9M*1E>m4bEB@AFPKZB|9^__{ zEJIFF@*$dG=Lgy#IddP$Ynxr!0#qdqJ3K+!o0F3VwNl`(Hs=T^Nj6kq1 zES6iCEG)aiM${+Uw)1z@vLb?_^laeJmGH;K%eA1yV`Qo(@(Aoj@QsVbpA9bJi(eJ> z#U23Dyz{{k+ZX47<|B|-(=>JJfbromPPkzlQpiMmRS^gaa>Zs<7VBphsYiEGVNA_5 zH-`FkBMasi5-NzMC*OPZvsSm&*&ugKb7LIRL)|y)e zzEm;-S?(m}?J~-dPb&=e$D$4Z98doZQ^w$q6^1g-h{4~lOM7PqUyNlAuq{_iH{}A} zDDRn^DIVbhL_q=@s9i|{c--p&j}>0L5cd>~Ny40661ZCn5*G!5ZOH}GHM7{h;7MD^ zBAkr9Sd7wFLJXRRJG`j!a&4hy_tVz@8-B=s*fS_q^kd z_j35~m*Nr>IMx%sGib9o9jo!VJ*Z{<1Bu*ya0OKisl4u)*ys=a`iH_n@RHgm!@xCV zVp6=g5kxt$uo1~ir8qJ=b5`CI4H-Z(FbDtFK0CRIg(FeLIMkW>n+w!3M#V^vE-Fk&YH;a?*h&^aC$? z^N71U(!cN&v{PoDQQh-_cE|c`ZmazGn*|u2$o6=f4?Uoh5*@*0|4O(fIr^OlFK~OH zU%6OcL*iNQBVCgKBj-m86)b*7;04H9&O2SYc+T??x`)5=w9H)=`@RZ49>82J&sK$T@s zBL`kN^FU(_X+L}hoGAW~F|uzwSTrLbR5^0)tz?`FH#(tPf@&CZ&!n zGPYqG9E)YXyb!Tgvcd^qvZTw(M_x-xO3P2GUJ8U79ev&`$#UvW$ikmC2*TT>m69xd zUOO_9Ach5q;cYlrn-DP!B&$1M*5rfcNybsg|J1;JHVIu=39RvLsguO^~; ztU>Us0szSj?f5w7Fc3E=S2u{cq({PUA;u@gQRV3^`$|V{uW$K3I2k?o>*C|dSi5p+ z5~K_LU!A#}7iMJ20}I)l!s$-he$;R?b!ttxerljrCbK0uk@|@@h1EE9{&XVI2TfD=u#!JJmN_OJ#FEZ?HHs zIhY9X>A4NTwvEIC4aP$B<%V{Qrs1F=Ttcx8aO*Jh4xX$DgwzP71;>cwsuwV#AlmWe zWL>oy+P*yCF;tY?PmbImSQ$sdI>!5#HH*`SQsaK~!WbeP1UN4NIfS{ws`85`jx_Ww zPiL~8N|wnNM}|$`f@84Td1{|umzqx0Q~P9=fMlZQ1MIb&eC>(d+YANLsI$2m|OBo{wJVjVrhG^oq2Os#eh`p^Pzer~A{ zzs~uLZKInrOccPjVp4BFpCNl73t`NwHm*xgigWyI8K|5Ol?*cOjoAbqW)5`Bp!OEH zGY_Y%wgolB1-{NrdfVYyY)k~vLWuU8pB7mvYX~DX>2|N(XNtMnUH9o;oWO?PQ%cB*TUU)^l1mAniOTcj1pNa01C~NK(S74J3!p~Lm2Y8y z7YMPBE7uInGyc9EuLS6>+NiO!FcDY2k)KXHc;_~5J)P|jGKBCiww~tyVUQg(%oJGX z_FXGD<62AVFz~-eP)-4 zbZ5IWF1G!*Ndfj?wpW9|+d+4aV2+HSFbc5W;ya*BAWE@p74)N4MJi+7?uB47O;MSt z`nXY6gNo3xVPQe^IO>U!I|mIlGbw>=tI9(dwZrtLKUV+di~Ac;w`RTRcW}m5SLbDG zMD>IQ!7DfCd8pvj!X&S#AU>s=th`4{;RdTd6W|ckLQsEMBncjr-@oRAUj*>A;A~gs zYlq?XLQ_*tuA`tX!lQJd{MH+gACrMmVWbA01)F#DrJ)3Oy*@f0?p}P?r_~3V%RB7* z>;ymqY)|*QwV-qtiAO|MmG|sYz_u4Rg~Pt!?7ke4vQ<_-169ZGIXb#cCOqw>@bv|r5Y<(;NW{sIpVBW6n30k? zMCC5DkvQeLcB)m)WH3NwEiotOhWfp{Fqf4FKi4|NO+BL>#b?0xlivp4tWr7*)w9mi5t0DP#QE$xAg z^GzJb(vWmb*oCC!m)&GV*p3_6$ytJwFjnSF7)`P~x!&y$dU2Ai5%X%5VkI;Q7#-GeD` zm{-7HnTyqRAeNK?{&Ru;9L?$>T_!0=NM-~+QX5c$Y)%-H0$rVdYr6?jHD_!L>rFDJ zjQtp1ML*;9hoJL7Xk2yWBJDbbX$=&{iycqvzGZWbZ+ihD^(NLv*fk%xM6t3Q&X3*` z87HTlHWtgj2{ZKOSm_`rw73S>@3ZCWuRxXhXRDM!BfA(Fx~ja!mQ>Ksp;^YztgB@y zbv3*SqRuE7q3IS=U9ReqGO16e&~*|xX22YSdEXih$w9@JQzUiJvoevC?#zR(wj49U z`OXPVB#XhS(`s7>_AVdkCA|DE-{sAOXALdnWTWW%s2Q_cZ(?ynYM`c{on^7(5@^{E zlXGsC-@PYqBSQD*U6*x&fmyc2zy%ISK^Yjw&SErL4oazifriHqs=D%GoE}|1a*kwc zV^EXwOpd#&MRJUnt5jAcTVw2Wi3FLnY-9< z=U}QlY+VT}JM-Gk8pbfz9QRR{5=f;oN(g|!l6&>MWxoop?|-Ae1INljVQF-iXGDXq zg!#&oC=@Oau-Uc%jiNj)QG{`n|GEdb_9$`hcs^B!C64hoKhR7W%T>+U)W zcVOT@3FivOHU|Hl`nmI1WdUbGjE zi}4NUO{0d5&ktKE& zHkg5|$z}z@-4RW5E0D;nwx7kw#;TUv?(~nO{mal&SGGJiby8bA+4>E_qq#S^Y=wNK zX_{Ui{Vg|jUi6nKQqb5^FXJt$?kFPk9e;=s-20s3pg*e*Y@3|ajQ)6^-yGrlI2ID| z%YhhHU1?8!69Yc+bbDTnl3c+DvarOt>u4V;X!>Bqa^TEOhb`&}qyUN8o87zrj5Td$ zSTMkCP-x9f)G;*@Ro02}0#+E%v@u5h(Dq$=x1d|J^#?8FdMkz8R0443kkI)UA6ih1m_z38h;^3jWyOq5rr@Zo--s z+G&k%BVHFH=`@i|-yz>v2cOCgLOs*vtM9qdwvKl1@Y#Pxb zGHL?DW&d>*K4F25z?)pH9|<`UJ%!H0P`d_~=hE(SDtl6G-F9K#@tRx;KI8LdPR3pF zkrc-2PdUK050;~~k{JSTlcbU>_Bc1tf56_`Z+6T_90G?sSLw9E z_Hq${Ecz<#!!1!mVp@f5(*0<*tH0Y!Ez&VB7Qy zh7h{6v7p~9Pu;p5N0%7&w`;~ZafTKWu6%K$24ou*g9qqehh}ol^n2#g;!xI`n_w`p zgCho-3 zd?ROaZA>L4_+*UYDoI@|2}z8E6jffO=~SA$dN}Wvz|)!VdYL4RZt)gcaVy6k5cYeU zRcY$9MPD$g)-M#j+KXi;kj-}DD3^DEa$78+2D9PK?@@dIt~$Wm}-v=D_C zk+&GG&$irZzE|bH#D6_Y7+Mj6hGkAjiB4i9C8j13{kQoo#UwFOGt=U7BlS9J>ZLY% zM-7L%TP9P;bONtYs7(mJ9T5>99TE{9uzJ4eT%8QcOn1wIsPEd3WG^?jJTqav4qbXy zzSBYS=XaN=!!d$l;5RVpKm4u}@Kv7^0F+P##f3S!a;6QUK~1Fez8&M8*Z^qDq)B2Y zQ!ulf#BkkPMZv%@XDKi6CGuOLGOWE$pQ(TihN|w>pVX2t(b|O#JoyO!S)T7+nz}wT zTvX5NQk!ZCikC!Tky?&2g;ZK_DM6H#g@o)>V9@os`NCO=U#D~=!-%&qJM{H7LJVm< z=E<+oeMgIj<#qNx;#u9ptZT+D?4TZRQ(KqzaxQPYKyzj?IjC7_oq$C_r(m|;Y%W!RcLuSa_invMI=f{y^dLOzzcAH{xe<&Z6bewShZW12@n{@DL$ZSa~N4~}~7$djMh57*1E#+)q$ z4eYnt>h_kx5UaF93J=ix5Ew=v1EQ6`x7+0=)>5>zveOb`;S~dRQlprqB9C&T?&Y|a*Z96>mV>Sl(_}u?a{~VC!@7PGIH*83$s^V=k zxsXX5DW&3~CN{l~gr?hDUTwDFLpdJ^z}eFlA~G72aY%`2))i25f*?ge6F7XNF&9-ox+$^F+N}56L#d1PEj{= zdx|S9cPu4?4=6?9ccbB2{b!xBvjQqzW7;TX*K^__iF}rrEC3F%F!@0FJV2@n6u;lS z_vhvqaFb+?T@V&cUt@BIB23Is^itMacXmfQ*w!K@8$LvnM&1^t&=LCDu-zumGv1-` zbT=bN6KrwwgIT$Tty1z-Z{ra`7$7~9r6H>%YxH9caZ z_c)lp_VIkNL@$#^NVFECTTLqdG^Z4pldCr{7a_-HS2DE~p??i#-AI2h$V2VG7iC=F zCt33%qsBX`;9Z(invLfMAoXFZme|l$zI?r-e!;Z?<+&b$NUO7Uc`y8ct0o9RDjJDAw%|HnEvBP$c*f7NDQYj|oYE5Gbs za?zZ{*~0@d0}J6P_P1%x&66M#3knM!n6gYL26?)}6oAhZr34Vr;@aJt`bn^*6Qm)O zBqW^V8TO3KEiug_iB3bH3*DHk@Vx5$Q?|T+|73q_=X%fVoL)7qY+N?8=0g4z5Tk7f z3L_$*qjS0_IjPcoE5hD%td&Ybd$U?^!~}=0vd3a{);cRfl~wDN2^$;XmCD?|{>P<% zaSh^Qju|XKBvi!dcukLeM6~O&*D=z7s23nOf?>&Y2ah!Hl-cSCfMW*dr=c zSD9cW43fyQjeXQkAV56jSpF!msz=NnE+HzNzU>e*(cew&9wmXZBye)xx46e=aX7w- zc5><6u=iLx`9qE~ zrtMBJRleDvgl{u9QG?=)-L&_h_vR`T#D4tDs0(!m}wF$o@@T&RH|03my^mcjPX^M^cQ6g z@}1`G^)X58#<+v`#`W+%@wBlcx-j=CI6jDL0E)mcX}0PP-9zBQ|J&m!tsHg;+}q-! zG3uV-b=YRM*v1?E(|gJr`2|d5P^&=jHYoqrMDG{&tXK`JUI*hPQ5@l80hHbHpFkw` z(CEqFwN|Uc8`aNNag4y2DRwCS{q4maK{|wtO9aon4mFrjD^8WGM|SW9^ou8fC_(@2 zNjV8MdO>T9Ey3?7px$slxg_f3AbVWXZxt-=UK_%Qcjf-i}ZEO7VQ4@dGYPZzD~6r`hktfILX(p?zfEGo-i;_ z^aE7Z7(HQmnd*4*)xL%h|AxoKLbKmGF0ZB85ld*PMd)y_MnERKUv6L{_K8#OcMYQD z$p=p=6dev?(VTf(#`Pa-kd6<5DA0doUZ5jngkGD24p=ju*W#qYS$R^!HF{(D?-pNy zDZW0k7{__#>`wb)e7<3$BVA0O{fi@;o#HPH6Hh`QcUe`Ra%8UgzH8p|vmIs;fO5o- zfEMIafiBzn92Gu$_aiZzLeo*V@;hd+(iywORC7q=QxRcLWg&97UEA4w#euaunf|{T zv31fNz>4!o?)r!Y9^0B^O&}N7a)$rg6l^dQaCLd$Le*AG3F~zGT8p*ew!KGUOR287 z#JRe%hJvCd_D!RsDZk3fhpEC*fxZstPge72vF>7M=|9$to?L%N2K2J00pw~|V&jqQ z)C%q4MTLBepL2{~N2sy#6hVzev|Sd2LACvf_n{a5ts@#==B;4pTJ57|#e%^U zqAcwJMui=8WE}|`A?jBgbs*bXVlEBeye4&dRDKV;KCd5Q_q^~)wygAZy|MLq3+#kR z^-{?ADTUeDUVqc`iuMO=iM`Hz`7DM^3^d$Lehj6&L_7le4Hd%_7xvX>7>d7*L|EI$ zlf9GOBLEa;KGUk+*fcG}RdyZsK15hk@vzwKpqpK;%CkwubVE_dM_(c|H0iIy-dXCv z_c%XUJ362R{FJ{{83tRObxn-V@PQtu#s#((zKtR`or)Ir)>6#^=Sau%fSsXT#~Kl- zE7An*O8;#=3>~-QH2l@Hi*93v8A!e6?vYU|e_(Tu&yNn8=*bWqFF7R{nW6Pq#c(=1 zdwQfQu~lWM_4RKa>;*5?&XUi*z$Xb^(&|!@ZACdesu3pCIwf?7$S9(*X-4L3QnuYy zFQez{cw%RxD+4Yqv*lu{IWZ+z0DaL%>l#RLe zv;(lj=;EI;yLy})oPd;eF$bkgt)TR1h415t`=t#&|H!yEJkr)L@|)fxUyDwy!iTeRhyHAQz}i5?XK(M7>dk$` zZD|5f&#BqlJwI6r5EL07!&V-MHMFIqE(;VGvCgN_#Cbb->^GlbHzN*D^wk*b2q_oQ zrlm5$)o?KKcRy$JO-SE?4@!VZX7=tKJLDq|&5xsZBIPdu%CvB#+-GNQb1U=nCT9YQ z#3e$`Hh$r9aY5O7ZqNaG3|%6w3*1d9H%p9(+^wdtP-5W`CHhX2qEDGeWo9VIQ##(s zZa0yaPRzuKlxb7L7FkCjz$jC}igD|^yq4E)(?d+E=N47ag?v_e1Ew~;cBOa2bhTeMoUoZna zBRA$1th)S-m-ME{9JA`rTtFnXt7Q{ky*n&*Ew1BfT?J}a+Fq8+FEY4`Z)t6|JiS1> zrEg7KqzAH%HdD5$g5G}$N146kd`;fuHsmronG|#BM}CU|jZtad_aY4CJz|*poooQE z507rDsnU!yK_#tJCBGLbh;^QNIvs>xzM8f=AT;h3+Ivoxx*_qZv~!xKShx&i*N!vc zzNQ1Bj*Q*wcHKl$QIOhtzrHtAQK@6YEif342p)IMk~B*jMiDb9HCZF=N7iThb@aqT z8u}BarAj%O;ci=*AMHFp_ou3Tn$QkbYi6jarnI|NNMo1L5e)~<>tkRx&~OyX1D^t; zS823+JgyWUKQgEtwx}%)E-sj?Udb}?*ix{LJhPX71uJyYy{eu}eQL3s$pjH>v&17auqJGyt zcIdmpHqT+soo>A1eMu{)eZOF6a#b^Hdws@oR`LsS_NTHedpYF!&_*WUZ9Oa6V^8qZ z*kSycz%hl9j4uD;h$xSzGu-HsLlelnL2Ff2RlWTt(;IeczdhPp8c6<_p~#kjny1}W zzFbN*mlhSDE^B7YX|VfMf?+-hxOhcyYE43kMcckAN@mKYz6UiGS*w0KJUJi*31qXV zLzCLteLsl~#lcZMAmHK2`WF@EZWHx)Xvk zx~dvd3kW2>lcwf|x|E2j2HB8P8$T#}WWCGLk)_q2y3mtF;Wj*>48q&RIeC+36BJIa zF9tzBce)a646QoJqZZxkbAn;u95rgu#h|-RDo^Nq`7WwPPF5m|6`Rr0kg1+_%|}qJ zB#&0tBA=1cb$e*Kcg&Wt+ikc=)NaCk2}w3i_b@Q~`l~Hbq7HkGb3wm%FLQ7=c@ad> z)k>tKsv=iTWiX$Bd_0u`ijWZFT|S1Ni)`?ITiQ6(3e%n;+blan6O-~bau^BMTGQsX z-C;1eq4}hFwz&Y{eLmf{xmw%Wq}A)gi4m9)0Q(KlnuRC@%J&9j(jKU#q%jycH-}K?JDI*Ar;EGHs(e@k%ibprwDmshB z@(xYo$2pyyE_d3gg5)0m#1TmL758A{+lbF+I3dgDk#%)N9avhe_|LzQ624Knk#DHY z4Vtc-nn_H|>RQ(%S%K-wPJt$kJtmgKL7}F4ViGyoe>=WAjz&oIlXlvA^7Vd2=cd>~ z@}h6?MorbSGGUrvCf<34*7Uw~NJlUXgYQ4+=v!d61~?>P<{eM2;<)KELHGL>6-1|N z-rbp#yH3N<(}~>&<)&)5lLmT*zEtGoA1|zWJLT0a0JVDanUjSU)nv_ z&^2urBK0+nx?{b~uxn#0|4KcV&O3P`}-oE`VNF$~fQBCB1PFVz^Y!>g) zlW(L3@9@bi3@rckl&hUQ z8L`O+C;a*WK}{Ojzr9S08HF#!qI1Nb<>iM%9gCL|L`D1c8vntB7^V+G^W5>O(%I$7 z>B|oLt#IQrW#||#x&AE3Ir{mQmZ`RKzX2PZ(r}$gT=>-6uB=$E8A&_)iC}x0j~RJb zzxAyZ_-gEvLYuo;ACnug{n{Sw$g4G(x@((?tc$bwM7ncOmsG))J@F5+QdqnERNXP` zkUF6=dyR3MdU~nxNPD>I7*R}Ag})eO-6gAxcxur$a!|H1Th8Tjd8#y&|4r*7m$aykzt#0o1veve_?oWxSzOBc+Pa*)PCSF$WUjDX4&W_oF4xO ze29x)QdU+rRFbE2X`xs`Y;dDbV{ocZs$Y1oU|w%7Z{B9EX1!X!HHC)fGIFZYUe#YC zt)H<^abEZV(m#FDXJPo12DzRORhlY6eCia98;~1&k$aJvURG*R_^eHT?*cuu%cIR2!DI5`o<}VF^ETHUgOc1tv zT5uIuEwqkh8hRSIGs|rXIEn24=cD3az|)JPlXBO9^a13J;Z1VBS&B;j5!Y+Tc5A1z zXRu$umjLgX+U4re!A&!Kq@Yqc&Sa$0wH-#w{K3%#TCyrdXEjw%A4!mkoUhWL;epWu z8_-E|i|wk~*kYJgyW@h=diibdm^sQ-d&-ji=49Fmxe0rJsH%riT5a+92}uucDf6E; z?*ERR#mw~Icy<3!7LosWb;GwmNE|k>k;U;ww*p{E*TkVe`R2TS)RXFhhM1%5N1LlF zvR3&Zpg4?=C*9+26RnG>i)>XD|9sH*u~e5~4O@pcopc41th=BL^@W@T)fgpu_cx}5 z+mUl|TbXra4SA7611WrM`ZqhcmKINKEDlQxzIvSO(MKXZKE7Rc?%sK3eGiypDi?*CDH65cXq>N`vZ6aYW58W%@Q|~Y7MTx;Nhl0u@Tie0y%||4uU_3lyF6L}! z>%$CRb-P-Un!Vj@Q@FQp&oxxH>G1(0@KWWh5g3Mo(me4O13l#a2+KhR6bB5u+OgoN zS*Ue^f{T@1@-x$elBO%qRE4QK1z3sveS!#3++!kZT+anQ52E_!`evfXKhZhYAtriq zd_u%(zbX@6hjcblG2%#4CVRA7vD5hXLF7zvc=mM;ckcD?_vd#^C|d9_XSv)4w&oEt$@4-hZS=s^toWUI$uj6A)YE`1c)8rlevFJ#2C{ z8EvS%TN^v(MndMzBrm-hBh+M9=ZUoFxGSg?+$zd76PChhKRf1^GW2CGGKz6&+H71* zLrJ+`pW=#aRT8nMld*edP)AcY8@}d*Obpc*n4}i>AiA9R1FC^HN(fptJ|#GC`=L*O@x zmWY^u4j3tCL19xkjqw{_fwKO?DeVstKoW7VDf5F;@FR2paQOSMe~7zf3@V2E2w#Q5 zAajVx{XHlnmuKV^euWQ2WZ;+&#NoHo8E}tLCobu zS{XcgMy7wG%?^%Ec=YtFtpDSbGaKuFOE1e>mX4b&9X~!kz$LgY3F~46_M)ZJQI3|4 znJnvT)*Y80fYkE{tO;er%8>X8qpobK)P{pJnv*oEE?USiv6-rd8QxzG~M?@6HgQaRsv0bQ7qo=kJ&6SN5 zgOR4#>mwnSRTP;3C`&;#I8ADh*pVy5fFrR}jDxinq>ZP68?z;1jh$)bLD-4mId9Q} zPr={iiH{p@jZ*WAY7GE80VzirLP%rerxj?Dm_!^ZL|p=;CK*cQNc1zoswtdg8OifYI(AA*193tSG%FsIXRMq@k843;qX$~ir<+qo&8LrZ zVu~@F0OxQxDJp6=k}*`MGMZ6iDoJxhbE^FQ8kt&1a%>6{4=3bjqnnHu>er7U6s8^~ zo2z14Sq&Emr^842eF@?#GMsE6+xsUJ})gj(t6EBLg(IwNnIB9yMqH@^eV>Bk!V zBl8c&kxIYMf0@wOh7Q!ZTNn)t5eS60Dq+SeNTH8LRiUkq#E3qA!%I6A5JTF_;`am0U^7MJkZK5VSP zqo32xTM<;(%A{x>qQxexZ|2OTD+NJK?;xFm-?LQSyAQleL2bgC%DWDT+W)&mlvRdx z{NF`P_t@fzL6?@2>HF&)W^1xY;^e&vWZa;F&7-&GWIf^k^!1fNQ2+)JAnmyi86P-Ac3^f1#h zRyIE**_=eCdZm%u>{U>pzBmDJ3I&TQ%->wIwq+%z@k}&Gjnf#*avycKVkRlNuEfp7%=;&=ennJu>PH1eWiUBt)5c_T z?|qB|=7Ur-S1mF?vo*bVXFXf(K2v3+Kz^6;>7+!Uj1KZo$Q3k_Kd|>7Jc9PB$uJ_G{pf8^hj+ygyl^Yx>swBmIlc=CdSPp7MNmp81VOnok1HlSQ zQy+7Ob>^X)$^wIfPTbGelw&a-iW@C;1@tZ%Zuy-#Q`J=9Y7%aw;@Opxl!YPMWoQ%? z4buJX5-BQJRSbEp+3UTl{4_i*yd}%&X{ZRtuwi ztCd|G8x#+=U{sgh7AZZuPNy-z4+aqZW)*{;>gdZ7Zc-fXTQ$SEVU}`xe1+{g`dukw zPM}iG^=~VJtR2vn!uC*^QGB^~g4P^c>9e!zqz+iey$|Ma=C3yTDP4Art2bi^m4p#h8UjFdJ|8{IEc`FMf zumhl7Bnw}lJ$2ZTB9%-ef94-%MH-X05OVGFwagSy_f{zAU8mM{ja|~D0u7G6LLw5M zjH6p_hCPTUBlBt$_Nqe4l{b6|{PMQ{~}g$gB)XCO#XJ=J{vuVq;2E z&C8Nv>*dEia^%NvC_~Bm$V>C4<60!F$Q%`?Vt%$QGvRV$=7?>Eiw;N*vilZUsb_ym zKkCH3|1i}0)N04D#;K`V&DJO-GS6E}+5AzFGk}SKL0snrwnOguRy38v{UmSm(>{mV z-KfyO5?_xtO!NFFkLpUn#a#Mp z>z+IkjfrcmB|;rxh1gMLk#)ZOqIZx4Q5S`xZeJLg)9k-ZRG204AyG0LN=bm?cQ;=%T2bIBg9Jj#c1cr&oM zz#;!joYQv8rmQQ*gUHYfwOFTq>c3E>{}=8$+{pX!R=9aa)*2>qAbML+8`Qot2DkLm zoZmDiL!DhhzU)7$M~JlvPuE+}2wy;BEqkLXZZtfN;7Av-rJCUokH_61p+d>8=22%| zg60d}Z!6>rf5F}N)Oro5hN}rR)iy&?2%EGi3?`R=q5E|yMDQiDF;J1-g3>z=Jlbx{z;8Z|dCNgSA!dQ7 zF7&QiH8gJYMJd-SBC?7<8KRGYo4&N=M&J3A>Ci-)=L*;9OOTzk3A9&~{bQw7))-E{ z<<6(4*?_Efok>8lPe~f}%vi1xlQ+0kUtNC3O2+Jl+xs%NbCKD^N1v`;G2k!^xX?bV zlYs?oG>XtGjJJ_}{>NbMh~mk!(sR2EVLvNdN>7w)zw0Ru3etL+)vUs}s3!^5mhzg;KOgTUC8z>_?N{U0LA!5keC- z;x}AGc7~H2CBf7lK)Rzg6E=+yUb#gDZ)NnM&xqf2GtYJLY3q;`^BjyN5O=|XYfJKT zG{3QEff+*<&iMKAuOzv{cAq{j9<{dQ3%Wx4Trcbunj)-7F0#&pA6wN>1XMsnLw_Qm zj1v+e&CkDu^I?QN+9iqy)q2Hf0Fk&`-9Z} z%e5ci6R7o2R03~~Jg6(m!pi*V?VT8KXrC0PY4Af7%jTtsovJZ>Cfl7rp6e+gkspD< z+2`%uwP^kti%-Kx6$5FP&0%Xrv8L`rZuXW2#)~6Uo~iKUnk$r4k^PN@z3%tCr&|FP zy9(0d(ivH8;4KH;7&`&7UJRx3?cI6=>aVE@XF5C0GyDL#TZ;bJSr3;=n@=YFr&oN3 zl*{bIVWtF}Wt{hVPCp(s{Dx_86wasw&3N3?E_IcRzKk#* zzxH5!>&kbCM2kMD_QwyLhQ1UB2`z%-8sEx-E|T^)IZlBP3QK8e45&vUWjx?&?8pL! zz4K=1;5iFS;X{)yjbNQ#5kQz>hhP4kgfrMSh*G0zY%5yof$tM@=8N$sDzDQJS^Guh zJuz+i_b5;;jCjBizJ5RQV`EDX9!?}3=JlnOx!AWWeVnOP@_M0j0kG!g=GQ45x>tx> zFxG0Fo+`~J2QGZCMxb_or$PWb#6z9_lIz6ds4iF4-WtAS_$Bu1{NjiBCi1-w{KGtP zR`p}Ah@g{4iZpi3+a$l>A?C71JX>9`lDKJ|!E}oZ2mTaP)OcM5TU!jmv_0M|CoAU9 zHl^b8QIPtpccUuLg_5f_n#Ql0&P|5gNodJ~F@I_3<96Yp@}4p;0fFBvMbPH+=Q-5D zHBB{y)ugPqm@xG!oJrcEN8@XO_AG2bx%Ep*BruT_6qqzJ%7MD{d!u6~cm$Gd)pxH@ZWbyVBK)aA{-Byq2d{PYsEE;ifSyL(u z9y6)Ec^2x>tU(lYwn9^>ZW5Z?>zt5SubqU4rp_S@H4NwQhin|OVU+V>5Q(0Z(CC`i zHChDag(blaFmO4rs!PI{eI4aOv3PL78yVBhME>z{24X?^qm}AD$Ca;Uxr(t#anNXx zQ-tNJf0?_YFCwn-#Q4_>qS?5PH3?T^>QO%+5lyiX^$U`3`FZO%!=JoBy4|5939hIUnp!V$1mGn~iiuQ+=4Po}H>C=kP zyQ@D0N~3ITg^k5~Jvu4tij`+cM5ZO!$J14{oSJpL`|ynw4rAM6;;|HGd{Qha-Rj4_ z>*sYH=b||Y(l;@6-3EZpFPoe=#qTQMZ9YOcW(*G)y@ndy#RO#F>tchOgWgJ+q+&7) z`#3MQqCqAx6WrMZ))s-LG?nW{G}fK3p??=G$znzF^@ z^cyEKACMD#kKdD;T3zTsgJ1b){()C|chfLVoD4cS(Y*^+nd>1hSCk4Fq zX2=JO!XmRp5QUv#7F~y0k&;5p=6l$YVSoASMcqkSo%Iw;A@j6lXBMf=b8h0HQ^ypV z|+@ZQqjB_bK0<JSU%m{d8&5G66DceMSkdSajE@)-fJbVbQj|8=Q|!d9C#uY4YA5m^bG+{g z>j>u$@Q=fb_?JZ(Ygn+Rtb=!Km6LW!GXzE@jc(R87JB5rEyxdhov`?Oam=@-M3KOc zfsU8_bv?lwVzlwWl7BkqFpxQ5SKTtR?bI{=$i&SQDTJ9s$*YZ3o>48W zB8lfO)iVM~@>qISSWOPr1%ApoA3ItK6Tl<*?q~a1LmS=I`l)*If)&g!>bspo15$ z=|Q7p#l2 z47h!DRci6FcDn0bGDucs{piyH>(0=K@BW&H&?mK<4-}~#h6kRn`5ZUw2~u2ym@ zx6O_nOHDqESF+oft0rtp@9R!0z1s%YUJ2s4p&Ccay^eT)B=Fy;;E}Rs7QM5HXm$=M9(u4lnej-6L*ewr@eVKqX%DxVi_KMPdExFcV-)Qx}q z(ryQ4<TZcP8TwG*w zA`MrbNuJoGs+6$ko;SZN*?bnCYdh{O;|0pprqg%~5N*pbOS68@ho?yrfGltF_hw?g zyS7$F$5w$jF=!CUJrt&`d&QPXGl5cvJ+pL?gkWq~sgiK_vy&`3V)j1iR%<1$b=>_) z>wpFAlL1;^51ie4JrFwS|-^QQPPeLW2piN0!)Hpg68~& zOs0ZN!c0Qu{CW<);Qy@g>$cl-D7@J={a+&zQi}$OIDc zeAtgM4b{5!0lMjTp*DHw8hN6w&_hO?PI=&0!tFII{fqMV8HqSD=v4N-+T|95_0Yl* zNrqa74?uM0%oiZ+UEvE5KfS@kiNwbFDSwBkwH9a&?<{d@ER!zN+gurMFgRVctuokM zQS30dUA3$SJkz#*nB6A~rKUKd=dc!nTk*iHr65)u5NomQe)`tnrt}CJK>+_M_+=-r zQ6vaT6@5gPYQ>#uEossJq%|bPC|vxA+Q8=NQlCj{sJBu4)452^xftMFl*?Qk1C-{k zHRn=4!CW}$5xHz1=Ul8dg23l*T5C?QZt)B1 z` SEO signals sitewide +**Status:** repo-verified missing + +**Missing** +- canonical tags +- Open Graph tags +- explicit meta robots tags +- JSON-LD / structured data + +**Why this is critical** +- The site currently has content, but weak machine-readable identity. +- Canonicalization and entity markup matter more here than another visual polish pass. + +**Files to touch** +- `src/layouts/MainLayout.astro` +- possibly shared helpers/components if you extract metadata/schema logic + +**Recommended action** +- Add self-referencing canonical tags. +- Add base OG tags (`og:title`, `og:description`, `og:type`, `og:url`, `og:image`). +- Add explicit `meta name="robots"` defaults, with special handling for legal pages if desired. +- Add sitewide JSON-LD for the business plus page-specific schema later. + +--- + +### 3. Fix language/market mismatch +**Status:** repo-verified + +**Current code** +- `src/layouts/MainLayout.astro` uses `lang="es-AR"` + +**Why this is critical** +- The site targets Spain signals (`+34`, RGPD/legal context), not Argentina. +- This mismatch hurts consistency for SEO, accessibility, and AI interpretation. + +**Files to touch** +- `src/layouts/MainLayout.astro` +- any copy using inconsistent register + +**Recommended action** +- Change sitewide language to `es-ES`. +- Standardize tone/register across pages. + +--- + +### 4. Fix the business identity trust gap +**Status:** partially repo-verified + +**Repo-verified issues** +- `eventos@mnqcatering.com` appears in: + - `src/pages/contacto.astro` + - `src/pages/cookies.astro` + - `src/pages/privacidad.astro` +- Corporate client names in `src/pages/corporativo-business.astro` look like placeholders: + - `LUMINA` + - `Nordic Corp` + - `Apex Sol.` + +**Why this is critical** +- A dead email domain or invented-looking client proof is poison for conversions and trust. +- This is not cosmetic. This is credibility. + +**Files to touch** +- `src/pages/contacto.astro` +- `src/pages/cookies.astro` +- `src/pages/privacidad.astro` +- `src/pages/corporativo-business.astro` + +**Recommended action** +- Verify the real contact domain and replace broken email references if needed. +- Remove fabricated-looking client names unless they are real and permissioned. +- Replace them with real logos, real brands, or no claim at all. + +--- + +### 5. Add service-area and local intent signals +**Status:** repo gap strongly supported by PDF; should be treated as high-priority content work + +**Why this is critical** +- The site needs explicit geography/service area to compete for local intent. +- Right now the strongest geo signal appears to be the phone prefix. + +**Recommended action** +- Add a visible service-area section on homepage and contact page. +- Mention real cities/regions served. +- Reflect the same area in JSON-LD (`areaServed`). + +**Likely files to touch** +- `src/pages/index.astro` +- `src/pages/contacto.astro` +- service pages under `src/pages/` + +--- + +## Tier 2 — High-impact SEO and conversion improvements + +### 6. Add `tel:` links and strengthen contact usability +**Status:** repo-verified missing + +**Why** +- The PDF correctly flags phone numbers as plain text. +- Click-to-call is basic conversion hygiene. + +**Files to touch** +- `src/pages/contacto.astro` +- `src/components/SiteFooter.astro` +- any page/header component showing the phone number + +**Recommended action** +- Wrap visible phone numbers in `tel:` links. +- Keep formatting human-readable while normalizing href values. + +--- + +### 7. Add FAQ and schema-backed informational sections +**Status:** supported by PDF; not yet implemented in repo + +**Why** +- The site is heavily CTA-driven but thin on concrete buyer-answer content. +- FAQ helps SEO, AI retrieval, and lead qualification. + +**Recommended action** +- Add short FAQ blocks on main commercial pages. +- Add FAQPage schema only for visible questions/answers. + +**Likely files to touch** +- `src/pages/bodas-reales.astro` +- `src/pages/corporativo-business.astro` +- `src/pages/reuniones-familiares.astro` +- `src/pages/contacto.astro` + +--- + +### 8. Add concrete facts: pricing, capacity, coverage, lead time +**Status:** supported by PDF; likely real gap + +**Why** +- Premium tone without specifics creates trust friction. +- Visitors need qualifying information before filling a form or opening WhatsApp. + +**Recommended action** +- Add readable prose covering: + - capacity ranges + - indicative pricing approach or starting-tier language + - coverage area + - booking lead time + +**Most important page** +- `src/pages/reuniones-familiares.astro` appears weakest per the PDF. + +--- + +## Tier 3 — Performance fixes with clear Lighthouse payoff + +### 9. Remove or reduce render-blocking font requests +**Status:** repo-verified + PageSpeed-supported + +**Files** +- `src/layouts/MainLayout.astro` + +**Current issues** +- external Google Fonts stylesheet request +- external Material Symbols stylesheet request + +**Recommended action** +- reduce font families/weights +- replace icon font with local/inline SVGs if feasible +- self-host fonts if the project keeps them + +**Why** +- Lighthouse reports render-blocking request savings around **1380 ms**. + +--- + +### 10. Fix image delivery and explicit dimensions +**Status:** repo-verified + PageSpeed-supported + +**Files** +- `src/pages/index.astro` +- `src/pages/bodas-reales.astro` +- `src/pages/corporativo-business.astro` +- review also `src/pages/contacto.astro`, `src/pages/nosotros.astro`, `src/pages/reuniones-familiares.astro` + +**Recommended action** +- add explicit `width` and `height` +- make sure above-the-fold assets are not oversized +- keep optimized formats consistent +- use lazy loading for non-hero images + +**Why** +- Lighthouse reports image savings around **1423 KiB**. +- It also flags missing image dimensions. + +--- + +### 11. Recompress and rationalize `public/images/` +**Status:** repo-verified + +**Hotspots** +- several large `.png` files in `public/images/` +- oversized footer/logo assets relative to rendered size + +**Recommended action** +- replace or recompress large PNGs +- prefer lighter WebP variants where acceptable +- remove duplicates not used in production + +**Folders** +- `public/images/` +- `public/images/generated/` + +--- + +### 12. Fix footer contrast +**Status:** repo-verified + Lighthouse-supported + +**Files** +- `src/components/SiteFooter.astro` +- `src/styles/components.css` + +**Current issue** +- footer text uses muted color plus low opacity + +**Recommended action** +- increase contrast on footer copy +- reduce/remove low-opacity muted treatment + +--- + +### 13. Normalize duplicated WhatsApp link labels +**Status:** repo-verified via Lighthouse finding + +**Files** +- `src/components/SiteHeader.astro` +- `src/components/SiteFooter.astro` + +**Recommended action** +- keep the same accessible purpose for identical WhatsApp destinations +- use `aria-label` if visible text differs by context + +--- + +### 14. Replace width animation on the progress bar +**Status:** repo-verified + Lighthouse-supported + +**Files** +- `src/styles/animations.css` +- `src/layouts/MainLayout.astro` + +**Recommended action** +- stop animating `width` +- use `transform: scaleX(...)` with `transform-origin: left` + +--- + +## Tier 4 — Production-only checks to verify before coding against them +These came from the PDF/PageSpeed/live-site observations but are **not provable from the repo alone**. + +### Validate on production +- `www` behavior, redirects, and TLS coverage +- security headers (`HSTS`, `X-Content-Type-Options`, `X-Frame-Options`, `CSP`) +- gzip/brotli compression on HTML/CSS +- cookie banner overlapping the floating WhatsApp CTA +- broken/bleeding UI element near the top-left viewport +- live caching policy for `/images/*` +- whether the contact email domain truly fails resolution +- whether the unrelated parent domain relationship must be clarified publicly + +These should be treated as a separate verification pass against the deployed site. + +--- + +## Suggested implementation order +1. crawl/discovery files (`robots.txt`, sitemap, `llms.txt`) +2. canonical + OG + robots + base JSON-LD in `MainLayout.astro` +3. `lang` correction to `es-ES` +4. email/domain trust fix and corporate-proof cleanup +5. service-area content and `tel:` links +6. FAQ / concrete fact sections on service pages +7. font and image performance fixes +8. footer contrast and smaller accessibility cleanups +9. production header/caching/compression validation + +--- + +## Minimum verification after each implementation batch +1. `npm run check` +2. `npm run build` +3. re-run desktop PageSpeed +4. manually inspect live `` output and generated crawl files + +--- + +## Related files already present +- `docs/seo-audit/Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf` +- `docs/seo-audit/pagespeed-priority-list.md` diff --git a/docs/seo-audit/pagespeed-priority-list.md b/docs/seo-audit/pagespeed-priority-list.md new file mode 100644 index 0000000..69c9f01 --- /dev/null +++ b/docs/seo-audit/pagespeed-priority-list.md @@ -0,0 +1,133 @@ +# PageSpeed priority list + +Source reviewed: +- PageSpeed Insights desktop report for `https://mnq.elkazurrotaberna.es/` +- Existing audit artifact: `Google-SEO-Report-mnq.elkazurrotaberna.es-full.pdf` + +## Scores +- Performance: 80 +- Accessibility: 96 +- Best Practices: 100 +- SEO: 100 + +## Fix first + +### 1. Remove or reduce render-blocking font requests +**Files** +- `src/layouts/MainLayout.astro` + +**Change** +- Reduce Google Fonts weights/families. +- Replace Material Symbols webfont with inline/local SVGs if possible. +- Keep `preconnect` only if those remote font requests remain. +- Re-evaluate the global body fade if it delays perceived first paint. + +**Why** +- Lighthouse reports render-blocking requests with ~1380 ms potential savings. + +--- + +### 2. Add explicit image dimensions and tighten image delivery +**Files** +- `src/pages/index.astro` +- `src/pages/bodas-reales.astro` +- `src/pages/corporativo-business.astro` +- Review also: `src/pages/contacto.astro`, `src/pages/nosotros.astro`, `src/pages/reuniones-familiares.astro` + +**Change** +- Add `width` and `height` to page images. +- Verify above-the-fold images are not larger than their rendered size. +- Keep optimized formats consistent. +- Do not rely on CSS sizing alone for layout stability. + +**Why** +- Lighthouse reports ~1423 KiB image savings. +- It also flags missing explicit image dimensions. + +--- + +### 3. Shrink heavy assets in `public/images/` +**Files / folders** +- `public/images/` +- `public/images/generated/` + +**Change** +- Replace or recompress large `.png` assets where a lighter format is acceptable. +- Prefer existing `.webp` variants where possible. +- Remove unused duplicates. +- Audit especially the heavier files such as `foto-corporativo.png`, `foto-bodas.png`, `foto-canapes.png`, `foto-plato-mnq.png`, and oversized logo assets. + +**Why** +- The current image payload is a major part of the desktop performance loss. + +--- + +### 4. Fix footer contrast +**Files** +- `src/components/SiteFooter.astro` +- `src/styles/components.css` + +**Change** +- Increase footer text contrast. +- Reduce or remove low-opacity muted text in the footer. +- Review `.footer-bottom p`, `.footer-brand p`, and any `text-muted` + `opacity` combinations. + +**Why** +- Lighthouse flags footer contrast issues. + +--- + +### 5. Make WhatsApp links use the same accessible purpose +**Files** +- `src/components/SiteHeader.astro` +- `src/components/SiteFooter.astro` + +**Change** +- Ensure identical WhatsApp destinations use a consistent accessible label. +- If visible text differs by context, normalize it with `aria-label`. + +**Why** +- Lighthouse flags identical links with mismatched purpose/description. + +--- + +### 6. Replace progress bar width animation with transform animation +**Files** +- `src/styles/animations.css` +- related update logic in `src/layouts/MainLayout.astro` + +**Change** +- Stop animating `width` on `.scroll-progress`. +- Use `transform: scaleX(...)` with `transform-origin: left` instead. + +**Why** +- Lighthouse flags non-composited animations. + +--- + +### 7. Trim unused CSS +**Files** +- `src/styles/components.css` +- `src/styles/utilities.css` +- `src/styles/animations.css` +- `src/styles/layout.css` + +**Change** +- Remove unused helpers, stale animations, and dead selectors. + +**Why** +- Lighthouse reports unused CSS, but this is lower priority than fonts and images. + +## Recommended implementation order +1. `src/layouts/MainLayout.astro` +2. image dimensions in page files +3. asset optimization in `public/images/` +4. footer contrast +5. WhatsApp link labeling +6. scroll progress animation +7. CSS cleanup + +## Validation after each batch +1. `npm run check` +2. `npm run build` +3. Re-run desktop PageSpeed diff --git a/package-lock.json b/package-lock.json index f5e4a97..ceed7c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "@astrojs/node": "^9.5.5", + "@astrojs/sitemap": "^3.7.3", "astro": "^5.18.1" }, "devDependencies": { @@ -184,6 +185,26 @@ "node": "18.20.8 || ^20.3.0 || >=22.0.0" } }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.3.tgz", + "integrity": "sha512-f8euLVsyeAmAkSm/1M2Kb8sL8byQmfgbvBNaHFItCheTj/IpiJYSEWVcqDHZ/yEHxiS7+w87mQkzwZaPHmk5GA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/sitemap/node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/@astrojs/telemetry": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", @@ -1704,6 +1725,24 @@ "@types/unist": "*" } }, + "node_modules/@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -1957,6 +1996,12 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -4976,6 +5021,25 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "license": "MIT" }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, "node_modules/smol-toml": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", @@ -5016,6 +5080,12 @@ "node": ">= 0.8" } }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, "node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -5234,6 +5304,12 @@ "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", "license": "MIT" }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, "node_modules/unified": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", diff --git a/package.json b/package.json index 14031d0..40f85c8 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "type": "module", "dependencies": { "@astrojs/node": "^9.5.5", + "@astrojs/sitemap": "^3.7.3", "astro": "^5.18.1" }, "devDependencies": { diff --git a/public/images/logo-secondary.webp b/public/images/logo-secondary.webp new file mode 100644 index 0000000000000000000000000000000000000000..1926d61a1c18f7ab86db46acd6da75679603a26c GIT binary patch literal 7738 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 GfBj#~mE)ZN literal 0 HcmV?d00001 diff --git a/public/llms.txt b/public/llms.txt new file mode 100644 index 0000000..2ba906a --- /dev/null +++ b/public/llms.txt @@ -0,0 +1,7 @@ +MNQ Catering y Evento + +- Canonical domain: https://mnq.elkazurrotaberna.es +- Business type: Premium catering service +- Services: Bodas, eventos corporativos, reuniones familiares +- Primary contact channels: WhatsApp (+34 678 17 15 13), phone (+34 678 17 15 13) +- Key pages: /, /nosotros, /bodas-reales, /corporativo-business, /reuniones-familiares, /contacto diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..d9d1a51 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://mnq.elkazurrotaberna.es/sitemap-index.xml diff --git a/src/components/Icon.astro b/src/components/Icon.astro new file mode 100644 index 0000000..feec12f --- /dev/null +++ b/src/components/Icon.astro @@ -0,0 +1,88 @@ +--- +interface Props { + name: + | 'architecture' + | 'arrow-forward' + | 'auto-awesome' + | 'call' + | 'chat' + | 'history-edu' + | 'language' + | 'local-florist' + | 'restaurant-menu' + | 'verified'; + class?: string; + size?: number; +} + +const { name, class: className, size = 20 } = Astro.props; + +const icons: Record = { + architecture: { + viewBox: '0 0 24 24', + markup: + '', + }, + 'arrow-forward': { + viewBox: '0 0 24 24', + markup: '', + }, + 'auto-awesome': { + viewBox: '0 0 24 24', + markup: + '', + }, + call: { + viewBox: '0 0 24 24', + markup: + '', + }, + chat: { + viewBox: '0 0 24 24', + markup: + '', + }, + 'history-edu': { + viewBox: '0 0 24 24', + markup: + '', + }, + language: { + viewBox: '0 0 24 24', + markup: + '', + }, + 'local-florist': { + viewBox: '0 0 24 24', + markup: + '', + }, + 'restaurant-menu': { + viewBox: '0 0 24 24', + markup: + '', + }, + verified: { + viewBox: '0 0 24 24', + markup: + '', + }, +}; + +const icon = icons[name]; +--- + + diff --git a/src/components/SiteFooter.astro b/src/components/SiteFooter.astro index c841315..6e070d1 100644 --- a/src/components/SiteFooter.astro +++ b/src/components/SiteFooter.astro @@ -1,3 +1,7 @@ +--- +const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp'; +--- +