From 1280af19da1767989bc82d2a85af0c81a9e1b6c6 Mon Sep 17 00:00:00 2001
From: csunny
+
[DB-GPT](https://github.com/csunny/DB-GPT) is an experimental open-source application that builds upon the [FastChat](https://github.com/lm-sys/FastChat) model and uses vicuna as its base model. Additionally, it looks like this application incorporates langchain and llama-index embedding knowledge to improve Database-QA capabilities.
@@ -20,25 +20,25 @@ Overall, it appears to be a sophisticated and innovative tool for working with d
Run on an RTX 4090 GPU (The origin mov not sped up!, [YouTube地址](https://www.youtube.com/watch?v=1PWI6F89LPo))
- 运行演示
-
+
- SQL生成示例
首先选择对应的数据库, 然后模型即可根据对应的数据库Schema信息生成SQL
-
+
The Generated SQL is runable.
-
+
- 数据库QA示例
-
+
基于默认内置知识库QA
-
+
# Dependencies
1. First you need to install python requirements.
From d5b5fc4f9ab5fcd93564f13145ca0dbc0627e091 Mon Sep 17 00:00:00 2001
From: "tuyang.yhj"
-
-
-
+
@@ -64,44 +56,92 @@ DB-GPT基于[FastChat](https://github.com/lm-sys/FastChat) 构建大模型运行
+
+
UkT&+fHHW^aWbOunJnrlE$!g895tGowdDr&4_qcr=nGQBeFXUu0Mn^;jyEr-r^tK}&rSAW7pZy7L=1_zGl(*F!B`xt7(S(M~t zhqkMf&Qbp{P@id0mlpt=5@~WD6B9t= `QLV7^30UV7Lp88 kfYkP?tHcJWe{|(In4ZsNKs9 zKtTDFzVh)wgn%QzlqvPLhZFYJ@s@?1H!9C}C&>}+%eUS0OVef%Rm2M~|Iv$)2mG~^ zElTHT7|KMfYRk)PZGty2*^8yNjS{j_=oqJn_?pV5COOs%&-X>%%7L~=vpn)kN(dR0 znK+TLf5JS5Qf#^KA=cO*p~+!6^1hj0%X4}^gp}P#gGTD>o;kgbc8K${^enpt4~2rH z*UTN7ZKD|ir8q#@=uA%m5!i#vHhU(QLmX4`>(UqJ`mLZg$K4?TEYMs~&DxL**&nE= ztC;5vf>L$2CRy voAZE+#AcRV$V6EF8E@l?T)@8bcx6Q6vcV*js6Q$7Q z?e*Tn?UrhuFvE&r_99PzCF1ss{W9P_pE+I0`iMn)tA6ESwh X@7;>OLBi0(~2o^K;tG%a&Q;Yq9$BX}Bz-PAB(gF*1ibJ9a@B59z zMBb;h5>&qM`{!Wrxv Pk7CV>PrmjC z*!u|MeI!!0b$w8K{zpno9GU)n94G(nq*%RBwH_I|K=?wkS^o-H{~w 5JYz>hUuJZkXWgPR7>bg~}VoI~e>|(a6ZEC%=Dy8*P z1qEfuKXL =)uS}NG0NJex73VC#nn=wg06_5N2Zguz+)ca)Jy<$XkOR z-1CtHJcs68wL|jH^S&hzPlHF$J(6C|;If2GsW$B+Y4GSywI`Rdcyj0;n5>=RQJ$_t z#(k85ni-eHh?(0Qm*t4TAv!%cS^hZSpPk#_74mTrPKR(xmJ#W?4Sqoa3aePpwcnf> zi6O6vA*c7_|Hp^^#U?viJn>tNSw+#)F0nwaLKSKe3+cJH(j?kFCjrD(&;J>Bp1=AG zwSE6irYv4@x=MSu-d|~!Y_KFyv5AEq{9Fnk{m-8IO$AkZo9P3S=mJ)4IW{@xa^hV9 zlBiIM-f9<__v8JGiT}+!G=cbX?wY^qI=P!GGKIaE0*`Yj{`ta4V*HDSCbS1rJH7R= zX-};{&guTvOW+b`eeo^oA79q`=_J|&xd$JoS>KPhN)}57{QnGMC} |i$!eRVTr{1eGf`xX^bBMp$msTrQg$ZpW!xHU9~)*UhOC$NBz5iE|HWT9Rt zU!EY~g7nNtpu+RNJ-z>#TGMnqm-{hcn>J ~<=PppDU8;hSmm&mA23;4c&i@>^0Mu{7z`-54cpk@=ueVed7C1P}afg}ZZ zaI?NYb6FDtx!4I?=e)TuUiD+le{d-pB~(n+G(eni )KB-@kyOXVc^EK9@52xvxz)Y;%&?uN#8k6}zaNA37L~VTwk;7bz#7Mfs zeEq{9&z@0VI)i2D7LG~=zktmxH@i8=Yr-(yefCG@T(!CUcNX2d0?M_%4?>pF>1o_W z`R>MEcL$WsqE7Cs;TRDUv(F!Yv04~e!XhbG%Sxb?SF6{mtsQM4lkKX&V0lnrNMLBQ zm a+8Dj*`eGtOMI~a= z)0{4PK9PkyeYtah^ybiaI+rYo+!msfbOwjR40QYcTw3&dH*4M-03Q*PXT*v>QY@OR zFB~o84O}jjJC3}Z>rAjn=PgU(wpL@5r^=rb dTBB2V&Vt8b zmEkD?zxVzXE5f-@E>1F)+I!U~rrf7^E>)ICyQMValmEl|Xl$NtzpY1N(~_>{`(H;b zm%r!0{u-^~N!twwdQ~+T0&5$7gG{ER@|k8FM!kSi?M(T_n$?M;hsE#*Ue{8OGsWuh zlzeAVEd%t5Lg08iOO0Iz^-K_R@RNjs5%@5^O{D#=Q*(uq#LPnm3l@yp2Ihz0Bxcxs zT#gt_sSk_MK-1~pD(40QBv-m$FOknre`gcRvp_jpc-9dd3b}%%2bewE6n|ow&yE>d zA!+Ojw~K*v66uy%{kGKw&rZd6=W58@5wXNpDs1|&p+DTi@3&ZcW3sMp_@kv_L{C4! zOD>< H*pf;N!8R}D!LQu R zYq6v)I~?z)$%o_8eO&%=oFbc90snkV`>jx>8?>DDw-6oWv|a?{O^V@ zV`5Tv6r8Dyl0`wPZ!+SZF)w#TQgDbr$*s_!{LZeg@L+H<5oWs1I;WW)+8IH0+Lb}4 zUV#1Ut#KJwL8R>* UDx?6c4G^hB9e46$ZWOro7#&%q^!Zh; ;= =@3KDC`a)E_6& F-M3bY!n>YC@PpuEd5)$cL3T$<` z_FTC|_dr)!0_@6Y{{iR(41vdxr{{pH_B&z+X0>;UTaf{`UOKo%%ii0MkFp5yv>=7n zx%1#H)}`C=x~?z~`0qq&Edj-4EMU@pxuK$kd{1XUwiLHjuina48zDsdb|h7_&M9J~ z0z`SXF_JCzaDL|D74V9Y?s|Q!z--8|mGKjuxaqYu7j04d1hLAEJu9O^vAQfU%E+5J z% YGreUcPO+;y4MGTa`1$)5kgk4(&FwJm={`Nd5`oJFnV z+IqQ=lt>&ibHJd5YP0U1tfXh^M7>b?0iXp@ZaF<$$LpZB-L#jJ{F$HY?QM^Kdh|=g zAaUx@%8TdPnX@mKjcR@}QguPJxSTrD-x}>}6>>APqs|x*cIvZuoo-l6!5f;(DKmmE zX_eJ$cN^+l?r$R;w1nYhz4oPINMee#b+lG$nNhQ-Kk119w9-;G>Isq*_#Q-g;NBC^ zwT8~5j(6VdvKFslkyLtL&*3;d(@hHP6{zshEbWofOUa)zJBofeUt_CLC8_JCB#P~Q zK|wVmG9_}Mlh9;23es<}wcDT3>vnS}rv48fso+NqgggyuX{aUg?AeIhV*ZukkRR@G zc(adnrn?p*J`>Ff=QFHVE|0ZnU44!BH<5;~h{~a4(_4MPT;v%iiJ*X1S_=xhO($G4 z+i%PkgA1ejlNq$HU1vrzI7{rd{Y^4PA_XGOM~PSrj!EWTFqJ`@2@8gJ 6fxvB#N z5^u(2;MAI)(E05w{fF?dsWOk^_--YB(SX6LtwvHKx7w?Zn?5evO>@NLJ0A*pE$7MB zoir?$JdUkmCL2D9It{IgLlr_a<0B2WM_)ReW{7y)pQoB$1AXW7o-cXham4LT cL+SR^q-{dA5ejbkf_UaUd&0NyfVSN%t{(Ek zmD1ezo9cxsLVgQ%c5`wQWz!`5Z$SC4iA7Im#!2ja*mRG-R0LI2yVK$rfvYv&8tVz= z*$|qGJaXP?1zs{x`_=#`u%EKamAs-^I={$~R`UEE4^8OB0r>Sp#4xhTbUEwo=4Ktf z?(;3bbDNe#0!Ie; HJ+%=6UKxvFk`dNsHirb3H7wiEPYRP>Gz>TKw-6r zT7AC9U>I2`&YNJ8H90qC%@(WgEU9@0RQ#TD3#Py$%b90nsZr4{=CxyzDz0j+C(#?!cD^V&`GuyYw2aAntq|5Z71l*@uN%rXFEV_3MPNs)1bBnS?t5j zDRcCLsp82Ca2J*o!lXp^PNH>{%IhkS)W~~D@%ib03pN<($OI3O-~mYB{*(kv?c1Q~ zF80J~CNqZJnA >}Lph3g^q~cY$p% z78}$1u5A$S7Hc{$5w3??wCz4|Az5b_z2BI;qkp;X(3nJWwmL_v)O0HM*j<4=6!*@8 z{7EsB=0Kv1zMAgL=CS^Ox!ZjH%(_2#uJ58eJ>|gG*cTDih^0O28S@BaIycen$3@`- z1W |@C zSuFv4b~=g=iRVzhm8f*?!BpAbO)*-)rJQW4M-=SP5A?f+f;EY~OJOQQZbm%mp`R1l zb9tyZx0akMDxfF b;Jx<$o(VN}-4UMNcV7R-B5%W0Wn&O;!O?C5g zQE!8qtpNROIot!red&LlYX5i!VWfA7Ph6-^r*fE4HAlCk>2ll&5fMtkPAD7&3p|vM z%;I*DVf@lHFBR31x5veOd22pcXUL&N+<{FOA$xPDg-kcI5|?mObY!9x4;=Q<$PQH4 znk$gDz0#jX(q~UTgd4Q|6 ~_bCFT{BPqzhs32*0_f|bX!w1nkuTVJJdaOV;QC#ZqT&zr^ z$~U-)2UU~#SDL6}zQW8&lm?Yo&h&EA$PnjHlNs}VBo^7UhIDkg!zn-uhgTFxa;em6 zAFOcsK1|*}poZF}n4tR_`z7KIPwZw`JP%_hNU!{EPO;}4NuFCTvZfba1zx+ZY)hQt zQO-&^`@~|8
S0G_$Vm08Hhq?`%BSvULjJ*!Zd()=XSC8Y`)&R-SAhO(F zC1)drSH`=MSaQdmG#Q#deF~?qS%K-S3r$Ze8LEqcS#ypnBE;u?drS3)jbnAnF}5l} zQw5;U@WT&Z4}?6LtKs|eT0q<>uRL8+a@@{0V|ga5h)XTqgWOw(0~>0i(e AnwJwWK-cHY^+2Qxarq-EhU16Wtuc~jV_U*;3dC;3=BwZIyf*u9 z)mePrz%I678(gQ~`|=je3W)TBY0IJlA`rK^`&>ZZY`-b>jE41{AT;1=cl({0D(h(y znt2K6a>JP?@23SUxPdllqk!5{g^2ee0`luCvpyQ$rrV^sCi(hEG%8Pn@l5j}i)quV z%y~9dAL{Fi5{ k<*ywrXos<$^%^hs@S2I63!#ru*g^c`BDVQIAb+ zdUO1Jc_+F0BB(~B%Emn3hlz;s_OdH*_(yw{Y3~zk^6kj5te+Rtt)3iTaX!0A*jXB= zghtf|o^7+w{zRSM=!aD!>7M8BHK=~wLCgL1`R3tU#*<|hhvZj3{4??~nlbvUf9lS@ zx|c~?s_}|oRzbrn-`<#=VGNtu$E4h0<2>n&dFV_Lx;UUOdQqT4Wx^^j0us8MD0SGS zb6!oB;=GGH@NDFyLzggZzOboX@~`nP{Zvmpz1OpOvane^y2baXv18?G 8Zhg23?t$+)tx}dzA*>u %LTH3JQzKU3q-tn#t+c(XU>(R^;CX9SEy}ng8ts%m> PLkG$S5GH&I)#(C0NntZw)nBRay60ZcV`Iw{8Bq %82#1#I%7E8bKvD^Q#X{Wl2x?T22e-#|~aL?MdFBY{&U!`KdO1@DIbE|3Xh| zJ>A6leV$|Wq^iz>Tp96Vb-=FJNxJ#>CSSf`>QL~FTS8d&FRbLU<+FavI%H+74~02T zD^GCeNJrglAzDOAMv2=dV?`mJe~817{5-UtxyQ@%e3pY!5dBpn0@-0U#5LNsPf(%6 zctBT%LkZ&H@9d6PvcWxit10Z) o|MX&k({ki|*D@>MWRtH# zV+FS_{hE@_A-Sy9bjAqCcsRgoqhsvz&=BwX)@11B1v+5M8>!VsOP4OE>ZP@Z&VZTN zhm*5N<&Dntmn5^raUKQ!3e<9#&3KNf(Nby QiUwB#~UXo z1vjn~%Jcn9Wm&F&z-k*tkD0 R-$$erc b%iBR-4yWs(3)yJTMn&w?Hv?O%A8|)a6|1sUu&7=luVGP>{mp@ zs6hir)9_BXznToB5s(6$-qS Dbu?T+C)lDn~^hCXUppZT2KieHz7KYOybT6E@(l zjF%0J{qGKzRW4+Gg-`61IezKaxjMC82Hfsi;v{iEF74>58eOWtTshfOzzHzmC! 63l~d9kT0$69A4bF%c`)8bq3|b z`McuF%@5v&1Idx1o VZETLS>#C|sxX=Glu zHPM}$A=o= SVPBt*8=4 z_4k!$(BB8$;VIa3$aYD2X2Ovqu4c@x2ZudVb*5^U_`%KkX?LZFh^M#|>~DS|Ip`DZ zB@MIdeQ6o%cd(E;ZG$>z&{`Yf!bd-Q<@0-7LiPv|t_8L2aT`t+|Bc@R0DZSJR<+sz zKO@@!9%xPgq#F>)@;O)ztVw14vgpUs;KdxAouR$e7J3kt`xGd+Ra`jJ?4IKWirWIz zykBj-e5hO0e6pKn8j3gO4mOp=-r@6%9Gp@))CbT_cpB8Aiz#J^E`44G@l=+lK2JYG zO0Q~TJ}N)EJj@JXw l z^yX;^MR;8DIEyYPF6FE`__zR*7=dVKe?cBuGG7W@czRfArLPUEnN#^IsW>vPq;oi& z&Qk$m%w=gynAczhl5v?_Z^hIvkfGPKxgoQc85|YIso-tjs3SwK{olotg?9XM;-$=a zBv1Q~V`zKPuVq`-#XX{R(Q<9tkY`L+J3sCDm?l*p=kx-f8Bsj>`R6A%m-~U@F$wdE z$K~UsLx1?N$Iv%QVKB4ir=P?l@U>&8xgp} Wvdx8uj7s i;RO{;WLUbElW&lAXe zI!QBkiT0$skw9&YoXX`6CRYYC?O|hSMsdKI>_dYCF?kD@nwgJ>L*;lU(Tu|q#r%Oj zv#qU?EvjHI8>OB`g=?~#-(2yMsm)q2UVS8pdk`|{E1*IqQY4psd(oBuz4hXk!XzOM zr^=Ad4=1V6996JCGZ5uq9|l%oRZ0*{`XuN|xw>~WlRD|3!(LnXUE0sID6Aw#=74$s zRu#5>*G$Z4&~EfTimQq3;fB>43&nEl_!qQvd8I*u^#-O*XS0^>5J1N5+u~MfCo66D zR>*ETVPLYx l-yi a&56p zGbN}>T@x|B^sBd8R}nav(T?H>NG=V=wM&~{P$9NK!90f-wQ2~}2Mh^JMIex+j2B!^ zUst%`RJ(ToZ $t%;7v@Kro^U`<)_p!RANg|>ZSH3Rbm0> z#i>g^huY#-hCfgdXRyKd9*KU6(bVwzNnE>xDqkp9$=q@{bWfO`*mvmo-n}FLWeae@ z;*AOHlXbBB0wIN!PGyfN0Ji(V^vBEXzjVFdbGO|wHIL}wN-WFHXBom?3XeljpSQRK z#i;U#u%A0!Onz+@zP~Uy-){r&c9JK^!nQbg`29*f9|qKP*{P*Fo~G7;ZUp&+9OjGM zmt;#*mu!?)YIr{_Comg(?z;I@o1oEl#*i 090Qux^?Nh*;=}B3oUIG78o_x_^VFUVMFW#ga0#9I&uQHaA`-iI_Oh=Y!7f z?f2t}-3wdK3mZ$!Z(zcG+Aq78vH@JI>2(x`8_4?08R~?-e!#o092hN-6A^hZEc1zA zp6+%&?cZNGeE(g1Ey;pMQPgwxD$Mjr%uBv `iSlzf*s$Fht znlt2ay1^ZKt+=do4y0cacy7T3ME6GX@U4M JLX>Vfbxkd z`+JcvS#vb8(wJ3L{viRLmYUT4Gi=;p7=lB+IH;t*AV(PM%!@1nGEQ!{A#?cjGJJJY zxZ1okCM??~hPA1knu-?JQFubt^HP_o)okiNTfAHtjXD*{o@tSR#?6P58A_zHzq z7pn@WcFarcW|}c;p|!bQz2$J3t8ny7Q+K7|$s2T6WVQtYe;OXwDdRGut1Af^14OcZ z!aLY^2`3uQw~ZVwqr(ChM)L}hEXbjoO>p~7V3g-MDeGJw%yrmD+jH%WBqyCsGH=yc z%}l~H^A(7=$m{GqvJ7KKzLEiVs(tl zte!_<()TBWjYQIXJxFTq65+=Mc%q^!;9S`Fjz-~D=Y)TT0P!>t*f3;Oh^mS6Mx;e= znU;;!!x5K TnxYq+GiJuN1&Gk~X3K%$=e7?z2I!(1)N?%bRNE$g-}v4VdT3 zkFsy20n%Zhy+|~E2liYh+Fq*g^wEw`izt8_;3c{yOZYWU0p}%*1gZRJZAvA#V~hs+ zE9AGB&1{+ PP(XOqA13oMD?rdG-JuFqku56F}!_p17Ai8d)g6c0a zX7uYqP{xsaQUSgA22u_@&f;~tS_~P?^7*Z)Z9}&5_(>V8idxQDwCqUGa(F8zPa$;; z&bNYNiXTgX=a*Ize~UQfFQxlC#)#8YBbB$T8Bk@lwx7MKOznIoIZt;|b63q7va#=; zdmUrbGuG9$6EmXwuBp$wRAPme@J;!+hv1Nd1^lefI6xp_qonjhpne9&bId_2sJHDj zS|BVDwpDL&C*nY_4=5>MzQG+XG!1#vv=Yu_vUgaWWSA$ik#3hl!5HhFH|AoKMJFCaOx$-V*9( z`Rcav87%=N2(O(U#S!0+8 gnxpWvt4 {hS=Q$&pY7 zXZ~vB#=9#+%VT5!pfed=-B*PdLeerwzkeK;OBb uI5VE>pSwl z+Pzo^Co_?GJ6~(hX)^F~A@+PEJJ>rdU17<86Yg;laH6@qC{QAzq01$7&DRjX=XG9- zuoIuWd$z}s=yZT5c2_oNV=;M-A>8I3mr5LuT7Q`^y3sRtD6)86^%aS&)e%th+N^W! z72k*Tn5XvadOAXSschEIMiszFY0nXN%2Zru!1;MMrMA5O4x8Y^Hk^=F>Lr~n^mg4& z2m~-2Op^``{7Py$^6iU|8+Bf@+;)t*-*!d&qJ;Q n|t!k*f=qQ0^geoYb*kK~}(NZ~E=?L)0LZeUR{_k+o zW&qb}lbYDAXM25OSR6c0ORw*zegukAq)T8#&n;A?lFxw-K?>FHf%DLjPedY4zrL8* z4s-~Z($t+{Tprw`0ZuE)3~^ol6lK^DHqQMbQNm{J1$cO6>Zi}Kf*n3H^Ub}vfzFuf z%v;S4m^{ki23tE;x9+0x-FBeq9EI0NdN$}o_$Tt>vW>Di?g3-WaX3c)(- z3SwFaRn39OjL6Cz+1bKAaf307+r8L);YXh z%*r~s%NCp|!vj1Pa5~MiUc(B#L?<+D@p#K}(}L{hneZzDJVQFPc$5v^&XntGf)v9& z({pZJ-IHRsJ%9*Rz}^d8!;8|&Hsr@N`o~Rs&4YnYRan)geo3s<>+c_BtePhF-rrbY zt)I-C66Hqq8yT3EVbcxAPsT#3TLOr>`TJ55UI-S2Ld|)ewZcc9o+i`m>+$7cdo1b7 zq!k? 4ichwQ@E}#nyKMi)puc2m+cEjenoh+H*3>3n>W+}TFl-k$>n;a%QQcl1x>#q z-{un?c!cub+r8JmiRXN`=$_*7Dhca53ix*IGIFoc_&`O0`-TQc>y__9lBjJ45MMx~ zh1&4C70kC 7}C+>wkb6k;FZi=G$* Nk_otjrRAM% juqjJiLS17`Y`OUp92zH$6Pyt7x)84owyjFa$p5?ldZJb!xke&(QPO z=WUl$pZGMxmIX|-&K(?RTSGP?q||LFL3M_(5>IEBX1I0BCTFk T``4}h2MJo`PIL$=*b9Uv$WXxib-?K*iRY8m>i=FLEETyR^e8jFOL6y(x>h<`?vp zcL9|(`esE-TzGOCB0f@Vdp3hQ<-_S5%h-*7m7SkVR|p5 d| z;P^tVBEorO2)$}15U6yPbYYFuRH50Lte+^NRRQ8G0{-nvo8wzZpvmj(o#GFBZ>KVT zjI(9<^t<~WNk6WsM@)NeWJcPpszp!m2O(`dNhS7Uvw1=bN$xPMxcX`< zmOkxM*F@{jjuI=;<4sSQNC0Q`S=4CQjo^;gA`74QFA*mkw$q6D^;363D_wduhHPY3 zUK8dT)SI_JtvR(1;u^rq?{svy<}J3pQ-dL?K?_6{gw2oGO12i=Rmqm$!t|*oy=Knm z3yBA}%>{gqH_t%D1J}o6@sZ*zp$)c8kpR+IsFxDw)`NBO8rU|PQ?>TnYxfGQ9_{m@ z^FOY)0+(ipyJl;RJ7bDosh!m_{Q?zZuPU_*bLTJ7wm%z?) 6U9petr8bb*`YbKYNoU@4wcE z{FDOXig2aW(P#ZVy$WMn0okEjm2B=Ptgf;Yy4qo?*zV)w<|4y~7Qv^@pA}Vo^q6MF zNZ<8qAsHC}I$ttT=E *yhYGEX!`89>(5NDFl-%}ls^N-5_ zGo6dV>P?QuSHB7~DOF$?D;NJZ-z8;{e* S2pzDX2gya|lR~O)*rzHvTPZ zUO13+_j0O$)r;BTso!2(F+@7HX%?hy{L1slf$#PjmSk3>c$O1T)vOSb&aA6i&OtKs zbso& 5%R8Qu6smlrmh zNYJa)Z8|BPP%1?@y41Y1#cp0#NCK!yy|ivT$k`ZcYBJX}(Tq`x1GlT4!9wv8HVJ$D z+FrQc!h!L){U>I&x>~io68lwJOF27uMkiHX5n(& y2{Zg<3T z%xPd^y5hFY^O6-19>%+2dCl4|U_DW^Z}#2m)n%7%dsWW&R`%AGJZ)5r(abWxE92&7 z`K}Jxii*<6uI_sx6;QXCH!kygN!?S!oEBB<&n9(Jm!hBi{(bJtt@PY;V7A t9#nTUWG*t=Q)XGiaKep_>5kHioj=IF57Ar zilhSSkg~4!FGQo)@N!}XZfZdKzKCnqCnnk4eU8rxbS3XnPc dER4) zoTqiM?vL)WO7q~V!ETK ;bho6BOCbhvaPJQ4_53MJd}44QJlQI7!?sG- zu{or>nb=OZxZ|GX;}&YPjU9yKr#IC(R+ ? zf 7kxPT zUP6j*$5)Au>vbj2-;A8N+VqrIBfxFA@Z0yt$D2-fU;5$Hbyn2qjU#Fn_gyr^{;fD4 z`yC)*bZ#zVuNojb-JP1(Lx5^oYEq=s_sCc7lSn%wi5Pp$0kztnqqZ<(mtO0I0jJbt zVW+X#P9+l#&6h1wk=j4F)asvu9)36UemwK1UsLbwc@x@s8D-E|$u|p`)uiBzaMF zndCdI Ae%jwS$CymKq4wLgs#`k<%$c znsqvC)lgFdo7eQpLNe%NSk2~U!p9|}Be^mR#Z?O*7d87MqgRK>wUK N8LV;udBqpis9}=^J1Xp z@ui8#FMjhy57u)PV2RvHM(x*@(g&Wsf*u@Cu<3Z_LLq9Ae1HnmI&vgWl1U=pz$jbr zadF&alu$`m7i*7#<=Xci7}j&eE!ZqzuW5h1++F^f_`X->E&SNBy;{bk1GUF CI0t@BILr)kezC*44_8q9 zc2^eo#Jh%ewfB>}YAJ77iWZhWaol60{z&mc+|%L$ao)H)Wwd)<_$h%k>WT&1pmwY5 znb7CYo{V-4^BGJZXQu;;Z%fQ<NOD+8-9)qV|9{lc5yeFtOYZ& sP++%j}o8Q3hM?oWZow-Dzr3es(8qYCpxO{7#Mk?T~3t0;f(@iaCKj6m(nS zZr{zNT9etgfQ(^CRJp`K=oI2N_MWJO;_?Vgwm))N?k_uKi1=CIEc)DzCi%D=SU>4$ zEt8x((%Qbxi22(^gDkybT82Sh=FugylYUlWCA%l@mim8*+N)bm5!j)EHXWaFjdB6? z?MFH*T>f^ygV;JfSEJ3IKX2+yWx+@9o{iMzb8DK`MhW@;87?pTZMDt*?x2n|a NH>D@OS&upqg>n49x_1b>IY7Te6fxaRxg;0X|m%UhyT z8TQF-A2v}t-1%SHgs>!lo;PDk@<6~CYQ0?6@`Br@z@z C!+MlpP^4;bu6c>&l?b uR}SId!$zDMfQoSH*E~ z8-Fb-BJ@x jm!V$7HBoK^sOnKZ67C^(wbW!a{0`w6ggNMUmL41oi{z86 +Zw#!P!haUY$v_y~cd^4zr-uc|XMp6ZSNM)q0-7szo>eAhK_w z_s5KlLPdO@hNm(lXw8`~|Ao{Eoh#5j=qt`!Srax`tmTUN_EtjPp<7b+Vn6> c?(X@%TjS4$ z-LkckqpWgA$=vUxai{THRFenkW9b!~H-l_dZ1085`_6qg_ZfB1RcRZ}E6$K!{L3KO z{%lI#<(15K56vJi7!(YK>3k3)9Zd2gGzG*^GptE>>gFFf)mJlgvUb#wmCrLYzJa{c zPJ0kV42u6=o;}HzQ89%9IPhLYUA`Ho-WN>2Yd2>Wo3gsnsZ=)aRzt17xLZw=Hx1-l z*cOGG|6P#nDuZE)QzX-*zmn3wMliROU$K@$AKPKPzH9H~jH(*5)SNLmuN*SgK+2qo zGdQV>ZVx!%-IMh&-ENpeoRE<-HxlZA3*x`l*rL4on)`N#|NP2!KsBcEp1E-_wMBW5 z<=36dWSn+!me1%pVw&Tl;(seLmD%Ux$hq}|4o`>3{dcyW{S
f;U{Wsy3ap;vy5 FyP9fMt@n=1BaQa}-xQ^eS#ErHk?j42aFZrBsw1OMwa_7C z-v4AaWbsMXrg!t%mZF{ w0!zP@cNZC3u)-7fWB-i1p#BP&L<$S+khFwelf&f+jI?u&2) zzr`*`ZXceh0$WBEgSwru!^1oAgTAa~(Dd YK4Q88xAP z=AD<9hdx59*@`zdj3o2ud`rG3+%^lS_aCSs|6S0d^W4D}&!tooL3^s&HyVa&$(mV( zQOrCRZcoXh*V$MR>g;E0J4vg(infGVBp#P{`55D(Gp} Ce{wRBDek?ejRypj| zmN$k)4BJh?J4H s^}jad)Yx z&TEW*@6{OkEw6^CIdcnXo!E(3p7l&bjg}t#B_hl%d;mH^v^HN(z~9=?=q$bB |Vx+S`X{*M3lmba0lfQU%d1CHHkx0BjK@=%ROFv>WozG|~q}B4{ z)-z^{v+OxBeqB1vkZ$SogXrD!M4F du)yday*k zdTblVS`hLjpfcTB<=>4O>Z*VhCaK Qx^ahdsYYh|WD_AO~23bEn1KkAhcu!G`U450(~ zC1$y7w{DO{Kk`g72gulL?>F?G?TXWV=W5WG)(ELs6h<`xg)h61{9{s6=GJ_r>-K?( zFX|8ilm%WF8*C*LB}25|tgLvbjOYxb0`mn?R!9=MX_ZHRC32t6w376 g Sm5nUooVNkvodN0pGZG+}Z3`;=A9^Z<)jDk<^gLCb#l*Ko>hiT2vpdXZxiLFM%6 z+^+VN!bfh~<0_xSOxLOklS3S!!hM(3oiZo2nG_75wrXiFXSOJKmyLR>3D0XcC#9gf zN){4K3aIP{BN30kGObs05cQGJv5q4)l-OB#7i3V(h82`k9u#oF-NAA-4OCmrbFhR~ z;0I`|Fn;UGL2;)HWAXb3e@huw_L*X3QX04uFxGKN4-tj}t^o0t!PT;eQ_x3C*$d;d zEqm2f;b5oMGr?!A(cAb@jhVr{Qx2C5rPu;YyqTQYDi?HX^H3yB%7%2XmNoRg9ye^a z1Jr5;IQv+X(kV0eK2aR}@%t;_ G?wIa*eBgd^BFr&xQQWc2Hp9Oo18HO}rRgGF($qY|h)^ACLh_chBr8v@em^U2ZI zurh`qqb3{AC7f1QN)a9)3oDn6-AX74DQgNXH5C9Xo*v3bi+NU!<6fLz!oS7NSRoj6 zbn2J?OqeMmEu(kc!B8 3ZC{z?#)Iy{Pxf_Ppp4~WtwW@- zvu>$|uIR_d4cwc~M&-&4JGs~BS39xMd$X!r!zMK6$&~p!Gp;?0=$R)r2}gSN&k6D) z9S*~dxt@(xF%vBSV5$TXea>dG0g#89iCf^4M%BR)#wP$?%v6$i3XXKPvR$fFQo<25 z>FkoJHJ!Ipg{xIwj3pH@?4i=ClJsqfiJZ+on|pH`J1KhrGf+TmEbkzE%3^>mZOrJi z=_S4i(i0sT3o!In$|Gykogh z4D57d9Crz_Wjx06l1x4U@l&2T?m7#Qr%qeOYzhG5e%&+Ql*-P;nPTT7uGk%o#i#CT zD -dW+p)p6m!JUO+C9Cs>vK|PO@n4>Yr*Cgy7iR+#2{Sw}Au1{QBewkLMs^ z+i};m6YJSM()YGvk>vXW6Q)6aX(NZ;7Aqeo_iq)%$3cK*_3X##`sx*rjmOV6Vovo; z1E$rbo!$W=I)O3SU1~d(M&vpRnI)g?)jKU1CC(9 X#0@5n@W}tOyetnKaapg*{a4v`QSP`0xCvT<_-Wk zfhLK+vWJrgkTwPUOb}ZcKA!dzmyIvny<)$sme!=irvN_&=`+-zX5fF?AFlG*G^d*I zkGffDnU@9SjY(fotQSa;qY#9W$0SvLbAjwG^oYe*8 H )7 87eG^&v162$+ Y*kvC0W|0tAt{1 zozO(?S*v8|Q9+FpW}M?IL+O%({z+4hRp!9KQdJ>aBtu?b_KAvuZzr)Dv^mopoSKy` z{=uuQOPmaC>GKpon{)w5JvK&ITc^M)j& `20#oK))nv=18 z%D29+(^i(OHKnWNga-hswDmB@tmLA?trr_EOB|zH`Nd>U!-b;#n$i<$+<5@8<#OZB zsMl7$l9D&!+9h$VruMVw*e5z($GSu d}4Umui>R>`2Q&;l#C@9HtJVf#G!^9{|r1V A<5i~#?z#D{P2OZrwc3EGzcY{xx7UxZ3Ru?7jsI!! z@?8Ce7YqHjB;-dx%BN|>aKMpvQzlGTVF*@h*_xxHnpB>s`>x~zBcf`8CxicR$26vg zQ-X;ieo&KpLb628Y<)15y){Iu@T~*MV|QtO&&}VL+uBTlcKo64>OoBXE{Ds)TI+ME z1~ C z(<%xQ|C3UQVVoxU^~`ru(3q42t?fp-s72$!U_y*}ZXYCCp|Esb tSk z3k3-DF~-V)$@=|FcVJTD>HNVqM%j1V;DeDE(rTd5W{@?06~L5 {8hKat2oE=$ zQ**p+DbiL?|L11xw|D?Q$)49zwLaE4|6+3-KNk6 w8fF3B8QM!m z#&gl*weKhShY$fB35jXC7Jd&sbUxf4PgF_d%ID PPkd?7SOI7eD5;OJ0rMoS z9S3s4(g{GWulXkOcx>p~Vgbw!adu4DvvO=aj?jg1`VREorXQY7+GTtZJ>xKXb~u+W z1%iUw973*AeUvtT;;y`ys51hniOc|ljU(RkA5a?hNTwyx9va)O&WF(;qOrGe=ypII z#{NmEqS4lZNf8sU56k44mTEE&Se1T{cAKr(g&WcfIXxtHAeg2$+Z?Dx-iNUHu8CHx zpT%rmpQ*JbZ}Dz?qhijFD^tBVWFXUP1yD%A_f}L0I1i}!R);a}smsyw#5~Ri-~~9g ziQM(m+oc1IYA( zsF#cytmIw#N 5qn8ixY#{z^fVR z4x`y}EvXgmUXJnm=24{%wZv-U7Xi}KDs+LO^FBif5RF2GZ>r6*+It&}xhxLBrhmBh zSai7i t4CXKrvT7Q4|m^mym1(&&qa{7TI_k-onI1{oQa%Qa1-(W3;`- zR@PcviSXQ(H^vyqXGWG8F8?;}5#OinE51K;TDs(7K7T42sH>-Pb!hrs>0kA~{9djn z{xw?4Y!1sCYsZcaISliqRXq`0`6OJd_sxSyz>_Hijh+|v7J#0fB^-vqBpou~&y$2d zr y>MRU2u&*QzHaNlXmvf`BZC+9TO& zx-27CT$ouT)P>9Da>IciB$;Qte6QPNIhQ>cR17#x-ns_csTC%tAWUE6ccnCfRb zSsy6R&od2l; !pa46+G_&ld-Sg6Ml}Gd1jJY&SfP*ub(%pg) zDU!x@<^m|@Upc-@+Y8O4OsUxClE}8#0?EFwwVy7kc-x}<*^o^$!s+iJ&tc;MkIEBR zC2F3vT|2BwvMyWMcku(j?S+D W4qNy&!(B&xby@apJ+Zu6d!=#$5B$-W!X#97m7$#?iEDqSclfj=sjVIjs5? zRZcx?4XWD`O~x69BGX&E5H0v6gxUCpEdN2qx6M*PIms_9M4oney-k~fUSXIRIbS_3 z!(?HEt@gISMuRkAJFwzp+v;vbV%jCKVZF)$g@5yUy8B7i{`wcELYg$)^7bm6Q{$`I zq$V&-6`U)l2s-e85Z6q&8t73Nzrq?C3uE1d_g2oa4UzV~ZZvh&^`#!~9(-@TFvZxz z3p%Xy>m9l>G@s>23f^I!DKXgCs!4d5etx|A4FHDDeziFuX?ajJR)!7^gcp|K?19FD zeVtnA{YcAJ9 {>2O5k@2w6g-%kK%0eNNAtTF+rz6l7$%A%VrA*!LfAbgIv zIbl5iW&vPdsn;C*+32*}$O%=P$gRTzK(iWfulc}Suo`_4$z4K9%zF3N??p^biOakk z@fF_(nsVD{a^^ZcBSw`S`6X1G4in1F;%oHtMZJjNE`;+=D^skFUN=BoSH1L0Nt zGq5hIfPL~gBx>S;V@RUNFh){u=)7$Jat#Ak=~=ct97HT1>rOjwUMz4AL@Re!s#KIM zRHxo_ILl>M6ZQRBG}uM%HsN0@;jsxy5;EwalD|pQUD(avc7ocP>{_`aoHctJ Zt-LHvN&AVCGYq|s#uZz&jeKACIomSPp7?a8kIRG9ag4t;{pX|nR zUy{pP3-3}cO 6KyQ@zZDvr`bDT%h;<`UUN$TUjd>rvH!-i4y+1i|IXg+P3QDM z?1hl(C7~4|M-4lGaF;D|wyZZ_=6n8ZalrJ>Y#^QNWf lcuK{ zBt27gb~t}$Lr7TM_D6p*`zjzOI&SuZZ*JilhL}{~hRr101=5rKFA-hn!!8SOWMwj* z<|%6)Nd8N=rsk+QdlmOd61>|mCzenJHd9scsCpBulBR+?gws!-Fj|XCW%vU7Xn k|Ojewsu;t=!Af_+*z24j!wMfv0o zHv~G5>12!Eou6gvoI}iCSfVjET}SJl^y!x3cDl^uZ%CDP*_kDVIh#(e0#Z!207=Do zo$m_UFPPQo&X;#FXkiu6vgIE59`Ifh`(D?|;>Z>)h_C-#h!&l{73`y4d&gZ+<=6(! zKe6tPZMNL`DI(ouxz1&6UJ16b(GZ0|e9ojzn(^ESq2oUQx2k1;a78UPXzpwO<~{WN zG@ 5@0J!p3be&kuz^_% zAJ+_i?=NMTM-m=f#iSq5V>h#i^ZO&2S%!~hZlO9hi2Y}>H d&oRKij 2t_5vVC*=lCRgp8~n`_lhQ=TtX0FbLEjOA>5c1; zKmB$2UmvosDel6EdYTt+1wosQ(f&+D%QOxv`C@NM;_-sRG1mQKR5hf+q6z>0(=t=f zv)V)tnmOnRrO%@<>2sTNpC*DQc*GQXf39glf)uOA{AXQD2Ack^T-k`RgD{hOQ6}X} zQ|xvyR_*) mXwAwZ%Zw0p1*aBKKOUCd>Auetv5Ako(bR&?8OypPrM8kkYDs*UI$Ypr zrm>I^cX@zwUx`@X64ech$5WD$Hho^o?CI3$)i17$K~Ua*&V7lSexC-v*jhJbT0P6O z_1|47#|RH~TaYnhYxne_3}r7m4`tp!A=@)F7gYrpG+#;I!pd%2Q|4#rx;k|I<{>@q zPyMuplXDYP!> pnzzvd@%w{$4jmxe>4W)570d&=_ z3iESgjc@G2U;SwAbC)_z>)*3uyj_(To{p=c96_+cZp>lpZul^3iL^LEHB>i8X&m*u zMR|$bdbGvcqT qV7g $DdlqcIcGNnB5pNFFQznW`KP~qrH5L(C z28g{)f*X(cL%>AUE ;MVMujGNuD+A`y(sq}erbdjbFOj);2i3;v+ChMw? zJKLjQ2kbZR&0TLO3VN-9rs_wJFeL5`zIZmiHPzHbG{Sh>+xM|_zGV`&{}eqsNl55B zoQW5#$u=OqaK`hvE++Se2TXJ755$^xl*ruc1CSxPeeR*-KOj9)QSCDCbj^mz?A%9N z&u2=lLx&s}Ly3={2e_j3&k|`uWy1YhdKyRaW6lvDz`2-A*RsQas0w@^jlB)_n6M_z z#GGx=#J)CvnT$D1Z5F%z*jF)E%j+Ug4iH06AlL_cukx_}vU_q#(W(LV!U|j?A(+ p$HozgE5krS@#5tKqBX-I!D_*vhyfZqUg3Bfsk)KMDL<5uXq2U1Js_D1b5o5M zf?QS}m?)n7-5{r6TWKUezHgAdGNFn7^cKMZlfK@axy>|Sv~~frG!4C Q+`+cvRxC=TPZ0f+infE(LG(8h_z=QX~a_5nYda{Ew$ry|3%r#KD zK%dxn_>fe-vZn)~_@aT?=2$L2C8c3}S -`KKwUtSy?-yyPR}hZ zyr2 ;_ z*_}vh8T-<2+D3CgALFR)!&HLxKU)pZ{pO}%Q|)1knkwH&6^IZ(`wWMFR>|||v;tj$ z8Y1f8(n~I=3F{(~w!C^iqSo_8x-_-$YWD1MZdPKMkOk6Udl;j3GZD2tI!&L9DghQ5 z*O?|e=8WMfAi<&R-oaDJe7Cg`1CKGy%u245yt=vx|I?yzs{&yt)Nfj;xTJQ_Nk}v~ zeT%MwezPWO&coh-?Dn)@R#A^kiC&qF2WM!{ee_|tq3_Y}%ZC!56@0A6B&XTta+6rP z-r`O-bzQrG4Gu!1j+AEcshg9V^EPFW{lKC<)!Y3~CXNaP^-MFlI*$o3rWS*=G9OGs zhL8LA5~WLm4K7Hr;Fy~YCabl^&O9BDiI=J=g(A+2vu=ru#hexCgNb@+Tx3|+zrsTx z4(`;+I@b}MB?J47Yqg0|*!%l#k(ol!;n;VBK257BeF__hDYL5ufibN@PGdUn6eg6$ z6HUpq&QtMN?*~mz65GY~5)&qaO&M08*BT8UxP!@!3x`+q7)4sNn*yP^d%tJ0jm)f$ z8^i _1;O*iG zrRsvVlBlUk(q!}9(+f~>pT3sQS~R^cpVn{%QDQ=E;`bD$$T#2&?5T@4F$`G1Q>IDz z=9<17oQFc_L)n!S*Vl(7;x f_64OMQ6_I+Q@hkLw1;~hZb8w^KQW(O zwVoISV}xbGi>hfqt)?Lv+BbW5_N02nxR|Xj%+8ycBgBF)0<1cI$2^^P5`b09+2wNF zn v33LUcX8=)P#>wQ9zi@YbS}O#+aMu1Ou~xs;QD$ zVsgy(M9`y (GO& zLEEC2rb{Oim$mmxJ}%>lHF1~!drkEB>L~Wt }hCzNY~5}TUn4@ycE=f{NsryFJ?y_W>U#9e85YT`{F z@a pa~-?)7q**{ z8kNuD1M_}GNgp8_+BwvaoSTQCF(%bsskrg+IaT10k=oV8=?44NZLBJpFEFHe2rjtb}+ke z0KiX-M2TI6JckT06#t0{flC?)SW%?#NabH%E4VbBZT-sg$(nq&`a3DlB8A`L&wkJP z8!7N6qpaus2gYpn3Y%*5@}KUIV!2h5)X48J8MHVf1x=o#<;-=;Pneke|NLF#`)X3z zlj%>wY*^8kNT1o38jJ{kBS_V|p4Pigz)*~vUCPqYa4GkMDhe7a@0DOZd!*wdBiL0k zBWjCR$R1p9^H#T819%Dh1pVbcORY2XBwV+tp4f^*l*!Hto0rQW{2elB5h+H1+wcd- zD=SyVFQY3$MWtfKO`sIXF~J{2I-%}g=dk01h+r+E*1gLef$8izjJ)7dSfU;Fkp8Ya zbqF#rrfTc`i`vhUXMUilRz=nFhW*~Lyn)`dT4~d?V}l|+D_}b!8skPWIq_M)inG=E zTM3z=X<%5)yLjr9qguWv0~CZCSkfA(+zJSUdgkGPuXwA|v42CV|IFT9l(ugA+iKtK zX7>$I-;n73CnT~DY#h1?(AL6>PEIL_{nC-@_+Tb)r9&MalgiEwDfK})!nPJdWsAiQ z>;08a8}ubZ%1HN2dX&6sg~3(iYh|hOCuVN#$G{dQXtqQg!TTgg_o&PyH;z;pz}P-% zeag57(>BdjK$#QudJBlN*<}xSZz5<*FIs-NeWmJlS?NyV;=y3I15O<`Vo1c_Cp=|M z;pyuLz|30W&Lin!t0}3>=c{Qkb7OvA3XG-LI}6V7UQ54E62XPp5T>s$8&z4mzwZ|} z$^ (FKF0t`fbLIHAf$iYX!em-lNz}p3+ab-%?&DT z<9N=6Nft#Kt(ReA`Ymz($L?KVC(qO)*Q8)%XPP%L(P&+mY({- qfw4F1;vA$aRFy7}BwLYGLyMc=$feo*Fr&0jfm z^OkNNXUnk?deKILbEWmY?zwVq7iB^LtQ>!E-wnuDf5EM0EwO;is_7g4&IFJ|>f9F* z5(;McVw~FjM6WDh&jubJE8(m3-Q{)D11gB5>B$J9^KhkU^ }b{p;f~<>haJ=R3llzs(t8DDDL>t5ivc z=%R^I5SnuiIbh$lphJ4BpLw0zvSet0c*h@^UVPbtXl7R!aFiH;cKg=Fq}ysIlOZ(? zg9mi|c~|N{fAJbW{(&^pg^7`_dnoBvjc^N2CB9EI%3b$>zvGiX-^bZC021x`kk0KH ztCM$6SYO6zkL=9pDVo(>oR&yGALD~s7A?KDj(ih;#m?UlL2E@Cv3`1iSuJMxA$Mm* zwC#lqkz%lOV17MrcqV1g$4FQ0EhpP@Um`@iJc+{Bj;dlTx?z19WpBRn7!^7hG&<#f zzFbRFGGX@sw7R-NA}9| &^DS|S`TLh zYk4S5Qswr`79^_jIbk64{Jr}(*f{TK20lX=t^0v^kKDrQaj(mDk)y~x4r>D^XA!;< zQs8IBFQJMYB2Fy9A_FGR@k~wRT#_r2GYRm_bGwC|@ggmW6CsBLs8to5(rZc6*CVAu zm?1K5h^km!>h7$k`CiB(7GYX(gUc(5yL~b{=ql{puy9e NOkxk|A$q=yn*%31z;@vVC{H@bAtXK-&T89^|ucSIONvxdG_ToWbPbH1ymhCUN z7PK8_`fcG2n6u{neHHZbV+O8}Q=Ygchxh T4AVd!pKNW3D+>hoMn+8#S9{X0qZcuaYY&G?+srJmD{$xzH!q(g*w!h+Ec9 z2fHIYm7bgedE0bD|2 LT_V!}{>hm*_+F054(h zu&}=3_)2Q&13zQ&h?Q6T ^SSuR3yo1J>&m809^HUDM;Gr+c+b44UwEdi%a+?Vmr>&0{LcUbjuu#C zZA3KHFMW=lC1Jmla^Q9oR>k#dMD-o-o3u_d`*0j;@eqz~o4~0t+pf16K=t2q6P>el ztqC*D^#xUK3ew}UukJy!ETqRqc=0y^AUiEWwr-1FDFQ4sQG(2uCd<-;)n$zEGiu|z zqsw+_!v2`0+Z$%PDo!K-w3K-$)#^>Y|Ai9?6ZX~_dBs~QY`4We5 $H~n`+;^ 0)Cn|t^wf{c zho(+5;c&yL#;?g%HIjKDZ79#pol{tM>{XgNm2g-lH+JE;vJM+ls#geeP4{^d{_zd% zdyksD)6DBOj}-M@*VxekZqY&|+Gsqncl0F8PFx~i(X7#}XaQ*jSgkHWm{HzhE{Ikj zeAq5cmL!#p^U@BciHz&-?Z0IbWwo-g8N-_FQ?56ODk5BKAc{l~`oQ!%mHSCBGGjM@ zFU!;4ssh-w0C$0Y)P8)Bs9`bY@a&3@r|yGjaczGG^MC@vMFo)X&uHdWI}Pct?*R#) z`|{bg1L2D;4D;jS;JkYLI%=xP5MNfXX8!JcKfb~tLF@akq;=Qs&_!eT#+@fkwsl-k zdq~E|a=|UqOIBIWXE@r|vR*3X9#P2y8cl;zTQW|;yH+3>mG*toBs@U(_}DXR!hb;{ zmHS;K!@s-$?$3EFydYfQ?}B88QF1roCKrBm!v5hgA5vtpiMr(hw|pE5HoC@{_fpbl z>`tzh66WerP(@ KSRT( zt0}`TKV_8WNoYekvSJkDw~qXx)o@=tXLe+S-;Lvr17Sm-8@I>rXRVJG5YzWZeeGfl zgWu__KKyJ>jFB>w75g?A+tTIiuVZ6ae`6>C<5o3ze|jxih=t#m=DM WPoRoUsg)>?16h;yAIyQWKq9UK0tbBdT%Ue7VssDz|Gj(cVCuwstU{Uo7k zOGwLek%a08X^(*iCpPbuS-8uojdhlzfj(jLvN=F(ZMyGlM4~zIL|v29p6-4A#-r`g z(@~$jk^4A?lv|i=HgW9!cv;3+p}MH+?)AUtLq>L?v^>-6(iz`aQGLel=*`_tX_Nki zdp=i+G}d*7S|F#Zs9N#$N9xp>FE7Aj78AZdL*+=R$6&Wsz2cEI!=TeuCy9yO*3LcS zwr=;7pNsath_QTfp}ob-$FUZD6%q@7dMUEz&=ArzZbROY1Bsq zZk$ih-Jw{!cHTm<_F*dcHTuABdM@hG@SV(7mVZ`mH6J{-6XBGRxFlHfBdRZ4|2Tm3 z_O2atiFUQF^x7}dCv{=c{u|Cn3IUPXb(s&nYBCMG55qFaM|r+oZ5)(susbw`p13NQ zq?-Ev0nDUoc2;#id1d@O{9PvGJRgN)B)>Fp2k@lQGX(4J>DlphT^*v*%87f8gw-P5 zPed=K>q }D?|Oml&^$q^+x1js)h8PQ9U`qkjFm4&gc~UF@#8n2Xh@ -p zA}o~+aEk`B!rrYjbXmF2@kw3FtE>8hp#Qv`nf%=30Lq@Z-FC&f`~nzbZYp_L^)o|u zKE|&@!WIhu6Br) SCh~_T_1}64x)%9grS>0DY+1HPCq(@Bywmn0A+5c6 zaChu^2{A1$2r{4XNZ1$osHgdi953v6!ps&t{mtt^!hms(*FE0$U-cVP6OxB&^bM?y zgJlvT45Hg>tMF$N{?*ERk;?esSfMcET!5=%Ket~w*jq~uT}$`=S R96@Qb`X4mP=XM^$XvEMK zMe34)`b`uzbcVkA-1pRA;%T@@>TTt0>whgV|Gwpl%gX#hX`*J$zp}Cb{KBWHa+VVQ z-%0exfvcv)NBv_~DqP%KU7IaD1~pu06s8>Kb$R)XVQAeeIG$c0@8o1#s!!KHpJw@D z&yOUVZISN$K%)jaLCJe@*kTm(NTSl?te`_xm-QD_8ai(STO7BVVf^aVEASVRXdkda zh ~r+51L_^1WyBXojNm%;{Uu_z){>+* kR6|4aVOnOXklerh@jsJ?fBldS^zNxQ z-_zG}w{F~Up-d3?_q+PPTX}r9?(Y|Z@!p3jFvY;NE%%P@e@32v{qH~9`o$H rXy z-~T@Mx_uxk15B!r2p)o~0^8Ar-|x45IH^aM`|mye&xiH@pGyH;R;hvqumkFu+C5m% zD#d@iu F9LoYx1gk%T*s{!_<1rm!9e2@TDZhKd_hS#oNH?7n&OkI3`? z?w?D%v2I9khtJa5yR%z2Rq2P@Z!!JHi&GlS#w`L^=gm8JZrr$G)nUM=^B (bgcfCWNMPL5pQ(c}J4CtWR*)f|E)5(2M~ z?+fY_R{&delko}tuR-~LcTpgt!Q;PPBNYKN0ry?)-K8EHc+S7q8xKc5dGaLCZs0!;q7a(vk;4QW()!LL@jP};z)n}q&ach1^#5b;yW`<(yLI14 zq!2_92??osi5{H@5=?ZX6TSD&5E2nWM54s#y^k
=T >OM7x3dIt@*?%+$^#_Fx$ST0BvPyuK-4YjSqUbk 4 z=A7d6cjvBBoq0x20{ No^ShHWa35HA5~-x~^s|m=Rv8(Y zod VwmCRBhR2 zW?CbYBm*QkI5-|Yd{%&7I#LinH fI$*Ye%bfhS$%X$hu+(qA@qqMRN3!M( z`!MQPuUOv%y(!z9ZdSzZP<6aH%PI$EvN%EBSww6PyIMxx7QW6vNqL((bHUEZ$;rwp zcTPkrT&tkZ24)I*)I9%|=PZp~@6P;*L%#MYcI?gO=4 #)@!I znaNF6{K(8Ul;w=O^;# &Z~cOO7D zv8E8)N4oJgE;H0=x)FoNv~<+MXlE7PlQ=Q&QnU8!6iLZvoz Nw@BI%c}K|$17BC`MGKKyeJ|Gs^RL~kvU=%UZss=orCQQqZGU@3G9JL?WzenNa1 zB_i-Y+06R@BBrXnNPU)O0z9Q_PW?|Q5U-#Ihf9qpC%TnK+q`u3)Jdk>( zO1=Cr?60)pXRor<&ph*bRw=8&Jn36!F6TKlaFC&m3ORpkp5J_Wt^T^FQ2ou>uJk7s z;2^1jV_u$llK)>Y&%9@$|6efAQsA%E?+#T&4RkczYmk<1XaJuo6H>(DYwrgv)Fo`A zXwSTU*X|O%;Nqvhe*5!%St}qPxgF5{<;wv5T`XnOS&qWF6rvZ8_zOmdqFI~NvX$~~ z>xfQn0S?F16y^Mb?hyHfd0;XE*U6SU;QHXg{|jFD?WuqIL411DW7qNRo5riWXja=y zF8wC~hue#A%lmcIP|&pBRf;oj^t$|H-BlFZ{RB35y4g;fQ~>`GaaJRUIv) yEFA}$@TApX@JA?YxXx8 zSwv#({^&5Aq$Bx>znIp8Y@V}E#EA&Y&z~S@e+VR-Iu{y)NkhmPRI=^ry?M^`{G@;c zB9?`}fY`i0tMk)+SrW31g{TK%oraZetmI9z*Un!4HDZ{ol^} EoUp~A3Aq?W#GCxS`&0BgVAGkj@<2~&i?sNuAOyqKt$s#0|$_6Wp{Ju z;qym()(kWC<|aRXqmTbKeo}rHt^;6}1mqncH*}-p;#D!c^eL(?9A|HI4^b!$RKQsW zWK?ar2kXyyNnA$x=FBku!ZhnAmb76v>wZ=vE$3l_0KAy*uANv&+tk_LHI?+C^7^Gu zOrQ~sy#8Fh+0N^6ASXkSvu;|T6!r7T9y{$04H6W|)8$UyNawqT*TT; ?#s 3l59GX^E3qU+den;%u_iJZ|(AS=e z1p=NTG+L+GJig<}Ml!R{S^iMq>l^PKtpqi-^HWn(T`kcJk{%qX_il=vDWadeh&ISk z*)KC1?uh$5+<5mKefF|aNq?~OC-8D`JbCiuzS!}PjhR65hBI-azXE?yy$ApLjy4hD z(ZfG{eHP9XFBnDO_YjL1?u7fYVLhq+?~rnRT7zZ>RR(f4aMIVVVI7isw~o5^>)A zG20nO<> mKc$5zOt;Km@m=EROPyYR EDIB}7 zIK_X~UO7Q7Uud0urGEuwSnDUu)#{?eL40u=4}i)&dy;l3kFBARGW0@)uAZ<&o1PLy zG%&k5$+pt;DE3jZ7tp-N(RV36j)GBmDMQACI9&?RVo;hCF75C8c+U_30``@78(u!D zkLdVdt{7)ET80liA0kHoBh6y_{a&eM=iwe~401?zcoLc9ywKqOTwA-tML9-m_H!0H z0Pf*O=*KLQ!1(|tX95@idAQAZ+kie`N&YH5P-S$-cX!3UuP{jxf4&CPITztNk+d~b zGGpMoO}5?I_y<+ Uj4ErB-QfGGgDl*PI84KMf@yw=u&;C#`ItEU52RelxT7E!R<#m5(|g~X{Eo ?bT5)ea2%y z9wVLr?@KA|y9DAZzV+#Jd(wu_t1W~v;#PJ?7){3k6|_cJ=3UyGqY9Cd1a>W0o_gKz zr-qZy%zK^|D{n4Q6is{|-j%xdir7Z8*i0mx>%w>rAr*b&B{*TeLy`v9V+Z)$tL;gh z0+T+)gZu)%dw8@nSP)W0_Z8(j-&hV=!=i47aV2~&B(LVPjg4fE$k&AjVkJ)UG=6%W z(5-o%uh!qe6yf}p5(H6vvmH;W6ykX`67Jn=&}6HdECe5{)p-`{5fBBRL4Q&W^~! -> zY*AQGN$?!(Bk~1r-Gfr(2iI|nVT3PL^?LouUN#A-dO5Ckf+0nz;{v0$iJKPzvbSWd zi3afKW2c{9#X0-VN9cg#gE*qxu*16TMpxH4$TT7z+fnjhf_vZUTyd2~{J}>hc(%7> z-Y(m#!{p=ObkV^ q!e&)Y;##@#T>J8J1}#9(u^alb4Jn&3)E zqzWtCCN(8Nh+}JPv*z9dCQ$rT6`AiJAcp#oda^svovF`5Rmp7XF6;FYA>@qSrFOE6 zTZrrzNgd%ox2*%fqi!Gl4rsSZ%{!M0RfnIMXlU1()z0U|&}sv}iM= +hvPKggnv6ei>u4`IfRBHcFnVX>qj6Sp5?|T&ZuXRlJS+IME8>#|+QQ zP>ja`g+&D|&oYv#5@)w4X?O9G# clsHnjG85JI7*^nAErMxLTKvA!1})WD1f;A{;yd%uAk z#gy)gCgKU!e;vADCOmx2MzZFyQ4i!-ZdU*!Y+c@2)afJp$|y(_#up>B*w`mZ =|F$Sc4WbI1HVRoJYsW7sT3Z;t TemfdbxUYa`)P%3Py#~Xz@t34X+ zm1)w;Jlw}-8*2e8Zg&JsJ8l|m<@>ES99`$8+DlkNGKhPOy4zs0BQ#rwT(GM@NbXg= z`@!^kzY1IMOYSvSnD5`eFQJUjQlv#q0g89KjvcXru}lqhu(>rd2cjoGF)qWt`q>sW zHjuJ@1B!Xur5wxQK$i*n(n2lbX$P4)ZU!)avYStS3@p4lU7u0TUYW_6^Vkg^IJ8=; zSbnoNA^4^BbQiY
`gy} S)Vgso c<3Hh5Nopky+hpu@YqMX~X;&brP;>0;?`?4jPa|x&*{k-@NdeY}&RE!x1J|iv zUM++X0a&T9Wuxy-Q)%*w`ws1ff4BtibAIh|M2>+UIiut&o3tQ`IBu|9l9ge {Fi^ zpE>7 ?+J`Dzy_T3KEl?u&@TbYW4w!8>uLH4 zhoWxr&5tGQC0DxJu&j#(bpK3Ojt1Yib3573MSFFk#4C|PWO5P7PRILKVubt=4|gP8 z-{DMASBDPsz;BEAgI9)2^IZtF=d+Uidn**vP&)msv|j7}mRaz`qt!&CfF1K4U9!5d zQq+Ls{$WC6FoUZ1Y<_Vfr{*fQD#8DBXAd^bp6rTOC`|xTxAcdG1bGs%T(L0=PSKm= z4@Gq^zWc3TS|9L8%4)anbKN4s0 @ltNpOYp?gBS-qBv%A+~e)l}z?Hs{qPN%F`1TrcA85i6g|qQzDJbY_%& zXCbL~oMj1rn_t4m%=|pWKm>{0qhetMd-uT{1m?f3nyP4(XNwvhFJ49Q`E8gK!gHA+ z+i6^~JANxe&Iu}~bvQ@Yq|S;(@0_5|o|^G19|^( rEP4@G(GV_M8i*|niLtX=czMR3uB3=Fp zW>477;!xPw(GL%(IwM4apoSu|tySrglg_xM-g<-mps>JsmpxEVQ)KJ1eS(Adk+pyp zT-eK)k O>1oOm^S>m JmwDt5jRo|%1@WY!4t1iyY2P0iu?PN>&z^l zCyNr)A ZZ^y6f5q*{_+$Rg?ScQ2pgE&6ziMnzViYZGGun~fax~6w$ z?Z=zMLk=lClCkeB;`}NabsRfHj{DKEUpEuRM89rupPJ+mJ v@Eb ztjyNWTD>m_pXBEP6trGWo!K!Kajq{$eigK7EIn(I|LE&GsRGX{1c~3aRC1WjNAz2E z3;5#EqP((??gBB`&<}Gw7frNGp5rf(%d)3YR@+U}+R(4`i;1+>;69=HHn7rR-YMp7 z+oGpcWSAptYH+7gFs4yE*ErB_c=dR Kvmr56WlGqIsgi?-F9Ol^;+w!^2i5_1; zNvJLf&zI)GUg`twlgkAwg(K((3NYz95Bg7msl6ZKIN<$sRU*CFY6iX@YpJ$t4M$r! zAbLb;sU;tpZeF8hi`H*0v7kbFCZMTow;l*`tOZSL-Y*H-Ik0=4?k05{QQUUZg4O^o z0w3}0Oe}|b?-uW11o584wRqJfbR3K<0NR|70%o#9^sRSiS27}e)*&q=GdWiohHz!^ z!mU`_K~Kq*-{(mu4{zM%KVp=uBiUy)) @EWs=^y41=W zWqJu)zA=fEv=Gek6YB)dn#bZkl-1SX(qP_%+wlC>pg$rFk|P8#ZtV8hAWjRHG6b;B z`QIL!-}-oDm5+U5_2Xb`?o-uT_p8XAoK!Cy5IHe&tMy!rb&D f@ ndlJy&!L60B9HjLQ zbh^}n+_3+ym{___r%>&8k>?X75XDEIeRhp)8z0 T}*T zc6dvomwK9FG@v*>6q_va@ZqL`s-(SQRVO?(G|2vEm1Y&!DSW6?j`lS}oX@FOU#>i( zciV0(zPm8slnyby283fG9;;cTYACm`V+tC0Xhruu`y&fP&|sxXr=$@|SlOljhU1fj ziVji#kxceyV{;uxxwdhH1n9fN@;i0Q7vtL1E$xrSJ4rhTFssmi-t+&KG^%&!0IXm> z^Il`~hl))x7fnn|geoJsf91-T AF-?N6Twt z8 L