From f1a40f51c548b045c6d4ae38766bf7094a8f193a Mon Sep 17 00:00:00 2001
From: Moritz Bunkus
charset
- Empfohlen. Gibt den Zeichensatz an, in dem das Script
- geschrieben wurde, z.B. "UTF-8
". Aus
- Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei
- Abwesenheit des Tags der Zeichensatz
- "ISO-8859-15
" angenommen.
Empfohlen. Gibt den Zeichensatz an, in dem das Script geschrieben wurde, z.B. "UTF-8
". Aus
+ Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei Abwesenheit des Tags für SQL-Upgradedateien der Zeichensatz
+ "ISO-8859-15
" angenommen. Perl-Upgradescripte hingegen müssen immer in UTF-8 encodiert sein und sollten
+ demnach auch ein "use utf8;
" enthalten.
description
Benötigt. Eine Beschreibung, was in diesem Update
passiert. Diese wird dem Benutzer beim eigentlichen
@@ -67,7 +66,33 @@
ignore
Optional. Falls der Wert auf 1 (true) steht, wird das Skript bei der Anmeldung ignoriert und entsprechend nicht - ausgeführt.
Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern, + ausgeführt.
In Perl geschriebene Datenbankscripte werden nicht einfach so ausgeführt sondern müssen sich an gewisse Konventionen + halten. Dafür bekommen sie aber auch einige Komfortfunktionen bereitgestellt.
Ein Upgradescript stellt dabei eine vollständige Objektklasse dar, die vom Elternobjekt
+ "SL::DBUpgrade2::Base
" erben und eine Funktion namens "run
" zur Verfügung stellen muss. Das
+ Script wird ausgeführt, indem eine Instanz dieser Klasse erzeugt und darauf die erwähnte "run
" aufgerufen
+ wird.
Zu beachten ist, dass sich der Paketname der Datei aus dem Wert für "@tag
" ableitet. Dabei werden alle
+ Zeichen, die in Paketnamen ungültig wären (gerade Bindestriche), durch Unterstriche ersetzt. Insgesamt sieht der Paketname wie folgt
+ aus: "SL::DBUpgrade2::tag
".
Welche Komfortfunktionen zur Verfügung stehen, erfahren Sie in der Perl-Dokumentation zum oben genannten Modul; aufzurufen mit + "perldoc SL/DBUpgrade2/Base.pm".
Ein Mindestgerüst eines gültigen Perl-Upgradescriptes sieht wie folgt aus:
# @tag: beispiel-upgrade-file42 +# @description: Ein schönes Beispielscript +# @depends: release_3_0_0 +package SL::DBUpgrade2::beispiel_upgrade_file42; + +use strict; +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +sub run { + my ($self) = @_; + + # hier Aktionen ausführen + + return 1; +} + +1; +
Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern,
existiert ein Hilfsscript namens
"scripts/dbupgrade2_tool.pl
". Es muss aus dem
kivitendo-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool
diff --git a/doc/html/index.html b/doc/html/index.html
index 340202aa8..2eb6bde78 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -3,7 +3,7 @@
Inhaltsverzeichnis
WJ2ZqJQI@QV`9vNKrN%bk;p=S|ti)!&6x zx?8N<1@A+cF~A065Bm1i){APX50c^9ad>3tb0HI}-)c^{LuAed-7x(b$%{)=BMy%{ z^^4(%n>i6NXFo;wRrar@^ts_7kkccQyh4vHrz49JOkR<{T$Ja8&Cb3n&D1 z4(EZ`X}#Xg2so=W)eUkrc36zoVvM_M5Sii42~p~}wE#;aJE0guG>e392e@LJt8J1A zZM*}uq3EwqiebDpU+LY%eM%-2ZTOf{JWOXnlkb;45hLO55@1?n+A6b;B8DrHthsih zdWp4k9v;j^Tb~{_b6a9}6-3+M+^6?%bw+jB>*ry^>Q9G=G-<(&GJ!O>5=zuA#f?gZ z&$H-xhCo)sJ`W~%F#&wBIY xQCajVA?%)4aXt&}E!B zUuZRtWzdQg=S@jfIH|7-;qP|W$`RIUA$7(WQ_;8Ji#;0I+CNb7=T^OiB % zBv!g#QG4-!x*M)Mcq0B_)A;l5dv xv-q;8F2PrjI{IJPP+bbrYiupvUxTVMDsF)QPLgtyE1g=WjPpxILbve!2CrnI%b z@&et*{p*d?srz?rds`=8(z?I+ zk8zTG&HE>Y%@^c??`P7M*bNdIZQssx3SmvnuU1v`sa$36DTMJyQ^O>q!|#YW?bqg^ z8|G0zQ0}U4u#z3RM+~XSn%!g1cNyDgSN5ZfeHXQvWcF8!>JEp86wL+hM_*LbgaL{r z@{FvIaa}?+nXR xECot^mZejyjOMhL%%p1JlYne)M5APPiR^!#}Jr nAb*om2mRpA5$;r@?m z=J+@CAN|bA{r}g}$%Rj7>CQb+=nPz(|EVEn($>)>=HO)H gEA4aa&!KhXC>xj;bi1sW+!Ij;$dWA{+F|IFmiCG&znI}g0XWY2k~R4 z4`M-uVX$(sGcvQX5Oe&SXZ^R1m79%`CH>|Yf-3z62MQ0AH9a32N
5{ij{jhls$ zmFwRcPS*d{uygP*apMWgfO4nb{Kqd`>gmMex1j{&8_hF89Yi#LCkm|Z&jAZ24>YFmu8$R7 zs->Xl;-z1moKw1`_Dr0)BCyG|CRllD_sY_0h^s?%-Ew&8-`N%ljZpJ*pGBH;;=I1| z6|`o ?Zf}<_3i;ohW2OLw#D+N zf(F{-@miU^bI!77&_s>Sc6P7d#EI|>?LC#akd#CbbG|77IWPYq1XlkDK`iV0KSGeV zg|IDXDu1za4l8(*7g0*azdMBQ_jD8FNw`MuCm+xk=EB>O+Q2KY|MKhF{r2PLAwGM5 zA $1-Js9da#90mXtIb3A$N)szR>V_%7Pln~w|O~? zzeG4xAS^7wh+r%lr9aqkD94^3y~>pO-{IGfk^apaYVcUPw+t5*W-eFoH|LEf?9O~P z^_O``;%3AynLLtctCzLIvgw>HC1&g`8DAD`q7(QUzjUcdb~y+!@2;G^iwJ(HQjj1_ z5e`=a#rsg6J-|yYkgMA6UcYSkmfJJkt7Xb>dONdjOw-M3GqEc&uSD)<#RwrvqQV|6 zRrQeYt$UDWNKl6)CZ=i!@wC={>mx`xqKm8wK5+x(xkWMD^U#$jp0RAGaPuIloK|?p zgd?NL4O64g^p6cG3F|4l!W5tU1sup5J+mh1MBa2)KQKwbnKzV|_A}+MJZ4@VNg6tf z_zFyeYc@2;rd+Qi6kC-gRY^lfN3PU)*{aih=$5cez8J!u85s)}o|pI$7s0C&avrwR znv&a|niV9|4GJ?SWR)L67{7iNd$IUfuE-Pr%Vyl+4|Ym2+jW=diEvv8iC}oaU$2wT zOEE9|WuPTY>4g`okBjXV%lVFjS^exLGltQvz`3pCqgR9{ij?k-!1&!z x(bIZc9S<6n{HA94_oBI1?e=0D+)1As64p|dL6(oPhr!kEtH_(YES{fJ;* zb$)J}8dzmnEn_#36->v_KVdofy*CV6f`TI}Qwm+(-P#kZ%sTa!;ee;&7|tF!o^ts4 z5d7U0Sy^4f%p172=JG;JNq}hVL^oAeakmV*k9E41c(&5BTS^smdGetTL9U5#*_u~@ z0o;$k#82NcZ#2q}LxEwxlaMK*PZ#gUr?bby#q;C3+O2q}ZJ?(}(lo~YSdmd#gjjH2 zB?hH+*h3w8%2F{wQgy`p=nul8!ojQAdS0q5S(y!9ED^00C(jIPDVx&aJ9upE==q*B z3PD_Q>==&>`|>Ckubpx#G!$=}{rvnGaGaKbw 4E>2*n3s4?O%wBq12V }^u+sPR3!FV5dKV6 z&|M5upu;0rFGZV`B;~i%0az+*)MYU6PL|z@gT&@su6ouLN8dYMZ2QcmwgCHx sS7J zH1UfZ?)~w8nLQIw;u3bXzjZ>10jzeYD8uVAaB9)A$v>pMk_MCU7xjC3r?sR+`)CD2 zu#Lc04PCAg=-RNgr%80=t##s_umze{n5d9VCY`^{^=ni3N4~C|Au`~aZpE~)PA{@3 zjRq)il=E5*>Eh&x0|eQx }2)2ctcr);jToQwKf<{#vo-jO@!-8U?O~p=H+G zR!mA!eztTnnONE;LzT$S<{zz-63dy#uOyHMs4=()+QU{lG;Jvd2qQnt6E3x&ofTl4 z>p_kuC^C{dukN48O!iqE8ph731L%8*l1G2v=WjLG|2Z>b1gJR=Gh8`Pk~y=630Sim zejTr>_fI=)a7~zCO32S!{GGKijeINceQRz
lev)Uw)p{1|Hqs8$EIbbyuOa^&hPDhpAc-` zFl8N&vyDZEK|bc+HajP*#?a-wmt6nII^cSuGSh*G#*tXF)YD!Nl(r;V$bH&kJk0ig zasXQIfJzmkz_x_QH9k?)7!rB{whAN!-I){VT-vN(DswSnQoZVfM3t(8#;(f)i$=2< zEBdF@tZVUL;Hf5VaSXT_;)6E4OHTwkxaKcKh25)03aAzgC}^+o=o|-jTHK)xH`~(V zF1y0|Z-~mo*2@r|mR2JS=xy~;;SKpI&D5+xfMMkcn^FWz`NZe}>^Fy0d>yeEipGd7 zkK&-Ipo@?kG}Y+}Fzo6RCfam#xD (o^Pqqsr7g7SvjnY8*7)5i8 z<(N72geeS2^I<_BJ(vUQgVG8T;Y0-SL)HLd^6q8RGpr9xQ8XTJ^UF;hWz(BX%%fdR zKGt6vo^X#-auFWMw?R^TfLYN1 zL2{({$~&<1Cs8KbmaQU3edky@fw#wrucKrF+NkSa@0=KN$tO7+X-=PMa#>DEq-7RH zvFip*!{kR4YUV ms7aC`$)6nN0M^XRhH*hz$pC9QWfA8bV!>tsXp@!O1L}$; zA49-z@gG~unJXRCXTp%&@X%_`Bu6$6j-oY+&EzxVqBdizv+PKp%^y?yeU3y#>1O0* znxjIxTl{4zaJ 3g(TZHxYx4p(J(z_<3I zj^^P kiA1gKmLYk2u01B%FV~uK>TUfVg!bS}ecyR~wMc3eR)GR1(zQM3<=;lQ zG;XBnTZH!#dAy`KCp7yvyegib N=XB4@XIUKNi0Q9Dk~pN2Zv@tS7?tYw>;RpXe;AqT<%r;DD*{K+OpW z9o&vZjD|apd!I*S-*k!I34DN{04CPDt=xiIoVXlaxP8Wfgc=Vd0a2*tLrj~Onw2Sn z4jlReuv#SKJs%PT=#~}iyu;-S#JUSp=eMR3Y`nc>nUX)!(pX~!qxp%LQ mLPKo1&|Mhl+Ts;3{-}L?g z5bpoFJ9ciC|9P^dBU3?Pz#IG@f0n!>JuS%o-y&5wVqzvSCr5V+M|U@3cJBY$y#LD@ za&!I9-fXO_9RGWd^c_P`bZ~Ya=KsMgdP?M7|8-4BuzURW`+9FhAaLMfMb_~}3fz;j zT~$B&@rD0+t$H4+FTvLJL&j|% ?iwiOy= zNH_*W(=*;3L$ia5TR#ZkDiWSF>fD5Ng>M(>zxQSvEV&Hj*t5YEbnZoLye@m+& !DvHuStY_eTiWJ%ZGIq4L)SerXk8`8A0b5*k3I1vM z=vJrvh0_j4@HgkD-Oep61Wlv}OOUj6Spna#Apbe>6SM~@t>i1`U$Ks-y%w;LvvAbX z9`-ar?h(mp;qt7g!c)c`E2)T8lLfaMLE|MY<&nfR;Df?lz{~=)lLO1dBWBsE1RM&< z3YZm4Bvo>1E@yEnn<~hrakB}53(s$Eul-BI_RLZ59uc9eQn`RF6WwIfxdC6!Wcm3n zOJrt*9)l&40z&hIMRFM$AxanWp9(i9IOT8)D5L%qG33`KZR1G7XzrP_(I|(9qMtD} z8E^2AnOcnF0Et3S8k-KbHP&~LLJq4ztp_P>Eel`Rjd8H&Upr%oA^KhRP=0n&*%7#d z_@$C!S6}WfpNefm{4R=HRW54tPih&oiJ~-gf2FFs2WlOSR_yvc0|O}I_-OFI{@lpE z{(>K2Fov}w^-L{FG_AU=zT}toltl%i$7?UGrNm<*0c3?kV!CRR;XUrZfpz&sRy)iY z>j~ttJE2o#P*N>uC7TpUR*~)?hM?Ah;Hw}m^5{IJ#vdTwrZd!z*YZ$%7D2`y$iEc= zj@II`K@PK?RAUM&IEAo-*1uCIAZYnLbGk6cv43WAERQ?fmc9rL)`K5M0h8#R7 z`JP|!0dU;)k?Nab9}jzS_J$yDAy@?^6ul?>Lg&pij}F>Pk*^Sz-0&U@Ue2ZB^%^(* z112_@c=UR9dUbpFYJBhP(V-*s9G`vV?AFoK;nQwN)Q0nG#^U?+NP=k4;;?X3KY<;g z`x=d+c%=zd$zaB4@rcPYTnmXD#}JjzGea3P6QCxnLNVv7K?w1>N&}{zc5f15ny{ZU z65=6|q$Y;C8uaB3X>YQ@uZ&IL!_lrj#hL;=dEE)8zO+s>iH54S`fKsY((T!Ay{C!F z_tp1p jKcR&(v@-Q z5P0%}mwBB2evAbYP5|QVkuagOz-FU|-!^%)8g%G4iR`;uqLbUX=g6jeob>eP8%n3? z;m6cWX^m^`^t5*Mo#wz#RDH>;Ojc^t`$^OERoJ-5KSPpE)hS3NvF{<2DcRU(uB`Sx zPK1NFxDlo-9Al0XVh~kr=(1br(`y}wWB{l9%SKkk+0)mue#EMI)SWY89Ro6sJB}x0 zCdmrd1??5TP?*)<&5_;&$KfKugQrZ4Zh~}^+(YX+lk%gh5;LEZ4v8E+w$iI(@-1{_ z!OWrT3H5#}bslK^sSwwb%9v(lm`I+e%sV9I0;|6IdG0dNc{GPObZ8JK-wcdKCO{oS zAudt)`~@Vqu?%~z!LuOAw)8Vn&ID01(@3>sf}48~W(K@)>={yFcW41|EJVJsB#<%^ z&g5?b-~I2wH~0D(sWFR;qhWIcqSo`P!>8Tz`@^Tsx7Vxf^Q))xr@uD-n?3KHTfOgN zy?(lN>nYQr^j0$nh%!2fAgJgL%s^dG{47X`C;7np_@E5q65KtA4iATDR(!GKBZQ6{ zifALNe~qU!yg<(uY?g67s79Arek+Z4!|> >H+9}P94ZV@81 O1)8R*p%#w>b1 zm&w8}0K*Ilzdy4HUR?vV;`kt9%CeIon+-@SDGvl8WSKu~m`$eJ`GR CyZX z7LEPaMjNF>n1j$ols0uB3N>}MEOr$fCI+thHcfy}YR=&M&I$POooyi|9bC~j=J$;c z%#va%78AZqOKRC6>e-PYQ$Sd^T3o$0q`qV(d$^lBZkFiPJF~*3d*S;uF728eac9;M z$V{Lo>3cobOlpLkp@lT!52yCOGghlWfWFbDf#c`tb>MMaaFM{o27$9DNg&!HKX??R zyWeXVnzH?A))TSX05_taP7W$v=HmLT?nP_RF0MikEj?+gQZwpZJ yn^yGqGig-3)6z+<$w!KC3Gk5b_2I{cN5N$rN76jUo{ZaF<6vye=)9DG>>yx zvDJygY=i+4&xfYm0|B#6t|RXR#LDXRLo6jI=>ZCNdH#-9&k&Ivh7;p1fG$+GbIA2r z$hLel%7iv9PO6D-8K6jViQM9t6oVA$zlCu2`U~Z)!d(u@{Q@cG3XN_)F*LuyBAIRY zmr*rMd-dzxd;Mr5=vQU~W7TiB7R3RLhBc>{=4G^M{E#yQH1Crp^!^{ z1zi$SJfKs1TgZ{oXbGAK@ca5nPl=#zK}MKYyR0PTyJ_OJA#tn_&Yb*hm2a)98+aG{ zSyiC3JXG8>1IX1J_c!H@N%?Xu=CN)Ur{1017%APS8-^_Pm?kMJaxe~!s8^x{IUmHw z{RoQC2^c%nU`W!K3mG36N5D?vJ)t8dhHAIhA41eIVTeybB?YhGv+2$wP{wn`o(M*0 zbr`qheQiKo8uIlrE4}?GCS!}Uwh|X^lT$-(<4i{|2iUK?Z%)x6xwdl}?1(6F_j5(K zwP4}dgrNnknYXSS+s*OFS7z!UQvLb)Cx5#JS)XY8F}qAF;gZXsObf9GTdHQ8XC}G) zpvX!ehhpNpK=0RaG|_gtIC $(o 2JIyuilFMa;s*%*f96FX!ZDWM}3|cgcXH zN+y)U0_90|(PH`!Wq|$%7+}(4*`egqmDr&W{uf)|Ngr5;paKr{WTNq I)y)r*Bp oH?i;nQwDOXPVrR-K_x_s8wb(3lhIx )M6Z) zJHecjzZN_nOuba29q{;R)o%HM3Tkwrid=5^0#+QA0*r;?DsrfAi3!O0k%zj3PE;eM zRuVQRlW5q=*e6>-JKT!-(FqG@*qFxYFZwvxRIt=HS#VusDHy~^b{5i#OY2M {VEB`p46mA~XD5;-BUsT2r& z0=su85LnR8Vt DlpcW^gFYGp_U*&j8 zlyf7KkXJdVs#5l%+lg7axD7+K^%I{~bK`S#swt~EAD42)BP=^~w!O%UDI(!5+j#CJ z&~C(ay$b5c61O_Cykc=gaicK+@litwGg Hk{G>tFcx>5_5d_mb zN+sF1Vt2SDihr;x)%1T&b3E$N|G;or)1fWTwZp%JTHe(CQJ4Fb5Knt4HL<{7qgdm{ zV6& WHF;Tb&sswkNU*fdN~KZvPD z dn+X(4~a*TQR(#n}_!JVVN@^8SJ^2qVL^jvm >=z{o5??vyl-_hX+Rrr1~8)K4ZrRJ2zkcQ0 0^IrV)UcOfC|J60v>$?==@&>Mya51%JQ%BW2rE6X7BtYg6*6h#~qd(5c>TTPZq z l|}+g{2ntb@0Tx{|Lr1c5IM{W z8H?xyvs7hXO0MI&L# 2%FQ7FP>{w5b&?rx0utYr$tsaa%|du-IE|9Wt8Y$g9+9mR?3j6J6W$FwmX%PnidDyip(ws$x0X zi&Sz{p6_RPt1Vs *z z_2-Bmie1-!V{zzMvwu?hY;xt3>ceMKB$#he-eO}d3ex2kEiPp(v~F6z>=*45qro3! zV U)2l|TY{qx|eC?#*g^UBcK&do7jH&OhsHQl$10+gRI^U A@8q(l+k)>Sgm`@70-n z&$E+^o)QR~1lKZneO-6M5qZb8ho@*X71khrhYbl+6&_*vDm4)1ZPaDS3O#BA{#=NB z7uepJiQ9sK+UR_IIi_*c`+cu_X$0z1*5lQWzS{xyqh-5w&+@Jn2u#acGW!;x1VJ)V zyzEzgTsjAAhD(^`O~lyM`Z>rO8~s{g51e$<;T&rZ*;1k* #A~}xNenxa=}%gB81+%hJ{EAEDxS2Wg-0u z_irHY%3hDdOgJY(_KwT@^+ocv4VWn`J;mh#s(pDR{NvGnVwe;^boT8PsbIVJpXQU` z;*T92N}T3NC^C+x+}lkK-+m7v^&aGN*a|gp6Vr*cWoW5sx#aK5h))f3Y=E6MQ!al5 zSq1Bwh+mes4wem}{1PtX{gAPU>po;{^x$FC(zTpkI`N8e{b7zAWfzvuvAZ>YeW`+! zYh-!|yJ&$fCVALtKT~1IV>G8!v6|fgLIP2T2)0wbtF3dLxJloc!07OgX^P*%`qZ;d z!g%2XT^M;F^kP?`PCEsXPzP40z)08aWM1Qm387H6jd@>&j p4j;=Bak);`4 zdjvCUQ+uj1ODMw6RryG`z9A{R&Ln?@-guVt-swU7fhJu`7F}QiGh=q7;YrYWVtz>l z#io2vjP%mXxe<%`hAG4RpPp{@>5eeruR~ShjMF o- zjw~tO#^#R`;k13HzD5D$y!+hty&A$c^2o(B!t-zHM{QHqQ<_HI!8jb8->s cQeOI_Qig^3|mXhe1IA#OAaiG`1zrT>FyxR{5S0U09|x7 z-yhIX#zf=G9pFZmTr~ y6#|CwT-EukALo3;jSXowWfSivf?;wHRICH zj-%dSQM&cUXG%qzEBcQ7n8`D&fBsgmR3DcKS?wO|da`%qGGhF7zug|0v!+>p7yMa1 zu+z}D2K*>_UbAai)2f?(C8CzD+LR^1Ev ^M7-bU6&@+h;bOCd?L`_e{;JtXP2E}s zj#I%wS*tYaBw>P4UH@61gC@{^Y?1a7>TPpQduus%86ybcG-}Jo$$|Yy=icFncp_R8 z^=gbfqp!s=mn36`H;-Uo@UnKY|LC_)YM(aP)I6-G;J(x(_?I(x#Kzdh!B9KtZzx@T zXXd1U1=z2Kub4irZ2dyHva`J!>p>g1;xAvhj0@mMzoNk@*iLOV?oV! !#lrh!QQjzA zFo$GNa-u;)J&jca`!``<+ahz2ileV3+FMw$nGP6rVZ8fyGs-{XV`7xR{vFI2iWN3) zalJ|vqQ@Xv6CrwP1vi{M 6+Q>yrnfn&0S{CNmHed9(73lpa+plz#Jz26_&??8&c#I0ns!71VqONpM)W9o0 z-jGynIpS4~VRm~g5+B`L9V-HF<3=FF%PGTB74vQ;6TSpRKMPUQbD6x~(HQLF0Z$3; z@ozzazOPs8U@Jw^k@Z5}3g_+|bQw!IX&%Ry!C=OQ##J7%%tMjDO~Bo(pbGN{93Jh6 zWs&_{2l~`agadz5j!r$ss)>@+Q-IOJnnmlW+gI-}oWr`{xy9SfEv%OoQiC#nfzXTE z6irUs3W|et#uHJpIifg!pvRfx8&_%&8=F -PwdXGFzG&^q_!8JN-!5oyC&uc8usZQjPmkfBo>9Ys> zrkphH-jPQHSa>s7OfB4PtHVx=56e=NNd#T5mm?=je@m;zS>=ZmvZz*OapI@o*>Jb{ zgID@o_6yt%8mHkzg&twXf3k_d9Wdz`6JcbTyIEz>np>YR+vEB}e9jFbk{&eWXN0oY z;I8+*KeEvY5xuh7_=)`iNAw!(+*NWJ(!_+$rc@v6U>1hl#2?CPND1fj0y?uoq}HlV zHOJO%H}%H|McT@!$l+`j*X`p`^gC Oz2OOGMYc=33Q3LIur}L(>Hdi z-5(D2o3aWC>TXgrVKgI-4S3?GTo}{^G+>!x>aNYtnB^mutjwV4i!dd?4oC??2=8N@ zoc4>c)@LY94yL~kVdV& lNJO(|q+m$`Uwu3PePcjp036` }BERd|j-9k$pF5#@#U7v#ENw=!n2Dm30HYx;& zSL1@?r0;_$W{eBUMY&Pj7rfQg@weLvkiGEaRAIk{5h`KGFo-~BaLROI@uO7PCR&Rz zh)8}UX^t|y oT=6fiX z1*1lzUkMz`$xCzpQgv+mICB%PnF!Ohx@=rxiPMC^nWWHjrd(m>IV*4W>G^f zkvEk0OUDvjQV(aSXO&NggI9DQkxFzIjU^QoRl@7gcKk_gIjHqAwRk@1ZHcnW1D$P@ zJb4(@UbYWGlrr;aJ* A1vr@zgg-{U^qBVw0i6wM8O!(hCt5kBmgv#h`j3 zN$OgfSC&7n#ks-bns)A^D(T)hnv4;Bou685ONe8r8AN{cR;(?u!CfeSC`~GD1iE zg7w8!M89~2I~TNPBs#*EDZx8#c}+3lABK=`icv{26`>dsy+>)^V^cX-J^ XEWI-!e<@B;F^v9U8U)diaT6N7btEBaDu|%AH z@1mhxIbU>-;@2L8^RS4bo)c9LuMfK ZApt9uRSRSfH9D1@d%WPrt+LPYXVj;C2zSc$DX{b`DR58j` zY=-Pw4LtQKhom0;>il)H#N12UP8pF`pSvoAU8(lW8@@Z$lcY|VLI<3q_(xd=(){|6 zPSb;u*)Wv?4fj&0{DU^~M_ZBLwHFk9^5PVT;(@uKCL_fbPU=b#f e?d7SF6MyPMn^ 4go9OYtIc1sL{ zrTc@946CDARy2CPJJNrp(D;QzaXuXVqiZXTcXU$xYpOt-zTmR=!_BF~pIXlrPu;GH zEOT^ht(K{4ibHEy7Om_@s=FVn`r~x(A<+8p*gyqa81L&-e}EwOKRZbNvp<0Qd4ma1 zCI5G?EeG@8Ehc}TdHMLrm}E@t%s*L>aWF$BZsA{pwf5|ZxG*0pyZpQ1i&1qry%=0) zWj_^}`{jzg{30eeC1$8yTTy09T|1?txDI9-+;9kq)@^ZxPsI&aTO{XBAFzLQ9`ce> z(USYdQ|cc`0TuWCDR}OtR#~v;#!~QKf}&S*zuTUXvc_Q=#6RxWzR0ZNI+whZhzX zN4%$f;B80ILG?UR@Fe?Nk&E_d%K5rx-QA^ahSe%+i}SOsFQn8>c{|tJ({aeXuerN+ z*6BrihJuyeNa-S;2?bGYp|20jCY+W$v`mrmkByWCJ yi zU2yfWoAX(?4z}Zd2ula^Yo#OfV#QgR?T*X1f$d>mWk9Q`s(%0Z?m#J* 85J8 z%w63Q9l$>_;d50hi&aTy#?vr39^3-`v7Do$MuaBOM|G-3*a|kz=DV9fn)2pBFwrsy zPKeF!b |I1-Tq-k#AcQg{?T0#}dJhW!g684#zw>3vWw-xE} 7 zNx*DJ5qY-_V#p|FnecG;+A4=j>~KhJ!P;yqil2@Q(OX5$o$pe)FFTgs&m1%_8T)Nh z_!#K*p5?~FZyk2PGV77Mzw_`sEL?*=8=*PmPpZkIBj8E<0XuLzzDS&+1yvOEopY8w z7aFS?KQhTm)266XixcS*0?#GhqmohX;skbfzaKuZ^K{d>zsow9{!yY$)u7RT!74Id zZk1>}G}H?hloB7?5Wu2{>V81=MJL%Hs@1X&(c*{JZ2k|z3`!|aWKt}(G@KsJ0GxA{ zVR!Q?vm&Lv#8S!11WCPwbS_!lI`YTim<@E(Mgc1kiAB^;A0R8uICM@VZBcBddo*Ay zR~=?~J_uSHu|1g@Z{l=@q-{F-YRiKCOiLO@#)3OF3t>9yBK9KYNMCA)mFmt4(urA) z&1(Pf3^U9-&DMK}9V$M8u@;$LI?+5wV*KaaSCjh!vQ|(9UWL$ZWl>&aKpXw$i3jc^ zu`(QS^|%|~r6cY7Pz4ukmcuPnp&Xdf3pb;>A}0rb&He6C$M9vPjeH0Nl-ofWwKC^2 zmn`vnOGOTuK84W^r*sWb93M|+7Ms2k+A-XSRutvQk~r5+VO=@oqw+T~{6rT7iJrGy zxgcj*o`pIePS^UOu%*dJPjYoyY!zIUly3o;zLv#QL~g{TRC>O#LfHmrlK$ZKaE6#1 zgZDxEui9 $Ph~+UWJOqrmfJ@^Uholq zvl-fhQ!Izur2~4lUrEph(_S+hHg!TXLUbNG`GX8}p@`!qwE6`NtOvOwo(w^ep=uf| zapugr*L}Sp@2yLlc6^7A7ll2zKhVcL)gi~t?DT#!+^go1;=NuO%5_`c?bSlY@|ewy zU58-1yt$Qhm|0=n*w|rHQ`*4i_|HF>Zn5w>l70ta5Posj^k7Pj49iy&M5gL~)qSbx z6iknlOS+9p4-LykRq&bFi4~<)7BO;W6?aS=mpwGU69!^SZg7u#Y!KBBhBm e#$enafNp>dfMnPku1xr6W~KVmeMz zV@avX1TE9p7$f>^o6la%2b2*o>Y()FL#aUR M zj*{8q?PKMPddPwgu2mBZ*qn7ZVi4Es1p*zt2?A6eR7Epu_#{7?pVdw;8UAWMvba?1 zU@O@gi6IL;hVbWpo6&dUlItF~Zgnl*7sH#gqdxb|^SEZ&`tL;4&+p4R4&@HYlEQE1 zDJ#3^ns0phSrn%Vf;*HF2o6y>?O)j=BYVNBEmixe`dXuZlB!<00Z;Y%YEKt*h^rE- zGrm5(_K%(*%WFd5(rDOsiqyf}r?mKyB7&is6FRUb0)uS)BdUK(98HwDb3l>L4ldNv z#7;WUl93W|mFtZ%!4Pp~WRIoeP+4otkV#nF6#_je{llj3g*sd=ai@uLi=?K2mCzRQ z+1FSbuj*a<`07>#Y_J#2O!s5Dk7NeS1ru^4)~=|zMnsy>{42s#nX^NdybkZ8<-6*` z<+XGESVp;o9@}iA_k?B&8Ugir0_pOeo~0tB{0ck2Yp`$>9_Wh^@Psg&Xtg O=4bdr_#E@34sh7!W1cz>T>#xHs)sQ3k9%Z K=b_K6Q*+^a zeHK?Q? w?^KWen~XzLsMx}Tse34wb0EF}Pa6qsf^MR~r~_!_QTp?W_!IVtDK;{E zh%Sdz A{BCu #9;6TZ(-{12IF${O>hue64dhoLu{1z4bosii3Blnr58AYgWl=2X@}>-V(2T zD4ARqqSsf~f0Yg2Z+xY@zGr`_C8f%q5i=T@2^6XxP8-dmDs!6UVp?J_H!)7pYv<#N z4*ER6P44Z~q+GYWZD6y`?7=&Ef?6dS69(&$qKk3#h3OTa`>DPhB?2^5E~bI5wv?=I zM5hO?XW*kQ&359WncF3^`@Nf0syekq-U>6*f=73@U{$U%`Nt6%yUD!N$9j<&ms;+j zJhjQLZ}*osr#@Zo8fi-L={>DxR86(He08- XdL|fBQ|yf|lA@P6##ORTUtvdoGj9`d#n@%=6nnZ|UQu*C*CreTW6@B8fMD zWZumF^5W5XxljrE)c}6Da5+agOnN!OFI5A1o_5ghwvP z6=ld_nw^qM5g?$r_4gwM$I0|RcD&8V*WUSrAae@M*5BDSZPnm$Ij4KA9R2bIxNSEt zhMq1wE}h;pYs6c8l78@moT!=I7JH7nViKJp>k6GF=A+sNTr1+6-UF^b$0jQ`{_Q)u z;LF$79aoq9-_kK(tl4?ii?yg-v|eG(sUsyE-?Pj~47%I9O?h&z_%nZq8nY5aj;*fG zPxzojCE}eU5|>Bq-X=ju+PeX_?2uI=Vf-hMi{UrFKNp|*t|r>i$fBUHqvgd&q->cy zzuurM=xA^vtK%egi;tWRUzv|}tK-~;9Sk*c#+O6>uHlX1QUGtF+Qm0En)Y(D(?gZA zVgc>ZLew%k&epI&31b}uV&oY0*Cwn15>hW=l>C?u;KuVbO^La5<~E5Hg7?gIf(*5K z-wvObHX%vHnMg1Ze0EGl#QDH(oVZvR7v_%h#ZTskOb{(p&pTzY-0;OW;Rt4*M)JWC zwA{+#1o6Ntx+RxK8|Q{a60Z#X@uUIuvW1Ia6h!Z)_nn-PqtvgzP05{(iQ#CH&DOj= zelr>$Cyg;qEHs5#C;Z+~CPCe#pC)*uKk==SW<10h9p~8FLg(wQV=8t?@J}?9K>~Ll zg&o!Pfgh>ZIEGe6*oln%RT;yJKd9)yUiVr}LbF&VSbS@gqGQyAg5uWSVo`_0^Yj-4 zL_2-WDa4Fp&?@(N@iEk5_}QE$S6MEZ(VIMNgs4>O1}W^~f3Swx@V_O}mLC-*aMG;) z%4u(@K4;rtmoddXnktHZXFDZFK#B0P#*(^>1aATJ;vQpT++i=dCCN;{didK 5wNTgp245O=ZaY8^FANYOGi!aqHh>Y8tY6<&@QB`SLGOi^ zkUS7Mhuzt0qYW)5h*c4XA; 1yiPlE_mM_;}Z;wCGk)XD$=0+w#^@*VWZJ zP!Q!BE~e**@qani-R0iuywOyNjd6VwccH`?JK%0RwDX2XqUR_*FX7wIH1P1=waB%R zmizD7$~cK?_E@?=2R-Jh*HIWIDr!@jk>n#m=ij6kN>Y+pGBP?F;rpADCXyv;N-loB z`#ML>5%hxXgoLjzC~ErUTJSBlI&sC|7><))r2N9ynUt_rl+rE4yNT2#TU`3cv2sOv zG5oPIqLGFs%3`$NFiWIg353DN?KNkv2iXl}6`6)EV>v6hs){LEp%lUA`05)eQ{S|i z(psfF`^(@{ZSdA=?9i}kC0SFG#4=N%_Lz#!hPTG?vgFN4?Z#XYhUYx^`Lj9}mI*8D zaEsQRoMp#0Aw|dbEYgiSckWtjgckRf7bhN_tvd1Ewdp=o`cjX{`+Z=}cvSAL)Dj{= zzT2w-bBF7N!QE3EAD{9m*ASPUIDe#Viain4`XCq4B+}kH8OR|1g`HpoI)B11HmsIf z?bPz%TKrMj{JIaWc{nvr(3ydeK5Wr37QX_@87LWJ5@=14EMjvHEs(*sV`DF!ZBhGD z^rw$NuIJyGDcL>}>6U^&R&%)K^>ghx+q?;IYuqwzwre_A3grYC2h3`G81KWk$$jc^ z5{&4oW?3Q%23BWkJ`;@c;D=8$U-CMddUKy2 !gMgs|6u&zru6SGNIfW;<^j#>PB&NoAR!+ew zR5gNsETIH0E5@#TRb`?6^5xb#o#7FZ&jA(zxr}D8^d;_kN9G~ct;3#`v*%)#y)DHX zWx~pdD5pNZujW}?-7VR1UsVua6*DhJ+FB=nY%fr$rP}G+7<@6*AV(;lLl{CY%B>O? z)j#|$a=;{IM~;3Ryz1t{?V_>Pc!6k+pMw78PK9gJbY)YTveA(s5ho9t?hXa((q_eQ z0@xejRU9;Ts=X&S&?@|EI~mcGEqywd-zXo!nO6~Xx^41}_j_Bwea#~=+d`{T#2rPX zz7eftyU}Z}H|w>`ryp-u4B=3}uW-b?x5P%M^e0Bx>-F~V1!Gmop?f)zqWrvA4y!{; z t^PVpz`Dm`x3&9P@3MC4UlSKI$=z(atPw z%uMy(j?7XC8?56#eIJ+?OT3bnOiy~lYZhD4PAgMks#uvfLE)ov)VPrIGYWw}san_k zJHR`SYdH2p1~qJahR~uZ^b4*2%Y>B%PW%b+E5w~@3)H=@8cb%f>FAPbaUHFg=Wo^x zNt7EyrfbaC4xuVOc=ld27Am_qLk?^!4tnG GhJE-9dNmU zw|dGGrb4j}zcWs02 WxE zz$RT*4E@ea)f-C_Sr45CV%&^GgDN}r>Ruy2f$0U!xd!fj)YqmLjWuWAg96{4;Y4zD z+0TLPB^D^h9vshaNzF#I`$ya5CE7!pDKGXWtiR~ d!H@bsCD_hvAKYvo3OC33@Gdn?A3lH| zdq>{Rn;Y6q__STSEZ*IryIhRt&8brH6|@+F3m?V;uXt7`hzwL!jWY?0C=2F2ffq~D z0^!M0;KsKAHM4I0uMV5D2 gWEux6(~}Siz4S22)*Yu5Gt%6W6o1OGO)phMsOFlwL<>HTwLWcY{*k zNK78{@Mu-)kz7@bhQ>H1ZN-pS5vBJVVtX?)2XwPd HWL$FB1% Pwy5gj*n!9`FBjAJG0S_D2YD zk1G^>z6h_IeKZ>=L_AZ9naOy+_~HN_e8NPtZK&?rB+F@wQHoyrOsQos3}Ui(X8JSlV{evQn-$($b>yw?{`?sr6rr_ z20my+s$}SoSnOcFulQ6kWirus%_TWTb3x`lT{%JHWU|L*qMdt2E}`8ZNRlB{1cqjz zv~do$cw?`T4PQQ*TVUSs+YM$9>LwFyCV4Uwf%ny2-AO9_om(}yD8r;H@UcK`#Vah7 z_Jf <97p+m%5-eIu?03F`kqDW;S@T{=U?o!a`0+!SZ}!W$NS{Z`+SL? zr;U$ESd% vNpu0-GaYIbk>HEI?PKJjqZ&6 O*{r%b_vMAKHGc z#4FF^l@?M2?r*oLpJji)7me`53~*$BH9#Fv!H&+&Vo+GRpsn}w#ytkXy$#`8yyBhI z$E8P7B4R$SOFJ>;+j4-?s{3K(u%-c*Li}e+?qSMxKneLWaTVCDo(8f6CaUqzH8WO` z8BM)TTlo5LS(X&dKpOOlQ5t0*GH--Er@6 ;zv1lOgDLY+<84sW{(J6x#1V0^LE3PId6bD JE^?*hWfopbiAZEPTUaMOc}HI=VaBG=3KRU4SSx) zd<4CT4j6%t_ekxF+?hHRN ;LqLu}M`)L|w2gf2@++DP!hqDWPX-gq}^S)6J4sT`oC*(I&w|H_w zcecLeR;Dh{C@NwSFO@eHxwbLwjhZ>OE=LO5+_WgwzRC`4>8*&w=3x)C<7Qg{(=*sE z*os<6zMjV}KAAyRSpnZc?Q$IJ5!aXd7wO(( y9$Xy(!nO*N{*V$ zcul&&ptn=ygaGq7EKl}rJ}h2uay%@Y`s}WhVJG9T%s~``kYp0Pc8q10^A2Q7*T9kD zd&T>qdBIsec4HlI4y`w5*|_KXdgdTlyu&Xd@ezLJ`IoqZc0zJFc@kngIKzy4Xmq5y z6z#KF&HIW`@xsFU8|z epnYn6p+5ep024&sq$vJk#tJxSIC`M{yQ#e-Dqot<7z~Z^xe< zgGhbZ{p_EfqS~K3X{K4?Kmnm90mx^a{D0CkCN(b_FDTZI%rZ`O&U>>U)wdvFk#D zhnVUk&vsnYsJ&W{y;F!3 IhKkR{JZ52}t4NpX;IEabf*^v{ ztoK<4b=L1)Qz2%7oJY)6P+f`Tn7P71!py5N_a52o0^hc!9Rf`iYb>*(Pj)UoONdKy z)thUQSa_8Ayf<~m9v${B17_t`o+?#@9;C%YFAB`I!LYx*{bU{Tvn=oU41%W)+@|Jw zbg>t=zX-SBt$Ut*4C3M;jxx~JvJ^v`>m^u0S9VZm_^^TZ%_P$^Fx-&bu^Y7z6GnUu zz4xY6(AuMQM8&Mk!OI~*M5&aVm=M<}*}l~Gg~P|Va)KA3eq`#!j)usXx`<9}zlhg& zt;$6*bHIp1BCW?ed ILF$>iMfDLIOJGe>GPXv~_f9)=nHOd)c_AMP4tG zUS6JMT L~qle8bSY z|DZYGR%@|tVzb;Tw1F_Cvf;X0oD@Cje4y`C2F3YE+E6670{I0wrHY#CgQPTDn)~VA z^u|6!ALRI^g?Pdk<%kQaGjRC@zQYp1N9N@(-|G7O;p)PXJc^8VcYeR%*qIRh6O5=@ zz$yo}kg2mPrPx16G2dLd4?`k^C9C|+^6D%Kp9cmrXdbz1%TGKXcdfUU+A8tP>$K`o zr_%1#@|E?33{f)r&AzaBOrw&!xVK5Vc O@zFsVG<=1sy2|i7(ZDwd^IgqSA696- z-9sc#Un}}=e&dodXyS;L7ke8>xkWrZ9S~Ir-V>D=cdY+}3GG?;EwYL4``8=Xd)>0a znK#&JCqV6JM=zRaHk8ZMN_^9DfsKujh~G*vR>$CLyzJXFaN&I~?uLe?v_96k{Grf^R!=NO4U zg8vZ0=9)kiEia#FD-hsQ@|0=H$A&kbz>yf< z=d+TmS83B)$>-abD0X{Gaw183pN^ugYVejyliRJLjYkaFr<^X@O|Gp$#f9{*vJJ0m z0vq9>f1?=u@$=!GK4But2=O~t33O{i74R7UjW9oquuO~;1jW-+Z$F;TZ-3{)=#vMR zwN}_O)q(SPvkm@M8RGMQ ec>vwt$NT?P82tO{`JY{soc|^p;9!CH@k7% mxWCv*JI2hT0W-TsuPDVENzx;BvFf7dRjv9Et zcAqEKIG}6miMZ}B!5jc!VdiAy21w+%*x3IU0HSFEVj+3{_*tD5;Ijjozy1&PEfWw4 zgwX^<4-qm2F}-4W_l}Vb7?_iVjgbvt$otD=$M(d0#|pHMK~A>dXdvzuAVSEnDTpA+ z6eI*eG6OL|>`g%kIPCA38Cf|v$lkFtva_=Sj0`~M8C$&J`FQ;|(t9ATgF80*IG6(1TWr5B#Yz0|`QqEC4ek z<{(5Ib{2p*kDUV` o4E{qTuoQ dzp+c9+Vbbua^+|x=n%x%u zgVw=f$xQKO%XJE$yxolskGtM96UHI=nnH@yt4RWpI=jtj%s+@SLN8sG?ECpgEj*8k zs612bW*hMzQ1+h#a&UPGXTVje&fX)$Gh-;E;V^GwD|d_=Z!Lm7DBrNzsreiQDZQVQ znQwyT0UhYhxQHG|@5eN KSAyoXna@Brc-ei4v{~$j;mW>&E4K t5z #Y5Q@U>Gx)7_I z3`V6AFAh`3LkAl;E}tiwFsj@-f&Q$nu(sJrrWgfd>%5i1ecv;ee<3PFi+`QD?eF_R zqs|KIyE&5~zD7wA`-K+9;B$w8r#Z&hRbq0%I)W6g|B$vE?kd!~om+M{dB2g=C3& z_061B!uFehQgo`qT;lgZwY^5JCVRx1SYHnV`zZMHSQ~#bO`N@!mR%0fz`e;sA|E@# z Yn9VC(AO7 z{;PPBmv7?UkR`r%=}ipaM`3;Wq3)G%AcA5*hJ>_6o%svDZDiPQdk(&*tA6Mvx3=D8 zHLk>55;ThyA5YsO^)|^_7C(@A&bNr2PUABU_Xa4_%Amv2IDvak*kpOf<0(3hw_+pU z&OT|g=rLnV`=Lclxyx%-JkU1t+B6DRPRcrdS%`!Y*(-v6d= ;zK}RV8F) z+C%C-C!ETlYIEMM5u=BcK9_O{8=|Z@q7(3ri7253Ly<-6js{8S$N)atA0^?SDMi0; z`W=ZeW#7m|tSDF})l_YfQ7lVF&f^$oaWqbPtDc>}OEEDIGc1dh1>J8~A~VSQ()4EZ zOTRWVPd#N%77c6p@`u=Rz1$uA89(f{W1W)zpNuTOE`$p%Dt`}ztoNY;&9!DJBH!R+ z$^DF^{lypbQY7N&XuCc8wXTHj&2=e5OV5e>R-jql7)O8!4NwAWU9P0ZscO)_4qA3p z!>Ct(S?Yn&{bOyU? Ayyb*c#O6g_uOLrr&yFzbjl@G%9K>_bo>? A0dDBk-rU$$njcqYHVd6oX_!=p6VnpgBUP z04W4#8N#ERn8rR}Avzk@qDdrJu27L$;v#XN6;jy%mW{B5s739+A sPl}o$_sJ~OBIK)_dStgUK(kxoVKz2fufb{P_%qjk(wvwurfLcjJinjT zFy!@tBlOI8h+6dAf1_5dl9Iyn`awq((O}0BtkSedxvnb7a{Cjyd?Hc>hn~O2O&F^F zt#Hf-u%bq0 C##74S~6dXXUySWl6y*JnFrV;m^`)hh3TH~Qi z8Lh7nE-oM4ZlR}(_v7xu#VF)z{OAyTd$-A*bzQ#sxa76ije&@<2RjM81eyu? G;^$P{!=YOP2R7K`FN_2>|7YNg5@u9 zqG{n0Ch%&r@+b8{O6R(8v;A2PB(~f&jTIudt)*K6iS^&@#hvX5ZcTqVmzQ3tvo>g= z^ B2Z_e)ydPM`8WGp!^}B;;Eb0|1&FHo`LKNlz+3>SD ze|QH|$|E0_i<7-GSNl#mE?50dy`^P2byxkO+i3ekpSFjqvkh+F0UncX2c zp(^yVI&WM)dUjM=m+Tk6EtLHNnfJs|MIp(Li>_H7nz8thv}SHT{ld2kc-Mm>8zj_A zDEo7{UsZ2I$kx%=nQ4ec>+3#!;^!vf;JsptseT6X&@R0WBLbw8A6bu=vwb^X?~h!Y zuGDAsIYrpt*+-dJpBfZr^EKGunY3|&bw12NB1h#Upc89!-t@XIbQ|rXU}%TqjqB;l zN9z9Ad>}NMzFQ#q9$zx?b%*6uo#TFv;T7&%-?P>@U#@{y^eb=F`tEd*v&e#$;zYyp z!>O4ls!*C>RC_`64U=&JR4kj@BoQxLt+Hm^!`JLRQ4dAFzt$Jy9k{6r@YdW=1}hO0 zBAr~Knr_AloL*HEj;%pS4_{5ATh0k#_ln z#hfrfMPCo!hP-P%D~Sm_!1WlNI05s eF)q*E~3jQmm?&AvG;!)$E6AVF!OSo7vHLQnvVn=5`ZZCg7nVfU_OTCXiJ zyIm$L2Rm<;5gljw(x)N~>)Odsc1iS81{$lSKbcYQFT^GZ?ZU2#6DIeEp+&)&Y>E@5 zf5tWSA1wHwkif{vLoRZ5R7Z_IpIrEQHKnF`d+kfbb(t&MG-hnBU2QkSFY;OG{EtHG z2(ssq?eWAq2)Y((4dThoZbA#X6KgkX`a;r4bgFMI2ejyS#`7ZM?s3;9B`w^U9cc$2 zk6CT5xuWFH!EfFEjK9dcpvMCb1ZD{Q0jHAvS_7;9?vhW&&5uZy6`tQEo|@rCuIFIG z7jH138rqoeuhwKt&QB0eNx0k%3|hHDsSl@X9`J~5>}pF>QH@xAUGM$<=(ke(l! Wv*s2D6b!c{D=#zyyAuI9}p zVJuZ7leY7b@-~OqY4I+DvzCCi#n+&3R|%zkd2$(Q<8Qug?I-adjB-wg%_?A)Y`IY_ zDRq~dq^jC#M+Dr#(}VVb-B8g>m;h^*6mH(=3?`ro`Lk|hy?- umU`PiLI=(eH9~{gHudZ8PWp$dQ4Z?4OiL`vnKfKU97kENqZGR}d{^(iMbD1kj{E zrOzC!|8VyGyL%DXM?+o@|4;j(z+Y1Ize)Cgvi$v%j{SGy&H9{pv#~Kh?d|!SgmXX) zaiFmw81E5qAj~?@n2>kwAOdJM$V32$3qnGRfC!0o2XVwhGvY(KJ%HqtISYgc!Sev| zKZyXEQk?(57JC2*@3JQd3zGdFnhFy68UYCc;|UP4D+ I-5@>HvWt zV!j|vh_4^;;gflbE5Q6uU%)(?|Fipaen4hy$OerE4V(ZmG&3YS8#wo-XDQ^s|JnH` zw4^_fG G!qdjN ;M2c+ z_Rt*h4(d-3cu0I8pz~J<84UvABn1ISy1~x~w;%wKQw+j`;Q+|)vw(R61^-I|;ST}4 za|j0XM?;?VxBq^MNdXP$b3z=mfjM#t0f{_GAQhp2{_hY#pFiwbUn3O64>|6K!~d(l zk^|_kh5`zIB@p6pKwlvYI4lnb^q;19APgA)@527o2WkcE5T$TH;c2NOKL4Zt8nP7* z6dQ ?6O-L*dUoisEaFCxdK)7MY{awDlar^5H@DpWn zYzX*}oH)SMr={ (W+njGzwrv0PW%T8g1kutF106_ zandu^o*Te+Bm&cUn)E!KXh{I}DO$xLK(s#DO-=&rKFOvafZmhcE*=2O00Hb8CqLWu zfdJU25N$~Q*A@OE88G`KdY|%aHar=`0Qr&fj5 N5 7*2rB z^l$MCE(5R%+|7_6I_du*j>~v941lpA2kF2xQDi
AXA{<-rKW&`2P!VFo-2ToEs z2M9jk<|FoR2~g_%=SMprGU23I_p~es~Vx+f$hI me-;5K-~ytC zoEJV%>6_wbpm!0lzE9KKT>K1sECP&4mOR5uivM-jNG KVpZ1$gRO{f{*&NL&>#GD{J#azoYsd=0@vNUDKF z{(q#sd0b50A2|Lb<|2ep+AUAn+MAiuGTA9qWNFbv60K?!ts@>hw&Ed|v=G@+Nh)m< zqCsjZw3uonH6@jr_G$UP@0~k6_&ne5?~mUrFLTbl=lwp*dpYm(KIgnI{%mKeSX5#k z0T@433^pzmz(5k^(B+Rs5=KJ9Q=vBe+3Uw*uxXD0Y+ITb%=a;X;X-&Xjie0|ErO0d zhVJ5z$WO#j&@~w}A`N8v#S=*3L&{6TXs#q7ht5hD4a)@7?Fpd6pT(z(`-j60JpowV z3~{xa(y?-wjqz6oz~b{XckJ2BOfjr&2DJ8tB}gPIgJ6~JOz~iD$Rt?h*i&)&w-ZS+ z2o>DuRQS@2brw{oYb`-VHJ*|tO6gH4np8N`q^oOy&PXFI!4wNft1RlAMW`fMik<=Z z?7_LOZwNaV@I@Ug|9kNtS>jQ_YMY>|4?7)beI`7-xkbWYrmi*>hu0 v=IJ;gYD9EFN$Mwo +p+V-``d z>VH(Mhc%X}C;Fxln$IGs;&sdDz;}f(q&l!IL(!+euQuKQ^tsFgIj9~B{|7@oaRyP2 z80lY%p%3$knk5X;n|cy56M$^my6A3f1~GaD-NblZ29Gs}Rb>d9NP18eMZ`nETbO*o z4;XX$bM#>U3X4i8?kSf4wIr(a9B^Wam#A-w4z?{tCOQ}Qoao$49bhZGbHKH_dU}9Y z#70zHG(jN18l 5}jhc9HW@7hz)dM zH_$*A>eC}w280zeLZL#;2%Q6A(shWUB2I<;uSHRhS7MGa#CI%z=`U3qLPCNZ;9tQ) zJ6?^|5BqW0pz3Msh*%c*A7@zuY|6o_&n4-}QuUxdq9|TJmj9(F`l)cN$H3+kL}s$S zCS1`KRp`JbDx790Vg_A(ZA~2mDmsr%(i{ij*{#{2r}Nk%3zaloSCuFy>a6as<<`Fj zRy5O+m< x2)EVN17}da6W0yam9_zZI-^l#r1Gnu)^k)E0Ryw9Qa!3NTrddvsA+UL{N7 z{5V~~-if6TZ%XbjZMK&BhvX( P;IN9v$lO(G(>0q Hge#jAM %IwjN=(7Xy@5NHT1~A?7VZ7r`~ap_9doqT#oIC^Fetc;6Srz~w_^=Gc<|kDzpRx& zWiPA6Gjw>!kal>aONGO{+SfJ6+w`WgS61cdRarWvcW}hT$;h S zk)z6y;YY2`1+7aRd7XnUm6^vXskzFiu$-jG?C|;1(VOL>$9sIuySg~@dy~DtK;u=g zg${2^X=c3l8r~V!><~%(PhpVK?b(u(lAhFA-V-v0Eds+9`l*M(Zk0?~$2-B23XvTI z8eSi$C=PDj$MU1{vafsB7H7^8B)tlD*WuZT5r?tDCbPm=Q$ujfsOLwL64P0aSM`oc z5uC3LcBb;GimCpB^Ltp<@2Hapw|6Hs+m}&GMSqz$y;t#0!nc`?2K~F0nvF^i-{>&o zoo2~|s1Is(o3v{Mdbqc_WbVuL h~#A>5z>%ew_b|xAj^j zZyzn$D>b<;_0+n&dp$D`xCiBJbnFR~YnI 9px+LT9J;6Vy2Rz(F$%;ZXBX~kTYxX zxTj%-< @N&O(Ep}Gfb1o;ZL2F7#8hY4}Dk+$=PnM_NJmj%R$;g}?UY>gE(5%bh z$I7j3vL77U*7BfyTf!>*@47iPvI1S9h|Fhxuc?@qSi3!ETTWbdhxg>RyX`?mwQ>25 z0lY86!&!y)Z~n ^xB z#YwCb{+MF F?gvob!rhg9<6qm_nhf;ZpL8-09)OC*76Cc?e^h!BN&*{_- zEc<*mUce43fNXCb+`}?_xTo^gFS wZdHQ2L}!fjnyLrQY5<4Tq>t;nV1 zN7@%?H*IemaN48FT%UFnQwk>gwU3r(AyYxB`ffb`!f#2C)hXW>{{>Zc0O6_XHs zd7|d?m_8ayPsSR6MofawQDh;TjJ%98!c4wZ>$5Z3%DCIQ9v=uFa5nY6H}XNBMkx{c z6g-a2FduE}@1QA9Zi-;_yC)nDzUk#t!d2N}Iov;sek)*0Abf{q`JjzTlXc6So! KXq&l~?!aEx+#V$D$*_*>{^eEj8&)RhqoxXTw9CR4rtsY^ENX zx@^kc&OKpw!cK>McU*P@_2Gf{C8m;u%sC3Ph93f2+2OEL*s=1g_CF*+U!fOEz#vww zA<3&GluIQrY9)XbDwTFRt%GtufgF`UpYH~T?}ZN}Wfk!oOi6=;`~hHL6M#9gC8yjw zwCw=8Vj@D_a*Fh6Cxh(qj&};#lT F3t|XM7onLHp +%W zv-!~GWt+bG8(-ZYeKqQ}Qh@f1XeYs|rnAMe*R{wrYSZ(-qT=iYJNN7mFc`{M6(-VH z6*mwW569}<#{n*A)*T5&)ak6m zj!z=f`Z`iqTMHP7 z%0{$wh@{EPWzY5F?ip E()z5kLWAJau*(0S HPv7};u&(6fkr$ZBs zjbClGPRnm=FrJ&WYh7Go%;%S-t2ONkS2wPvt(wUwuAqace0}U9r9X8e{`(h+MDneE zJmCS!Ch!3$NlYACPnP?wYRQJV+B&;^(XPYzTz#xO{l*~;^oKjxWmQ(oDVM{iCOEHZ z0a@_B9Iljb>jpMK$D@jsByHxfXVbz@j7t-j%zNBcy(fRueAeHg+}@YGxN6&x;Qc}2 z3g0a~Id|{pM#v6%N(+v3vTw$ hD4paIkfDrDE?PjjA*} a65S*fJ&Nb!i%o@&m*w@<2U3P_0 zP|B{>h>#vE`{$gN_oCLDtfy49{Csbd!BnM|4*IImFIN(>x*zaQ#i#fWgasVAa<}=& z^{fc@C&SAJ53RcH{z%(;one__s{TbtmKo?oynLQnctoe{@aFOAC)ElIPrp4~aysF( ztwEW=b3&Fm^5)Q2@@2IT#_o%N_bRNeF2eGtL_LWjJ2e4#SAMcgPL!)CDJqQW)RMGZ zhr-`;?QVrKm?NH3eK)^7!1ZybrNk{uOsI;hyDvBxnV)p?(<-HO72eT`knJS_e;0F3 zoowbO^$c7M7BtT73&~4=-J VSx&!nAs*^I~aZo17IELDfgbB5_=>JnS2r>;XunME3>Av*hP5u z`I(}y^PRcUwUuyfUEmQ>xnuv#R zuT5wRs4D9T3b6Ha{?cz;vAW^qhnJoAAD#vYd)Zn2@bueBlsFGoRdDLS7Qr$W`DT-C zh%;!NW%=ZrlbURq&Y*SXd`3$pkU6L-Dlr$G9waed&Q&iNNaE!HL~DBrL=(a%yvUrB z4yg4PpqEkQUs0|>;iq>Mr_r$FajfvPU1;hZ2^onj)aQuAd@G~Go*7&gdd8*8Hl;FS zUrJ?}cWckUaG6G*-LNx*6Fg{}f4Nm9$HF6jat}k{Op3x`mU@T9ROOKeBO~tVE4+rU z89CP|^bKc(@w1eg!76@VPg-f5bjbN(ddmL?uT9 Gc#$(d$(IMm>4{Ky{Rrz<7l{i~|ImU0E!c z<%!Xc@dVv{2b70vPI_Y)$A$f%(ckn##=2m8+g%m*LY|8Bwoua#_F2LjTXJMy@3+wL zA3_szV()ycmFyG5o2pgT@_tzRgoG3rcC?4q^)zTcYb&~M6SvYQXljbdtD&AVw34qQ zg8CDV$_pX|h7lbX`6F+3s60D$_vzEjWEUo_uvItE&-?u8#U9&qKyBz;?5l{HxOvK^ zuO4fmv-bk(>@jAnvv)rxwj0okSHa5R#K9Shs(&P;
c ztXn!vj qLsqIp;gb#-ZP)QeAc;1S@Na?zV^fygjOxsAGY?qj;}py zw`C{7+Vf`lDtzr3`|lcnnAxm;pV=1eI{Uv%i~n5A{`u2t7S^YtrRuFi--)HFwbk;; z=IgA{i<1xyW(R{=5$)_`@1N{x#G0P`m@ezt_)uEwTVY_{j7sO)ohq$`9 %*yo~!B)fd(q~~F>Dv^yQL6i$jN8{$ZZP}*DUipr7cMs6w9L=xs(=!Jw_&MdF zc}ARTJ=)bR{DLS}3gfJ) 6P*+?&mAh z3tR03en|t_6~VjQ^ODmYEA3L;lhAZu*$7lC#CB<4+mW8~VV9(u`wfj2^oqB6hK{Um z$ew3n`N{_=?jI}DzqQ(RW^d0;p8Zorz5lO@SXf1GCr!+&ZMycJ^EZF|U)w9brG*Ne zM;bL&3=N0o_?gtq{My~kY&6ITY8Qm&Wagh64DDg-pG=XG(mY&k(ym9dH!*c+yWZDO zzc@C&)icJ(`JKPguv?l+W^@#03LCU9C(nqMyZZXg+^Boe&CynZ=o>ddZ!MO`RaqFO z%I44xm{xiWzcS - Y!aelvl1jx-F*^z z^2D
c*V9nG|Yoxz@8m==hTTDz7l}g!`}{KDszE z+;CVmP?#KD+-4bCT)989$8Kjy9V5;aHEJQr8^5ot;N@lrZ|(g&WhD1R^5n14mD=3U z;6;6{5j_Q4O==}PyctF6^tR=L!5k}*H4zlJ8#9mQ_n{YCNPo^9kON_ljtPTlhLL;{ zq}|nPKiICyr*K_utLXVAE{YSP-h%KLyf*@m#-8HgH$(dx-qf^x^=@~`xKe#ec+DYu zNNW?NT5I1~-e_0r>UMe`vV${tIIS>0+(L=Bzc2dlw5A^65cmPgdgo-enWfyaJdW=C zMlxS`xaK2hned#eRUeJV(lC!0wY&Y_)RR2Cg9fs9!KBmvG!f{fbQsf50FFMBLbRDf zH3{Byy?yM*-=nws GzT`}rsq#GKy@siyYjx jQ8dcw2S2lwosPnCMM zx^X PEOO9Qq;Q0=JC$J+NxEN!8RKggu)d=;H z2X_R+*XwM}cvrUl7si7R57?W6&$WKq-IQ|n%$Fl2`6-K(M}kW#&SZ8SSo1P_woHCr z+^ow|Yrf@scIaJex8G?>>OfjX?3{g=1^xVpkvjdoZ>;NtXNT*TeXg0@-SD}Nn;g?8 zdCD|qYB2M4M1U=gxoaqu-4v3?cK+O=T^}J!HKXO96D%G*(m&lnbLjO)g~lUHuA>(1 zleA^$tR(LRefvKZg(`)x-Zw|@jCw7(4>MuO7hT^u%{S1|zsP>)bPP4CBPq;9eXxGd zMX>qSMG+g6LaeJUis)xAm_#d&6serAq)Z->3#z-W7^lI#S6L>g`+6W)yCn6Wj`mIM z`Eiyx{F-uM^-Ujz)5c7B*yGsum2SJs$8>)X-JChFMLBM8u@R4EmzL4`y)vRBG?@M# zqs5ng)*al0_FEXPP~Olx`08b6$R?TdGFxR*8CV<3D4T6IONxyH6>P1nbv+8*R9tkY z$z_M&abiIA$K3C3j%T9K_@)GG)jL~GP-&T)^5 Bc&c0gUHEp(m1dP z3Fx{8RPB>0SnVQsi>=+!)DW0`M*}5fCSi4OI{(~s5A_t1Rx$0B`G)V)9=5*hyQPt3 z>K&Iw^BLV&x(K EULqzae~VK=yb fpx%dsOj-uVAkk2wLovdq9*+5|}-ttBTn}Z;s*%-`T5_nhfXO$n4xRpGtZK3r+sZ z^3`6;j-D<&egAY83?#8Oq0rr8mzDrHU;5=05cVC>U@&pcYQsYMivwoTF2wx{D)^cW z9)V4@v_vO0F(BChY+wEv24-2!=KpJhxn_lH@9@cVd=xt3kWHW6!i#M05f&K6Zja4J zM~0J_-%s>CeN`KBD%+dell!J>ZRqO3MuDm6NTo;YJAL1nK=;b(yJvJQ_q~7?FQ4g` z^!V-B)5g~(;S3O }7IOR`&{MorMavj6_ZM|KIe~ zTniP )iNZ(g zry~ncPOQXi$99LoM=9x_MmBvBTA$(E(w43EUbp*;@YZQowX=IpTWZhXKyz02yiAq} za-c#;w$>y`yP0nD=;?AXF&+M>{enGIp7^~{dz{)ywXPyrHIaJ*OJRN!5^Bwmn59TN zH3MkD*FN^AKl$JEnW(seiC57w31rsF*n){F0&7R}uYd>}9K&-*i6yAw+Gnd9K&w&c z9;^>TkOO}bfPsfdP6GNfZNbj?djn7$Wqu-&75D&;m3jn2DNYj*XuX$&CX*qz`(e6y zesbSv{5qz}S_77(CvWQ1VCuP27R~fWLtoag{MwzZp_|#m4lG8*ZAG)!G!<#TcG-)P zq)f>Pv}rv## YxQ)!3N~)p`a`>>FFmlk^|Qd>S@~-JWg ^(+(yhO?bnJB@SYm@uzAB7JQRE0tr%3Qd9!X?iZy(j5Nyxi7P~te&UdtCAmc z_K(N!IcL4$hr_9j>MCsuiW@z$`9+Ae*+^)UAp36k=u^KIJ=yh_K_{5xKD^r;%#C1{ zbA9v}N+E7KMYsZ6T}vpi87H7q9(5?=j>H1RTn{%#3a$xv6&EFAnsCd9+*xF;HN_UY zQEw8WqmXhvs&Z3t>zyXQ9fIt{fZC6_?QV`|qblQ@(sAD)YIX!-uRCuQRDCd}kRvt~ zJMR#HMnLOjkfrE_BN9?$|B*aP(x|@Lw_EQO8a`n- r1b >`+m-)}eK+83a;7{ZDLu0F zyP(vf9$UY!RtAb<9y06~oGFvgA6^o((I5S!X^J#yb2e}>l7NZm@p2syjTJ3d7P*Bg zUk=CFSPAmL;es27Fdry91s|xi^GgxTF|@s%q#=uogYhCvrj;*yfq^B$gj)5I7Nb9= zB8tqcDR<8;&}MB2rkVRpt9+SJ;n-XBz472CujKS(j-X%PL15s)7`kPMHhrLt1O$7( zp@k@38tHGU@o9C45io@5Gx_f)44_Q%H%9*Sl5qo 2L5XcFjJKD^?im8CKICEaEh@>fAhvoinM50 zA0oI!h-L$k7c?UU*w$6J2TYRaHq7>_W??2tS_m2SmPhpFR Hg8I40e-PGx|ete2UY`ZnYIezc>qAkBCU<9%6!u&=7puRHN$sMjKm)4s_v=^~@y zW!B9ne_|6-$ uOs*$mE!FIFiKoUmN34nX0sPzt{6}+XW;HQ48buO zAT8=J9ho}`)XlvB4L3(Aw5$crfSw7F*vPCts=T8uUHah $ZDz+?Cq3Hts`kQnR*w4 z_TQ73DsOz>5!gxnBjz6zr!nu*?LgG$kc6HBfAeJE%bE=m;63{{4VHuY1dKEF<<%!( z)6wl4z?m_#FvH@~ILsmgFl;Mg7FyOxn&(k>IDRPcW#-2pK_}`mJu6zb4?S4HF?`u3 zJigIXzMI46u-k52sM*mK(MRvwP{3b%IU&iG&V!tA$%%YkAQ~vAHl;^*YzzikDQZU+x *2vaFw?32D9Y(1nJ_;r@RF@R@+{z}@Lc-Z)=KBO zyz@cb9hRT7BZ7kMR%mks4VfI*owakuea#&$S3XH=XL}8g{5h1G>l7SPP-R+TMbmm6 zIi9AX(s} jYRGVmuv8CZTxC73#3OXPLLUOwyMW6+z_Erpo* zNTf0M+S<3GRSqYuer@~fvec^Od^1k^_7tC8KU{A04sDL{Y~w|S#g&{iYA w-ob *X zysKE!dLXxN-7>DQ;!E3bUs?l?IXqCaZ|E_fR(C42W=GPH0X>%{&FQjnZufStle(DL z%;=np`FcX6^+n6Fi^3==+!F%c(DoplJ!h|B(9;4&eMh&;{rwi Gp^)oQw4jF1~jxz0_>iq6k2V+*F!=tED}y(s8z>Z_f?x^gya zXMO*Dui`mqN=N<8xOn!ugN>WZxlhAQ$=3|O?>?>A3nn?3IMaee>+J$%uuz?V@WiI? zT@~j!VA-^=VJ$Wk9eNI|m%A$Vn3;}V7>|$@7=t=sq>Eo*Mi3MQ^Jg=y5OcDSHN^!y zFtetGjT!r6Ag~vW?;B&=v7!xGbayYDS3MdbA;pY&AHnFm5JFydiN{xQl~r!dR?q+T z!D48?@Kr`Z=H_8R@;nvBUug$Y47Cixd4k8mucWU};!&kbc(kUOJkGY u{O z`7u5JMuhAS^405Qy$h r8iXQNq48nDdqwXnk-`>^d@@dUT_n?35PbJGT#P-HeT zYi`y?jCMuiG1WpO@zvZUw7!NkXJJij2HVd5K5U-{jp6AP;dx#AL$rO4ULzq2B#hwK zj{fAcxpou;9i4>xY}7Cf?J^ECkc!3=KAY(#cWWcEwx%