From 1421e5eac7be3c5baef16c07cbc8c1627d4453d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 7 May 2026 12:03:16 +0200 Subject: [PATCH 1/7] nv4x_adl/releases_heads.md: add v0.9.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- .../novacustom_nv4x_adl/releases_heads.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/docs/variants/novacustom_nv4x_adl/releases_heads.md b/docs/variants/novacustom_nv4x_adl/releases_heads.md index 8c89702d74..3164589177 100644 --- a/docs/variants/novacustom_nv4x_adl/releases_heads.md +++ b/docs/variants/novacustom_nv4x_adl/releases_heads.md @@ -20,6 +20,86 @@ For details about our release process please read {{ subscribe_form("310eac18-d302-478f-a617-5f5d65e8e0ac", "Subscribe to NovaCustom NV4x 12th Gen Dasharo Release Newsletter") }} +## v0.9.3 - 2026-05-07 + +Test results for this release can be found +[here](https://github.com/Dasharo/osfv-results/tree/main/boards/NovaCustom/ADL_12th_Gen/NV41PZ/heads). + +### Added + +- [Added Dasharo EC module to Heads, enabling embedded controller firmware management from within the firmware](https://github.com/linuxboot/heads/pull/2062) +- [Added EC firmware version display in System Information menu and recovery shell](https://github.com/linuxboot/heads/pull/2063) +- [Added integrity gate for TPM reseal and factory reset paths; confirms /boot integrity before allowing secret-sealing or re-ownership](https://github.com/linuxboot/heads/pull/2068) +- [Added disk and TPM swap detection with guided user recovery flow](https://github.com/linuxboot/heads/pull/2068) +- [Added TOTP display before prompting for TPM Disk Unlock Key passphrase](https://github.com/linuxboot/heads/pull/2024) + +### Changed + +- [Switched nv4x_adl coreboot build to Intel IoT FSP (from Client FSP), fixing S3 suspend wake failures and improving Thunderbolt USB fallback detection](https://github.com/Dasharo/coreboot/commit/08b09351ada817fa13339b2c39141f2f5fead1e1) +- Updated Intel microcode to the February 2026 release +- [Improved Nitrokey 3 (NK3) device-specific branding and PIN labels throughout the user interface](https://github.com/linuxboot/heads/pull/2088) + +### Fixed + +- [Qubes OS fails to reboot after S3 suspend on NV41PZ](https://github.com/Dasharo/dasharo-issues/issues/1097) +- [ACPI Error in dmesg after lid close and open during s0ix sleep cycle (GPE 6B event had no ACPI handler)](https://github.com/Dasharo/dasharo-issues/issues/640) +- [Some commands in dasharo_ectool failed due to outdated EC protocol (system76 EC replaced with Dasharo EC)](https://github.com/Dasharo/dasharo-issues/issues/648) +- [TOTP display loop did not flush keyboard input before waiting for ESC key, causing stale input to skip the prompt](https://github.com/linuxboot/heads/pull/2059) +- [HOTP counter incorrectly reset to 0 during OEM factory reset and device re-ownership](https://github.com/linuxboot/heads/pull/2054) +- [Disk size incorrectly reported for drives larger than 2 TB (replaced fdisk -l with sysfs-based enumeration)](https://github.com/linuxboot/heads/pull/2035) +- [Archlinux and Tails distro signing keys contained expired subkeys, causing ISO verification failures in the field](https://github.com/linuxboot/heads/pull/2078) + +### Known issues + +- [Hotkeys (e.g KEY_PLAYPAUSE) are not implemented in Qubes OS](https://github.com/QubesOS/qubes-issues/issues/9698) +- [Existing Qubes installation is not found as bootable after transition back to EDK2](https://github.com/Dasharo/dasharo-issues/issues/713) + +### Binaries + +[sha256][novacustom_nv4x_adl_ec_v0.9.3.rom_hash]{.md-button} +[sha256.sig][novacustom_nv4x_adl_ec_v0.9.3.rom_sig]{.md-button} +(novacustom_nv4x_adl_ec_v0.9.3.rom) +[sha256][novacustom_nv4x_adl_v0.9.3_heads.rom_hash]{.md-button} +[sha256.sig][novacustom_nv4x_adl_v0.9.3_heads.rom_sig]{.md-button} +(novacustom_nv4x_adl_v0.9.3_heads.rom) +This is a Dasharo Pro Package Release. To access the pre-built binaries, +you need to [subscribe to the Dasharo Pro Package subscriber](../../ways-you-can-help-us.md#become-a-dasharo-pro-package-subscriber). +You can do this by purchasing a Dasharo Pro Package product from our +[shop](https://shop.3mdeb.com/product/dasharo-corebootuefi-pro-package-upgrade-to-corebootheads-for-laptop-users/). +As a subscriber, you will receive access to all firmware updates for the +duration of your subscription via the Dasharo Pro Package newsletter, and +gain entry to the Dasharo Premier Support invite-only live chat on the Matrix +network, enabling direct engagement with the Dasharo Team and fellow +subscribers for personalized, priority assistance. + +To verify binary integrity with hash and signature please follow the +instructions in [Dasharo release signature verification](/guides/signature-verification) +using [this key](https://github.com/3mdeb/3mdeb-secpack/blob/master/customer-keys/novacustom/dasharo-release-0.9.x-for-novacustom-signing-key.asc) + +### SBOM (Software Bill of Materials) + +- [Dasharo heads fork based on v0.2.1 revision 1c4948f6](https://github.com/Dasharo/heads/tree/1c4948f6) + + [License](https://github.com/Dasharo/heads/blob/1c4948f6/COPYING) +- [Dasharo fork of System76 EC based on d198b64 revision d198b641](https://github.com/Dasharo/ec/tree/d198b641/) + + [License](https://github.com/Dasharo/ec/blob/d198b641/LICENSE) +- [Dasharo coreboot fork based on 24.12 revision 281a7fec](https://github.com/Dasharo/coreboot/tree/281a7fec/) + + [License](https://github.com/Dasharo/coreboot/blob/281a7fec/LICENSES) +- [Intel Management Engine version v16.1.40.2765](https://github.com/Dasharo/dasharo-blobs/blob/668d80d1/novacustom/nv4x_adl/me.bin) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Flash Descriptor version v1.1](https://github.com/Dasharo/dasharo-blobs/blob/668d80d1/novacustom/nv4x_adl/descriptor.bin) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Firmware Support Package for Raptor Lake-P version IoT RPL-P IPU 2026.1 (6311_00)](https://github.com/intel/FSP/tree/23cf2587/RaptorLakeFspBinPkg/IoT/RaptorLakeP) + + [License](https://github.com/intel/FSP/blob/23cf2587/FSP_License.pdf) +- [Intel microcode version ADL-P R0 0xc 10/07/2025](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20260227/intel-ucode/06-9a-04) + + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20260227/license) +- [Intel microcode version RPL-P J0 0x6134 08/10/2025](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20260227/intel-ucode/06-ba-02) + + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20260227/license) + +[novacustom_nv4x_adl_ec_v0.9.3.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/heads/v0.9.3/novacustom_nv4x_adl_ec_v0.9.3.rom.sha256 +[novacustom_nv4x_adl_ec_v0.9.3.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/heads/v0.9.3/novacustom_nv4x_adl_ec_v0.9.3.rom.sha256.sig +[novacustom_nv4x_adl_v0.9.3_heads.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/heads/v0.9.3/novacustom_nv4x_adl_v0.9.3_heads.rom.sha256 +[novacustom_nv4x_adl_v0.9.3_heads.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/novacustom_nv4x_adl/heads/v0.9.3/novacustom_nv4x_adl_v0.9.3_heads.rom.sha256.sig + ## v0.9.2 - 2025-06-12 Test results for this release can be found From ca659c682b1da53e94bc559a75d0dbde41998ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 7 May 2026 12:08:03 +0200 Subject: [PATCH 2/7] nv4x_adl/releases_heads.md: swap one issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_nv4x_adl/releases_heads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/variants/novacustom_nv4x_adl/releases_heads.md b/docs/variants/novacustom_nv4x_adl/releases_heads.md index 3164589177..e657bf6fe0 100644 --- a/docs/variants/novacustom_nv4x_adl/releases_heads.md +++ b/docs/variants/novacustom_nv4x_adl/releases_heads.md @@ -51,8 +51,8 @@ Test results for this release can be found ### Known issues -- [Hotkeys (e.g KEY_PLAYPAUSE) are not implemented in Qubes OS](https://github.com/QubesOS/qubes-issues/issues/9698) - [Existing Qubes installation is not found as bootable after transition back to EDK2](https://github.com/Dasharo/dasharo-issues/issues/713) +- [Confusing UX when updating heads firmware](https://github.com/Dasharo/dasharo-issues/issues/896) ### Binaries From 1b3c7ce261b45e3b54c07d2ff027b98072feba10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Mon, 11 May 2026 14:45:36 +0200 Subject: [PATCH 3/7] ADL Heads v0.9.3: update the date MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_nv4x_adl/releases_heads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/variants/novacustom_nv4x_adl/releases_heads.md b/docs/variants/novacustom_nv4x_adl/releases_heads.md index e657bf6fe0..7ff75055ac 100644 --- a/docs/variants/novacustom_nv4x_adl/releases_heads.md +++ b/docs/variants/novacustom_nv4x_adl/releases_heads.md @@ -20,7 +20,7 @@ For details about our release process please read {{ subscribe_form("310eac18-d302-478f-a617-5f5d65e8e0ac", "Subscribe to NovaCustom NV4x 12th Gen Dasharo Release Newsletter") }} -## v0.9.3 - 2026-05-07 +## v0.9.3 - 2026-05-11 Test results for this release can be found [here](https://github.com/Dasharo/osfv-results/tree/main/boards/NovaCustom/ADL_12th_Gen/NV41PZ/heads). From 9ad847c090edadeacee32a215b9b41af23e09427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Mon, 11 May 2026 15:01:16 +0200 Subject: [PATCH 4/7] ADL Heads v0.9.3: fix hash links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_nv4x_adl/releases_heads.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/variants/novacustom_nv4x_adl/releases_heads.md b/docs/variants/novacustom_nv4x_adl/releases_heads.md index 7ff75055ac..c2f66631fc 100644 --- a/docs/variants/novacustom_nv4x_adl/releases_heads.md +++ b/docs/variants/novacustom_nv4x_adl/releases_heads.md @@ -58,10 +58,8 @@ Test results for this release can be found [sha256][novacustom_nv4x_adl_ec_v0.9.3.rom_hash]{.md-button} [sha256.sig][novacustom_nv4x_adl_ec_v0.9.3.rom_sig]{.md-button} -(novacustom_nv4x_adl_ec_v0.9.3.rom) [sha256][novacustom_nv4x_adl_v0.9.3_heads.rom_hash]{.md-button} [sha256.sig][novacustom_nv4x_adl_v0.9.3_heads.rom_sig]{.md-button} -(novacustom_nv4x_adl_v0.9.3_heads.rom) This is a Dasharo Pro Package Release. To access the pre-built binaries, you need to [subscribe to the Dasharo Pro Package subscriber](../../ways-you-can-help-us.md#become-a-dasharo-pro-package-subscriber). You can do this by purchasing a Dasharo Pro Package product from our From 718db5ef87d26bfca2d9a2bc84271ca12915edec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Mon, 11 May 2026 15:05:00 +0200 Subject: [PATCH 5/7] ADL Heads v0.9.3: fix missing line MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_nv4x_adl/releases_heads.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/variants/novacustom_nv4x_adl/releases_heads.md b/docs/variants/novacustom_nv4x_adl/releases_heads.md index c2f66631fc..17a6ec04c6 100644 --- a/docs/variants/novacustom_nv4x_adl/releases_heads.md +++ b/docs/variants/novacustom_nv4x_adl/releases_heads.md @@ -60,6 +60,7 @@ Test results for this release can be found [sha256.sig][novacustom_nv4x_adl_ec_v0.9.3.rom_sig]{.md-button} [sha256][novacustom_nv4x_adl_v0.9.3_heads.rom_hash]{.md-button} [sha256.sig][novacustom_nv4x_adl_v0.9.3_heads.rom_sig]{.md-button} + This is a Dasharo Pro Package Release. To access the pre-built binaries, you need to [subscribe to the Dasharo Pro Package subscriber](../../ways-you-can-help-us.md#become-a-dasharo-pro-package-subscriber). You can do this by purchasing a Dasharo Pro Package product from our From d6e458060613c22e28c347be514f1850d65c56bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Mon, 11 May 2026 15:19:06 +0200 Subject: [PATCH 6/7] ADL: openness score MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- ...4x_adl_v0.9.3_heads.rom_openness_chart.png | Bin 0 -> 28680 bytes ....3_heads.rom_openness_chart_full_image.png | Bin 0 -> 32723 bytes .../novacustom_nv4x_adl/openness-score.md | 68 ++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.3_heads.rom_openness_chart.png create mode 100644 docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.3_heads.rom_openness_chart_full_image.png diff --git a/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.3_heads.rom_openness_chart.png b/docs/variants/novacustom_nv4x_adl/novacustom_nv4x_adl_v0.9.3_heads.rom_openness_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4e2ca53b72f6848fdd874b0b12ace21e3dd5c4 GIT binary patch literal 28680 zcmd43WmHvN_%FIax*J8h1*E$L6r@wS!6GH3OF=+dB~(HX1Vp+erInISNdWJs5>To5R6^S40M; zf5RV=9=DA=^jz+Hcv-vIqcp5NTpe9J93R;*KDBpqf8^pU#4Eth%g@93(8I&kU6PN_ z>HmC!*TwAt-y1h0H~1D@R~2J-6pGjy`Hhw*m-`5Xa`CvUbW7hmb>o+pk>1K8<`(%q zvI8n5ObqImbLlmd)c+d1OsnrrO$M4iFt2<}=ULS^`L(j>bKytlLX$(KW|?>fX@i;CL~y+vBJB8f;_=?6g0vQgYhW2 zROl2pX(ik+1m6;vRyig}{*c;VA0xJ~u+Z)N>GzsljK@wy>~}9jhX_{QLXs6yZl?Ha0fdu?k9du12VQZH>2rnCqj3 zt*_YB_-)#7P|be^KF)7$#&sw2snNxGbbWu#A>gy~TbjC=lKbA=XrU=)dQ?OgNy=Ti z;Apids+-!Cj}7)$$l2AKGZn*se)V*ycr=71<~$v&oBu|5@l;hyD_k|_Sy))uu#Q`f zZhri`cX(k6Or8{lLSkaclIWxfGjsIvugpH)iP_p8vt(grMqeK*HsovaKNdXMUk``d zQpnV9?(HSKf<@2_Hzo3qftose;G=SDcQ?LUEp1Uz(Zk7#8@y&U@f)Q@mQArQ2(Pyc z4wBK+)2GPzRdsCS=jR_Szjx8jQKcN8nE3YN2i~n)x5WLAN;-V!=jY?U+ocFSAX@Iv zAZB1-=vs0!YYL=8x&Hadgn@~PeE8tt;Neu&P3P&FgxrmU)YRy^uh}y_RtL2?DO|n0 zl*5VWNN8w2TW~Njp=AV~+;~aNM^tMTD`@}2sxMW7MB!mH+w1TA{ztB7JKcPomW|TC z-6SrK7Ku^KAC=?yt(s93H*_&z8B5*Co&9o`skWb@qY3aMaTzDcfICKG)4xnyPXlrKHReSnf-c8u)C$ zjRXzcjjXI}ilir(prBxxOyH<3XQHZpu?1acES=(WEW)23Ze5Al*VWbKf3l!-baJA= zoBYvxd*SGBd4K$?SFhIH{eHa_dhoN%UQJwFycxC-0;i2w?kv7|1d zbaYH2VH77zq2%!h7n*#kloxO36oa%kBPv2OO)@{Z_pOjJL{{Vty-yKv=21Ey@8IU> z-uP@-%&X6p=-WUq~2T>4+IPUK5Pqr6s@B3O? zTcZbW?e3DpyA(nX`Y0f#$f52m%zb;_($k~*Vo9~QB;xFgziV&iJ^(4lX{B76sn!Cp9L#XV1FHX>p9kcABc}9 zL6eWBmoc%GMrE1Ry0x^o-$uTd$D-cItlnEkI^aZ~g8QC21)qhP`dh)oXyn%xg~etIo@C#kkrz%?N%+#KrY{PVH|@8G8Hr-anoB5l6EVzc?(m5>F+ z=6JGE0q4o_j(w&+*X>9$wzlYNLT$tOdbbmpZ!1CUwZCto`K0ll-A?fBpUKLCqwP+H z5!=S&%HHoI1%_dXiHT6AsP%F+DUkz*3IXXFHI%Cb_vL$jbb4A)y;x%18X6fHnP*s> z-f?&~S?Lg_&Q9L@UW^)_nwO&delHm`o0gdwi$#e8*gwb)oko8j0jOR7?L(=pGMfC^ z(PG?$1$QEs0a;^Xqs{0SW1EA&6D<=H#>g3GfBN)Tnn6lRYJO#f<9_cuHmaK@tZO3$ z9B|L$RZj1H8<1^>trqa!vMRM{$J;(XoQ?YTt1b!($>*_r^SY{%@^bRa)7i_mABo)U zd#gjYTVD{iLl>AmHeo!`<_Xs4oH0O!k+k&nY3hI0zk7bXzQo*J+;qW(ihw*eT?~ZJ z`>ijI6DmeB?i0)!+fE`h zdG+_A8jA;z^0;r++5gQn6j)%%r=+Arz@;C3k#e1rpa1udmzjk{B*|-iR0A4Qes#b- zw7sn@l46Sn-Qwy;L+r4tTdl+jI83^FdSL|x1$o+;&s0=Z;Z46oXEb^L-CnWd8QIx@ z!!*=Z-(V_RHTs{01!idO!`&R}DNt~NgHZ`dNuMmBICw$oGrfBKdZgRUmoRW|Kp9%3 zZi9uY>PuHQH?on>218d}_SZ(xgYTf3LALM<2#`XxAG+$kI+%kVEDnXfsGm-|fxV#uOCROl?j;GNHZ`087H4+1^1TASR~%^y$;WluOfycMrE=5sr{h zxnuV%*r@(NUv8e{Qk|Fm6bKz?e%Z^ z1}eh5?rDCqi1V}>$Y!Ce+qEh$2pd&u@H<<>iAP!jg-o*d!%QP$aN}zf7wcbZ*Tv zSq)wr9UZ0F#0oq&YySP)PU+5_EQnXshbP`+Gc)uL`cl6wcE-(01i~Q=XP6opeem61 ztMS@Q_k9a1KcSUPR1M3^y? zUQ%*rJsSEnUgx!GDg;%PvahdiO{}Y)*Wqz&gWqAx@Gu37a_n%;`H+@e7zsM`w;>~o zroe!sND5q}M+JNX-2ek;lU*)ZW?%{{8#+X}b0F z^hAh^n=WXgqoNe;>{y>YdlnDT`(DiDbH*v4FeFi9wtWx&;zEyz;eprh)VeKcS2-HT zY|P~8u%No0e*U)3Yf&FjQo;{ifCgX`O|^Z4=+4&wAwj{Cpv%AthcO~H)i>J3hDBx) z7}(ej(G5;hqIvpUP~dN~l)ry}9eVEmXwS84*PuG0pe!L^@N;rqT^+P^dhx(Baf=4u zoF^GfiZ33f_8))e$Y_R=nsyHH5)m1B>+s(%k)4!x@3NpxNh}{jffA7=#={#tYV04Z zbTEu5HrCcALFJ9bynNY$K-U~K>iu;lK|wM;%SI(vSANLnkAdgoQ&Wp@=^FPH&Dg0s z`T8v_E$GUzwBNT$#B^@iqOqotGB6bD2twrXKOW{pz?^Ch880vI*1-W53XbIS*n1g2 z(ISh6mkaGtA0b)*fa}J}O-E63CpiTQVPl6o%K49dF@6s5@VS5L$&)AF(q;UF>4ntp zrSm{*Mg>C$w==DV4jK_1t)!r!P&CCTEKFhlF4m+ags4qesOLx^6B; zQS*_IlRt+l1!(8?;>V!N3smq*e}=aNRnST|IZ+#kMJ}U9S<$b?k@zh~^6gAYU9|xYjtBsJ65T`k+i9eD~J7TW8 z^qwuWE1xLZGlqPT6Xuij#V8IEX_nXlrZx0C59&p%W0M$bHH9?xhqF2P$Y-;mo&R zet<{;HXxcV8}M%ZfOU|)5kJMFr8S(G^!oLJZM6!uWL|Nf9oCLGhPdWtd4P(FIl7rX zyUT!UXx1??F|A=UkRU{wf6qG+e1Of008oe5-@bddd^BF%^uz{0?4Pk>1|&?k7du-= zMkt{KrU=-+=y=ax_NP@UX|^Y&asvV&tTEtp**gQyn@Y8+C4Oq`+`KqECFSaHu_Z%Q zRaJ_hJsv>g589lr^DUT2_R+W8E-mCi=U!RN8PVgEmFL_b4ysC#o&QA{)*NdAv0BRsq2s-MG{@TbHY<$MmP|x*I zwBVEQ#~vQS7boj{fa$Ky`tQd0HcS)c0{XQ5^E30Rqz7lZTu?0Z>P4gpa0dI7+ILgE z;V~wIof{fAP1zqiuLB^4E+4x)@T=a39Ex8_S=o>M3t%4N?#l#&gM)5qqisV&hL`FOwJrg3;_Z*TAJ-gs=X-koC#$(oZivvYTtQ%vLr;XfK8ZI@3ab~K1VY^a z!~K~k=h&LGTyW8J5DdETkLib+T1NNI)6?@dRD)gV!j5$}-)R7Ra{v^5zBU0jfv+pQ z-%AsN8x6hdy(>C-Se{|JW@%CnsOd zvdj(_xs~Ed`0DY=Nt=_sRho7C@2hZbh`{jk16tBe(-$0C>Gk`iv(vm#uD15~4T6H8 ziZM$_7~9f;cmPpZKi1Eib+$k+&!rC)qZKf8LV9{ETz39vrlPp_7NfL`%=YPKQ^Bk} zu-5`v4)&Wj2|=lV+9F@ozz5Zz^WK-MKtn?TyFnRR1WBN+)_r9Q0%1kU5_*0q^vDXA zS^7egN(CdMt4X}(2#sm$>|A*iz1et5bkn3l9^T`JFJxt7vz~7W1LWMAefRZ@?<|mI ztBuLZt5Q#S`qE{hK73$gWo4a1E&+EpP~~JA8XEcmHt1-rpqPZ7J{InQR@@Z@XsiuH zp%FionfuEC+0HKR_QP{+q4$D_4o^r(h{v>w;Kq#`6U*~$ zL2PwT7CZh7=HSELg#nu+g(7?Vy{J?0WuPb!V+>fxouwa%1F$X7jOXAU$IBlOuMOwF zUS!aoEc4#BK~#y0i;Jt$-u$XbJdsGqLF#)SZ87nhf5kun=|`j+Llop z06hzJn~g&$L`r93gzCS)CsPO{wF+~i^p6SqXIl@So~Uqum|Cb>_DB&%+14e z^C=*Y22*5Ny8*M@2J{kY#!C&gI}7%9VZJqdvmxMWyuEH1#Oc#Gfb(e=*hr@l2=Uq0aWigN#V%tN5q|2t}Gh%Mz=Q6HmPcU(Y8CZMZsc zFaz~I?x3sb>9v0`E=Qs(3@%7SM3e5azHp=7+HVmN5KThf|P^ z^brPy$QXcZ8<*KM-N(}^=l#peO z>n%Xvh|p&J=+O-tQAbYAbm{z3&Cvrn-@Ux6f_4#*dL&TskcHFeP1;F-c8WtpMD_IP zQ;=qHAk_wnE#cvQM*ehGEMsx1F~joG=QW$Kus$$$Wxyu5AVq=b%4AaQ ze6z}NBFo|d=$l#4ml1gZ*(e|o+Z)xhpL1&>qoXOHR+B?ZqP%zS9>V=V@=}DvT}_*M zt#aLNp;zufWW=B6`TAUt6CZ%yNYL-FX@CNL=kntG3BY%=!)Ig(2V1oA%vr>5Krr0+ zxdreH^v=W$T~{TgufZ#z$p?G@F~qhfMc~hLtq^<&L0xBiLt4PL(SaQCcuF&8IU*{( zYzK4j1`Mc2@wj4Q-A^y@B%4nX9$060SG1L%R* z`!nQ}p?bKk^rd;tT!P%u89~aTovDC{lnJ#QTL(c9b|F0V(B6;3T#`-rP8XzOmgaHmgFX`~cKoOk~l^z3&I|^*B)S zAhT$H^>_r;g!H+Utw1LnUfV1ohuAuK*VzFPJIuy^@Q zq$UFbaXt8J3>molJUxR+OpuOd)j-!3i=e>PBC9MmbeSEvAtWo~T^ zuhxtRdNI^%*3Q#^Q`N-K=fY!R2mxy76q<;{Sk{1!1{}e%>Qv<6PsS-qdSu&nmbzQP zu7EtxGpYRS`vnv~>$9V6Fsxi$pwY#+|JW%bEZeDY{zU`PaSL<{&;h}qDVFVg1YjCi zLAXMuJP2>DAoW)V#>~9&>>Ea!9;8tgKrE0<0nrNlCqcP@>;t%L z2_&fFdQNt>732^Sl(1sNvvCw#tF_;NPr(%d!;6d2HDiJ%?AVqX*%0w#JG0u;~w`XdJjwOzr=u&wV0Gx{X`?}~DuYmE z_2^L~D3xSKn{n?$u3#fVA#5)+xMq-!h5uciNW21gdNxQgb`M*A~X|t;-0iIvp=7lI zeE={N4%<%!ZXPwrJS2$vjQoZ)YZ)6ew6nAOeeCe`Xv=zk>zgO)-D&0xqVaJlE2wT%rkw5S^(#gql~hLS9RzS%N4X@Ve;hQEjz zAox}t3Aq0LTR2R>v)KW0aUqg3xLn+b(}Ics9l_zt7?@~i@*v48@|aYpc>MW!OaF@z z2>Ik3n)=1n|M@qeVPQ+F+vMcrVU?AYKx-dXO(7lfM>1dW#WXCV;^6@ElrOLp3RD|t zF75%Tgx5uJPzwO4X}ZbD$S_bkpVZ$kOA(bM!Fibb3{!BdPbsf z?pdgx{|Yz-C8D>NKj^0dMvSB{vxta6!#_mHPfJTftQ+KgDD`BZ){?_I9jB@^8i01L zgvQ0i9f1|nR%YMb_U4A(fBO%jIb2bAw>J_m5aV5rD&VK)ypT z7>ETdR6ItEAQfVu1cENk9H%(=`L#i>jD*{Jd3nAW1Sj?%BtrbnET|&?*(G3eAifb` z+7+Ku@+E3~M#_{g=;B~6#4G_cr3R)58u-QeA>;x9jj)Ps8eru|XEsqWF_eH95xPvX zj_AfvW}xk6S|owaepAiWwFHdM?2}!PR;+DpS%9)IfjcQYYLKtLcDYiC0!857VzRF$ zXgYPYYDyN>x9-uS7QiB3vqw${6{?#*JWd29Yv^bxnc5h$1bQdp5j32IGX#>L+CV)C zJ#xA3jES(D7*Tg zh)VV!m)9TDsAys0g`>BbKpF@t})(6eB>=&!uN^au+11(8@~B^s;nGPgRt5 z5JUvKW%2dx$+3~|-|s5jzMY@E38WZBQulO2m(O9krW85}_4n`J*X+3xRS^g54VQsx z1CNA+#1sQRsPO(};hUr4&iF zW)F1X{BnHU2$An0a1nw2gufqZF<1)We2quwh^|;_FKFDD@v)&nhF;b`WihkJ>-)NB z*TTw5I7EHET(QnaEYt@uHEE`p9FBp2?WE;{m`an(j}Id9RW+X?o;`mq02Foa->>T+Zvor!ZQKQEJt8*tj-w+F zLe__eo0~3{(K)x3ryr8V&661%z}#^4s_C zZ6WIsOZF*^Jb=m(iLJ@QN1#ht-M{~-R2nIHHzO)yFyry2*K;s}Pm&cuY=pTOD;pbh zM1b}LQCYmlRMud2N;R$-4}}nlaD=1 zBd~6r^7|U#odW#^D;!fTiDy8(pWC4hRL6(Y)!=|12iB(wyUftS{*Bi>`RF?Vw38GB z36LZUl5ZsbpzSwM)6~2-dm(CC?R;Ba9)(446#O0E<)X%49=#orRRw<_y?LmO*?8dT*%)SBs{TqJnl8T3#*$;ZX{c2wv%z$?dJJEK`+fFuj9( zfu~NdE;NPx4VNid%X!s#Gr6^v2Dng2Ucjt!$0ZJ-W;5|a5_*|~Pc|G6Tt99NKd&j8FIdJ53nmoPc< zIVdxr%eLW0^~T%ejZ{OQYXy*jpe^YJ$sqI~JDW8|K^E8+n9*5qjF7L&-rhAQ8dPBU zBL8^&_;ZIX3|c9fM--XWzS{hYjJtpa14{fB05cnaONfH!yZ2|?Vrn7a`;r^tU`icJ7VdgfF4^z?-*|ik|Uy*MhHXG zA%zIQBN<-H#%KhOLRGjb;l>K6BqLYsvc8{z#f2++(=w}mPMDwdhL)BVxN1O~l+US! zP#}L0!1x5{E&6=rWn~J8rs%VKzb8$K`ns62lD2ky2VWPcSWIkem`%t8jO8Ri`BCrb zFAcJY0$jDS;R$3#qLEw>GIFZ!RpFN}KcQH8Y)n#u2MX%{mB#Y}QzRYm!kEXNC1*H& za6lkFL*Nk_q<9O2_59LOj(}4a6bVu~x)@l{gSt)Vi~<2C9?(!oLqbBDgK{3UMUXxm z{c??mhlk&JS{yWr6^HAH4h9HN$Yjd2Mbk2bg% zK|w)aI4=fWo-zPLjRYmv3N-N)Q74nej5zo#oLK6{x)&&r`x{DMBm7Wzb>Vw4P#|zy z+8)Chp`j4f$!G>C|AA*$A=TPI%PBh->^8GhYinD6zT*P>0_HitZ3n@AW))BI zEMiI^Gg9Mfl`tFtV_x!$vQVankEX$|3=9k;QD6k6`KXwYIXquvr;gC$E?9i9(q|$L zqjP{35UMTg%m6_IvSrbBspEtoO1>%Zyd>cCDPnbu!3YyScus*Qs~kL*jkF*YUKMw> zYCL!b4lBU7M}Kn&iHTv0rG!Tv2C^_wRxk-e(>;48=^p{x*E}#l3enXDXRiZ_SIi1N z3W!?^q(KSj+52T(T`G<<_1Bn~m}uBUK`sh7QE-N<$)5fdf|Gij8uUIX=>?#S$A6uo zBO`U1WG$;6FO;kga_=J3K5rH5LeiL=$~c4ijZ;Fl_Ke zU_=Y>QxczLQRxg2-FQG%r9HE=3?To~gwJozHWl-_ZVtlK8Zw!*s2v1Z4g4GjbTM$| zgA4J@3VcL0wS*p!D;jGBFIzAvTnX zy1IV0cpx-~of66kLWG9wB!N!lKU8z_NHMS)U-c=6sBXA)F=76j0n%^LlU8!W7> z7{7XL#v)2~X=y1;UWg*u7;{V{_olX1Lek?;@ND2IAucYigvCV>%qHa-m$M^&7=Xss ziHU0npar3x-)F}z#uMU(puUO_%?ji{6-~`M@ZI1J!psuZ{`$&(!yFJCMECj$WEr|G z&C#aoDbQ6!Kmr7d2PH}T>EEk}{rB0RU|IaZM^PZtS3&v=Yig3iBBqaqMJ>Rj9D*MJ z2SYoK%u~~?u5ourZMOb)*JzYEG@_w zcOc&p(+9r9{?vFdSBn9mqFO=T1lI&HfK4buR=HlB`M|WAHT)AsYcOE=wD{tJV^Bi3 ziSR9f;ixb_MDb6fi{&>oFnx#+v6iVRQ}9EgfVxNFlC%GoJipbSE`y000J2T%atZFx zZO|>k6f#LbVnU{`7FIHX`kv6lA%X}3=0RJvc5wKQ{05%y8^(AxUS9YiO6+g9TChc8 zkKprV8du68?{$hTWaeR*2HpYvixe;oHJl-htwx%p0kkq4a`M-QlUOjQmIb3E6X`<1 zj_#WcPG1wJ?KH0JE(>2XwuK7DH5Jf!vc`=j55cy)D&Y2Gf9~5A7$@L>Bq%EcAIHzy z-kuFmQS!>lHcYrg>gK58)|&DDNV>^=uh1kXP^OXh#*Mqk1fIBr1THr>H!=lDFYWyy z@sU*-t+cl`3Ss$B=omXaVfX@3DZ*aAeqB;gL4gPv04lqy(!tt=J~wPs1&xA~goF_h zz+pHBad@kI(ApiQ&i5b1fHKAnb{`9AlicN{S>F@)`c?5_l^vmIQN;dNFHjwmg;bA7PC@nM(~$;QH>xJZaDQCd~iw>#~%$t^2;kp|*&P0eq~!tlm{#0^cQ$#!%VI}B)C z$9-b2znE06HRKZBARwlf?m8fv6w?41763KZPg?iop6>_C(PF^ZzIAsO$h%WenNR#v z$~KqAj_<-zQdVAs>~Jy9g?)q^;j2(TPK3c}h@>XZG)TAme&Kml$RtNv@>l_M?J6~b zHSYiUg8yr1-US`mIAjhU7WV&ri2ncoKOAiajwJ}uh`#Z$Pu@=b|M@_G4lh)?>{xky zM&#A#P}Q6kfW-6b>-aEYPR6D>2l{C5lV4DR5f253AySd3E&W6G_B{4CpbdpUjY9^; zQ&WFt-z5jPH_yeg){PA+8g`gM2q;C!2=VaMOZZlVKm2bM6*SC7p&%tC3`o|wxj7VM z-y1$ldcVVez3%rxjQtO+^uVBu`a9vf=e3~d!lC~Bq;cKI*f_ts9|)N?=-mj{k&^lt zaC)$I3eq{^gKlkY1%qdSxW_QtR=;~pa`(IX8cIn?UmR?=V3_o^0vQm&^y$(*&!FGm zH{Aq241*MG$g=?8$1Xs}K|D^lQ-Bqr;1+y<+d@WrCaYcIYHGx3rJfQfz*7tWi=VkP z9%CU*5g;CjpsQCCX7Xs5^ zE%R_u;D>#B%V)@A6X5hjB8GNP4}sso-&%`@2NUL(D$Garii(ucbtRZ($*G9K9X^T1fpitC>M$?;_FGsI>QVnzlaDWv{Qhe zHBW2>tXo3OGVl|IVfG}V3kN|MU{@oxGkvtspnwV_WnW`}A0)tpfgvz6GNQmteE|^% zwplcsB@E`%pa6FS|NN;@=1(T!0i(_D;uqcAEKXT~wA8-U^ z0Pr#m6w&A4U@ibV@aaosfL=3lbO!CL*R#&N)(sP;0y)jUR&?yjfJu3BOt#8QkIv34 zhz`<^gYDaQ?~svpWTXq3a|*+!MgUI>7*U|$-=S9#5BS< z@U#qKt0O-Gk4P7f|`*^C#+}~ds2rZnSp|*kHPKz?2+FYat+W zegrRp)1-nES|Tv`nk(SES?P_$RPiUw z2$Dg(K~UeC;T?WZJ5cffzXr-5XaSwX2Gv6mQX83df%CKi#B_YdMM}w>ucg4soYev< z7ZWl#4>LJowY9aJI$5EJHdiGUg2U97z@n@KfE@JyFo4WFH3|+V&jry}k>NX#Imlqzp#=th5f=nNxI~5}Q&tNLxl209Eu;%##e@g{&y!}e znCeP*ZsUZEXA3KFd}88aq7;bC_fAZGL13`FQ8qRj;B<#H=90U&ckZEm=0%C&yVkbf z`+j7ktD^Aen&4F}o7W^K(rAawi`(Mt*9LI&BUF2MeBRpg5enRW)TRCCu!oxbnw873 zCDYlaB{ny{xXIhr2@@ih2i!+rO##)8(?uDBsye(ydXt=koOB6B7)e*7 zYkmu-#zl10ZgHmKM|I?c3#i;Ryi2D>Ms=SZhcn3-tH4Jh>vJ;8mnCV3@Q8}%@CYC4 zE;BFYO3O!AQ64`)|Z-_Y%3Lfv*;dbqk7 z`!s|ehtrwQla_gq6p+^5tye>WCF_H>U*zaQ)QD|!VijHHH?6~GL}UioOE_~=m;~LB zk6A!mm0WmWRGE24q_hd=FKWw<-{>8vRTbF#yo$^BfIEMYBmn~;3unKeK6=oM_lx~p z7S}Up)}tZCrtfz0+Bc~8idG{#?9F|O7!ydL5M_D!(kDmH_Q^IEKiFKn>sU7YBoF01 z&OHE6M|l+7qtzUBgYVQqgMsTTGnq(@mW5WY($#6j?E6<&C?%p}!t!w?^$(gOI&$W$ zi{D5Rky4Vt%6}{$7ufO0`cpTh`vvQ>G*G-RE$0`xHTJk&pgw``d8ZbIaHU*;pVXpWlOUxdGiB*26-MRG+g?uE^-d>qysdlkBH zkNCl9ih##{3yZ$8u5%(0k$d#`u%M{B>g{Dso7NlOU0Jisjt1(CyL*2&#ZqHoCWfXB znyrZ|?WM!+L~EP8z>}jRZe39HB29k9>q$GPScNC#uRn|Z{JCmNOOFzK@{Jbk_?_jR zhU6pP6$1!!K2Hiklq~PPl*uCW$EV_IbYT%YA(-)9DoP!>RwwD#$DeK|4C{2ED)D(< zUREAF7g`}<9mIz(!P3kjJ6if1;D6YuQLnl@Z^0!FSBrMBppq#_o-?=|;Xw;Gk5;$C zPjxx<1T&ewLzONpT1EbepZ`=5I+yqOUAUARgr8lo1zYZXot*Q0vJk2Ewp1#s)njJG z&3EZnsm-uP-Gtzz2Cl>U2zoN#_is%kaYsaJ!Bh+B%kduql}?z#+?(v46wJPaaJ3MX zyZz144PvDyb~VE~5oN0e-z z9glV&Elwg|ykr`M=bSQ;$^4hcM?!-62BhF>rqH2vQl!&giw z10UheqKV*M=)Y^@o^7o-@ksh757our;ulG<)?d`UI`cF6wK6#+GlZNB>H9Y?GMiF6 zBkTBbVimGID^(?}?-u_ksji5J!5$qeG}gf@qeB8x8Bpk`RuEi{aO*LTCB z%iAdBoz*>#po(IBb+~)1D9m^jY+NS(%{eC?aSuay>D9G~8j23ln>RfPn4h=7p4dXN z^9Od@|NXjWguL%SZA4KnX%IRcogB|H$PSC4BfFOIjLG5hTiB@p?ET=ik$T#aFJ1=X zCfjr^N|P<{B`ht>D|u&l*AzZ(`%YlRu3M!pw_4kHoTwk=HMf*9Qu7;q}y|I2BX)))``aMjfWwa~>j@ zd#N4W7)f%>PByr#Kjf(7vlO<@3S-VhQ7yU4ZTRoVD=s-tRlIPbxJ-eucgXNxh#C)?(- zLa##ioR!SaSI8!|C`2Ps)YVZC1I0L~N9y^9gLUTUIx`EQ>gEqu#{*pTLRvREWk4v4 zO^g?VfqA-QjE9`qo%a>3|NYsXO?l*f+=c!MVpLD%kN_bZPJC# ze@fyxrz|e~2b;Xso=L{<{7wA35bGwhx#M8Fz5njT!-h*;!wwE9Qi;wCJx5C7OzWFpskyJCuj9kcyH@Mjoc@&jW7)|~?C_fD zZcQLXzLw&=c9Tohls@i2aQ@p4i(4rE$};6U3LdeG_H7S%#Y)S@>f>@`1j%ersL=}z z>wjx8opOY?|K@ABI-g4Df8UOfxxlA=?;rZ7X>5L=?3;JhwnKL3?Z?{_H0gv7{w+3F z=ECY;!GEkUfL+Ef^sOy^=P2I=Y8PO%aJ*Y51=JBI4w$Km9k=e^^R{$Vk=bt9?Q<&iI6se=aEjlV<67w3RA~Dv%3oT6EjXB| zI_h73>yCnY(I&cRWuIBmiHl3diEN|*e}HYVRnqT>ZWX_4Xzza%Ciq_pzF{k9X;VP! zF7t$cy&O$1&U~q=(tgyNoD+MC6<70$V)pIZj+Ep4dF)gSjZw!zzvh?b2;Q^^q5fT= zdc@;bdx)JPMfuz*CYHb46HUD*p5h7aJ^M8j5;{s91=R7>H{UO&+<$u8>hV(W?}#94 zoorT=eB!H!H=Wg106X5J~?1?J7G&R3_J^#n_ zeeRR^C-XpoZwd({SSu~+j*DlrOaD#O?aV~CVy+Gii%RYY?=d4H4Q#wRXswjpkvy6zLvSI z+0fxV=NqeB7Hpx>vFdic%&JP5_s>^x)PDug-B^|8QO+))dRiPBADo5U76sf^*zeIH zail(brSEcKD1FU~D5MPvm_&`brPFJ@hy&h+clVmu^}jSa)V~Un0Wy#-%|S2q51LDY za*v03h$6ddwVB9qWV3Exud100A86nW_1OMCi?3TsHx#lLYWE}TTQ z-_lLjN$;{KvTZfd8GZ|3vHJrxfmOHX8`*o=&tcYt0nOdG@!sDs1@FU+& z1J>;O$g=jHditkrb$@sVdo;)e>-T+s#j>g4415m(tGje_qmAg1KQr9~{?cCy#iOsn z6qF@x_yy4L$?}X^zAeckO28Y=EwO0SqsvaevN`9*oSPf_Lp(OLmKHV~!<;gPzcqiI ziGR`u@T1cm?fcIy5`G=c!B@d-l_7b4$4$kiw?7PVHBVGCzM2OBaJBlF%z{0e3fb>+ z!sm}aR27#a%X#L9iga_c>o`r6LwWmNGrC7ya}-sjhlZj_@@#L^xs|uEsL!}auG3dT z9Z!G@1@nEn8M@}pixPoBvfwnukizG|Z^WJ0^xP{Atj?Qht}>Wm-LH?O)yX{KV5Wfz zfIyUcaBBnWf`cKHghGc4kD{K7{ak&}{ITqy!@u`9;$igJJ~MqgD#;BEfqhK(L<0qNFZ8g!MbHRSDcXV4Og zfOTiEsb99wU*$`b+B%wHHC5Nv&9h&nUiu`TeI=1l>)?_UAoSyvOOV7G@B=)!_(>P- zwCRngqAE{`J*vcAJpS|f?n|h+<3~C-qaXgp*Sw~ZEwiq<%g?{cM`Bf?+>f<4>X)M++!zjkw3H80yQT9P_HU&hGE7>8{Uz0wfi)D zL-_U#`aMysz9P=}d52SR+u1zdhx((H@*Nz4qU*KP@rdSet(g0L@Kw6A`LuL`zjWAV zqeAY^3OC&=%9{JnKhM7(4J_ebibG`)m+sDXdMBEtxG=H|5?$IrWs;7Ydgx?asl#Tm7F$=D@rM|!UseGX)Sn=EdnS@#u8Y7*1Bc{P zWxdt(d+%02GOA~j2FIcH?Pw>5phtCjJJa6ndgMyT4)n*&hER)TYbFGdas=mihP?N~ zw>x^8C|%;GWUkM1-w?UGGPxqzL`ig=#uC)4?c-CaeDeAx$mZ&Q%`@BbzAs0^58bL- zMztQ>y2gvyr3%G!_8*upW&g~!G(vr^nVun*ZeaF&N$mAhq9jXTYoTg1TvSZtn_=PE zmV47<*Q%dw~uAk$xDr%4-NZ5~1}TN2HE5R0c^ zZn=VfEu-t_792b|ES#QCG32MBZtl;b3XHkK`M1fh)BxmTq|Z# z-n%DFpnd`&AKh7-fx^kxqlhjr4Y9w~+`4PRFxjT`0=h!!>Y@qf@`qvMb`}<%UzLv0 zNRq_TNrzQGQBgy`IKRC{fypgNdn9pHTvpEg^YxnrW-b3^vB7OGNEADqP}G6tqP5i^ zG5r5lv_+0suWYk5b++^$HD{2A?9&Awt(Y*(+_R2tm*KL#gB`@#t5GQ{o6v~-1dNc` z(e@R^OWvBtlfmH0zcPJZApc_1q5_+>KBTv9OTJn_kl390escCyGusI+b98Zh zcMXG#tob|U+ZC)kVUGel!fJ1PswxQ1Y53f%`KSn5%-+D;63%=Uk_K`(imG9yxei`< za$$48$I4h{?ne?779UJ81Q9;AAVTg;R)V?@UFB;WW<0^vMu0pQ-yji6#Rt=o4(IPx ztZep&0Y_N}s%N6vRCh#qF(Gq1coyuL(;F5%__L9Plu-Vp=W96FJn7+%plD{>2Iziu zszNyMnm)O66<%SSRyJSX4xG0*oVVHCf#zRwIhvX8nOz=OsMQ4X#u#>Y;-22Y%)Bcx z2BD!cR*HI61SO=^^W2M(#bAx%D>n<~_~ErJ2QNmQ)21)9UwBH&Ttw6fwx5Sx3mOJo z=M$X0ex&!7V9bF2qW86_UkD_^)*_~$|E1*2xNL=}>Q^JAw153GS}xwk{y6A_joAqZ zZ7aoLMKfN^E#G|{BXV@wbfP@L3R!=^B;zt!ypjetKJAxAdL)oc4Rq|DYAhrTk@D-z~l&JHwOXe1qT~ZO_0eN#mUVZG~?ssSf{Y+fzYD6k;*#jzNq^-=^C08gyqpPx3H$5$*I2USdpb8My!0Ojzy(~18CSWG z&wF_vRX4XQq2#cybS~f5eEP{gQB@q-po*eDMX>pJ*AF2SkQ-^)y~GRWqC0XBEGeQR zIaFV7o#N^#%~Q7TS^GnrQ=1Q^k&6egw03^QWjNVDIPxFCpPES`9aZksqI6`CPw zUK5ojxJUtBns$PfW<5)KRn+qQj}kx~d-xCUUMzlRV`PCM(ZMl~xuwQob!jO7;vjc+ z+q1GG*1B>aHz^l-Jr_ZyG;zEK2_#l5_JbTvt2PYR$D~_&dW>u7qsqze-`c27;TetA z;r+eY3*|xQ*4OS`)Lm?d>3Q!ibk5pN>X4lM;O_T$c1LqN&f`*oI3o?T|J_Y9WMBlG z>i;V5%fqSczQ6B-W1feK%$dhRiB6n2g$$V~GL%_Dj_;$wIS5CC98+YBLp){Zd3ZD! zlZu3-QiPJRWK5>`t=)6|-uL&%d%b_Z*Y*B)&OPkC_S$Rjz1F_>=d(<37M4b{GJARZ z_wDH4I=ab*o;CeM%a%$bIiR)#*CJ>QL3A8l1DE z=Hj4*x;AY6S-kFrkc)M2Mi|y}(;UfXa%K`SXvw$88AjxDRiosSGP-I{7j9 zS$?*arZHEKF?eh^%F(g})PUTrabdQKg@axUj1q}EGs!7e-?uimoVm^UeVvLzoiZPn z_NM8sk7=ouMn*@`?vBpfZF$jzL^Z1Z?6OpL7;A!rYRaeex66-{Z-tMHo)+A;Q#)$npVYquu{ac}>@@mez5i^2?BRi+M;<`oTxEB;YuiueTbo`Ygwty^-p zU`grl-?o%sjiXT5?gnr?A@r=xWp4Ay`lyU?J#>n_HfR9`-@pf+?(Yg_S9!`||1Tm$ z%=yIj`xRR z3!&xQZ&z+DKIMd_f3XbI;bY{l0hhTFZWhHLp6r;)WXS`8|fJ>z{+%n-TvOH>3#<1JLOnsb)oP&OdpGtM5I{#057<5XV_X;n{ zcYe1Q$lO*6cBN$g@G?Gy%mpf}Tk!=`dCb48Tg~7NSto+BO9Ddw_i&SiXkuyyXfHVQ z7{iJfFTY2yzX!iEYA$_peZp?_zB4%8A10j!%wf%g4Y4UP^e8^WIfa~!S!uFH2XNMN zzge3+r)_5uU?-`%W*;9{@&LyDXxl+5Bhbr;y-~%CQW3;9ct95Ws#kK^#{^>9I1*@hP5X2vj_ zRXVxJ1F=ZNMpd5~jkd%J(pS}ZSut5=7a3`Ha}jEHj2z;TE&2ndnqO@TCRHy?@yisB zGm|&Z$M2Ap?Le)q>SHMvO3`@uw_#XU^F@;qDX12B7ZcGN_N<=^Ei26q)M51 zv@tJS&l`|>&90K$% z*s%Wv?N4`Vzt=q8*j#B7`H^1$<{BVFqo%u0I5EH2$<(cPe!qYyIGM0s%kMKeMAJo@@R8b127QEFzKI#5zAF`CkOVVuc!Sov^14}uwS$q`*t%L8*G zrAxe!n!+I^WG4T9C^?a0#s}kKGj#wfJy&kWFW{fLm>SDiM}`rq36hAxJaQ0b4qSk9&0hIwU%5 z35JsZUEu(T5QWBiUdoA6lpcMNMI&Dd zvT43#m}dHO-r?xlON%buSbqBVYE2oaj{tr3>lwOGIdZ<8p$Ot^=|zBKG$lJaCp5JK z-0WUTvU~~BLOHFVkAt=Vp7fH`)@KFTlPv`%|Gx8p4ZXu&9Xc_lY!-|Z^SAQj^K~@S z3x_+*^QcPQ;OOlZ9&;ngre>*jZ|(X8dlv~U2Z_)-Uf&`%rKSYX(gLxf++JjBQsAoY zSUJKko0>YfEks!{oU@34d?Jqtobv*hxzGx*4kx? zjv8bG2GxMtK{yv!=oJP3=(ki~Hc%K%NR1gm>M#_v$b=2^3s+&8wR`VK?X(Bky~@rU zq!z`1Fc(mzS$A{KJMhb@>>pe=xd2~}xSdv)krIp@?%jcIG++n4RGyQ8*ogFD;tQ8> zl?JF8MfnLYIz;D!WWzaSwRA)t!D2NT2S(_5XV3+8m$erW%NR_uQbtytV-k(q3YcnIogRQgi|BP-n4*J9tPU|m;K`NTs2IUo z_(xi+bTu6>QApy(KrXgM(MvP~`yb$%5E*;nIq{7TxN`@PCK^>7d6XQ%(;}S!Kj3N0 zV?p+BG9W^)(_Yv>z|kE+*7>r%!n^mR>Ei{ab`G2(>NT#$aU(O}TNlhuj7_2~6t77) zr&9>2o?!o@w!RDy%(MUmb65j&F#QT@zJH$$li!JKZRs#kmpCO2Ra8KmN9}Sh;*yj! zy@))hR1_mg4L_ykG(oSMzFV!uyB;;qi!CFf!0|KK`vp}|>#eYIV}21>zO<}F^qH(m zz${>Hs^YPJatxY*2Vd!GT9R_lq$+Bk)#o8Ytw?BcJv8~SDl$*9WjrsDz5v=)0Xj&p zdM~ZQc@lb7W6vIDv4u%Y)BwspYrun>U4w^YPYU!%ge=hY@is9aaex+td?W@}XF4%X z6RNgXf*nzU3iH?p)H;Tvuds)c1;`N(gM}Rvqokex&L<$M_(+iW@fE642Zkj!;>uYz ze-E`$rR6miRsz2`!S}JrWEH|(_&^pL&&A4u^Y3+KcYy_^A3n>YQ-FF!#X`Y{c;z@M zhYaOZEe3L}?8|_T5y=dQ!`_|y?;F7ZdOLU9A%Qq=mV}L$OOcL%J3DEaEFbgmGz5G% zBpYmRz57RQ|I6gKg#o8IcfsovN#C;I?M5Rxt?eOO28+uIfkGh@-cMbgu~6H5?LO@_ zgu9^?k=j?iedO52juuPw{xWFpC@j>oG-VgZ1{LG0PZYDPx}AOw{9ww$_7P zEO$Pr*nDgi9^zH-8$Zn|^{i7$+lal>Fzxczo3!Gf<6-t{r!Lpdq(_J=R*(8zs2uG& zm>1iU@$ywuDt^P&;$BTHQ|7qVM&zEbW5d@>MZ_Yqivn!y$Uk)xD_j$*Cp(Q+-?w;0 z+P)E&|F%+`>{d)>InfP+h|XBCqbunS9U@kE!d}bHrs1O|4u9B@hjQ89&3?A_KTdGW zJ?1bhxoy{+j$5Hw`&L27fR&8#wNs`0e@IWXHkXSsO-S9*`F>h9?UtFDcJ76&^95Ad z(v^u&)}l0)F2gRO?M-S`F$YkPJ&V6By5o3j5wSpb>Q?43?rkL)NGfc=y&BNjWDWU| zrXTNie|yE_REn)l$19fgi^o5w{kd(&s)^Ryjhy351y6k?Gu2O(JaDR|WpE$cI*_|w z`kWNQO@9%!xl^=E>HdQu;reH(DBv(WDHt{ z{&>J?-hKO4ut&@H_?$jsj2X}77NM!##J1sxVCQn!zcU{p?1!JNzZ)(KYU9jhlwH9eOz<(Pzf<^>x2?4&=-GHGUdB z9!t$}=rX*VtM0u!W9*#N*WB4KZ7t@nRSeI7U3$rvZWrg@R(8E>(Nj{dr$Mlh(UAYC zo0}37sK-|QAD9p5RxlBFT+uIvIhSE|>-Ds-Zd=8Tn~CRwo9tT_n{+)Q240N#sJFWR z+}z@ks8KrkaJvPgwk#gsZFR`bk}4c6Q0H`LuWca_0Pgq`dmm zQL#*S)3)k>>_m#Umgtdp)y*}hl~;Z_id7O`5DR9^lmd1cKl*EnvhV0^ zdWG_{%Uu4>i@_>q>z_9(K1!pfDD)Wi5L^;6w)c*lQZ_ct?i`p--`#qvnw%S*m3;oT z?a0I_ri=LD_d(=bbLNT(G{$ZNc}`LNxjCj2FLD1+>|eGD4?I%Y^QlVMLhmM1 zFq=>(pJSnK+m>cP!JB(TqnphsC);Ue+sa%X3saW+kL2x1 zOvB=4Ew3YDh`K@>uU-ot9@@{cq2?AJe7$7k3sLpQU(=GMD>a$o75n5`-W*K;3&b}{ zm_CDbC-0q?+t(agA4DRO{4yQa4;H}IJn}#miarWTS0k5#%*%%p8gp9ACf=KdK~eMv z$2W)^(z#&D+R)m|_V6zL?tZ!&z3ZHM!TAnWfiX0FM)f~r&U0c`AY98dopA2=+NAq* zg&8EBgN1Xcv3?q}yp3jDo#)hLbIjMhJdS@#2a4mf3EW|Qs~GB3GJoApe83OW`xF7) zc;h2rUGo>*C_Cp~*rkN7cgl%$~JYg#_wCu`LgPc4${ z@4I&3PQJxTBki`?xPim#e%2(ZYc$YTRuIrIyfHrGGMlIBIg$Vc4|#1mMUn1*<081;*fOJbdoi$IiZn ze4&K)Cu(7`{~1<*5_(-=I>ndF>k_X)@Oa3}*{c-3c@f_`qI-epUU^$*XG08$f!8XW zk+o{HV&Ku$im}{Ij)0`e)|xfRe|?NNaOmxOytJghuw_EC1qjS#`>dfhRyeX#w%aR% zD9NkPp(xrDsbC#g)^~`;ec6IthQSLbUY4VHbB`lW>7(x{)|y`e?2{_c*f{72x%gdw zQ+K^a4$-5|^lZC^bbk$W3%pLb46eYKkEbz*htPELl|kOg`JE%jU8d#!Jp^?WzWwE_ z6;0i-DHJ0Tqr2!7mPUjq=iOO$ zQleSjB~!7sK&F%LnBQt3b#p?~AIfgx=K`HZUY##b;}@ws+CX(&#I(8Kk0=iuiaD8@ z&-6`{%hgpgT(BrsQ5zrIgb!G_`JNOHTb-uc^VT_5M!C@Ls~ib$?8!%V!>{N-$Vj(= z=&sj+uZt;X4MTCf5#wZ+H}!kd!b?e#AiC#0-yLHa6|=4gGBYH+PvB;5Fmbw|YWJdQ zZ_ru4ZE@~@WB~=wcK0#)>Bmp33rxYTifmM95L@*{ofKh+H;Xnx=eh{PRetjD<|_(V z;!^t^#pW(g;-ovYup{U4M{4Hqe2OML8Qi~KT_eob31e%*^`;ZV4tYZCu zPdd#kFM&1$PStaMf2%+hqS05sw*J z*jwmD2Ln$pO%g&vWcj0^Ul@0e);%W-em!9Y>a)i{_gCM4G>mB~4cR1i$Z6v`YH`!o zmXDDe6TNFbCV+dze+oOtA*Po#+G_Ck|rzUro=pe73cGJ#gM% z@3cn%j%68}PR5}C*q9WLO8DyvC$p70lg1_!LlIP7V>!icKaKBO*-^a+9U@>xg=fy) z;OE#_)DH2K;J@fTt+RBC@F&w7R@~S?nErOzUC$swpM`IZKY4Kz@36XM+@Ct-LN;#M zE=-$wT2~4#QelI|)C3)7-h9%8X#`;!ckymR8Tve9PiqO*4|Mr^B&q%cdm?E z_|EdMi9>U*&9ptqs~I}i^baovuDi8r3Fh;M_)`ZWPtfY@GHfR)u@P~uP^>N7t)U@Dny^ED&T6|yiBNi=plH~Nj zw0hmkIkHQ3PfPNLNts^ltdBf-%6@!H$lWJ8U!03*ZaCeUPOVk-7-eEc2ap? zcLI>@!EpFZZI@3o@_GVPg(b;E5=jt-U~w9N$pJL+7>JJnQvx7|Hemh1Fd#LF0e~2A zN?HR(1u$Vi$R-3l0&jMV0w)4HCnus21LiWs>-ig>_7m7Z5f=dP{{W$CA@I2X)Oyt= z?68SRF#wei!x+3#Zd-y9Z2Xu3XvrbKR2Bj!+LtevfNxXUz`!l)BH*caUs&?{owgwn zC}8}*+=P5409RoKz%@eRVj;k~sN>gzK~@GtEeeF+Ma9K9*t6x-_UWY7)#(Cm4$xAF z-t6b#8VO=U2zVzWm*4yLKMYp|h;1CeKAM5t6i`F7%a?7dw4*m7A_0mE=|sc<9KtUs z7+X`LgAx7wln@LIpz#RH1k@h8lBEoj0p1cw==wQKxemY>g#SXE$p))mga)DXcdm$^ z10}No^xP)^%_DwN$ohiA05T2KiwSXY%#g4p5m4cXA+~cl>--*Iwg7s~5h!V8?Q7Ni zY|~Z|@FW3aRBO52?U0R?&`Xyt0crB$WeI3sGvJ!-u>FPmKlHme^qfZ=;TRG*p#Ahpjxz1lIq59kvC z5H$!)Cj(*XZuJrQ`Kn-$lCW{30?5skFKNei!zkMTa;W>!zw{A$|H%^)U<<7qhM*Vc z-nmmg0qzR%u%jGFkZuBN26$RBz|l~~l@%Cnh?EC_Y>N#;Df15zKoqeXLx+UUeAo-b zvo0s~0o%y|;8-BV`wV3vw&NpLcfe9;#0;;@P>mp8&kJ@8VAt$GbE@aQ-H8fIJ45 z_yMbb2vB2&N;l%;@d!;jHx~jxM94Mtsctx$83P`TQ^1S5V{d>k%s8y(=H}#Y{Q^K= zsWy#SB8_Tf&z4Mggk%IJCwH!iXxH8I*`c&@I(Ohl}32d|CtdD z0XGrW8;*hjQ0@Pc67BzeH2428liUBdVvlcOq8~WYuMZ-|zcQ3MbWEBgg)@ zs9$O2p_vq?dypZ1CpNaLyl8%>*$$^L=A0JIEOQI3k@V1C=2_p(EmE>`%~P_nv&K`M zwC2lw_?Wjmls@%ndYS5Mi1%h{>oXm7)01Y_;|qWP%6CLMj2DUSx=U=re;SN=P1LOT zi)w=*v4@Y3@4Yaiw*vm-@TYhX5D@UWT$tEQzK@ee4zKbtR1jzIs<8nl5r~%s7^!&i z>O(&RV$azuvj)nmZ`B^=2OFBMudP1#V%(Nt;MJ|iEE-1!{CPxPOSMOVYl zCCYz!w0G0y&39~y7irF(J$pIg%)Y;$AMSo8<;369+dF;COI@9l{KV2yIRUL~#`6(^ zhiA9~>F;D#OR3r!?scLt=8{=oad>j@3eEH9&s`_GDCQvbakzn8`+j;$E33V!Qzkc$at%64wY9aK(K#25 z&ucP2rp6!Ml(;2#aL|l+&_~tuq|+h3{L!OFl(%o+POjx;s}|I+xsq}%b@HcaO!wSa zyZVP4A)ZT%(*q*5U2;zjYjN<0(|2@qaGr1#-YM&8nc;r<^5&}09YNmS#DVa0uD5Q* zS+!?Ncq}=FTIm$KZ#%4&eK#sdkA@iiQ?T{IOEJHqB57@H?a8H)^xm5A zLyNz7hK7d7d8mmHVhKM-&BMdvIMK1AySsbo*5%8WC(AbS#HuAV_-wRrpfnuVdH82i+-Da}2N zDzbh#IpU*ZV-1PtxBkv^*kA2lvO2fjyfuwUOH0eu)wL@%r=z^+_PqVq`S{f%PQz-- z&x9$6ORtr;t=9XXTD3J>+hj0A;+Rkvjt%~oHybcyxGw-?k= z7bDVJ^Q_v%j@oo^hlYmQ+S|+j$#=?h9@F%__0NHkkz0b5nVC5tI9MU+VpLaG7lFHS zUmnXLycxC%#$HXimXVWlucX8))XJFUprq?0Z^x~H9k~Ss6<@y4tuD`>#!Q9gmn@GT zU!Br>Z+y0JzT>uJzSf6ox{^Vg4TQ0=v3|{ygS7PYcP=L@BwtRPY&gx+@5=JQYkh5H zS_RXlxPJTT>hXXGi57~krP-0ehJ=lUMMZI!le-26?iG71^X=NTtGckRU5xl$?6H0K z=}-kfdUkya3kDY#mzm+_L)CL1<`;daHVWJKok3NW)zzu2uVh=b&y+OcaR=KncMIy| zKN+y#tu5n_b4$zV^xPifxpdHZ{CA*1g+B%1Jod})rMQhD27GdEt}5|-M26$gW$k=N zy6Vs!zRLTkh+s|;%I#v7rEgRdSh=}_tHXGD>*G$5i_g6IZDOaAwl?>#9GkH5KLrUc z6CLPER5EJ|Mrx^=>^r0!31ZK_eTIww`UhLndHk8S`@ed%XJw%`jFyhBERb#gr357= z-~3ajPCbl{4(+bEcPd$}{M$FC0+$J;d(1m7Wm{?}M@g~Yym?doquC}daqHm5Bo*2D zSCpyO$R=P=7cD*5o+H%ZweGQJ?_Pt}G@V@6DLzUntN^(PL7fbnP8r5+q8pBxH+jTkPWsZsS^vp@ zCh4$mr;K}mAH&w3$?ggXhrhwaCW5ldNw??6bDhVyJQw@7evOgk!8J=C+eW-Z572LZ zdlf?>n_>KAGiv`?rR|;PM@-9GS~z0d|Iu0h&h=3Y;wby|i_1Qb+s@98Yz254fA&My zVwInZK09&iz30!p=by%6K@a{&WO(=P-Q;|ymr>v6hxJ2_t`kM`Gt(C$B{tz!l?J{? zkxkxV;QOvUdp4l2&}6-O{W|{E^k1?$kfr@ZP>1VuD0f+9AloK(c0b(SiTSK|>Y0?j z8(Eb4Yr;kBdK7YVbGyDiKhjq0alFH|mudCHq9n~^pZY|79My|s7XCj!nD!3DcvYcb z^lfay&OYAP{Y|`6VSfD2)ara^0!rVkEn^p!h0&!(yr-+D=T7pKq#o>J>hF!|tUHTS zS-M;|XP`y+i&_2Z`s32sT<7wy?<}{BJ7-Hv%hGKBfX&^DNvANwwuAM%7 zQwvi@s~<7vba~o>OY;-!zoopEhW1m)eSIk|RP7)Yb&+;gWsKL_K_Wn?c%i&&Fc9;9f)9z|A&zk)AZ!=)aCM@BlMKPNW0V3eb#Kd~JmAFlZHrn}# z>ioBA$$Yqor(22V>Rsi1Y-l*b>c!}5lG%^jr+7AR=Bs&nIK^wFtBlIP#AI*2^O(7C zXH)VOYQncw9DBEcjg3&6PQeY~iTyF|d|T-Kun&Blp8Zr^&2akkY1I->58wIgC!Dmo zuu*Ud%Mq+cZhWm*2?`2g%g)Z0-}g9B&ujInth9iDK=tistMjkWOlg)~=0<-~dM}Km zm)vEQS2%r|Vf*&&4QV>Zk_Q@Sa@1gsCX?cEg3!c*F_!QPXwUghLW~9yo-@^P$F2dFSk1k)J|kO9RD7=Q~HIG zp7F%=z6&pCLzEI?qMtn3gFUG-!=Qq(WeN}8Jvtg`B&D&_nWB+FQbK|=l4)f|y>w>A zv9hu<7EO!LuP++G66~!G>jiEU(q7lHDN6LRG&1san;q`{`|ah@O?p3h+3530jl0Ce zIJiP+0LH##ozFWRwv(o_DIq@Ic5YOI+(@mht(S(-%ucmuTV*;hLg8nSS?I;(=5-UpZSG{hp$Qe zD!MHWph}{iyp@u$IMi*~moEoTUszn+KGkkh5_dWA+#B`G_%ct+=C|xbAE)4t*B7>L zprIM&xt?;33CldMIC|x?b$5HF(ZJRJ$}q2uViT{K<=hb4yaP1#3yHF znp`NPrCUr;)8y8AE}Y*FRbepPl$^I_H#_oD0u3oh8R?c5nk&(2?3!#|aHIT-Nk=5An0aJ^F>!;{XWiV~NRUe%Ew%Pxe&BiLmF2tAJiHH;FWWe1O7Uj&vriSROxomkzL>CO(X^fy79&hf%O1}*$A5z;az0e zt}XPkjQ-AJLytNJDC`%qU3|EDtn2KEu64AGo#D3^$2cWydC?Q^)3NO&Bt_Y%4AInTFGOGBG>!@7L6hzbtRL^ zMZ!ZYyjrIY(+UrR!stAQ0YflCvTJ5I3|tJ}c7z7^QVIUZc=7A!x@`2Ckox*d!8?v~ zFl`sR`{Bb8aHyrZv6mxuPg^@5H>X^$Xm3AWy;8R)^>Yt zwCv-}Mn;+{Q?GXSr(t0%N}=3=4|ku&KFO73-dqlFcaxQvHmdMvI-r#;AZGpBtbX$Y z5C5T{h2>=`B2BmGMQ>h4hA?>0iTU?*K0ZDYo+}cfM~*P%XGj030``6QL@#!pFlF3#80vs138566h#SU=IedHOxt zi$mm8^0gG;t*g8vLX2MPtK!(}Gj2BS^Su^nTG04@egKolsCffSG%~^OAUNZfFJBft z>tb{`2tnP#X9LGLP^?>Cp#l?3YM(Aukj;c?!G_ssPr0ni*N~deH3c=l3;J#ZHU+MMP{p z_f+6{?<2;=hwaW`JhGwK3;tT%0*h^Wqe^w?dfL$iDz~W~MU?85^|B`sJEh%t_wAzz z+A2iu7#Gru=D0p;T7}+1Rk1u*o-40UxpbgD;WW$2+VTWil40lon#B{NUw8_}DpTvW z3<_0M)g`Oub#)i;E~dFke8t z->=-JTTNS^bsEL;;-j`e`&gEw)eLWTd@xkW06U~SJ z6o{i_?qRC>T?G#x9!vBW=5%8sgp8Jpm_6!8d_E zgk6Q+_s`AW6=2XJ=v@C9uySzFgeds}GZ>;Jv}IXrU0GetMCGh@+3nxIf3<%XinJTV z7=5G%n=j4C`E%#)#KiEp&5Z_PiBy!8QGjh#0hBQnH~hU05}aYztK>M+!nEVKb0rq| zBryAK;0ChdG^<oUl3{VqL`9?*FVQd0jh$Lu znia8Z69(Pi4aAY85<{-AP20Cy2$#Hkx&6h_n|AiS@k(Kdf-2NqN1C%vMojIEolZliFfz(@I^*NDW>ZdRib{F1nC|=e7FmP$NTnr zx*!%9w6G!+O8&xl!31MVbKxxqRUiQFcGo#k9`Kg0&qPk4K{F&?K4{+Z?jZO@q*3u` zZK?a}Y-?U|$Dab1AT%@v2w2^HeR}{Z1xT4F-6Qa0b-=(HP`N|pm`5}px zg{8IbF#t4vX+OHwLA<7j>s6xaQ%m-o79(!y@(rNudWz;d*b>i$|FB8IkQ)yDNL;%0 zUdZ%ctx!n-R1JENE&~gTLsHJ82S8_|jG{(bQrSTBwwz16oST;yDBkIQ#Y8{4NbR(4#HpIpIh0l) z#232ob9*T%DJxO;GZA!dZn9=axu&3J(%IP9kk^NBwl_^Xj}Lh4Q^2O(jM?O~?YkIx z088d>NJz-!L%_?pSX!Y#q;&%z^!{makS*VlFWn>dr8&=aevo=@?HpYE6c`lSgNDPOoeUcd(& zs@MK~jPp`TvmtmfsXfXktI=P-eqFV|*-FIf*U^U$9>m57rFWK?hDjS#W_kjVi?~ke zZ{p-U043Mf!GR5Matm6O*fXJ$_E1nTV8YGhAeEJ!BnK%YBZGUoXz;QwRs$RM{qmnb zHQuQ4lOF*2@c_6&r}n`9+FfjlB6lJJ0)T^AaC!HsPg|cIz4@rAe@pHt!^M~rw|)$^ zi1G1ja#NjAP^10vx{! z4~}=#`nUS|_GlGR9Pqr8F|rv%Oa$p5yC|10qSuRBl& z>6B(`i7qYxh=YILlUn;kQ9(g&-(!RCk&>4q;&Z&#J)zo`972wNQI=LN@{83vpPB+)%f2y zYZcfx9%cYOl#8?g$oor4FP6s?#x)Mncd>7Nc(BJrKj6(7(7fL1I@#)K9ZuZ^gNevknsej*|S5UB9h^dxwk5oqbs5cw)v*%ail z1i+xWKWlNP?%69dFfvx&fv_|~);Mn9Vv0CDHQGsqR7*;d1Yy*|0$$m{{_uMMJz| zXn~}F=0{rW3;ysKu;x^gF78;($DEV!ogmQ4sGcj|5PmHnyUbeP>`0ACyOu&;3?%h$!Fe`< zbUBnlxXS+g*#SC9UKNn?fl+aAFk|p`ab|EkTSrF)QpiI+xZCU(!uIH`ysrX+w*86u z3Km&ZeRt2Npru>qpByl#Hyi-1gmBxNUb0qW$9Q54lLJhf=hpHMLlU)eY~{7LBm`ZBy7Xc%Qs7#aTthJ<_~Cm+}at%L%sdJsA$ zWP%7I50Y;|RL0U_K}*LS3$}W=tS&i`MU2tFSWQk(pXx03K=+#b-P#1B4U#@JK$QH4 z8{f!9q$0bz#r0qRjn5Bu9Z-$m0CJ3-EtK5d1=eRczu1(lasUPTVM<{Y-8=3wE=TJ# z)REM6v4|Oq-&XBX=e5YohTk%paWzYI3*oi?*sgk&7c#V6F-4wW+pVoer1ur@(I6+ zp^JKRJw4j97^*2fVF-XjQ=9ba747ZY%iQ7xvYsos*jq^vmxRBP9Y=QE&Am1Kn!FO) zc%#a4-(wY0I^4+2{dwMkRi0K>R+dzZGeIp#UaOj}D@`G1*-`jYzc{DE4f3i@;gr96 zp=%~N0T4W15WKIIpU1}t9X+Z>u;y6*scD_Na^(uSC2~sI8;1^PW?LTQzn=Eai+jtK zJyMQ?D1Y=J2BHT~aLd{h&qC?lR^WmP21KNg!^+yFH+$p8jr-udfuL7`*ltN-iyq<^ zq}*Qj!$NoKOVUX=aq{FzayvDII#XUzacW_4kuFO!HD(?whTQ&u+=4Vd+z9*>v^59{ z0PKr>V76~!Ci=cS<`Wja_J3LN;S>y)%OBo(K$U3?|zv^xp1ww7)}ePku>rlzKr z;Zg7LFv_g_+kKq4_EzmIxep`>Y3E)dShoslv-W(E`G=vFcAF7ahY&YQ=`GjAP9smT!O<++mffM2EPn9n)hihM zyuO`2kaf_0pnx42&I;ULGEG!sH?|R$zTJ+M-=G4WA|B+DM0Icuxkhjhp&&e3>o7)BGv6%G4erq}am7M4T)K%~yR^Q4&mK~FKu@d2pV>br3Y^E} zVf)KqzXOu=wSw-LpqCI7#4z4b^wQ#bYfzsHk1+!?vl3*Z*)YHz7Q(FgZFrgI=V%hY zCRlJCHDd*boC$-nXr3Vm`%t&Y%>ZP8#xy8RD~GwbxY+E+t3c0RSl+hX<&HyW z1cZi)c@{Cj~)oG;jT61iGT}p%Q^vt^G2^khSUUsMz9^|1AVv- zM7ii&S*`vyiQ$0D3xT^ErbOjw9*+&^q!BUuczxSNli9Q3_+Zv zK6L1i?~r+xW{FS$Jr@-(dw$X>I%4(SDY(+0UQBt~p=82Hi1U#&R4_X(ds(DDo1Pk>P zihU9mT{leLMa`CH9^Tq>rgQhs!sEA(+PQVB>CDKjj@wUDF=}VdpKlCnKL-H;&(x4| zUC1NgqOx)&999v7^1Ix#{ry0-3ILpGdL^N7bvf_mt^6vybp+KzAnzeAE>0SZ(8pBIqS9ndQ-^n8(;YL#ZxjKw%xCtC+& zDHN2>XtJy9z?IjGAi}|zz64aj|15cc9<#>ROuA@mC_x4u_el!;eO9~rSJCI7&?xXv zz>+$dWyb%+_$#lKDWZduD;^(tHBc851}=9Jwmn=Pyea_)HgsO}z<~qR5jm!vwW209 z`YQ`l>c#GoP)1nEfD!B~zuxuti%Uyf?jkiE&Scj(c}xp*dZtd+W_?T5gpjJIFmXBV z%7HC;7rpZL3dyEgL%t$$FMuiwp^p4WpS>hRi^Q1y|ECJAtjvfV=N>qsJ^&l1xHb1= zAJr$$Tg|hhbj+kX4D>Mt%o7hcdI40h0ha9Q#$PFxBO15H>Q+VvR%+_t}iJfb3;I?J-_ zE4~O@$R%FxE|@5;z+`7yv46?o%)W+!`v#OD>_I3*#?=>JJqXkdcvrR$G(l zKKBt^K*r@bx`Kq`AS=uoe_)y(NMFySZ;L^LHDWy)^3X%RrZ!UHU%b)&Wfwp$*-E_6 ze)Y?m=ux98#$X=Voe=gbV8dq^RWpzN%3=W4^c*_h^fl`ER?Jp)QjF()bOcgh$1C4k zzsL$roAhZYPA#8*!c)k|c($gq6VeKEYr0;mml2IOltn%nnVoBEYyWK`gWxls%VXlO zj#<#hPCNyts14e(ulqypqolm(;^N{m z7uK8eWMN?uH#?Z`Hv6_=d6y7owhSq&Ow+oZ+IjZW@&Viw8CXOMz$)mVjG7Nad1RT7 zA1`pfhr~-w9Nt5C*G35K=I7^cJ<>M4d-rZCsVKqD!$wt~*NPxQDxuX!AD=)2u7}o1 zMqOwcdwYA)X5zd?Cnmx$Ci1ifleeF?-qyhWN%|lp&as7=1Mz?po2zv3LJvcNURX(q z?DrVinBG+e28Kpi732GDlxH5fjb*hG1OtbF@G}{pQ$h~Zo9XpDI@M6%70g_ZFY_Ak@U_O>=& zNWJp3#y4(Is!;OT=Y90gTrPbA&0r(a2I_hCWRfftwY&X_)q_VI_3f}7PFYB(rlqzb8$1mtWa?0Pm_OVbX-s*MNp zqnR$5`(;7S4sbXvELkYgoF`)b*f;$@b>~TgUT6cLQbu5?Z?tj*$?#2Xetr+6XCzIU z^(rjz0x64-c`QuQZZt=LsxKne?@$6rxF|uMRfTpucC=2+f+w0-c(M_F4y6Xsm%|Ku1^qAiP z3|{|6b@%Ac57k|6_tI;SdV-2u4di+M$&)AAHeRi$grjEl1k}HB%qrHE&qVPuvt}v> zn$MAEIoJeCuPn0?q>KG3DG9KY3wW^-?0UAkt}(R>I>RY!HNr@fkf|ouAAe*}$TOoq z+2CLMYNl3^U7Qq3prGXGe#qn{!+-#3bfi-TU>XOz*L7iX7lIe}p+*i@?{pq+q62}F z1em;wtAPSDEG!PhID9N-*)GON4l{%pyWysT3kwURye=vDqtInSmlVs2+-BuLv*H@e zGO(L*d!0u*CyZ(%bKgi%HE_ig+B>^1j@3-*&CVrlWnh5e_$@?Slt94R4ESIa}1bClj#T^G{oY<_(_tCn)@0x6HO zvho53?DYi7(iZ9^oudYfKdBx^Mn)>&1}h;984A~-#z=+^OdoI8Th)U;_04YEGc2Q% zM=e^E5r`y3cqH#W-KAqwAU*1Qz)?Yni&!yU$sS#Z^FR)N)_aWVv)x$HfR6QEp`Q^x zx8_8*{T!iZV)~Z(_0`$O8;DI?wmeC<>bus84WDHG@M#=E7Ym$5_92@332SS5RmyW^ z>a;4hfjBjOMYzw3P%743-8I3~IFH;2CdnW6n0V-WJ?IeB_S>FW0?2PBNR|)S_r)o? ztxa9T_%mzw__!cIr~IKm$2zJv-@7Myb#2BZ z1k%_p%##pgy+hE}NREu1lmn=!K`%kHB-*7=xR9&BI$et~dSsnI|XcpsM~+GqsG4GS3dIa6W57_nN)^KL(*k zqeDZ_2TY{zZ@=<$LP0G9QFVb*IDERUqG!#_2G8q>y*hw7+h4uyW8Di;6M6`gns1!2 z_3W?yvaJsK00%0WJ}WfdkbgNUfS#k8*sS4=eLWI`lQ)gseH-wQ;^ZzTU|9=VG|Nr`z zjgYrjP@tBNqJLFI92Aio?tK^YRZT8|=HpM<=l<(kHA~Nh&l;stzO#&3c`5yk<5C{M zyqDN0B-g)ZHf0YVKP%LHoPd;tLjF%&4*q`^CUg4KaNAdliiG4rbvkMiHI zI0(?WZlD5`+}(@AZ(r?xOcl*e(W&XJ zCmn0aP};0F{5IgTJkC(4c3(;&a>5Aln7hUIwtmZTN{`K@ru0emj%|^XyOPbiSv3x4 zDB|z1Iqb+?*=lRVVmrSlw)RPWe9w7nrYCPVZphw1sb%W4t=9PRbw!06cW^pG_glsJ z(*6q?WfKkT$tfaw7mMXSU6h*~ksI>&j*PI|8y``P!x~jVQW5M6f;Kf=wWk$R)Ts17 zGbg9;#v2B=QtXLeIqOCnsY4aHxGjJwBA=_4qh5WOKH$wWBVrFf0aAgu%;gBxNk`4D zD(kMMb6rc!a!C*K`6#_>{=7=_4!AGL%oi8&^x;Dv5u++Hp99qzwOY`uh*Zl-PDtlEHg;r)cg*h^~Qsx5#!v;zkIkML!CN;!~*) z71Qtw84oG+Ll(ph$S5vhyD({h<0g~{=0h(~JadM&r>6%edZL&i{U{&|h4gw5$wmPZ zh4SVZG~D-O%%9gkc~#%arfZnPU-nA3F7sp>zZ1KH+E)?c$NA;Kgs@43QjD-eDmpXD3$Opn6_C;yiwUt{Wk|fi>NEny!W)5ZLo()#I0_l2CCv}m zCmhV&68baQ4Bx)3mcEECEgvo|`zhBWoqQ*IDB_PjxfGO5Y{YK_t5-7hHTPaRLY$PoI z32xOfm0hO5mIgLDsfN@|TXbh@h?LZhQ4L_t2K`)6c2l!JMpqYkj7%L^}58}Lh z;yDc-d(1?mtkB~x&cSGE#Y; z@5KlwhD_jHQkBpzMgpe`nG-T>hr9EG($I@ULIpDB|E@-83s!$%>izkrMdh}X0;P9q z>X?JxAp)?K8o~li-NEo0_vWkmKYF~`YQ1}9iDVJQ0xP#;qicKPDa#QuybKU$fbcI) zLyRPu+_*v3JQVpB6)1Gi*4A+V0mm3#6q}?&MkG`4SdI28ee=PZI5@K^y0*6d=X7&p zBO4VBV=1XZ=$BEh2JR*m7$jR5FCLY2Ul4|P1M??VPmG`c+q zG71UkRE)#$SZ-}(dZUF&C@S>BDtI&j}U=$d_bSHT=^fSAqnVY1? zi%gt*V(YTJCX=nb&ho9E-7QoL%>>pr zaNq{)0HhnUg0p7?0RTGMmPrNiP=;J!_>uHI(L)-AWD(7XJnq7bE^seAoE`Y}9{NzR zZ2?BV8m(dq2g~BI3^KB^NEf9cT~C%Mg^EDNg3$_lpw-#h*_{NHoWwhee~f&4%vzcl zq7f%Fcca_V_x{EHwErgft|`TpxHg;-go#F~Ke@TNXLLgQ={gxkqpLo+ef#q4h_{x; z{|pF+9G}Bx9y-fa+T835!{^@cE;b2Et)$A{+L-uf>{3bac4JYExNs$fPi$1Y4<+kw zP@d*6iRyd!oZsn~T7B?|WpU{%L3QGKO7{LVGT-?f({wkdw;l+r*&D@>s=&vu+eWRd z_FIvgGTWUvLH{^^Grzz@%tr0iX%VBRV_Or14ZjU>H`d;gjMXdpF?h9_C6s?eJ7O<# zyTlna?Zisr_&$mOuW5#(%3IE(XI+T2NW~~axsuGmaJLqH2 z@bOy%SKm*#a>z&LvCqs_y=edYdCq#2A^*H?zB-!4kyX;>regf z78nq2A8tSU%!h=-o7~)tT^8?nv{nU9C)1QZ*r9Y-)NuBoWywreqWJSa(kC)hiJJF# zvn8S}&+|XJ>esq<^-Ns8F0YunDiB*1;9eK~DDLE#kn=9-EAurkuYEQd)U4QQ)c)ku zLGgm?x;&enb2wA5J%1liQOYwx(7C)yyLb%`7#78NgPL}hEww9H+*b-1MUNKK1@CvLhU(D!5zsIaOdW?IK$7MTS_Wtl(`Gn-qhEe zt!?UArs_5my)DEsmKUm)^}0S=QNb^a;=$)93Q<%~vp?rY2x$mDr=%4VB*yb+Sj{hV zdl{TL*Q!6BW??3Fo5xeikzw15l_)!9h1Y)gEw#v1>IIPv0VRi>_U_5@-skO`q#9%? z<5f~$^W}o_d#)Ip;^1oz%=&fV_Z0K3_}rWTbuTyGpwyDtu*OXRnIX+z+2>*F+W9lz zD&w|`_+9%x{X0md;z9U&&!1ySlfoi8kGKLpyOO_k&W(6CNE@lW&uOnQf8RAgQ>DZ2 zdw)i)ZZAVcqhe05fyrU>u%Bit`x{j^)!cKoI4_av*=!v7gWyHN{9cs zY;sxuyZ7KJ-!EP|@?jHUUFX!|oBCNB9007(?&=Yqyh1B9B`>+{=j!&C@l_3z)wru# z3ASxv--DP9{$?LKQ#)Wa6!69jb-|u>-it^nn0jjcq0R*eIUqS};AQ-Cf{i^yrA~$~DWl@GB3*qKoh0 zuDbtugfi_BrN%J%T}Ywu zJ?waf^7wCG>AkM6J;mx~4jx?#xu{%SvguR8vbcD=pp0C#&05*d<0rP=KSNL6(8-r{ zD^-)H7mZCA)CTpN__PES;y7p5{tjQXT3}eXXma^SePun#JV^dE;y}G~MPBS&EIO=XI#rPm6`hdw;Rm0faiF~s&`DVp74*lADm#?4vbk%RpJF5n@^vrJF#+sbuHQ8u6 zc`hNY3u+I@x3)yFmHO}Uu0Mxyx~}BB-r*T}hhcs*eJb}Ar3iQLOlrhnGH(f)P+R~@7sc2TL-Camj+M=e9Cf}amowE9iE(z+t= zk3F}y3yM;(>ruV4#6Ucv;w38gn09^ZueMwCjK@H*-^S!t)em`h-XoD6n%i;IW(CjQ z-g8@gRou<@bu3Lul<&0FV=bbGWMMQKL-D)quoJu5@1OaUK8Hgzji)7RtygbrTHfcf z5j_6Az@N2<5@WkU-%iOLx!Z}|n3>;s!6ihT z!hxQsh>C)+8nz2SE1VL-a1RaufWP+}I$)>Y71dykqxtSfhBYEIH+xpLo zi5FB*Y=M4#omv3F5Cm_Qefq_iJmHGOIQcCEt80rOwPf}i^c{pNRx8JP$pi;KCIJh} zTU$vLll1BFJqqjPt*3;lbA1jdJT>fO<_zndo z9D(+Od%Es7TY?j;$onGQ!VB%zZtM)QLGB+zZvGu z{BN4geY+&hn+|B>YZU;(4gI|aT=J}+F^J4y*B;TYiDDGLE5^{waP!7H!H<1m9A(j!5qAZFO& zxya}nr?5WJlBUBDb@3jL*UBbT4MgE8j5w(;$jl#8P*RGA9I<2-eppMa^H^>F;)H~I zZ-_W~U}3cvv9@^B5gD%a)PzScdkhjZnW={cv4L<$qKG_fEr041q@ZATn}~n+bV?Oe z&Z}%#<7B3dY6^dlN9VaixTgY}nukf_T5&K{>rVDTsdT6qh-!U=nWi@l<(XCVxw333 z^n3C&1MW?=$ju2aa-kT=41R{?Pf?iL6a)k#R-Dhn`S()faMq_0@#2M?U9yJs=*h&( zL#>?|aorKYAj2aOV@OL9`bcLi^aKf!Ck@~|P{Y@$bNN<Itz6WD}dEt=g;Q++Q_aeIP0NetBNmn0vg+j&V4pet3ft0CLELn0(&m zQ0n&=wY1tPHCPB_p-5YsJfn_Pmuc3(M;<7_dB=Om2N3!{-vw%On#3uaS zf(M5@;0I@z)N+vL;mC7kkc>p!W(M6;uLwqr6eNG>cYbsaM-9q)2gVBe`iyZ6=+XSu zBemnvukU=~kc+o$b)gz)Ij2MYeD{9YST$+v!|u_kUevn|>iCu&QsEO*)ZrZgapMMq zf|ne<^}7~QZrsvtO}qlg^Kjz37$D40MMnxWkVEuRj0y4+c{YeVr3d|h5))ksdjtN5 z@g%H-ZL3Rl5HD~{cXcUj$MGANd`n77JS9nvJp)cmDm87ncDrS8gcd7Zp!3*moWbB9 zF6ljjFD!u0;nux|Y@%lLaw^&t6e#3^zE8Q~5%qGdMM*K1Fn&#?CHo+sUi5l+0i}vl za!~*)rPj|?E&cJz*9Hr3y&lFj6#vVIdrlH%(ppu|GG`}Q>S&t?X=_XV-63he2TQ>h zIU17JA~3QQNys}>z161#BYKg%dM08-^WPa=B_%_sC9X4rn-E;vK#+0o8{Z=X;rh}b z5>bIw&C11fAMPlHN>$qzV^KyJXZT7KGA|=y`aNjkx{ULvI>|-xWaWs*X5xz-R>kzx zju2#)8Y0$zt{qYs`la3!i{{~xFdoR`3uGx?Ptz_VzZ$@zMSzfl**5j}rA@ro`WiWW zWV1p`*GEjb?Y&9R!->uP8wtUrei7PxYRq77otH3wHUOlw({W~1 zx}n8qkN=Hyw%aW@_9}iI(^(B~B^65YKmlU&qyX35+v~e&w^HA;I_wtMJxK5E5|%WM zm>59&Sm<0|+eqLWPs)*u%*0lNKwUY~9nd73!&R{`cf)qGtKr<>`JPHB|o!EEEJ1}Mp(5k6@nA{nH9jbE;r zzkO2R{Q(nj}uajLBeS-B^EP|S&m zzIsFb)*~i(c<+{HEqsS!J+g(U<{vvsh&Ao}cS1Au#>!)#Tc?}Ve_r*g(WPIxtrv9C zE3v!w+PUE5^vcD1nn%^6?|idqJ4qYcD3mNA(zNsH`2(>HbWJ)>?<7W9s^TTfUBKFcpnFA-_xMOD6RLvuTMBj9x^>>fwr$ZHIKP zmswmCy{LGz;cF-Ty$Q2Tn}lrt?$DAr_@TU`CN0}GD*SFy&PTH=V)L?_PLG>Sxltc- z6tH0;Xl)<%Mg%>VuoD^?9m?R`@izQY?A7P*`cuLm>=sbE_jd1=g{2IxZ|Af$lol!; zkL&FobR1nftb7HmL^Dx`wePC%em_?B>+toSj*V(|&FxA~IUq{6O=CU(=MBFi#t?5t z?|;bxuisPliFRFjwJ$7-2sw8!W8f)G>rT^Vu9cgRm-LDq)<<6-GecrIc zx_ZQRER*?aVIOT+^R5}oeZ^*pUmgD3s0P?)+msn_vF5->djTEI*Bl8g(I?&hri5+W z!~Y#|m8XY}wZxClrm#^OE89i)EiYO=SO#*@CSo#2`HUK-qTj+Vmx{qY@|6bgI$ zrKS2F?-M)omGw=o1U0>6Y%_&k_T`>$<{F3Zgr8u4)}ZN^o$_JaP~<}vJ$^R(z)$_5 zoj-H8wl7wjek#F{eLe1Z$@8^?_JrNLo>Lu$l6{+((Vn2#jJU+?qQd_OO-Y~oYy!et?f4!Hd%+A2q{U_>+?}q`! zpM~`#(3oIRIuw5Sx~j2~)rE?`BV63vW-PM%D<1NUQKquWRBaMTmQw#>VypV4OL{+@ z$)N#hdE@dlNB1A{5Q_InnO|Q#3)|?OYzL-xhycfkS$iHo_;|H&lV(fXp!V;d>H~3C7#L3eP z{u?~DGiNtdFV}(Yfj#%GMX)cuzv)P+=}^ewbNW_k!F|=BjO84&Pp{uhHPG~auiq!S zmC@Vy79TT3YxY?k#fPpo7E&#db(O!yvu)LCCV4gPZTuqj%497fSHA9z-Dnz3cc#=k z$#kXk&L6^QJ|SgUlv?TM%6iz=vy`0#ZTy7Rzmz_;cpebY+8uW2`7;;g5Nmb^|0={TbS)(;W2wyw-xkJi zKT5f;_JhUyCiX4Q_paag6Z7FyjhgRJTzZP|yq&XQhhd<#qooy7`ux^zP*#0B^kPYByD-#cEPAJ@o!-aKYQ^ut+ZIX*yA;B|Drz_OSRC7C=V>lJq0-y@V&V4f4C{#IW_7NcfiG_B|DbBZ2>jb@AwYhe^PA^ zC-Fs8`{#yAf6#u7JN#8qt1sgk47V0|U8ov1%CVc$z0+jE$}WXVGTz&IMu$R!9@k^h z_PG0sak^xmiCtVXo%>v?;^fL1Q5V$5n)Oa%Jmz6O{re3v$A}zJ@ZrT1_^@x!KfAtL zpARKJjGsnM)XQ=;A>Od>XUWiW&C$H_alI=?EtaoVCjHBHH!j9K6)HwimCpmv;d&Em znL+|w2hFYG!cPeai7AHsJf3z=hvq-ic-lE2)k{smeS{E9{EuF|9&2TLDB-eS7XwO9 zO~v~>y-lmMzvNZg9Ra_Ge@c?gndbZzw`xkx3_DUj%Zh4c-aB1MocTMVc7V67NJ;S| z%?6ia=7G}J;~zf#(%aaygU&0sSDfcOF6RSdc>2}14d2tk@pxMjhpE07zsZbmdTDnzw+T zGV_KK>n6SeAz1}~rR!#URm-$WugQrX!9aTU@Oi&nPQ-014k>vj)tTg%@jW%i^YGU#?DU8^z7 z02bll-J9k%bIguOaWx?qduQ_&mpUGP1h?!^vdRhRE;+grT*bGPY?&(!JM-Jtey+&^w}mj3N$GQp}!5=`Xe z`{)faNujZG73J?KFO)`q%X}@O*462k*M6prv@iWiEqIv@<|XP3zYhk-&8j6F zz@NjWTCLMyOAAU%3!AGuMOT`=&9dNo{Caw%;{@(--agV%p4L#YT@tmXJthq@j*fwT zI;OWfOe%f>xr=5E%>v$3wrxe;nrXa^AU`R*T7B6&K&(Oxs};{PY> zR@&fJa==_f@ZVn5)^N|?VcinjZjP6iYGIB%Q>4_A*j40etKma)RwtiaqS<{6KOtkF z?MXV-S{vp!^M2_(NG5IW@R7-&;-4oY9h;IZHq)YOngk|w40O(p88!F_4*R)JHj$>E z6dk9k3r)XFGoDdG(PZ-c-mQT~&nW0W(L{CJ&V#bZ{93Vzo$lv3RV*}ZkV-JsvAs;^ zML=A5)zy#Q--6Lr^NbaB2u_&=5j1IWW0V$$xoV8OmACB9Dv)S>I8TQWvUmxRN`xQI zFD@T0x+qFiqc-f>d5nb)ZBQA}?QuY#G0gTt3v(8i{nU$d#ukQ7;Wy7<)!+JK_RbtB zD^2e1zjIoRDc z3qLX&Nh?`xYyX$)*X-W1v9-caURg#>)MCc^8; zRCnd4j(sJmqW3zk={na(rajWko*fLkGS9>1tNPH;S?lwC>iU`>s`X69Xu~fw7UNBL zkJtXiCN^Om)Ajqj3ez6F`IxA%KGNzM3Wg3BL`&l8(l}?@^^q2il}X?8mGelJ<}hpB zI&}A?Dzzw;^bHwd3Z2Jc9WS_!J?`o3X*!WR*tJ(h$(Zig{xpCZYwJl6Js;s%U%19c)II?q9T0Q?2rsAaCl7`2v3DUgf_u(b5$$EkEZ^H7k ze)2ucM+o_C1FbJ`84*6Z@3vFnF3 zZIcg!i{pcg;H=xvFXvzKjfQ1~VH5WPjMV<__i7&KctE5$`>}v|ZvrsPh);^#`v{xEuxsuR7T%&&T;m6U7+j z<0(3Mk|%!L$yBg9>yoD`sqHQP$Yu`O-nDopxd(nL^yS1XqR#D?>sEMSHAX7-*8{x? zdKCADx$jwi2^yE?t=v_ZgY@AzU=hy=YeSy+ziN(q zQpwD1w@ke#3O|BH6!(yd1IvM%MIVdx61AFN$mI6ShUQ?+cZj+mr?|D+l%_Q5EShk* zoP-LhX7P$56&xJc#Q|L~L<59i^UC!n zrDlta%fTXRAh_tdUf!+BzI%LuCB``hdXSeuoLTWhi^>JIoYz#w_53*}&dyt`T>5q8 z3EGg+D>M_!&rIp%7R$YBAalFJgWf`ef#YXZn^cxc_rXonPVX!_9Pe3jXqCx%;I8ah z*6zc3QHZ<($7?qev_S!On(UN$+wQ)*JuodbScde=^YF2J*CJr3eg4>`o2 z{ImpF2%0+B-Y+i~f-4BHxv+=y+X{*n42@EWPmL7okMEc^%*F~52he>z^JTkGbSyB&i^FGpy8>~8N@{7>U(nwFi|Ci(E*K)NGU^Q(TxI|?(gI1n~REoSLj zGWoptou5irDF^Ve{e^sk2md|-jZ2|BS}R-p*TMwo_E2Z(ZPu^8I$(hMxPZhWL1LVf zq$GI@Xp=#~q39t)h*UOtH=8kM@x%8u#!9rrF4pNsw)OouS$foEtD6esnw80um{KSc zCQgMOA+UhOIFt@5G3*o&7PEIcJD+roCh>Dt8!-Tew&AiUz($!!s}(x{o&Rx?Kxs}c zWCfOOx1m^hox#7BZ`$_42edyabsnIZ$ix7wbV73A)E&9W*;VAu?r@kG?9W1-g_kU$ z6C5~{NZU5U7b-?J@(8k2NzRT9Z*Q&sHs5_ce0T72L)lz^tHZ6|1W)Jo&@&YG*=M`+ z`j2~;Y^&-#h(>J}ky$iqk6y5f38d`VrW~C7Y{f%4#!+heHSUVQ?W%#En%xp5m8JSF z=+IG+MH)TBQu=nE=&Sbo$zQJ#32i1>e@;tO-yx;W89w)CXn6b1>R#?Ewz(e`!o7Pt zmv?Y1uauC8%E2%M!<3c(re62W4vEFy9_IyZ8KHhXN~`B6~KDg-9KzV0K2*1)%5-J9I8yIuWT&Lf?RTl$Jq@bR;vsn_D?m9+@+ z5Gx}F)8?o9?!7iN8gN;ceU@DhXEi|@;8?h08Wmfa&iYc&31n?M0C$EQ_~_83l<;3y zn}BQ0tn^vjphfHdgtz>!{H&PuT6_o{p!T3anMj5{2MnY!F}?fbljI zXulyl2WSCe)xJ!DKNRRb$bi2P$X*a`;`pejM7BoW?LJja4EEg{f#8VHO55Y7x(FA@w;h-xT@3vk+Ot=qrocGp|?5H175 z0H*_P%^3*1MW?e3?+uh&*HB*X^a;_7`4#WfM)ZJ{*MP{IAV4t#ppy<1VgS08Y>gm? zy+C(&F>q|&0{;&d<2-HApmYJ0mm(- z1@!AELk@iUh`bFEEp~KtU>G9zL!7%PvHqK<)Q>ACV+|a{U?#pMdPpx` z+>R@diFpc~uZY|ObAe1+2uHjcR)9RNojpiei$}hAXjtFJhrr9rJM;N7B?jEBH-PIj zcp71nycQuJ^adme1A|fmc=4NkpU1zD>gY_1t~fSM-03^-Qd$vpbJ9Tbxx{eMn8X{%24rEf(!>*bO(9E*M1RsHG_EpvP?Pn%mh>OUl;5+ z)#)7Ymm_)b(_h;31`4AcHS-5WYDdFtA9w$){ypOK_FLX?#q+j5zu$WQYVSYM>EU3> z{fN>=-@t&9m6ih0a#f$7V8@W=AQGm#=MNDD#IJ)Wq9M5u_|5oGhX7jj6gY4IG4o_( zE&Z_3ixC%C^WY|N*Yb3I#zWkM=~q-#SSSeO%s^p;U_>ZmuCLDs7>=|`gLnNiQKT7s z_@FXfKmzB!R$zGHGSa=_m zk+E6(3}5(Vr=wrVO^(XYI5jdJ$h4C4T9pgr+f`C~9N4cm_?B46$Ls1J5PeR;hkY5-DX^W(x!SoZ4?_4Pq@ntF%B8DdQ3la%h zl++DonhbJ**?)d2>}3uLhCa;Qy2w9emFPFDRzB!V8G2NvayQ6BBgc&RT$qZW#2cB7NjP7JnpKvEip1c?n_9v;UTZCeB$SkPO9Qa;&ghZd}0speOl^H z+7oK&u8;{Fm(fws!C@W~*5<_g{4>Wwm(taIUYcb$00t6CajiMkP(| z%RHh(l|v8zd{6!6VE@Kfh^$&CQ;CUOk-%47xwl#O>y^nPYw?q1Y=5%O{iS()koIn- zMy~&wEE{Xit)Mod11EOC9I*4iwnq&c69&}PK=bYjSiPjdsuz3`PK}DdFi-(uP{h-Y zl3ZbzWO#!j*08riL~*X>t#df!Hb7P=0G@6kIA(7z74WQ~1PIy(p9hos>VxlVy|H1H zm=MRUuU}I8}pS<_6FU| z`86+Yre3EXBr*@H$yV+?cV-W@mC?N;wYXn(Qd3>_lTY6~Z6EyW=F`Ut)hTHE*vudF zvn3s1O&Tl}%sgXm=Q1*i15CCo)5c;!tY%2|DBr2fL8F`)iyv9K+MM8h>8s*<`3fZ#$l@p9 zY-`K;^BVX64%{39b9~$u&e=z2zqW=VXM#&8%q+EL1{*?Lx_G z<=fc_RNM@o2wVf>&4G)@%X}N32oP&-uv5NM*lUp@nbH5U*7)q>!I;VegPEC)jq>3XAPa1M9~O z2R-F;rh^X9z)w(Ag`jHt12u{!<^Oy(6rP2=-2Z&~rf3^%?iiy)=}=-EbZ@Cxf&z^x zIhUa|Erka9S#_UYiZ06%-H7x;bx7R04OWR^dr$8Fa zFv|~(+aH<~i(W5cSK?wNrUf=^-;D!6PBr<)7F{*EK??D2$wcr6ytf6i2ryDdUMeWx zgCq-gLihMHr2CT7U_@!q_PbMb0QfS<4}HX9jtRX&-!+|GqF+oA1!FWuiWz=s1=*JF zM{J(m0j(udoLZO7f*=6Flkxc-Bo2E)$Kbyr`_MDb^RFprz39x2iObNv48MHUV{Sn3 zw7qblqSV3WUoXWaZ9i?CCR~G2ukku8-&Mx3@%7qDgCxF2A`u_1J}cx$qes-{b*N2& zOFsu1=0iyCvYnnr!)I@Mq(@WyXqn!H5Cm=Dc<(5s!tAWX7^NK`s}1BmN(Y0|cR3`7 zW21=9*ml(I27TC*Zy7KMS(N}wT+Gnzp%;v63_K`q&;ssmeNaxtdm{E8rf- z6UczvUpXqm$cZv}6eReu@4VN{SW!HDKbh-Nz%#l}2)m|D1m|w0(GsOt!Ht>s@!;!H zLsGJ|5oem@D8cBb<>~$yhP85tv~6YicFX~?1Kji`JSk$ zqp1-mBx!E0TyqhPT^9ThQW-<?@zu*E6`ZFpjhR@dLWLYJ!H*@a)e6m~O}9KOVf-iku-Z zjVt|Yl|0&7yidbYFF4g!=B!>UVf!xz09_+*yF953Qvk`tJNLe!u@mXBFxX;9T^x%D zyc4zHI=~ZL*Ph>PFT3D`E@cQ>Y3_e3NWelI3BWA*1Y`Ni9E4el+h8A3&zEv!e^K5l zgOqXu5EM5a=}@4rp~6t+E4+XBWq+9HQ4-(0S>{wX0HM*ck_nDlJu%IQFg@u!lOD4> z_p)5pYda7`Rjli3BB$B$8Bs5nZp>Ku5^ zP}V#mi6gnhqZTupIK<+J#rotQG12kATRS2qV&p`NGu8ua%)J~{!Mdu{M%Dt-UdVeo zAGt{RM805TmnPvOw zvFm7Mu`CCM(8F-xXX~?YBhKwCvXdQuQ}R!15!N=3+P>Ai1wj>CKq{y@KpJ)XWm_Z6 zic%mQTY{9}>A4a3R}{Fu&_E!pSHMxRvL5|q>nFs^aBL)r$v<^$@|&S^D1cZHc!_63 z0F?P}uHbFv2QCTpRPFT>P@lrhWTJ-?WUuA9;1xuxY7P3!-F4jEL_uEq5OWvLOLH6S zI6Wqg=77$Oya(%lw%KFJus#VlwvyT{Y)bHGriEGqPhikjW~4OBW;WjB?~UK75VDBF{O#6=N=Xgv|ZKRPENv98+hl`)JNa-+wV=T73z7J7`0suE~4H3 zW7(ecZv5Vm08c(WeHy3<59w)m;gW&O=&hKmAW0t_@pL#@nD%C#Qjy7G-j;+4_f|@( zd~2bsZTgyFwL$p$&#CJ_Ho;^WtE}my%5C_7b3f_Ba&W)cscR*c8*Q)XQU%nsvJJ>E zqn92}mq&%S%OkFmw3hHXD^yPZvg0alii(tT}#{%VVsnN|!BN zT1Dk>yS7a4)PCvC%lzs(CpqlWK23?3WjqQ{s%PSt0;#9KiVL8D*^rjKBHE@vdBmj9 z;pXQ<7w%0xzhqV)A^`B^r>5V&jbLZbo+;0(dtyl=ASsz0bQB9rrj-ztdGJtJ`*AnO zxsWdG<-vo>>38BJxxV=izOK=7=3rCHvW!hpIHU8x0v16s#H(YSQzVo*`8%&Ym$N!{ z#4TPnD6nE|m?_mXt?k*6Su@`?o&zeeP+4-zj0eD0j?9H5nVcy4;JD)t$fit6F~ z_3zYy+-#9x-&Ld!uKewczHQmT)7sNJS9AB!%IEJB^|{H%u<{hzxG%TmEr3J-4bb&B z#i-=6|4;S89QF7#VZ$Ps?vF~BFOBTAcBE>Je|A@{-7ltnK(=`z;O4L8E^#LFowaa_oXS_Ftae|Mc#T()4HT%Wni#kHX-PjX*f%^NSx=C`yo zFT6bBR(sA!ISm$sOGk!5?IzCS}(5Q5bO_ zP~pSB_V9PG&#yG0ki>c|tyYIWSe_9yxv$LtnVj!(nMth#G}?Ndohvd2^Y?{*?zgF} z+LXkP8l0-_O3Wc zmlZyoGl=5GnDcGtOafH+&-vWqnM_K;4n?v#s3?QB>sWc0!8uyq8ac zc42{yPfun=sii%L)Ql8}3)q++)}Bv>1mBpyKU7OhpBgbKWo<0)26Zh~U$PRn7<|Lt znzj}_k*ZLmx$^7AHg0+M+4VkF(wliFs5j5mjd_Tuzdq6=dzdDbUu{HlS8zcCb17_U zYOinQyh*94cB|bXBxI-Bqqdgw>p~Rn>d&^R0a}ITAlg5FUj1%J^rt#n{!9$!j#&6r zQXvT~9qLIwb?*MAb+nbM&yGA$+Gdx&ks!UQ7XW7qh1uQg8xuR5__uf{|AAlg zxaC2IzVF{rUex>yr&a;!gG&|BAL>5n{8-9PY=|wc5TBf!fpR7EA$kq4042x|7MXT} z4=^-*H@49AJW{{Q+!skdQ9ZF(lBD7!WyN#!=&X|o@55gUS<@VUU5e(m7@QZy%neLj z^bcin(1!)}Eq}#MTwh0qMrsf6Hqd6t2$NkkNYGjsJ&gjDYfIb*wZ6Fx3RZozc@dKf z{@!Bhua;K0!@is^kLG2-(NIPKzu) zn@e&g<@b2@oVJ{_hT)&@mK)+M++UAdyE6MI2d+&O=#fe=VfG%`SlAW|qDO8J>RC+69Voyy0_{n>flW%peg1P4^dz6YOavYg z1528F+wRE>jes5nT#Ne1k2f@SXezSS)_9u2zGhrmYNfh}A8sC_`)9xqaA4tWMDLP+ z`7wonF@?&tp3yG{GgcVk`!O)12-=AuwEC;rheMC<{y8 z)~u^PU@?x;+5g>W`|^8ucBDEMMr;p8GhX4I=@BH{n5}uc(AJm4f)fFMBHs22=+4d{ zg|j0FVnQLWdfZm3nD%8&6A>b|x^@$XuA_K`2S<$B!ev|a zK0auL2Bcz4^E8(4$dS-eT?e5QK;jP2vlLD>;gtNitL5dP5%-}+qA^%y6iYk@K}Prh z5@?1l|Hx78C3DS>D{<+}B_)=by6$@Jr^((1@5~%_SNyc*^+#BO5jrH5@Oe~NZF9}B z>*5CA$k{@f=s1N)(icvRZI@TYk7r69fQdyUM-3L;iqTr#rZ9T{RCmF$nA7L%D{kl0 zy*ga1XtJ-epterDZ@3(jtH4pR-y9|u8yQTV_Qmj(ic)8^8o#nZ-*K4WxxHYuJE}}v zZ_8mBWC_Bqpw@eHPI@wC2r&1!Z!|fKG$Ff@hVks$`?{NAnO)|7G7YcywmsFQ0*>{P zK_NiJ1JTFfuLJ^fojU`+tRv%j2(HX0kw0l}o{{$vIT5fHIy7Jc5WM10IH`{1`hNRn zwBflACghDxgZi;~3mohxp^JAfb`;r}_t{9GHg!;&e^Ua#%AK++(;LXw#rC{zb7ax4 z-Q?*k-J7Vm_&&|)nI1c=`HY&L-}(QMe#}vIeghoS0Wc3FKXM@CID3P z7!GW*g3JQY0U)bm99tQ=GRuve7`e2$PSD5z7UF9dE zyQCf8Nt`YC1a&bN#&GD#S|2y)A3he1By3ddp`iC7yU6#+$g#Ozs3cM((_h&?U-8(6 z?uB|lTS*Z0r`lReJ3T!y#F#=GdGIjT0btK6RKK1axGd-!8*7@rXRE}^HSDXZ?ikzsL7w^Tc)hzzA%F?SAU7@xtuewm;KQ44$zh|+Bkx?5w7X|&oZMJVnt$m^6rnyvd%TK< zdS*&F=HCtG*i&I&mEwzVP={yA>ISXz!@{%Il$Q^+mGp}}+?SK%IzLO|sd=(k!i}nB zpkn2BdZQw~QVX^oqHV-csv~Cfild3S5gpMZdWOOZs)8Crn|3?`djso=8SlomW@i~C znaq!03+Nc=6khCo)j9LDW)u?WzBREovp{3Ax8BWEjv2?|04CFVP3TKB_7 zJV>(W36hdpGQ-><`(bIiQDo_mL{=%V%E(x@(&Gy<(QHI4P@f>!4?pPX!;uYSO8<@e z#Q1n-X68_+7K!d&$;MzV{1<_ebs;bmAhZWifwn<(A!w-O;qfRq2SQ`00I3|{!jx52fs&OhFKCUc@}e)|T%Ux> zsDLklYNha37pl$xb=m5~i#6bI?3kYBhjPaH&1Yg_;-FFjj;-YXOvQ39?+iph5zGzM z6#z2!dq4n>O3VPTD;}{sKm{8_linTxpb{E@u4O}^8$g|OL6Lz9fD1xO(oLROsM`wB zL0+grgaBl~P61`A;(=&4{0|W8plY|k_9s=K4s{?_{bgP75(HpYg!&ep0E8H=aMj&e z1)3DRk`fyba2P_E=jrwJ3kaiyEdzqW6+*R8rNj_WP9zvqcL8mYL+F%I?c8iUNDiF) zf~ox&hU$hwF^>o!sw6Y-!9c|95Q2JraUEzj5swL=cF3Rr6BJeG1mp;+whF8c@xC9J zacrXCEjX6k;5|nPoYS4$0}*q|UaMX#3q&nnMYk@UgNQEW;ss#n zMwBRkCPbVQXKUW8Etc4o^8@X90>I!%F(4@?3keB9fv+}a1zhrh%9KV7U&#wag|JYN zY}?znZ)Xk{S(Y$`p$ebh2w6ij-fN0EN9_capsXHZpO;27%pgHjsg_bZC8m!TFc&d# zX8(&VXfO}BXaVC91 z5HG<9=eC}H&*&%)5krC&sQ||Z@n}IIArfFfjY>`32h1=h1EwHu!l@aohAO2(Oqd&@ z@g0CA`-9k(W}q}6;!gzb65w9LurhG2Pd`&d(PTtSIy_viI-o~ zpraRqij62Rfr1p}W2I0OJEX9vC?5zkEW}y;Ax10@RIxk15z8QYGX#f$9fiz1Z|@+` z*a5dAJMhE?&%ZU)v*ulvf+@9zC@!IrOY>@u22}C635dU0D2E7q*$0+4V`9u0!1>d6 zs_4N3yo3ZTf?}dpqcriAoN6=?F;Z^;#fwUc19jbLm~e2K>sb>aALZX3fh6_6uTlPA wD;_@n?-w}#|6l&^?zsOi<>deGrTtg)sIh_N6$K7U4E`AFAJr? Numbers given above already include the calculations from CBFS regions +> presented below + +### FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x4b6000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| RW_MRC_CACHE | 0x1000000 | 0x10000 | data | +| FMAP | 0x1010000 | 0x200 | data | +| SI_DEVICEEXT2 | 0x4b7000 | 0xb49000 | empty | + +### CBFS COREBOOT + +* CBFS size: 16711168 +* Number of files: 20 +* Open-source files size: 9985278 (0x985cfe) +* Closed-source files size: 1705681 (0x1a06d1) +* Data size: 36329 (0x8de9) +* Empty size: 4983880 (0x4c0c48) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 9616058 | none | open-source | +| fallback/romstage | stage | 94168 | none | open-source | +| fallback/ramstage | stage | 171972 | LZMA | open-source | +| fallback/dsdt.aml | raw | 23248 | none | open-source | +| fallback/postcar | stage | 42968 | none | open-source | +| bootblock | bootblock | 36864 | none | open-source | +| cpu_microcode_blob.bin | microcode | 569344 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 333763 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 32 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 4932 | LZMA | data | +| revision | raw | 867 | none | data | +| build_info | raw | 96 | none | data | +| bootsplash.jpg | bootsplash | 26784 | none | data | +| vbt.bin | raw | 1290 | LZMA | data | +| cmos_layout.bin | cmos_layout | 800 | none | data | +| (empty) | null | 100 | none | empty | +| (empty) | null | 4983780 | none | empty | + + ## v1.8.0 Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom From 62a32bf89fec121a6cf35f520d0df3a674a2f5b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Mon, 11 May 2026 15:23:10 +0200 Subject: [PATCH 7/7] ADL: precommit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/novacustom_nv4x_adl/openness-score.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/variants/novacustom_nv4x_adl/openness-score.md b/docs/variants/novacustom_nv4x_adl/openness-score.md index b41401bbb8..9cdbf155d7 100644 --- a/docs/variants/novacustom_nv4x_adl/openness-score.md +++ b/docs/variants/novacustom_nv4x_adl/openness-score.md @@ -72,7 +72,6 @@ Closed-source code percentage: **40.0%** | (empty) | null | 100 | none | empty | | (empty) | null | 4983780 | none | empty | - ## v1.8.0 Openness Score for novacustom_nv4x_adl_v1.8.0_btg_prod.rom