ploop-1.7-1> A AlpA?Qg Զrzp&,KE&M!ĵL=Ky< gaec50c6afdd7880fd1955d765ff78b5e7f88abd0jx+amBe?Qg Զ?c k ,(qw$7&a -|Rk3vzD>8,?+d   `dtx          f  p    8@ h D (]8d9:F'G( H(D I(l X(xY(|\( ]( ^)b)Cd)e)f)k)l)t) u* v*8w* x+ y+8)z+{+ Cploop1.71ploop toolsThis package contains tools to work with ploop devices and images.Qf?rhel5-64-buildtGNU GPLApplications/Systemlinuxx86_64 v= 8p!# 큤Qf>Qf>Qf>Qf>Qf>Qf>Qf>Qf>Qf>Qf>a42395dbf879d283a2b4bb7165dd5ea0a6783235f7fe576645b280c50d518591b3b50a868b74f49fac7bddc400b4786f4eea73a40f07afe65d5dc17d73cd9997f34d6adb98f4519f695e10eb0a19a97cf339f7639f289279d8a20401ccc053225ad4b76083d181a6734611cc452e378aea8a969d3e8e391592ba568ac4d52961730bda1710c88e56b53548fd65aa1592572cbea10a325a44aa19d3a8039a4ae3rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootploop-1.7-1.src.rpmploop@@@@@@JJ@/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libploop.so()(64bit)ploop-librpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)1.73.0.4-14.0-14.4.2Q<`P)PaH`O`OOOjO^`Kir Kolyshkin 1.7-1Kir Kolyshkin 1.6-1Kir Kolyshkin 1.5-1Kir Kolyshkin 1.4-1Kir Kolyshkin 1.3-1Kir Kolyshkin 1.2-1Kir Kolyshkin 1.1-1Kir Kolyshkin 1.0-1- New functionality: -- Large ploop image format support --- Now image size limit is 64 TB (was 2TB) --- Kernel >= 042stab078 is required -- Move ploop_grow* functions from tools to lib -- ploop grow: add DiskDescriptor.xml support -- ploop init, ploop_create_image(): add FS blocksize parameter - Improvements: -- make_fs(): create ext4fs with lazy_itable_init --- 3x smaller size and 3x faster creation time for 20GB image -- lib/ploop.h: "unexport" some internal functions -- Use /proc/self/mountinfo to get mount point by device -- More clear errors on parsing DiskDescriptor.xml -- print_output(): generalize print_lsof(), improve -- add_delta(): print more diags if EBUSY -- extend_delta_array(): print errors, return SYSEXIT_* -- run_prg(): print error if execvp() failed -- lib/balloon.c: print file name in an error message -- Introduce and use p_memalign(), fix errno handling -- Improvements and fixes to ploop_grow_*() to be used from library -- ploop_read_disk_descr(): set *di to NULL in case of error -- ploop_find_dev(): always assume ploop cookie is supported -- resize_fs(): try harder to find resize2fs binary -- Makefile.inc: ability to add CFLAGS - Fixes: -- lib/lock.c: create_file(): make sure dir exists (#2493, #2597) -- lib/fsutils.c: use ploop_execvp, drop absolute paths to binaries (#2595) -- ploop_log(): fix loglevel checking for file logging -- ploop_snapshot_switch_param: guids are const -- Recreate ploopXpY devices on ploop mount -- ploop_find_dev(): treat ENODEV as ENOENT on /sys reads -- use basename() to strip device from path -- ploop list: check for extra arguments -- ploop balloon: fix -f option processing -- Fixed lots of memory leaks, mostly on error paths -- open_delta(): simplify error handling -- Fixes for other issues big and small, reported by Coverity- New functionality: - * offline image shrink support - * tools: added snapshot-list functionality - * extend switch snapshot functionality: ploop_switch_snapshot_ex() - * ploop.spec: disable udev iosched config for ploop devices - * ploop list: added functionality to list mount points - Bug fixes: - * ploop_mount_fs(): use mount_data for first mount - * ploop_mount(): do not allow to use ploop on fs w/o extents - * ploop_{create,resize}_image(): fixed size checks and rounding - * ploop_create_image(): fix memory leak on error path - * ploop_get_info(): fix reported disk size after switching snapshot - * ploop_get_info(): fix when ploop device is not mounted - * ploop_{umount,resize}_image() and many others: do not return -1 - Improvements: - * much faster resize when using resize2fs with EXT4_IOC_RESIZE_FS support - * ploop discard: add cancellation support - * ploop_resize_image(): use real blocksize - * parse_xml(): deny processing DiskDescriptor.xml with several - * do not auto-generate dynload.h, instead check if it's uptodate - * create_image(): display error message for incorrect parameters case - * introduce/use SYSEXIT_DEV_NOT_MOUNTED and SYSEXIT_FSCK errors - * alloc_diskdescriptor(): log error if calloc() fails - * ploop.spec: require util-linux, e2fsprogs etc. - * ploop.spec: require libs of the proper arch- NOTE: this version requires vzkernel >= 2.6.32-042stab061.1 - New functionality: - * switch from old /dev/ploop/ symlink-based to new kernel cookie registration - * snapshots: switch to schema with constant top delta uuid - * use /proc/vz/ploop_minor based interface to get free minor - * if ploop is in maintenance state, try to complete it before doing snapshot/resize/merge/mount/umount/copy operation - * ploop mount: use in-kernel I/O module autodetection - * ploop balloon discard: new iterative compacting support - * ploop balloon discard: implement --stat - * ploop balloon discard: implement --automount - * ploop balloon discard: cancellation support - * ploop balloon: allow DiskDescriptor.xml argument - * ploop umount: implement -c component_name - * ploop list: implement - * /sbin/mount.ploop: do load ploop modules - Bug fixes: - * do not crash on empty DiskDescriptor.xml (libxml2 workaround) - * ploop convert: fix converting from expanded to raw - * ploop copy: fixed check for opened fd - * ploop copy: do not leak opened fds - * ploop create: fix gpt partition creation to be 4096 aligned - * ploop create, resize: round up size to be cluster aligned - * tools: few exit code fixes - * multiple usage, log and error message fixes - Improvements: - * ploop mount: check that mount point is a directory - * ploop umount: reduce retry count from 60 to 6 - * ploop umount: print lsof output in case of failed umount - * ploop create: for prealloc image, use ftruncate if fallocate not supported - * ploop create, resize: add check for correct block device size - * scripts: de-bash-ify - * assorted code refactoring, cleanups and nitpicks - Library API changes: - * add ploop_resolve_functions() to aid in dynamic library loading - * introduce optimized ploop_get_info_by_descr(), remove ploop_get_info() - * replace ploop_{alloc,read}_diskdescriptor() with ploop_read_disk_descr() - * remove ploop_getdevice()- ploop copy: fix data loss during migration (#2287) - ploop(8): fixed according to doc team review - ploop mount: tell about unsupported underlying fs - ploop-copy: improve usage - ploop-copy -s: added mode to copy to local file - tools/ploop.c: do not return -1 from main() - tools/ploop.c: fix/unify working with diskdescriptor- New functionality - ploop copy is working now - added pcopy's send_process() and receive_process() to lib - ploop mount: added -c option - ploop(8): added (still incomplete) - ploop balloon discard: add --to-free and --min-block - add Preallocated item to DiskDescriptor.xml - add add ploop_get_mnt_by_dev() to lib - Bug fixes - fixed offline snapshot creation - fixed race between register/unregister_ploop_dev() - create image: if fallocate is not supported, fail - ploop init, ploop mount: fix -b option value validation - ploop mount: fix usage, -d is optional - ploop info: fix usage, DiskDescriptor.xml is required - ploop.spec: make main package require -lib of the same version - fixed a few ioctl-related error messages - ploop_create_snapshot(): check for number of snapshots limit (127) - ploop.spec: do not own _libdir - fix SYSEXIT_PARAM value - tools/ploop.c: do not use ploop_err() - tools: fixed/improved usage for many commands - tools: do not forget to print newlines - make install: use /usr/lib64 LIBDIR for x86_64 - ploop_create_image(): free disk descriptor if fstype is NULL - create_balloon_file(): fix file name in error message - create_balloon_file(): umount and remove temp mnt point - create_balloon_file(): fix error message and return code - parse_xml(): add Blocksize validation - Improvements and cleanups - ploop lib: add visibility=hidden for internal functions - tools: use parse_size() and is_xml_name() where possible - remove merge_top_only param of get_delta_info() - ploop balloon: make it accept either -m or -d or both - ploop convert: change -t to -f - tools: unify parsing -f option - various code and headers cleanups - setver.sh: add -v, -b, -i- Added ploop_get_dev() function - Added ploop_set_component_name() function - Fix: do not clear in-use flag in ploop_fsck() - ploop-fsck: add -d flag to forcefully drop "in use" image flag - Fixed handling blocksize for raw images - Added user_xattr,acl to default mount options - ploop_mount(): added ability to pass MS_NOATIME flag - ploop-balloon: add discard command to compact ploop image - ploop_get_info(): return old info in case statfs() failed - expanded2preallocated(): if fallocate not supported, use ftruncate - ploop_resize_image(): Check is it possible to fallocate before inflating balloon file - Fixed merging all snapshots - Some fixes in ploop tool usage - Some log message fixes - Add function, source file and line number to error messages if DEBUG is set - Build system fixes/improvements- support for variable block size - default block size changed from 256K to 1M - ploop_set_log_file(): make NULL a valid argument - logger: introduce, use and expose PLOOP_LOG_NOCONSOLE - ploop_getdevice(): expose - ploop_store_diskdescriptor(): fix for a case when image is in root dir - Fixed expanded to preallocated conversion - Remove some unused functions and non-existent function prototypes - Introduce and use SYSEXIT_MKNOD error code - Changed image -> device mapping schema - Use strcasecmp for guid comparison - Made ploop_merge_param.guid field const - tools/ploop: remove -b option - tools/ploop: remove unused and untested replace & add commands - Log/error message fixes, improvements, and unification - Makefiles: fixes, improvements- initial versionrhel5-64-build 1370056255AAAAAAAAAA*+u"Ÿ q‘Z1.7-1mount.ploopumount.ploopploopploop-balloonploop-copyploop-fsckploop-growploop-mergeploop-statploop.8.gz/sbin//usr/sbin//usr/share/man/man8/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=genericcpiogzip9x86_64x86_64-redhat-linux-gnuBourne shell script text executableELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), strippeddirectory#RRRRRRRR RRRRRR RRRRR RRRRR RRRRR RRRRRR RRRRRR *nMv^QQKx?Ypu_K2q66|>|Neَlٲ ˖"[juڻI2EL]R2OaR:4EĴ@mmJCbHoޭ,0}{{ooWj7&jkT]V ^X666!1˰઺335i;񪳖mgX^;YY!z\m3 7kn:L;SkD]mZtifY.- bg/Y-YṕAΰWHWGggWs&:4g4mokw{׾a)zS=@޾w;E#;{S:Cٵs^yWn߉mێ=`R1423C0~߶@^&i}HGΛ;ڀ֜S9wt$~iO˄h#"k*HytwL;kݑr_.mQ Qq`LH "Vl"bҮHy {"渆 7Wh){6Gch@d.O #a !GM EQhUDۼ*F%ܱ{.ZQC*vl>ePfL^rڂS&V\1C {WA[#W8Vw*Q<:^Lj7#4unD_Nxe]x-?(D+]lꌄgd +onOfdN.5HP-!?o6!\o.~,l.ZrWDs'Bxff Rŕdd0܋Z#/UZ-CsXYbMD]ߵ-6kkbhQY e!.nd3 IWYP(Kdyj62Q0hBusߥnnhou3QIQm븹d%([D]׵nh6&e>.Q+(-ETeRʉ[ڥ9OKQAUE2,+W"-ECEqieT4Kh <'uiRm0302;k,㖙ɍG ծ]]Gdv)G|[%?xU_\T6$|ocwm^I=[+}ps^C^o[Į7&~C孯̿{`{Ko=8o_cW;?7^P˯{t3:q%pv{%{b~\*<dWʶ)lfȞ 2*XNYGBzz U귵!+Cz\.3۲q!=?~5䵐⃲t d7e slO߅쩒p8n?%e!=_%֟ Ͳ+Xs͡ò (ِdPvپ.X!>+C?yo /_Cv^>kl_/7I d;oCZr&C+eGԷPVK=+Cq%?Y+ۇBmk?*!=ClғSDžy*м=RO](n44lN|2>NJM>[Ɂ3)ޢ{u(b=/Z~w:|-E=W*弁d3ء z.<ףJԷ_4%,v--EuMgI>8;`v> VH= >_.asꇬ?i;x ƀCk*ÅSLkRvf؀a>O*LRu|@eWݰ)Yu3Z@Ijo5A %TqlGa^SpP* Oiix8J Esҙw CMwHϿQLWG|[M1~2B>?bz3Յ }k1lXܹۓI}{+X߿Yl.xD-mW Sw#$=!_Egt'5 ݿ%) :vʳPS'U-;3Fj88gZ xa"U`՘LTc֫yH\\jI9\wX73jBb&m'y`)0 +аtIj`-ORuCѾUn_ճٵ$[ʘRyU"q;=F}I)+5ovTtΫ Mgʕ,G8q2.y2&qYg?Ɵwyx O[# R "'0 r]?a A1p?o$ w#^Ejvk›% !':pq'q5OxtגK'\G~q=O- ?᳈ד'2 ?"n" F)ěB' ğ& @L~Èο{}w&&yk_#'yMcX[sJ d%*-'9HsTxrP+CM'NI} ^s͗98/AIm a'-W*ȟBPc&Sq^~nȿPn^@C?oDyG^0b'@) Y/cWQ}d;[?ȏoڅcw$Ǭccp}.91/v>PXmchKߖx ɱ_tGOW'=GϧѧAM%ܹI_HJT|k1Qv=VK&j&ւ/ǻclG[@7wNOO;CwĪN#M/c?cSĞdv>LMLLXJAP$hH )I&& RT,<Š$X4Vlx9#acsfψݻanͼٛw\0bBCtqQo(Nc +!ye$_ƷJLXHq)^d vWDc_!Bk/o@3&9l=VW! kTAos(N*o U]I~x~`C!gR yÀ%Tџ KGHc#9G7)tWiRBBI8eH P΢X4P*-Bop>%s oі!1 +䬰Lz;OP[]őDxEg2Q`,lUu0PƟ><><}xtA3uEp{ p8HtOhP{)SRbua Sӵ+D&CړȖN aaQ/O^FbDڴ<5KfLiJU2sZ ꃕ d${dː C=pxkZd=QJa*!QaK` ڍ&@;cL7x 7ɦ<$y1㢯౲sw3r)+_)k,,[E8*h^3*D`{nVg4-Ⱥ FXsFu$ffxns@  3#.r3*8W/!t\IDLXIcYJe7sExm_[@Y7e KwgKYTz!TeC]ќOdI?V[n'a!bu}Ճ+<K,rO,|Vq&>ōJ;ser.=D7s l $RΟiD}Fߍ:Y->[B iLrӘ!/(;yƑ 4|rS~r+9Wi+яN_oMɦu%vsDL59LFӣ:V9K4R ] p~]dz1g.U]g1rPK87o{^tZ_h[eZɂxVRinCkKfLe )hQIm:$c:F >!&imWQ_):$I[vnnb_rϹn.r )g&C[祇DÏqQuPp &++&è%“hNaƄ6DDK@_r|V~Y݄y~ lS; =я [fxN|-kGVr1R&e){}f'MNwsdgzvZuW(o3| 櫫`I|654>rw%~wpIUl5] ֓{Rb¾态7U.,1rd` "Yp)$tIڬI$gm$g h|j]I݉ߜ1] A3"ϰ70oZ][u1iRw1= "㾔l?@ċcWk ? L,323'tjmğ8"/SP9.dax]A*z\k:wXwX'ie #]Q$ڮ+mBh(mKD=P#F &[pqHaT1`osɲdWPC3%HFҮ97b#O? Ծfvx="DEeӱV%vd{kw̗xxt .b8zG\L0񕽻A<앝&Jp،D ̏2@PAŦMa\sPpA  tŶRPo(oR* F Edl1.ޕ|w9 8x\0]k}ܼ/xuh{ݦBݿSe-gwWqEқZθY<:NG/Ķ NoSW–o@ɴMrmU4wY=똥UZ B B]B)`ZhOCM?F3,Xf >HyLl ENamPT"q1KQ:ʌD _,6.j41XADfj!֤S:M'V\/E'֡AD"1"s~Au޽{9s9gi51E ڪcHYK&G9reMG]U2Ayl~ Ҕ\P8Mir? `/+)h.PdڼcI(9+ ~iah:6L'#_*GwK1v[Yˈn?U/^7KM#@{؆d&]WF\%Sfe1&+ 9$Rvo84}= `Z >.lqn]3 }IB0s`NU}Xm.h7g\ *$A&H!Ihdw4}6`izBe&K+1r-OHn 2!}qgmmms*wnH&w["0|)x o5z"1 8ZvK@Opl4੟уݚu)3G]r||vF: ?ض^(Wl?Ym Q|qԯ g0Qv$`.JT9" &Pw)e>Dzfle<ٺc=ӸrG*.84I^.H#r.hnIjzmC&.MH4;هT۵2rI颮U⏓VeUNKiPcW@&Lhv}ʿařZ `S4~E\T,v&mV#6  =x'cyʩ]O=3+? `[uMk&~?%` C=]kOTi]2tO D '̆F&Cۨ|I# <>+\YOGKy. TG92ydS+X': |6藚;AA"5t ngh!k(/kA'}ڪJ|}HVo2! JT*! hJ h5jІY@f-}DLlu mA 3|b3)?Cg2RO8:%ŋ1e )IT&d*( h@vUiKvpjͥrUI0|z!v'^ V P6G_U^opE= Ӂ^k;A392G1<lLH$'TH~cvYTvp9g6aF x.:ۀ {GB%C?i.8U3xYώ=g$|u‡HϭOq ^þ`Zbcь #Y,.ռ:#c>YE@+y:΂\a628ĕqQD`f \I*+|ן nst_k"Vm[Z _ l..Šfr[d`9R`+fQ>'ĝ|iY>o 9eV~qLoSy-=՘xӆ7; 6> cV 2y᱊̓ H 6ń}NX/ i>$|xbAGy:cTBŀQ )vtR gI ꁚK2@䥖+BZfN*snJ2/9(?@ % IiE %٠$aNBw4jrj<AH`mTH+Z:M dH88b jds\񊈧WvM%[4;)^y+f6ʎaYLXJ$E=@T7juxu3|lKK9]ڥh`t<;Iw=E>[3]Kqb=H}Ra*'0>E"KHu}D$e/QʊƤ U= RLBF&MW~bPx)TƹÆ =  rk +J°Z0ײn!J(QD%J(QD lGgΩ۫("46 `N"UuIkP\JTJ\Hr>ΊCIt =DHHEѸjZQiH DCtY彝۝ *r7ffgwg7siSGԎ*oڟF'#Wp\L*[ m c3Hy>L2GOh>P_#?S80rd0W3^-#EjLWtv| T.\iǢ’=ǖ\Ymf"zI7g%8X+BsDKNzrGmO[R!{9@<_{qG dddwɸWӘCbHwlPWaQY轧TzGi8YUA?*7&P1{::QVAЧ0C9-?| M,NN,J_0 ڸ"62̝{lSuۍΎ:dc ؅dGXQ0y1 HA&ÁĄa`܂F2Fqu?6z,#}h̲{{w,s*hP %AN3y\w+:c+τV]dUJy ڼ?[P*}qxLIH_@- 2Aym4I x$T>/`涉= *o2&TX}O9l*'oK\P%nKFalDŽ]>'vY˳.2iv n^vPKmX.9Naa8z P |vɡ*p8y C>)49Zmkp<ಮO :dwwCHL1gsGLc2um1B_!X&)v܍>>'ͭՑ9&rBe - ||hrJp ]0e=>fCۮm 55ܠC+v_f ߺ)SGP3lU m9+Fs,eS%7O4;Z;*myZaYrQxwPI\ *Pk7TQ@ G>״8fخa˿F}(vo/ƫxUcԩŚdƺhzӈub-b=J8V&ǪX=&z17 2 `>BN8Q0t(l_ JZ69-C-^=b7H'ܱߣG~T_E?*]W,yY1(1ܢ{-x(sb_: is[acc#;'qЮdOsҹ]yj!VC\Kox uV1s_ϐΣ>ۯuF͓LnO[[ %ì><#y݃HVBc1~.%=t`J>='V֛Q03%ќ&2+>|]#4ȓH-uת2SO7X-dR][ו xAڇV߭+]v]玷\BNҌeƝ0a21)c!n/W=2" .$J@/@I B@^%^jd^.:M06IDl袡ඝ*pF 8iً Zo󷂛[̀Fo/k<yG y_4yͱ)HAS Uj2GT)R W]Ke.M-(}NQ(.5{_ gԝo@h3$ zX Pb6$E TbKcWvRH;Ā"be``  **Ľ#?L0bG|޻ˏ|WGQx-L'8_b_>G},>Wz GP+CpO3cϏgRf{Oed{'$a:F'~ ~;6~jO8O~3/V ;T?! av~{X?G'H?cw>K'O~B!z: WY??5m9]g}𬋸j3l+em9C0BWPS[kY@K¦g&nv6͂SyD ݘ?:^Wu-Z-1=hF{o<~R0 bC;WX?aArjDr s)\tzz;,c.(t7ch nK 2=j29BB j4aʌ9 Xsȅ+׵Y?jN>?ݗ!HCA)ېǞAdE|a4 t&"2Ys ؄Â`X`X"ܛNrۅ}o(}}yoTϗc_ h˱o%jrդ/>L>חc_>ח>7iip=_bs;qm|9.۩Wä2/wp W5>1e_@}͚rt/s=_~̗8,Qu|rח"}~ Җ7,j[p =#1̣P ǿ8ej(6hR {8J3aj3f\oRpav)1av_sRqaWF%G[\XvZO;4 KKϹyzR<{9j 儖z>bkg=xݿK@) yC?@:KD]It'q'q*N:q Eh.ɵMZ%C8% ||jRg۵ch:-t:k<\_{[pWQ^+$P][l67ӰD|b\H ͣߨ =N^A}o7i5/ei74}lvY6s,#nlv,]eòclvY6,sne{Ųٽe>lvY6,xm۶\YRVCڪkӪ>Z{BzMhU/ U=#'VЪZ]BEhU=BZ#KVuЪZ)B:IUO5U0>j|#Og Bٱb:(=X=:čS1\{? A{#o[/NuENl mQs5| 􍆫Wo_duJmһŞMz MLF?KlxhE-ZZ)Z)Z >ݪ'^E ρMW=ֺ3tr>Je%߸tԋ7@n͋@ַ%AO[A M[t> y"$PO')}:s8z/hsjj\2+ f{Re H_.ݠ-GO-8 [A XK7l-?ke/*%<Z߿q%| kYגݱkQᢨAzA2iQ&Q EBrה:T :qQ;IAE\E;Mw}$w]>].M{} %OВ?V- m%[7HK>ZV|KÒm["b/-e,9da4&nɯ,9d@8vJ獇sfgoݿUߛ櫖cmV%Sxw'-pB%lֆ{0oV5DY^6ذԞTgMM>CPe&l\^3E W+ `a؍bi),ݱtjV,Ι=zg=`,`=xcg?Akp4 (oe=o=%)g=r:o=pyayQa=}L.P?~A.qyn@ǹy~@Q@5Q@SBnHC t>.P 9{v!|ZR.B;B..P7dz 4.|%jhcO}+#i/.P{pSWۅUZ 'y?va]m]pqW+pqÉ ._hSWoشVI[ Z tTphT%qZA&E&ч\j_c|:'17,;{9Y/99Iz~Y 8$jo0nGCMolXXЌd S»3~i'ۍhkn`fR oHE0 #؁*R2%C!r$4rOuW\Ȏ}HK'ԛ]  ,7 cd׈œV!H=q|ַQӲ CqIom2VYγj)Z/<~+N%p8n ey3B,G<|G,GXH]9hg?QM|tsPwP[pm"FüUa(c0tȻ9 f9]Wcv^b$"ygk'amn<#ogK'f佥+.w>D;EhkѾVQ̼/Nyd޴znyzՋ7T$6[yv" ̛;mn˼i;Sy`,?ɼ u8Ml3Mףxsc>y|y83=lwg|Θw9ct]4wƼi?߅ɼ~yԘ7-_ nż3AǪ]Ⱥ*9bzj'g}(wk6ۤ'yWiS c)󛾀cPFo6}=kJy/S/fo/79:.QH7)czB}ޡ`#Xl~3Ş딵Qo~`ؗ3&/cB F#_{/?Ϗ~(o*x?}\B/>W/lCqyʝܚlF\dbRvh^= Z+OUP?t{}z2zƫ3fE|fNyzcPM0E[LKBdtB|29'K]%3K${%\p#o% gT_a1)(LwxC{/xʶYDKemg(}?c KO뾜I𾽪klȐMUޫ|+o/@W'!zfc}}6le+Nsfcid6Ff㨳61$qNfcyfg6b}%;}Jfcˎـ0>cCWLU)Uq1/lB j9 _o55 s>Tl=Tno?ϣ{.lo>[Wԭa bQ\awV7a/Q\?gw;흿!z=h_A;P"ׯohlwz"9v5o*{ ~Uj\h- >͏1x/c}ȿA<=W8_A$|UAdoF_ yؼ:lM#l~^^=sZ5g #h2?Z] U, 3JjCvM'&g3sHމ_ c0}le1U(67Ŷlj 0Y\"M4T@*lIc, -`ö">O<ϞcmDѐOnwzw~O~$?2'hkMeJ=|z/|>O:L?[gy׫y׫y׫y׫y׫y׫y׫y׫y*3ר!wi9l=O9T='|?$_w uOuRvᦣod*ZM{6&w Zx*߸'s}6@ߑ2"Z{ù~-:|-2#tL"g\Chv[?]v_ tX+Z/;tXxa?`˻h˻c)B@ixM@*\vn(ɸE=HG }GiQ_w 3:|M=h݅=̊ImUhN6 Bi !ve`:^af5#b Z2xlz9z=^EqJPi=~l<JW!WmC߂ 8|F[oCKl Ʉ`872Nc?1 >3J+{;WV$^PXli%0aMB/ga+A: e;X72 0/Z`#;1Lc4Qs߃;n 3}LZL(:$v"Om 8N!$vE' rNbjsi8!IOIěxqM'dʵ)#ĶQDq/ ;؝[I"r.a'6:F$~I+aaY]eqVsrkQ LX^\\mC6R y,=JK%xQITRMe*-zj3n,貫bx./yu /Im'm2w=Ө=N P_t :8/@MxT} AmQG:p>yÀa7X. tQa8JCht :J;#M0nx+~K{8J~{b~s')]Wc88'FBoqz_|QTǠ#y KT#-c}d>2h=F8ߍc" /Ics=<8v紨y z?:6Aj< cP^ִtX:d߷rѩYmG퍲3؛Vĵ.2d1b1hHnDO#iMIh~-"`ɘ dU1zXrd9V};=j0k70Gpa8Ni4liv5Nn>C&zlǀNn;WA^ѓ_kΤuZb>ͼxj@؈2ז|SyL_CGпW0|%dE Sx@c=WRSʛg n?7ߓ.Vb>j$ ?G/Fނ|NxC,Ȱ(-+@W9 W&]2w5 z_ȈVM-rǁ~&fcC2pcnAv Lx_"Z$õ'G`=4l=]z'ܗe3? LtZ$7 gϡ;Mre܀o>܀ DgfI2 HYn@,f0 HYn@ rRd0 L*kg~*_WEcd!z;6& B NXXd11SĠD]UQ$K*b8F3R2yt? > Y V}Sª" B LCEQ/q}u( @%hE& (ؘФEED@t ]ـ/8s>#&,6A|vVx kTZdY 9FD@X RDOz'\Mآn|g .H@z@X V?,Eڟ@h_@Y@ tW36m tbP,N Y KK|m( :8C6sub n2p1 m.#3+_O3Ó ^\M:ZDrpckNNvn}\ߍJ$ %x ċsm#(xk*F@QH?u8 y4V*p.] $MtXiJm>@OƇJOJ$؝ #?*F[,P I3>?dh9d|w=| H^|X | ׳*3B8e%ܿ})ʑ}0B0B#d݇/Jֶ}ˁ!d4#ևDiFh3B4#Tԇ #Fd_5&"!e#d7iHȹ%+!72; y Eȇ,#d!Eg22DTQ6H2 #Ǎ2DԄxѝed$@ P dCǽ2Dq;p8"|>RFH#ec$L" SۥeD.]\"| aW!#I Idd$A1D=t $, lw1C>k0 '}p Qǝfob; |q :mྸڥzwS]e[]]{οYhTˣ%wq*,LI^FVm=i՝3NJvcnʒABқii.s5/^dEۮL,f,`rdυb˞ -NbfGnsaƆjU>`}yͱS:FuhjcH eKRgn`>~b_a@JْSh҅ڢ&qVݭD7=/y9pdOvT%rKf_:)]ڏa&s-w\=ʨCzDf٨5Zvf~ڮF/}8B<(?VKq^ur1{Nmy7MPU?7kŕjn|}0C^q[ceFwK2oOc!۽SFP=MDѺ ɬrEYXau⯞q(N[)oꇸ r^}d^ӝy\-NɿG,S^^t3I'fl+ )uMϝ_6Q͎vl0?Xqh~ ĉY?Pa'Y@S uK)&\]:~=G9v˽RxpC8o,oO:ܙP#Ҷ{6> 7fƅ'l Ȱ'To qB71U[]p5ݵƓf>3 GT=*ru.'ήU -#+'vں\[=5+y}'mS(>50hDĤ&ZJ@蔼B9ioni8v 0h)!9 q'(B$UJBV1}]T>xW9'A=ʡ2嬀U%VY/]"|ETE$RBVUs< (M}sQ3a.k;9gfcs.!FiP$YaɜC Uhr %cDC6; j 9O(`X_^'SZqR)OzN؀AB 0GX6=c8^Q y% 6N4b1͕@4oXJ4A m?EJF%LD{| ??x /B&w6m5 rq?*/ , cyqΊCD,Baq+i%uj^78pG_˫ }3SY[ XUQVՖ|86!0j$a$3z.k8[n.ˢb'݊Bw)#(E/ V *Es;ϼs'bZDUŽ)OT*v6iϞ~<D[>|hY4Ϟ nc tIZ`%t'!nWT)<7s+UCBu}NL!`M&cx U@u( ܠ;ME%̓LU"d*>ren^:6I s-H\\Z6F䣠(ƙBEMs3'bāS/Y.YNB!^)ްY::GÊ>>gkH*|p9>ݻ 8U\]Ϋ~5 X Q'񷂶_+Hua-g}iW࠾ V>a?zJﲸ$6_= fK?+udm8GtQAG* =nŻofNRx;ї/G'UiG*d | B0pZ` Bu홻hZugO'P&j;퇺liڵ#RZ$o8zoⰎ~~<ĉWβ3P Рx#)֚rt~۩iVe+o6Oӂ䝣koʰ7{M;īQv67KSd˶XP_;"^-T6P+5ӏM"79Ncpuvy\!Jj8>0G6>g&C-o~V:VҀVXc+XDz8шy*k!6Juvx0CƳ:sl5$cokOф`jxߵߏicR*U<'sG}7~hρ} )~K Ї :z@i~uZ\D)$! 82u*)b߀zy5p w`P}2Kj# w;g@2N(׉ZS"/5GfGWOah@RxT%߇xȌW{[c׃;3~r1"0/K%Q8Qaz6e&7q[SYJUՇz^AIϷՊ*նZo7o*4ۏ)d':q\g8`'AQ