From 9ff99966676e65533f8f90a278f678769a6f8b45 Mon Sep 17 00:00:00 2001 From: Richard Fairhurst Date: Sun, 2 Sep 2007 13:09:10 +0000 Subject: [PATCH] Potlatch v0.2 with POI editing --- app/controllers/amf_controller.rb | 92 +++++++++++++++++++++++++----- public/potlatch/potlatch.swf | Bin 56774 -> 64375 bytes 2 files changed, 78 insertions(+), 14 deletions(-) diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 5771f4e3d..e11d7e4e5 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -43,6 +43,8 @@ class AmfController < ApplicationController when 'putway'; results[index]=putdata(index,putway(args)) when 'deleteway'; results[index]=putdata(index,deleteway(args)) when 'makeway'; results[index]=putdata(index,makeway(args)) + when 'putpoi'; results[index]=putdata(index,putpoi(args)) + when 'getpoi'; results[index]=putdata(index,getpoi(args)) end end @@ -71,8 +73,8 @@ class AmfController < ApplicationController def getpresets presets={} - presetmenus={}; presetmenus['point']=[]; presetmenus['way']=[] - presetnames={}; presetnames['point']={}; presetnames['way']={} + presetmenus={}; presetmenus['point']=[]; presetmenus['way']=[]; presetmenus['POI']=[] + presetnames={}; presetnames['point']={}; presetnames['way']={}; presetnames['POI']={} presettype='' presetcategory='' @@ -97,8 +99,8 @@ unclassified road: highway=unclassified,name=(type road name) way/footway footpath: highway=footway,foot=yes -bridleway: highway=bridleway,foot=yes,horse=yes,bicycle=yes -byway: highway=byway,foot=yes,horse=yes,bicycle=yes,motorcar=yes +bridleway: highway=bridleway,foot=yes +byway: highway=unsurfaced,foot=yes permissive path: highway=footway,foot=permissive way/cycleway @@ -124,13 +126,8 @@ disused railway tracks: railway=disused course of old railway: railway=abandoned way/natural -forest: natural=wood,landuse=forest -woodland: natural=wood,landuse= -reservoir: natural=water,landuse=reservoir -lake: natural=water,landuse= -marsh: natural=marsh -beach: natural=beach -coastline: natural=coastline +lake: landuse=water +forest: landuse=forest point/road mini roundabout: highway=mini_roundabout @@ -158,7 +155,28 @@ viaduct: railway=viaduct level crossing: railway=crossing point/natural -peak: natural=peak +peak: point=peak + +POI/road +car park: amenity=parking +petrol station: amenity=fuel + +POI/place +city: place=city,name=(type name here),is_in=(type region or county) +town: place=town,name=(type name here),is_in=(type region or county) +suburb: place=suburb,name=(type name here),is_in=(type region or county) +village: place=village,name=(type name here),is_in=(type region or county) +hamlet: place=hamlet,name=(type name here),is_in=(type region or county) + +POI/tourism +attraction: tourism=attraction,amenity=,religion=,denomination= +church: tourism=,amenity=place_of_worship,name=(type name here),religion=Christian,denomination=(type denomination here) +hotel: tourism=hotel,amenity=,religion=,denomination= +other religious: tourism=,amenity=place_of_worship,name=(type name here),religion=(type religion),denomation= +pub: tourism=,amenity=pub,name=(type name here),religion=,denomination= + +POI/natural +peak: point=peak EOF StringIO.open(txt) do |file| @@ -192,6 +210,9 @@ EOF ymin = args[1].to_f-0.01 xmax = args[2].to_f+0.01 ymax = args[3].to_f+0.01 + baselong = args[4] + basey = args[5] + masterscale = args[6] RAILS_DEFAULT_LOGGER.info(" Message: whichways, bbox=#{xmin},#{ymin},#{xmax},#{ymax}") @@ -207,7 +228,7 @@ EOF ways = waylist.collect {|a| a.wayid.to_i } # get an array of way id's - pointlist =ActiveRecord::Base.connection.select_all("SELECT current_nodes.id,current_nodes.tags "+ + pointlist =ActiveRecord::Base.connection.select_all("SELECT current_nodes.id,latitude,longitude,current_nodes.tags "+ " FROM current_nodes "+ " LEFT OUTER JOIN current_segments cs1 ON cs1.node_a=current_nodes.id "+ " LEFT OUTER JOIN current_segments cs2 ON cs2.node_b=current_nodes.id "+ @@ -216,7 +237,7 @@ EOF " AND cs1.id IS NULL AND cs2.id IS NULL "+ " AND current_nodes.visible=1") - points = pointlist.collect {|a| [a['id'],tag2array(a['tags'])] } # get a list of node ids and their tags + points = pointlist.collect {|a| [a['id'],long2coord(a['longitude'].to_f,baselong,masterscale),lat2coord(a['latitude'].to_f,basey,masterscale),tag2array(a['tags'])] } # get a list of node ids and their tags return [ways,points] end @@ -443,6 +464,49 @@ EOF [originalway,way,renumberednodes,numberedsegments,xmin,xmax,ymin,ymax] end + # ----- putpoi (user token, id, x,y,tag array,visible,baselong,basey,masterscale) + # returns current id, new id + # if new: add new row to current_nodes and nodes + # if old: add new row to nodes, update current_nodes + + def putpoi(args) + usertoken,id,x,y,tags,visible,baselong,basey,masterscale=args + uid=getuserid(usertoken) + return if !uid + db_now='@now'+uid.to_s+id.to_i.abs.to_s+Time.new.to_i.to_s # 'now' variable name, typically 51 chars + ActiveRecord::Base.connection.execute("SET #{db_now}=NOW()") + + id=id.to_i + visible=visible.to_i + x=coord2long(x.to_f,masterscale,baselong) + y=coord2lat(y.to_f,masterscale,basey) + tagsql="'"+sqlescape(array2tag(tags))+"'" + + if (id>0) then + ActiveRecord::Base.connection.insert("INSERT INTO nodes (id,latitude,longitude,timestamp,user_id,visible,tags) VALUES (#{id},#{y},#{x},#{db_now},#{uid},#{visible},#{tagsql})"); + ActiveRecord::Base.connection.update("UPDATE current_nodes SET latitude=#{y},longitude=#{x},timestamp=#{db_now},user_id=#{uid},visible=#{visible},tags=#{tagsql} WHERE id=#{id}"); + newid=id + else + newid=ActiveRecord::Base.connection.insert("INSERT INTO current_nodes (latitude,longitude,timestamp,user_id,visible,tags) VALUES (#{y},#{x},#{db_now},#{uid},#{visible},#{tagsql})"); + ActiveRecord::Base.connection.update("INSERT INTO nodes (id,latitude,longitude,timestamp,user_id,visible,tags) VALUES (#{newid},#{y},#{x},#{db_now},#{uid},#{visible},#{tagsql})"); + end + [id,newid] + end + + # ----- getpoi (id,baselong,basey,masterscale) + # returns id,x,y,tag array + + def getpoi(args) + id,baselong,basey,masterscale=args; id=id.to_i + poi=ActiveRecord::Base.connection.select_one("SELECT latitude,longitude,tags "+ + "FROM current_nodes WHERE visible=1 AND id=#{id}") + if poi.nil? then return [nil,nil,nil,''] end + [id, + long2coord(poi['longitude'].to_f,baselong,masterscale), + lat2coord(poi['latitude'].to_f,basey,masterscale), + tag2array(poi['tags'])] + end + # ----- deleteway (user token, way) # returns way ID only diff --git a/public/potlatch/potlatch.swf b/public/potlatch/potlatch.swf index 28db77cc4fabfccd3977c723459714ac2fe316d1..340b752ba7644cfe75326b0991dec70d79d0aad7 100755 GIT binary patch literal 64375 zcmdtL2YgjU`aeA9CXjQJ&^uB>57H4u5lHBvB!tjym~uldN$!m|H$bexir4@VLF8w{ zwWI6W+k(1^YsbDTio5o;?c&-c|L^n6%sF#z3Bldp`+wipkK~>+=b2}oHqSis%$zyX z7tgm>{Vc?4(eh0py3`0U+7eTIjg5_a{Fbmpt`K66-{)MVI9I9aYP{W2Oq=!P=vOQu zwuwfoBWj4oc1MfOJ#H5r2M>;9b)02Qe{$p3BTh|yKvcameEa^PvwXYrH*VN_y%4YX zTL906En8ZmrQp_%ux&Bng3cXL+z3RXZO8A1uIzZsf@6jrQw8ue4Q^}jbPW#ZIB>rP zPnY21?MzW9_K3^|kSi`}v__*+V`IBcxhZ}2U0Wco9W6TCD@4ob|LAva&47W^ZaHnk z?~nV#agXeI=i0ZgMe`XNU#7%2!fu@qUx!EbTr2jJi9uyTbhzxDXH)mjnwwGZw+5hS zrBSq&D01uqkkVExp7nBL{->JjPIF%Ca^0j8p2`2{oilQS^{H=PUUgx{Mep2S^h;Vl zG4#iy3R40HFD~>qh|am$LZlumwg{`EZ$Ykj|I)GViJ^8ovG{@eTYdpHi9gY{)9m?u zAn!qKeGO>`2aNO=6b>toPPy~!&>A5I*zLtU`_$|?*(4N_d8g^V=Qg$Y#|>rI=62iU z>v;Bu%Xejq33dlj`1$hnGfCAFZ0H3$Cw*{5_D8pFJ}ITe-REEbkq~D*Y@Zn@>3G(f zCr646=a=5xZgqiw>aw)g#i#x@n)9}TRPGb)_%}tg=igM(K}uwt-AT;(V8gLxfIsJ) zbBLa!8d}!0`1I!&uNu^G|Dai-#oEv8nzUO)pL(7DbAek)X57#XKJBN1+7yJEW zdu)=O6rG(Fon172-F`EDW9{xD|IT2gaN9rTp0wE;pWHZl=-P=dv|Dti)qU3upPke5 ztgoJ1cCN&mM6It`|n6QdFNmL^zJne{c-Xm6XtJP-zKoP z=l2bxdqpy!vGCLVNOgqmRv7mUs4meS;sF@X?E(t-AOT=&`Go zPd6o>?n*vK@NX*G;jTQ+?)97Hlw(f2?>c-Q4?)6FTsrB79PoK5>fvv-K`2U{z^4b^cd{c5K-L?Gc zXRf}!?fM4M-|iy{&inqK2Bx=4_pbQ)-?t4u_P)%1EvH;|+wZf)aJ#R_d-~bBHyRxC zO&itYk$--fJEo!Q+IIJ(-&uL~YZzho69u(*)$MoTyM4Rw^t)$N zeAupV#f-gcip18>_MBS*!^n81Re1w!yuZk4czZ1Pk=>)?yK~p}d~%T3a&B4Q^=YEf zp9`jY;xSusFQuj4N=sQvOMUpah3Lz_Ek!^6O%wgK_6GiD?TxSpiToei%v}tYR4?oE z#=wcg-+lk|PiCCb{;}zmPmEqV^}P$bK6CGBXV&kS3Yle#f+aUSI@{r?lmCe=&z*3f z>b=+NKI!tu^;chU$-HC!&|&($?H_%%^Lo+89xNuGF`(5$S_GZa7asf5d6$pLTz%>4 zXG>o`y#XLcib*#v{9T~~((?N)Kb_xNfjkS4Z~OzakOngIJ~4=YQv{qUgqJD?^KT1r zq!!B1-z=0P?O~!|=v&ttt|$GS?XQ3L(TJ5>?>VsJFAomgwzJi6L+ z1-sithqyw_zT~A7Gj`s+`R|!kfBXBhR|bar#;2UU?$IMBe!b<2hdwOs{n_}(+VpGj z#@aWo^7Z#+uf6!j{(~-kx$A(I;{MNOz1MT+wBjMzZ;ko*sE;0B|8o1r!P)S2L$m;f zDgg{r0vIkC?q!b@i)x-&p1Rr+PdxDi`{MJ@+0eJ%cb>WF#W$y)yY0dJsv9fI4%BtK{&z24c+-nlwQ4bTdG{;EF72Ma z;_27t-MdG;?H{3u8L5aFrHMG|5JcodT4TiG?pJ=^_XlD1VxzMLbhz?=S{$eg?w%Za z&6;)Iad&hmzH;II?6TiomFv4;!0@TQi*vKzE;{+6FU00ut+ow#?XeaY=Pnt1Z_&5~ z0>q5g#2lrF8Ka3grb%K3+haw3*@(r*p}w;H@w5JT_QHqn?=fUa=WE_v^Je;@*Ux$U zr+0+NwvQEg7YurST!RCedE8mQqz=4)(tYP1+`RkEw3hduv+BUzSz@q#oR~NAj>_|3 z@Cs>OuZQ2is`|_6>2LafcYnkE=UsV!@2}5(U^4vk(VFsO6y;-;PLJi^RB@c<%YAG;8o{*w06{^BfI*~ z>R-0&K+3gQ#T_p@|IPhby*CQc?jH}IU5_p${(A7dC%$fcW8MuDU+F&*#uGr<1hMFq z%g?{*RF|_)FW$Vf`=oLqc6MJkYt{*UKdajOQe*EOS3h$8)#9W9H;taYWW&|{7HxgF z>%R5nmMH3e@nz2}n*8>c>qWOWj|ooP@WkfMQ_suYvMY7-z+AueOI4pS`$bQCqL_8^ zt5?1YK9n5~KJ&VT$2@uYU3abfMjT=1h)G91wtbKDG%GNq94?DMWZu#uN9sjf@aOT({w?!V=zGC+1gM}EIriyv{uR8z9ZyXjz z_&VqAsOi=-?(^6-*@Gk%YT}c^V6wHgEPdUP4|3$W3G#{^`aE} z*>g`R`SFc={F`$-Z~6O)d4sQ=f8V=*S>#W(evu-UpOzNB7O6>h1rnCOpN*Mg71S*MSa#K1!B*g{mUP+-<$cD z&;9qM-zs|8v&3=VFZdc5r7${v^3}Hww64DI#e?V2)7fI;J+BXUpZ@e^^uEqDf1UHk z@>?;;E`jY%!b4X4WLB(COyS=YF_nK)1;Q>oZy~1hZ%Z+Qf71lQ5|rCwCja`yEdEUw zv$bL5H)$9-c8(RqrXK19Ha)pUYVOOv!hjTzz|H z*}z8zzVZ0g1Ey@cY3lZhiyHg3`J&;;llzb8x^e1H?X%MJ#`ODP>aCM~xt;FW^2Lb< z+m5&-=g%YZD|V&&`idoE`lQ}E`N_7~>z;b%$ohw>adk=RxRIjE+T*6D+PhNE%}Tj7 zv+uZ`YkmI`KivLE$uGOs?P{O1?e;4!za#MaiXUd)`Q)Qt?D*=&;H9eu4(PMB%hERg z6gL&l$=;iFFjtIz==n9Dk34I1!+U*qeR@v!tX5mj?lt1wAMW_Lsjr~6=(X7zi;9V$9~$-rSF_CuXyj) z{vy5MBJ1zM%G)JM+P$*|AWQshMPX^)x`*~`-_9bl#VZ8I9!ntBz(dM7eb$kBM zhL$5!HeU3>j;(v&-?USzpGxJ>K|u_FTJkM&*QO&VD)a z>V0*`k9+FcH(q$A`qb2mcTF6#bjS;NqPIOyj1P6+)1d2he7oN!k-n?{xZ-a&bWB|W zl3{3~NX*FnwGci*As0t46~6EL{NvV?(!b<(eWj%HUWJ=_cJMKMY(PLj=$~Rx+9_aleh7*aSx|E*{5o}M z-Hxwv(LE^eo};@5#%Gwj4;D+mDG)mSref|)zb(W({%r})=srzAG5ECwM&exH>18i! zvO8qki$&gTJ+fz^J>}L~%zD_m^VhPRF@L&h{auwGz5d8EgGavh)2_kx5;1GS$0lU< zzjo#h$ywUw#ZiIsAw@sd4gdYRIb(eHK-QpAEES6$xTSjXdI#~$D_*>8=HUI4)+{>u zk-M+HEn|7fQ+v;gjO(@QreDO7>(ldcH`z5$tsJ#$%jC)J`*!&A^htM(%+B@ScH)YA zU%IIV0is& z-1S_I(#t}vmqjdRpIFSlDFQx?^|F+ITZj|*x1~TJzhTR)gdMkSJ!r!#c2T!g2MVumzn{dZ9fyVEv*CP}> zMT=`0v+n~(Y?fo~5;150bH`Gss1p^JuRPUWes+DEe~Ur6!gtXRPv0~8)U;bSY#r4` z4B90oZ0Y)IVIhW=Qc-YV_p0`;Onzwp@8O}>?{6QvqoJo=Ci35%{g^xN?Uef9_66In z8g}Bgb^8&t7i)S-6g{QkD4?ccJ zpX1N^?7O#Vsu9psBd~)p`NVQXb%myS#c!j!r(G!u(jIQ0*1w@Ld4utANswk}plvb96SBn;+CLF}DR2(X;2uFlpT~q`^QIR1|4~MIRA<>F2 z!gW#6Mg&%uRuxwlM}y&z=qMuLsJ!fo%eqimaS1{76t$(n+S+iWRtyl!Yih+1Q45@pexD4)E zAuO#gtqRcdg}NkC9IT>(Q*=RjI2@&dVi5vlG#U{B5ed`;iopVIf+$`sFSG3$aZclR zZ{{?~I&bp|otH??5y)VRCyYq3r;loE1*91q596n}5ado-CbzP)N7^StV z%11;a#if6jxhXTou5x)$$_0I9eg9ilb2ZDp68g8=&i|aA>)_p$k<5I!7%L4Oa$2qOLX& zQCF*iWk69^5eP1?h>}^&3D!mfp+H2;Em;vLjf!w+cA$Q0cvXlV7DCsxfii(2QCwE$ zz*dKW(zy$V^64JD1OzkAx1yejE3S?5MLoy_>2!ySda_G-%UAWq72&WLQ4@}$QfbAA zddO)w1Sx7)71vA+)I=+44GE2=UQtVb%IFbwfLi(^?;w=gXt0#H&MOX;O{t5(j=>i* z11vR=cWEUGio#V@b60|OlsVU`7=1vO;!<(A5NaY$ivm>v2%k`>D~)wpsEqV8x}FtM zPc*~orA~-ufR{!gP@>qlhMDL)K$W5&Mw!J(;Iz5`FqEmg(m-&ftgT=wf~6G(ki1n; zWs&0LpiAI)6`LaU8lVrB(M2d+7LZqXh6_Top7E<;}|s|toHVPkdruPmsE1gnc9^>7pXD+_A_rD3=;6l=HP zc$kt%uuS?Iaxo$Tp+-b$aR}~8`ODxkbpgjxTw1~1R4iL9men)F%#hE z=U5!kH{_9n%jhqjmdz-fFXmT-S7qTMi#uR#R`!g+=&%HPZsxR|e7Ns_I?&ki4>s273mw;IdW4kx&p0 zaM{XWZLkDh6Ka5#7pvk)p{zh85{_hrOWD%PvW8`qk|W3}M`2kY3QK@XDTni@KzCSH zTvbz1ObVDuykhWmN6O%`vS0-LmGJdA7iK;+kad9w8G)4k&MFCL|h)xNILdpi< zXXp~c!FisT5q*0*7%+0^$mI1Rg<{0@LFG2T6EX$hBvp zE!m?{B$fx@t|d}47*xHOr&JWVdAqs6L&WWYH zZ6_3laa(~<8UMmVttN*?gA0bza&*z+l3H;ZdUUj2oQ5lsA4WEaL5I{1olIseMM4s37~F-h+w&;J9Mu=<#bc7 zAhkLWSq{qxgu=2`f+})6(sHKATg4c4Ax0)@>S_^~iPHs*2covFq!vHfWP(}Z_$*OZ zLmi9z6QV{rcY$P?T%Ni}0Cwmq_+3^nMKH90DXE^L2kL4@MlT=4;hA93z=8gZR}n?OIJS zcs*Sqpj|EI&d=w5AvxErgCepy{KL3YU0iAS4!WafY&Y~rhVRsttO7;Tg`O#u3U_2G zTP?~EwMUCXqebCN0dWNYZAgsnsWRl{7Kc{RJr@T;HC5!BFoAIOLhg&q5dVS!7*UPD zBn1JWG_*o?Hj9B&X_Q723hin@2nCh3NEfW2feT|3ML`G@(L)fUO+ke~m3PdZBwdOe zJ@dn5#Z^;-#Z}?umKh67$26NIiyhieHpJ#_&ud1C@A22l$f+^@Vbb z_<^$FS(8HbSs2a{`)0||tv0Kocx50f6pm(<1OlO~THKWlPfuSQuB$4`st?zpA6N3I z1In|Cmt%y?!9X7-Zpy;sh@nX7n0d0!eK}^}t6eQ>F-bsY4NVWC2Kp-cCSNX`IYrOy zgBbELJFSOj#@Gqub3<}mQbA_9cDqsvQ5w>ttHd&CCUm=)=X)5F$uCg6QiB;LyaD?+ zCx@_bWXbvNL8_|n6M9o#J!WiQgglANROF&pP2Wqe+gllpxBul6Z z0sV9;C*Qb;vnB{cYQmU_bKM2uIfP1jFekdJt0{wsCzYd*Oj}73A~XU97KWOtiZS7k zhVO(62z#T5oFy8sb(XLqrpSnzL)l{Z)KFbkxI9bRg&FI@caTS zs0X!Ts)Wo^vq|*I<&aUdHfvQdT0v78BDsb;cuhSeBRE`vWC{YSC`6bp!&aFVL+FL6 zQW*188N6}u8>n&(Iy4)-Oafq5L_>uXDd3AsW+G6N4TZ$Y;z*F=Z_d{Y$6RPQG*UZU z45vs5KVyc=R1QA^H}r_cxZ#u~k>&VJRYlV!$RK@cu%z(0Z+;^4c4T{yHMExkSdbFq?t;Ru7ds-waRtAej zB?Zemqi(iPWi|?DEG!g-Go}`ZInxm2(tt;uu4v|ryai(F z+{Fa~&ucN|E)3UVVgP0_x5<+8w9&W}=}2-p_mq~KO8%Q8zXd_`O%TJsr=N}l>G2|p zOdZ^ejBjWpiXd^qb27}|mPMgkWKz^Ta9N4GEfE?J&GQTqxfYdjk+(>XQoRTSAZNri zb%^WOQScQ4DV~jBkmgH-7m|Y0NY>T$#Bv}+ondyMz9d{6DMOYa5-o)16&wx0Qwz>c=fK4HJwV{@9Y_oh**d9GXVnk?AX#tg`tS;rO> z@CtE_ZXjLw+gps#UYe^LNfq|{Ei8T4LioE|EgTAPdxS-_brAj@R!bqe;!9zN~1@DG*TYUWTfEUsjDT*(MkvaMrW_r?Yz-{utIKib;X0zBfsp7NG?eP$cP zU}1#iY5E^563?Ch zOM7gFRQ9H&puQ4(ivoHug#QMMy3mc(i1}b}K zy+}J35NREtiZl|1e~C4r%jSNv|E2vz&;0a4c{K zZnz~WnzIAy3=qjiWIvA2~5yqt22F$ ztzuL^z>M|;b@sRN64bV1aeX_-v56Us^xMNw?B_`&PR8pf_FLR&vPlBVtRCD4Z)It5 zuST2DK@#(Gk)g6Szr&%jS>{Jndd-jJM&$K`uwFYz3?1k(hkDZpk;EKaQUUyq!!{Y` zWh|-#J*fVfhZNgk8>(tKsiD&IW*RDi8ix9-vV4dmmpzN_m?+3gqYWg9N52tl0teA^ zY}wEJ88mh{);y8D5OyPhfpshnK?@#u*iI+zP}@cjJ*9${cwQXr@m3NVjKr$iJAzU=ENZB4AzU zlIehQKsuR;BW27WNlupG>O?n2NUS0VdK8Ua+8TSq8et`7`dx@`#pX65ZEXicI$c#5 zWMXTH`ml+Kt~F{Xo*iJH zWDZb`m+u#FCpbOMZek*;rOk+_pkjs2FdkDWasr~fmWr3QHoBe6HRj~hJN8V~nr_Yo zg_NneZ9U!PK(&IBB4m;rsqwq4&8=lrV}BAq!jVCtMU$OR$h_?p{t~N)_OyVI9Yj8> z^q11Jb|MY?f#F;6!fHHbfP%gxvQ`8KlB9y)ZybF3^9qix@yO z--5NcW~IvTb2ZPfwh5Zl5pQG#(gI*5pi~$0GcpXnMa5cNAQUcx%Y9UiRzM*BCVtRL zHR4u?$Ip1QA1YT!(G@&2Qxl_fu0wYSF9h7&NHu%w>W%_E7||B8PRNSsIH9?+!h998 z(LeBPbOqGZgLGn7LMyleBcznHM<0E(8S>NoLB(DHf(NLSm`(QRx5*GWrc9YXqPVp^ zPku8kPn3@~GiB3T@dE*?dD?1DEzu)%CX!etUC5DE)iJsxO1#tiL{>*Le_53z`ihdM z;ux=e3BN;vg3HLvP|_yxpndFg6)4hT$IkI)h+SJ74WNeAq8M+{3m#V!6ys40G?&B_ zYn3K6S%YE2bdP5>Twrnd--mA$-$-pj0dFDl1X}LV7f?^oZCrz!c&j%XVe3cifTT=E zA|EeKGM2nF)UV|eDZ?6WeJ!Pj(>{+*U=Jj0fhC#f0=G&YheEyp(87#@{ zR)~ZZpWR|X^57bi-P(~%kWCA42MZ2!9nNmu+?=cy4ey+5z23jcaPWsi~p*sR`IsjL!Iof-2x?`}01Ij@v zyr*%*4ezf*Uq^2^PH;u?zg)3@f{NaGfvSiTX&k>nMcZ1r>$*a0;9Mcx4IIV_CGDM- z%!A9)N>zHdDy3xsaDrQ61al%xxcDA3F4!Dii`H5L2&WlGX;Lu=-EAyuC`@RMFg>9$ z?X-XieycqS((uY>oZq@fbvNlGm50I&sJMr_)C`&=+Bfi6%n9M^DP;@}x6_&tB>k4m zlBfkd^X*lGUq)= zD+dqES-hNlVU)>Keb)h#6D$cvX-Ng982~Lx3J)kL?BJHXoEQ{)SwS<3Mal1W zj$r4o>B|%)T85J6vEMd`19PammjMU3$pT4dOhSPmDL1Bv)d%&kiZ&(vh)zz`3Q`=g zW$oLyPfEmrB>rJ$G3=x88hcwzAr$ivr+9(!VW(FSG5H0Y%lMqBch*N$!!U_QEdQex zGVk2u9Wmv>THZxzglX%mEOC!;_krVw29;Q>mXb~K8C@F|Pxveo{Xdl>Fmz0c#Pi<%q$2&&R9BQHy# zDl%3K$%DOY!{{Q%Qtae^I?;NG$~j4!rd1>iF>K8=|EcyEFvj3`EU{Kd)s8U@4+C&~ ztyt@!TFPM1uMqd-lLWN5QU6aC*369iXQ+F#l%KXdOE>$uxo0g}XM`M{mSTBU2@sBv zQ*dozoOp_2`WXlppP+aTib+8uxa)u}fRZ7qidZ1t?FMu(smEAH6jLJRqh(wdcl~&yL-})7 z4-So{Y9e6@f7WBdpWHD4#n0>FXFSC(Xrs?Bm@6aD1^QJ3AKoV|!Nyj%Q$IxJj}`P6 zmF?Z>h7;1=0|4YI-zAG4QFUHYb#}zo0f4N7L~+a(L?Nmy>K!jz_VaE;^@=rtZTDq4 z;YH*FUE_wN!V^-}*Dog@$-7XXie_dlK*@7Fy5*y*<3{B!PGCJCp-1CYgDKM1irW!d?T8w9b6X7Ykc zBIsyM_(4>GSP^WK)a(}#)Ax$s_-MJC9#8O*fxoJa8WilcY>xnP|GoTP`qsce4!9L4ezRu+UctgtlHj8L{Q_jQL zOy2N1z~$V`+w1_Da3cu73;OQj(beLQO;pW&?BIEmOV8IPFGj%{b*poMA++^6M$1S z!$VU`nPi+KcBq_}v@bbGP;a6|447mHOi%{*idQXCC&}-VUkU0}tH;D`SxGl{Q@Db+ zZc<1*9`gV%%GOQmaM??w{w|CrvHE?ni=9myfbtJKGLHF8qJ!Y381A*n<`Qd;hCI>C z=?TOoU2<$YYRUyv2P`up-CSl1Gx}nv_Qjt1b$cRU51VO!mF+5_9T?VSr5D z`~EA87d2rBO|^bFa&Y-^AKkzyqxC z|5eYZC29$Flw7!JBar>|zpFB@b#6u*m?YrQ5)eL0Co{2lM$t~}&U_(87z@*~^2NN9 zqzex#MSAG_j{^!gdywab8t{S~O`!03xq+!8yUHSq7gLlEok2cxVq(9hrnCBcd?ty3;(xJ@(Cls$^3sN04%kuusmvV&+Az zxIIwFa*`?O%#xADl){MvMq?_rKQt_;cas!EKpZwe=*%V}CqQ^}dMIcrJE70;<-PW-4XPd~+!VX~)@6_c4hPRBSi5O?s@dr{Pp$$6i!SJg~Hr z!J5=W^J)Q?%pnooxWT%gA*J7ngD^SyWW_aRfp0+$GUMR3iKoi)4v}F5AZpK`j`qGM z>*|#vi4gu=U^_;##8t~qC%wd062lS zVtA!DnaM9YOzBbU6u6Ky&hbbQi|Y_a48Axin)P!`X%0(NJx-ctbv1D2n@=_#JJ6*`_JU#Pt;@MHj`(l zgo|F@1n57kqMj7De__EsxI`m0ZW-y{y-1DQ#7Kes3(9ulSD^x#Os;WjVg{M~SYf8y zM40gs4WnkvpIbdzX(4Ag!vt7^dHsvmPd-$s)k!>;{3vEFNvwZpfzW1PBmdq;^?4q0 zXUW$&XJL;;8{uyyy9j6h@baxg%q&K&m?G9Om{EEWFw99S6k)1~66$9B*vKH55v!*k z==XFI_c7%;n(%508LinvoM?C=-ay6+aFpwylRJd?K9!ORUrM%Yx!dzAG8a%wd*JY> zM;?#F?c|_~d(y=?Jd@?wa+ZrX2T+VsOkZh?CUEE{$0(-!X#x8oc4iN1YY|T5OB41QgMWn>?Xz;Fgm{8>rTWb3N2= zWKQ5~;0GcE44_h~z=+>?NwCSy^lIX(-c`Fah3RRf>1pR?Y4BzS+NqQPM`!>nCTNrS zMp80ULeyvoLoXuIHv6 zk^s{+KqrCSf%NJtHH4R88R$w0RHT6nEEh09L;@_-09Yw@1YXEq-^h^tQzD%x>(Fud ztX;&iI_DMNS=8EgEf4Ogs0sAa)c<7_aCL*GDyHc@nKhMA2jZc^l7AEGTLpEDyE*() zkS8}k{TpOE>ZEOD&dv3bp=uM=ck!sAw3&*RkPnHfuZik=52|Yk3y5kiRd30FOp4(L z4=UawaTus*2?_o27F1!88|F<}PjmpB#7q#6Y6wFqYZzdr1bAEn$PUXiu)(Pg+gF0k z(O`!4{3u&OfVZuk_xuhaZlL@s3&;PHcj(5e;yO?GGxCI>vF#w*)~#nOa+IBqwS4uc z6>m=YMQ-FV?eSd~)343NgjPuJ_7{jb+sGqCrtkr=LSXWM{?<-!YUSlTvVNDy%@$Xch1~7Nq?I0^o6jo&kwm?ZlQ7 zr!#Mo+qJMa4Vdr(EB*LWi7c zptRE8f=Uq)xAZCBeaI6owD3SLMq~)$2#YrY0Y#5Y?-U6Sdn9;>p)}3MFZ6q6MwO5m zSOuC^rXgvRAkx-E%21$^LrL^iykMj%8o+)AM!D^C%?XC7K|n>iFYQ}&iDXo0NVJ@x zk)mly}|n;A+-?Fz5~&FOuhnOCLIJIxJj zvbd7FJe}i0rx@dSV`pyuFvdY1h8a$h6%BXX-WLZn zH4dl)0XeOk9faIsCiz@CLL(yTxuq zpLK&WjIM4XOpilY(F8*M%tQ#cQp9^f9k)XIrPRFQQxoYbM!Z+b^WQ#pua7 zJUQ9O^DCNXrnSW%S4cW=lbMS4933_#HCL_D$+_7-Fo=-A(RzZ%=y>QqlvD5zLH~jL zjnf~6xJBR%cjclLf$;knQ@UV?#7|crT#bW&9`ohAYJ*W@o*W)rkbEBO$Y00I+>4l_ZXT zDm<15A7q3w!tCbb!H_s5cG$hYBA{S|mtSz~t5GP?;NtCQ~v(v=ZhmKl1+xE$15;vpF zkq?X^!{zvay4X2RYx;m8YLYj39|j3+ToN!?=P5lWCIvJa92<@_795!P-Jaybz8a1x z<#tFQ9LACm$T_hDJB4G;Q550_wxc4>t5FxoRGku1A1s%{rEcCugboT=TRK;oM;&my z?0^X|9BE?Mmk0w{thq7+Q%1{2ppVfL*$s~HakJbvh`N28s{II=UxOgjq8T$Dzsrw5 zO!!#G4wUpDr{*3bN#9;otUD&wJN6ZK=gC;-2{yp%<2-$y6D$AjLB~lVcvX`lYzwnD7a`2uL^kllmiWpoRf-&WlPv;xH;`$sGa^ogip zS2K8IJ=x9ddZr#mu#!Z_Vf~ExSvQ%z!}--XgBM?Nql4Xf zT;E8$E*X!XCBj6o(2dhX6E8n;?uSTsmEdCHa$^YlXIO zNVEEo2<0DfXg)qIhGUwIZi09d6T0pGEH$CK-Q8I%y|4^OX*VI>jV6zjwweCW{3>lK z+_F5(p^r~SYO)TF06}`1zZ#(1*JlMgNWt-TwOviRrar!c0f-ksvpz}LVw(GFR{-H% zN4t|hrX44eWS&MDB-4o#nD^9Jbh-ph@+iQN2O7$T(H&5l1G*_qhP646!7sc6xqL=b zAbuC7Yl4Td=-?WlAhgBV0!r@@T5K=^TAf^TU^wqg(<}qM0pwDP$~dr#dArGdS!yG> z8XTW-Q`)ESMgG1%))Wnl_T>|LVtcRm7-}gz^KI|z|*#tK&%gLPaPz5?KMUDP`z6ldyhxB>D(Jp1sj=~0V+JYSXNaIjcaQ25P zDk@N&S#m3a44I8Hs&eaXdw~2*9N$i7pA+dAJK)SEFPe6p0E%I zn9r)#kuRw2kC`Cw7$pOIMJzw3E=iS;w#vvP5CPZ5=1Quve?MM?M!wVsC3^5`6UI>X}r~?6N z+7>Y0VP@HQSvK4(n;^?Zm}P}1lMLanj5<~oTw{q`%qDI2fB!#b9LgAJ3ZqjpVc^J1 z_e&u{e8{I9|F`q=^L6|uO-shmZq5g#WKNE<78Jxn;L$=20BD$2ECfo)oE#jBICs;D z4`&|b(-S@3cQXoJ9&p|h-CL^-xg20kX9q~0flX*SW^kBOjP{u)t@HbsN9iJh#r7~z zG1}*O<@~R_l~ZnP#R$6>&$+wtzEPK4GpB$JIy`U2LM+IP3B&d_>#%r0Y1by*a14GT zl#lFWc`?tEygX0RvsQjM+4~R&gHq0!-`+jS%kMM%hN;8v=l-Kye#s|7P9!KtPm(a1 z)%;vBeirx6;p&w9;qsLH&zbSRnlD+Ibv-X!nGb*z?P5hZh7i_R+%(l8gz8kr)*(+F zKfgBXB*-0uRifd4>njUMMM*(hdn=X&8Z9&ntlFtw)lOyA4n4?{nZO-oJpXkL%lGs& z+_+sAH{|rCZgE4S2!5!)VUjh*#|PTG2j(k4L}v3TSdbO8Mo_vym7)QobfGFmOGfD; zRSF-VN}0K7UgoATb2xmmHNI!2zj`9X%{m_d%BAVVEG-RnkNgJ6zgZr#UrpqNl(Ym0 zhhf_~6*gj~)+`1JF1m1_r*Bx48iv(}28*HY;6TlBM;DLQ9z=5T$^lkB-ULE3! zR$TPWfJZBwA0+fruZD~a>W52eGMY>M2m{`w-hT+{(Ta!qL&2jJ-d{Y{n4HCkQXLr` z;{rK=g$sn2YjQWA_h?)}TMVE1RSD|9Zr9ps`LjGiIO!ZmBQfh;Snb8ACD*&4YOHR# zD$HTKogHVA@MRK|yRkG}86}z~<%N>T%vPj&sFLg!DB75|BUx+VTKN zNAAHW-07+IU+yz^+Uy?CawTQCJMr7d>hozh6M)YzdY)%pNBiW_`K?Sr&ZUJa?0lAe zRyM%=_Hrk`$3TX7!fylW+>9za7E6C%3M-}=G_S<83MUkzA(98rH>5R~MT^}<2H#NgRpkCpP|$FIZqwi#e#{+OHh+Z=_->?-Q@l~ysHT+yT`rEeT2%j zCw!L^{Pyx-fp&mJrR~B-oa(UhjE94rG#qY@j8(6MA@yq87-BXl`!`t#WIB`; z$;6Qv*u#=S4tF6h!AXqvh{TX4>0nGBi|nw2=jzpcL$0GeDZI+2lC(o_P8ico?2Ss;4z}*=(HPIMRZ4dX z+Vh6?v#9-ueOl7?BWC+;xKU`mGHnLjxzRpO26Wp;@)OMfRtrmZYPo{pzMo(aCaWtC z(wg?~*iqSey+?mYxOg8zM}H7I{i)5>_Nt`ptTx%1l$4#-COd`~!kZul)e_1>_34SI zmT<|b9zax|X`hjl>N8EMPe@AjnMtTV%R{w<@=$$tBB~`^a;p0f)eZJJNvUoyslJ!( zg-vIs*K`_^P`$=OwS@9eeQqMEC0uf<`x4dX+vg>v`urqRAMK?YM`^kSZ&(Q4@-Zw# zLV2jZFcH-fE;-fxi0ZZWMMAmm)yM)xQ^H49L zJk(#3h_qey-(hw)Pl`$~IbQv6pEeyp)K4?kM( ztG>3f9#Kfz@$~0hw82O2+ndZK(5uYoa1%8%l2-*ctCOkuqlVDo7InW>{o;%l#f@x@ zPbTNq_z$<%iP*X}X=~R~YnV&|`(d>P`0e)pFpqo`_a5SmKD&@cV+4gWSb$B?>UBNP z9$p$leLi;^!n`5vtFIctfMyUyH>TZw`|Ywwf3}hBHw7!2m_fm4cF5u7=3E|wc5o>2 zJ1*niCkt*#YYk#_0r1~y-!_+O-|nf+Yr?isTNd2HyMDPg3XIx!cxvCF+UB!LsaMGY zqc#eR+IM5#A-(t7`RYi;F5P5*Y7>Jey?yjbjbn(7YYnq@=oJ2 zzIuhu*^w-jHz-ihCO0T_#+Cht1cod9<{zlL;Pp$iu-(3oZI6vbdPVgO3;Mz+L9of9 zokSZU==ELu!KCdxXtslM9-;a8c68U^_B2255-WVN7c1Nm8|&5j-V*vAlVD8!|O` zc`#HS79Dlc3A(^2#rn18a^LuqY?R2t!#^<|?<$=0`9@TG)?97l`mimOKbPnm#wh=@ zDhJ!n3J1YIZ@<8`pLbcnX|F_qwAGgskwOvKgSdZLid(XWkNXn%>-^*mDVH~M87a!} z;4V%%v1m7$7fMc%|fZWZ;wA*?or)nLn4w5`h zE)P5O#uDh2Wv_88^QjcC+Hd!{ zG%VV02XiNB+5eCLc)b;A$ZHMS|K@%k062lok;EaysYU0k2>r&YL|*LXMI)}2ukC+9 z-BEI)zOWdxnmN12JYI5`jm1rv+u<*3&c>1=)S;8fl6iLvETkffkgUeFg4XF}`G~d( zYbs?|h^>N}33k|dP|^;&xSsH_?C5h?Z&L6o=ZF`)b(6CEOZ8oDd8hJOaZq0YDz23; zWh-`4{z|s|vHtE0DtULAd$^&{3JAYe{zj{c$G&eo zg>(iFApdE9&ECUQiYF-`9fWLzzHg=1)jfOZK@<)`!C$$1ncQNlJbv3|ne;;69Cjm! z%|(L!|8b45fB$C>xUKt>I72*Ad#E)Ri952&g2Z~n4Czk0f)OO(_`7378y(;PhCe8x z^;Y>=S_DAG>pWC`hxR6bl)5;SYvY!KAW*xmoCpkbqV3C01*3bxXM>X=uw z(8~XdrR?}5>AhPgSkCus>bcgUZmQn({a^b8`1^)(OhZ+>3S^(~d;;9jr3s$g+SsmH z+2Q6krJeWJ&Zcp+X|@(e9BOda{DwDuLs)c2Cn~+CzWYsma=JS##2c_eNgKiwGDy#% z4jPGocF{rDZL?pGb~GQ~tdbj|mpK3bbMwcyUz#<({hDZe`$e|$=ftvc-Ur*9_HVRwJ&X-fVr_b8h02i#mxci=_*P!#Z7OPNDkPnq)R3G&$m@7Z=B*C&LXXrjn-?-l+6g+n3nV9by$9Cm zV}cxWQL!42-~SC$BKLV+T4F2oxPD1(9>PWM8?=%){59Qpto`Z;Grn#dW1uI6zm?Kf zs+Bj&X6pCxnrZ|z81V^>5ts--w&pi>@$D2YagLD7SC)Ps~wa8(!*K}UW#-6RV&5@QtFmLMQpj#_hPYEcgFr!aP&8R=%n{MMjh*H3AL@z6NyJEO%46`Y@#!82 zZm5nNAXw8g#nq*=C+8;kbelR3jdt@>D_-m!xC6N$5{aY3CL2_zU4q8(&8CrM=Db}% z!SLGV)@ABlN^$B2jVm*i`)wjoASHYeoL@dAv{FSre+{COMQ7Y=!O!5s?nh~>!OE4~ z>chcJV$G?5K7Oo)_&hVorr#4)ilj}NO`!6aA05r0B2$3+9N6e5M@ zL@Nl8x~Z3qy>VR6L~$Gy0vqBuh`EdU1nd}ZCRp_}c8sIFF&?Vs$nU8b!4thuO-Ntu zL7&t6gf-ktp{C3{TIwa6^`_=!G7m?$qV67N^pz)NCO~g$RVECLN(BR0^Ai}^c>dd# zv-2!wXhT|+B$NKegl0@Wm7C#rCzcY?4k2e*y!+FA*?=|Rk!K&pbUTZh>+2Ok-$Wv~ zGp;wqb4D}K6^T|TK&|ZXiR)A*TD@qh4#I@?ma4?#|6Jm`r;4nROHU+XQ*g{Q3#*^{ z2=i{%1XerZh1FS!=OY$Yf3L9mClVIECk7G+Xc9R(;t<8K0}}iIOMU8eXLF>B?ZR(S z6=p86F_!bI%sB*QghcW~i`#j+W>CP{4{U~jV5G(BFE;8ncDSoX4gi2XUwL%&D%qhJ z(%;?E6H#f--7Wc2*ACr90ZZrM<0YMemVb~u+7FdI-B1=NLPva zhw5wWc4@f|Ex5e}?WkE~+_^;YkZK-wmLb%M1#yQw;V^uM`nS|@W4vlXt0sEWc-(mq zjwgpCfW$m8N0wm4DxNO2D6v{A05$*fMG0j%(AuHTA&DpH|G^cESbeG`47@_%sG;dR z3&9yH35szPzN=FpXac9H#IHfbA238gG{4&|yOfiE0tOtWk^ln*Bly&*BsDfPaI7F+ z!0*ZQ((T$7Q8mX%Tsy2|96=JrSe5j;Qd(r7Lk9i}XSqpYWBMyBom@Dd(&jM1%YvLs z^F|6I(SzeMK2!*9WTY_4!jYX=k6%?>kMn$c@%K(fdtLVEL@xVYW2M0iP7QylGOf}- zN$oWS`F4{dp^W1^*wK-kQH`fsNkYWfN<;NHqlQAr;tq@k5q`8$w=t?xpPqOTqKpG&$$$Im0@f2riiC;{fk}p?9V+IOzqcKvy(%N9%C?b`^ ztdFwf+Zww)gS~4%)TZn;btyPlj??x2u_|Vj_-OkHJ`HlL{J=F2ve+1oig=8M)Ms9f zvkEAa`)4+)1kcCG=cgune!P7C9UTnhA8)0-@WKlSPoV+l6J$vyikBO&T!S3-xf$m> z-aVcCtxGG<-@t(W1bE^vntIqvFy$jJm8r>HwQ3bFbCfm0dpHStFv2oA7C)FckPRuR zjg@aiQhpwBIo=z?s~9@1Py6m;#Y^HLY5(V#ND==XOr-KdVj^`mKQAOLPOty+EN7n{ z2p|$XkSgYm!JQu_!aFZ0^|dr9D958psBw6p6`7P{_bb(|^h2u{(9eSZI$~N?0pfq+ z&1-Pv_D9@IP`>+nW9FwNLfjISbVkk=4!I}t7y2Ym(rBD(BfHA-l6;y#PTodeAm55E zm(zTl@q*Q;h*W+mbGQ@H1=J(Cny)@4l4F#Esm*%q2AS(Aca8nYbao18;+{lk^rBM+ zm*nCEL6i`Xdkjn~e8>W=4MU-M{xvWn8==n8C3BFY28t0XVE3~z{9LKZc$LvSxKlqc zfi(gK&M{cfz;d@}^42tAwE0hl;~taH$$)@vrIHQotAudnqa)<*(s_RR&%)XPF;IPlk?7rEDIwD z;(2U3&wMBPfy0>jI>8JCg(qYrIBY-#W=SI-1K0_Zl14lRuoE7sNC!p{qk03_35&>K zCyb>GV4hJE@fiOl=j`qirHTuAr|!224tj>tG)hqBZlTa)v4NQE8M`Yeje4VTzOxpm zXG6$co(&=2^7upRSNK{9VVT38j*Lv6oAxcMFGel^^lYAZN4~-S4@M#B;)s|q9-^wb zDTL3Sz-LUFS4(@+|DZiKew>jZJsTrakV%eKs$sEW!hncs5m~W>6QUDkM7Q_Azq{~zuOYa4O=2KQBn+)tI~NbT3dj~f?i$WDcPWZ zHs$G)%Mw(~it{2)A_Y&SpF(m51dyY&3EQbkj6$k=oBmfm^AOip zDs_t0u{v*G!oE8*g=m^1a7{?)`+mTw-@+%#L@}Qw)5S+-ns248hHzDUA-@6B)YmEa z3!(*Ze_x{Y{^a6#Tw8N7G!VE8>DmbGyyPteB_W| z;NrD}lyLOeG$p9J*Y%Px@a3`T2ykC39aLtDV`sVQ%(8ycFX!^WBwe-+qG)PLqR8NA z>J_!anveGCNV6JZ|A<-%T^(!-k9Y>Mt`W)@ z(&+MvXGzkZNF72V&ZpE9Gb^hr=S)AwZVj68+{H5T`xv;vQJ*C>m(^ zw>A=hr7LzuqW88>DZ2{+Vlnz z0s>!Z1BnV3=nYGgMZLp=Vi_#W?3Fxumu;4Nvl7cCsCVBk6@omuic?{28!YgB9y$;n zAN;7UiADoBZoD>H91W;XN|o1zN~6JWNCfn2HpoD%@Z&Qt+|40!+*kVX^%s2)A5v-I zf3u*<@>f#<<(9F4FiN^`9{{NTcu4GN1kv)fNG%YxN>NZXlWy5n-d5?f#I$YP^B# zLVzt=Glyk{IhW{E#KGd^anwD2PGfxBpJrSHOC!>0Ca>2bB5`XGz%4OEEP5CAMmOj_ zh#0!PvNJLVR*b)lLhJZqi;B^c2@q6r|E9O}`S5FUo_?Q#pwcEFfSTX#2b5}2SELeu zIbktrrW-XC3F(Lkf~aLdKv{}Ax<_#(W~{DROUBisC`Ni0vkUL^Vh?l`#|028^L9d< zSPdITvxJ+2RgaNIl~qsFscAr-z*-pUenyeB(8YW~ff|%6p2AcGxfMwat3qqY?-a8b zQOqStiUDj2T_cGpcEk^9LSii}PM~3Lz#-^l665LQ#bN&A+6h`_K(|wXM zg0Q-T8^l&7au`$yRvd>h4!pC&s0~yFN~8FicesWeM6HObZx)nRg=+(j->43R>Q)8I zq7`B_Zy|?$G{b|eviz$&9%OZFLA~X#CkSm^r^gwWqkz+)01ON`1VH;JjJIJq-tySn z%rFs#hbBoHDsi^N+T2QcG*32jE@Vveyuy z!0z#VRECB*dSo9+B&Y(-4sJ~_@QM>Xl03wO^oBI&gpA+2!>>z%ZVsfVO-S-tSdteH zhzjIVah&@LFMN~pB9>7zIR?Y_Zm9&*C!3Tes7Rr~83!pM`mI_SqFap-3y5$A09Z08X1gf2({Ub>L3Z@ze$uQEL$yO*$!lQbM)nq2tMF@IMV8?YG z4IenUi{{quK(9s;e#wdyWQ-(w$T$PK$F=JLfbvXf56K?EK#4!2P7;5m+u*T7-<*YL zld~aYa%ZTBlqUW&C{WE1B!e?7Kfv74^K4g=N`#4Je6}%xLAU{Tt;O&vt`id$18pl2M`odHz@o z85}jlj-;4=Ri^zD9zanK2JxA8Fm;h)ijKj7JTGFugQ*gAT9|?=!g#Vmk0)v@T#M02 zKh}Dc(pCT$!vslDU3lmx#6Y$}9X*a$C>(JCo)aEO=fMxr6oC($rVj+l=I5xI?qkNp z=a669NLEF}D$bZe)y=&BQ zl|A+Yf*hsMh>%EWyer~;Eg8sswU#;5WmISefn>ljHP~K~Hx1$X*HL?vw((yg$3wop z)Jn?+#WKBxw}SOJyH2X~GSV}IN&`H79?DfLh@c0C7dfBZQmk?=x3)op_yDwcQ8N#a zc#p$f>NodbxIskdSGaBv1&Gj%0;MDT(8z&)lu-AMXb-LX_|ANxvcr)Ub-wl9&bJ-{ zg%*PPHAgzP2E?dhbU>N3q62DFu~)jP<82^?XeCi)00;Fa0%)6`sw|6Lbz!uXXU}&6 z4C?a)K-H&y>m1eO)<>~hU-b~Vn~J(I&nF1W3>{f}YofQy*@o)&v7e$sT5TfrdFrkc z<7Ii7lBIl8K`_DW~?`2g#kHlYRDL#2l++~23TW4XNkmac`3H($j z@9!4!xCFn41Sfr1jsG-vMFqRmP>nu>#(xf@8o1$^$Nx}9MT_V<^X7WGfea<3Hz=br zmP>Ec0^J3P#BDLBLP&XcoRr0pcC|RC@w?YhV@R#zMe0O&Lg6p=t1TMld?PBVcXW{LKX73a1Qnf=ZfwDG{1kKVSw&)BTf z(#KqoU9x`DoPNI!eEZ~0n@${8Tf6S2ezVGUee`O2dfCpmUfvI)Yc-(=wYZ_Djq||2@C{gmQN?w$r2=k9&K| zJ5%1Sc;|8PslQGWwNmK{XOpusus(?2R3xQY4TJ47nosPRO%r=oQew|;ir6gs98tI@ zkTttdSk%Rd%PDzCaXyabmxWZw$7c9Q96Fi^=D%xn~cULVuB6VvSy>NxunQTV{AH~!;OW!pYhSi7UAmWQ%@A{_s-Qe)cmU%e*UaI-U(8K&*uK2w|@w;B}yFv0hqIFAAD=Lcdk?T5969|dZ a>F;XMKtDBAb+zI`x(bU+>8BRXQ~V#Ix4IYr literal 56774 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 -- 2.43.2