From 18e3f6f7f2649f1373b03bc9e77f674b7bc7c798 Mon Sep 17 00:00:00 2001 From: rjl <98n9@163.com> Date: Fri, 20 Mar 2026 17:05:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E4=BC=98=E5=8C=96=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F=E5=BC=80=E5=8F=91=E4=BD=93=E9=AA=8C=E5=B9=B6=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=94=A8=E6=88=B7=E7=95=8C=E9=9D=A2=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增大屏开发调试指南文档,包含设计基准、调试方法和字体配置说明 - 添加字体大小预览工具,支持多分辨率视口切换(2048x1080/1920x1080/3840x2160) - 新增字体资源 README 文档和团队标题背景图片 - 优化用户界面背景图片(title-bg3.png、title-bg4.png) - 更新 ActionButton 和 CompetitionLayout 组件样式 - 完善用户模块各页面布局(分析、封面、抽签、游戏、规则、团队) - 优化题目渲染器组件和成绩详情页面 - 更新 UnoCSS 配置以支持大屏字体缩放方案 --- apps/admin/LARGE_SCREEN_DEV_GUIDE.md | 110 ++++++++ apps/admin/font-size-preview.html | 239 ++++++++++++++++++ apps/admin/src/assets/fonts/README.md | 33 +++ .../src/assets/imgs/user/team-title-bg.png | Bin 0 -> 180127 bytes apps/admin/src/assets/imgs/user/title-bg3.png | Bin 157070 -> 245865 bytes apps/admin/src/assets/imgs/user/title-bg4.png | Bin 313379 -> 546184 bytes .../components/custom/user/ActionButton.vue | 80 +++--- .../custom/user/CompetitionLayout.vue | 2 +- .../views/results/results-detail/index.vue | 28 +- apps/admin/src/views/user/analysis/index.vue | 25 +- apps/admin/src/views/user/cover/index.vue | 7 +- apps/admin/src/views/user/draw/index.vue | 2 +- apps/admin/src/views/user/game/index.vue | 8 +- .../views/user/modules/QuestionRenderer.vue | 128 ++++++++-- apps/admin/src/views/user/rules/index.vue | 2 +- apps/admin/src/views/user/teams/index.vue | 28 +- .../question-importer/store/成语写一写 1.json | 28 +- uno.config.ts | 31 +++ 18 files changed, 645 insertions(+), 106 deletions(-) create mode 100644 apps/admin/LARGE_SCREEN_DEV_GUIDE.md create mode 100644 apps/admin/font-size-preview.html create mode 100644 apps/admin/src/assets/fonts/README.md create mode 100644 apps/admin/src/assets/imgs/user/team-title-bg.png diff --git a/apps/admin/LARGE_SCREEN_DEV_GUIDE.md b/apps/admin/LARGE_SCREEN_DEV_GUIDE.md new file mode 100644 index 0000000..60b74b7 --- /dev/null +++ b/apps/admin/LARGE_SCREEN_DEV_GUIDE.md @@ -0,0 +1,110 @@ +# 大屏开发调试指南 + +## 项目配置 + +- **设计基准**: 2048 x 1080 +- **缩放方案**: VScaleScreen +- **目标设备**: 超级大屏(投屏显示) + +## 开发调试方法 + +### 方法 1: Chrome DevTools 自定义设备(推荐) + +1. 打开 Chrome DevTools (F12) +2. 点击设备模拟按钮 (Ctrl/Cmd + Shift + M) +3. 在设备下拉菜单中选择 "Edit..." +4. 添加自定义设备: + - Device Name: `Large Screen 2048x1080` + - Width: `2048` + - Height: `1080` + - Device pixel ratio: `1` + - User agent string: (保持默认) +5. 选择刚创建的设备进行调试 + +### 方法 2: 浏览器窗口缩放 + +1. 将浏览器窗口调整为合适大小 +2. 使用浏览器缩放功能 (Ctrl/Cmd + 鼠标滚轮) +3. 调整到能看到完整布局的比例 + +### 方法 3: 响应式设计模式 + +在 DevTools 中: +1. 选择 "Responsive" 模式 +2. 手动输入宽度: `2048` +3. 手动输入高度: `1080` + +## 字体大小说明 + +当前字体配置已针对 2048x1080 优化: + +| Class | 实际大小 | 适用场景 | +|-------|---------|---------| +| `text-xs` | 12.8px | 辅助文字、标注 | +| `text-sm` | 15.2px | 次要文字 | +| `text-base` | 17.6px | 正文 | +| `text-lg` | 20.8px | 小标题 | +| `text-xl` | 24px | 中标题 | +| `text-2xl` | 28px | 大标题 | +| `text-3xl` | 33.6px | 特大标题 | +| `text-4xl` | 40px | 主标题 | +| `text-5xl` | 51.2px | 超大标题 | +| `text-6xl` | 64px | 巨大标题 | + +## VScaleScreen 工作原理 + +``` +设计基准 (2048x1080) + ↓ +VScaleScreen 自动缩放 + ↓ +实际显示设备 (任意分辨率) +``` + +**示例:** +- 在 1920x1080 屏幕上:内容会略微缩小 +- 在 3840x2160 (4K) 屏幕上:内容会放大约 2 倍 +- 在更大的 LED 屏上:内容会等比例放大 + +## 常见问题 + +### Q: 在我的电脑上字体看起来太大了? +A: 这是正常的!因为你的设计基准 (2048x1080) 比普通电脑屏幕大。请使用上述方法在正确的分辨率下调试。 + +### Q: 如何确认实际大屏的分辨率? +A: +1. 询问现场技术人员 +2. 常见大屏分辨率: + - 1920x1080 (Full HD) + - 2560x1440 (2K) + - 3840x2160 (4K) + - 7680x4320 (8K) + +### Q: 需要修改 VScaleScreen 的尺寸吗? +A: 通常不需要。保持 2048x1080 即可,VScaleScreen 会自动适配。除非: +- 实际大屏比例不是 16:9 +- 需要针对特定分辨率优化 + +### Q: 如何微调字体大小? +A: 修改 `uno.config.ts` 中的 `fontSize` 配置,然后重启开发服务器。 + +## 测试清单 + +部署前请确认: + +- [ ] 在 2048x1080 分辨率下所有文字清晰可读 +- [ ] 所有布局元素位置正确 +- [ ] 动画效果流畅 +- [ ] 图片清晰不模糊(建议使用 2x 或 3x 分辨率的图片) +- [ ] 在实际大屏上测试(如果可能) + +## 性能优化建议 + +1. **图片资源**: 使用 WebP 格式,准备高分辨率版本 +2. **字体**: 使用 Web Font,确保在大屏上渲染清晰 +3. **动画**: 使用 CSS transform 和 opacity,避免触发重排 +4. **测试**: 在接近实际大屏的设备上测试性能 + +## 联系与支持 + +如有问题,请联系开发团队。 diff --git a/apps/admin/font-size-preview.html b/apps/admin/font-size-preview.html new file mode 100644 index 0000000..ced8a93 --- /dev/null +++ b/apps/admin/font-size-preview.html @@ -0,0 +1,239 @@ + + +
+ + +yJ?v ze*JO%OcWsB&H;RVAJ-R(HuFPUBL3Thx Nq YQVD5VK$cnCx^!c-F4<4m0PXOpR;u137CF+ gvf1TZ=l J>8`#aR?eUcv8Sr8pdbXz~qF#W{L z0&3qj=p7%EppRtY&lG^4`J@L)8xJa8C6JDP2u+3Gm~VD!X7?ET72eR~gZH*ye*YX* zml|ehKu@uQx0)dAlQ4ywtBV>!=tyON=JWj+n~8*XdVeOEKSd>pbFi`ss8ob^+Ss8V zZX_7j7l@DdyN`D|S+~YrJOkx=Kg6HVF@4-~rzM|j`2WV{_QUazBkAJcAb%_Zb>%C& z1N^G3>&2d7S4Y0OXyH{#4MmxxT-mO&kd{el?*)Q=-;MY8eH_OU;s4$JvsF(zs%{^c zDe#CWqmRg=0MINgl7saEg@Ag->hSc1dVaS<2o0b22hm3Zh9CctndZij6Ge9eY{Y{* z{p~7DIQO!07w$w#Aii)V-&;iDu7fkDF*}Feq sW!j)Jr)q%?WrD~&G8<5?B1 zEAN$r&qxfCy$0_xft+=O8wWn0ZSID9s~+`74yvCC1m_zLG7qxgpR)AL5cbieqO5Cp zWgR{ZMeT4DdmE+#C9fBfF-t#la35peD*aLF6X}!u%VT*ezD?Kb8(%zRPBz=F1YgyC z{GHr7TC2}7mWb)O=)*-cnVU90d4;6cM9z#CT;%ECU2_mVd_;aEN};!2sC9ZF*2wY0 zIQwR$A`uf_;I|CCKM+t@{CEPwl#sQ-gS`(HT3*YAw_6$~EU>4tIs%loJfLo_HDVkx z2A4WNNS2#iz}}aD!D;R*+z&@>L(Y*PHAyV%jIk|$l&9U}lr<=?w^?D;mZ=ut19jj} zg{$LUgU_m2(LI`scqy|$tx*p8%L7U_tr#}t^+4wxcx8sI_@T)!zMsiI^EHnXu8pR3 zz@Qki4z47C;^Ldy&;5CRNO}2)c?!6=1}(2$=H#vRqa&8ccx<1Vx|WdGP?wgILFkq! zyff9>T*h*qkjf>V>v7H_wia{NN77cfim_ a4?lM>Y4@7O6 zhUh%R9>wxr= 90$#_0&oLV#G1)$$vXYJ4!K%Bs24LC)GP0p z)Xu9*vr_QWyV0<`@^b9brah#ESviUu*Ltz-%^8|$w*4c~qJ Bq1(b?wn|`a v^kbk<~W!D3}>dv`0DjNiTXt zx;?ftvH2g>U+2df{MO$(2)kys>B`7o*G{~16*=+US%l(*Kku!o-QHNZ@D08UR^zc{ zsTLf0(d?K@ed3kO>@w>81FX^&ljUr)+6G#zu9EqyP8^l?K<~ehVt&r=$}QJWEc|xv z^=pZ@g+ir}`(`*#pYO5m M5xEB^uqx__NN$z#q|O$S@Z8`d0=;=c@DD4EGXw zm#W04FZMsnMdcRrBfFc=52;N;n#ZECuE)SLP5nRi%<9rrr-1Y&!K QT(6LW)yAEQwHAB&4_(12&K*&Kta**-}9T!Y%J a^YNwW!Y#L<#|q7)aP{`#HPh@qSZmcw5AIh;Xv3FWN~u`{u-vE8#Z zC!YR <=k^iuUZ6PG(w*YamB2fYbh25qyQ35c zo!~})!XRIamXm$oEqFl1J-7qLq-^}EZr}1|C86)3;nmFP)4W@5_>n{i$h_BOrIrpk z7<(+5SUdW*-hWWLM^i+O2$E)nO&N;C*kD2ZQRoMr6S F{lOhROoyM3v`eWMUUETLy^Aj3zt?^ z;gn4RSeJ6Le*pZ{X{m!#h}Cl+#tHUwvcxI2$m#V(y{4$-v_x-u<%dgp&*V8D{?oKN z2NPqkI`{Lv;dPFfExOljYmrj+CP@nN77fEd9hM_5E) YY%Bw3pB zlOkrSJV)qoYBW|5;;)Q}W5Q^ISZby3EjpTgQnw&qAQ(iP5w~=N(Mj4|)>1PwEOEJU z;cl~a^Pl&^Ih8H?Fe-Vz%oB4~y%FzRhBFGurOTWpA{e|oP1W>YFmoXVc6`F1C&vt} zZth25m*yqpOP&fz1-H%U1;>U5cjGyf4;pzM{9AIHda-D5vP> @cbckAI*0Gb)vriMLOd6SIVDAF7kS*Nb4d#5Gdd0<#^#yyZPDm4)&>kT(SRef~ zsGIe0EMc)#3ka^YF#Q+!CwQ_N?G+O2zaQ+#uM$^p8x_f$4t#IJmH9M2A@`#qq#3{@ z;l8X96bM{OR64aiqRFep39`%jqmv_+0MeLN+sqOOSBsd(bKb~_BOR@hbB~NO1DP2& z8&wwY5)-PPHL9A;3JcTT?LQYSFpH`88w(EHpwsC%%HIihwr^CU2Uyje7Jw!P0#O?` z%qgJ 8r&{&(rZJJ@|hbn9x*R(x<2>OPTn~9A=f- zdC0x;><{p#nm=!I)ln6H1Sb;uj?Q=8lYh)qyjF@<3J{BK8Pnk !hd@@LK^rZiII!k~h!GJ-}<~+5h1BiL1{|Nih$0zn!l{BY&OLgkF7W35Wt*T-f z%6OUE>`2$W%F*qjYT#J6GXC{$f 0ibazCf3kPn>DZ*wiXZC&T& zc5C }?$(Kds?IPS-k!#>7hkoCecdgeTYXPbk8aZx2 z5|{M0USzC=5c;;e&j>V!X>}T`n24V1n=vRu@OBu638GxVpf69r*-^>2I?P@|gmxHf zE}ix467C ;HXCK zRs6Cw4DqwT@2iG#P1F96B*4JkoU1T=CJ=@w{$gHp_{{nBGEq`3 5Gf3uUw(Zd&$oE6vmx bp6c zGS_z<(?LUv( zbu?*YzJo;C^|e=81x`5*`kJ=X@8-aQTpWp(ueicJ*m<+m(6E2eyCk7I9QY0I)D`qT zfZyff&Gr(PowN%=M>W;$jMA&`D%}OEwUMwc%##%wQp<9zdGjJP{NQrW{)J-0MfN?d zk`ioiL$wQ+vDqwqm+M4S!vc*|T7Io|uYbvVDXixCw)PPD+l137NKHO?_@G)UC&1=b z`$rTfPrj%bhn@hcwhycIy`@%wEp72OYJ;an1KZw0CIo9nm&{Z2)~^w_&9B9=_^&x( z`FItYif{5M84vR4*(W&7 1uK1$ zCd3Q{N$IO?(DHX_6o1`NxYAr>H2yW U5@Tv;2z=FE;*qim_#KZV8pK%u+w~YNY~#xdTQI_GLo$g3Fr_h?}VWt)#A55 zNe}LA%id=7NZ0FE_!OUXd0VjPbN|5cU%oo3>Bql|CuB01BBYw3)6{AHAx$XC3FKnC zU=WXgy%BCh $r@5Q>oc!2`=9Y@Tp@s3D zf~4T_kMqeI5BQJiPLfICuLPY>(uqEbE`oV{4cgA9<{TO<{tdL@%?t1dm3`d7XWlj7 zdDPT##YdJ^mBuLSQbI1p#?s7I+Jp#It%ajs_N9)9MJPr?T)FUloF~crdDN`|zM~$O zq $SS*~nX7^!Zn7+N1oEt2Hro#F(NVB9Jno#l^TC=h zlN1%s-A#L+5E7 ;YGlr`njM`4YG<+kcxYzMek)tb zNzeYx^W+{^c4p$M ?ITzC0@zY$PppU zlEtJl0mD;Y`WGd465iW-58FnPe6YqzMxlKk0Yr8H;s_Gq$7U<({UuG8=1}$iS)l@m z$!v4`MO6uI;Sl6Kv0h*p?BBm7B$&d|bxg5ePfj@od_gt3wzD`(i6UqtfJlQRPue)& zK@N;(slnb)s`};~Kui#1RH)7RBo3j_-izQ(qnXM?x4J)Alii;D&84^aBk4DpPsK62 zfp?&02Bf}#;KfzUrYYy#;QAE@@zn}&Pq*IdTAD~UkEn9(iQsF|-so(N*-Xita?a>Q zk}88f)4z0zRnSuPgQnf#oI6|sof?c>IRvZIKU^)3)Z$DMp+mH+8aG_$ikQ-C9HU^@ zpYme n5(~4aifoA3KX++csO;^y7U_2PLS~%l#0#-k4o(>M0`jo7#J)voq zpk3*XFkfgI(>bKEs_(DDSNp&1xAEBhO)_-8_P)Pt4_zI;FKbOwaj~QMO`8;4kg~2s zwvN5U&-Ul*a=k~#*yJZkzc&t8lXqS0Ys(29Cqn()R%lwF!=wE@+fLU>)Q_jDhQQHf zYMmTz)IYpjYYzFU=V{JFi`?-=5U-;g8z^<`00^AtAI_kT&>(VlLe% 1|=pgj# zEd#p!%)ic@;bpH(rNh5;{r&pb)paU$ =mJLL>7aieVhZVk(Eryj8ya+ji+} z-!PTGIlKRDq}p!yB=b(gYbDSHY9|o>_O{FN3v$qA3Jd!6?bpqQ6$ZYoJ!I4u5~V+G z!k2K{JB%w=;J$g!sz9!Sdi_8RO}F@VD(U?Dw|iiEwVmpuCEXDtjE)P&KOsmh6H(JV z-wzQSfZJuWgQj#p&ze72qXMmb1AO|dp>6n&g2N?6eO!wzf+M;W3Orh3 8q3CjkvMB(){eO44-AkQX#4Tr$-8}Je88+|duzZ|n3 zdheiV`vkhm1nf-6`tuRBV~XvUCkzOfgQxEL>1GJ(cV?U{o~;_al_eH;E~bKey9skK z@_Dt3rH64kb$fcBC!(#R>M37ZPICn^g1@kC$G@i a8# zmmE0uz6c;xTqx6IVl_2~=;WZSyX=#I$Z7~u{kI 3lWLNLQ`R^WP zN}fqtkokQ9wmdf)lNyx{Z?og4F !h{?nyIz2*1;?bhul2-+q3*-p6 Mu 4hjQj9XlRK9m58|cxe-k~-~+~j zVfCK~$iU^VMJ2!dkt2@0!BSz)Ow z6 $jfYs-5Mh z@JbHN+2GVZ2DOhV7Q~&B#0*pv$+Sr{f5~(U$u$g?B^msM(F+epoK9u%X0~l!rSBP) zRFmk5yVy&|2T%JUvg80l|1qYidu=kkWj1s%(X%>pld?qO2!Drj)fqXPk1rg2zrC(W zABvWtwX|%`GA#eV+PF6+JQ(8AuE0_5Or<**Wod7i#Jy$zKolE2=}mc9yaG5`9Bj>c zJ_i{kv;I0opPXXlpZ+g5#zUInets7Cd#pWDZ9VAt=2doK qCNY( ztXY6e_^A%w|I(7|D-YT*;@^+j5_x&_QAiU7r-L7sT~RBGOd^6>gQ~`^9gP|Q`jX;? z(qP!)*OX5I7=txI>kT#Vl_xw_Ro<4DrNm>&m(2I91eys(3oa?f!WT^Oa&+S1Gsh~E zJ&lNmX3T&p@do5yL(mve1a_AJl^Y7f&r2tPoDn?sl qz{;Ph;OyF(|&t JYdSI$5I5&%; K oFC4RNfD!TAHqO%*WbZ$fxt mM*^*6RLm0>jy|KBe@Xk>kl*J=Il^Z zl1^MSjDdWS4CGqNqSaUU&}7wTd)gn4B=P@(JhJFN403+yH56#ZNt@xsr^<1vy!7#~ z6OzHWQ Ijf1UH=vtTePPHB3$DUeqe2OSiAlDT(b0k-vs%* zZglIGHUrp&1ROu#9yeNV@{!G#M%r_I_2a4KL7r@c|2Y-fm*giX;tGa^l$wY(ELFpd zreWp>Z`&VQg`_itmUCwt9CEkln_`Z);a0Dbmkb9<<>(~j5MJhzL(n04ixKA8P>V$O ztwrB7G72(v3i 8=CBjM{U7 Bx>arT7Oj2f!{eMNUA@}we>F=9ss`?L$@LAHoi0?2_g$r@oeMH^%7BOb z=+$hc0*xqYSNvWVYR}F;gIoc0YRwGsRi=FQB={*AZHN{hJdo=gu8h}iiiR}a8iMM; zkJJ^(8MoMqG;h@R8Sxr|y0JrP7E$lGN2YKYXz2_R=-JIot&uDO_??HHmL#z^geyzz zWJz+@ZcK{jv_Q(#!VL)G2>0BkcHpHKlztRMni@$CRvH|}H#sYfG?f^fy|%oiE+Icn zUBmfASgEkNa5wzie2&-}zc(tl9Fce_k@#p!rM=Zm18&txbb8JQ#QV9Ul;rnc8d|S= zQ{L`KH}4_^Zl^(dlt+<}+4gS3t{JkL)p}*h;f6|__mQj5(=M#P!jLN-(&k>D#0UYp zo-xvtO~BJfs@*t3RYc02Awvl=IjSRF$;ekJX c- zg3>iqdS>YCDM^Rzq9x5G)lMf45+~nR56~W!n$sQu5e0mbrWfwbIA7bFf-GOnNmrj^ z{o#*Wp99!aSdU3BB!b0T3d>hNC**)9as_TX0Ff6{S^>Kog4uwpewmj@!N<+oS)XlW z>%$OOa5K?$IgftXw3g*iT=e0riq~@uVfhf3l{!Q#1amGsWKXd3d9EK5KLk4gxHJo5B znat(%FPlH hOlH{$sdCQoaHkVPopC-#YpaJpayS9Cn0cf`Ij_h);>m zm=RItbu=mWScG!`v!Wk~i><1yF~1u_H7cONzlLp>uuDmLQb&ySbW*f*I)03w5sn52 zJLH4D1Yb{F 2GQ%O4jR#m{G;1n^Nskfjy6>8Q5fhKW;e3^%QVgl^CAfsP0m7j0}gCz(b zSVqiP2(jS&?(BiTSTZD3vGz4)FkX@AE0Asi3kZQ5elX6m*1G@kC?^2Xas+7EiOQUY z&Dqg6WIp$2;Ktx@&U6L)s%jSOU>#|NJK$RrVyCGFTo6;NKh@7V9%FM{eg1I0yxfnL zd63Qmu3+9L-?U)8#N#1^C?x$|olX`M zdj-5gcgR+M+D1d*MSCH31Bq|9`C0E)s3|ARoYL(T({C6*R`;h8fP56F*}P@fRo#JT(o1?h~s-%?UL-eFH&GP-1s@s z_>}BBpG?rp(U8+n3N!ao& *>dSZO;cO`sY``U@C|o5&T)Iv z`0nkU5clZ=Slab|)b8bXgFwwpW&FPo_$82-`L+2lecjp1?M5p$QDTfpF`Y7fyI`!h zuLF}ZM(g^XXU?r*mTtF5RDof!uY0@OkVp#0pepxZB(j%Y3zn(9_O?)`h&V`d(NxfP zLUim1R$BnqfjVMDiQ&QfP4NYb?`OqSOPiU(KC5G_PYKkAQlff?VhhuzxRDF4Q+3vR zr?}uhK|$3@o _cJNS& zy=$7+RKNn`W9E{k?@$GR;cFWkpwQT!d08F;C3i76bS(JO<=5RHcdn@yG%hZAu}4*y zv5q?NQY43RF?EMKxAK}i^1hSFZ?cl5xnF{v6t{@pyFSzO?*h!z7UBEcDHnA!q=xzi zK}e?RQLE`$#N6b`IRiUjEM~3wqzT0%sm`)*XFS5Z(zX(T>ER)58qB-D_tN0nFL?Yc zJJ@1QR%$HD`R^?me-)Y2_r=ob7!_*a5~%VXn|HZitsGj4I}rSt^i54oT+p=PnP*}< zb%6)IBl;NyF<w!fpRLF7e&v7x|ZAX4vO7zr zB0Vm9D;UlhKm2XuN1S-w@5`v1hvm9NVOvqNV3vDabCMAXXG`MR-trp$kf4tOGTFUf zukl+v=pwJHGJ2bcL;uv519hW(M}QIBCken4*$w1<5oaws Lz&X zG{)}8zqjot5!-*a@uXq~(R3}+Y2p3C|6NvP>CJXm$mA8<42}gyuHg}PI?qi}Qd>o% z)P0T3y5sQJt7J*|?p@Zz0I4MaFE+bzL2^M6ds*`rk<-+k4IRDm r!v>Ru^&rCSqNPzqn|H)9(p$WBN7lCCpgBuNr#ltsO>8*$U**hdAYm%%!cdM} z$MCZGl+a!7a^qe4TUNvOO5QaRDEG72R9i8x-&oaiJ0+th;pP69I37)3bJ&2#D>IzV zZe<3I>b6&m9KS=Z9DXl2pT|on7Q+B`|K=JE{h^b&Bd6`{Pb_9Z!16FP_~jeubLQ&p z3jE$0?%UL~-sb~ZqlfY8WsGScK>~Un1Eei=KPXwZc95W8s9WJu5ACv>=r6E?D-QXQ z^i!M%edT&^X591hhY(9=ujG-afJpeOVvPHY NZ>W8r>7-`$PD?Aom2q*A4J7B0m>A>UKv)lE#YVDwK9NOguWep51a zv(9N4Bh0@M`yGtW%n?k%EB$ZWT1rjJoyn{YMI8Fh=NR1*wyrhRyaFWvUA1Q{041pe zi+od+9y-7X76aLboO;?1u&P9fv5exc8i0N&080C&AvY`wH;!ObG8`nZb83zMJ8-&T zG*muV4cRsX-dIH3AKVSkVo2|205|@Fk&?7!1cK7#4;o+C$We;a{{d7$tG@}piG9na zZs&U(3z_(KO96GCce>nZ(B@m&7c2y95i4F{eJuFZpj)?NY{NL&{1b_;s=4Bu4@n|J z 11l^Dh8QBGd}y`hNbj07`Kc>Np-MVrVcJ;N>uy{c!pcGogNyT+zjR7(XjMM{ zr%umcy|zI-LZtm0jf)DKgXuo{eq%$q6g03QYq)&jET*Top;8_=g0C^)s?tDdr^rPZ zIjBB}7k{4`5_c1!MO;ZdIXRS{oWPN*cf~(VO?z^28SmOy#>(K}(T0khekTEq&C>Rv z@&hxAYo|%7?a%(!QTwNbSkC23=X#ex#^+b+chZ|zm~TQ7L1^)PX`z6PhF2;P$c%c! zEa7pWKPsN8P>6|fm1wt+t5@Yeq5FO~l-FPC^f`3PS7TBp0f<{ZjC{3>{NPTsK64PQ zJ2&kRLy =!c-aQx`9;5}Oji-*EAn+qWtgAi^$^bVq z=L2u~#n=7U Gb@?wz-&ElKB2f7aVEB6o z;NAp%lbS_sZK7Pfu>9#?sc+2G+m=jRUtWC0!tD8PQebtJ!0N>4po!gTnGtPDSHhJ3 zQydoyk`95|w#t(h ;aB+GB_ke&5zIl#Q9t8Jg@4em@F%VBbK}Z4(vE*do9SM z0i`ekmQCjD7bm@(H=_U!EoQ)ElD?4Z>VPBQ8CVYh6Db|Afdx8>?JlbrlL|~&K*Oe3 z5&3XpTIq29y~2JMnx`e}6qaaaH;r^Tm`T$BC je5A1O99c zSRsT7(Ik^itQN5M27(r;x(8*2bbW5(#|D5q;qhSV!3u;^Bt*!&24exH&m1 +QS? zWAje$=!i6%tHZ@AFS6x1u{u95T8%ZK0d<^ryONVc0qq(+t48HrL#vaJ(XEX}YeO>+ zt#(tH$T#9#v0f MNagL==HC^Bl_6KkUXzHY9{f9 ztfdl)Teo0ncnF8C-G#dvZOlD!4nI|!$84#I>RaE6)(e5Yi;Js2O4qz<+vwo!^xC%h zN3%<7|B1Ts8 dbfaINeyS~xJrR5msE=Op#BD9V8 zHC{P(Jnoq6;Hup%r1rSde5^MUEU%Js)0QX|qq&i>;!Q^;D;M!)N?)PC)w86Z3q#tK z3w89p_abf&ZEWASyYx;X=YCJraN_2h(cU~y0|wOr1A24T5~9Lk#M_&Q&yZZAIUf=7 z#MtCWXMW{!XR {hZnAh9s!Vw6y($TC| z`K;p{TKOdl*36FAq^ IiNa-1|07yik&<6`Xr0O7L5(qXC_LU|&6Xy#E zE9iNXyuFr%n>C@kI@xDQ$r?8p!Rh-&7TNfHAMQ71?wCpBc5(vLA|x$nBi?u;H1n;% zVZKx*WufB1v#v+t^U@#9XANAfOiZ+^M^g(q17hvnHoTGXfi#6ROLO9@;t>Tx@XY|z zncb!IzyhApb>Io!Z0t8Rd7+;ID$?xaZg*NiKiYd(F;MwNdE^Vl6dUTw D9wRHj}b$4y#cF>EiHgb%nkgmS4 tV`K-h>_|6OSyklhL}vbQ3u T2YDZ$g^vx+8dxx7gTMK%j-NN?Ruh~ z%WY?#mv*Z# %^ >?+XOPK0*nS1CuvQMgv1JT;E!Rsf%yeuK%3WD)qP9WIRxU~^ z1BJKUxO?y;_%fxhNZ_gf*zbIJaY!WNalVGtcf3P%K96i*cL2t(`X+3d8pj(}H}I*a ztGMt_UIcIrS=YA@K|H>Ocwz{V3Tdi-SBFY1ter{DUa2LDZB?71EXdZkXLJ3xkN(@Q z6P?cQCQ@us>x2p#y}DM#nKNezz$MtaeJkc>=V(D_V9)-&q*V_w>(rsL{P_R;y8r%j z*?j-^fBvQ+va?S`EqP78kh_)!^y^9kgD)$Vhb9I`#&RR$TQD#*hVsxTEh@2Iz|}5% z-Wa6bw@4s&nzXpoNef#qVRGy+1}1kRR%jd@4U9&jiV1Cnk3%l~4oUI uY)uVuHQ;4<^bek3!>T44W(w#r| EQD~%W$Jkl z{scg7ugJ{!lrpONJ&xS?(#iuV{*4*|%XVA4&?Lb|MqePL!+S+`{h{yGdanNRqy(uD zU5X4*pOq_|`culBQg912*3|n#kz|1SP2H#Dl3?%)O=L9I*RZ~_h!tX*sw?x&dVOuS zzPfgtz}kJyPWz!apL=5R*pW+bd)qHI@Fh+fQ`~zmNx$22JBLtQs-d8Goq8UPTgT9N z@+dk)+axapvNe0UxcV=YqtJVPap>n2&{b{#v&&UthUD QY`U5`r&{5 zQAc<`zYAUHmCyVy2lA`A?kg}8kAj2IZ$n-Ci-)o%Xdw?p0m$iQUO zYtV{!-~aA^ltl9XqcJ<62AW!Y6 uRHX&$ow*jIDL*Q;xG15gToq<$9a*^XD7NfBh(f7=R~N3s8wYQp)ro-U z`p*y$r6M(d5P}vW5O78H&mgNOiJAQ_0 HDU2-QG#?30-naSf=Gm>R`aSE32mx|0iq04EEtJgd4hq$CS7>f1aERS z{%Z&USpe1oWM|C(mT3xwt}}l!z((TAV@9xffDtMJc^V(u?K!soa~>Y}KFNmP(ttp* zGbD%_>)KVq`Bw5j(lezg1{9&mTV&W&>A?g8b6ABYfM LplV&0f$!7N={C=F^h7Q%xl7s|~7aAxb>eALQtqH|Ykm}2%i%2p|?vKA0g2fl%4y&5T9~u!kn`o>m`5%q(bbZDJs*>tPR`5z^0J|3H92u3jUFX>GS!+HEW0 zs458Biq|+bPUt@cjEnkE7&DIA+J4=!&oE<7xp^tDTPzQd{2Ru=@EC^2Cg^VxC9PaV zs8>m@EzV(i;c}~9TYD<$v>vVujJF6egAr=^@Brs{LJw1@Vvr3uYObYpHfv@+eQX|Ep#_Hzp`>jCi#b{1qVzS z%ytu2xYXvV^K&saS_-%dVqEF3rH)8f*G3o_kT|ldfl5ibHPh7x`V=qJYb`9Twy0|) z1}eD^R~p0Le9bkYi7!L?iUh7|HM)ninrDV?6Enw%cK=&C3Cke7gZSKb5E|x{Zc|YP z)aR)w^U6o6`k1ND3tC+{{>^88;vdqx|3PM(ikbLk!LJhgdiL~L0-bfenD05T595>L zETGyqUT(Z^|7z#Z(8%}=L*rWtWqsUf4NG&gxP0L>X3n3bNxh)Mo#>^E7K!q}0H$~D z)_#bUfgxiQQJ=a* zGrA4-NmI$ljt)G7>X|>VFt8HY2=v5*3<2l276Kt7 VRC26bd?7v`4+e{f)#{eeS< z+HCeQ)sfQog}%-*PVA~+Sh|j7_@(PQe^QdIyBmT5XbQ^=1C$wbru}5is|?sPY5U6M zn|PD9QXH9C*Y8vP$ C(fA}sO`Y!4}5X9ic~#)oPLUzV`g!rjNrYT8l3H8&jlD;Nw**S1Nj z-`JWX^}I6A3g#)o?}U3Ay9cm7;OB`*tpTAMN9cbY*4K|63z#MQAA3c{Y}ga&>#aY2 zc&(m`E &8;Y zvHPe#FAig )ZMvdVL#5S@C1q zJZgR=#!@v$EUP+Q5(HoslTNHF$z*ko(BWMz4PKpW)iM>Z3zi_^B5Ltv)X){`CXz`UkB>=a=Z}VRb{R zZG7j{0x)xN7IQO~^ 2_V%0-+y{s_)LcLMV>vwGL53dBD# zy$uuFc4}}sGBS?gsc8(*t77{iVowyaqBaHj4Gl5zqHR1d_Z;q9IE}N-RSXii9VicK zje2Ho2IF&=@%pt5y!}o81;Zn|fc!j?)j^si>ySGqpf+;}<#n KIo6vR8BlYv^pNr$Co&3&WCFcGS4I3KzO2f^e*`Su;CMfQJl@?gNB4GHtL;ENIYz zA`tK_AYC6yBixyxGWm*>fOA4prddA(fGs76?fb}v%Hh12p>=H#9OcOZDio$E;T(Wa zokt>r7O<_60k150WguwNc^NP!WjLN$pdxkTWdPG$IU={S8vdR@U`Cep@l2uc6AR(B z0U)yMDE}^dT<-v8Adq=c2RsB(CP=+GM+;!PQBHV(;>MsIe})M{s$ESxSa$>jpeXTx z!{bI7_+8ra!@E0}BD0A)WWan|CoXJTdLeh?Q~Ek1V8mq5zUEr)leD7aL3WZ-NQAvM z1Yw@tV;0(VguT}*l>usVg3{rw$RCL=*^A%a5(NO0`$N~!jx9K41g>2o_%ZF)4PGM{ zRCg&D+#bOi5cFF(Pq|MWPz6%slB dQ;NM !e`0nqM}RZdpjCrc?V%@#fRfn1y+fe2ZTgVc1L>7=woWw~ z9jvUju|WWqjK536BgGr8+fn(lM4b@mr_VY4!$16oTb7op+mOpuipBgf;=ZPcg%~8^ zJV?EMD`}kLc6R3o02(8UH7&;K-~nS0?$E!q-YOnaB!yhz5yFk9DUWKcR#)ryYbVC1 zULEJ6$n9{qY(~Alfs1F(X%=?Nj%^qj8^)e1RSezxFqY@%^#VAxZ3lKAI!xN c zAV=D#0;q*jkr)N#FO)Mb0NT78naxkM7+$Wg;&k;29-2Rm$5$@u*r#PO`;#86ccHGX zuc5iLh?g(S vEOI9lQ7 z^7pqp!RDox6BaB~y#P+b2(uW7G{6l6b?SN23ji=c;*Y_OeJ@D8pfb!! zXVBv`^Pp|``&1hv4bX*S2}KIvv+3Ly(VL#QuTl(?L&_1l80iooWXcw@oU9=9`VFDR zA`#Tte`XNoHlQSdi5|WTsgub7C)}m<%%r*_1RS1e<35(zEF8#YP{cqFR&n6I*Bgc0 zhPlWqD jrd<<*;qJ3|&$+Pz+h|33Qk) zaLj$=hpsj4C*E}-T%TAeapjLPj6Om|*w0UdfEXfBc0_9Kx(Vbe7&babt1#a)CYNq4 zl gLX}5`aZML++*&r+9l}qO^d-^$C zI(HUxmo6Y7qGWRGG!9*V6As^aE5^6%M6J4tnX@NWR~BY}t2V#*o^Sn$KY9XRpro17 zYIU;N6n{UCB6VEm_4Mr^&*zkE6GG9(XGtjEOJ9F@ELZsyk;n5Ph<$W+c3`y8DD2+7 zd-d|=%cVMjj=iI!`V`IgNg2O#x&E8f@_*mOm*)9l=jrNt4l7jxs{~YA3b3}#=B#`y zv3t6Wks;HU+~?hM)Qs7d;-J=AsMS=&7_3(YlULrnYy8U+&sCtGHcfB+vmYvU=FVSR z%;jE16X$5LSb8 nui}D8-W+2Dl4COgC&<(rr9DUR zVP-a(8<<;|!{X`!wi8QQE|tA0(=J$Ql5VK*CG(5={_QP^J*Tc<-~Pkcwfmqp X(sIg|h{{XL0M-d~o?V~Ea%%&pS1;p2Z4vEQpj0fQoG)nsTy0cQZ*P#v zrJ?7=k=a??y0U@- ;26e=M=%hLo0aYcYM0U2E^283FW|ug|CSbj>B*{+GauSu>>)!L0-+SZ5aEUn zq(O@Wda)iN14uXfj`QmREdk(2febDmd_;j>LO)fGUcYC+X7;&Zxw6mCvcs;8G9Z!5 zr`uBavhuV2{q{mDbkon_K1>2|!XUwdqX0z63;<2}uXbJIKfAg{Ug|p*QTrtN_^~gP zdbN8BtOae|t1Yu_-m9;=$CFF}TFxs44){9;k0Koojh_ZLKK* ?pl??xt1+2Cllh$gbNIn75|*XDklc;vP(v<<9^+H9#>Lk zp4&ZscpeC&lX?KeE;O*NVD<*d`SJL&|C;tO0M>X_Nf%PDlNdkRcB|>45U9<>t)>F9 zDry0}5>lHzdlF}!c?xqE&g;D#Q`@%Tx>w#tAof*6rVQfZ>8IqG6A%4mV}0e$Z-3W^ zJ}v$h(FvX;hIDvo{oAQBKSwp%p6%DLpThR#zMwA`slFeSiTKq$
6w8hujEJ@?#` zyY05y^mKcWr0dQ0pq}$98wZI4`z*E7sBR`!x@?pR6>V&3J=XDA8!e%>lMnz^v@fuA zqNNWP26|5QkvjaE}@fr)iYHyh(a zU=zWg)C8Shj{fp`7o`Ehx!9QOmsS=rJ3ot^+jn7VVvE@f1FMM&9|KWs;2JKC5SvTD zS^8bF*`2kC4acIxk^m;u3{4)rdoxM{=M`d8o3ceLYECbL7oIzhiLDcuq{;Pnm+II# zz6)d9_G>10{`^z8eEJDoxA%LnZQ>Qq=Se+xW#bHH+V`P6K7}Fy*LszJ^6V+BFI>i! z;cKyf?2U+SEF&7=Q)~qS)jT82jTk@(7+6(M-$}dC1{shlM9}u>MZ*aV_e`XIM}}=k zffT#YvcSyFCi7gqjJR@zz%5*;UDajg6&|y7Kf=~M1V$ogMf-f0iFs(Zpi|Ye^^jp` zAV}}87qp`TsK^vQ1KzmqoS(4Z#|b$GkMMC~Sx|+|uYqQ&TyUG_Ai9B~Z#18Y8jdEM zne9rOHv=&LkL+qU`xw{eS{Os5glnqX1UGm0Z$AH!o%cN(_HPn|IOFFA-RM#{K0=>U z+uWv&YzQqssF2Rr<;AW9w(W%nO#ZnU)(AmoNjI2W--L517;-^`1knwW?0W=YiYv`- z79Q+yL45-`w$I)Z**P2n?(BH>)$ktzxB+HMdr3_{*O3~(qN}60ynF&4w}%}Q!p~hd z_IwH4{OX-#YF!Nb)yz%!0VMqZQE$x@ld0!2OB?nZKZi@5o@XXs-oWVcv~K)7*ZoNM zQ5STHgE48w1V=ClW{(?oiJL=;#8L8AgI6MB^d@5~kJUa86=tikv4MJRO}iGHfA$2f zTsVtDWdK*d>=n4-Rc}URXcT9jez 5bf@A>gRdj_9lnwyh@&HVa*NM!U+ zMfS)cco&y!Vt}9dy-H2 l-5a>_0==r7E579XK1-(Jf z2755Ef1yJ^)(Ehw!v;2pWmWr%+XPw%2PDRaCE*Frcq@)cxe+LYP|T|szruo9fMaH> z{MOdns4B*_Al4^}omXGGf9z3w8Ir))c>0GQ`PT!>vu9o>Bl#8rjc+X#OS|c>R8iqM zY~bF+2D{f_mCO@rgVg#)wcTiL)Y`4idaKiVrjsOVWG< fCrYhx>BTX^iYPa%HEb{dGRUOjQg!*18J36uWB0iKXS9dmAEzzc86bCAp zp4x(efk6Vf1a@=A7pzG@IU%;SkT26sdE`~>MGLMY?e8W0u5< c1? ElhXpe+7o8cM?D@*~L}3 zO(nvCZ3{M$0i&!L>UAv;Yyl91hqhL(N*j~aGbp?%MFfH^wa^DZncFe_hNZj@+tdYW z?PbEF2_OV{$goy!M^WMh0}Fkt7^I<&bXbH1R+yiZ=~JjOXbN6euzrA!dGWb32y>gf ztq|wH?OZqR4rD=(9ea*tw&ilb#etEGpp^dkepk3mJ(Gc=57i~RKtot&!EOP%-D5ir zjNi0tP3eK3ZN-$3mSNikWp&K715(1{MfZGvy>B4%k1myCN&_HgGH_;9lTnnyUBdad z0;x_Gp2<#`_*qyA9so952Y{tJxy#22HsuI|=cfQg*c{R`(|l2qgzcENLK&9RH>guI zQs3LTlVT;)zQw*d-DGh21n9}HDXyu42?YOLs4!%w4(H=9@W&Z5)I^|En#=5Xm)_mR zgJ>CmejlsVM*%^wQI-46DpbNBr|dR?$qXC1iPU#iBKtYqv<2IC+4d5dxyYo9VtY+w z64M^wHnV*V8N9ckmHoiA+=`5Ew~oOJ8}*>qT5m>)ZA%NX5(8q@0T>M%AGT4e(fg_f zw4HVXYm4(Z{q%9no;$0 5gW4I`TeGB|H6UEkw@vbwzQkcj~_ptAKJ11 zFX-aeNqdL@uiYxA77 ~9t%KzbhAOZp#u=mNS}n%RLX7H$aW7Dtw02E) zG=POGmpOGy9YU~PPf#j|rK!=}%Z_d@pT(CU349HvJLR3xWB>P=T~c(uhkE(DO1Z+J z!OCD%sZ@yV%xiGdY&X%erU>m Xy %_R8 z!-1oR^nx;(E8|C|U!etPr`5*tm9see#HY|&T*u$NJr(L$#1>tS@QJcwl&v0Pv^=4=Px;&>O@UBAJac(mMN_1uw(MzzZZH(!Q|9O~8ip z30M%b07pR{@Iuec2$5o!LIA^yvj`U6khycG@FZT0vfyUH!)w1|hQLC{p(QKmrCYSQ zoc57OBUPEg(;j@n^& *q7#+Y1fOa$;=iN zDW;YIV^AJ;6$pVh0}zRT$&j#MO8S20wiAhUx9M!J9M9La&8=#1;`R;04m<;gDC^ z`XV^V%Z^NVeCUC{{={)R1Nh^{b1Gz$KgfblZR7k*;i3Rw2(W)BM9{!CnYkf-zeU1b z;}qI3Z`THCGdoWcH u_B7}(qM}d zaeoFIB3+-jHt-P;JXR0ZQx(OcN1gpjBi;I8qD>ge&sf_M7oEc&ZX#22%*<7jv1WHI znV=88h>g5ZdoPsCiENBN6Q0fV4#%Z6bHs)~bI0+THKL LPMSxe%z>(2aT(8yo8c zWUE^KsHg*HpM4t7J^rxX7xJ2Kcn5avzZOqEaF0B9@`>MQ#PuKh?jQZ=9G)jBAbDY_ z{+(3M_flbsVIMl#kO8jY_zUMwXpKpYQ6cAKNB-PX7uxS9)9-c>w>sMgM1Htj_z<=9 zutoij?U#wrfVD+kq5WFvwNfO4t03K+PUxE1g$Nf3w5knT_Br}x=VU_G(~g~ErYb5* z+0sgj6aaO4mN+x9qkZh!k$zNxFM9gkd+sc)ES Dv1llV-_q1Tu6n>$u9c5C^JBekQN+n zf$$vwW)@t2<{co@CeP3>j8h0q0MBwdu;Rcj18bHFp}>`1xCCK!Ts{_HJJ8^Ojz1a5 zl_$kqxtj1;^Q>y{U1(}_EN~WlNTh&F$lj&dJn8y6vO>m#I?twsQqh}lGwgTxd%|r1 z_pcKW$eNwuPEgb1sME2(C9dqIyeT;7K&2fL`gd-N>~8PyeHLVe<1CxfbqU%#KtL%W z7VL_bFaSXd>?jcE44|^7J-cx&U4MoGG|TKdw$)yf1oI>{b~rCz NVxUar<5FD&5_5j=yj=p==_SehJ^`%5_y$Qjc|Y9p0e>XeVG%DPza zq2Oqf|IkQo=v9^Bfk+J^Wgb^Pq^oOdNx4!^rYEO!3J4mlP~9oC z|LFSKx*j~mvN>m5`H?2E{5wy5`1C%y=sA1=lJZ;m{r~(8-#9$F?SI~I>(_5xUAlt5 z_`v_c+R74M{iZjeTrQD@STk{;)eiqy?=e T`LxJoPy&p}K|B7*W zFaf`nKPye{O3sAAqW3E9UTtLo3uQ7FY?(yVF$*gT%e9piefU8xXBHQ_8|&3I }su8rEAA%L1@yXS+kmOWY| -<_ zRG+$Ghhsaz69z#6&;mUBzycr$dE W>!HmE{gN3bmrZ=m4 zp#px6U~_unggF8QmoY{vyi*`lS;*Mx*@ews7YcBh7DAd=j=k?)3OY$&ewn%7LqX1o zg*{74Ymy2;X0{BjTtT~LnR0Gp!QV013(Exab$B>If}~5#GyZYF&VgvxP&yVR$Bkr{ z05wcHNjJl6is-)&&QAa%H761?fXoOSQ&@jcf>$2+Uatg%aeSpa_yM-v!+tePx^Q8T z+ |0~)S9xljDy^z#I%f#cdohU_*FUdomU2z#8Z zok!ef9HPuA8A3R~$zy}@IL~QQ2i{ bQ#lf1Y0V7Auu jIMlDm=Qd z@vhC#Pwe1|V+rk5Xy=Vu`P6#1v__=XS`^G7=?+y q@XmYg%ssnw>hG*4 zt#^+NkK9@=mLlb&y12Z6#nnYgEb1(^`3LrF+glkP9lf3AO3rkH)cY};1Qf4ap2yJ0 z5GrIkXHC+OHF7kPxuf_309UC%Yw4kPOz$}SYe$dWHgNKZ`|+ud{4vI-rpa{i?KHs# zhy^YZAS~;{0hAxB7KBt6bsltwOz$n_tEx7M(L_`x5w){Y0lp@^s)p(4vP !GX+` zplj4Ou(q~>x#}`5?wF#9Pa1AcI`;x~% 7;B>&s}YFHjwuRF9Tf zFYN*y#TE<;qp3&s#3n7&r8PNO$-w2&Ayg7`n1OQr&?hEYQ 2++yxDQZGRHHyKJ6 zkG*`jBH=-d41gi05L~4PKqyq%{AUDY$W+*0k(PSyfZ9}{0@?2#;OYeyhCTqlX} M(Pcj@!vgxFTN76f=jRD&nMJs=F(AsqPX;s0KspB6AU}^(0wftSg_&jz za!&VYnh8%*U^>;e0=8Xzga_Y-W_PnPMYh$6a}3atF|E7j2^|!@P$-)3Otkd?lt@=K z1~}=~v4GjdTJ$DiZaV{P8MJtzq{m`dM+6`u7`I&gD5ythAu&bstY0WxQ)Q7d*xciR z82j6sy7*&Md5}2}%J*5{Rc&z=fi(ic0hq9lLn}$vg&~{5>ur+|MXPE)ou~@o9cKxO^13Q|k=4*L0p<*A>{~b~eo_ zG_m2wg+2XC$qu`BL;K`*r2Z`Iyw{34yS~_PjC!TffHC&$q3)B|uA9uP+7MRKFuc0F znmLU%X#y*Iluo5KCKJ5Ughq$vk&;Jk6)Av-ix#n=aV$(6bILbgGW#I%BnJnFh7GtS zRL0Aa&R^~GAONe6met3{R_L#!Hxa9Or`cPz0a_nHTOzCA0Lsl_&A`^ySM@!k6H|Ef zQy<5Nf9IER>zltBH@xcaY=82BkNx`Z{inD8@OQlXL%)+9M>HFcNgYGgjD@w02q)(X zI##M_aA3JA^>M4?6^SilEesZexyj=&7;79IK+kb{rKZt&5PsE6YA!PUq}bB61~6vB zADcYPxKyNt-Y) R6dE&b4yy;Gdie_bWQArV(YX=d2Y05turUp zk(BLx$~@1M*3OCS68uF=UopV-&L{62Y^*nqweFLzSwZbJ!{yw*#(F!BJC|3!?<4>0 z(eM1zfBa|pM&sV!`qtlCRGs%dANYYA&r~n{%c081cNR;f+(x5;OLLd7u)IJzUFWHC zzWm3NW7F^1yK8znLGB)E@sb7s*34C}uH)Gg&tm7EofsM(vc5XjXG`^YyPX?*;QTlK zk9WU$bZUIKL5p@RAt; KK&Pef+H`x6^CymvwL}vK=ZIZ#Y&wUt|q3Mph{r2l)!A7-IJoR4jI>Iju5*V z6{u$kuqG|Udbed;3)$v|60jXTK(!`H6L)%YC$`b+#reMmc8s7@fS%myy1B~>I$ms{ zn8(EA2nu-?S;)**{LL$K~aFpx59OWCtNo29IP zFm2}R#~bg}v4*a0Q55(}r%ir}Rq9CNN5^AFGlwqrvh~M gxmIdy}|bSFEc>*ltEK zPJI3nK45 Imsq z&2Vtpy7G!Atiop2)L`wD_N2K^+n$1zSmnR1kMre-I(D0djVvGxf#Eg|8 6`;@QSK~U6FQ~sV z3Z(&JS<9MfRX{c-W>$gdBC)R;=+bw2`n^ysY1a1TZ+t6GJa|7o_JQBkCwN`=$~TP< zJT>wQfAF)#; gK7xL+$coowm58m2`4#9eCJijLP>^y|$AUVGa3UE-HRsG0wdz7e_x`DOM($ zq^-?dxro{M%PQp4Ged(zKl}1iH~uC8#`Z7$&iC&*yJzb6NPW4LyGZ4|aAg6{J#!LU zw{OFa-8+mxv6EI!5)E!^8`$>I6L{O3z5$a{ j(qYbQEM zYmUqoA8)NUo}HMSy8mrI{5z{*{oeocw|~RFgE#)co~vF~y6>ZR QgY1wJpf9joyto-N=>nDEh+hG}(-itS@{i8e ^#hGq8@6Jd{X;EyV!uWs#QE&= z$b>Xg&l8b#(LnGF7M=kJv5DnBw{r+K5-ZHqKTR^HDOTN|@Z({uzh7$_PV09}TH<$` z^X3fg)28NAr{x8Eh}48g0qJyM?ZVDL3P?pcNSBYtkKYX9gadzu0gW7IGO SIS~ zo{Wr5X @l2?1JyhaSXm2?XjQkwQRMp2j0fgkf}V4205?t$056_8f*us(|(v9ej9vdAXH5AP~g2#g{hX?k0I3zNdiwvSI%WD-aucUfluA;Zt$!q#N zvQ~)59E;2fzZpM@u@r86dv_6Guk-F%u%KU$8C4w{V^z5EVH?vaEUHa9Mx*N_dQXEQ zN))kER~ww#ZEJC8+4n6=l%$W$*5+mHGL|z(Rm1FeP+=g6Sb{pDyjUJERz;ErrE(dS zK_YDEuR=0V?UzuNM-dn7hApA{PFdsX3e>JFU~TCNR+r~N@>lnRVowK%nbjdD^LY(O z3-pW 6M W z#~=FGKlyv_{^0w09GqKT`za*RPw<*~aVf^BxdPbuB;35BIt$a3is4jjXNh>G!E! N9-)3c+8OP%r?XJV``)gi}D zAqkGQm-rH-mnP#%E%mMk-!(jxi@vFi=v}mCT$3Qw6oJqjrya!g3g5n2M(s}zRfz1S z-)81#aN+U=HT!0V2Z#Rkx3!BO9=f>kmg4A%|8vj(`IoO>8XMShE+;h_R04Tno*2dp z7qPLif#H#1&9-W=WCJ;?*ElvHqWSP?y~!zVuM%LD+Uzj3bsKgaI1-WOHW0@Jb@K1_ z1~I*j+S=b+BZ0KKIM@1%_x|8)y}I%k)! Rk$5DW_rG0a1M&MP~(5$bMxh28i$OQHsyn##} zTlIpVp+uXQ+4>rlbq2FDq_Hk7U}=#iIf3m9moDL{nK|s3+N*tIpF4RLRa%&K?V7-) zOAFY(bsPibSc4HY2~?1*`t`dk6J-SrwRcX042S72HR&216GO7oVFp#PPijFV)ltwQ zldK|YShHf}xd#*Un2*`y5HqItBSyx&&f4fv4ipHH-jF2hn298Bz%*k=GE0#LI((yJ zMWivk7_$_E9%DiQq5#ywYOm>-v3~cn%?#{Xkof1i$BR^cy2%)93P1ks|GLd&$3M#h zPm!ue6rR4N1f2|g<^s^D=2K*~cE9Y>N7C{UOB=BQ0eEwdNwcE#pYnT)f;>Vr!`EvL zUc_3<7cMY7`zY&y0O>*u`T8;Q=E^5S21)WTbj-HNlFP-hJsAM0w`wWK>32rh7F=B0 z`P_yB)cO>kgiYx1;1yvtt?55u_RMb#63!o$FSfg*m7+P7r)%>Fnb63#nY8mPk?pWo z?D#X|P=>+j^=rqK$Hj!@dBZ>{l1P`{_%C{9nZdBxB-x_>bXgIOX%?1na}B}xc8W=q z+9GL-V}VwuN{bx-Vih0uyAvL$>biD3umo4tj$sW_?Qg~{N>|dubyb#F4|D=T;k>uy zw2G}~vvrH;Jp3Hu`_k>^6)@r2#kFYyw>EiJ*Uxp6cVa)ckY10tFA!WGr4&0U5h#kC zRNrXuor%e8M}Xf1Ds4Ph`-=~!XyyhV!HWXjGe+Ny4f!$|Lz)5Ik#Qx+2@lT0V}sj? zImT6m;n|??SCm}Hk$mmc=vqQ%b(#UK7|9F~F+>ol X>FVy zl~}GC_kcnhS^>~=m-4C;n_JFX>tE#EhNRv=Ezwdk*D5@uFA%06%W0&TTLQ~@Y1dvS znM}Fu=MI%|g8*xz+0l8I^U+@|F9OXqvQoEoH@1m=HO$eM$mdny%a~+p>+4 AlPZssgj zt844i`QmTCwOU%-Gdy|y@YvQjPi@;>7~8U4@5cX=)o1W%b%wy|1 l7Q#1>3$ z-GRyNyD>4nli1E_VjIg^OWYuksb>2Cfz!|a^&jHXAN?a-`- TL1VsnPTyyO>0pT|0=9V!$Jcu)AXK-nD9@kxS2-91p z!0YwYLP86Gorq3BPXHPCi@| qgky~Yz|1D20K0BOGxncqAoZS;UC+xqm_0hFs z$Z6kf+VW;`?-R!bl_7wX9-BGA2RKmS1f|I;wVO8t7EZh6&p=?N ^!q$i8h}7+Ps$%v~I2Dlrvt zyHu@{8JEeqL Zn}u0P z&pw*()qG|KoFj2)^SKDx59xk$W6YM7^)3j10v3bM?5S4{4$91WAVdl(avr8H5?8Ot zF_?DFWZX8w9E6?ytbBW=0d5|6kc*UJ#%qY1;|7((G2o7|6+WVfosSa1{O4yNP+qux zY+17H>lDYxZC?x&EN{sW;T*9YWq(1q?C=;*>}gl&Q|rR^mDb8(O#iA5W?x1}yC3je zQ a>};}3oskA3>D@#?St7QEu?{~oGq z%TNq_iSC!hajX>&nf?)GeXKPjTwaa|yv90ysv4sOQj!We L9PhB9UM@ z9l%|0s4{z)y?c&IYFGdH%K|e?QnRiD1Io(A(KE<0T2#zw&UU%!tBy2buR0w&YLr5e z3zQZJM-(_k9NyJL4cTT>qPpHzo54`bMXge<^$qJw1JAT&tyPtkI>D}ur2^VBA42C# z#kzi3fU5$m|7+%5-$jjjJ#|f)aNIU(xxIvCj?kbTQX0NO`RdQ?WFs>rA^zpnHC(=Y z8LKO6`Up}bFce4}8XG16IDlAn8nyg|^XD+I-r0CfqcneP%igI2SKn0JwtJuEOzSK2 zSeQLU1K m8D=RD7 F*|5JV3Aem7&Z0HUZgRa@AQQk{fUYNts@Feyf zy@|}2ljsnTU6?tIGbf(FId#0<%q7$n;2R|nynPGg5Sd`6M%<2kRo;9)uT3?20u2>V z+ZWjdL}F=a9gjY7k`#j$t~+`FTeeI S{DP>7`hF55T6$6=&RSw|TGBWFI6tj*UI6=Hzm<=fm4A?X-gMNZFjcY$bu8UJR zcpiAgh^GOY%Ncm^eD)*S150+JaZU(~XoD2l_DF)U9mbyxkJ+^t()e9VYpS=Q38Pq~ zfl`1p89JG9W4;&8haO$!<-U{_5|(1AYzORcMIy8*i0G5)g3e6KfaDKkFVtCbvWHe1?4 zs=`+)3n6cu?2ycoOJsSxyaY+$c7TweI^K2n;Um~{=sJvT*-gYz1xpLFIP=saSX)`Z zh+=KWCiKy-%5^}wB$Nk+%w7v>mj;ny8?{xvdF$lk58{dY@5RgC_)WOsRc}SDx`0ck zp2qppr*QQ*|9g~&w!m1RIM%KSiDeX|L=zFlchvN$Sz~2N+0yGWSabwRjFlxD8xqf4 zAUu>PmjQu7KCvKIXka{CjGa~3PMMS%C2d}8=wmxjTHob$Fw)qoR#V5k8VkViKzw4d zlKVq~T^na-qCX=(@#1&~Yge|Qi6_yy{dSTVU#-CPJ(u3Kn_ix*)mwwJvrDKEPi_L` z=QY4l mM8w9iF_0BV^utMWiu`@t~lqz1gw(3Y1LG4}WzzHQ%) zxaF0vBNM_fstXr!{?wCr?)a0qGBZPFB6`l@y|{SGRb-+t9esruSH--RN$XNO@s%&; z-UIu E?q9d)2Ou*E z0F(p2u)t45A%1ntlL0N(v~HOwW<5A#?Gzt`i-MGXbCfNj(4nb>1v+NIRSE>lzlZ@T zPZS9Q^0^ACP2(IO10cxl2o?yz%@)YI%_3IVaCC)`8etQr58w^n-tK{;WKiMzp8ql6 z*e;X8o0i?i5%+wLG^Eb}X|QP-Jt-Ya#GuLvY*#<&^AB^f^ 6C) zJUm0`+nN=y#42ydw0pYE8KW6-z;&|g1 *gV~MaFz>V;v(6 zzPL;rHpqbz21ep}*m^ENz>+yo