From f313a9cc2615fb0ee9c72ec49513a53ed54208a4 Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Fri, 24 Apr 2026 03:18:01 +0800 Subject: [PATCH] Fix detail pricing labels and price semantics tests --- .../dashboard/ScanTerminalDashboard.tsx | 42 ++++++++++++++++-- frontend/playwright-live-home.png | Bin 0 -> 230816 bytes tests/test_polymarket_readonly.py | 28 +++++++++++- 3 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 frontend/playwright-live-home.png diff --git a/frontend/components/dashboard/ScanTerminalDashboard.tsx b/frontend/components/dashboard/ScanTerminalDashboard.tsx index 759694dc..ff98e640 100644 --- a/frontend/components/dashboard/ScanTerminalDashboard.tsx +++ b/frontend/components/dashboard/ScanTerminalDashboard.tsx @@ -142,6 +142,34 @@ function getSideRow( return null; } +function getDetailSideAsk( + scanRow: ScanOpportunityRow | null, + marketScan: MarketScan | null | undefined, + side: "yes" | "no", +) { + if (scanRow?.ask != null) return scanRow.ask; + if (side === "yes") { + if (scanRow?.yes_ask != null) return scanRow.yes_ask; + return marketScan?.yes_buy ?? null; + } + if (scanRow?.no_ask != null) return scanRow.no_ask; + return marketScan?.no_buy ?? null; +} + +function getDetailSideBid( + scanRow: ScanOpportunityRow | null, + marketScan: MarketScan | null | undefined, + side: "yes" | "no", +) { + if (scanRow?.bid != null) return scanRow.bid; + if (side === "yes") { + if (scanRow?.yes_bid != null) return scanRow.yes_bid; + return marketScan?.yes_sell ?? null; + } + if (scanRow?.no_bid != null) return scanRow.no_bid; + return marketScan?.no_sell ?? null; +} + function buildComparisonBuckets( marketScan: MarketScan | null | undefined, row: ScanOpportunityRow | null, @@ -396,24 +424,30 @@ function DetailPanel({ {isEn ? "Buy Yes" : "买入 Yes"} {displayRow.target_label || ""}
- {formatPrice(yesRow?.ask ?? marketScan?.yes_buy)} →{" "} + {formatPrice(getDetailSideAsk(yesRow, marketScan, "yes"))} →{" "} {formatProbability(yesRow?.model_probability)}
{formatPercent(yesRow?.edge_percent, true)} {isEn ? "edge" : "边际优势"}
-{isEn ? "Spread" : "点差"} {formatPrice(yesRow?.spread)}
++ {isEn ? "Bid / Ask" : "买卖价"} {formatPrice(getDetailSideBid(yesRow, marketScan, "yes"))} /{" "} + {formatPrice(getDetailSideAsk(yesRow, marketScan, "yes"))} +
- {formatPrice(noRow?.ask ?? marketScan?.no_buy)} →{" "} + {formatPrice(getDetailSideAsk(noRow, marketScan, "no"))} →{" "} {formatProbability(noRow?.model_probability)}
= 0 ? "positive" : "negative"}> {formatPercent(noRow?.edge_percent, true)} {isEn ? "edge" : "边际优势"}
-{isEn ? "Spread" : "点差"} {formatPrice(noRow?.spread)}
++ {isEn ? "Bid / Ask" : "买卖价"} {formatPrice(getDetailSideBid(noRow, marketScan, "no"))} /{" "} + {formatPrice(getDetailSideAsk(noRow, marketScan, "no"))} +
n_`V-#JAkFF zrM7Roo2ng;=b@;D&0-SOGLd(hJTUun6~P)#yyAr^3)Hal_wuW;X+#=^jv8<79z~B+QhKiSr!`c9o}0KFkab=T zU#_`q65;fs<8wEl*;i-n+49=Vn8!{K4aZ)){~s41h6wudN2u=Q$X5Yh^o4$R6LtFg z%t} OG#LyTbQ3 zi#8_EaOal19XGvtyT@m^GgRF#)f|h&d5n+cE>G2!9!814t(uotmj#2DFV_`mwm|X~ zSsC?St3%G)#5HF*r &^ar=$sGeR4K{PuO8cZBjHRn%P^`eq|+YAjCaqw>m z75QC4%Hhk~#zN}D vc2unE{~hI5R;l^G;r1N@d790{O)T-bW00OrBUx7L{~ z0AI5ACew0`Y0^?mcI&S0QAkBq(|UOW0GT5@Tt{BwQ6jLMXR+cR&^sH3RcJ=ug*9Z- ziecJJcn5ecXsea7;G-FC9?Vg($%+zeAx&uJz&E1f1XQy8hdy+CO!%($3HfqA4FL~b zg3IgN a;S>yd8ToJ_4A}DUj~yC$ zv|S4e72S=?iUV4 ibBwJd2@Xg^rIIO zJtM_Ak;cVxjvfOwHCS!}j8ujJ KZK2n zV;|4iA|r}Zsxo}_vj>iyHCh_j*ys#TmwFKvF_qSu@M_NCn89{(X!FEp;KvNe4^bEI zeeq|Br+G!)Ar&$`Vwu}yzPeZ4h={3evwT|vWfO!CakOMCfj{AUVm>6FUBp(UCq`|B z?ajx!fqplc&_m}1}|lk)q*Vb@85tet*qHMdO(+Vina4o*ffH>n{mGL-^2BdGq^He zb}yQ}yJ3hCPYYRUfcK5odyW56rvw~FOBf^6WTn-QDpUwI=n!U)S-!C*d7nmrx%Yk* zj}{SuESnwQ-DPrXXtT}SdcSs(D}rygZ0E%iK`&-6?RUE)A|EMP0Tf-DLkJyVahtY2 z!hz=!pVYd8rw*V(3;2~(vY2n08 Xy)W~~N_HkG3YtlCgu5?#r zwWyJX+jY&Xx_-p3NH;WL4Fu+@x2dp2(i3H8hU(BI3%vPi&a6~>q4N#>5g4aw#Z|mb zO6%Ruqnx~ZhE5rFJJl;A3Zrd5*4vq3Uc*5z85IbDsGIlfP&E*@6!@`q*;@Rk+^>U> z2;a(y9O$o}O|c_Vg|#*Lv$@2SVkvb4#E#se!(&}Scf`}2piC|bn(d?$78Vm-sMh}H zyhCMWVONaU%>rq^KeDyvud2^<8HGLu#KW%u5*mBSi}H0*&s(5Iyq(qh@nwni(1`Lu zQ0;E|=PcB0E{y$M*lx@M5P1AKhOgtRahHc$okw(F8gl0KZnvtVM7Kt-58VgLVeL+} z?NFhdn 3FRG2bbK+ z22vwC^2i}{ZW6?1OgqxFUOD!Z^scl94yjQ#aq1y2s}S}xVZ+9jRgfhvYdE{ZgqyW= zj?pv!iz7j6_bhYf<} Drw27M)bgsjT5kNTKMuW=tr(u9dTp&bKu|FxV73T zxq69XaJ4#LILT;S_y=1Hd!YWT;@ !O?^U%GRr zc#(5z%>5+l4U~XhQ?P*&(}E-+?C^N`&fRY`=}5lZaZX;W@w~*q2qz&JMEaDp`X?LC z-5t538bwoItV@d5T-@RGU6Dd^Ytc8}=U;L}yX--h;ImfdQ?=0X&!6`Z@FOw7^VXKy z@u1x=(H2F{fyCxDMDP`mXIgrCWCxgUE)2&LFZTRv$u4QjzH+9 `AXbDq*kC&zo4 zUT(J?^`bda()rVOY+kM9cF;8EzaK~RCpzpD#W}-RL?k+mMgsk18#yzWB5n1G&|W{( zuNpo+i&10WL^5;XGPbSj)lplJmE9?6`38^aki#Cw(o3Xc!>Y}h`XfU&tl`J^_0ifP z@ z`&U)C=3MVo7`nQyAbI)|)QNR7Gp$-oh9<2_V$7y;<}&_``ASC6Vx)=dt=(zN5<~z+ zTN$6xPvk>DTb{2CNn{16!NwzwR@P#9S>pJAf+rEvb>8sRX1;5@wvOV$WqF?E0aW2! zR~9Q%Ud8)6PTmd`ez1HFO@Yq;vQ4*58R-L92PgQR5WphrRMb>`Yf?O7@F$$>k}SpS zpQuvJx!6V}M0IbeJ=NO{hd8V42@F{{;`yA}8gBc;@noT>6GVh>>-HyxqU1XnP#(op zEeUs`?8{46SG#b#@bEJnd+}Neb?DW>qUWhYN!N0(!m%DIK1an*qlEllczE=p5n)Bp z1mQrp!JO?Qigc J5DOmqVKb`2hdkC zaD6h2^bT!G=II`+7cZ OsGHsz3}S=d2@y+Eopi{OLcQku*WBBARz;tqZy>(3K>3 z?@NXWv)8*6+rqPWUu;w~!Lz0hl!LgJcNJ{sDm0pgZ1eNcZIyYFeivure-$~i#Q8zp zRyr^v@|QRY3zzye!MNg1Pqd2E7V)Jy`;TTzp>KFa`kAc_WqTZsW%^3J-{o@*knH4> zw|j3cMhLiFe=@D{FFU=0YL{=f&1l>TA~qVvgVz7aTcNmLmv c{!;huUJ2@sL~=ba?aL0s|EM-MB_{t<%)~+a#4D%8zx859Sx&d>C?6x zA^aLIQwyJ8SrJk6)ON|u*0BxiL|7DCL;xJgJIIZaAhpw{Ppflng2FZ|?N;a7!UJSE zYAQ3PQWH}WQ#^>ZC04PXfjykS=6JA~SSS=%{z-dvAk!p$CaWAc|K4u+NB9aZ^c6X2 zLg)Nx99JbwR>^@(CF>mcP&(tGVRng}$IL>MsrV?*_}nL?1Vnn|*-Y?}Q42NZs`nhu zShf15`OX9gvEYqIK`_OL&=>QsBiqF>{e!A21xp_HeA@QfJ0nFTN*TWUB?}V`?-vV8 z8{k$~qh98}p0pQLJ`bR|&uMCt1-jb*qrB2%W2ey5xjMjtT31TTE(?n776~q45WjHH zids5JJ}^HlLecoa>h{f|v1QE|3s-UQ|Ex+u9)x_&iooJa30i*r;?{(F{(W^fM#b-8 z4lc}z{R=SKk$dkj!SAPEFj*uM!!()2OYc^Pa+-sH2B3W1KtPDv^q<<0i%S-vwa6;2 zbZ^z0xR^ f>5SU%%JrhDbj^Lfs2K>~dK@0MzZ zh9G~+91Mmbbv~>9Z>pW0p?XiZAI{WpBlnacaTkpD1vtg+emKKf{`2$MMBPSfO1sLe zKPDEVsRSLn_*PKye-*#0C9-CU3IAib+ZyyzzgF1V*Q__BOWjOR+xi2NFgnHrn#42( zTd(d9eBROw_urG767_Jpz&BujINn-bz6q!X*}-!<$oBxgy80}N3oguN&K(K;^x>(K zRF`ny|5jZmUt!a}Srr!OK)&lfG!X8&w-K7OQ}S!?wAMX@OxxbVc;n2T$@t~pRiI c+Ybh;ag@VjP?!_u}|l|Q&{`nVED+FMOYI-m$5V!*RQHR)*H-S zif10SshIVRej_KC7qrnPCB!tzn6SMfqs$gJa)xT4Ta|sIoE?u4yMvbNxBm8myj^<) zeH2vu<+b=0i&O9}j8O-rw3D{|m(D2WO`T%Q**5tt;H{nf*Jf#(wUl-y;{d2rs%k%e zHd-=bQS`J(bR2B<#S`Tj`2KFQvgjS1=Ig3NU90d{y}UwIb`FA`DIXLbl_=yqWv|&u zSqnxoOj5h^*1s+erbVu18Ut9&wD?%6xN2xl;frUQf^Lu;%;m}QIJ!1rGoiLab%_xb zfc3Zu#*Ja!RkG K74`SVlsKl7y#+XiAibT+WxK s;9)x%-7N%VNJ^acsIpWyZNsLdIn_nz)X(wH&>OsQMP6w`52xzH5*} +fqW 6UmCZ|o}+7I{hha6D>Q4jmm w$)5qEZ WRa}w&)UzfhP zh_MbRd~mwI1~O*@nSGi)B*2DJD#ojtcTyL`AhYe>q$6K+<(7{-093Vp^d$FQCBC*p z`3$Bm4mv`ExIJp)ZuU=j(_`|+DoR+e5$8QGXJhBA28mfnbw}>ok^t|K-}LE5UpBN8 ztG9(-TkNlza-BGf`<#}X?1{-6C@-%aYQ8J2UJOCB?}SGDu0kJEI^D$*0p2dP!mfE2 zTUJ^4NU)jYLmIEjCtEZ!HJ$|8wkP{Yss~+53iCxi5_s@w eJuT}9InzpC3f8?UfpKVwSebB)iW9EB0RGnuHs =T;d`-g!~zIzf6pU3NBxyDil?Xgu{!f& z%w`Me8?p9%#t}oncVo7g8ysN9gKz5S B-ZIqvDv)e+Cu< zgjB|D`7&*ss(JY&X4xF$*2(hhP%UQK-`Rs{$f}p`J(EkYG03dL-iOGnJocm6z1S`F z*T|Ba1i768`5t}lHRl?ycHBvzj+6gUiobXYFqne-8?T=p+s)kQnF^QraRU}<(-y8& zqY<}7>(vtpc)xqzB>H4u`k(VNFL-Tut0Eva( Y_X?Noe+N4g_)g?n0DvAy~go*{c7jdUYC zlJGuN3v0eDo)deJ(quw$68p%7hsWxaJ?ZbmfM^2%RW!l gdv*`kk*TE3nSco_L-8933p6204c%MMz}1s;4|t; z`X%krp4l~OXID<*bw`BGcLKnu1S~y$Vk`zMtq$27ZO`_D=mgtq$`Z&;`BtGXW>29* zev2f s00XxgG#WLM4sWEA`ak;!?w`!LJ`A}41 5>I{}O?dM*sb?gPwmx+b9px*a6mb?E^5Zr5){FNgRH^lwzlCSjK-8ZVOve7Q ztnR@N`$@7+otGno^zQy(w@BR#YD1%n*a$ifUz4?N@HRrreMR}SE0h# H^d^kZmQV8^1+>f4QMuF zO375Yji5xi!^RrG&x>6 z;p5RGfCSR_>JiFa{;}FoW^H$bV^It`BiO4+YY5 fVsyjirTaw}v6J*56kt!KgRn_T6@9EY_yRPAbcUUL0nB+7}mR5y(l@l<;@2@Oo z{uWPjjHIfr8E0*)uMlYhg@|x=eu8??`ga6p1nUD|sa323KpKCK?V^&^9U$)xS;g^x z-CUK8g@&1AY!qsCIL1CRjA D`BiyxQKJ54h^gO>$aHb-1sEw>Km6 zfbXtkYkr;%0sdyO_#Mq1SUVca1KIZ0-fe5$^8q)rc#GJ1v9YBmV?mwXzcS{JP0gHG zm~IgiDF `dgBs{ed+Vr74Rj^_a_^uyuM=- -qZ z32n3pGQh?GKICJHYT%lEmxVdK24~C>PF-(*ML+)n_Lo2@LPSPx4loJMY@Rkbe6E03 zlax13R)cJQ%S?KF;A|P)bs4$+OhxKhp?+RVh2t6S%9zfW^P4Y9O?hp)M|Msek@LOs z-3HSkQ|W6vPhk5*cYxG9DwPnCcl_IRvz8`o`R0I;NioV+t93@t&7y(}ry3gp?*`im z9; y@eQK_2 z=3W2YV3pZ+A7=Q}SME8;_~j^}@>kt2<27aLh34Rdwq)JUTDv$5Ivd`ba*Tn14%b)M z8u_i?c&;sz8!2;?R$8v%UqR;%N$){h(D}qp!&FZ{Pv+h4*8L+N(#bq1+Mgwk{!!S! zh4*i!Ryp8Xz-Ey-Kbmdo-DXiDk*vuyP%CXGZQ)19>_oG>AjmCwrTqn+P*!+mYU5Vm zn!H_WP}o|$5cc `#Lu=qlw?dU%U9dy>{7; z$XUCh`iBy=SImuuWvIoEZn^NOJX`*j4dK`Qpaq*k094`NP_OJ{yZ1pKy1K)(#Ho+H znUpZXF0uFmieU2WJ$^9~tU{=axW049DHyI@nPtE$`^`j0nT(ONe9q(k@%bFE!>Pw^ ze}A0tfN_}g(gP?J*_?xlL>ykez+OarzwF(`=fpGhpH5$)F;@GWHq-4dpDQBk-11)P z$3`*2Migw(aw#ibeKnMU0e`NBZZTKAs-9*ml$L-qpITj>0^a`cUqOQ0Z1_ciW|B^t zw(zN${;n8+ayVA@KU^G*OHecS4Y$>-d2hAFupFSjt~I5{s0TDG(;k0angnqbpW zDHVBw{lCTeOtmeE*D8S;wra$Q$LpXW6cB8EU}+uPa{@YC_)B)&VYm&t_O)i0-Fkcp zDVDLbR v zNLC+j4w-{t?sW@W+w!X}|Kw;I`HznW7CYp3v_ypiT}5T}N%lq|$X!J7`|;9gr`APM z=VUim%yE-OI!iv`FExFknfx6`v;sHjh+oI{coDQ*DG^^a(G~Xts~0k)HMLu7kREDV zx7=B(LHM%DQMM23*Yo~zMz*2-mRg`=2{@HMuG1>5fGfuJ5=EQG &C+Gyk4hKMY`BC@PE+95l~;#%h3_E4wH?c zU*m*uT94QzA FFByfdu80Wg%GPsT(j2K`imY4| zyOJ_cIV6uZ`hnAaflV$&k(DzL`31y%3Mnw$i}m(Hnsb=9fk&7*bGR!}075m%L)eKw zIg)N|u5B#+Y*Bmpmme~6swUW;FsF$M+V~OLy9*VLj9J9F4F-0C4o y)n0xKWd&;vol5qVDVp5nnsKe)(~MwuNVJ zvL6KF&muF6$m`a0`UgEB_!aO)@3}e;#%Qm5R^SOC1p#2R@!FReWWr&oh@kc1M5HA$ zZ)7l2MY35S!m7r{oX6={K~bTvzyBsrqE&^xFQJ{h6GZ`S&vyXu$4$dn$!BiFa&2Wf zG(22a4b_nt8NAkwYw(%GHpjXOX5=J3WQ&T_tX!!mFNn4Fz3Ag#)LoUZTejJxd6KqR zH54cHrF*i@zas-L-QU*-+|+v4z#X(O{J~DxM);P*TeYCgpxHr4xow-<@b_#ejR@@p zkGF2m;JOj79Jvg@=~v 3+PpW-yRwQAm z?!IEh-S=3r%+&AKVa>d~0hu{Lq3v!+(iyuC1{SP{g+lghB#Daw4xesJ8^}CLbIJiu z?)V!Xh?o8Sz2up~T6WgwZEg@N=oj5x^0bwYF?Cq<9f7@`1f$O6yC(=sdEPQtby>XC z26Mxt>+wA8+rKTXjsiyUm&&%8D!w`Qo`>k@h~tUN3K0Fe2_f~MPrCWxblW=H$02jJ zkaX?FeZDNXGBfJrC!ZJT;_=`dK*-Ne(0E2^>k1)`rhBH<1lH8nDlnZwZ+#zh3}`I9 zX j`abpL7EA*f;!c`BdQ!F;vOjvs2?`)&tHWm6?h{Ni3W(f=WIq-I@CI+<5P7 z{(iuQ>yo97jo+RSEr>E1>v=DdwG#z6ma!F36Gq}N>0SY=4}oy5!wp$Un<@3(SiSgm zNvEQ`3?&7my?kZ|ma3fUrEXLV^h>|QXVAj1?T;mp^gMs%a%YkSP0h#sjY-Dg^mbzY zdK6Bn%u3d=)o-bb%W_iXQ*%<|mhQ1-P%Cc8yjxkwTMIfCM3gY>?hU3^gdL2U2$J_Y z#+^sDxAWsCTbmCH*&5I}owR!Iai=#@H)J<{Ma7Zk+Bi+z5Bhk3lJ KveTfaI)%` z47)Y*<}`+AP2#wumW-4KU}&6GMeN6fncy_h4w1-3;^wBH+8Y_Cy6txm!v0vAXX$+% z@LzZcy{vOZ5I;;m8IR1gW=g)f5K`HN_1OR9xVxOU2zZ@{*k)LEs9$m2(cBT2u;(n2 zzbqz_n)^8EU@%RDTUafR@H*SnGuaZA?v@os3LJPY#lnhTfbDorgTQvx&*=UVId`8e z_fXLFauq}U{l3!;Mqy!e#sTT*fPzR&tPUaHaLdd5bpCuS7K>H!o*D%h bANu5Hx~Iv?Dl*l1~K?A(uCkSp7?KbvlNAX4J?q!3LOL0_AN{7 e;U}(uOrIVEpHH5o4t3&Q9_Z2?MGXX&5@ ;TCi8A0)%M%BXJjtlQ-GgwtBL7# zQs`R9p(hZAx!;yX8W63yynGghkyG>UcqhhbJaE{syGvK>Al@^#ePeLng`vN2$0JXq z1y1+=E!#-2x3e0ney+!qV6;gaFNVhpsPI@gzBa$|0sEUjGR<%2(DIy;|L=kmOh!Pz zWQzp9!VC8pN=w-i>sK&o41PeSh09&wlbvhu&NTnmwV?Qbj4KN+v)V}HBB>139skOg zwQpGN3w}`?FI2X8&k KO-d_WO&3p|JYI&AN5=h=|{k=oC1VM{Aou0pdf|1Qn z+nq4G0o)$l*YnzgJLb0Z2@Cm~MB0 z(}O=Z{ErKq`b_Gr(;R}0(kjP(Edvju`RTtfvGKQy{# _!|OVfLX%&3q1hW;fh_ zet$UT8A=)h{CZ@ScX(HI>4>F|2edi=t2*HaTez0sX~0)we?SY!5t+pdWQa!iW=Gf! zfFnT$^uB5*2JjA5{g3*7&<#r(@GNRs&WNhHeCU|8wXJI1ru@zuYdhK>9IRJ VO-{P@Z%Yq7nLz$G6G-7SOZi3dvdOno4^_UF=K(@-{(f^d1%{HzzNJL_$s#MO? zRc=S8CyJ!rnq|)tQBQ^_f8ED@{_G+ooqn1Zb>DQ#fL`eAhjVg(e)!gLFoqFah?c)I z+V=Mhil;xi$y|3+>rbd{5Qzx_8|BmORD^enlTnb_lV$#EQ8 r%}r$GdV9# DV#VGOjo<84^7f+t1peb7F+&2n_xUnIbs?bY;pIz4! zyoMZ*&YT&z0c0o*z>fU 6rfSyR-W9O+_b}qWj zXiH)b#vQ_@BqhRqMGH>LNmum@_1&LoOc3`$Xrs^cmenW#jT(l=$Gauopo>58`j3Cd z7LYmm8N1Ja{Kc;upvqWc9_>F(dxBkx*I53A^6_(g_^HnRY?#_H?<37eZn|9u);UoV zy-JKV-~;B@C;URRT=vy?)#GpeQGauLWc;$US2#UmaOswCERL*M#fLW^{HCmQCHkUZ zU0|cICO8Xlwy`yiZaJ qktbjoYd*8xF+0$AH*gt?<0Wvc~0w1UUKnr`_3Qi4!r+Cn&m18l5UHDQArDVfSX zKTlMcS(D4R)hW;>y(+C4=LeXN$hzHK*@JMv4^M#|p1aiGF&-Z^J{L6o-|{o;@z;zu zuCQ+mNon=zH~9eF&ehvr$7iCHNh4)^7)eEGuY@*g?~8679{r_@bFTV6K3gizu%S!p zwcq${yR$>3K)f%&72ftYWCe}$6SxKL#k}iJlVye-Lk`SXzw@llpv<55uP&N^!r_}v zfN5Cy5l@$tNoE6NW^cHq-i!BG3BLH=d2J}eg+1EfsO!eNYnnq1&8A)bnW^L?Q8&FV znlKB0-c9vx+K72)`CNzXuQayAJrlZ_$T>D}&8t6kF|(?Dm?pv0UT9TSl+#?(PQIZ8 z7(jGacz6I_Z++VLpJL a)c21BV3rEX}+Qcs%ANJDQMX^Isj8?E4Oq!}NpQTj<~*gL`P&m&|B?5u4u8 z#`d+SHyn`g#hva5cm`t)!RHio?@3%lKOlEx+1sUWX5Om_ve{%k^cTzBezP(xT2rsq zdKqvGhb`(88?FHT)cQLvQDBKNP1apOucjVwwu)QhWup6yccJ#A7whitrX%22&6O)R zsp&nPh#2?FUk}WvN A;;{Rgby$pw?}$imUyqE840b7K zW7G_kZ|&sN?y;o1Y+`jR0;dQ6`mOWijSlU)*hg;S+-y7CZ@S^DNaV3?r*)XwEbg15 zo>Z~5CY0LqMa%UYNBN2dE3eb=<^4)SDJhvxUb;^U#a(gkgGK%guO`jS_$9S}uf}?Q z$bqsxz%`E$rvmtugL;C;9g4iFfKY`3fXk5ynF_%hOA%fI)qI4% |z8w<-0st%WeFWYe~Dv?fFCwiT@%(UfkqH(ZT#%I474i zGN W&l^ z>=+Yz)7Ey<+6l5(#6@Bs`~i)X+u52d-RH?6-?`Cz@n^BFgY3#l3F919>UZ4N1j37w zd($F?#{06=gec+l@hVWZ2e;PY@cI5sZB{KtOKBwm)Q3bZR(Os3z^iN?qVs2f0DvV= z;i&n4Co<$?;Sk3qezl ZI_;c|(27J0;+y_tV=A3JkzzW+8z$ m vNI|0f8Kc2c>1NcXZqy@3)|L*8yOfxW5 +i`CFnnTtXk_Fx m^LG*+gz|w?>JoM?@U5Vu#v~OOd7zvEiHfAZwibGVT z?S;BvLx0yl$`-RV&ELMN*pbGbRD Vv(; zEHh84``O8_u>Fr4Rl~yIg9wxl841`usGIoAhUGtmNcwhLW66~yU4eU^;~iZ>vt=e| z*-RB&k9!tO%Q4W}^48RqVPhv=X?!9>p!lbXd=Buo;(O0iKDB? EDT~x2I7Gje{GptCY7g-4dy$xqtzj0ofbdq#h|9?!KbzGF)_O~AuML e6>t35F?scG?M#;U*t5w9e|LC^#q!oJmdhlv zR@FMSJaDrBqfPDy(3ov2P8hd0wY<)q(T5%j2?xy3D#^ozhZK$jowFT+F&E%+sq4 z-hH$?8hZQorx%RDv`t=_;PSWzEn5YBA901)u_EELR6;K-b^LJA7gJz7l+eGzJl1IF zOPpsC9Lu0y@6IC^)pY>VA#KT65_H?MS@gX0 8E+xaIllh8>N;;k(KS9|LHs8pu0S=hW^RIV&2n!DtN zEsv2VZrzP;fx@{=8c$TN%jq6hnkyo(%-MXUONNBg{K{iFt5-26Ls$LfV3MH6 &>IaddI5-M`Vfn_ 0)0B7IXs7`` z iWp$xPz(6@sUT!^ AX zqQ%_Fz9Qi&_FAUE&blxMdK@j67Z@7iVdMDEbF9t~X ow zMzqj-G47TZRy(mpT-r`9pJOV*oE3)-2P>}zlXDyRs6{_Yn-Y{Tu(S~yDVLw%R^`fb zM;Qe@PcD2@q5K(00SpE ;Txf*RY59}(<|MUwsxMtfVn&reD*PlA#6*LymvUB z2N^D@7$)GF%<7ae6Sa}*qCc6>0U8X*W@=V=U&ty=9 0|e1pbu3D`#9YHse3D*lz~mD_#p;X-!H~ zd$Uy@%Vns*zBX9S*OLp>AFx~h!-dno{l|MMF2Ah#=H${uIcDsW!_Lh4R8sNvVdn5A z?eCRv0o#tl^ycGiH>->ky{vFBideUi>hZ|p7vFv(#d$=*^}Hzjp!=5H{7*!(x!%*U z603vT>(lAHapUOd*pmb4Jfg|z?99sj`T8+2wNh&vdET4r(pR;CN~YKB%|HMX=w@=7 zC9ljlkkod)vANQD^>Lj$`(bb#lUn1)PMuO`p6lGI>Q-ps{MqkZ*z4qzn&IXPN?{k! z9esn$Q4Eg#hz>B(ffY3`W3VconvK|g!kjp9nf)YVJpF?Py`&U>`WP})-!}Qsw;7(N zvSWOttw?|SDu09UrZZ9AjZo8nj!3$-27?)0seYtI zdPt+6lI~LFlSDc*>kQ@Us}*+JOK9x+aFX E4CK(YYS?X3 zo2#v#e$CWPHp|V|e@R}`rk0G@l@l_XdlRmeE3#?=mVbsp8TyGhAT3XQ|z9v$+_|AD?=aG*#*T&X7skjS^0m z-)y};y*_1=<424LWQvED?%E1)JsN8SjSk{Y0lbNkk+N(VK^0+Sv(yy%5Xi0D-e5`d zIVX9|Fdsf4!EOs|L7c+ntkwJ4KA7!I)os&>Sm;_RY4JrWx7)B7(GTi2gS2lQ*WcSt zq>#6ta%ujm{98e4(e_4OJM%+gVnIhnBqP0u`a_gDEww44Q6jz9Y(nL0RuhY&1*GBK z&ugv~$P_@BZiW^8@$$v9T$v}d=6I8bqH6w<*;hjZ+!)iWT0k`$NOhWT6@8KzVUvO2 zY@&gK-VU4P%IF`2N{`RCbJR$`+xgrU4U!=YMa}1Ap`Ko}t1`v+O6|?nvVQK&N-*S9 zsv0rK0*!xoVd1YLKD@X$LB;~nA6 &@asWat<{XpI3=&WL6fRWM8OGdlF^BSDjWaUaqUoLg0 zZSyiPD`Zbb$z5M=z&z7 lw zm{L|dC|;`EC{@+{jJCbgMI=czUYURIQ{0RG%|UTj=+RR-DtgA4pvB0p*?QWWERi@P zU(w|pJaLq|-TWs*>N5pz@|*HA5*eNrQH{n+cn@--^yWq`D>b9k^(v6R jRB60o`6l zX>tmNgvv@=jPei#_%x9Y5FYUom=RD&^%A_E%e-};IaYd&Z#G#UV`i6 IPLnVAKI`7kVK*cVR zf$RNO@zv?&99SsbxsW8IWCMf1etP=gqKXq@Uu{OK{bO-%(TW!@A$2amQuPfCu@upN zm7uQiqRxBtJT 3z^+x*krQTTEAG8T6%i9KBu_-+JRG!EYc$;!!9QcSAF4-a;;6I%={% zhh$&p9#$3??OQfZ+#aM31Zjm@4bJm$nYicNOV>fu);7{i%8Kn`IOTg1E*~NES^Ri3 z=>AX0CtAE(et&;ds99sPwymsqlMFhU>dn#+e%+)l9YEbChiM{nGCe;d$+C%W(ti8p zz+msR-R?dapTq7{6|&I p Svd2`G;wT(1sSSKsLn;fc9TnDMTl%MlYe+}g8GPHe>K+zRtz}>2 zO^TthvD&@qlhz-7Y_^3DRPg(T3PPe)XJ2&%U>Ud(%&1I%>ef(1!(g+qOysffsA6ef zdQzX3|GJ1-+`*P_JEw5&e!Xw7I@^x|rJhh{)y0QJ!BB?Zpx{+_+1eJ{ZEzl%urC>< z>CH8uiN;|s_Z6p&5O (*Iiv z(5oyTLoCnz*^}ei0R5|c-|qJ#xCslSa%2W%a5F6krwP5w)JypL (nGL;(0 z=w@Z_v&$R{UqvvFv%2-i&Y>r(YnQ#wX^g}{lg8*jCx1U#l0lLxKEej%(u^7fzsYl4 zyzV$J?aZruEG&GpPz5&~PM6^8Hn}!4arw+;H7^?gyq=anLEclA$K$O@3`E6EKNKqM zKc=}$zJpwey@c6L;WiJaex_)=WisGd3~|_+W5F+H>?LB-IO^TdnNV#0%Jt7s*AEZR zsqHjBz4Io071c)-txx%7i*j+pvtxWe3kd2r5%B>&m5UPn+~M-Y Ok1E5+=_%AmJVu&8<)rQ08@>333xgVvnIMHGJ^N>E{9@_GDa z8&Ks%AXJ*eqW*}&)lMBc?=#qcq6+Ip;NRxr 6r+Pv;r_ztJ zMa}3$AinsgOThy~GMJ{|fDW8r);sNFd?~56oWHs8Pn*yI_Y9?24CRNFcpK1X;d;H3 zcC`}`j$MdChqv5;OX9C0_9(c`qh0SNCFCKmWdMtE9Jk{l;n&BG(P`{wJ@-McswRr% zdp`D;5D;+`6%Npu#H1#KYLFTltgjMQW)Ot12IuCC+{7M~arX`ki7+OX+u8z+J+2p$ zRdVY17NHR*({IUlaIMm$gZdRd@b{jLnmnAW v*#{-&i+Y2`*xZ}1KtPs}r${CkRoYa)M zkFnIpad1pi`OO{yUAVrXLN@zO$5csK^ctOsRr4R^>Wek;CnSlf`<@h_#8uJ^UvHpr zpL=WgPjj;~2i2chh0B@D%C_B*Cklele97tO!iiNs3G{PR30H6=Q+*%ZPNHMB|GedR zi?Q>q=99`+17hv*51R-_s|VhYdjR^8+c#b#^v%)a?LtU*Cc&B#Gzyxpts?8mEinGr z7tJik$8?GDK$_>gl2?gdRb3(7yd+T~Nj!6H3-i}=6Xy(Nz~0FVQh5n`wcZ#i)}R#~ z^=PFGa@J_S6S3a7yqZRnLtGTHx>} Mpl8#^-XR5YR2ziAq>K-s#=Ae%>~NrnxYM#+*HKUO`sgsR>5tM>=uy zzKhH$VvEO2ech^-!H;K7TFIx^Oo0P6z`Z|ZO@d##SKyt&am`09P}ucirXSsd!yi@v zh}%)!u1`J})f>5a!MxCp_9^#@LCYlgi3N%;sSS=zM+vbUH^q-ygyLtnZu`ZsSrUel z1iyPtcaSBy7*sDc% $C kmCr!d@dPg6_LX9-80cmNY6c2@OWrf6_0 zKV1qb=%+!*VkoMh{IczOjdoVhkOheHT+eh6nzI*5KLm1|#B!`{>8ZZ!$ue0PZ?cU) zD=S=Fe-hHyqUgXrSNV`>Lm&JT@p9*ZG}6sbU00G^eMb)zW?wOyKDx9l#ti=%2Z%ow z&V*D#O?ZgK`)ykfwO5fn8_DU*hNO-dOOI|GKli@1h+drb^4O X7yA$}MOqtCG#bJwjZv!tAhFZFr)8)aGm&rY;~MG@ts z$1Fa!QbQg;aP!nHUp|&%g>cgD&YJnPkt~NkaaL>_4O4`HLaw}qM(@;MM WFmPLnDL$>cgl(ac)&F29 zAQ)pw!xF!QgMP19-!}*==PPZ!`RR5M?O_r9LJbc$1xo{Vk|`1G>I+kTgm^ZN3Vf$u z2t<~qD0YMK*J0TKj?W|ITp&P~nGgHDsI<;mD=R78i{%06iGQ}ajKJD&hu~r0ZZkoE ze;6evbh*4!_0ete?fHGkZSBMvRaWR@m-3id2x#d0ruZtKmTiv!S0}cVzq?;R4jz%) z?yjVOLO-V~HvXf8o|JOU@ZI8+S78z%DUEP-8gm2FfBXWz^*T1jjGlk1K=ZJME1#0` zhs@EwxwhC9j}SM~f*`RB<;cV;Z1qYSLF3HPhJeaJvpicX`9^KdZFNy2tG7f}c{YHu zrd*l9FF@T87WS+G>)hx=U;lD!w!z*`FvyABDYk)a>k-IvCUgbr{#;I^Xia!O_$=d^ zVrBw^15k1a?924=a NAqZ<~VD8_gA8Aake zjs1*Y#5!*D;kZG;VwV18Ve76ATDjfJXQpevU72vIk0Le&DDy`Cv%xq!3y56Ay?-;5 z;xzb1z++z(6d8I~(fu@cv?8MZFhi?9R4_{E(r_A7;dwl6Ip#*RR5c}zv!b5)l;zPL zccD-1g49C*VW~dESr}sEV|V&fuL#nmjQ;OxhCca~1I`TO;d&EV0dJ_^`>i3~2qZ^J z#{Dze_m~nsQ~lAX=h+ ;Zus$KKIR$MD-@SQc2bW-*(nOy`(VlqSZE4 zz;VH5llL=-56e$B$J(({DyGEc3vl!*2(Q!1I_>8|^V8~8Ykx7?W*rDhqmgqtzHZLD zZ2iIisX6=E3w9O4p=9Y^w|`tpjDU=HHGS5xS*Bwnog9PTnM8-J50zk00%Q(x5?1)| zzNWx4%q{JIk#b37a BWuq$G$!6) zjC=VKi(S6$`zS(b?uDFk#B1d{QzKRG8Z3WP-ZZAwOkfc
d&$Mq7_8l z{Ddo8nb62l4d}Rq_Y-Hy_B{Z;@*seJ#(QVslZzc{F(3Hyr+ZUjD~1L^2_*kO5_73L zWg0>ZqH`LZr HP3Bkah3(fH`ipSa56e+pU}nzDmzEv zLj1;VI734JAf6hqhO6epVm0_BWy@ 3_)*VtLf`G;;^WsJk%=Z;@(;-0cf!Oq zYN=~PFc#}bWlZqyB!a`74H#pmJCW{_GSS!!{d5HYh(u|^0z5G;|5I1m)j1nYAy>!c zfX-;a(vQOlB7B^bmK16dF2lGNY=sD%fB}`Q76VeK;_vj*uI0uyjuN$=y=!#JYgw+x zP5}`P9nq roSbEkY8XG2&yeM)tB+TG 0pSOOZ%>OX|`;x#1XG&e|0fm}h+FlGrxOqzSp9H*6 zW17;vB9w4`Zaec2=EK6p@?GKs`qB$luQ^l*-&dY-GQBq>Qjxj%`XCjD)<^S2`PW)N z-1AH-Ir27qmBu<=+^3MKX(hQwAhOEny(@HNEWKlhj#-Y*VoR0bqf&=o;{T?(FEUha z|8svtF7;k{FM@h->gk>Jd;qE8Zb`wJN#|Lv250+su8>#T`|}_wAwZykR@tR-5m*$b z659ExHr}KvxPa#G%leIM{OQ;X#QvJPE*`q@N{O%73@l%2o5&@G1qn-bn 7`#518~h^c=^qay%)X954yJ=^gp+0EM=EX=E$q8*SDb8jK9VsRO?-R2)6%&w3p%O zWQhcS>8j*suIhJC9dqM+OR8nT(qFIo7i;jQX29 `;N-j;`%z=74;;^0 zpQb+q2%)AE6~`VM{R0i+){~85{5s6&R4!x`*VFV(Hi_ZT4M1`Y_SPqXeSHVDG^A(N6XCghJl zV8#>q;Oxs&s?tf{s#Ig4pKs>ij7v@aK_!HNI=z}t)vXyX=RCXAQZaWBEo2UQg5F?W z)nQ@zvw!Zla~o#LC+Dd<$Mu3j?Wi9cjHC2NW|o>hJ+ P%mit?f91Kew-_bg9Y{Ky}J8w};SyT6=riSLN-aJD&Z(0=qrKfzKnMQTz~ z|F6;Dp=~~YbnM-Ex |{lmtd!VV^DgyJFutuK^{gWl*!GJ+RZYBs77PwL3blZqfI!W!*i?Y+06vh*gPhBo z^`G!NRxi1;PBTPhaSWBPq72A|g0gML)z}|eN^1)bU9gWF_=sr#tpyy)d>dvoX|P$l zA5wO?8dce9yW0`z`)q3EQ|{W4+gh;ZdEJrmjDR8fX+=9#-vYX6y@e1&?K7?u9s_F0=lv*Zj$ZL>D=rcm7~FNwEvv-K5)$kjh-#BV?S*pP|J z{v2u)Rg1I@VNiI=rg#2-tW~famM#VsyMNGxUwY^Ua`5nd2&koHD4Z|EEJ6ja&m{4& zmKbSNUw2SAlpO?5xJAu(d&c^gnyB)qqNKN@h+hRyz9!O?-HVvPyZ1G8W3`3}(iAUj zDN{<&-;Ejz3s~IJd)fU@>@A*`MxI_em7QzP`*NMnO3d>~*eV(5QqDGY-Y+SiL^M*D zKU;g&MGBZ?A~*vap%Qt`ngF2a$dDgLz+KZS^&53c3 kIGAP zTQ~X>wu&aIG25UC1(R}i^$P~4@i!>+l(*3z)bh+Rq*f2#iEC7L+%d9W5zU}Gnqc0c z@Y=|z3Kvjg^UhlVfAMjWM|?RpgQa)p@KZhjaCNAtsvMhe*M)amJnhCfm;LkoGcHBL z3TigBb;j*#*ukM&3^!S;CeuFqwe%}8Irrr*V70XIK2E4>UF>HizKFwSkPBOG$H$c| z7IjqPOENjuVfgs?ygz}?z+yhZ8D+B2(A`=eTU>Z5?W4fJ)wp!%bFlF7LDE%EtW4vW zN*vezo?*z{ 9INzM>-JoW{iWC)>x%0O ze@*FLP7FrGk@p8u!Rbgh+OT-+LQ&6>0HPWMH5FrTa1$>yjo7pH5cQzhZX_uTsEk=S zWKTnS&n#P1?}5)fe7 f6gmUs2zzSKR$-8lEh$Jqa~u+-lZ$qSKIsLZy6QX;nC fmk}(O1xcRWjHY6Sw)`d{?c?30{rVaT?a}Tv~dPNKBqs9ArH8W}1W*ZPT zWj$|78+{(672imPeEs?iZs;T>hw=|6Bn7yTaWhbU^x4hOJEj=8rQb!}3k%uPLHVkU z4W+?VHg3E9teSS17C6Q5Cagm1j=dNv`IdMRE&Bos5D4#={{j!WECvIB8v=$LKrVgN zcs2 ->1tW)LuxXTJsh90D#bs#(hb2 zJtKV@fh_6%S9)kP7Uds}*p+oC_3K{4)XJ5TX%m}b3a%VO0h06mV-g+|nA(UR_?uoZ zMp1YtfP+3k5iA9v_6NVQ7J~OTpqoFL?E78n{3j}BV<4UT)Ia+nVNI{ue4SSUvXNzU zSd+&lOO}I{NQfm2w>ZlFA1ldP3%Y1?-aGrYK?v6ELR|}3xC61sjl)@c;s|F^909xI z2MU~O?sHPU30}O%)5yRJ5q8>=Uu2Tho8EU)S5X}{c=U3LU6Oe8*kG}+=&ijs2sH@R z0<>d&0HK(^GNhORgJHd!dIXhF0v*g-lcj3DW+-i>O?$R87f6l4a%R>gMKf{`Q`)M} zk8o}MeUTtWJ4DX nWUoPR`}CsqTPzAVeh9z_#k1Y|84+$7)R{*_p(Y%iY{ih& z3MG)Qnuzw$HTAW>8N6_Cl=WV*T1Be%iTteJ3}cbt7upU%s%p)aJ^oA#_^)?=e)-C` zqHBF!%cc<)a{0&NVKG30RbZJPn9U1=)dRcc&15U8%AYS*F%jaQ?EJEB1{`2|`k-W* zGlAi}k{LaI7g_yIX#QaD<^M_z&IGzxvj+58=PD1&$1M1n<=l7Uu!{W?sj$Opt2Mf( zMehlq{0ETt&2a<=Z{{BOqQq{FU9# zfzn=Fi=VZQas1vMeA6B7a37{CSo(tkw>mT`j9NetO9B-tC;gN}To8`?E%nje8aR<2 z=pNI&Z~_Ry#;w9un$!;T#t|Eg^d{^W!P44W^=7Lz&jevA@YEN=8{4XrRG4(}yrpY= z)jw{?&fN#}CTw*LQE_vvLw LNOp M zG0S16k{>BKQDqSQNNXv~9-v=!|UkN_;#?MfBH}=MYeZayfqGy^E-Drre(CdMo#j z%uKUhM{BuJOS^ptoHek)0L0*53Ifr0VV8Li4jLK$-Ns0>3<|y0IBy+0GR6W`7r!>s zjgKsUE&3Nw*vjFcdYN!md!zB`b!WQxJper7qY6us MaOe_e#wn9eV0`#I`93?*KQchBO%)XZ1O*1UwPD zkoOrbVV_^Zvv|L*S#Gpeg*~{@3tVtlfjmo_B$7_(p3B{*G7_J{y?u+;stx@+otF>2 zs~%K60dFL)wVCoqC-HA&=u8Tlg1U1srum-+oHnw6V1_DuVk61mZ^Fs1deKTHNV^q5 zN_2(Ny!N2ro;XVJ#?jxv!O5DOYpEPJ0{8BmMATV{;*LYxf1!@_HuUX1Z@mvvwIs4M zRq(LiKbe>97&DW^V4#1ACSvNHk?p(6D+f&jnxfLJ=e7D|FdIVE6&YgA)qr;|=>GFd zbaX=buwkuhOXoknvVLv6OE3t7X1|!%Jun2Sd+DaO7z`oWf~9}0KJkivBQ?*q$H{yL zuD`l&APPUo&JqlgK`sbVz$XhH_gh>S@F?ow2JX7*v`D !N_WChTnKb@xRHx5 xIpIC(_lvJW9{=xx?@Sj4X&Kvh z{cJ`LU4^}v +9aSHD%2vb#>*)yTdQf8%Nn23~4`mW-E^W()U6*Os z9`uttgxToLd$X4Q7Dsus^}iblcB>kHemDVOoPCIJ809*3Ff;*K<>NbSV)H||ENEd@ z-GzJ8*hm);fM2E#7a*y7VsIKzzz?=L3l^(&L&bfJwa(I7@45;8FNRiJJ$KbSYc0PS zao3I921^R|)nGUg^>fM%$ZWWAIPsN>!%)QVbHT=d??);8_rNab3mz|j?JO!mE*yOK zzyDoq_aYa<=dr<9UE{YnQEL1jp0u-{KLE$#;3qnfY~Opz`o%gLE{$y1Db&0np5V1d zHrV8xg&er!;NP9SnqV8g#G=0ce@k!O`XyYG@@^^#EHW#mQG##j ?**|b*42zBGq6Q1j z!@YylS}F*Cyh=<~T!zXB4w?RMD{-`)OKG0BmOC@xtUbW^efNf%SYhX>&(qD06j-r< zsU&x%fVkfZ|E7MAc&zc{|6hhLgB3U+nfHNrEQ5~G$100p*)p6v{5WiP%W>iR&FaZ- zV_72hr)eXcOol-81Q)4*e8Q>MP`chU$-)&b9e1p!Y;Wq?cii$dX3}h4j%^^fEM%P! zKO1SPc|uXn76VlD3z%wmyK>Zru1|?I<8@jujk8!0NGq@Cm^iNAwts!e-3ud6VGTiT zRUgM{F@Y&4JdH %(?!*t;skTZJI**vSam5(Ca;@V+7*;y@!iQ1kCTVvVOI&oW5UO2CrtiF8PEJoGdWH?2OxUP13;umE zp9>dpvjjtWmFAl%e=Z#_bzx8Pl&6l*M{Z~6nd%Rgyru-NPxfY>>_WK&1TZJD39J@A zSrFT!2iXCB3c1t3Qtw8C!4|@%J4N~OWD8oe!J(@4Cr9Q>k&p9kyuvBWp`C+kVO;A1 za7O=YFWm2^`pzw&mmOCN|LT%TregoNgHNgB{~3kx5&t1$pm;G^4Ow^BG}h~oz4^rP ze(X=k04S ipN=oYXx~<@??f=}DQPX{KaIsp7>j-aOnfD bAO(4F*H2MNFb|3HX_}X6nB?kK7Jx!d9-W=OGK@Zpfd0tj|heP$=tcy zLEYt;A^n2u>55FJ<|mol3@QZBB?4{P%9p=BDR|4K2!j5r)DjPDK=F&D7Jniv@wzlW zv_w( ( 1j8CJUn-agV;M}l_Nm6ZJx#OfBiHto^tm~atXL~xDc9;r|bK79t6MT zW5D%7HFp7 _4V0GX0+xT2R}GcfC{;KH|v zU|@8L%D^Wgyf_!DZCp;kaUvkSl2EA^apFcHlfv0euu&> wJgBNMN(_x(7J;R<2jf z2k-Je@aAAM*;fH7`A_UZgLB{DI7W@~!YM{wlun)-wOQ!dI^(R+)vmN^GD`!NNT_%* zYsDjF(MsYX&b^hs@ &iyW?%(-m%WrCR6ZijX^?;jfWP>UHpgYmeD442uo=TkS_o=8G4=@7zq|)9V8_A% zVRYbhuFhYODJ{xswfMf(`_(-<%mR+M`&S}&k%Aj7S8cD P>@RWBHoK3kZzdRC5< z{qvrYq#j%7{BA{UI&~^drrW~>Jx zsNsh&Bqal&krb$q0ec5y5EqE`PgIk5>IV?g`PkP(BoDCNzayFe1#-Fo`ynBtMy31t z7_TgB=>Z1E9 uQ9+G`?2;?*mV0iUr_d~ z*Wr!ZyeD!}z|DRo+-{b>xCzlkal0dGf1Bw9W3pFUvOWtC!QPz79#1(H;PqHfHsY=S z*Lj`28oGOgnd4-t{u_+bLy&Vn3^qS|`&QcdafWdhcXw1RVGEegndYX|xlZOMSvJ11 zxndjQH=c_W2Xg^iqvGUQJ=EcX({<8uTo5mZ Cma&g$3*<05 e}G{KD%xu+M5#wEfuK UqC; S9N2?`)Ebgs)tbe*D$m5 z0w#fjD?3?5E?O`h2Jze@b9pmzI}LC7IOjT^a$9>^4LE&>peOT&BezY56Bx`b@FOHM z$Mg-_zpMS=VAXda2+037XhnfTpe=a%F$i}PkhZ&-9ekF47#Iw=(^IB4zOm2~6gs!4 z`jMKg2EKgL=Nx9LP|GMw<}~-KGGew|{W{ggr7lgeQ1bR$-i Lo<{hqd zk$H5fZ@3@bxaoLZudOq7;#