resalloc-server-3.3-1.el7> 6 6`d63!}|J^>j/5,d^ j/5,d[Y~ԩi4!f}!; ^(#h3}jzJ GfCk!scx(cո[+e1L,+[kDoF|9sQDn9쏸(]s+2k.D >{b[T,˾]Lu{j%%}HEfC/ÍJ_HrNl4lL;1VQ޶X؈#~KIE!^ܢO'4!g LF׌J&dq]+e I^>QC7Z=7ԏ9]ĠTcѮC‹\iúK$ D];8K(Sd+Rۦm vhF-;N}:4^^g=mFpz2#mQ.L MD)H{}B1;V%Rt:}cqr?nJrmg%ml8-*'t42caef181b10bb8bca5b2da2c3c9d0dc4e87fea7h3!}|J^>j/5,d^ j/5,dz%=6R (=آ/chL c z*e\)a,9}~^~7*z)~tZbֲ:|z_<ױ;n9\ՄBꅌg#R\o`|vNϟ~7Vo(eX"q ȵהk o@g['uAhE?!v"[A!cGOgQܦ; |c ִL3 ad&β-ٻrw04{% USoZy86/w;T8cnw 'cvL; Nn {Nisٻ@(q{-(>Zs;);W쨢:BsASmiZF~,Y*>Y$/w/rl̉g܈^޾GJ@cM \GK]"!dk+&b/ @ &x)iS}Æur85{t5͜L>@=?=d  Udh <DLD D \D lD pD DDXDD`(8%9%:%%%=-C>-K@-SG-\DH.lDI/|DX/Y/\/D]0D^4b6d7We7\f7_l7at7|Du8Dv9 w:Dx;Dy<1==Cresalloc-server3.31.el7Resource allocator for expensive resources - server part The resalloc project aims to help with taking care of dynamically allocated resources, for example ephemeral virtual machines used for the purposes of CI/CD tasks. The resalloc-server package provides the resalloc server, and some tooling for resalloc administrators.^buildvm-x86-10.iad2.fedoraproject.orgRFedora ProjectFedora ProjectGPLv2+Fedora ProjectUnspecifiedhttps://github.com/praiskup/resalloclinuxnoarchuser=resalloc group=resalloc getent group "$user" >/dev/null || groupadd -r "$group" getent passwd "$user" >/dev/null || \ useradd -r -g "$group" -G "$group" -s /bin/bash \ -c "resalloc server's user" "$user" \ -d "/var/lib/resallocserver" if [ $1 -eq 1 ] ; then # Initial installation systemctl preset resalloc.service >/dev/null 2>&1 || : fi systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall systemctl try-restart resalloc.service >/dev/null 2>&1 || : fiJ+ } j J J  oll33 " QIJHvXX' YpFl/큤AA큤A큤A큤A큤A큤AA^^^^?C^^^^\i^^^^~\i^^^Ğ^^^^^^\i^^^W@^^^WH^^^Â^^^^^\i^^^^^^?C^^^Y^^^ ^^^ť^^^^^^:^s^\i^^^^^3258432342a1c76a40d3b1be85676e9164e1cd4f4ac7622aeda0cf4b1d4f0fcfdaafca0f297899ad8566f76b425d8c3744b81c90f8fa1e9ecab856c3891a78e8b702f349c74e93a2bb70d49fedd2f11871d8e85b495ecfdd58688ab0467dae64dd202b7316aa421cc9d285c0df30dba1a3935827dfeb1663b77961d6b2c8348f82b84e6eb3aea43312ebc2cd5d7dbc57045460b950bb63caa69ef1a3f1354023677a032030f600aff50fe8065ae32aba0befd640c604e3d4ca2a267634a5630ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855682afd85bcdbc56042d7a4fd949951afcf0ec5574843ffd974988b21701234aa682afd85bcdbc56042d7a4fd949951afcf0ec5574843ffd974988b21701234aa3ee78861a46f801d6674b57782b9f570b0fb2d269d19629e6d1c156938a79dfae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8552ec758039d2c67a88f22f7bd6190b808729c6f2adbb766bf0c5f77bf83d27c8b2ec758039d2c67a88f22f7bd6190b808729c6f2adbb766bf0c5f77bf83d27c8b26ce83372d6d4b0be6ffc1901bea3edd33a3c4335e3494897e9d2923bb6fdac4c1c6373761b350945c221688e07e28b91d484b504f1f75bceeeb5fd1536d4808c1c6373761b350945c221688e07e28b91d484b504f1f75bceeeb5fd1536d48082da5b52778d5aaee940a3aa7003091015a9dc8afab56dcbba40ee2a1c01266094e37e0cbe7bdf71683de0b1478eb98893e33a404d1289b395b75edcafb9ca43a4e37e0cbe7bdf71683de0b1478eb98893e33a404d1289b395b75edcafb9ca43ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8556adb63faa26826e99e87609050cd5117946f97dbbdf88bffd1ccdd533d77beda6adb63faa26826e99e87609050cd5117946f97dbbdf88bffd1ccdd533d77bedacde66695be4f5a7e9157f228cf0c7c6f953398899b9f8f7450726a106461e13a4200e190ef1cf2460988052b4a4b37028e370889f94f8761400b24b628b7399d4200e190ef1cf2460988052b4a4b37028e370889f94f8761400b24b628b7399d70cee6507b1d215b2e8e97fe5c0c8637fd5c51f03f8225c60b3a0c74690ee922bdd13c142843654d770ffee5a2661b71be84c4aa8b2279fa7c9bdc1019f8a53cbdd13c142843654d770ffee5a2661b71be84c4aa8b2279fa7c9bdc1019f8a53cb60c2a410974198b85b56ad9ce4179c74ba2b94a2abb6b7f72f508c62ba7c549c4d8ad34589a8c25cdaed7f9b2ee15bfb39867fdb0cbb05f732fe3a92b6e2397c4d8ad34589a8c25cdaed7f9b2ee15bfb39867fdb0cbb05f732fe3a92b6e23972fb3646195a73801994e30cdb47fa818ae6da0cd477e3caf8877e25d5af4c079c6faebe96bd3c5ae8184d32b18541cafe1c34f39a3955b652ce279b075a43ea1c6faebe96bd3c5ae8184d32b18541cafe1c34f39a3955b652ce279b075a43ea167bbed2119627616112283525321629e90ef599f2715707cd974c511fb3324fbb37c3991ddb851fe94080816d8228d362ad6e2556d43125fafffbaab7db02cd4b37c3991ddb851fe94080816d8228d362ad6e2556d43125fafffbaab7db02cd4be6351f5650d890caa71adc1790dc9d590e468137d848538ede06c954ff18cee8b7dfdd9a6ee8ea0540fe5d97f97990069caf46838d8ac4c0574d3bb6631e7678b7dfdd9a6ee8ea0540fe5d97f97990069caf46838d8ac4c0574d3bb6631e76719f40dceebbf1efbade5eae373a19fe16d250eb479f0a62986fc7ffa314b481d210d346944326b330def59425834852fb25b8a7f5cfa60da5858217b2c52f88b210d346944326b330def59425834852fb25b8a7f5cfa60da5858217b2c52f88b9eaf8ddcff94e58e08f354f0e8ab4f011c1bb9c0e6a6d4fd3a689989a11e5709064189f6cd3030b4a7447cbffdd682f6eb359e68e5c9655976e2f0ff25e59472064189f6cd3030b4a7447cbffdd682f6eb359e68e5c9655976e2f0ff25e594726b02baa9718995c5268311722e340c3c238be07f71f8ce4cdbfba3c226e0d5f7b4b23242c7b27540a4e86e4c38d40486465c0dc8396be6a4435a47d2a464c8380247c06ae3a793198a54ca7e33c82f7ef9994f87ef8c4cc95911f27d29c264666b9a7e4233588b510c6a36d49d18148713a4bc28765221b177a0f5227d8e4cf4088b28f560bb78ffbcf945f116cf6fa10d5a1ca0134a6dc8ca37c6e9e154064b088b28f560bb78ffbcf945f116cf6fa10d5a1ca0134a6dc8ca37c6e9e154064b90a6a939b2bae8ac7a199728ebb7080ed4c5330db8605f3fc539a3220455d47b4c1c53362eb69b8a36bae93030b4597dcd9505f6294d7d870915f2566e890051012e7ee500fc3adf8e1a0e1a6d39641ee20d75d33272504f15edec21f7b515a1fa204a1bd92d95ee56dc3c59b619bb9891da927fb8e29075307a689f348b86dd8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643c0c675b016e40929fff170b346230159e67e0bb5c653d747519f71d81403705935d6cc293b22d0f24a449da6d698e08f489bd48f2648de571a7f374b73936648/usr/lib/python2.7/site-packages/resallocserverrootrootresallocrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootresallocresallocresallocrootrootresallocrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootresallocresallocresallocresalloc-3.3-1.el7.src.rpmconfig(resalloc-server)resalloc-server@@@     /bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/python2/usr/sbin/useraddconfig(resalloc-server)crontabslogrotatepython(abi)python-alembicpython-sqlalchemypython-yamlpython2-resallocpython2-sixrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.3-1.el72.73.3-1.el73.0.4-14.6.0-14.0.4-14.0-15.2-14.11.3^^?@^^^^'@^2@]]Z@]D%]:@]:\\g\g\g\g\@\s@\s@\s@\s@[ٙ@Zp^@Z`@Z_:Z_:ZP@Y5Y5Y@YA@YA@YéYX@YY@Pavel Raiskup - 3.3-1Pavel Raiskup - 3.2-1Miro Hrončok - 3.1-2Pavel Raiskup - 3.1-1Miro Hrončok - 3.0-2Pavel Raiskup - 3.0-1Fedora Release Engineering - 2.6-4Miro Hrončok - 2.6-3Miro Hrončok - 2.6-2Pavel Raiskup - 2.6-1Fedora Release Engineering - 2.5-2Pavel Raiskup - 2.5-1Pavel Raiskup - 2.4-1Pavel Raiskup - 2.3-3Pavel Raiskup - 2.3-2Pavel Raiskup - 2.3-1Pavel Raiskup - 2.2-2Pavel Raiskup - 2.2-1Pavel Raiskup - 2.1-3Pavel Raiskup - 2.1-2Pavel Raiskup - 2.1-1Pavel Raiskup - 2.0-1Pavel Raiskup - 1.1-1Pavel Raiskup - 1.1-0Pavel Raiskup - 0.1-12Pavel Raiskup - 0.dev0-12Pavel Raiskup - 0.dev0-11Pavel Raiskup - 0.dev0-10Pavel Raiskup - 0.dev0-9Pavel Raiskup - 0.dev0-8Pavel Raiskup - 0.dev0-7Pavel Raiskup - 0.dev0-6Pavel Raiskup - 0.dev0-5Pavel Raiskup - 0.dev0-4Pavel Raiskup - 0.dev0-3Pavel Raiskup - 0.dev0-2Pavel Raiskup - new release, mostly fixing one bug causing traceback on too-long stdout output from AllocWorker script- new configuration option cmd_release - command to be run before we mark the resource as reusable again - after server restart, schedule all inconsistent resources to be terminated (mitigates issue#41) - systemd service is restarted upon failure (just in case)- Rebuilt for Python 3.9- new version v3.1, improved resource checker- Rebuilt for Python 3.9- new 3.0 version - new possibility to re-use resources, and client requests can survive server restarts- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild- Rebuilt for Python 3.8.0rc1 (#1748018)- Rebuilt for Python 3.8- don't assign resources to closed tickets- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild- thread safety - don't change os.environ- fix improperly handled thread communication- drop mkhomedir requires leftover - configure logrotate to compress rotated logs- fix logrotate typo s/lib/log/, package it as config file- logrotate config (per review rhbz#1707302) - provide manual page for resalloc-server (per rhbz#1707302) - logrotate also the hooks directory- move homedir from /home to /var/lib (per msuchy's review)- new release- provide summary/description (per msuchy's review)- only support Python 3 or Python 2- fixed racy testsuite- release 2.0 (changed db schema for "id" within pool)- bump, rebuild for Python 3.7- release with removed 'cat' hack (commit 970b99725acf1dc)- first release- better setup default directories- log both stdout and stderr for start/stop/livecheck commands- service: add WantedBy=multi-user.target- fix homedir for ansible- resalloc-maint resource-delete fix- resalloc ticket-wait puts output to stdout - new command resalloc-maint ticket-list- create datadir directory for database files- install manual pages - add '--with check' option- python2/python3 fixes- resalloc user is not nologin anymore - add resalloc-maint- add service file - install log directory for server- no changelog/bin/sh/bin/sh/bin/sh !""$%%'((*++-..0113456779:;<=>?@ABCD3.3-1.el73.3-1.el7 resallocresalloc-serverresallocserverpools.yamlserver.yamlresalloc-maintresalloc-serverresallocserver__init__.py__init__.pyc__init__.pyoalembicalembic.ini__init__.py__init__.pyc__init__.pyoenv.pyenv.pycenv.pyoversions5759bc82a992_initial_revision.py5759bc82a992_initial_revision.pyc5759bc82a992_initial_revision.pyo__init__.py__init__.pyc__init__.pyocdf29a997efc_resource_pool_id.pycdf29a997efc_resource_pool_id.pyccdf29a997efc_resource_pool_id.pyoeac9fc01d0d1_allow_resource_reuse.pyeac9fc01d0d1_allow_resource_reuse.pyceac9fc01d0d1_allow_resource_reuse.pyoapi.pyapi.pycapi.pyoconfig.pyconfig.pycconfig.pyodb.pydb.pycdb.pyolog.pylog.pyclog.pyologic.pylogic.pyclogic.pyomaint.pymaint.pycmaint.pyomanager.pymanager.pycmanager.pyomodels.pymodels.pycmodels.pyoresalloc.serviceresalloc-merge-hook-logsresalloc-server-3.3NEWSREADMEresalloc-server-3.3COPYINGresalloc-maint.1.gzresalloc-server.1.gzresallocserverprojectresallocserver/etc/cron.hourly//etc/logrotate.d//etc//etc/resallocserver//usr/bin//usr/lib/python2.7/site-packages//usr/lib/python2.7/site-packages/resallocserver//usr/lib/python2.7/site-packages/resallocserver/alembic//usr/lib/python2.7/site-packages/resallocserver/alembic/versions//usr/lib/systemd/system//usr/libexec//usr/share/doc//usr/share/doc/resalloc-server-3.3//usr/share/licenses//usr/share/licenses/resalloc-server-3.3//usr/share/man/man1//var/lib//var/lib/resallocserver//var/log/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=genericcpioxz2noarch-redhat-linux-gnu POSIX shell script, ASCII text executableASCII textdirectoryPython script, ASCII text executableemptypython 2.7 byte-compiledC++ source, ASCII textPython script, UTF-8 Unicode text executabletroff or preprocessor input, ASCII text (gzip compressed data, from Unix, max compression)  !"#$%&'()*+,-./0RRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R Rhttps://bugz.fedoraproject.org/resalloc?7zXZ !#,K] b2u y-iSqG[t+QWRZOƚr*/Q28Ύx? LkyN;[ 8g:#cK,25:J?*cG T7H aOE xXvPNl ڟk :/#%`'-%|Qr 4 :lh[X[IMC@ԯ7(*-b8W)P>\8Ixpр X9T& ˫8ҼB!jI.}K(@j q2n藍n2e +]W|vk&F|Xs`HZZ~<aaRUw|zڲu m7hGp.( |jeQrG* &;fV1d5'_2̌x qw#+3ைR!PܩvE멝ll^P޴IK߷NP L8W 3jn{[t'@IJ/Xw'z9RUDqБ32L&,I1%JR(-ύ`J4e3c#V?ztj'׊Bz$8'4V؋u6%Vdq|B;"q4EJXoPEY64 > *ү=}qNEIzj|26гz&Z9B>*&FZ/+Z͆35}ba!U[^& i lq4&h>?g;ڄeΩp[᳴i>{Ҁa? a:-.si xۃ@ٯI9uM4+w:XT|*ŪuEɣDhd ¯̦y+8>(lkW$ƥ=Z3=SGKbQ$v:). {0wڅE<Ɍ$bVz_ǀ^|S*" xt6\ˌ+C.jLA_N0xA@'#\3y禡 ;Ǥ#OM]~DEY(}ĹCؼL_ {XO\-Fjl@>QFlEt5 iu-vA! p1]8y9j֓_mc2q%@E|} y#!vR։8 3ɷG|F%y6[qR<ʈZyWT b hq|ׅ>~\X߁ivW0n8~?ry? 84"J* uGv1njanH!G#ENa%;cEdC\_k3{.#+2r7`wN%ݣiر1_j0L|nk8r.PSl\JY $|Nm )_m辶AO,2 )eMvW2"^t 'ʴ_W*FǬkY6XJ[Cw' \t|vC@  *p9_/ƇФ6tLY4J3rXQS6W Q/rACi;Tס6BaֹZ;bd6[?=%,f8MޭF m?7S}م)# 3V`{f9A9k:*LcKͽ6{s\3Ǡ? Y'{T^ ħ spU1|xYErzv|r!fmx9!i< 3e[Lوcń? x~gļW$ALLDK2 RE$c)'[>%3RcT7GRDlƾ#". #*J?^Myf1EAV G \nZU4T1 B5^@-yL6^[\.^ڄM][Xڵ&2Mhꪲ 6)`p`@ C' 7Ctýw`O=GZHZaD,@ Ԅ8s^$I Gl0Vlڿ=LsOk况d31{5; }M5Ÿ1v3W =m[h/B3ѥfSRByܩFrוYLE28*.-_| ݊- P{[}jk.j 2'gtbW{'fDOKulZZZ5rMVKdD0%,ct<7w?z&=aظ$o*gfsS7H |X闡kkʠB;\*7&+?d3p|V/l_WO·"[!?,$(قQqX6эI%̟^4olsﮨHZ,6;qV*:!#W+L+IxLOs)&JmUn1ʖK`"4]ISbhHoDTM~r!++()D-AyzKcԩڙf{,I_ڞWmUQq-{B׵8`[S4ވk)cZxSW*_kGnjᘕPwssIht͎go/?wDnԠڍ RNa|wƊ3лm_^iY,yfu%R]X $+rIC{㍡ qM3˜rmǬhnpXEF^T8p2 ['kL oNE. OnStU7"bz kҌ&sA,DPK# nMRXu|'9@嬀!ú\OLunfPWxF+̌=Ӱ0xVk2e#斒IQԿ6z]= U&-'jMtq>wH_ 00<0&}A[`O131 ]ԡ|ƩW |4I~ yg譢6- ;o!G5 2|ͦg"_XȬ9 T}K\8#uɊlٴNakG 0~P`7>+ o'Ĵ+{u<\e= $n" pa ;mM(b.ǨV>K"Cl{gl.wƼa"'k݂ Wt)r4TJP U}LTfDKN.k؉ C !sca^+ R07GčK.%74i}K [_-x82opEV"0NB昺\m?EyBxI.v, 靄KU x'FO~}a'IZc[]>]@L1h$j#MFJfm|p="eN^F)l0X gA^UoL R5lfiY"#Nx_[ تnohr7}ou6KJbSyT.B 2vI-r/-S!38b1tm!‰KQ-{@!enu}WlTZRLާb105/Aw >}cqY ; q- 4"L0HCAFэyS#xtΑ.gN+U> W]V^!?'egXV1 UEգ{Re I?=x 2scd- ]G, %2ع8 Zf@ZEz1Ԏ rpcF$pDh wT`RT]쌟Ӵ_ F@Y ђjXUrT)?NWԈnuU̿K}}iZ\f6 8.Ϩ7a}Jm.H6g+Z&ip7Y&toM_Js aj3N@GQ4A?}9]M|̈'_ʏBג1n<'΍J@ ŨH.Fش~W#OOT՞e" O4Z{bQW@vqdi#c)X3r`]) UKGX?ADz.^ OrdBuBP0qZ5H=Qߋ.Q.gHI=,rJmeLJFpc^)13q>Ie >@ؕPa"eӄTOf'B%nXHH190B 3m<wS+ ?MEnDWѣ6֏KmFprd5sr_y̬r%jz KtL)}Ino#"5Yh\FF9*oeR6kr8Tx ^|`9dU:ʩ{[zj,5Im8Et*b⥝WUY mߔGkxi"^fDo\EdQ';YN͢/ow^VfnkHQ^EB C,$&ϩJ*!%?eRb.Du9b/5-a4Rxn jX.2,yjRn!cMէy>4[]vy}@hyzRk(D+)]MD.6m[W/bg]Uxwt=,h`Pëzt80a J. ,l uZ4JZUp^5&qHZ#aҡ= ~]_E5yYn5);HxE.Կ$j8سw>^dFU[hdZQ/ VvmOB'6D/.zd  "RuGR`~yTqԪO7 )JQhBX_D9+fuTN7[Ƥa4 W~o}@mXT*6ŸfnүK]zU9UĎ9Zjof3iMƋeu5јYM6B5tᩜdWr4. )9'`7{)4aA<3 P|oh5DdvpU4TcQ0~ x&9bwto>Fێ.ߕ ǔrF$cJ/; qB-VJr @D$Cg7ssƵ^_ف1RC[hR#p'Q~ :~)=z˞ MՃ-9!NbI+a#T\S:~E`Tu΀g-uZD:w}- \ 9zr@"!rI+⭣ːcRf%l3}0l -v PˬRxriDDJMkr-6$A܉yy'#zn%LR"*d?U5eX|\AqSu65Hο4V)dq-&Gy~/@%‰va+iƭH(B>T-B0Cyْf9X5R17jO{qZۘS՘\N \ 譖n|ܕ@8$/:'@eLeսEQyg pvtvB řѵ55b)~fOli<zYFbumdvυ]sw'ɀƦ s-7Y{ڿ!`a*i˕ .̌S5g1 vI>rթQMXq\*&D샦zƽNNnq9JUz+鯆 O 5;6SJ-^\VM%"n)7-,sCrE89 9.dw~dS{:$Yޭe~яT82ΫlFΤ߅̜:JXἑs^el$%зrEw,}Z`+1bˠN#.t=P 7nB @x틎㤐gnknN_%.t)9Ds⭥0:Ĩ-bŋ)s#N}6u0>È r1 BC_enOKD\Oά)JT5&A,7;*jjmiܙߙAVVSP_'}BO9jH5Q4K?R@}.gץW2Fargtp#m AH'|O5Ab981YxDԼhճ}-QΝdzab ^@);r!'E^@#Ӛ9yǧ"oM׀ȋex`co~u@b1mD84%~2 fL!,ά3$ 3Q⃘܀Hϸ8 |zm/D%:c&OKfؐyXYts>RMŁ8e[): 35EFn*r[U`y7')hYrl̄ 1y0%P7$*UK?+V"˘5jy<[GU> ڀ #pf+<Jȝ4{!>Z7ZQ蝹ėg ' [a4*]~m6d#τDuX|O ?q@.|4p҂Xwqm1QX(T}2b~֐ n(%3d~JQ˪";s; -Pt0XҴL-DG&w=0v ՘&z40Pl x`I;;ZVºwxn7jw.UL/ptTr|/}W"Tљہ_d|]XxrE^X-L)*X\fQl39kah`ٮD+0% ޼ɫu(_Ec'Ei*5g+i MJ)rԲtY z]ϝV)VW0Rr\rP ~Y:wc,-_ߖBcm.zq#â W*WHp,QacQ2 zNgr=':Ż;2.Xܷ*Xq͉T ((V%i<׋!~>OlFP AmCsqi-/C/2 Nwa` %Nj"Q<9`C*KQɺ[q=:G;r6:xi5,pn PVj,\fd7>nэPPxu| (NIT0#%K60y#J-deʬ'v.>ě?G<%+|:k3/ZD 'ㅯM6""xœ"a=At .}ũ_ROTXׄw#Mf{^5^蠖\$D5(= YکK&L"r."j4XI8+ ZcȻpl}#! =WjהJ?ܜE)&(((& p{1+T<|-Ɯ&ŭF /fHߏ&!UP erڮO}[#w/֢QXodLY:ǘwѠQ(I\SCj&t 6@PiǾSHwX%Xs`QI/ &kY*5{/wf|^Ҳ@yҏ rp)MȓyOLZ9H<زԷ/y"60!&_Y` 0 (%>V_|z\ :df E+!-ќN!8o+q;Nmf ƹ'qx[˽'AeÓRAdx b1iӽFH?%OOɺJ^_(Y\X[>9LekԂ1 MB*!KpWܙ}(m>Gl65եhQQv{{l|+]y2X=C #CNCB#HUx.EϊyE=Nsca N=L#g8d?DVitOZN >nyyZT.@|OE3>N{͊CZɢק(R.c*빩Z_ `M0 ܘ?Xʊ3Eΰ{0?6!Ido'm&B >$B^/̝g?Q~8I)0FW6NNx폇.rT):#5\[Myv|Fx9rWwcfc7!"f4>_>ӽ.(V:NY$e'CVelYc.毙fk7,UT?TtvƄ>^fW)Hh &YQ18z D;VuEZVB\SwDcχ*@!d0e-[롭T[ t=, \!^5ԓ=D Hu>MVwq}8l[RRyӴ9OzĠ40oO6 ;p+vl !pDNXWP9;xFPʭ+u4lw 2FCs鶏TpiB:K7-W u3D)7'58PHT> @k.6C%{+>[ũ ы@n?:-k $'Ln?h'cl,(B1R=kC,yUP)X6W5xΠx*LKVCQW"#P"`Z陲Wcw6fNfA_ 9i+Mmٖg - NCMs'R ?MCyr]-N鄜.eAӛ2?DJJiSE-NU5h)skV<{Wj&T/ xUN<`OWb8!SP=2ԆUO%n5*xOdm#hEĥ{-TD(oQt)z8} %J"y*␰ls]_g[@$ZST|{qS;= **rS<(X4s{M~;ً|#$7\HB%GD2$οZ +1 e?Smi7Ng샎sH*d4c/529HRboXMɸ'\]b5X[>eu۫5]N;{njI|?PVܤ˕0+M P"|W/1T6g҈l7ȁwN?/H d*;p^fF&SkbϵRzql+.pQ5LAl$9Сs>$:=~l,aQ?SZͪ`{ݰ#Z\@zOt"!{WWE,ụK2{+'S->&``:.J:"uZÅv^VVmAuUVRN 5E-·_Mm_sgrޠ2z 7 q3UdƗjb <$3[:Y^wMo͹ۃ) X]R!Ѩ6ϽEVf7@e$/_lX[Ɛi$%<۫BW1dPN*R ;Al ;F3:bE̻²?՜V@ AubɪNc^+=&uBSxvU Ifpu&j#Bq1973+;!y>&\'n,ʒ1dnԋ_lf9| 9 =k28\[`n|Qӡ9]xGnC&5qV:fY\y^X1 xb7-{LeeeϩI8BgirSQalȗ{Y!VZh(l83x?cww.9WڼeiS\Ȉ+ 㫋W_I qzr:,ZM:o!Of m^?tfXt6U}1)$#;nɌ_+%-4Yj;KnicwH +tF;`Hݨ. H.0i5W;%#ECH9dUl8O]b$;]HskO%.'J H@KG"Ϥxj& XP-iѐSOH'3R^/AJl F)U`isSӡ!{&軔ka6Bg^})gcTꂞ`?kɰp@Ff1DCkʧ>5NN|3 flX5H$0{E] Ye2.rkNO=&9Κ4یז4ulYc)f8`&jNBE-Ûd3aXy9))L0ScpAx1CxNWQ,D%9ZKhȵr ?@zwnh{x$[׸7(gKQ5b4sN ]8P-y-#@sTFnVI'V#oέ?'rS8\!'F#rF򛙶!UAw=7d*p=lSasa.tбqop|pR-+H`C0(RŲ"zPѼfVgeIH+s)V7@~˦ysm.`z+m7zHt!V#?{AYLy<$OmAt8|8&T6iOO~gseB#0ݐlP? D5QU`p+4'^oP\>{WS 顑Tږ+(yCk H0x\-͐~Ns]K~ PӞz]T\6Y ˅M,Aۈ$ xvX|l>K3[!'UtAL,yd_bFӕw }fT7H+,_lY!sWmIm!(L-SNGcT.,f+iZX r8>I3lZ ?~ YyOB0$kʁōh;<!=z@`9~r)}RFF4|gj͹|5g[p9R]H*ٲtd*:߱%+ -8<hN׻.y Mn@ԭ`NޓQ\춚e5U{-S O)Li[P=)"!*iG=(ʪva{TtIeƦdB1"o:ĂhoQ<%_Fe~nnC/Z ̸=GibF!r"E|-p`X@"uDjһj!rpYQԼHe;Bj44WpjQiF@&+ĨYɗ4&K"8*GK0?oi{J҆~= oM~Z ڲQn諸`a*JIEЕCUr&Bw;@V-n1oc7ӎd_3h(ڃ[iaPCKxc>->٧ MCΟ*q}p kثaͣkA̚) ]g,#n T ,شt ձ:aG h<^d&+`aTzDF,ڈ #tt'Aʧ\"{TAdOG/IE!_I[`b-J ًL1iEiY"(LB <,=;oBNU뻥-%f8kNL.Lu`t!z H-05TT> O #[c#]uraU:kxL2#.שa3[$C(t6 )ߜaYCc7,Ge H1[+tU;2@?AJ`D, sqJՉF4W!%ze(SH!4-y_뚖XﭔOљI좙|grtJQ>:]kw(苛Lb7@b;kefd Ji<* C:ƹNI06t#O~o׉h/wI&܊fd-i_/ITIk9g$,PS:GiQ_ӫ] '|,U/?T)BC$ݽ^q#ʙKj}LPPyNSJ-1G߹dG<Qñt1^򥙽o7ʱc-&Qc a~#`JΩzJ7<o`f#sPE*nv%٬3FY]SnT؈F Ԝ Gq[zY0(14Y\!t )uO|i,P:q $D BYV[|SE}tHW|3?C %\b`d\[YxmБXPwT<q\x_}Wijo~LͱčgQmL}[B '!k|5R1V.?+v O?ӐF+ܜ9I=BE,luTl(TT(='%)xEi~#Ϯ.[gX=RjafVBUT@ȾIX[! _pT]l %$1w9Gdžyv VZ }5SPݎ>}$#&UBZ3;.>/Kj>5#Vq/;~"%%`gocQ@˽GEAPo 閛AZmn!Hފ2H9Ҕڴ69x sP XSSq"C(CL8D],^5;*2xEO4#>1!>!C5O%p u>bQTT #Vpc//'ptoiu)MZYxtmB>MJ_Ns+5256" [ ⰴF9PPKo!,U{@9h6\j`]BW»g#lF%;/a]_^d /f_=IBx8XUM0w [5@V [hAikUq vbB. {9Ÿ h3Ps_hTJ=tĜ|uQU?F"Pll ź(+XxHJ9Q˜Cy߅}\~%涰w}웽GwڀN:V{m=)iƿI5ϫ$ ݯ^y.R6B* >e}{ݩmz1ؒ挮ɣxNm `V~VT)aBӨ=Y"]#738!yxE~g;0TB M#!/Ds\UPI1 })-PflGd 0R?S ![{I^RVu,(A*tNx>3ᕈNGp 7#opѝFUwmB{6 ?b@>| [jiZg Ň"@ٺj]CHW_= UàY}ȟ'b/zk y#5fVq86!@.csVҖfZxemƇg3Vڇ)dT-$o(u6Th|SZ~ҕ-p [M.w1ӧvߝSТ*'[Yo7B]D8{s.:bB\8v: mJn FMT{-^'(dPd\:%nW_tk҉B*KgLxOHL<9)g*1L*X _oJF 4; ^QWd/DFlL9 +<'Nr:Kkڴ,SVNb`:gO[ u hLNvLK`FpHvP 1YUOTk* _,(w x;~(jM>ɝGm^,>jT j}F=i?;8O>> GGl2Z[ϔ~sJOb} gZA"MqjVv #R7gX)B?? 7g7*(72MG sԇjuuwT)KLj0+l@${uEFoXmWU측$ixjaо6I%GNI1o?h55uvMKٮ߯L|x+5_y>Y%{;4Y(M8ydrGX=gE Y;ݞIlApoNX;pYS al(^$s Kb^ԳK6W^'W~kBSwᑢ',\=B,|'t5=}wL&4;;e^e K6|kQguzgla4j" PPĆ2dRSXkB3~k4Q `P04?i=0;2qyȝ^g zɮ3{YsO…?VyO9W9XGI SM5YW]?bJ~0JujjW0U@FbyK^I߷dg5`t 3x lV"Cu͞&cm2h}:[H` ӏSsw;`.)cL/\p2xw8Fj;b`=1qȵAx~l9שS`mL`1cȒk4N߳E | qmca l6qL} Bzgq|9 )zv߻z"`v߬NJjR+ Ŧ螺ұ%XNWt}ڦסqZj ՙN#(͚'擳URpٲ}6xm8Qxd.J1&dQ_@낂c=q"4( μdbwmN rG6P$."fچ kƪ|5:b>+rfrj-A`5FBơrZhhdUTqtZ 3evAصb N=%5^KeA] X=#B N`ۀ7PcnvK 'Oi)f JyX3f뿾,J 3v~Ji8lE}Y %k7î$&u=~;&w.uMD5;cs0Ay-"IL@x zVPĹˊ݃C?%aוPt\ b,t+DQvT&6;}z`gOR|M6m14B{ann8ڝC^yKic&a_G̿9v\pJFH vI/fDU2؊>`׽!;uZbVƤT%0;2RRrR as Tu5I =Х<Ľ+)'6cWʄq [ٟ[IO׀?SK%NFƁɞ'G &DM8-?^ ; U|pf86KO!cJ1܄BڛB΄m^c|@!w4kg|gq] {|~QYhEM !p=SI%1!fyh-j "ttZ0$n;r $vGDF8j?-X{X` 3UHYޔCcO%+n}_: [@}þz+76;9էK5 _x4?®NkexN*%"FF&s]+XUYn-3?}rחΕ[PvidjC! ~6%,sa [2pq W[7_V9vGxOV)۞.pMz@3|'`bHIM>ْ=٘ɫ~G%๒T G94)) >N8A{4]Ae.N2>eۇtk\VL /}v,n'>z2 Jk%pN"dKijњ/|%I~2ѦkS4f!EmZ|Hvةoܐ!V?!|KGl+XjסC,N6{U̼cXosLaQv5hw{Ï/e> {8j gpIrsQ'ƌl]Ɓm!V%WB n3>5]vedkڅ&fw\o maLJa~wk)hNԧ⠞SDe6&fC,޹S RAV(XrlT &*S#"AC$5OFˆI @Q6x"7v~)J i4F|!:k&&,1@|J7(MDa vܼ]anKRuz%;(}s.v|#KA[/^  Dri,y7\;9#u*j2$@D@XhNvX_d ?pEDs'M:fRs+lgU~a_;@.Ȁ00¼j NaQGƧ᭥0VO΋PZyVsU*?8ǂEhJk~]( mBg_J@ʙbz/;UJ4#x ž݂ q31J7vRkr gc|p1l Aj): yj<6ѓŁ{Ęi8 <;y|WȼGxO(j}tŘ g_(z]F{3l7=ˇjBú?nNtX/zGghR%%Ʒ:8>DԌ4}rX6_rvӿ=]Ghr?zIU>"̛6 hyg|{X$ݜ9p=vxxl_{VZ6o-a¨ӻ6ѡbpbI ],G "[cQB.PllpBFU )OBr*Om2$z%8TiiHCѣl[S* WcuܤƘ/` 0+^JpOfnZʳ>$WiJ7lK8p?I\)4'!0! Ks=@^~T nȽŃџ/L)ia0(^ BMI-TΓ3's} q$&{aXM}=d09q]c p޳.Vfj9s{<61 4iY3ZEbQW"  .j]iէ%x)ig /W[ rf{@ O lA0"!C{nEA&GBMTݭT|X3Ȩ+G]Y}Qu G c(Xd~#TqaJ;6c!ȹM.mt4VG_S p=M,&}E?~X/_I24‰Y׿U/(JJBviiRbB/`ۋ^?PҺ+q-KЧ?n3\=&1~[1?oT Fuz/Ho8ryl@2/]L ."պjY* dO4)r[J~f=)ohՏ$ G2KGEfI&[Eg;}:QC,FJzjQCU|؈a(T{kC;@ctg<(kb {/b\td]^@XZzP;K+1P E*䜬>^RZ3 )*EĊ!^U[g JcsL?,xڏK{fMlinJfo"78imisbwbfVnzV#2EL;"DX"A$&{(+;V~vr&NhOVH?<Τ&\r؊csN|-'O=afGz͡`+e:O$0̙hsأec3SLTE4ZT uz"K4v .Yi5"wv$.FYeAhUuck)a!T10LHE-EY<lE+VXbSh F#m0K;R>~AJJuNs,Nڭwi˸+0967S-2r& +: ruZ<ܷZ( rd᩽SND%>7D#{<ޘwߍ)ۘF(3T5RbON1NdEħBYO9~hq'i%Y.iZJ® o!8o~BvӍ(E5f0kzY։i#]z@9we@"/6N\HۄA&#NYmfK\y}鬊u}j$y /R1? `[*pKRϔ'Jn+^kaa{o)g M2zȆ+toIKZHG)+^nxLQ=J^xK_ ^Z~ 7vɍRLݟH_2Y=ːΫn t>$%#c'cbc4UV:rİz4Urv!H)9+=(n1GS Dt4aRQ!-De=f73W7< 3EUzX/(%Mb[J; 98xL2sͬiO#ϛfw|Z1͠9_Ra2,ބ2>r u)AnrHt3d3#w=F?XV4O"4Eyf:?x;Pԭq L%I3i^C]:V]J~R Kͪa甈Y3Gܙ:I 0H1Jc `0:i!^](2oݓj04 Y %BHIZ*:`k^ w[5 .Է߶ =reftP q5Fk9Ⱥߥ= vfkY(t\}9Y ղje?-Ox*D䰯ѣ8>x[XY+҆P }| *Vq}r e@_eb! 17]rwwQ| c@Xp_qMroέ0Fi,kΚrj!pt["+pquD)%)SV9e=WFh[O(K . GO}hmpj:`.E{W3%Sqh$,d0c>UnM88o }Z=h=z= Sv;1CoeE* |&Ͼ/\zɾXuۄM=:>>w;f] ^8=TՁ~ɹ"ہTQmѯ|6TKCoRP(++ZhxN B5T(}s*?"II‰иr41z/[DϩvK[_]wmSnpXF"'t{F$]- 7s so$ákfড়j/Hj_6?iYLٿn =+x#C֨ў'g[T[z Y[J&MOÖTtԞR%k2,"sXDJMwP_< l*6tNh ~( -Q<[ dT(ؐ&qO*7m)ZItgm ."v*d DN/pYʗfo%BHRѩ4j.,3}x$n:Κ{=dhd&6iv?b3NӢaji,}JeOֻcȠ-δ+ɣlUG [+~4ex#$1 /O2߳RDzo9( 󷶦f&{]%_ "hG+(z 9P>誃^M{,b+=z(JzuGֺlJL{B\܏f :V\:NLbx՝:^Ŭ Ld1X"D ( yO;Lqι^!"ej_#̤=G:s{ßVb36 ;,jvnh BʟkM+Ky5VsLf[@ 0sQG"XTS(MviXf 9pBS՚V6oM $HS݁jpﵽ2:] ֝huF'H_Go4ٵek-<1oՖg;ᓫL'QN*+ed*3dN Xx(\G? ]7}#lMtg4Z0J$ b^X.@&n>b BaZK)h i%)v:vy24A .?5R<#+=(AE`DMţ}"UDaCD%U؁^p}8&dX'Dđ+wGRIK9˿t ղhroe[>pD段lVjN(h RTG`%v$1b%n'O%qaT.ߗdzOקBgvZ&4Nzn)&TC6D0uq+{k4GW`3)+O K{^B'O~4E 2vou&A"M/U<׍tEV-$]߆ [?ڢo a]k due[˰2uRHc FICX!)mpՖžj׌tC[(8g@fh,w5%3Pӵ)C h^VwAO bba:v+Ll5Xb1un7G'gI~1i1di5k㐎H?ib]=]k 1<>ٲtlfiqwRd_q)#7`czp|Pr-S M\}*~&C$E(_ v<ցK$T dqw@_@Z7oeFdnM}7.kR?TγvxkdA>"oBa(أy<[o a7ZJ~k4}#rr@LO)@(Z -5e~JNS ƺE$}1⳿wan|_ ]]5Z=0uQ.|ð27ƿ9LuE';?|ܝUt[& 9;BuKMt| 2 .e}ު%zd쯤B0|@ ?=Fƞ-$pEǼi=~S Vp`NʛB+"J;-ngz? 6-x*ҙHrInb})ꊇ>v/L*$v!UIo/x#WGW'-u }p\tW?M}4A8Oo$q.΃έ8wNhm,C,:t|i<L^Rb?@2<;wbUǰ}b~!]9a15q?zl[G.>9\B\Dٹk8Ci&P}yv ϯe|9_=L TúxE]5$WHf0:1|K{٪2 $字:s 8.6i)|vOur-)F48[7\#9Ep #\bنJ$ {*mڍ+2tLYoNhaXl0 +F}#FQlXyӮC4=d8jɃQ5Ņl=AŎX' ןn@L9 L:./9 DA+~*`{-."Phev":?ȵX%>anZ;L@eF5ϤEmJyJH%2ilP,NVf4#}يTk_% I%yw>?RϪھK UmTo%~$CYF52F' el8Q>ߵfGg+fޯnXd6Q44;fG7MHvNHB@Z[Tk*e'(+ϕ`3lyk޴"Jf!~va N"[=s.tTfnaG)Z|[_U4$+7t2V+ߗP jWMQ2'H"Ȇ㷙,rGZZQsޑ}3* ,DPM 7`XE%t|s{7Ө.|BSm,6UZLtVA@m5;"U `34M`Lyt3h*Kh2b5OU_ݯi.Ƶ޼k:„s(P&C(a>iRR_M>1jMsSUX߽#… ?ǘ{&*066T !⌦kdЛ} `|V:f=o,Ş]jiZ YataD\VӇzg~bxO֊%tBeB!ȡ?k& M>hmӥ+0|9}=Fm,~-V /h>R˄`3*Ǭ4lz ր[VСB ڂ1?]#|%},#Ll !r!e Z$yF*G/_"T_4.!L_ZZa[,XQu68NYI`71>bԵ/!bQIBswƶtQv#&YdǪO;{utt"bL6o:T][FIvuHhxS&7bU&8 zB*o;]6suDCvnĩD6"ؒ\>Pe/+'.4h wtNNyP!b#TكTۂ0 9t'~H+~5w] l<9.`x ɉQL#+~(&Fc` DZIF)0Ћ~JT#eq#R*A3ո*^tP즱SJ 4O6[n.0mpp>q VD5ƃέ[TYfy%."-zSF9%'uEmq?O(*kf/I  mb#le;s?pe?&1X6ʒMTU[(q'M e~27ZiN 2Hٷa>Sf&<xFm⑇15WT!F2Y3Q&"KIi>\\RX%fJLJ|rD,R9V:Ty@ሸ* LisL✞tN-qŶ(0^MVf]|tҬ[ 3rTj.Cp7O}^Hy(4f- 2I,#8ﰧZuۇ; ~r/-ߨ 0TpK2F6X%xjŽ69s4"Z#\h,a?BYsrR_|}rp(,5p=T TIR\ $liUQ#[܍5JE}Y0VɂWNoxȑE5p @nG rpŗe/]|2" `EMw}2NW~_8hP9LɠP\6$6ςԶz%82Fq{%5Ғ[Cs*L6)j/anr<FLyI;M2-qSWMiF61NU[w=pBt_;z!x(s/Lp%rz:{=hy lvwgv8Ʌ'+۪4p0ƫG$s){!yT.pBv q!]+ZHv7w?[h$A+Pbk(un)5dJF+ z`{mٴ ߵ(ƸO%En|O_9>U#=Ejd :ʃ噾9RjK _j*X%9tK*M2vu@;pSk/SUTm%j۠WMmr]sxV,q_٩[E*~ (^:*H73_JJ0~7؁LXq21NMŔËx <0#0ȯku3IP鳧AT%>Vװ^JeM |E8kF>~'wm1knjdn'P`]Z 4FB$%9X>&q<}ۡAAyY{hmzN8 ?3*7E_o]-})|$ك0 [f <3!\-/y_C4N}]MsM$20?"1Pl ^Xò,b."Cٷf"1ԥO'+ Wr"k8a5X*xzRzҴ/e*gQb1]JXOzN14/cLsCǐB/75J@8S?SD6R]~),_5q烨K ;;cZOӍeH16"+ՇpLsHPo0̞AY3lR*l 彼^+` 1Zirl9(ZC ; v_8CT4čwr=Ńu!j-JWMS^@{PuW=3 a {~eE)5XzuSa=>F '+ٛәmtlGMTxvv91uQ/cex]1'!n5zǗS,7muogQ`!GYʴ#Գ&XExAIyd]d=c rSm|,XLDs|WbE ]WA~3U%{c3A)c>4Ƞ$IsxHc:gRR{mF3i,s@Me@dEϢ '1`D{xd.3@17VU]c0(9?zlxfՇe" “h^HYfc^{BZ:O?k ̫^weJ92XGT4QM +G4(?lgFza6j&Xt{(Y@هCArI?0 ;GS([箈B.icvNє&E4Dt#ٙ[ToM;dھlMN.TwB) L !6ǥR\H= cgM~h\1+GG7h ~!phO5mSٞX'915l^Z=*!lb݂` CIBbꀤ#a]J6ڑd 00{4F[+5x[)(yJŊh3wf^|CCڮ)\2S,ưBg