rpms/jakarta-commons-dbcp/devel commons-build.tar.gz, NONE, 1.1 commons-dbcp-1.2.1-TestConnectionPool.patch, NONE, 1.1 commons-dbcp-1.2.1-TestJOCLed.patch, NONE, 1.1 commons-dbcp-1.2.1-navigation_xml.patch, NONE, 1.1 commons-dbcp-1.2.1-project_properties.patch, NONE, 1.1 commons-dbcp-1.2.1-project_xml.patch, NONE, 1.1 dbcp-1.2.1-jpp-depmap.xml, NONE, 1.1 pom-maven2jpp-depcat.xsl, NONE, 1.1 pom-maven2jpp-mapdeps.xsl, NONE, 1.1 pom-maven2jpp-newdepmap.xsl, NONE, 1.1

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Jul 20 22:21:47 UTC 2006


Author: dbhole

Update of /cvs/dist/rpms/jakarta-commons-dbcp/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv30850

Added Files:
	commons-build.tar.gz 
	commons-dbcp-1.2.1-TestConnectionPool.patch 
	commons-dbcp-1.2.1-TestJOCLed.patch 
	commons-dbcp-1.2.1-navigation_xml.patch 
	commons-dbcp-1.2.1-project_properties.patch 
	commons-dbcp-1.2.1-project_xml.patch dbcp-1.2.1-jpp-depmap.xml 
	pom-maven2jpp-depcat.xsl pom-maven2jpp-mapdeps.xsl 
	pom-maven2jpp-newdepmap.xsl 
Log Message:

Add new files to cvs.




--- NEW FILE commons-build.tar.gz ---
‹û
C
:G at IÞÑl¾@Uxô†@Á«Oƒaü1ì²F4ì ×ù݇E±ã†
ùݸ73;{,à VBXÃþË€<g½‡E[%>;÷–6ŒjÊa‰I!'lÅ°FQµœõÃŽçF=â u,%ª8{Hb$óÁ&ÕöÕ§bÖ‡@÷,Þ¨-7º"Âça
ÍØí†nıœ½õõׯ
+ÙN¨cÐÌ$•&{ô1
cªÛ=Ò(ZÏ€§¯ê€3×Vëüª‹;9çXî>‹)·<ëhGî¯V×?uSß\@¥‹'‰Jî[Äu
Ru•këØ…¾8 ª…2U A´ú¼¸
1C‡q/«Å’[V$â˜	a¤ú&Ø\}*ŠˆÖ±>C³#ëS0•
úÑXÚ´35Þ¦6ÛàÆÁ±I­dErí&´¸¶¥ñ¢¥4·…:κ¦CVÚÏêO=‚’ñv‘èwçöÑÞÊA<âh€¦Ž°Çâp¨+-è™ÌHöåÆXµNJ€þ4N&icô4—	šTKæèXw®ervd 2”%…æÔ-C¢ˆÐÈ«é¼užuÜ}â‚%Ò¡¾Ï2\s龍`ñ¯V›°ö`#`Ðäy@‡?߬‚ëæÄ`ðÎ5›U8qhH+võÝo„‰Fzƒz_'[dZ7ØO3HQ«ëpXŸaìˆ. õâ£lÊÊ8,4ôo`ô¸¤Äâ¥yô³ØB«QÈBu!®%ØBódÍQ{AŸsX)çÆ!ôÊøœµ"n½XX¥¼qaxTÁf¿*¼ÿ¹˜(·0TcQqô¸ç35©ujQ&‹‰a\}Ê«ÏN'šX7HùR<Ü~WJ}òu±ÃÀtE
Ϩ¦u]ÏáLç, ÈÝA6PÞÌ@c¹Úævéݧ¢eÆÀ€nh#<ÁU$ý£/Pó“UÒ¼Ÿ2g†'4ßÝÝnŒð÷Àõà á¢­!ºÌ’U`uØï°°OOù<,k¤ÎÆ=þBÏu¿%$#ê-D!69&ÌÃ
#´ÜíD»8éY6¬9nƼmñC §Ì¶=v‰m1"
PbF–N¨88œœek}¼ñ»÷È~'Ü*›oÉЬÕ
´>BI-Ï@h	꨽¢÷ÎG@áÓ§`
A¹q‹ Qç¢aŒ}«â”ᝥ¿Š“Ä(Dǽ4鈍 fU¡*d`68$Qà¹éxÔ~œ2Ìsi¾¡µYÚè‰ZèÏM‘fé9D['ˆã ÿ“nch8Ð
ap
”Æ|¹"@qZ£`p
~Æ=y°¶±I¸§ÒƒU*Q¦Q€|*è
í6¶ç‘¨=ǯ‰T%ŒÙ_'àÿžB¼ ñæƵHœƒÆ„v1!©,À8鱆”Î6Ϲ(‰	VPhxT%
v
£»`vú]†9.¦Ñãûn_´n@½¨T‰%7–õMÓ.oØ)Æj±ÈÁâ¬&ä,ŠÙÚ|¾rik‰Š•ÝÁy±äh¦H͆ˎYÊ
ÄH;+[ÖO‚ ‹
àDD0rÔZÊpe™®Þ
¾%õšÂ“*ì»Cèju~i)ÁÂ
	s^†ëF0Ñ+±êÕFì-Te½ì¾yFe‘žèLíÝ[0X‘¦JBëÂS#^ÛBJYSç•×Îí{àV˜°‹?a/„°‹¯•°Á0´Y)QùvM<!Ë°Á‰‡5çCC†‹ÐH£Fèq"r聧˜%ÅgU†Ám˜JIj ä¡Ù…Lèv>U†sÅ™:.zq™xrÅ´Þ[±{A1mô˜Ÿl˜î0¬xŠÖLŸÀ 
¶JhÒ1„¨
àÛÌnÄ&FM`™ÞX¤¦šmüÍñ$¯1Ç?+d+9øá茶w„ï/ƒÇŠGVÏäÑÕíÔ|˦WÇ¿^RþrIBÏâ;F¿[b¼Hr¯‘¼D2–ù2ï˜db{%ÊõZÉ%u*·áäIVFû¦-ÆÀ(âøôt¬ˆïË'ªúՍ_¶2
Ôa[v®‚€ãpQ 
0*	ú‰ØY6è×ê„©+k´ç¯Ó»Boª&ƒBŒÕš¥n²«ø¹Yf‰à2[M
ö?Æk·â‡
æ&3b¯8éNH!¨Ñ:L®€¾eRúbX}¬ŒÑÊ­‘bV.Þëz[Óß—ÐÊ6÷Ùez’¨aÊõ‘éZHéFžP`Ûº,µ=—µÀÅ,Å—x¥Ì]ã¯1'ør~d=
£Q‘RZÍoœ¬‚4=éRÝÈ›%Ñ]-–ÍD„|0QÅÇÔçáIA»#¨®e„d‰R¯É5L‹Xã©D—gèma¸b@£SñÌ%èQ¾sMeÞs üMNþæ1ïéƒ Š8Ð:
~—/ÎØÛ‘Ý_‰öýI,¸ÕÇâ-íªá’]/RÇ-ð-üÇ fR€¹ýsN’“Z–†<ðáGõ`¹ð%§HŽ§%çT)&É]¶O°Ö1-L°jL	ÛºÃöëIé"©“öQP†~1­¼’ÞOÁÂ\wŸ)êáÄê²Ì`bvÄ:xˬ­a\e÷†ó»íÁ/¯jˆ®’~aŽ‚ãiºŠ›ˆ¨`Ï„BUè'AVÄät5
Qç°~B·ñU
¿E=á6cYÛ²;âǶ²º—éÿE¡ýü3ýÿùàÿ-ÂÓ›ÿÿñ:®üúóO×^(œíÿ¿4ÑÿŸkνYÿ×q•­?·íÝ‹ctügV{Ö¿9ß\ZXZnÎãÿYZZzÿyW\|ë̃(ð|©¿lYù§Xp	~ýüüü£®Tð®?‡Ÿ·áç¯àç/àÅÅûª.?O†°ã/×CF1BÁ#1è@}²ñàs¬ý¥qICæ_*•_ü{¥²äT*kO*ÚÓê~?)Û¿¿Açûôˆ…¿šÇÊw%°SÄS<%ïñšÖÊÿH+ÿcíþ}íþÖ§ðókøyO«Só¿œâwé³¢Pé1€ùWøù7³îÒ?T*ïü ÷•ÊŸÌaÅß½û÷ÉÏÏ+ßß|rréä»ow.ßßÜ9ùÙÉ÷OnÂýw—áÏ{•ïŸ¼8}÷ôû“Ë0qÿÝ‹o/Ãÿ{çäôt§òNå?o¾8=ýö&`xrú³Ó—;
l´
FˆJ’I÷0éL÷’«;H®î yF‘ä_WÞ‘žw]3Qu#hë°al?ÞȶŸôr©XytÓžPDìÜAÀ>	,4Ï3$¤Ç¨%wD±€×Ï801¯TפH:g)=BœâCHÂå[ÄÏžfÖÜ$&³ø„šÖ+ªi@üLÙ_^_“JÖfÈ3(†¡õ\íÛóâ	YEôà>¢ý‡¡ÎÇ”
jo0PHv¡a¦µ
U=jÈõ!n¢çPKEÊ~Š»+¥~ã&€J¯¡ ê&)¤sȲ|r]LmìO1µo_©ž<…~°I'ŠqnÉ<\¿€áô<¤ç‡°h®¯`l_?¡7°ƒ§W˜í3p—§‡^<çÀÒ#“
è{Š³)-È])ؾ¼Ì|ú*Jˆq2÷î&Ç•ñþå´O)Ú+jÀ¾”¶
g…B at d“4VwI—+æ)$#L˜~!a’Û•dL	oHwu˜‘%Ïàš}UJ-ßBÒÌJ¸@¸”°hÞm–òCêÎõU¦´Ö-Îg}Fn±žÇg³¾¸zz…‡Qe“³¡Jè#b5’®"`·üÐ:+þÉi=ÿ~­ëVX±8~Ïëçêʾ¯ +³~M]Ùé;t厬®\s~«^ó¡Nø,ßL«ùo at eÞe±úÖY,A’èÊ9ÖÿÉ*aW³JÙ­,6›WœÏÎc³KÈïüü7ùyäF¹ñ<¿ °°¨¨˜]Ì.ú¢Ò Ç÷VÒ‹ÂHƒ»¯ÐøQÆúŠ*(,*.-+/¯`W|V^VZRTHr³?#I%T‘_ñ9Iy¥÷“¼üÂâ’²ŠªšÚºú¼ú/jk*ËK1gþ§…Å¥åLÂçuµÕR\XÀ.xSƒ÷¯°Æ¢’òªšúÆæÖvNG§½¥±®ªJ‡†”UT×64µ´¶q8Ð)Õ¥%ÅÅ%0·ÍÆJ˪j[Ú;¹½ýCì¡?èíjoª­,+-…¬õM­œ®îž¾þÁÁþž®öæz¨½¼åSÌ\RQÓÐÚÑÝ78̈$2™T4ÚßÕZ_S­inïêáñ"±D"Žvsšëkkëaÿ%•¹¶™Ó=0Še
µnl|L¯÷´7544·sûG D©L®PitƒN-rÛ[ZÚ ÷Ÿ³!se]KWÿ¨PJÆ-¶É)‡E/íílçtõˆä*
[ósµF«7Zl‡Í¤•ñú»»z`/üŠWP\Q×ÂÊT-[ûg:ƒÉ朝Ÿ›¶êe¼¾þa¡B7n2t:ý˜Å1=·°àvU¢‘¡aÈÿ¿°ó‹Êjš¹ÃµaÜ8¦×B6×üÒòÂô„V*à	eZ“mrÒnÓj4z“cvy}s}ifB+‰¿ýÏì¼Â’ªÆÎ!‰ÖdµMõj¥Zožœ]\^œuŒ«å2Õ˜Õ57?;5aPÉå*ƒÍ½º³ô­ÏÚ*ÉŸ_T^×Þ/ÖML¹œ6£F&–ȵæ©Yl¤I¯Ñ¡ÆµUË¬‘
b•Ñµâ?ˆE‚³¶q,áÿ	º_RÕÄå«'¦ççgìc
áÈO¢1ٝ®I«Ñ`0Mίíø¶—]Fh`X¤±y|ÑT:\›±™Iù…eµm2£kquyÖ®“÷öô	z£Ù4¦×ÛÜkþPÈ¿ê4ˆ»»º‡¤F÷vôøì8æ[tÚ €ÇÎ/®hèâiž­õy›FÐ×ÑÖÞÕ7*–+UlÕÿ­5N-î„ã±½5§NÐÓÞÚÞÍÓL­‡//Òû³“ØÒ…ñø̺/°í±©G¹-dÕò…èóÚÞáQr}J3ÚÕÜÐĐ[—CÇžF½ðˆý?ä”V·È'<;¡oÉ®îl¬­ÆeÛÙÝ7Ä—g6ÃGgÇ‘)õpGCm]s·È¸°›~øø"á_ž6˜WXZÓ>¤š\
F£ÁÕIõHGCUEEe
왎žaé¸Û;{pÛrª‡9õÕ5<½Û—¼||™Ü]%ùËj9#Z×ÆA"q°éÒñ:«ÊË€Ô6´tˆÇÝ;‡.Þií§¾ªªž3¬qmÇ/]@~7•¿®cT7³=:Šù挢žæšŠ²²òÊêºæŽ~ÑØìNâÁSþY=¯³¡ºªÚ:µ={p~Xaòs ¿7vr–Ú[¶)†8
Õ••¸u;úÅcnÈÿáããà‚QÈmª­©Ç¾n„ÏO¢;‹ÓÙöOoÇÏ.OcÛ3c¢>NS=0©F˜‡A±aûáãÓýå	i_k}]cÇ°jrm?uœÜßœ›¢Ç¯mH=µ;{ôà(´âÐ
û»Ú[[ÛÚ;ºz‡ÅzçFøôñã³Èú$LMscKרzru/žˆúW¦qý×@K¿Ü¶
t\$‹°GûzÙ½ÿW_ÿà¨Xk_
¦.žÅ·gÂ>N§W Z	„ƒsz!W6v‹LžàÑ£>8‹û'j™XÈçÂ–©Ì³[‘ãóÓCÿ‚E1ÚËí’œËÞÝÀ–gÊ<F
HuŽE?nÝåI½dthX 0:aÍ/:Íz-µaöË&–‚é~øð$Ü\tONŒë”þȈ@>æ\ñ‡cáÀÚŒY-
¥óÔüÒÒ¼Ó¬U((f@¶’Ö¹~pôàñãËãxhgmÁeWKxCƒ<ù8¶xwgmÎ>®V(Tz³czÆå0j¤"	ÍŒJkZú`¹m¤Ï//NSÑàöÊ,r»á^.·oT>>µ°¶±¾<7	ýÒh
¦	›ÕlPŠx#*?ðÒzΠÌäÞÆRGéÃÈîÖò0ÒѾζVN÷°TožÞê°Œëµ:½alL§’ò‡úû‘—þ43f²´½ÚßlAíãJ~gKC}Ck× H5>a·Û,FƒVÍV¢RÊ%ü¡Þ®Î®>"Hò‹J«›€™ê¬Óž•µÕåy—uL!èïl®«®¬ªmâôJ”Z½^§Q)dR‰H0:ØÛÙr¤‹CEeՍý|¹Þ„bÂ2¦–ŒÂ:&°¼ê'rH"	ø£Ãƒ}Ý­¸ÆZ)	XPTVUßÊàçR*d¢Ñn[C5Š^€
vùs’
aÑë‚"À6_°ó Ö¢â’ü’Ï©È(—ýd+`Ñs‚ˆï°óÞä
l𪠠€ÿ
s`òòŠM>+
Š?/"€
F6¿ôô¼2¯ò“
gx‹\þ55D5?Ÿ¢,`(ŸWàPWVT𬡱©©±¡®¦º’]ùcr]3@gHQS[O‘â66·´¶°[~
‰eJ~lL¯Qˆ££<D¡Ñô¹` «€ˆ¥¾¡hElÑ£b£D®Òânî‚Ý£3š- ûuúq³Ý9=3=e5êÔJ•€€‡0Bw{sswH¤2˜,f#B«q‹Ã53ãª	z™uMÚl×ÜÒúææÚÒì”Õl²
@ªžðgg	ÿ¼Q:Ü?,5ÎûS3+7òkT†[—·óK†ú‡$˜ß1½ø²ú©ükSz¹Lcõ’t~¨Ÿä·9—²ù1?ôÿˆî?]ÜñÁú”A!Ãñ£ò›¤ÃÃRÓ| a™‚üoßÁšCÅ‚K,î8¼îSʵ00þ8~2?™ÆÏ +q~‰pÂ2ó·>©¡¦êÅIxVœW#æßõ˜3óg°{üÐ~È?©HÆÜT~jýP—'‘Í“F=6¹²—&ù'üa¾bb1˜ÒZ|ñS2B:¬?@þqlð†S/áññÖÏqxÓmсf³º—‚þï.N(qýáp¨,sÞèÑI2+DÂȉ¶tš>Xw¤¼ÜŠ¤6ݽɹLœÇýž	•ìd1pˆ<)t˜Œ–$ÿøôF(‘ŠW§2¡P1>½©¨½Y ÿÔ’/’L„·ç,*`Gª	`]býäÒNè ¸97¡ó2Ãä’o?ÚöØu°ÿðR÷¼‹S&½nÜ>¿¹{°X›6*„|¡Ò4³¾ËSš¦—7·Ö=SãrÁȨHm™YÙòn.¹L*'†ËåÍ퍥é	ƒZ­3;=ëÛ[«³6„7“êìsk"Å9;7˜S8<08*ÕNý׬È<Ä“j!Õa½R*UhÍ“î¹¹i›AºéàcûBDƒÉlÔÉC½ÝÝý#bÕH#À¨#ý==ý£bL5Ô šò%JÐRÍc)o ‡Û3À“iÇ[:ûGE©D0Ü×Åikëèà‰¤2©pt »£½½³g`/E¼!@q}ƒ£B‰L*æõt¶·µwö‚ð¬}%0šGšZ9hKéïårZAƒ6H]vwBáíÔàȶ¦vÏš!VTׁ¼omin¬«©XV‹¨ŽÝú1€>@o™ëOæÕ×ÕÕ745ÃÕ}ÕUìª_T×. 0¤º¦ºª°K^éÏÊjÔÔTÞ,GS¹d×¼‚tÀv¯*ÉÕ€†Ê.ý¬Ñ @¿ÈÊ.y
èŽ
àèu1‚¢Oƒ^±Kò‹Ù%¥/KŠ	Õ§EŘæ)ÈË@ÐU^!ÀLøÎ/,» (
V€
óJØEy€ó 
øÍÎ{ÈúÞ-Ô÷=bÃRb¬«bAyoØyjcg¬v
o#ü)@>À|8T•U•0ŠœF°ø9}XАœ÷…KËòËØå?ŹÃq¥a_MeY	þò>¥
{ÕŒý®¦Š
Þ‚vLý¡Ôƒ><¬Ùdý­uՐ_bàr¸½¼¸º9¾8GHÆä—2Ðîüò$ØXÛ&.@£ˆo¡-´±®¾­OjYÜ=<>Šï®{–oæd ?	ù£þuláé#PvÜAwkc3g at fñø£‰Ãýí¥ÙÙÅíðÑÝ~í̲‘A
Ú*úV<‹{¨ !ê–
v¶µsG”Vw?²ï[uM/l…I~?šóhhwqyñBKÞð$í­:4‚~€ma+€V±)ûäÜæÁÑÅæS
à;¸hUòGøÊ	@ú

{»8}€
	6p׏`¯¥¡€XEÑÆasØퟣ]u¯_–WÕ5s†ìîlknt÷SÄ‚ÕM›
üòÒbvñÌ!»þ/Jà]ʶWQ]ßHHÑUƒHþ7Ûá5šñØð9‚–Œ¯”¶ñ=/ LYyÕ/iÉ.ù‘_1yå•>§­œ^fÌ}ì—sß‹ü„|…9Ù&,¤,uEô¡+@'@k_P [¿
ôiÙÚ_iÔ
ñHO[]iCëß/­ïìEâÑàúŒQ6:00"ÑšN'
HâqËôÚ^ê<Sc€¶¬s»ûû»„Z¯’ðú;›jÊèñøZoóøÏPÁwÕJÝÄìæ^4Ýó®Ì:L:9¿¿£©:C,U¢‰ë”˜Œ*…Æ<³Œ¥R‡¾õyPpÅC]Í5åEt3Rƒk#rrqÝš1*e
TÄ#©ããd4¸µè2–Îéà¨H;¹‚ï$º=3.KTf÷ú^üèôôèpgeÚ¤éjª&žÇúþˆ@íXÝ?:ǒǤ|¾Dòoÿðøìì$ñ¯ºÆ¥ítÑlÖ÷‡ù*û
E=mŒóåc“
™\¥ÑÂîRiŽ¹µ€omÆ(F—’F‹äc®õƒôéqlgÁ¦W)T(åþ{­ʶ8VÖWæìZ>·‰Ú,±Ü0µŒ§û[sV=ªZÈ@¢êÆ­N÷ÜŒÝ ÌŽ¶X¦³ÃÌ…÷}+.“F.S¨µzˆO¥]&l½l„ÛL­ ˆU&×Ò¦wkÅmÕaXÕ:…\&z½V%én­+§WÉφyyj´š	½L02<ê[üF$d‰ 6¹­°{©%ø“Þþ‘Ro²˜ Xôv÷ô

}<ØßÓŒ°”Þ3?ætt÷+‹ˆX`Ðh‚¬±« ë“Žv¤¨†÷WèžBÛZZëë@–755BÔïrŠ…°ØÕ/kQyf·þŠ£UV€†_U]]“_îþ,s
P‚ä+Áöè›tŸځIK;LáßÒŽQ$ø(½„Iy4É×ÃTDîòËjÏúe)êo5ÒB˸ŸÀÍ4…
zxÌbQ>YßË|
Y/UWO8¬>ÖkÏ«6ããÙE…±¯ëhÅ+‡ò?.¸®£"~8¬¼+âÝ_Gûˆª qî«c½à\]?;duS>“š_÷«	Zsˆa,t8U& ¦U|UÈz~ÓW0ØtÜÔTʤ³=oÐ0=°é†³ž£sfÆ›šM9¡“èøâŠÃ"~†”S:‡‰©a—hÏÏbâHœ¡Ñ¹/'bêi&òÊ“	— Âwr|Wiã™]Â4úÕéN~Æ›š.™qrGª|ÖKèzÊ2dœlIY²<Bæ¡b~ˆ£çéÓC*Ž&C„±`HTAÕåFd`úÉøë£kû“g×¹0c4E%ëùáÓë+ëF)ŒÃ7]Kë¹êÉõ3â9y«,Êù¼œ	ÀÕsý„„FeÉ^³r£™®(O[zÜoöí
í0_–‰3¸bœyoÒþ¾žœ¡?¤&¿øÖ˜Rî*&t¡vR¿ºEH{K¿Î.d<âoRdZ™%ôÜMH·2eU@·&ã­Ÿ%ÎõÄgh‰·-4vÄá3,éFËá5½F©ø*Lê	‘ÀX¡ë§öóô
VC³
È+ÌY†%×/Ÿ`]ØE\À©´eqæ¥Ü}™¡Ž±mWTtú;s<‡ÙéuEW {õ“«+ô¬­À
ˆ¯¯’E{©oðˇìÿŒ¥#žÎZØ×䃷4Ô:ÓPk at MME2IÜ~YVV…‘dАÏUWÈya­\\=?dÁ ¿u.SûŒC8‹Lëg0heÔÐÜÁÑH„(¥Åâ(2æªîàj$¼¡WÃÓë§Ô
ÈR¿Åј=sõâa–Ä™ž‰¦Èajt4ûá’/aÞ2K§òmÖFÂ0Ë2É·YZ>ìI5ë+c"=1±-‡…åÞo¾Á»rSoó¬Üĺ·yUnrÍ[,*7µúmΔ›\õ6?ÊM®|›	ÝJ¾Ízr“+Þæ7·’os™·’ßb-¹T\λy
CKÇqç©‡Š½‹§°3ñ^åT©Ÿ?Å°DÕõ!‹x›³\Qœ…4¦èú˜¼ëgW:8ò.Þ‚býåSŒé*&÷ó¯_>Ã
ÖC…m=ÌÏg=,x™ý°]Lœ‰øÎÄs=Á¨ÐO1
agÓWW™]›¥ ᯜ+Œ$ÏÞª%ñ lJf¿>|JÅeV°¾P]]?=äÐT\,æ	½i4„ñ¶$,•¹U”R–m†'Óú^A&bøƽ'[åÜxvëFÁ­+J^Ћ“¬²>_Ã
>ÅWåDgÜ|–ÁןÁüÝ¥tf“MŒNÀ´ÒMJËë†ÏúÍ4Ó‹5ýoY¬Pf¶ÿ[HÁgœè59ÖÿÎÊgÃò
Õ @6‘¨
PgÙ¬Ö/hLôÉÃûª2BL¢šÚ;¹äü–Ò•«¡	
	èNÚÙÝÛ×ÓÙÖP
S÷Sô-¯iêèìio¬*Eµ½›	ՍœÞaX"éã4ùOÐU¶²ÓÇ“Èe¢¬Ñ­
èóK«8ý…nÜhP
úÛ	}~!†)ŒHÕzJ4ØÙXU‚Ö‰JÖÏHùµ­=|•irÆí´¨ùÝT†"¸ÛËWLFmÈf ^¾F×ÒÆæŠÛ,Ìdhë¨ÆÌ&½|´ûF†’ÊÆÎQµ}Ñ»·Xuêxt†²š–ž\76¦‘w5UÝÌ€ŽÌk{ñDdgÞ(¢û€î½ƒB…Z%ã÷sk`9ûçئ†NžÎµNŸ$÷–'¤ô –TÔµu	D"^ÆÊGyA)Ïgçý<;C¼¶)Ç&»2þñæ…Aïêç¶5T3CÆ؝_ü“¢Btã,.¯ã«›Q´êmLbHÙ3ô#.­¬káp{z¸œ¦Ú
t€µZLGûü¤}i‹J`´ðè0rryÝœRCÖ?ÅuT
k¦­³««£œùs~y%:Ô7Ô×סÃ@)д(ìká“‹Óè–Syÿʹ®™ÓÕÝÝÕÞŒÆäbÊ'€D±;~Lû
TTÖ¶¢§üÒ¶\ºlüNm3§§h°}D+ËË+ªI

ôrÛ›ëkjêÛúeÖÚjg ]ŸÉÒE‡P±`¸ú\]]ׄ<P$F/Q!zC754¶0™½n#qþS­ªFX¯r­Á ‘Bö†Æ–ξQ‘ÏøÑKýðÔ¦µc@Ž¹/Îwæ,ûßÒ‹·¯Ã崏ËG{8míÜ\ü¦|ӏ,V;:(x}]Ü!¹meŸœNzl”Ã7,³†Ž!9Æ®¬.LI‡{ºº…ªq«cÒa·ÙN÷ü¼{Ò¨àõw÷Ž(1÷åE*¸2Eå†}ÖÄåkKÞÝÝm]#ìC»ËívMÚíSnÏêúšgj\6ÚßÏSÙWN>8>ؘerW7÷Çf6B±Xhcf\::4*ÖZ\ssÓ˜{neÛïßò «é@íXÃ
îÈëž7:<¾øéƒË“xp{}mk7v|¬º'ÓK¾Øé%:¡lÜÌ{ó»1mÖë-3ë¡äÉéQlÏ»¾¶±Š§Sߊ{jrzÉNŃž[yÏÒûkÎqµJo#GWû¾åÅ¥µíÝýð~`cÁe·;ç×áX$¸éqåæ]â,êdb™Î:»ºíóm­zÜÓ.÷ÂòúæÆʼËf6[k^ŸwmaÊ’“×±~>Fß`°M“î`zŽ	“Ñ4ápNOOÙL­Ö`vÌÌ{æ§íF
-eJIæµýd:î_0ËGúzxR
9€Ô*ñm
ˉëi{mRHYTxgC}	\~ŒGwžwBá¼Cé}ÍU”ûh»˜UÊ®!AR¿Ê'1c
­5è@ÁÙ¢hKÅBÂõßWìÿ`;âÂ<˜÷ETlV¦}NÝ"®°ðzêýP+ú|¶÷
w4ÖTUæW>¯(ÇhõvÁŒ+l~ÅåeŒ'ìiOØÒ2Œ{¯¬ªAç@d–[߀«œ€Ø’bvñψE´-%~Äÿ[’VS[Km‡ö®ÞÀ'‚Þr
íÂ
ËìÆÛyj\«Ÿ˜ß!ÚΊUÚGêï›—ö.Ù—òþó‹³äþ&¨x¼þa‰Áµ¶ß
U7Ô³ë_6bt<»í'è>K\5©Èúò2ÄÑÕ5yh,ý
A»êƒ¬‹)TWó9q›-"¨éu~aQ>åú“•‹©ó‹ß [ìtú´­ÐÔÃ
x•GEHåê‚BvÁêCy,Œê`ÃÕCöo±–/ûÉ+d±Y…T}ë
ºµ¾ Ìܽ¬7¥åìò/è¨%VëcÀXµÄo¯»Y¿‚1k˜C[°1ºªŽõ«nô9æ4Ñþ¦ðýT¤*ÖO‰h´Ÿ@êBûN=õ(¯øs´ƒ|9ë§z£Ñ€‹¤©ºœø!3Ï7Â'Ñ~´e¬Ÿ€ràšÐŠú9
t,;F=a8Ô§uèMµ±”õñ†×»>gÕð{Ðו]ùÚÖF=Ôϸ~•°~ŽÇB›³fùpWKÌxs['(fÞôñ
úÐ	œ“1Q5øÅREë‡~ó£‹ØÖ̘d¨»³³»T$Sª¤FÓ«e¼>h?Ñ!ŠX?ÿÎï|çQbgÖ(éïíʵc€Æ~až°;ÖñWÍBÖ¿þßýíÇI$
&:28ŸD‘éU‚²U"tÄæxæ“OÎxñÙ:õìÆO¡
$÷¼ÿW	Z¾ÿWŒ?•r|ÿ/Ü’ýæý/½e½w¿Ö÷}/ô¥2þm_éÛ{ïôíý5^êK5û×|­/•é>^ìÛ{/oöí½ÏWûöÞÓ»}{ßÿrßÞ²²Þ{ùƒÊÜuxS\lW"äp]Þ£@”Kø×Øõ¦Ã©$Ð÷9üîÛü+–Ëe"%y‡5_$áK\±D#WhÄÒU˜ˆÄÁ·ï¾Á–	|{0–p,(Øõ’׏ês^2L‘$¢áÐŽ`þ(j&ÄÎXÐJÑ–•ÝãÒ;Õˆ¦Þ07û²Øûí0¾”Qà£*ÑßÜnwPüÌkYõäå®·ö'î
á¾÷ÈËϾò4SJ$–
UÅõÞ¸ï(y¯£5鉆RÜ…@·ôýŽP

…Õ
§Çê¹»Þp2@'í§¡VìÇ}*‘@»„c‡’{Èf’¡8Hr÷`áûc¸9©÷ßò`Ò/ä*ëÍ©ŠäÑs©ïqˆh0ÁÅ·÷rÖû¥Ì'ØO†õð&la®°^¤ÈÍ
s˜H!Lñâø1@;Þp˜à:SRp»Ä\ôË…Sˆ¸öJ!nÊø¹À÷%Ç‘ÿcÅP
TÃúC
E½G¡ áXöo(lýéR¦õÑÝb«{rªå‘œñxƒ€j¡%øJvý]ôFÎ|W*ÀxdxIýÝÊfvGßÈE³É¤~ä坤Áh,°R4Ieé]tÙÕgºtg&Bc7Å‚)ñû>ÚT(Œˆy÷7|ÇcQXTÉ÷fĆãóëÐ/ü­,8IÝ9©Óx@¿ïMP/ÿÍk³ÿáÿ½sK
’^ä¥÷QÇ—ÛÄb™L‰ö¥T,’IÄäý¿JñoÞÿûwò§CÑrDÙhô=b¨‡
®VÞ„W:”pãRK¤,ÒAÖIJä2"™4é-*ÌêϹ6"®éhP'ôß"Ä÷°„DKMR/e†vuäI]Ãð~U´ïFL
ÿ+×{w-XÖFIϘ/B:NaÒÑ$¢z¤ágn[HN¡7¹Ë4'3”…ä}­m%z
Ošæïȇ'8¸•î¦¸™?;`´1¹‘½eŽ ­€js›É)¼UǘórÊ¢o‘²Œ(@<ä”É$gʼ]Jj reîeo‰Îô”Fd®ïK”Í7FæÃñ֐ 
ä­Ñ¸‹Ž`·;èÞ9J$ÞìTö³V„7'ïí¡¹c`nsjrgçïìz¦CÓ3€HßÑ¥;;”ò&‚”Û›Ú3¸&Œ|Ç´Ù^ææ[Ýdzy£[:afÏÌ”È
÷¥"–H,“*d,®ü¾r×ßàöß»æ?éúf³Ø	hêoYÇûìÿ%οD&SŠd2‰ý?Rñoìÿ:2ÉÀëR	ƒäõ<5÷ Ã÷È5õT{Š„b¥)¿Açåî%»úž÷éå$ôaŠ°Ç`ÆoÐÖ°X¶D
)D<Ú>
ÐàÆvèc~šG¹I<ÄÌ  Af»§Æ…½ggØ8ü~gã0‘»óÂ™Dó{´—šÂÑÂBú¡œd’ñFCñt˜:»¿ÿ¶Æ"ÄVÍ¥¾³Å9‡Ãļï솢´Ësn1çÇhÀ£M¼	÷,'ÙrÐòuŒ8ª~
—ðùñ¾>STYÆàõûC¸»¼ajËÁ-\Ë»¡Õ?€¿Í=t©ú\GŠÚÀôÆQA'/¨(¦öq’k…Éà¶àÑf‹ñ|±„Í8:dl`³YÉr‚V˜
ï}àv?Èi4yõ¬™‹w
 -
$B>.Rº	%r­@b×Û†p¬XÔ—@Ÿ)<öd\ÉxREÜn$ž‰F`]¢”ПðîÂ<’/>ÜÄå´çðaŒ"|("âMñEâÙc0ÂMl(*Ø:c´ò¸3n—“´dn~þk®tU`+ê×»ÊÈ¥Iñ˜ÕK]„È
ñfüÌ2|¶”7™Ý5<<6¥ŠÉî$Ð#€#ÁxR¾ÔÞäqƒô„0Ü—CbUú뀯¯ÈQa7%ÉV ù(rpÌç
‡Î §È0wÒ°£{X6IP$‘’f(À5``ˆNsò¢«c'@l*–‚ˆ`0fD3Ó5Ý`ͤž$9ªG‡')“ÇM¦#dr¸r¨Üþ@
˜ÿ×°åB~Nÿ»Ó᧖Lv<D2×è¿B×ÂÐn(øš‡"n7;†FNÒ?ßÍNq9¦É¿µá‰ÿ¤7N¦Ÿœð§°á´ƒíËðõ¬×}_›nv¼«Õ4ƒŽÄ‰$¸†}ÝCö½È(&'½ïäÌÿ¤qŽk¤Îr'î»Et!Æ6¹Èwµ
þ(j!¢/×KÛaqjÃø²®—Ä›r½Œçè °€½Xƒ¼Ð¥LQX)ò¬TÀ·…cÁSîWp ð
¸ã7îMÁD‡ï!àöDƒT‡™ßïês†€ô8ˆ7yŠk„'„ÑKé8@|•vþ6àtÍ£7.òãÀ°˜¯ìÄCñ
FQ&Q3Lzz˜¤!-‡•&ÒQâfìM
LµXœZ´ˆkdŽÍ,„€—œ¨D‰
2xýq˜8Ârᆋwo†‚Hºó7Çö|Ô·—ˆEcé$¬`(	܉²MÕ`¸Tõ\âû‡ jÁBè’‰'4MvKé»÷±ÀÆÑ"{‰þù®q`ÒsYÁM~–]ÿ)€0€Q(Ú¹ÉÓd*ù¶ÂI$ŠAû—]NÇÌ;7-5´¸¾w½€á2†AQ¤ÝW÷n(˜NP„r>Šw„´½êïÛnöåï.ûo6á~LÀ_nÿ•ˆäJÙMû¯D$U(cÿý»ø»mÿÍF‘ܧ	#å´Œcæ❪x†"—é|I…"b·¾m€“láÑæù $SÞ`’65€
@:íC£lÌß&š
ù¨¬°y\{à„Ç5ÚVȨ¥êåzæœÁ}ö6c&}Î\½ÿX!kÆΝ÷tˆ²1vvÔ8h›úI*
rñ®Fg)hˆP*côöúýÜDl”Yw/Üãg"R– 
•¥j¢™´†B£˜ùÖ%Y¹ 3Qìë3¤" OÀ
Ðg;\˜ÉÅû–h–òÝf°›~,{Èo1?	Ô4¥³ìDÞ¤b€•î¯kÄönS˜c†13ÈÛãÎd
ù÷×–}P^‘Nâ÷;ϲ01Ëäig—ìJp%äèhv¸€Î¶K$@!ç½TqÁX̏ 3“ͲÃã•y7×Ë®‰6Î]¤Ÿ„‚Æf_ŒV at aV5S9UêíèÚ²l!=Syîc_H]dºñá:äà'Èjý˜ÛˆuI0W^î<µÖi»n'!4ÜãÈŸ„ÉÀŸ¼“û`sh•å«á›|V.0 ä;¹/½–'çœ)´ƒÎ/8x€E‰Bah:qÄMwžîÙà»{Æ<»F8h`&{FÆ}³OïqÙž€n¼‡Ã·ŒÑïã
U–#dOÄ(“ã„GÛ
nh0
n¨øŸsîòî{ó&	Hiÿÿ'ßW™™wß]Î=÷ìç\#§¼
ÆxåTx“mÉbƒ\\ä1´ð¢R€Œ/<j°èGq
”˜‰å6Eì°•ñ°‚ö
ÄŽRHÂE@&gÎÂÖ$£dƒJ¸	ë‰xn<¶Œ!#¥¾ÎOÑBÖcaENfRIË6¨…ö¦ÉÜÁzŠüÒ!hdKÅ
Çh¡TøHö0ÞR·M©°X”á5ë	ãÆm!	IÁKN‡=‡Þz ŒkÚÔHj¬§Z’©AÖ%ßØq@“¦€Ù8ñ9Èd•rÇœ‘yD(U1Ë"MUØ	Õ<jÇr˪kØZ³ÑÆ‹J1É
aèDŒ²eÒ	÷ë‰× ùŽÈz	›bàŽóÍ4"üIiåÀÇ'ÀœÝÄ0GmnÍ@W”ñ0º_ÙwR]Oɲ’š-œG¨õ¬íc…R–Ûä=±Ž¼¬gÆ?µÀž’Ÿ 7A|nO¾1òE×VʶX¹†¸¨Ä8~-n”ÓdGÀ^øgæH7YQ»€9NßSîÏ
juµƒ‚Ú”c¢a¤ùNt[I¼±Ið!´d‘Wÿã1L~ñ?ôßP4ÝActpÿ^÷á¹ÿ£²´´xWüÏÎø#ä<zÈèúõ“ùž~iu“ëê‡Ôjy~ayü€‰—]YÃøD¼œ•NoþOàþ®?ïùwWœÞQ%`;8ÿe•eÅžú¯UåÅ»ò¿wÊ_ûõ_Gԍ)ìÕ«¢waÉ®"°»ŠÀî¤"°ƒÇÔÔO;Dó©A
ÊCÆŒ¥G(T”uµ`ÿE	¦‡RG–ïýó†Z2 
1ÕeñGµè‰Þ°A¨¨#ª–-Ç2Öe¬[.±“"o/lÀ°ºèF!™ö3QeÓã½äiÙõKrq^Q;}ÿ§"…ï<é@ãëbßp\PÏžÑ^—>k*ì€'3Xö°ïŠð(ËÖc¹ÞOòçít1X–»Ó†e@»Êótá”Ãk§“‘ür|  ˜‚cè¶Q';ÁK1:ZŠÒE	V*Èsͺ û5:ê†Õ@S’µ|^á;¸úÜîJ xC	•ûôŸÃD³ÙÌk—Z¡:¤·æ*¢‹Ä)D£YEE.Ù†ùM3]Q`Í…X3²ßî ¡¨Ó“¸dÁÕ™:úÏql‘…D¤úa(b”á¿PpÊM=g†íè1¶©þSi«ÿT²«þÓÎøóÛGÛC-৏сü_Q\V‚òEYieE	Õÿ,Ø%ÿï”?ù`B™‡T!Ìc5ê1À_Qèܽ¢»´…]ÚBg´vE„ÈþöÚϹ:n€#Ý»òÙ¤¯gÒM0+ŠíŸ'h Mß<§¹zUŸVoèXˆzÂá‹ÔñBØÇÑlîFeâÄL¶Šfè'&¹ôK2é
˜ b+ÌÝáh€ˆ–fÌ,‡?lDt<&9w©|˜Inµyi:iåh<›‹±Qá~°C¬:AÒíŠHhBîágƒ‰=0i×”àŠ(Âs‘@@(À¤}*²Eñúl8Ž³s¶˜‚ÇyÍ•};êkHÌ6Zɵc¤Æ½5´7
V,fµŠì,¾¼HÝ)tÊ{:­	«vÇDQÍÃôaöËÈP#”Ÿµ¬’Kf"’	£G¥,b‹ôXŽOQÞ€~áÕ±ô¸Ú Q@GHEgOxu#ÀžB;’¢@ž”A7ÏÅ…÷ZQ¬&rm$2ñ0†®5¨â<ÃBzAT^£MÅÀd—ÌÄ€wԐ D@\ÓöÕÎ@Q±M^²-l0¿@”âšԁRB©s óSWõH:c38ÕÐg8±®šðåñçbà£HFîhÌRiœÞ(Í#ŸœÚAmÈÈA6–[hJFÏ’‰	;ð!
„œ÷ßLÒ`òÎœ0È
//寬
ÿÔ¹9>?–Xù&4ƒAs8|«…o>ð8DER'/=¦ä„ÄÍHÊj†`ÄBÎ[:ž9Ûé»wC¡ëjP›H«àã`ÈFÒbi”H(uDÖ킁,¦­BÁ΄å)d!££é³4ê)÷8ÎÂÅ» ~Äbì?<KÄRÌpˆª:ýÀ"òͨ'È¢À”guýŠ8­ñ#­ŽþéðÓÿ¶`ºëo§üùéÍFй¨uàwÄè%••Uÿoh…»ô¿ñW—	‹4,¾žvÉ:ú=‰|Å°Ub †¨SµCoNX­TDŽž°a
‹KK+µ’²>•}JÊ´ã‹'€{êé ¿5ÂÔ¬@;&pÌv½¥®€Í7e´˜´zT¯(ñÂÑsN?èšÿ8ÞE­¤¢¢¼¸
g—ã7åköTÐŽH¬ºUæÑ>øµõq,ÕÜ‚cT“:âüÀGiÈ
¼mö_¬ÿ^QQR¶Ëþ»3þrïÚlL™v(bÛ?uŒöùiUYi¹—ÿW”Wîâÿ;㯨§FDÎÙíN‘¸½{×Kþ$jʇAéà7=Kó",Š4Òáõ¼
ç»{`w“rßmÀÑ;€¨Ý•ø̲W¯^¼PÖ,ÒLŸ†ýž
øÔ Í
ß"Iæ
‰(
•ï]u¬gÁ>ÇÀ38+nX/
œXI¨¬Œ«Žž%v»ùk®Ù¸…ñHe±/$Ì:ݽ¡Äòvºwíå¶vï´×·@8ÃU:À<í¢CïaŠâÍxê…Ó­\Å
Œêd_¬±³3ŠGm¢“ýÉö¹»d§GÇËû$^±o„ì#í|ìĐás1[e„mF[‡0KÝ–nzº»ñ_YGhèî#Òbc€À	>œ÷"µWño`ʆÂÝÕ2e`H\.™Kw7æ÷¾—äѪüšç2uŠæ1í><0cÂe¶—¬ )•d‰¥~WV–9¯”vò•ç•\F™®ºR£\6‘š¡CF¼¬¬Òy¥²S¯ô®T^©Ê¥ÁÔ(‹ê•£ÑСJ£ÞV™ß’âν£Â®$ÕÔ¨­r!OMâ’²ÎÁXXI¶EÎ_Tß©È©'*
R{ÇI“°Í™@¯gRÀ‘ËŒrjy'çÍ>9//ëw3ÑC¹Ké„wsåÃEÍ–î
–•ÆÅàg,[’ Ž¢ï|ñÂÖ˜Ô©2 êÑÈí&q°‘«
r
€†é*!RÄOÂ%½K€ØfÜêhL’!Ê”ñvTYåÛûºÂãÈÌ‹ž&L–§b™ò¡øUΞ$ñòéD£P£JÉš/~Ö8ö«0ø»ÈÇßÆê¤læéxl
䝔֛7í´»C¾]ì<{[I5Ƶb™4:Á˜ý„m4›h±ë
ߣë"×(™lÁ…n/Ÿôpj‡†*ãÄÌìA\N6	NGÕšrpèí÷51ÀO̹
^Ô§bxË)Ù)°êï
àq.îNýˆÔ_WÖ«“túR‚ÅÐ,%˜
¶¹»Î±ôäî:Kh?ÓXvàÍ4ÖÔŸ=ÊŽZÁ7@Ï	5J3òÄzÌdÂŒª€Q¸·<øíÊÉVøçŽøtýi~÷]²ÚÿÊ_‡ö?¤ráL*al¿(؁üWYZQâ–ÿJK*JvÕÙ)E=»nŸ°k ë0vÝ6À®Û`äÓÞ63 i»îK`×i
캃l];6v
ô,BXõÔúoÓŸ†ïÁ[“©ÁHFõã/DãD²ÔüQ•Ð¨‘`’À’ºfw
duã27â9Žô¶ª h9úᯠDuux£;Ü¥’š;¯{
ø®Ä¯2[´+ˆ÷ì‘ ÊùÏjD°ë7Wt²g%åÿñ•D";~%<*šÖ²í›<Uå$êqGàx…&Ï
^e“Â[¥)¥—…Tå)jÃÓ"¢,…@Äèóý˜y†\ü¶åFxáX&°fDc‰8PšD÷¬{³@ …ƒÉ¥ñGAJ7ÌG&(ŽjGËÑ'ëÁ…ü|á¾Ã©+d[ZÈð¶$Uœi¶i:{Á¿Â
é}¬:b¶5Elpî)ÉÙSB•÷`6U°IiÞü)#Å„Õv/Ö¯¹bºJ¤»²rSSZïl¢â2DýZ-ŒnÅšö¹Ö‡†LIÎÔðâvNZÖx©žÅðTS[®·Â9ß’`"˜]­ÝóKMÿÛŠÒÿ£~ú?}ìÝ1·u¤ÿ——•Ãg¼ÿ·²¸¬ª²”îÿ®*Ûuÿ×NùËuÿ×®‹~w…í¬«»rÝÝ5ˆÓ!í¿}‰—÷¾¨ê^=ø5Ÿò/Ü7>ˆsK–™`õ©Ø|´4V9“¤yc†ÉÐD{©¼1õæ½PJ¹x
ßk5ªt3—A—ÇÐ33‰e¢xƒ¦~’)T”{wZ í]ÛÉîÞn²2±(¿"ä,M]o6ðœ6dbt{te¦ñN#e‘ôzÂhuÍïΊÅð_x­Ä/˜<¾ÖÚdi­:
8#¼Á€Ý¬•ˆÊã* Ò˜í€7¶‘
yÓæÅ2 ÃÛîûexGüIy/™¾"~¹
¯Ý#™&†˜ W#—¯Ì.‚C„0®ä±óø}ÔGK‚.zH%à,‹…ìÀæiœßiò
H¶fä1ŠH÷å5Ü\3“¶,3
±]ˆÆï"Ä©±³ïÐ
$«F02xÄèJŠ &®O ¥A½§Tv w›I‰xÀ%Ù>Š´PËÄ.Âis?súäM
QŒ÷§·XÀ
£$¦˜ˆ¢k
œCPk²Z
w‘—±J!Ÿ4–¨	‚kFñþ@¬6b8ª¼è³MâcØ -–ôyK¬-`ˆµ)"!ïL¼(ßR "Ø
n'oßê,yt8ºÒ¥‘T¶ÅÅîƒüy̲š¡ã-Û´=–AAÓLÙ¨ƒŠµ¿3â>-Þ Ý’bhò2I-Ÿ.„õíLA˜Ùb`Ñè*áà
u¿1ä„­2f˜6éìÈa5?9¼Óã1g jî9»ÈÛ±@*”1Aà„­ÅWêH:uíÝ#B'Vž&­ù.QË™œ"ºÄE^D¬Ñ]´¶1ý/ë@«'qCÆ°ÁÕS\c«h"@>HWÍ$Ì\¨¶:ÈåÜy§`GG 	òkãˆáõ·ÎêâdhÁ$—u.e¦½!Ð¥² PÊ¥¥²ÊÒQZ>Ãt&ï²bR¸R"Å@~bVš×Ëxoš8!’˵\}Š¦è,™2[€+4ÃRòAÓjÂ'“0­Æ¿A°ÀÙAgq‚²å#–$¤l)ÀÄ8_DºN‰œQÜM‡ÒŒûsÆ®ñƒÀÛÓ­n­¦0%ÑN©´KbZ·k“²(í‘àÔŽ\„Â=ÛM”¨îíó­#	¼–z;¦ èœþ÷
¹Ä†âû¯tÀq`gâÜ ¨Ø=á&G:òÒÓqçž²€P8ÓD{ÙÇœ$Ž„(²òáÖØ|o@€a[ƒç9c“7gÏÄ­r.¡v4P€í–ƒÍ×[I-†¼LÂȇ¹»/ûN[ÉB÷+ˆ
‰â<È¡åRºÚJ,‚\1ú¥S𿦼ÿ~Eð¿}–߆̠ø«ùÔ9›>áÖ¶U‚ˆº@XÂïQúB–'=i‚*›C€’k¥Ö²—耡–Å:ðé݌ʾ~921ã—Zžü%ëѼ“L¢Ã¹dußÐÎløõÜjí¼Ê~–z;³sr1)î³â’Pqî'а
ÝL6ô”¢
¾
¼íÑ=ª£Qü´)J;„i±Au#l™též`XªuVJžF(*»§žF
ª
š$sêÐ*{tÈ.95
ã7ÈЈ؂­q ”,ÄÁ˜,úb€q*S*ÓÈ:]£‚ì¡ämÊ’/°ëtÙP‰–G	j °„Ä6ä•„Jó\c¦õFѯ»•œ¡î
¥æäȆùG¹®NM˜啨cgPæjç¸
}¯€ŽÅTa»µÉâqÉÎÝ!'ùB¡R±_ÄÜe{Þ—wLŠ¯ÐšÌxð̪/*š*é¹	»0[Ê"sÙtÉ´ˆåe4½´
4óóîNà~(Ø;Èl»x!vy"Žm\Yú£Â€‡ÙËSÉÁìÒ,ÐÌÜÀRä¹BaŽ‰*ÿZÐ@\V<!ÁÒ`S)²³&
fœ|RçÖƒ°Œ9¢
&òx3ГÃ
çŽDÄ.æu­OØHUd
°q~§.“c¹Í_=¦~D͐Pý¤zÀœÊR*í ì8ö]KfÂpœ›	&ë8ÖRG6ËrGÎs§1	mŒìº¥~àלi¸ö›‘~B!³Ë{˜	a8sÚÌ|É-Þ¤‡¡hæäfÖ¥j•Ƴ,zH<˲©0i…©°þãó7ñIy¬{ügÖDIŸú
ÚÁPÉdÈn6“’†Ô$q±0•‘—Ð-šŒ¼2¬ˆ23RjãYTS!
Û	0$_ÓY g‘@2âAÌ2`{'’¶IôYTˆ ”¸×…‚Žì¯˜’º:éF€³`!¹Z̪Œ®ÉY¼†„¸YÌo9Â`/£Å|–DSèÔš¨SvW¹Šó|q#<$•…wˆÓê¼ËÉSABú‘ŸÏN¸£…BìÓ¿
AíN4PÃ¥<È	×d…ýàE>,-·"Áþ²&Ù(̱ÍâîûéÑf
)\(míLÂ0~N¹3NÁ<Çì‘KV^J
†¡²IjÒGˆÑ
ò¹ÙþXêKº»êSF‹i0³ª#–£ßÉái=Õh ë>b‡Tõh½Ålä*»¢à¼È¢r²YVÅlëÿƒLÀ3¤pšHZÏj„9dF´6j4˜	¶¦€#«„BEðÿJflößP4
JÙÅ
¢ôgqk7áŽéЮ@²”Ì4—ßÛ³­M–MèņCø¾e(4ñ/œ•Æüþ
Rå1Ü;!ЛH¶"‰‡ãzX˜Š´·äƒœDôDux2ÈX.bÀ¦pmq[˜V4­šÅ0Ñí3Afp‹uBJŽglEL–*5»‹‡ƒGvSGÅMI¼/aAÀ_N'Fz^‰éô
³|¨ñiÜvÊùµ´˜jᔞp82i)aCÌ/ê
Ñë„aB¥dŒ
’“ˆYƒqÄRIæŽK]hS³J‚‚ü¼#F§UjÀÂ+%ËAÒ©Ññ%†*:,X8¸˜äÂønšId+Ûnâ'q0´¡UÆKÑâtB_é;‚–!&µ¨®/˜ŠÄ¦ÖÏŠq ÄÌŠ-
mÁ8r5Ó÷Ñœes·,´Yµ­ËºÈl–c“`n
¥¯H‹­P¯b¸v{±<
–U$^Eã˜A¹s1ô¹£I…ÙÔØ9E5™;’Ù<øö°΂ºlß 
NÅvpÜ :Ðœ,í/u]cU’…%õÉ"&L®jfÞ Žòù©à/$ÿ*…rF#‰.Pi_+åš
à 9Y!5vÊñÅ\ÕËz¢®ÄÜ=lÇA§»ö²ÐJâ‚ÔHîv†§dµÖ’dy×9ÿåâ!_·Y‘Ù–ЯH k51$Ã7ËTg,	sÜH+Žd¤+ì±èª
Nç“àÁN$OsÂᕲxÿ8±ƒmŽÈæïëçñqi
§ƒDNËpÞ
ÂK˜˜´l§•‰¸Ã¯ð®¥>rۘŕ[
{v¾¿'$ñµƒ?4ö*ï)ÛZÀ”»Š1[/Ðôfwÿî)$Ø2YºK§Pq$’I:xK¼äÕ“ä‘åLǽ]ÙZTH¡(4zCšBú³Îå‘H%Î&c¹tl)4ªèV­_&&I¨®Þ(|Ç´ePF~œgªò}(ptwçýx´‚Ûþ3qµñ®pÔ"Â;ߍ2ß×ô„IÂ÷×EÎÚ«É:êäslGjVûœJ,Ø›˜¥ÄEdEpS%MDpÍTÑŒ‡#0ìÁ¤riƒ"¤Hf˜_B${)|"¤y™Ë¶‰	.™Ò7óÈeòàŠaçŽaP
b“ܐ¸Š
akÊ	+å>Ž…u£«ÇÖ
#‚$
<±…œ²‘ùE¤6Ë;ST!ÏeFºž'ø0í“%¸jÐÇ—h:$±P¼ã¥ñþg'êX¬*¬³Xˆ.ƒä‘;+=ûÌ’f
„‘>º-êÛ$ÚD-,,bü
P•$Ù’âŠXE‚§ê`ýÕfÞ*””C"’Õ)€EŠ˜µm˜Zµ„Š³jK­š/XŠ ›3æV{ÐøÚ(±ßâZºb,üR,2ÌVÅZ¡ý9kK
@†ã#S“ät<»Zïz2-2eÏÓ™’Ì´!“Ùp£b£‚äY"I*Ò
Y\ndöRbã4¤“
) h6(‹‰ÏSžâtz£Jhý–0RŠÎà]*YîØuˆĆLŠÈ2Åé ˜/r*#òC8ÊÕuÑÇI)·
þCD‹O‹ê¨(Ï<ÃJ«°!j&Ô©žØ
DK±Í¹‹ðèàfÇ~Ò×Ï`bÙ+VÀ²ƒìô5hÐ
:W'„Iö
5+ÉY1®<e°D¬¨Ú#3
:˜ÇãÎœ‰2ÕÒŒëèöÃ
Ì“B‰œ2rU=v„VXâ10Jq¦Â‰ì)Õ`!:˜'JŠ™àD\S@¸±Ôqˉà8–D	ü\#¶\ÆkWOM¼R!¾‚¦Ý“σr‹l8X~J乊ÌX‘{R5‹Ýºós°I‰‰Ì}΀Pn¤r5¬l™Ì
Y=Îñå¹mÕBª÷Ù{&Ѷ±e¨\žþ ì„™XôW'_B¬„-(kÙa÷&ÚÈG%Ö-»ROŸ®f	j¿é H%OËLE“@ôÛ”÷Ñ&7cJ®;eT7ÈÄÀÕTÙ<ž×èxè^Á«¢Þô-ü«­=b萺úPíP¦­q‰@€ö+è%¡»R*¡t$ø=À¯$TæÆáÿÆÝèÁªù0›é=r.Ð	Ü&l‘B‰Î½u
„÷ì&5 ˆŸ!å0d㦘CyU‰•Ü8¢zŽµOTœ1TŽT¨M²×ÓD2Ž¬/ÅrIùÏÒœÆñdî¾¾Dv„ѝ׬ëôœÌ´ãYN¹’h˜À0A'hóïoDBÔTfõË-ϨÿR at QƒÎÌÊDÅ:X‘N4SÊÕðj-zÚy-(T^ƒç‰ÑypÄ“}Çð^ªt•±E¼™Û›§„nx§Kd>lQè¨0饌W#<EcE¤ÉÂlZHcF„,=œLfi­tcUÆ«ÆŠYy¸5Z^™
ò"»Ê®HÊ$ZƒðŽ±~)ÿ½v‚¿Üqñ¬ð'ÎSïø„Y¢šÙ ‰§ Ì“jO”È,_L’Ï"Åõw÷l–9ðÙW¦çz¦åpHU–qŽÔ<Qd°Î¨@³)vJdˆ3x^
xÊza¢d›·¾ð*Êä„K3ÝØ5c%$–ÁfbßNŸÕ ¨Æ“Ø6òf8³*Æ®-à£ECêâ&8µ§ÃÈŒ\D]ć)«W•;Š’A=0x…+Ñ
ƒ¾Õx9àŠîŒ69ê‹Á	m¸ªR*MWÂBÊ;ã3	2a€	ò&Uf€^u¦½‚s%X’è„4fQš˜èOÀA:ЂHÁ‚"2‡	ôA·ªÌË(cÌ#Å1ñÞTiÌ´ýz
1cùyù·PûL˜GEÎÀÜ#Ã	etÌe®Ã€¾a,FbSXLOºÎNu¢™0ÛÄ‘´W+âüp|a &‰~Ûx×1xú
)ðl/3Œâ§“'‹éÞ<‘FgmX²§‘Uþ]äÓÅ;t–æ¡ÁÕ^;“à¾9ìMš×Þ´'
(10¡­ŠüJXè7ÚŠ=š+.eѹB!ÂÂK¶Å@>d?ÀØ8kE1òVZ¦µ:nq
}Æ×c–¸d@ñ«{´™’º_6‹ÈªÖîR22JŸ
ö’Ý\ÔPpŠñÊcÊʉQ¼6QT¨S+ÕP€2·Û§YñB]Ê”QH‰ŒND
V”	`U™ÊÄ„P!Õãk¼»0‹ójc:*êlhæ`'…IøÍI¡÷9TÊZwhŸ»Œ,ö¤æê\‚’äÕXüÂAòxgb¥˜Y‘ÿ¤¬ˆž†ýnT$:Í.†áDU¸ŠƒÊš°ƒcèi)ƒuU]7Ô9 ®³i“
à}+¨R@²¶é„²aÔ%3Î1¢”ð½	nÛ¡ä$«Ml¬ç&b5&“Rðߐ00ZÂÀèk8å–S^ûRhH’×ç)vhñaó`Ø
B0ØÜïk¬eÅDnW‡Ç·%¬µª\(=B<_-[BÐÙî1µ*Ê'Òj]39’‘[9!Y†Žªù
çA	5Ì(.ö(j/3œv(³"ÍôfYlèr65"J—ÒÒ)ÐuÒ=Å¤1Ð+Èkò~CÚ˜¤‘°œt’©¡)éëJ4`TX˜Ò‘cm…\A”ÊHw;ƒd
¯ÍˆäZÛÄ•é	Ãʐ¼‚¹òèå!‚-T`Ú‚j9(QkÆnbeÔó’°íy¤–`*®³
/k5ˆ5
	S$ˆÐ¢l(͆ñXg¾lŠ
Å| (IÙ¬ø­`TŠw«Þ	°Cß-,3×yµ¥aGRL~Á·ZeO
qŒÙ¡X(Pí5ü‚è|´Ñc$“žkôb´±b£„e<ò¸µÑÐ@yªi+àçÕ±1ÉuÉ“NÑ1$ep%À¨wLWH°d¹f“‚X©ž?±ŽÜþXÿ}Æsà
ÖgR ALÏs×
™ÍŠ-Ë›ÄHÀ÷xn™$¢Ë+À¤¢ã¼ç@|&ô¸pŸÏдÝH
#f„0üF…t(E·¾k¹4q2àäX)à!A<Þ'
G’J—^úD&‘I–e¯Üo	 ³esŸD™2El*̲‡¸ÎûÕx$žŒ‡>c(´ qÕ¦ƒ‡N
®c¸¬¿,òÐÈšäp¬
ä=¢‹LH96
‹­„$AÎËF)
EV$¸i,âá\äâ=~ÐÁ¼…IÔXÑÄ%žÛæé|pNLO÷¨p)fˆ{´<âmˆÒ"CÙM	•‹!­OX­A|9
ÐÛf¡:e­˜›PL6‰$½Mî9÷ÂÄõfžèqÆ9ª
$lTR at KÀ•‡9©ƒcì5“]>AAådCõE”ƐN?M:“äGÛ OÌ ¡e‘9‘&jp§8ɺêéô3Îã>á¶\^G¥5s¶ÓöÀá	ëQ§ÏKHÝiqBåŒDÊ"bÌ%x¹#WrîíÅZÇm|	2|F-¼
–H›¬JH⽃Í@c	JáÚ’sø“vÆL;+˜Hù{¢z‚ï`i'Ž•¶)Ÿ°Š|
«@tŸžÑ©ˆ•vfaîŽW††’äŠ|Lý¢ðQV?FÞ2'­ªé‡…l¤éÖ]ŽôäqnÔS	.“ÞÍ].Î	é¥fí	:/)ï6£‰WÂS"gŠ.p4Õ™-\w‡é–¶…´:¼$Hë΍٠%òZ‡Ú¸"ÝÉûsÔsnƒòžfª¶Üž†„SY™¯ŸË6	ƒ™ÙI¨Ø‡ë’î8q¨E4`CqH§4g~=Íî .ªÌS‰µ!o«‰ æ‚òqŒÅá2û8	qY˜Ž>).O½”Ä”—”ÀaÌSêZ¤y¼1³Oñëë©VÀ	lF›®sjÚ ÕfG‚t¹V®Ú$„àמR1N¨¯"H	Ù†ó.h®áÍŽ¯ã–)ìLñ)räwžç½míYÅ|g`˜]
ê÷5YÆ
3H·%eqÀ”¸ï9Æj•ÅE‚½³*m@<
äÏÄ«ãîèaĹUŒpcnÐñP¬™ËBæ±ÐöcÞcF]µq”/!ÁÅÓ;ª¥0ÊüÜÑÇÌØqËò,Ä$åÍά`ŸsQC\0&âDSÇù÷Ôžuϲ&fQòÿ6Í3ÈŠ_Ç(bLoÄš‘iD E©1¿¬ú’…|qŸøÝ«Ž`.~â±kuN›ïBÎE¢(ÚAªÂZYkÂÖîlîPs~äõ´‡Ð|ЗÄÚq9ó6t~ºlmÛ3_$™E€v1Þíöàã²ûœÉ5þ›Vi‹`<Á`Õhá·L¥¢ S+]8Fx':£óX½YÿÀ9’M}™n$[ˆ¤óÄãàçµÐDE´´à?¨C‹=fÙ$ÜKd³äAnK‘°êÙšUk…Û-m²˜e4*cCô÷±]qd9+áó
–ŒuZ·wºëX at mçwÀ4ìlÈ;6
´J'\ul/¸à§ÐOa.z˜ì!åtª×	±!]$¡ŽÇ
K2ËÓõDÄ›Ü!Þêaý@ÛW(l~S	ãŠ%ÅeŒÑÙ?Ehá|ˆcSmšBZ^¬Í•(¹¸*’ÿ?^Û¥3¾õ_”›üvD˜öë¿”—cý—
øRVUQÜ¥¸¤ª²¬xWý—ñ·«þË®ú/ÿõ_4oý§ŒûžVQæ?SÆS	F•`h<O1e^²%3^ÿ0fæš zè	v3'Ÿ‚ˆ±‘)xÞ@I6éˆEô†Eã°Ôø†ÁŠz ý
÷­Õ„MAðQln4'@«Ë¤Ó0±|¾òª¡,×˜¡Õ4¡’cÀcø¦>Le°´òH8ÖVx~>hʤR+ÍFf¬™ðh33ͺ–f”ÍDÊÔ&ÃΣe´é©¨ÚhÚ ”ÑÜ“Ó¿ÊÓA0
KÜ£ºEOÌ´°A&ª·(
¼E´üý¢6É
•2›µ‰¦ÆAÔƒÑ؏J³ìø
-¿~S0­-ÃR”OÙ'µ¨À	m´‰1“°øՍ,D3ÆÂDšâ@vŒ&¼Šš6±GJc§v<¥•‡µzÊ´´°
½
$,€ßÔ§&,G™é…$åÃβÞ™ÀPºÝJ\ЦïöÕµ&bر˜‰¨˜oã'uÍõf\ÓcÚf°ê~?dÑ„úy$óÓô¯ÊL­0Т‰M&+T×j¤š]¯O¶ô
›4SÀÊÛà››Ë#JÑnfFZTþàhµ4²»’µK&B¾ÈŒ-k×¹E#¥^‚»84÷Òñ"j”î¤)H}”dIºhЕ!Ìâvð]‘fP:Oo w
JÁ$!ßq&*h+Ñþè:ìawÚ«–²bÒ¡Ö¨xéô¢8Ũ°B8#Q¤U"5ïABÅË…sÕvòØlr½ãºóØŠò”0J-Ò˜QŒoC’ÇPâ†ë~. »“ªåÖ»¥R®±°TÊÂã	|ù:~qa
kä.¬…R|÷i7ØÊ4©Ǩñ¨
ÿø5a!šÌ8kÄ¢@¡¢­Î7Ÿ7Æê™ð),4›ØŸvùÓADhõy@¬Xœ«éðÅïm¬hS7ñ¦Æ2#6|õkÊc]•Shiû4Ê*,GwDï-m˜nƒVŒ¾ù´š€a	¬#	ìAKœ>ä8ãîÂæ»ÌaÿßýùÙÿì–Þȸ“ê?—”••T¢ý¯¼¼´¤²œÕ®,.ÙeÿÛíØÿ\Æ¿ŠŽì~?Õæ÷“
~¶öm‹™oGØø~ºo‡Y÷v„i¯v=WYg»Þ¶Ùí꛲k´oÓ¦Cž8Ε„ã’v}ÎQóy0¿è‡bS‡yjKÚ•o•x I›ºW´¼v™äÁ(]®À<1§JT`Ñ	eàiC6OØÕZ€(ž$\È™zâ\ˆ{Š ±ûyâ·¼
yJË£	îŠ0~܉̩¨Ó-á”Õj³”sö‘š£ݧÎ
ƒÖmîQ§0L*ÆjÙ™°HɈÄL*h¡¤"“Óípi‘²feÒX˜rLØå°qõ<LO¡‹RÖÁéž!“¦
³’D)ÉÞ" ›­Šp	3·óÂï`ìÎÜìWfMUÇ(¡…]stÒ	¶Êœ¤ Ìi‘ Ä#*qkSq7éÜ15ì¤É’”ΐNjçñûƒù­9DëE	#Ù+[K¡
")€ùÂuξ*w‡uf>úOòO:üÎq°Q‚¢+' 9‡Œ¢_x at GøƒÑsºÑXRh'0¸]¼»£dn£ÐOÃI±ˆOº£’0A?l'’„ßÓâ‘N¼D1+u·½÷ÙämÏ™Âjÿ:¼He‚¬D¡ōα•x&Ö.ØrÎl[ÞR§æ.âs‡YŠÈc¨›‡„N©ù	{¯l/ÇcQ-·íªd³,Â<ž’Щޜž=ÊyÖ9a<R*»PÌñRü&'@…P(Áä<åeD¤€Àd6&DÕ¥¸äÅ}»‹r”òd¶F“¸eçP9Ž˜%èw\àoEÓ!qç®7Ë6\3b—S«œ&Íi‚Jp‚4"J0‹Rhâ¢ë¯‰?4òœö8Bì2[h4iñìó^ÏSøý²®#^¯ÌR-15'ÒrE€Ô=çòz’o„©º ¦È5˜À Ìeuí4Dg?€ýдy~O,ÀRiOñ^7¹ËJñK‰-(Æã 2øJaKÀg"† 6Dª)±ÓL¨Û¨Al¯3SbXé–UFÈ87”Uv¶ÒÆ ²!¯ïl ‹¾te'¡»€H	a°8y.Žð Td¹9¤µ°!Z@¤^°j¦$ƒ¸
ª)Kw8½3¬*…Øæ+ù¬’P“fÅ9yA
ˆ§ ¦“Z«S`‡òHÔ1òÏ)%ÈÞùjžsÇKI¡[#ÒÝ^
ÞÀd"5Wê½òªž{Nòtqc* I^˲¸ÁÉB»UÁ†¥Ür9!§iÈÙ´¢<ºZšý ö†ò(AÁGýÞå­Ú~þŸ„Þb62cÎqµïÿ).-†Ïîû?«JËwÝÿ¹Sþ|ü?tOªýóFԍ)ìÕ«¢wa	ó

SS?yìͧ~ÀŒ­ÕM®«R«õ…ŠèößP4í±+ª|WTùN‰*ï'äxÆ=®£<ånQÏ#Õ5$¢¾÷îGÊ°Œœ0‘Iº:ÎÓ²ÿê—‚‰òŠD(†2ÒqÄW±þf!¡¾ìWéÌQDÍQý΋5¨?)[ýYVÐsÿHb¢üÉá³®»ØìÿC¾ñÌ,Q´£Æ ~_U‘‹ÿ»,).+.+ƒßK«0þD€.ZÅŽš@{ÿŸóÿööŸî+Ú"`ò_yYU9Åÿ”UT–”³ü¿Ê]ù;åÏOþëHÔì&—¨ÿO¿±ÿî’övI{ÿk9„uŒ¤ý/¥ú…5Õ	AVÈ<šçÏY0ÿ0„´O)Í´%;·²Zcì¬]m'Åå9xÑ+Š6¾X„Q^Ëw6tá6¿†¨)ôiL‘{“—Æá-TÇXú‹Rˆ:¿Zª•×œkN`Ù/~O‘XÉXª+P=pçS…Tƒ oÀÐìt^H“Ÿ_±€éññ…|ôØòu]:o”ÚÉ	Gðϲ	šÍ¦J<Õ
ÿl at UKˆ:@1mYW9¼1%Ãlàõ]‘© 0Æ	%*8hÊP'n‰P­l|pŠhr'ï‘/©BDÖˆó©})ʶ[	µvÇKõœÙœKŽ¢æ•H»Öƒ±cÎ9À{Èðž!ç¦z¶º±–˜°Ô²{
LdnŽ
Ù,—?V!ÂêjÛ(¯±òÑFÊ´¨ØåõdÍÍM	vY‹ýÿüä@ˆFUvØÛ¦ÿU‚ü_QYZ±KÿÛíìÌj´BÉDãO£}ý¯¬´’ê¿—W€X\Jöÿª]öÿòwþØÑúCZØuÄðÁãºtùY!|ŽübOøïßžž0þÙ3<jØà.?âÿݼ|ÁðËÞÉá“í.]~ùküßÏÖ¾yæ÷ðã^éµCözñç?ÛýCþî
…ÉøáKa3j:äõsOkYÛ‡/ÞU7aÚ~GôºùÆöžzاýÍ;ç=½lÜå_¿æ¼CÜw¿…wßý€ûÅ¿òsÞŸô«%:å_Wý«¶¶ö›Ug}?ìø[Z*ßj{ÿÈæÞ¿ÿjáÆ÷ßï>p`·‡zèÎ{îÙ³Klý]o¿ýöC+¦_ùÜ5C0IûïÇß^¬?¹ûGomùò£“&MúÅí÷X»M\ùéÊÙé®]»~³à¬-=¦Þ¸uó‚Õ/ÝÚïƒ/Ã5çíûÔgïuÊš¾Gìù÷«÷6Åb+/=ºfÑŒ Ö@ü♕@ÕÌç´û}X
Tèç­xùë?Öœ·á﬙ðêÏ÷ÚHé”/ºœ
PõWÿ¤ÿüà¢iûÜ~åU=F¯œöÅm7]3wRžöñµï¤{ãÞçÖ]hœrøc/ßsÊ…§~¿á8ؼÔíÍ‹F¯+.<á¥}ϘvVýÖ¦®ÙÅ—ãþ¾çàƯ6ï>ó́@`Ñ;=ä¤5ût¹ä¨þ=ïX²÷Ó÷õ^Ì»S­åsàèíÖåŸÏÍ?¯ï§ËÖåíÓ§ïð'Ú¼÷‚>Ëo¹%ïÀƒ¾àý¾,S~Ñü§í}ö¹W=³²k¿ë?ìyö¤¥‰oÝüﻶ÷‡úÍsÏ=wÉæcÖ\òáùåå›÷~v¯a'¿áØ¿»ß”×Þøþ€ú
ýqÿ	K¦]üæ#­žÿaÔõõ'®¸eù_oxà}9ÿòƒ¬Wï{eÁçuO®ý±íóGV^×ãkâcï8)o]¼ïö§×œ³äïßüã¦?oœzoúõq§L_4åþÀA4ô÷ÿœ™×õÂÙ§^=¯iîû?Þ´ò©ƒÖmÔ\l|ùáK‡öŸYžx쇖òªªÈWÿ~mßUEµg÷]sësGým~Õó_}÷‡Æ«kk/þüØ#¦8ó’eôk[}Ë#n¼oŸY_ý­þ­e—Ù—×~ÂMf_z饿=çœÝ/{±÷CmË›ú¿ü⋧µþæ‰ýÎüíÞ°Ÿï;ñtÿ¯ßxwø˜÷G\w×f ×œ2åÅçßÝcÖË«|ÿ²îÃÆN›vÉAÇOÐ
LúKCí‰?xå°óWÎúfî¹ó7Yôû÷Ö\3µ¦Ç?¶zê÷¿ßm•}ï¤Ñã®múæ­¯=d7N¿©Ï?k®hë³dÙ||ÑÝ‹/:¬bä³ó^é÷å}O\·¨zi͡椥½~÷ÑÔ–§/>¼ñ»ç2íOï­^zå¬YW=¨¯½àå5‚.ùÀÛ—L~zÒ÷‡wÖù‡|¿±ÇÀ'Æœµ¥nÕ€`·Üu×êÌ~GÕžwÓn#7½xÀ©µ‹^]=¤û=“N0¦-›qï»?^y偯ÄG/ÿÙMß̺öïÇ_}õ]/Ù;µ;lögŒ,X¿ùQóŠ{®:æ¼åß¿;oà%g}·ô¬¿üðÊÚµ¿ÿvÓû}‡ºîò%‹¥ÿÝÿÊ/¢¯?ßø̺‹ÿyñÓ=º~¾ìéçßÚûÆw¾}wê5ᣏ¸éúY+/˜vt¡ùôØ‚÷´à§ÞW·ÇÌš=‰ÙÏþ¡lÕ;o¿¾Ôê6mæǾÒõyßèrϦcú¿½®ß›M‘¯><þ¢ãξïÑ‹ºl4–qÍ…nxìc·ï×íÀª7<u¯ýþè_y¥ïè=n^ùÔó‘µ7>}éÔÁ+š3©TéÈ‘#x>ñƃ¿:ã«—Üxò	K?	¤™§—?wñÆÕmT>¸ûª·g­ûjýGjù`ííy÷~´Ðá

ªÇûõÚµk»œüö•ûvY½zõ¤‡ÓÈÎÜ4ÿíWŸÜøÏæv¹­fÊ”Ã@B<åšÞ˜{Óó«–Ruñ}÷íšúÀ‰±â.‹†..©Øßc'ÌšÕÚy¸5ïȾ{þãá/ö;¼òÙÊ3ƃ tCßÖ>k‘›>}ÑoÞÕ‚³øþý­—œ¼Èò”bsí1«ö·CLˆ,ÿMÛÚo·|¹ä¬ç<0 å=´oË¢k=ÿ¯ãêê@*þWrQ·¾-Ï>ðV˜6@óæ÷N;(彑Uû^öà™_t9{Ï®O‚$xéu×]ðúëSVm"ù*`-
º;­Òô%S<½xw3[eR._ŠI^¯jî´'$íÀ®¤žžFò÷o«\úP>H¾8¦¥jãDié7“õÙ'õRŒ:ŸÖMLr)”×jn´™§`ãÚ7Éj”¼bÒÉ»¼îL7³j]÷ã™üجݺ‘Ž‘òA×û¬µ²×­üúvUúªîm’Û›“Só55!a°²›rƒÄhƒ.Þ,Û7q#ãªâÇ섪ꜳlŸˆï¬äa³ý.o›­î™£í{3Q9úGæµ7ò—†¸|^{scÆž¸k_›1Ü­]×Èt$'Ÿ[õµ2.zMñ÷f¼s!ÀÈÌù‘6ݨØRöuÕ»F'L=sdD¡ò±EŠ•Y©ëh_"ă·N¹QÁÞÀ»èFúóˆHîΖ÷
ZU経úÊJ©Wl©I»¦߉›7Íë³²õÄòåïÄïÙ³%Ë3ßã,09û‡?Z–_`¹M}|Í ›oZ|y·¬·¸b¯òìóü§ùé6¡‰åòiÊ»=w4øËÖp–ÈÌt_’à}M"©
êû}ãs>_!§¢2Hã|‡lÿaRLÏz;·­AUU—ÌÝ\¹ÞkíæVÝXbíºÒ3jJD’¢‡î|Ó·éÓXÙNœí´ôhùÎ]ž¾žUž\®Ü’ºýë&×Ù_SwñÇ9U7+ÿ“îþ¤s£óåƒvÝy½%½:1;æà±s{üTC'®_À".o¤†ºú\?¿)	‰‰YjÒΕ¼¸ ”óa­g8cŒ\éï%×ßy{p]@vÇÃüïV“×F/’5­~»mèOù/EÛBU­Ÿó¤Ô&%í‘óØm˜ël˹åäý’+Žç+õ3Þ™'vν~ytñö¦™éÍ:ÑsNætœ\™ÚëøçÔJÀ¨ƒ›Yµßž¿8áDÕ‡7-7ƒtÚÐé
SUT滸Ð
l|õŠùôéS݇´×Ÿ®Wk¿lmïᘨ¦¨8 ¾¾þê­[c›6Яºx{ǁcyòéÛ",,¯éçÑ£S[­©VôplZsKRròþ£G¯ë{ÏÖÑ©ÕÉ·ðHf¦ƒ¡ü¬"Mã‡}µ³µzõ˜Ž)>Z#=¹¦–ùôÛôkY­YûöõzSüÓh¨”AÀ¬óž­6¡¡§4‡ä/Õž¬¶<4T“ÃáLjiÍ®“å
ãtf‡¿È3Ÿeîâ’¤fÁœ»rÂt¿›Í½·8ôÅݲ!º™@nÕäÝqöôÜUÈiÞXÈkI(i\¥Ï}¶9År²âèùó%'Nt™7o“þòEè‘%BÇëÂ…¡çÔ\vĘ³šü^`ÜsßÛ˧êè¸ô
9·qãÆš#N‡œ-,Öóž
³å‡…=~\:nÃÃó³6È]|±·=#ýàÁ£			‡[nç|øøµõıÊž¡ÁõÙæð… ;ǏÀ
'Ê,å÷?\þsÙ®û•¼g{ÂŽh­rž±üK¹w“½!½ü[²šg&GÿrÛTeåÐÚ}@EŒ¼.}³	~¹é@AÁèå­ûQ×~û{È^SÌátä½mh¨öR-°õj×WSÚºkoÞ¼yôÈ+#ÏžùñŸÝ˜Àÿñ=’ÿî‰9ôßÖ>|Èm»Õ³ŸÇ—Ã>6»fØžûüpéKÀ« Çzg>|ußè‰3˜nǽ滝X”«¼6}ø‰â…j[Ó¢Ï}k;Ÿ`9–¨h:Ù¦Ž¼±ÅëÜ’ÚøX×ûٝÎjN^˜ëü¡¡(òt ›í ù2F1õmÍÕììlç  cÁÁ.Û5¼]ÙŝyJ»xýV{.PËWßÖb¶óîãÜLxîîî©UQï.füø¼ügþ¡±pâY!…F÷îÝËjOڐ|=51Ñ7>æxx/&{ÜرŒÛœJFgã°å
L¤Ð¦+û
%/.~`î–’­2¦bbµµµ²i1r÷ßWÌŽƒŽO xíÐ
ݯ°þ–†Ø$}ÞÀ{yÁÜIf‡K«²oÏ»nèä55ÎÚÚÚw“xš
no_{nå1 p.-ûüÀ?)°‚쇪/79JÀ¡_ì[Ïd€ó+úXçiikËWí
°ž9ÆÆ+C—ËŠ}ð¨sé•¢"ƒ¢O
A3Í^˜°w[É«úÓ§ÀHwãå,|€Ý¾_ýE¶ûù¨3Mƒ¿ßË“™>½:!QJ&=ëxv¶V«ù$ƒ40[N4÷œ“µŒœœ©ÔÒ–ªŒºy6W{<C4,º°{÷f =wV•jjjzWH;oÜ·TƒÈ‘Ð]dx4ǐá¾üã1oê—öæX}÷3œŒÊve•ÒŽwM“¿xžÒk;ó\ÊbWí£aÒF›¿²˜¬¾°°ÆuÜZƒûi¿ÆZ7ï~!¶ög²x/”ÒÞ¥ê†Ê†½º»’ûü–ÞË
/é9ò&s_}ïuÍlÛÔ
ÃÄ‹ÕÖd„åñhžµµjs¢ŸóÇÎK—Ìh4šîI`kw°Ì¿®Û¡Ï?ÚDs®>;F.~ƒ%å´Å\ <ëÏš5ùЕªQÊZZZ'i×F–‰ÒŽ
ÑeʉoZ|c’Û¢S%í9ü”Õ†…­É:qb¦Ñ›O¯yw¾toU g«Ñ~+EgPéº!§KZŠÚ?|i}›²kW–¿|¤wdó˜‰Ô1€Õ)+_ëÔo‹Þi¸4O§¨˜£ŠPsHŒ«Ë8Âl+lU?&Åøp®µ)‰m;)4ýÀÚºRê½ÁW˜¬ñ6éá„£1ó[UØva»/)oö_±CUÉÎáûœsì‰T匓!&ë{sÝ–ðÊ;Ü®æžÝ·óÛçð5†o÷–¾Iؾý¹ƒØçÀ`:€ÊèsgÎL(ß®î2'
_¾uHÙ´t®khÐÌ05J²xQò…Ð/æOo¾­êàu?Gã^üÐ7~_«}7ʇ¨8{³ÆÆåLZÈ¿j£*æN†çõO_…·®пQý‹YP` Ù ûìùåñým§{<ŒJLH˜F¿>ÚbÐ ö><Èð
×nIòZÙš¼•Ü"Çã.ä¼Mú8{¸ë	«¹?Íq;ÞR[ó§hµŒ––Ž;ÛV8¨éÊ–Ó—G
“́º“ºì“»g}è—‘#GžŒî\¢rãmcé»Û¦ÃÜåËÕìfJK‡Å'¯k³Û¯q¤Ñ{•¯[ÅÛwÕòdú©¸¿t5^ÎPoRŸ•b`Žù®®~NŸ€çÛñ¶î?%%Eµß£¼à‰.7k”Êéìì“áoÝ;óqJÉƸ¸|w_Iöù/k)F»êߤŒ– ¾yxÎuAb“»¾ïù¼¼º¹}䢁µ’clIå§$iŸ`Q"E½·½Ç6ª1nÜz`ÖVU9ÞkÈ‚X3^³÷ûçÁÁY.Ûם\’é~:ó}Íê‹{këß]>\•ù
¡Þ}mí¥õ²í’陫V¢×ñYíÞ
 :(8sՏlÖ(þ®õõCËêŸßŠ–6ä/YÌ1»PÚ4
ȾMb¥gÇÖÔ8Ï{³ÍñðñãsÆNÒóá«_\<>°NóŽd(ÈËß8oû>{Í®”\¯÷§ß·ÎÒï,ïz°ÚûHUË„1-éVb±$ÏÏo0ëËÛpuOþý”š±)Ž×=–›.5î¬i ´œ:¯ÍŒŠ*_·¥;)lMsÝ&u¹è©Gz½ØÒR“ÐÙoñà‰ãÆ)®ËàW|Þ^uó­ãêæÂ’8õ;Ë9©•2ûëd~þp7ÐcFhhèØwzG6IåºXØOÝ×l"wV_^¶ù‡—‡¿óŒeqq#—ä&-´OÅC….?ÒØÄdÕ‹Mû
קt¦7¨>¸°áÀûwç†VtJ®X8Á¦|\z–YMI5õKæ¶Ø]Â\ߘìf_Rõö¾„NÒ ¤;Á/^MÕkûöÏ­^‹$“½¿Î¶ZtDýHÛíœ#m!Åcó“_¼š6DñK|D½esIyͱaëbb-Â
rnu6³¶/
Åíþ§6†Ü}¹…aJ¿æ¼¯`ÕûUí§Ïv„ÄÜ÷ó£Úàö•ƒ¥ï×í}óþ¡×Ô‰R³·8eO9·&éú\‰ÒòØag#Ä—Tkqå<$][{¿Þáá÷}yâqKþ5qÇëŠ3\ãL˜\ª¶yøxõwëæëå–ý<Ô^¿:ï™^¨Õ×g@¯J/9˜ž‘¶/½d}Ìî6¥¦=S$Ç念‘¸4;ÒôÉXé\yF…]Œ…£Çžu5–}´â)¯nN–ÉõRÚ÷ÒàÅÏ'Kä5¶'y\v,ZÛbU¶Ä*=£úО­ãßú§1Ù–M¶3^¾¤*¹@Ýíø ýIon<ÐgqìLx™Rª˜¥ôøRÆÄ™ÞnœœD…µÉ’9C?FÝwW3Ôxð|Íå¥|;±¯RŠj‰%­œxË9²Œ†­ŒŽÍۯǖÛV?65°örvíÌüÔüBûc¸ò‰Æ„–Ø5ɧ?$¸[OÕ|bž“aŠªÌ¨–ÛEï´2èr×,Ê]ïÈ©¹Åxœ·4e|<àÍÝô¡«¯À#qX{§82Î_¿dÇç“EùÓÝûxYÙn´£óÙíxRÙRùèþKÍó¬){–[É0¾¤9ÖW†ˆ©ö¾-o6qû5ým™ãš]$Ê'êä×è*ߎ]Ëlî±y’³OØ/JÞ}2`Ù[»5Û•m˝ÇMÙtÏÌcŠ¥<3pØh ¬‰½^«Ë¨ìý¼ú’vÑÍ—á.’Ës¤¶xŽ)Ú÷.5næð£™÷Ï;ºªÒ^“tÕÂS¹¦w|¦’u^¡Ñ‡÷U[÷Œ§³ØÖtIŠ[`¯”’ö¡Ù¦U¯¹¬6iÑv/?;u72œ·O9¶ëz݃ÁªnNŠû«_ˆ3BÏÈËæ¶?S“Îëo½^ÖquÓÿ£ãä?sii$ËÅrã­jÞ¼ÕåS?žÔ6ròmÿðЗ­´}ô©kùr^ùÓ¿TýLÿÚn2Ø@UCÑ#ÿ¾lFc/3µ¯²ì?ZÜ9¿‡z§{¦è7L”É
(\ûMVfù
ÊÖ²ð?SÇ]:¢íš:´ìÕnBV¼ç‚«ÍÛ,VH;ªÛÏJ|ã1£ž{æÓ¢;
ÙO¾É¿¶“ˆ½?8­þò’=ëUB×Í—מõS,c‘L”J±µcÑÑkÖŽ¶e(Åüö?nñg3ÎÝKÌ«{>×ëS⹫G"j·km~:,ÒàÝCƒ@S«ÂIñ¡¿ÿ;«Ý¯Ý.dÙ–àôeßÅ_»¨\°”ªÌ¢ßpäì8™´:v£c€êðŸb§]‡MV—ºVún´W!¯^ºp÷‰÷–ÇgÖ·7xœ~¨¾Ñ^ñ‘é@ÅÏ#­Ê>ÆmOZ¶hÜWmåô—ゥ_ÌŠœã:%§6žÇڳ乌ၝ¯šNïç%·µ}RŒâãƒÁ»6½Wðb‡ïÔdfe8kí˜áûVÆP¯·ÖÄêáeqw,¤kÇ~[¬xjӸܲ7Y³Íµº~ºx&«ñALòŠ^¡Ã¿”E†°g»¸HVdl¾¶ø§s½ï­õÀ¶}úå‘ÅVç⑼o÷gìì%ö>ÄGþÙ$“ú‘Σ%,o…=^üfòãc«¶O\¯)¯Ÿ{¤>¶àëÆç9·.¾˜¶"ô¹KœT›Tu–‰uö†­Õñs•?Üs»²cåçEI9ä$↬ýn,7Û«®0󍾙Ôûð¢zCËqnÏF¬XZºpŒô§ŸRëY”·Œ.ŒÚ–»¸sxJêä¹eC#B©+6¼LŠˆ#¾©ŸX’Z­˜³å¤·£O8ÝŽtún±õõO±MÓë7?ÊÑhð\WNù¡ ¯0‘û,ó{뛥g^*\Žø¼pΓE©%÷øÓ^–[WbŠõ³úØ¿pµónÄÝ6¹FÆò!•¡Yë×î©ØÅ{âvȁq^Þ¶æÓµQÕj÷¶]l8yplØe½‹vS>µ+žMsäzô™8°Áɶ˜_p"‚*l/Ûº~«åÇÙS_ÎÝz£ óZìãÐí['3^¤Çoµ(9"3¹òVÝÍ
%£m&ô½|.ã¬Ëû'V»¨códF:7&åh¿¶Ó¾¼[•P?P.ÇcÃý¢py1½Ý¾{¥˜Úédh©Ì
ä¤T~|ؽ÷ó?\Óm¿¼4+Ùsá΄ÚìGc%‡=¬½õ±Ì{ËÒcQ¶§çÜX0±tâ,Û„¥öG¹›¼w ­:r×¹’âUICêú†ío2Éjþ„·W
Š×Ü)6MÐVÓdŸ:ë_p³°ŒiAᘤðXÂ¿?tš^ŸêF· ¹2IÙïB36+²”1½°º® #K9=û§Ýïô›IuÃk8û>Ü\ÒTë³kÈŽÄ’Eží•'^S‡>éç®þâópzyÍðù’îžó8SÇœSž{©QïŲûþgõ²&/~24µ¦<tì5
½»eZRScs2öjnK˜;“ûbúí;«XÇÏUyŒ1âÇzÞsxºîö¹ó¾o±Ì
Ÿ5äºÒ–À]¬„v¯Lßàh5#65i™ý4ZÓÜúÅÜyý†®>`¸‹ýqêø†)oMš¼dÓ¦Ê)	YUSu)Ê@d¸6dë¶f¸p²-jFxLîïð£2Á]ñDû±û—­Øg²4/†3ù¾ïR…RzŸ[ÓO>cÎð¹
?¦Ú=n‘4*`š‹·í›cd§2Înƒ
N1Oßu¢Õp&Q5O¿ªš¥£+1Ìpü¨«š«·«:mÙjû©‚V[w)«52`ßåW”Œ©2–óìÕsøQ[*msWÖðÞÜS÷Üy»ßÊ1\—Í9žr{ûðt5K‡’„}[-VÖ?oY:]RkH}ßWì=ÁùìÙû—f{–XïӍ¼ü"lˆ†Ôeý{FÎG§Ïý䜱lï|yù§«†Úéõ)3ôÉšÖÚr7ñðröƒ
½	ývÜû<Z'1_±L¯ÂnYIÎS5CzÞ5­Åî¯ßyë•gÎ5Mñ;Ÿ?HçøëÓoT˜z{v^7ÌXs&¿:D÷„~›ü„õS”Œ‚Î}>];ºÝÁ'4xäÉYÞ-¯çÔ¢g•%)YL¬ÿÄO×Ì5ÜvᢎùÂûŠMób®yrÔ_,–òWË Š}
¶
´|wàmú„u;x¦–â–íù¾9Ù_½ïˆSð\»bowó³¢™ã9×äç§mp8Í1«xªWÉã^*¼•
OdŸ»}–Z_ýÎw»·þת‚9•¹G¯~íÿe”ukA¸ÊiõO6ã†?ÿ|o¾•]H”ø3à ‹–Ëj§ŸK©ºñy×@猹ŽîVÒÙÎK¿;ú#åäõô«Ùž‹$¼wÈHünæWhiâ9ÇdäÈ­ÓzÏ;Þ–u´)°¯UÛÕen7ó“Ø9ª¨¬ºìä¼¼ŠÊ"ëDÅÓÊ—±Öe­M?±$déÛHiMקvçŽxÏ9¸kÏ”WéÍÑ•¹ªšåï”ç¼—:Ëm½ž¹óÓÕq®}ƍ×<¨5Ô”#9/¦"vôå‹ïíó”ûf00ôÉôÝŸ˜ÚÉÕis4=h­tÓñ©RÊã•&Þ{Ùÿ§˜½óˆäDz’.7zõÁOgí¹Ÿ¥*—crÿ®³çT+»'úŸß—åz%¹ñÁ‘½êü,Ö™1êcK71lßPúl[+fùüN]±¿ÝÝZ§!)éJÍö;?´_x%(cAänÉÕ—²¨C>ÏO
ÿÔ9úJÉÍ,À%GüI5™3AQÌñhêÌ ~õ™¶w÷ÍÊ^xY¾(}÷hÍÛ?Åæ7¿³¨h’Å3ÚŒþ\£ÕG\¸«Í“.>&¹h¤T.í÷ðU¯¾Ó9ÿ*úsùä µéó£ê
ÎyûUéXÀâ=ç݃•ïf˪$–l‘Úâ~Ì‘ž7Žµjë÷5‡9î…«_F~•¯;(¦ £,_±¶GkNËV¦hN›3ìDÌýŠŸbK>
Ý4VûÚ;=WÆc»­ó²Ï&l›;˔’ŠJŒËplX?oÙåKk#…œ§¦õƼùÂ*ýð-͍
{¹Ô‘ËG8{P × ð,uÄRŠÓ™¹‡[©©x'+KqžÊ‡¤œû¡vìK›kÔœ•%£_+´´|Ñ€þ;Íeé…/«ÖÝNÈP³èEáË–8òqØ$‹´Ïa)ùza[3Âá)¼^âbG¢¾„GúDìЛ«¶2ßëÛ€˜Yj“?lÈpt“R•¸°fÞ9†n¦±Çɤ±÷í¦ßæLò?<fæíï¶9AÌ+Áë9ÖáSUŽ>(š!ѹïí€ò1/®V¶7nz4|Òú­sÚäÚkŽÏ8TSשà?sVZÐÝ~'%ç6‘Ú}&Bòh[ZÀܹO˜v*iŠ
E£:T|;ºc‰«ßâ'+“g…õ©ô)?å,ÃåJê“Õ³÷®žxHö²SEÁ†WæÆ÷_:­lK?œÀݝjzÈîàþ7c/ùMæ)*Ì~­šŒ#¦•òbÑSò×ßJ±ÐÜüÅvÔÒoZ?8ÐÆž¸î<ÌøÝŒ±™§í’ô†x¦å¯9j÷|vó+½’‹†äÊÏn7⏮)ZºEÒä@˽ˆä‘–ŸŽ¸[ù®4éêG¹ªÓqæ·ÂçÜý1åý+éEÖ6[z¿öúpt¹qèž×¦Ë|*–¬ž¼ž–ì½¥@q9ÇÚÙêyµ^냊¤#ü3e§=2¼2’¾Û¥®ë¨bЏºýÍÇF&©xDsÝ÷ѹ%%Ÿœ=Ô ÑPéìê®5lΙ¡
ûZWüp©¾]äý…Uô Wú¤gÖÉyŒàൽ3TBåRbíeVX¶„vûý
7>9Ü»TŸµ^g¾œÕ^—Ö؏úe|Ô9ôZɉa–bî{Œ\Ÿ/çÇÈ7–]>ïù™ 3—üäŸæ,4Ý¢ô‰Õ«cÝ0íø;GšSw<gð&u,ž~nÛ
Ÿ—9HáLýgeÛ+o_¿ïÞübÖµöI79’UO$+iY㲓l¯5ѾåÞ¾÷!zww‡‚ÊRùÃC;c^\?ûíX™ÊfRÛ[Á[ì3šrÆÝTf/57-ŒqÐm?^º,íVØ}Šî›/ëuя¾ÍÑN=™ÓªBÝÄ÷Ü%£1íqé–Q·•"›â'Å]¸³Ú=tdåþ±ånýýÞ¿P	<c ®î3+17Ã÷¡»¾‡”–Õ×znp9ŸºîLçÞgʹv]äìQ÷ÿâ”/­Ÿú "-¨ÚcIŸÏI
á1#<#Cd‡ENu4~žØ»ì¹Ñ„´)ž—̍÷Wì_6Æl‹¡s{RmÙÞÖ;uRz˶uznôH¶x×»ÿòäãeŽÊ¶Ñ¿Ü  ºM·*v^Ðd§ÔŸb㶸ܬ|?íÀH›†EÒ:jñǵDž%==s¿±>«â¾úÈá—\G)Ùë‡}Èäîù—'›y´LRÑú¨çà=mÊzÚAëu?ô¬ÑÎF3ú~QÓXÜa¡e)¶Ì:á±Þ±EI—šÖ>¼³la¾‹»\¶Gøé¨ËS­SÞé*{÷©(<þÖ$atÂ@9Jì×<Öžø5žoÖÝzj|rþ‰¡O‹s2TJ2!CvwÚ>Æ+"‘w={CóˆÛÓw÷M÷ÿ¶1îJîBÚqÅKœq#Ù[
†ºþª¿6])šÿ1õjÿÝe‰ë¿ÿáòvìý
Sœ«Ò¾$<SyXæLP~+Ë:«c²r~чH»¼SÏ,Ýžîs5Í=¤×°æò£¯³ï쯚½UA¥BŸÄwðF¤êj?–îñ˜>ç‹’mMkB½vÄØ䝿9ÏIJׂ“.´É=÷z7ª|ð
©w¥äÆZïo:˜ÍÏÍÍ ê;&Qfi:R¡-Wý)îhTëëÁSK_­i÷”Xä4‚3»÷œÏÛ®évHKíX©v­È¤¸°åz¢^Ýúý£ŒbƤøOÁö	ž<˜U}hIÌü¯‰ÞAGòÌ6ÿIãØ›Sþï½êx*ü㳺Ë/ËgÔ+ô²µ¦Û–zkQ3Iz­ï1…󍟇¶Œ1×0ç«+VL6n—£|­»Zhk›W­Å¹:psÉÃù†Ó¶%þPWºáÕ—ÊÆ2»çéºÉ»¤¦Î¿ð5e©¬î¾='¾„½}Ê®JˆöI¾ch’Ù/ç‰ñÄõ²Ãâ3O\>2âáÛYÚ÷4?iõaˆ÷]³*³©8töÔÚÁ9;ÞÝcÈ¿
îE9vaè×+á;7{Éx?ñsÒÏX
ï{üÐèÜçŸLT®&Ø­pÛùcÛ­°^ÞQ3÷ìËš\ô òó¶CMu’	½Sb×~{¬0@Îègi…q…”Ñ=µP9÷ôSc’ý
ò‡;7˜„çmÕo:.>þ£N˜ÉÆ
r—,´§UyÚïŸ#ýäôO1é6ÃóÇòçX]÷¹ô0j[§÷™¼¨#ïù¡r»ƒžÌ¶žµlÛÕÛw[¸æûš^¶pœ1øüàÔ¼eé4ÕtK÷ûs€¶{ñýó—ÒÌWöl*=[Ü@ɾaWpÍTÜÊt¥|úªþÜ­zŸ?߶âö²4“«Û,ÎM
¬Ö–¡lùu­›é–™‹‹®,9hp?$zVEeÿ¬´$#»l™ -ÄÐ]Ò
uöjØ>„Û³˜.Ö<}øgþ·Þ°ÊŠt/]Q÷(°®JQiéÖ'J«çnÿðÀÃèÈkæýȬÍËk‹—ýëö6<;F2¡¾ÿ¬Áy÷o÷RÛGIÈ]Ü'N,l_ÿÅÛMë][ď;{}w’t¾µŸÅ;§«Y¦FïÚÊÔw¿OuHUó2/‹q£Ë7VÖ¬n>E‘n{à1lÝÉè7—cvûòî4ñú)VX¨¿¦½1àdöL§=‹f­²>&Æ[Wã»9ÏS•5Y·2—ÚÑ–·#ã`Õ–ôýã7sîÝ¾õíÑðu
^/,ص$ÃPRgöèk%ÛÉo[ý¼`Xœ©ëö‰'’ÕŸ6<µrº)£ûSì©ôÔ§©{ÛvEŒè˜ÈX“6ù²õì׶v}Û›4Ò6ql—Y²ñBú;Œ95̬eÃØj¶OY_Ç°Lµ­¹ªÑí±VF´:sÍK›ÒN›M\ÆŒ=sýdÚ;Ïî÷Ï¿¨ßy¡ÑÖŒëÿnÄšNËÌ›¥Ù‹æfgÏu¼÷ãvæ‡É;T¾W
¸rìUMÕti¹©n#0^öRì°Zqòvî¦!ýår®[Éäô]µô­¦{â¦Âkæ]¸¢ôP[9§ÜVžç¹:¡.*òé0™ò#YŠáÛ
\U÷:}GÜ5:b%מé=ùôT_[eõ‚‘.5ï
ƒ*^%«H«îÔxöÐÛóô·†ƒábjæ%˦^ÙUï­Ç*Ñ’WS²ß;à™m´nYOciÌÝ‹Ö¥]{µç¢â³‹ë‡L<MVŒÜ¶YlÖZ㎋:Ó:üy}·¼I®Ÿcø4Kþ§X€K¨&‡~µv‚æìQ©F€aÞ»ð¸Ï@紁öë{¥g®Sô›~­Íu®Ó»û£*î\Éù~g¼ß 7V–NCò2
ö
î£x"ƒÎãy¿àÝ”[ÛúänÔª÷bxÂrƒa[X
^Ñ­µms\G4¯yÿ|û@—ÇåÜÎ[h­Tÿ^W,:}Åé5ÕâîVy
$ÜcX/Lî°vÔ“W¶nyªäÀ¸5¶åÛÔY‘•Õág2Û¼jØ÷OŒNªø2êåŠÆm}BŸ˜oÙsf`ü½4õc~ŠÝóhÈÿtBAꍈ=&™w¶ËÞ 9$áô€	¯ÃÊ]ÏnhÒ™0Ô,¸lCFyèÈ}W‡šRä¿>Ë2êgêµHj\òÐz§…‘&Ï·x¶Ú9Ëçõ¥ ê¥àu[Ö]°ÐØhÕQ—|ûSÅ™†Éâvµùc$¼õX×¼ÌêpÝSž‡Áð¢{{Ü>Œû¾f³×š£e¯ÅgxLÈ6¶rôÑ]È_Ìó¨ÎüµŸôËŠt71sî]ÙuVY3ÜÀMÊú¥íeRjSêšö籞¿| Èª›ár︸Ü
»Ò¸Þ»¹ï”dl/rzþ=—Þ¯GŒô=üTÁk£ýFËgÃv­lëuo„ÒYV±—lzìFk×}ßKÙS?žuº\qÁOÝiÓ¤ë\‡H´«G

*HÙ͸3_¦~rµƒ¼Âµª
#—NO½|’ãhÙy`³o©ÞË©³..ìûýئ%Ÿ\3›;ýcAgО™_Ï^úêü°ô¢­c™Ö”mqòÏGZ¾zßt’ÿA~㩪mûd”-­§‰sÕzyÒ§q’êDïé±w–­®.½iIåì.H¹þXÍCýýL]§ûw—G¤CVzfïâΦ™óOmõ›‘;lôÞ¶Ùf)µúÛí¯ÔΘ062ÎÒO{Õž—±ék¿•è#?¢fèËM-©#*Ñ>ï$\.׫öë«ðy¸ÓùôÝ}ûÜNýšÔ·‘jS6êJkÖÙ¼Vã½/QþH»¥ìÕ¯<fæ!ãëÓ¬÷Ûºú£U–¿Ëæ[ýZŽT{'w^y»hÙeýl© ”mœåíßm}_}Šž1¸"™>ZÉÛ»Å&K}ôè¸u[ÍÏ®;%tË»Õ?Å>Š{wÖ.\¶Ï/Sö²Xtï…‘‹hÁ}Þ»Ý:~8~×Ú!2WIRsò6ïÞ-¿8ÚEºÎcluVcöͲÜàgâªWi+rü?HyÌiÏœ6½i“Ó.';êM{ÆM…Ý2.QýÎ6—|ºQêÉ5^NzX[_¶I8ïZ™ltnø¥3ÒÆpöÝŒ›2‹–a—ýØÃxò\uϏglßÜöÅñø¨_G?qH‹­L˲—mÙµ°Ø¾˜–wêÕ´‡Á†+?',><Æê{½V½ñzîý#¼ž,tË+
|÷aþx®ù˜­Ï¯r>F')P¶û]÷\!•žeöS,¥þd“ì¤)²ù‚ÕÝ<ìú±]Ëûð.6årÕo©O¿©ZwÝÙÑX¬ñdhù%—žK§ÈúV³Ïž~»ÊØ™ÍegW$fÉš
*'Çkfô›)ë”amõNŒª×áæíY“óªã®éîA¬µawf½m	Œ?õzꎪ†³ÎÀ˜gÛ”?ÍôÞÄ›Ê~ÛRÏi©xƒ^ï­š5u+ë†zzVs
W¾™¾vm|ÅvÊ쥺e©S
Ì;øѦ¹bAôè;C½Â´V•#¿jú³iQ\¯€ïCó2sveýh1LŽ+¸¶ÀÄb»ASãÆ2

»QÜã;æä­{“Oá‘œûúÔMWéê*¶~›|ŽÌ¢k,·ƒç!º³F½t‰[¡s¸õb@ö=æŒƹ¥ª4î@&ßH>•ö%åóéî5·Ä¿;¸rN´Ë±ôe¯¤ý¤|ÿÙ4~Öÿ‡Órþc?=å…±™|N‡=`þ`ÿÐÿKGg¦V×þ¯3¦ÿ·þûäç—ý¿ÔÔ(òV4}JWd hêèhO›	›yé¨MÓRÓšAÑÔÒ×™¡¯9Ý6
£ÈSPÎÿöÿúoÿ¯ÿpÿ¯.í¿ðæ_ö,Š+	‹Ém^E[€qhlVƒ5‡ÜöË‘í¤˜ð9:“I1COˆtüêÒFŒCeøûúŠb
?¤8ªSl}MÁΩTò]z†	Z†ué]Õex“wgRÃ&ÔM	ë-DñaðÀ©ûùÑ9¨y‡La£ûAm¹¸ê+ž"Ö=‰Ë¥û0zKZ÷p)t°Œ:ðIØžŸNÌgÁ6Eà@b®*ѳ6Âú‡–Ô)ö~ào>¯ í—L§@$`RC`³ùp:E!Í‹3 ѹ!Üœ™Â5Ð
5€N¡±)VB.8ŸÓìЏÏÀ
¡³C
ñ˜
†€üWHj
X?lÑGš?„Aðxˆ„NË`	›‚?£*–@ü"çÂEBŽàÁðÃZF"vÁ„ò€D¸R	øw‚  ° :KŠ ì¤}èPq
€iì`…MÎàÀg`ƒh5à4 ‹CëL]À ƒÙúlÔÊOð‘€_ƒÏ­ðÎŒX‡nŠ/ƒãh
jχ
Ô%BÐc>|Ôb¶}…Ž3- ¬•“yxp	ƒÉ¤jLaò 
Fˆ}¢/N` ¸ÑC:o‘PÀ›âX'¤/¸[¸8ÐlÑžŒ`…hg~Ô065Ä)g{3{['gcg'¤õqb’(§†2™•UÔ€]ñR¬Õ"Ò´ Ÿ¢AÙIç!)Šö³é?÷p÷¹žì?rp°ÿÓýüÞþƒö„êÿ¬5SSKgêÿ­£óßû?ÿ‘Ÿ?Ú$d hû\O7ýtÔ4u)šzúàÿÓu<(¸îügãO½ÿ_ð¿&àÖ4h3`"«m
’»A“-¹žº6wéý÷æ\OK’ÅÚXÓM; ç¡UãGep(,~°¦‰rù>x!d|±èá_ËBöge2@]cý`SZB?G椮Á£v¹`:¬‡3ah at Q´(Ÿ} qÁAøèÇ`¡óv†/ç@ñ§BÔàBv—å
¬
 {15_DrH’P0¡ƒÅbB²j “öC…Å€ªÔ§ÁH˜•E‘v?þç¦D¬@A÷\¡îKñ結h€L,Ž$Þ»­#"9 =`ؾ/’I'®¶þ,Ö^:ÓFá`¡è=È­€	F¦)—Ï¡%Àh4F~ÄÉûC£GÐ`Ý iŽ¬3a_^Øh,Á–àò‹…Ž?J4×ù!PFgO¥!#ëͬ§FÌ1|t<`]"Ú-×ÏäÁ
l̪Ž½Ì¸y
ö•ÀC0¶6ñ&lŽ}MQCèA&*·Äž&0ŒŒ&Ý1Â	º¥¬ÌÌ!§òeòi@ÄóylÈ4}‰
)qèÊ#…¢‘7¡tï
X²VÂÄ8|̆c (ñiðè¹tD$p$%me|á]Öø{”¯rEÀŠ
¤ú[Ì£#«a¶=ˆk>F@¤Ÿ`+…@ÄÑ
W)Æþ@_RÅ^``Ð!ƒq‘Ñ*‚¾tì%/¹ÛZ kç‹ö‹ñAÌžaÍ„þ«v†žSpFd$7z¢.x"]Tô¡Éˆ‡¸@±vŸ"—T~à#
&˜Bè=ýˉ`À ¨ýÈâÆç_)‘8KÀÔÆ`hv
úWùPL	'/´²º>†±jhó}pCœ0È1t`QÉå
KqG8jS!ßåbҏIEèÇ¡‡10½'9è#˜[ÏP“
ç"q-’E†öŒ‡¦‘j”#Ÿ‹ËÀ½€%‹Ÿ;t‹‘ãYJD’R÷‘ð(‚àt¹Ê]fŠÜ3Æ=»F¶1|F°à²±
‡nìÌ^‘´Ö›ÅŒÄÅN0•ô.~PB<Dh£ðØ!\Œ?B_(”ØXÀäp*—Ð=Ìèa(°UBè˜ÁÉŸ+Ó3LPD—±Ð…³%й+ÏÂPšÅ¦B
ÄÄ.ÆsÏJ-E
g‚ôbu	È¥C“*…n	„‡FË `é
¹¢G¼.–(<a_‚ÌIüžÂ°ä©`*ŒHœVB
`Ÿ
t%È8~ùÒÈ­ÎÙÜÑÖ	`°§çwq2W¥8š;8Ú›¹˜ÂUÑSfVNÎŽV&.ð4€¦:Å˜Š,,`ªNlYÀu€Ô{äOA`V0‘ÀÌ„Y¡r/ þrØ4>BU|(tà".l@ºpJŒ58aèÃ¥h
2õ0”ÑxD×Åæt[˜
4lÌÙïƒGÑ©hl2d›À(J°t<Ü
ÈKYŠxþÆ‘U&Ÿ:ø?„IƒÆ‡cq(düÀ G€Õ2¸]åÂ3"ä
Ž¥ª9!¾$‹|ª]1-%†ppÇ,¢@`eÂ)‚Ù4(0	C°Ð’ÀÌ6&†0	LH]²Ã[U”IãÃ`¨ôïÇðçs0&ŽÜ®Â¥Û#ÇU÷¥cðŒT2±¨ôÓ¡[ºÀá
C•á'LÈ R0ð áTE7ˆÑe›P-B–!óªaÛÄ®
ÀGD6Læ^(ƒLÎAÈL§1¨^dyÛnlNP7¦
ü£ÊC äÁ]&z‰ÊHGœ,š<¹ôP>v À×Pá%‘ƈ´Ô)P­‚Ó
4„fҁ$—sÆ‰ÌÈ\]ö$ˆYX3Òâ^
OByo˜TV
,nÍas¹j`øíJ¨?a#‡*“Îå3xp«Lº¿HðÒM¨_£H¤WüƒC2[87µ…ãø
'’ØqÁHSÅ"Ù¬È.˜H¨L„1ŠS
ahiy„V…IH¢ðô\¡r	…
åáÈ'€.a¬@[âH'{†ÔžigëÊ…
—Š²[¡Ó «‰J~º/EWù—y&”ÿqª	aœb	'$7©‚„™#ªx&*dqº³X
<?Äw%LQ€>}&ïµçý‚¸1%f p•“m…¸§ˆø€NâȘ41î@GKE°É>|ø6‘ L@)QB'¼®‰.)3ñjT,ܧrø ‡†>7°nè®æ`1s(ŲF»ºš|ácŸ0XD2!_%{”~'V·ÍdcïÂŒ’ï0åmÃmªH'àÃ…ûQLxŸÅä™Ä­I,‰ƒÕs&J´çøŠÀ›˜Îˆñ*è]qøg:•Æ@AR<õÕê€@$7àÃc §N1F7" Îg6
jQ¸@Õ]”\»n#´Pß
É™Ïá£e¸ç–ÉDw'p'ªjw¿±O$®l7„UìÀT Ì‡“°‘¤6
Ö‚!°¹”«=¥Á¡ïÀ#Vôá"oºÓ×=ó~‡–.ˆ%ç¿|AO£õ&j5P
'Þ8Å­9U¡%ïÇ Ã˼@@0Ùxýty
`¦¬çBYãCž	\Ú	ËÖáUù°ËKZ¢d†î—âNƒË(c͐™*¼ë XnÄ6)6‹®G~!„"£ž¸#
K8Âk-]®\=‹á
À2tI™]¢6ˆÐ*º†Š§¬`—QˆÐ |Q€Hy°,Q¿¯[ò\&vé†ÀarDÜUàž:9¨ß
äßuûçõµ5§u­ÿ?CKSë¿÷þ?¿¬ÿhfoêìî`ː<’¨
å—âäîälnKQTW×@`ÿV§ñhŠÿ½@ô_±ò¿@$.rH\¿@dÉ^Ÿþ³kCsaH\ô8~aÌ%zeȍÎôeåòºV¦…oˆK”3£Ýij\¾qmȬÏFÞ
TðwNsè|”Ù‚/ÖÒ'Ïüæ*6¡s÷ň^N
Æ
þA¼g£øW_ð>,Z Á«à%#dåÈ›p@ðÁªgŠ~†ªcAVaL.ȃÊ]ýq¢xBOósù°#Hõ¸D§w¾'͏’a4„°¢Ó·Ï‰kÉ=¬
2.D¡ÛóKÂd˜ùB§L-ázm̯ã‹Åþ‚+…¼OG
¡3™‚[û€’©L?^€=,Š?ºÏÁ¯«w_YìR™­ü‘èNØWˆÍщëxeQ¼~ºkק]Õ'2Wa>9äëðï_b›Èd`átT¼Xòô1…iõx‰*sjCŸ„H¥<ZŠ.ð³Ô%:jÀ+ìáXV4L9Xd`ÑS:vãGí¶îÒÛ-…øõç µy^‡$—‚•>P%x)ÂϺyÁLäêcDÊ	G±ì>
~lV ÀR¨Ži„ð}4¨Ø@»š®1m††–QœŒ(ʃÕòC¬Ò4÷Ñ5Ž0_£‡CºUÂú°ø)wå?xuì`üPE`ˆÒ"Ku
.Ý°ª­€ê°ëRÕQ‘I‰Ž…+µ@gúŽŽ	‘±wS6½>‹9`…Ñ@(!
êC¾0¡©¤8û!)G$¶
‰&q
K‹‰.žiñÈÓ„¹!ý˜ŠKYA-Ž@6¬Æ•ÁoØN‚M
áÛ,	Q×M'€Ìgߢ
€°	Æ£ñ#èÈ)"‹5Šà±qo;™•wð?8Ë‚”²|¬ƒF§b¬O¯– t‹¡ãJ‹@?
Õ^ Ð6\4P,ª$7L‚¼‡e{]„Õ
XÑç‹èžBvÊÀƤ2JnÇKö šÅjºÃW`6^L/AL„H«REÐ1ªqà‚0ƒ(p€¯ò—šf·ãí¡k’*–±ìŒoªo**ª…
¯bÅ”
ÿªf+4†zØ	7ŒEÞTu|ÃÔe@@€;É€*9Rð^N@Q»ÛÅÁ0_÷ ©áwóp
‰Y¢HIÇ'Õ}ìéGP¦ôO?"•8»*ô4ŸŠ
k(g2Gä9r
2ìGMhÂb–V$Y^cI- at e¡¢œV}ŸìÓÀÏö7›Ð ïâ_ÞnD0óïö+ú`OÆžÄ{~¡
PSÁÛp1.X
Jƒã	`µLT‹ä/wü‡½þr
&7ñ#.ˆèza¨¨WLÀ»—EÐõ$…¦Ô„¡4
l…D
¦øP™T¬Ï]X$¸yGnÑAõÌ|ä
)ߟÇV)j]Çf
®µ‘fˆ®øÌŒ`üBBO¨BÇ®z/	B7¨J¾`tüMÌ…LÃz-Â'
ЍäF6Óæ@W?
•Õ‡éÀNý¡ŠCHX”‹ûhcÈ!¸Û+€°>j‡@
,[Î&¼†ø5Y¢:àŠ§O—Fjj‚mЖÄJ ·]ˆæwõ{`CXÒeß°ì^	ž("¯
³<¬;
5ŒÍ aeö°è8ÒúÂVñL:Í_„jàŒ
 &ì<|Ù잁°ØœkAïÁAᝀNœ–€ºWp±àáæ\˧2±Æ5hTxgB¯¨
]bØ€NQ<bì<ñEÃÉ°Ñ°ºVÏóÁ¶É"Ÿ,SP"ƒ¼WÓ@¡rz0JÞÊÿh»öÇû1X±þ–Dèï×Gô+r@ÏH/Dg@ÍÁX
âJ ŽŠàáÀÃï\w#œ!1{¼VKgú©U÷Ç.(è⚀žðËWØ5u_°{âÎ/
KqâÛÀÐ!
AÄèrZ¤*!ǵ	ù— ÖKvá™!\¢ÇO‰Ïý×hÊ;?“Ypý–¢ù¨Ó1ÅÑ
¢¿¡+ä,”Åa-+ ¬ß Œð8„µ±"`=8çÂÙT$%ŒÁáñÝyQ–•
¡b9ávv§ç`%´°T´g§ªd qðã'*aÉå‘óÀK>Ù_ÁZU¤YŠÆ·èxê
èʘÔÑâ°Z븪	O;#ª‰i°×h¤špž®Z$<ùn_‹¨”Ö¨ýòù?(šsÑL…[Å ÍíÊ
±ýRF&#Ôæ—Ê t…_î{	#ÒÆØ~Âáài¢ÆC‘ĵ;Ás¤(	óy¥Ó5eXçQÇ9,‹ÁhÌE÷VIBËàI„C'-0¢ƒÀ¢4Ó)µ­*4v{—Ìb`Xø—©EX–ˆvÇæüZ!ƒ¢»H6Ç$º+xII{Hpè_ġņÓ&•ZÄæ§úpÑ•ø.ú F6‘âk"C`—Ù˜Lk]^Ä}YxQ	^ˆRñzdë‚z´=ƒ
ûOÓô8´@Ú'ùÅ“@þn.VWU¯ÜÕD”¶Áðvü]"&Š
,s«`}o{Vÿ¬˜FOÜï$Á׏”á.Ð"ùûßÍFƒ5…1ó^UpyŸTœ_Œª¨j1BIø—{"i°È7
+Î	3_¨èB5°Ý•¨‚Å…1HIžˆÁã
«á+(·‰2ü|…efàeoÀÓ9ʪXÝT@‚(8ßÝa!PÀáö°z‰Ý…pWt£a‚d1‘Cd§u£ì?P´
£õ¤lý…þD6”°þ8Xf¨ Ò䄃âm€ž
`±/”1…Ó+Î#Tñ
ƒ°Îï"h§„
ÓMG¾Da ¯€pÃþËð…Aªž£Ax\˜´}‘X6Þ•	ºTÉ3@͉'¼Ï
ïG3PÁõ.PPÿ‹Ã
&/?6áŸÜ.9A¿—a‚Š_
÷Š%ˆýKŒ)!è{OÜÜÆotr1óŽ/·BW?]X¥²î`Æ<‡—ÜùEàˆGäáGGLˆûׄ.º$QŒÙï	Œ@ìñß“šÿ[ºÊd\ÙÅ/Ð@Ȳp\y‰+Šd4ùÇh
ö( kKTk‹µg}¢«°1ÂbQZêÓÔµñ8ù[ÔìPàõá°ƒè‚ÚF0kŒTÚ°»ðá9ú­.Cd³ú”i]¾Ù >Eû·’™B€ HJ)¢SË—#¨?֝ݑ9]×cÀôTãŒäŒEö¥Ðü¥(‘…¾ª@ê+«wMóí¦çˆ~8ÁVÂ×þ4±FÝ_5ň§ƒ3ýFãE7)Ì)¦œÃcö†lXÓ\oU¡%„}õUß‹ÁL>ˆ‚0ÓWQ‰ÚP]eÌtu=umUÜ\ŒèºyppÓÕ5§uÝÀ?ÔéD9–p÷¢jÜ1ÃØ}Dš°ñ¼¬É&oâ(Ä)`pšâÏ›%K¡úñp‹·Î¦Ûãçýxã‚#Ä©H„ìŸ@ÜóÂäºräÓ'µ$ï†@´Òapà…š‰æÿ\Uùxm»*¿‡±-„±Pù¿ж
ºjó„ý(pÃ)	P†Ý¤9‘$¤ý¡G²1U•¨V†”àë¢ëQÑEn¼Â§ÀÁ.réHˁ%ep͘JBÿ	fá¬'²CÈ7€€FCš{j£ð‚“`uáHWíâÊçbðív
ÂÒÎá[…[XQŽ¬OwÓÞ{VßQô
ÔõEé
;Ktáì"VÆ]°Ø3ìØ…êrlUP|n[˜¶ßdð„]ÚPy:OÀSá$L*‹P›X‚–p‚p=°ð˜º,”p*úÂ2X"‹žÕEz
/Yáʆux“Ö,Pòº uŒ
ÌAÝËXm–¥eÓþu•Ç¿÷%ªè@ù‹™äPBs
vÔÂøš@燅ü2¨^$—.Ò%Þ8Å>Üy¢‹VÝ„Nï"@„ïC–Iήê§ìbÛ!0sª(r‚6:—Íî’娩D󟤮0\ŒŠk N¶@ÜÂZª]£ÞÂÛ¾¿ì3XuAK]`"¡Â½x©_ì.+\)ºò„‹+äÈ
²¡v‚\ÐÓ«•åRý€>tvt〸C€G`¸°Ÿ=áèC=j@º8vWÙ€l¹´&`,¤r˜Iuä#œž=.€%¨@¡N1YTÄ}„žŒÕŸ&
¾°ÃHµð^<ï;ŠiˆØmÁe-At»¢#Èv"‰q¼ÌãƒF"?~ˆà—nQz(ˆøÿvE¯öóÛúox9øÿi+°ß×›1ãÿiïݻڸ²¼áùÖêïP­ddtAÜlc›8!clÀIçí'«WI*‰²¥*=U%°Ò“ùìïÙ·s©‹$0&éizºTu®û쳯¿½»ø[{[{›[O¶Õs[›ÛO6—øoñ)Á›	ÿ¶»„[¿}‰ò]Uðmçȃ¸º¼XûýÂn.†Z%ˆÚÚ)‡ÂÀWkX†Lý—¤fï…Ÿ$¾Ö*d[ÇŠÖÝ€s!(¸¹ºrš‘’iðÔ CÔÔ›ÕÝ	æ!¢û®¼C#ƒº}-\6*kEõ8 £ÃË×®ºKÕ]‚a`Õ¢¦‡µÍ\¥ó
¥qWî(IëVj×£$26ÛCï@âKÎ[¯ÁÛÒnnÔ=~U²·TX at b[{÷˜wÝ„I¡òµæŽ_öÞRÑGÍÊ‚ísæßPM¼9"PýoƒN*ÒÂ_Õ²‹.ø
ð9£¶
A‹>¥°P¤šcEeJÄË)…âЊe5UX×Ú[Áۏdö†»¿J±^—0wý¬’°ðB².¾CÞc¦‘c.§¯ìˆÊzOôµe0ç>dŒ†žíé\?„a¢:Eļ2ò‹3oŠ#$GBX²ÂTUSԐ°;ÒÄZRÿ²Ö§ýò5€˜ÿ##‰Œ²d}¤¡R·@ËÄJjø5 Ùʐui at 4â§|%T¡Ò-Uå)êìH¼[9MqÎ(­²a“œ[V²¢7
’ùìeå¡f“ŒS—ÖÃÙIw?ͧ5PŒÄùaÒP@ÆiÈQ
:Á}Y¹Ýú!@TºÚÊr=J ÈLvQ±<(Žêý£ï…#ñ
QŒ½ö0üö”Ú|ƒa7`
oêULÊžŽö«¨ŸT~„%b5Ú’ES„ItÖH¹õc|›ÚD#‹Ie•¤«9m¢÷=‰¤ø’;$0÷ÐE¢UîÚ³T]±óÇn¤ÒÍÁ¢~¤°^Ž”ð 4Á{ʆغȕúP;™„ƒõŒõ°©ÞµÏIÂû
=´a”^/º‰¹yœ!/·»
pÝàó*Ýh­ÚäÙ‚ZՁŒµàgE“_?†DÑ_ÓP̾n;8.Xa½o
Îm°ÇKmE`¦B{±h´À–1OM¨vEO[ãüÐó~Ñ$‚TɶqC©Å
hÌ}õ™‚ÕBÏÂD9 …Í£†ú1*9u¿rå~­9£¶¦	h¢¤Vl˜8<Z?ÃlJ͹	ÑBôýî"AÏÁ»à7à¨
*&J£bː›ª}vy”‘º T/ŠMC’ui3?ÐìÑlæRßYrÈ_ke½”´r,Åì4S7ÁÁÐW
Ë
=?;&ó]­Ô#«„USÎRm¶ébëÝ÷`£ßù5x§^£ö¾V<{‹ìôJaé+Èê¤Ú¸°;(Ô÷IäýðãYêiSsl{ 	cñeø˜¥šs8šŒÁ$¢~°O4Z°]k+QÌÞ8£‰‹‹*R	\ylµ•ídÆs>«êÚ*¡™ßROö”n?<¤‘ùÓ‘äÕhÒlä0°gFsÚÁ¡ÃBãÆy#/¡÷Ј~)Æñ¸›î`|QŽ¨M ß®9ˆéGiFÓ3=ç’÷¤¤»{R›ãµ*¡´ÜáË–à<-f[£²_…¢n•Dž,‘4Ù3@è^zÛP$žRöL›iÙÂԏpvƒÖx8„QÚ‚Îð,¯¼Qÿ¤¡ÐÈÈéÓ­{þ$‹GF„‡ï¹¨ëä<y‡QkÚ<óÖGTÚw}ï’Š.‹O¦|Ñ_M¸¦Îk‚ÌIÇš‰zʼnÀ—ÆO5¥±£žÕ‰"ëâÏdy£I%Ú±˜¨¤ž*MTõŠ)ìYl³¤QoÜ¿¬d®ñFštÙdžU´c+9
JuºKN£"£5Ž;-²x"ñ(îÏáF#â)4appiŽ:Š\Õš¾üúÖ¯ö/¿µÔ³-ùCŸ›°ô¿Á¹p«£,Í ›YÞŸÚn"›§XÿŽDŸ­Í>ÉÀ®ðÁA…ý -»6˜-A8yAO%ÎIÛ§£æYÅÓ8Hi)¿nÅäIõ)DW´.¨³Ã·§¯O.¯šg¯‰{ò©#?Ïs4hža£?«<ºǃêㆃ(Ö˜meQ½j~Ê&¡TÀ8Fò
H¶‹Aõ•‚<UOr–î# qü¨½Á­¢£¹!
ÈL-0Ô؉‚œL	Œ½4‡ZçrG?B@;H£ÞҝE)È¥W
±øºšæ×]-EDN,…f JzÂTí8SˆPÃ
Eåƈûû¬¬"a'l£¸ýÂÄ—U2–Õ­én.´—pXi¨–£üÈzæ?Î(Ê}EjÀ
¼ÐAŠ#%vpCÅ@'Ç…šE.žâ P*èñ2ª	Š‰4¯[ñ$Bà]
„wFœfŠÁõÎóç8(ÅV.cF¡ˆ+Çs©}ЛpáKuºÄ{BuuEò,ôÑüÊ&&O¡Fà}õdwK¤‹¼èG¨ù1ÀréY8HÂœ"Mû®^)zYDsÊùwlÓ>1^¿×K‹Z- SŸ£ÁÙAèÆX§¥×£k••4
oÏ»é>¤ž¡š„•@¼o¦²È‹?ÿíèøðêðo«$)~+r$3:Œf‡ßPãÃ9ÙFc°ô×S¿zÆ5÷×t
Êé2/×¾þ8
Zñš—›MI÷€ÉæÏã;˜9Ö4éÎkÞiñ%ÇúË/$ñ‰¾Õá
¬{‡ù2ï
]BÇžÄÚ¼ÇtYío0Ç$QQµ›Ú”>16$y!k#ë €‚0õbÌ’nù+\„JC}éHªÕÁ%თJþ¢ÑÄ1¥
é%énU™«™'+^êaÁTª+›Ç-ß`a¤~j¥‡À_¸Gqô«+,"báÓ²Mp¦¶IH¨Š7ˆãž™Eµ‡Ê¢£S7fÔÃÄò¬d)ŒÑ9ø¦YnVu¦;q¸ ’ôÖŒ[‰öêâ«þ	üÌíÛžÜ1ÓK—]çÓ—+VÁ<®>ÍI)®¸
S×´éE^²nÑf¡7ÈÑß¹¬ŒS;éyheGç¡@dΫ²Og'W‡Ó·¯Zµ€šëmªîýÔˆIª9feŒ¸VK®kœ)û´É™—è蓱&Ƥ¡Ý°ˆŒ
Æz+;’Q|»à~¿›Œu|«w˜ÍÊ”·¤¤µe–)*`®Û”	¬‡:ÖÙ:`Å©”1í½ç,
 ÁÍÝïâ+wÚkÖÑÎUNÇG¤õÌ|–d…,°
'E˜€0z at vî	›w‹Â73oR3±ÒÝ¿–q™×½uÄ°eE„Ï	ü sFV,S.•‚ø¬P
D'*‚µˆ<6Õ>`o½œ”6œ=rÀŽù7°×R–ÃÆñ¡®¹…ªbV¸Rv(ÑC%Ê—õQv,ók\ô$6­Qæõ_ÛcT­–j…Ô4å(¤3¶è1ÔÓ¦¶òW+Ö9iÉA{T½ô	
é4¹¸ jQî²è|*²Úû¯½dV¦ÛÔézZkޏÄt¼~ò·6è	˜…Ñ2ßÊsx|îgײ/ZÖ—òœpkTüՁ}éÈwòZË}ïEË(Q‹ù6e3Dµ¿)^ÆWˆ¤¬P¹Þ#I¨vþ¤
Š6êã‰À®†Ž·ºr.EbKÒ¸ÅûÊh/}JRD¯ÿiÑw‡Ö¥Þ7¤^ÇN¢„¹o#Éí	bu
Y£x8¡S-*=gëqaIè0äæ#iÔ6Š÷˜TÎ9G	b\287¸DyíRS	Æ‚:sÒ†Öÿ›@±õœbøÀåʾ<¾ÿÝTUã<GžEǯbu63	Nò±×[ÞÂìý.stX)òiЯ3tMôè	V¨Ž³Õý0R¶!g'Ÿ'áÅf\±3Œ\‹Å
b";Êo·«;º3Y±dAH¤\Þv‹’¤-:Û¦hBWiê
ÀÉÕ÷3LÍÝ€¨b#ò²óÏ«¸ãý‡	š¾œΟþÈûMëϨ7U¿ÔgÔàÓ¿©HåÉï·¹tùmœ)0
BŒMÀm&­)8ÍT	…™‘CŽõrhaZNÙ\µ÷Ï>Sé™vG>«&LP(˜³av&±²‹‰2¥Ðù÷@@pg™LKup->™¦Œˆì˜7ÀÏ‹>+À¿¡;Qö?a•aųý•WišàžFòÔX“¸Š“q¦ã
¨ƒÆgÞ
±„øÞ4¯h£T'Õ2NIˆZ Š÷W
^ã9³q´Ëà)*ùpI°î+—ª™š‹
­9…À+ûÞ™JØ"'à¨b›•ßÚŽ…ˆ°Õ^6½ã¼=ŒZΏ6Õ&! S„
o$Ùeõ¨)ÙÝؤà- Tï:\àk€€Ø@'${J#$YË÷ÙÑ&RV_I&y¬‹j*¾
J9`éÂག³
|Ývã>Jü„ÎS”Ø>'ŸvÚú5¿‘ˆý€)TcàڍöRIž6†a™®q#†o¿ á­ð n÷Gê©Öj$ ¥.YŒ˜¡"áO7À£ó\æ ®_VBpu$®ÐÜv£0k×Uî:Êsnò…äãü^ÌÛn»ÈŽqž«vß}Ñ͏„¹èäóó>
ÁCbZ£DÞ
ý{bâdõˆš@(Y±¶Ÿ‚¹èòbŠóÒ(ƒÌY.槚fõ`øÚ݃z‘‘+>f~ÏÝx>k at ezùùuô
am?·üßœúííí=¨ÿ·»½µ·ÛÞÞ„ú[Ûíeý¿Çøܵþßβþß²þßCÕÿ[ üßkôŸ\3ê¹âEý
ÿÕôxÐFÇÂ¶ 6صԊ%ýòaÛ¹þÚìe@~xk	§™`q6!Ïáw%MP}5”²,ß:•Ú ÔxŽõС}Ø$¥]ØÙ™õX8a«H
9·@³¦¦T…ØÆÎÕéÁ'
ß‹ÎÈ4#O½“o_VdƒBiÀ>—4ònôŒñMuvABMe4@|¯¤H³›?AÂKΞw4§$$zÑ¥lµßH7?pñÚ±yV£|…¨šÖÿ(bnÁÜÍŒn˜}Å^ÑoJ^W_Œ¯¦
ø_Bˆ7u¦!º)ÃLÃA²ª¡)”‹±ÀÕ˜i'ôݳ>Ú$é`50 a¥á
¦†¾œ¢”isU€c?èùÉR]Ü•'/n¡:§µYtàW{l`a]J¡®³0•{¥Y[åÞ~¶¢Ztœi˜Z”È0«.ɤcéH³‡ÿߍFƒ•­–ý*]êí–ž&}/(\-Ïû™—ûí­oh6/-ý2sžða鸱ŒŽ#÷j
†<ÿÖ+ZðïV”½à“¡ãó‘a”S}ã@é‚­Aš©šEH…bÈ3`>haÊ™™rh°ºé> Ñ…‘……5_û@‘>…‹;ñI¸/Šy!Cy½
q„…åóh1V’~(<?:_7³	¿Cø'üK21ÿ6FT5û_ÊXwK³Ä¼i!ÀB¸—&[Ôza8­Üxä{ŸeAXñš4BS:óÈƲ»éøPzÀô\1{o±éWH#Ù—X
s3ÜûP˃ðE‹o¼÷Ç8_äÜu-îpÊÎ
 ´±!Ž:±ˆ¸5ÉÖ5Â&§'}åÝ”$S`.Â:N²’lt·§ƒ×uØZ#š-w¼ÀûáHJ
Ÿ,xÁ–Ö‹5tu,åŠðìE!'tù’)ÇA<ÀÄ÷0°´F!¼”8IkF¢A1h׋¡Âía°s«¹Ï®ÿóµ½M¹-üZ*ÃüsßA³{X~
_³Ðq§ésZ.
Q1Ó=ÝÝاñkz»\I~2Jí$¼<͉4¦^Pzëj!Þ„ÑäÓÆ~Ž¾–GÊ
,+Bl~åZNå?6Õës)ã´/y¸Ä|%ŠY	çt™´x‚˧›#WSE6‡áHTêúfàÜU5#¸‹a÷µ—®€~˜3’ÿzí^·³ÙWœõéӝNçéîn§³½õ¤ó´ýlÓïoïyßæւסÊ2~d6öLË"ÅŠÚB%uNËññþ
yZœ±È(u*ÅSR(™·˜~@^XT­ÿ‘•À{¨ëb@Ӑö-uš 
‰ß2—–IÂÊ°bÜx>mºBˆGWÀ¶ï¼õ«k†D"@jÒôÒZáv-’±v€í©ð-†ImHé\«TYmÕ}yþk ÿ;3äŒã5ãDyÐȾᵓêmn·6Û­Ím¯ýl{g»í}wvÅãaþn³w»¥ïÀÑoñ^0:<Ü-3wÖ¨ªxÓBóÝÜýg™¯Ãôgñùæ½½¿³õO5ïj
·~^tö[û»{œÙ;Ö’ãmtÁ\*E¯œ©1ïÓj¼Gz<ãN(I™ð›…ïY
™ÔMŒŒ›fæ{0u4lAÈ!¸f@¤¬Òð‚Œ³1ÃÑe6íÐËB,
;÷‡½ºœÌš7ü»—vÇ:T•?¹"ÜÈ›ýÿ¡¶ÜÃôionþ»÷ßßÎûü·zôéNÛû¯WðÒææþΞ>‹j(éµ×J÷žÛý\=ì}‹EÖoHwÔn"
‚‡Õ½ÔŸn°Z`ÞÐ_$·
Œ¯¹ì6ÆK5ºp%©a)3Ž‡Q/÷
jYhʳ&ü­¶-TM÷8/6Úap at bÚ8ay#Êœ¦‘'’Ö !gÇé"7Ëã˜;àŠÎøÜÕu ÕîRñU§$8|u¡LÁ¤H,ªg™R
ø]xœv,½ÖPýÖÁƒpo0”ç ùFǍ0„¬d’ê‹À±ÄØ1EŽ5†B0â3bÅM4€b˜¶ŠámTLÂ/¸D‹P¹PÄ2¾qñ!‰[÷u¢}Fa^6v°‹0Wy?äD`$U…j¸®jÍ&É0Ý`C^ú¸X¸œûhEâ
lEm€]êE°"–ÈòÓ~bMJ¸¸Õ£åÑÌ}0ml®–ì2È=ëçŽèMˆÉ>ñPb8*ÛÎÆÀ\':=û°?àÒ):YO7
…±‚*¬/½†—ÏsšÚ[3eû^nt9]^,B\\¼Ø6wŒHBð$ƒ½i‚ ˆ»CJ:‡[ªÔa5Ö>ÄyûpÝæËÔ6v U#¶ÞÅÍÑG¨^„T7֏‡[¸q<’…£›êk©¼FsS½¡zñ]0£PegÄùp’€bq9KI.–¶›‘.&Tg]zâ+Ÿi,I©v ¬Ö½ÖIÒ{íÂÖlÔttÍcT«=B jGXb’5â~E8žM/ãñ®ž®N¢"ÓTδ⚀žÝ3F›
Š.漐»ÁšXSêÄq¥N»=™¾)“ÁqB.$ä²Ä;1	ҏ.ëz¾Mó=è‚…hV*eªS<Ò.Üžå
’;Šßµö¦82æOANŒä¨²~~N¥”ƒIêˆkýÝ™â;(†Àƒ‘"~E„õB&š-ûh´_^k›D4Ÿ‹GbB9®[ä–u´Ø¤˜wÞ¹{÷êÚón²w%¡*uC5<qsóyÒuÇ[MâAÍò–³aÐs½uíó‡$¤á´XD»åo±EŒ(˜Ñÿ:ÆKÌ)òäÖQÚ£)$ s`P¡	(ö‰¸
Ðàƃ¼)ãû‘mAŽd%FV¡Œ
nv9©i”.ŽuÝäíEH	åàž`bIï€B§–½µè-Cå.òo:¾@(¾¨~Ç<pVÑýLœ„ùuõ
Ì2Õl)~¸Á<e„»‰u浑\­°v$ɁÙiè#Ä4]TAkÄ~,S3Añ«¦Tû6[.÷/úàñÙü”Ò;Ò	(íIØý˜š¼Ú„¤Á>Ñ z*XÁ¡/y¥±ãs”uÐ5,=Û¹ÕÕÚͶKk5–k{ôf-·95~§Ý.Zœkô¶y‡5ºPª†
žR&è¢ÆÓ]41Œ¡DWÇÂÇ$iŸD¬Ò(Œ¬	ø. at S¬Õ‡Iw2caø.‡¤{éÇpL,±üTÚL$¹èÚ*Í'í›=ò%áHǁTYâ,؆=Þ\T-ˆ¿ø^RK¡¶ÜË+0¨§
R?íðÇLC0®<Ë]XŸ7×ê‘Ú ¹®ÝÞìþ]­Ý}×:ry”=°°@X8ëJP²MàZ@,,0ƒœÔs->ZJ62Yê]JãÿÆ©?*ä3ÆÞ‚`†ÞîèÎ'vk¦¯«¨
ÁX‡Æ’z´Æ $xbõ1“9KÉ®1É^ÂaÅMP1¶æG€ü!Ødß_½±‘ÈÞ| Fêˤ
óŽ-u×¹@·3:è@ô°Å¡aÚàp$¸¼Þ XfƼYUq’ÂðŽ4åÅ=TG,M-WW›[Ãæ‰mýÒpÙíFÌN63Ü%k‡J(céu!W‹z±aŠ›®Ùèõ5§¨-\êbhŇy“©PjúQ|¨ýŽº%è„. n¤8šA&VR4бÓ1BüI0µ•/‰XDÙ:£‹ÖÊy1§4· Xý„r[Pÿ!#¡}Ÿ¢ŠJ†[‹¦„vòã*ä¯æ‚ò<¼s@;/ד°°
®„eë_XtvÊt1¼.{%Q‘ÂEC‚%¬ÓÝøÚö‘Ò¦üNW§äV±
"hÏxO´"ˆÔr+³èe6ZIëøÚ±U,u/Ò|mœxèP„ƒÓ󧀩íüxš
ÝÙý¸ç…iW±d?
âI÷J‡ãX課AqQË»†È88D$°ŽèmP—³Å\´eqãX¥7¯áv~\£¢×c3Fkeq<4¥2JØ	܁Wtów
62:J÷C
™üù™KuU¬Ý‚6«ºÖþH=¢\£?›¼(¨w©±Ãg=ÂòB)ur7 at zMÐÛ°&ƒuŽ$ÀŒ«…r©P–Ç~':JÙÜ"µ(îPqH*üB	Ø¥`ÎíÚ1X¸ÀÔ²ò\¨BSnµöùe§h’¯{ VÔ_XÅohˆÖœ9Ó
dÁŠIJ¿c!‚ƒ{Áv-õ,ªGÎØ°lL%
8¤$n­)6.Ý`Ve춑;€"´°EuR´–ˆ!®³É2D·'=†i¥ŽíÖR%|=ÇÖ¼ÿ.<ÈÇÝ«$–¬
®{õü÷¿ÌØVœÖü
\:Š‚ÅX5,<,66àø«fÚÙàRrŸóÑ­u©ê0áhMér£ÉŸŽS˜ÅZ6¬*³b
Dà{µÖßpÂÿíöØù	©C	
R²nŠ4Øêb¥ÐøuÛ|‰žÑ¦ŒÕ§Óš´O&/Æ«„ƒŽIg›Jð"	E³[¨è¹÷®Ydü›P†7Mz
ì%FñˆÔ0qadˆ%3µ3íïÎÃs­=ÈÇâä^”¼_:ËŒ€*™ú˜•ã%h¬s@йֺñp¨èL2€¤ÜÃx<Âȧï)	žïYŸ¢
c…4˧[£86£Z?—Lz.€Ø<ŠîÕ%ïÂNçµ[25­Ðá±[qO,ŠÄ£0
GŠ2s3å¹aÉÝñ$ӍŠìXI¥žç¹Ó,óíuì}T"DJ%´ƒ!Ä·ý1(„C|Œ8gx,µÈVM
ŒÊ&`\Ê ÐíÛ…GvãˆnŸùâáÃËä«/´ß$èûêôW^‚„ôi4ŒÒ}4¼¬}€¥?Ìoä{%5O¯Ú£@~¤¿Ì[ê°¾¬a¶£þŠ5Í—5þ‡yx’‹‚›_%ȐѲJ5³JlÅÖÞ*mêÊ;UzÕÉçœÉ‡FÄiöÔ/&ï(Ëûlgo(Bk`rÍ4U׺8ß>ì›STÿ’²1›ðNS=Û„rºåzaRSO'ªÅ¯ÿ1ŽGÍA#¤Ì`ç}ÊÖ×ðÝ¼Û °™µ
x
ªI‚€(o|mã·šÇð†4(XHÆzàÚýBmê>š-²X½£™Ñìo5±ã{8õ
Љ¾¼øÊïS9¹¶lAmÚ´
޵Ȁ‰ùÅ*ÕR27å®h`
mƒ‡½_?@œqS1’/Áú¨Í0=·PÄBßu㐱H_/ÆpkÖUw@Ô¥l;Yx²‰ï¼ôr
úQfâh©ðN·œ¹±ƒ¾«Úì“•T5‹†ýÕ\^ÚÙ{óÍë‡]a°Ù6?¤Ã—Íf®P’m%„'ì Søå0ègö—ãðÍ{i3))ó%¹ÝúRks
쇥‚ÌŒhÉZÆoNW& “]$ï“áËêbb5T¢Y’”Ïj·Ç¶uv8ÙÁ/§r˜5A­„´ë@ÝÇ“dYöGÁã…°q|°©|ùõY}H2@ø«4›ƒ‡a¥]Ktyi¹%¬>©¥|È9A‰Gµ(n	$¿Z¼TªRù½
#¦Få]|GI‰Ö;ôŸOõÍŠüÁ£Z©žq3r澂“—COÍ|W^؆¥Ц^´œ¯`4-{8ú¯”þLFcc<8íðâ¼h~¡¹ù§é$¸J5©ýo¶¿wÌ‚GÚzÑ*¼¤Ïò÷”í°ý»~AûËææ[„©Ó,öd¯æüI¥ËÇ4@yozŒÖNð¢G# ¤ÝÑ~zíßµüì‚cC@^@^ÕçêSèý…e[: Á¯Ræ
ÄȨ¬ïäfu9òqpã½Aðcë¸yÍ„ Q6,vC[ŠymÞÑÍL¢ò†¬ïK›²ßӍùI÷:¼Ñu^ar
þÎ9lÁ4 ò„­Ë‰R2’ð×
ìTÆ	=uaG“gDÿ®cܺÏ5º¸ú‰!v.ƒ’
‘ÍÈÌò÷HzÅX¸¢!'~
ÚQ~rVǺCCu,Þ£oÇ:SwØb/
—®+›T§WWŸm¥çW¬¬Ä!(Áû2L_ÆhÖÚŠ,µ©*9†ç63wˆÌ>×®
òd4Ÿ+s`nÀbûqR/®²/²žeåbÝ d•ú¹“‚„Ò
¤Jk#äSjå$w8|¶cMÛ¼¾6ü^þMµ?,Š´Z‘¡ó
-rê´ú©Ú{N¨OùX7 ˆz“‘ˆ­Åc!ýO¶3ÏÓ¨®"1 ¥²ì0¡µ
’8PH&yú£…©ò[”.‘Ñ*Pl¥Zˆ1ýîYÌV@#`ÞLrXtÓ‘rK$xcÚ+qQ3–¯(î—Œ¦nŽ
ÕÎœV¨"¶uN%lº¶¬yf
ÔÈûG1d¼zA
8ä6Î/Ô†½sx᝿¿8wyB·-y‡?NÇPm½è™!­Ð%µsI<N TL„îs–!ҟḖ½”¬iªd"˜®°ë0EΞÆÝP«ÉÄÔÙÏŠÖXÛÑZTf‰öž6Õß²¤ðÒ›Ðï„CtžŸÂÍë)ñ'¢Ú:Ô†újˆÆN5F
ßP'€A‚¸y:ÏšÞaîXá¼Ð󡹨­CñÓuˆ¥YìãšwÎt·‰Ú½Žc²‚¢¥Óq¶£ÍËÔ ?©C‰=5BL\ÄIŒÉÊÜoJÅØG„–ƒ-ëPÆîŝ![¡PniÛÉ7µJ¥‹~
Õ
Æ÷ñ-hB¤JêÃõ´6óÈ–hhyC´ÌÍn4âò×ÀH
Åñ¢¤c¼(†£K‘El)ì†Oçצ¯×¦ô•ºBo(ɸWb:÷“r"®õ*šã<Iã-cË1DÉcµC6¢Ö‹vãΔ…
3¡)¬€YS-ÌßZÔh‰z,DÀ'oá^-ƒÃßÏÏÕ#§Ý—ÒUÀQ§^1É~áÜj_’ú\-øBÃ(\k‚ˆÕ±:5	•¹$m®n4ù~@<uA¨ÃNL¿^Ê@Qfío¿Ô4ãCËßvS!&䪬õYštÓ[?Ž£5/`QiüÏj먦2ƒñõ8X;°®mË7g%*~þI;BQ©§`=&,ä.|ší¤ÂÅñY¢EeÍ„jŠ™c¹ŒÅµÚ	LÈ
Ձ× ¼XSƒCÃ5ÁáúiÎóÉÁ/T·/
µ?žWNü®Ú<cŒ:±‰Á8ÿ6UŸ_¼¿á¸±t“ãeýeYúwYúw¡Ò¿¿wtóò3ïSQÿý!`_õgþëö“Í'„ÿÚÞÜÙjoýÛf{o{wwÿÿ¯´
ú¿”K@Ä—5®T`J2š&à*¯xxà}¡2—W‡WÞ¾wä½óÎÔÿAɇKïNån¾DÁªqÏt·ï½‰c²½‚!Ù*
U`Á’iYöÓ/7¶\@2ÃRd
–ªö‹‹¸Ð4H%ÎD¦‰¶jhWˆ•ˆ™Ä‰Ô»Ñ¸ô¹ÊnV
”
Ý'Ó¤~{EroiÀk(¼fzËy“ªjn«/°¿Juû,Âû"û‹œ3Š©•îìbue…ÍÚG“mmLåÓ'oNŸVo\Ú/9›G“ÐÅɪædÕ&»OÝÁßgJRŠ 'ÿÑ$m= xùß­’ÿP\jonono«ï·•ÕÞÙÞÛú7o÷¡Röù_.ÿ•í?‹Eêfy˜>æÈÿ›;í<þßÞ²þÃ#}PüGç-ì=†/*É‚bi†"Ï[v7íø ÇQZ÷šÍæªì^}­¥—k˜@ö²vøJ:DžùêÎ9A>ÍuôÕs$ž
vcB´T*Évëý¥…kVóthH8èתaÆ
±Ÿ{	Ìáÿ{›mÿ·vvžlîìlµ¡þ×ÎæÎ’ÿ?Æ'‚9.7wH=@¾~½UÊà?zŸ…Ã{r€Žz}¯W4žÝ†Ÿ²üù_¼q|½´iu{…Q‘±Üáò
£ò†ßœ~¿êÃòfã^ÐýŒñÂë
‡ŒfsŸ[¶k^¯hÞܨݣyëõÒŽý`wrÑzøzy˯ŽÎK¶rá–;Ýqi³’ór—f«ÏËq¨ô¢¢L¶pÓüzEÛiÜÓûôž¼^ÚøÉ›²3³pãÁ°¼UH»¿ÿ™ŒŠò†_‡Ãàýxû½{±T0NðõÒÖ¿W

!î^­Ã]|½´õÓwŸµÔa\ÚêàÓ¹ÿR£K¨¢áO%[x‡†?•oá|Ï{³Ÿ ¦ZiËo|W_¹cËफh7ûè߉‡ðzEèšu_®1ä×ËÛŽƒ°¸·M¯—6}V¶‹7=ªÚ¿³Š
ôÚ…Û¥×K›~d™»4åGú<Ž?猌Õëåí&à
†p²{1¢±~½´õíV¼×¨µW²´ñ+
Ò€Fxe –+=Ÿj¸‰ß£lˆÁ'ÒKYãÿ¥?*mz&“i|„Mì÷a2¥ñ_x’=\ø×ÜøÍÍ|ü×Öæ“åùŒºí=ä
ÒѸ9ãûd8D Ýf³y—P‡|o:Ú–ðg«.)z/Ó—à³£Û¾èäJ:tç§Ñ¿š¸³üä>eü_jè>HðÇ¿Íåÿ;›[ÛnüG[ýºäÿò)phŠÙ½«¾”ç,]ø¥ÜÅ?ôýõ:€f*bF˜ðvO•î€›©ŠS@”›Ï©êã&HîÎbõÍ”»¼oÜ«øž]P$x¹ï;zc?Is²»öÐ×Í”÷ø3y÷Ê=z¡fÊáí§%@w¿qU3åí—[FîÜ~yÀþßÆ·ŸI¯¸™ò>Ž>+”I÷Ñ-iúá¿=|æ?øå|
…	§µƒ•ÏpI&á„—›rUgäë‰×[¿	};H6
]¨vìæá±îŽ±Bã*ÙÞî‰bçö%ÎÕ]›öïÒ›™Ó¹çŒDú›Ù•5Ÿ{OÉîè_Ô“þÏù™ÿ÷0·À<ùok³ ÿmí-ãÿåãÄÿ³˜öÜX€²wJÿßä“JŸ/ùÀáSÿ@¾½çÿíüùßÛÝZžÿGùØñ?¸ësN¼~jvpÏÚñ+…Öl=l‡^§Lž[+Š!k={“kÉi°J+ZZò—>eçÿ»ÙËzÔÇœó¿Ý~²SˆÿYâ?=ÎÏ?@_ë:á=B3åòvR'ÔÔÙN5^(”fwXFºªK‚1q©“|#õ1;~Ò\=ôWË€4h׏¸z_¯GÕtƒ\®)Lr
aÝVÀ4®|>×Ui˜"b&¶KµXà	œ
””¡Ç°X'Ô>!èñþêê‹¿(¾"Ú_ÖÚÍÍàÆÇÐÉËÚéå»ÆÓ§»ÏíÚ_
¶c¸¾[°õ7Î-ïöö¯"]ÿkîÐéc®ýgo+¯ÿíµ—ñ¿ò1öŸKÚõ9öyªÄ™WH¼\8ÉrÏáWlæ)GÆxÇ~æVz­à†ªj»3¤ÿê	œŸù™ÿÿhç¿ý¤pþww–ùŸò±Î?û{í;z6+(y¡Ìó“»C—çðôqÏ¿©Wñ}Ì=ÿ;yüÿøyyþზ_©¬Î%rR]¹Êë7Á0cÝ«ÕÙ5Á¼õòÊZË2€à{þé¯ã`€¨>ÄœóßÞÝÊûÔ/ãÿåSZþ¯ÝPÿµ³¬¸¬ø5
commons-dbcp-1.2.1-TestConnectionPool.patch:
 TestConnectionPool.java | 1006 ++++++++++++++++++++++++------------------------
 1 files changed, 516 insertions(+), 490 deletions(-)

--- NEW FILE commons-dbcp-1.2.1-TestConnectionPool.patch ---
--- src/test/org/apache/commons/dbcp/TestConnectionPool.java.sav	2006-04-12 16:04:03.000000000 +0200
+++ src/test/org/apache/commons/dbcp/TestConnectionPool.java	2006-04-12 16:08:30.000000000 +0200
@@ -1,490 +1,516 @@
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.commons.dbcp;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import junit.framework.TestCase;
-
-// XXX FIX ME XXX
-// this class still needs some cleanup, but at least
-// this consolidates most of the relevant test code
-// in a fairly re-usable fashion
-// XXX FIX ME XXX
-
-/**
- * Base test suite for DBCP pools.
- * 
- * @author Rodney Waldhoff
- * @author Sean C. Sullivan
- * @author John McNally
- * @author Dirk Verbeeck
- * @version $Revision: 1.14 $ $Date: 2004/02/28 12:18:18 $
- */
-public abstract class TestConnectionPool extends TestCase {
-    public TestConnectionPool(String testName) {
-        super(testName);
-    }
-
-    public void setUp() throws Exception {
-        super.setUp();
-    }
-
-    public void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    protected abstract Connection getConnection() throws Exception;
-    
-    protected int getMaxActive() {
-        return 10;
-    }
-    
-    protected long getMaxWait() {
-        return 100L;
-    }
-
-    // ----------- Utility Methods --------------------------------- 
-
-    protected String getUsername(Connection conn) throws SQLException {
-        Statement stmt = conn.createStatement();
-        ResultSet rs = stmt.executeQuery("select username");
-        if (rs.next()) {
-            return rs.getString(1);
-        }
-        return null;
-    }
-
-    // ----------- tests --------------------------------- 
-
-    public void testClearWarnings() throws Exception {
-        Connection[] c = new Connection[getMaxActive()];
-        for (int i = 0; i < c.length; i++) {
-            c[i] = getConnection();
-            assertTrue(c[i] != null);
-            
-            // generate SQLWarning on connection
-            c[i].prepareCall("warning");
-        }
-
-        for (int i = 0; i < c.length; i++) {
-            assertNotNull(c[i].getWarnings());
-        }
-
-        for (int i = 0; i < c.length; i++) {
-            c[i].close();
-        }
-        
-        for (int i = 0; i < c.length; i++) {
-            c[i] = getConnection();
-        }        
-
-        for (int i = 0; i < c.length; i++) {
-            // warnings should have been cleared by putting the connection back in the pool
-            assertNull(c[i].getWarnings());
-        }
-
-        for (int i = 0; i < c.length; i++) {
-            c[i].close();
-        }
-    }
-
-    public void testIsClosed() throws Exception {
-        for(int i=0;i<getMaxActive();i++) {
-            Connection conn = getConnection();
-            assertTrue(null != conn);
-            assertTrue(!conn.isClosed());
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            ResultSet rset = stmt.executeQuery();
-            assertTrue(null != rset);
-            assertTrue(rset.next());
-            rset.close();
-            stmt.close();
-            conn.close();
-            assertTrue(conn.isClosed());
-        }
-    }
-
-    public void testCantCloseConnectionTwice() throws Exception {
-        for(int i=0;i<getMaxActive();i++) { // loop to show we *can* close again once we've borrowed it from the pool again
-            Connection conn = getConnection();
-            assertTrue(null != conn);
-            assertTrue(!conn.isClosed());
-            conn.close();
-            assertTrue(conn.isClosed());
-            try {
-                conn.close();
-                fail("Expected SQLException on second attempt to close (" + conn.getClass().getName() + ")");
-            } catch(SQLException e) {
-                // expected
-            }
-            assertTrue(conn.isClosed());
-        }
-    }
-
-    public void testCantCloseStatementTwice() throws Exception {
-        Connection conn = getConnection();
-        assertTrue(null != conn);
-        assertTrue(!conn.isClosed());
-        for(int i=0;i<2;i++) { // loop to show we *can* close again once we've borrowed it from the pool again
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            stmt.close();
-            try {
-                stmt.close();
-                fail("Expected SQLException on second attempt to close (" + stmt.getClass().getName() + ")");
-            } catch(SQLException e) {
-                // expected
-            }
-        }
-        conn.close();
-    }
-
-    public void testSimple() throws Exception {
-        Connection conn = getConnection();
-        assertTrue(null != conn);
-        PreparedStatement stmt = conn.prepareStatement("select * from dual");
-        assertTrue(null != stmt);
-        ResultSet rset = stmt.executeQuery();
-        assertTrue(null != rset);
-        assertTrue(rset.next());
-        rset.close();
-        stmt.close();
-        conn.close();
-    }
-
-    public void testRepeatedBorrowAndReturn() throws Exception {
-        for(int i=0;i<100;i++) {
-            Connection conn = getConnection();
-            assertTrue(null != conn);
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            ResultSet rset = stmt.executeQuery();
-            assertTrue(null != rset);
-            assertTrue(rset.next());
-            rset.close();
-            stmt.close();
-            conn.close();
-        }
-    }
-
-    public void testSimple2() throws Exception {
-        Connection conn = getConnection();
-        assertTrue(null != conn);
-        {
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            ResultSet rset = stmt.executeQuery();
-            assertTrue(null != rset);
-            assertTrue(rset.next());
-            rset.close();
-            stmt.close();
-        }
-        {
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            ResultSet rset = stmt.executeQuery();
-            assertTrue(null != rset);
-            assertTrue(rset.next());
-            rset.close();
-            stmt.close();
-        }
-        conn.close();
-        try {
-            conn.createStatement();
-            fail("Can't use closed connections");
-        } catch(SQLException e) {
-            ; // expected
-        }
-
-        conn = getConnection();
-        assertTrue(null != conn);
-        {
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            ResultSet rset = stmt.executeQuery();
-            assertTrue(null != rset);
-            assertTrue(rset.next());
-            rset.close();
-            stmt.close();
-        }
-        {
-            PreparedStatement stmt = conn.prepareStatement("select * from dual");
-            assertTrue(null != stmt);
-            ResultSet rset = stmt.executeQuery();
-            assertTrue(null != rset);
-            assertTrue(rset.next());
-            rset.close();
-            stmt.close();
-        }
-        conn.close();
-        conn = null;
-    }
-
-    public void testPooling() throws Exception {
-        Connection conn = getConnection();
-        Connection underconn = null;
-        if(conn instanceof DelegatingConnection) {
-            underconn = ((DelegatingConnection)conn).getInnermostDelegate();
-        } else {
-            return; // skip this test
-        }
-        assertTrue(underconn != null);
-        Connection conn2 = getConnection();
-        Connection underconn2 = null;
-        if(conn2 instanceof DelegatingConnection) {
-            underconn2 = ((DelegatingConnection)conn2).getInnermostDelegate();
-        } else {
-            return; // skip this test
-        }
-        assertTrue(underconn2 != null);
-        assertTrue(underconn != underconn2);
-        conn2.close();
-        conn.close();
-        Connection conn3 = getConnection();
-        Connection underconn3 = null;
-        if(conn3 instanceof DelegatingConnection) {
-            underconn3 = ((DelegatingConnection)conn3).getInnermostDelegate();
-        } else {
-            return; // skip this test
-        }
-        assertTrue( underconn3 == underconn || underconn3 == underconn2 );
-        conn3.close();
-    }
-    
-    public void testAutoCommitBehavior() throws Exception {
-        Connection conn = getConnection();
-        assertTrue(conn != null);
-        assertTrue(conn.getAutoCommit());
-        conn.setAutoCommit(false);
-        conn.close();
-        
-        Connection conn2 = getConnection();
-        assertTrue( conn2.getAutoCommit() );
-        
-        Connection conn3 = getConnection();
-        assertTrue( conn3.getAutoCommit() );
-
-        conn2.close();
-        
-        conn3.close();
-    }
-    
-    /** @see http://issues.apache.org/bugzilla/show_bug.cgi?id=12400 */
-    public void testConnectionsAreDistinct() throws Exception {
-        Connection[] conn = new Connection[getMaxActive()];
-        for(int i=0;i<conn.length;i++) {
-            conn[i] = getConnection();
-            for(int j=0;j<i;j++) {
-                assertTrue(conn[j] != conn[i]);
-                assertTrue(!conn[j].equals(conn[i]));
-            }
-        }
-        for(int i=0;i<conn.length;i++) {
-            conn[i].close();
-        }
-    }
-
-
-    public void testOpening() throws Exception {
-        Connection[] c = new Connection[getMaxActive()];
-        // test that opening new connections is not closing previous
-        for (int i = 0; i < c.length; i++) {
-            c[i] = getConnection();
-            assertTrue(c[i] != null);
-            for (int j = 0; j <= i; j++) {
-                assertTrue(!c[j].isClosed());
-            }
-        }
-
-        for (int i = 0; i < c.length; i++) {
-            c[i].close();
-        }
-    }
-
-    public void testClosing() throws Exception {
-        Connection[] c = new Connection[getMaxActive()];
-        // open the maximum connections
-        for (int i = 0; i < c.length; i++) {
-            c[i] = getConnection();
-        }
-
-        // close one of the connections
-        c[0].close();
-        assertTrue(c[0].isClosed());
-
-        // get a new connection
-        c[0] = getConnection();
-
-        for (int i = 0; i < c.length; i++) {
-            c[i].close();
-        }
-    }
-
-    public void testMaxActive() throws Exception {
-        Connection[] c = new Connection[getMaxActive()];
-        for (int i = 0; i < c.length; i++) {
-            c[i] = getConnection();
-            assertTrue(c[i] != null);
-        }
-
-        try {
-            getConnection();
-            fail("Allowed to open more than DefaultMaxActive connections.");
-        } catch (java.sql.SQLException e) {
-            // should only be able to open 10 connections, so this test should
-            // throw an exception
-        }
-
-        for (int i = 0; i < c.length; i++) {
-            c[i].close();
-        }
-    }
-
-    public void testThreaded() {
-        TestThread[] threads = new TestThread[getMaxActive()];
-        for(int i=0;i<threads.length;i++) {
-            threads[i] = new TestThread(50,50);
-            Thread t = new Thread(threads[i]);
-            t.start();
-        }
-        for(int i=0;i<threads.length;i++) {
-            while(!(threads[i]).complete()) {
-                try {
-                    Thread.sleep(100L);
-                } catch(Exception e) {
-                    // ignored
-                }
-            }
-            if(threads[i].failed()) {
-                fail();
-            }
-        }
-    }
-
-    class TestThread implements Runnable {
-        java.util.Random _random = new java.util.Random();
-        boolean _complete = false;
-        boolean _failed = false;
-        int _iter = 100;
-        int _delay = 50;
-
-        public TestThread() {
-        }
-
-        public TestThread(int iter) {
-            _iter = iter;
-        }
-
-        public TestThread(int iter, int delay) {
-            _iter = iter;
-            _delay = delay;
-        }
-
-        public boolean complete() {
-            return _complete;
-        }
-
-        public boolean failed() {
-            return _failed;
-        }
-
-        public void run() {
-            for(int i=0;i<_iter;i++) {
-                try {
-                    Thread.sleep((long)_random.nextInt(_delay));
-                } catch(Exception e) {
-                    // ignored
-                }
-                Connection conn = null;
-                PreparedStatement stmt = null;
-                ResultSet rset = null;
-                try {
-                    conn = getConnection();
-                    stmt = conn.prepareStatement("select 'literal', SYSDATE from dual");
-                    rset = stmt.executeQuery();
-                    try {
-                        Thread.sleep((long)_random.nextInt(_delay));
-                    } catch(Exception e) {
-                        // ignored
-                    }
-                } catch(Exception e) {
-                    e.printStackTrace();
-                    _failed = true;
-                    _complete = true;
-                    break;
-                } finally {
-                    try { rset.close(); } catch(Exception e) { }
-                    try { stmt.close(); } catch(Exception e) { }
-                    try { conn.close(); } catch(Exception e) { }
-                }
-            }
-            _complete = true;
-        }
-    }
-
-    // Bugzilla Bug 24328: PooledConnectionImpl ignores resultsetType 
-    // and Concurrency if statement pooling is not enabled
-    // http://issues.apache.org/bugzilla/show_bug.cgi?id=24328
-    public void testPrepareStatementOptions() throws Exception 
-    {
-        Connection conn = getConnection();
-        assertTrue(null != conn);
-        PreparedStatement stmt = conn.prepareStatement("select * from dual", 
-            ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
-        assertTrue(null != stmt);
-        ResultSet rset = stmt.executeQuery();
-        assertTrue(null != rset);
-        assertTrue(rset.next());
-        
-        assertEquals(ResultSet.TYPE_SCROLL_SENSITIVE, rset.getType());
-        assertEquals(ResultSet.CONCUR_UPDATABLE, rset.getConcurrency());
-        
-        rset.close();
-        stmt.close();
-        conn.close();
-    }
-
-    // Bugzilla Bug 24966: NullPointer with Oracle 9 driver
-    // wrong order of passivate/close when a rset isn't closed
-    public void testNoRsetClose() throws Exception {
-        Connection conn = getConnection();
-        assertNotNull(conn);
-        PreparedStatement stmt = conn.prepareStatement("test");
-        assertNotNull(stmt);
-        ResultSet rset = stmt.getResultSet();
-        assertNotNull(rset);
-        // forget to close the resultset: rset.close();
-        stmt.close();
-        conn.close();
-    }
-    
-    // Bugzilla Bug 26966: Connectionpool's connections always returns same
-    public void testHashCode() throws Exception {
-        Connection conn1 = getConnection();
-        assertNotNull(conn1);
-        Connection conn2 = getConnection();
-        assertNotNull(conn2);
-
-        assertTrue(conn1.hashCode() != conn2.hashCode());
-    }
-}
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.dbcp;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Stack;
+
+import junit.framework.TestCase;
+
+// XXX FIX ME XXX
+// this class still needs some cleanup, but at least
+// this consolidates most of the relevant test code
+// in a fairly re-usable fashion
+// XXX FIX ME XXX
+
+/**
+ * Base test suite for DBCP pools.
+ * 
+ * @author Rodney Waldhoff
+ * @author Sean C. Sullivan
+ * @author John McNally
+ * @author Dirk Verbeeck
+ * @version $Revision$ $Date$
+ */
+public abstract class TestConnectionPool extends TestCase {
+    public TestConnectionPool(String testName) {
+        super(testName);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        // Close any connections opened by the test
+        while (!connections.isEmpty()) {
+            Connection conn = (Connection) connections.pop();
+            try {
+                conn.close();
+            } catch (Exception ex) { 
+                // ignore
+            } finally {
+                conn = null;
+            }
+        }
+    }
+
+    protected abstract Connection getConnection() throws Exception;
+    
+    protected int getMaxActive() {
+        return 10;
+    }
+    
+    protected long getMaxWait() {
+        return 100L;
+    }
+    
+    /** Connections opened during the course of a test */
+    protected Stack connections = new Stack();
+    
+    /** Acquire a connection and push it onto the connections stack */
+    protected Connection newConnection() throws Exception {
+        Connection connection = getConnection();
+        connections.push(connection);
+        return connection;
+    }
+
+    // ----------- Utility Methods --------------------------------- 
+
+    protected String getUsername(Connection conn) throws SQLException {
+        Statement stmt = conn.createStatement();
+        ResultSet rs = stmt.executeQuery("select username");
+        if (rs.next()) {
+            return rs.getString(1);
+        }
+        return null;
+    }
+
+    // ----------- tests --------------------------------- 
+
+    public void testClearWarnings() throws Exception {
+        Connection[] c = new Connection[getMaxActive()];
+        for (int i = 0; i < c.length; i++) {
+            c[i] = newConnection();
+            assertTrue(c[i] != null);
+            
+            // generate SQLWarning on connection
+            c[i].prepareCall("warning");
+        }
+
+        for (int i = 0; i < c.length; i++) {
+            assertNotNull(c[i].getWarnings());
+        }
+
+        for (int i = 0; i < c.length; i++) {
+            c[i].close();
+        }
+        
+        for (int i = 0; i < c.length; i++) {
+            c[i] = newConnection();
+        }        
+
+        for (int i = 0; i < c.length; i++) {
+            // warnings should have been cleared by putting the connection back in the pool
+            assertNull(c[i].getWarnings());
+        }
+
+        for (int i = 0; i < c.length; i++) {
+            c[i].close();
+        }
+    }
+
+    public void testIsClosed() throws Exception {
+        for(int i=0;i<getMaxActive();i++) {
+            Connection conn = newConnection();
+            assertTrue(null != conn);
+            assertTrue(!conn.isClosed());
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            ResultSet rset = stmt.executeQuery();
+            assertTrue(null != rset);
+            assertTrue(rset.next());
+            rset.close();
+            stmt.close();
+            conn.close();
+            assertTrue(conn.isClosed());
+        }
+    }
+
+    public void testCantCloseConnectionTwice() throws Exception {
+        for(int i=0;i<getMaxActive();i++) { // loop to show we *can* close again once we've borrowed it from the pool again
+            Connection conn = newConnection();
+            assertTrue(null != conn);
+            assertTrue(!conn.isClosed());
+            conn.close();
+            assertTrue(conn.isClosed());
+            try {
+                conn.close();
+                fail("Expected SQLException on second attempt to close (" + conn.getClass().getName() + ")");
+            } catch(SQLException e) {
+                // expected
+            }
+            assertTrue(conn.isClosed());
+        }
+    }
+
+    public void testCantCloseStatementTwice() throws Exception {
+        Connection conn = newConnection();
+        assertTrue(null != conn);
+        assertTrue(!conn.isClosed());
+        for(int i=0;i<2;i++) { // loop to show we *can* close again once we've borrowed it from the pool again
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            stmt.close();
+            try {
+                stmt.close();
+                fail("Expected SQLException on second attempt to close (" + stmt.getClass().getName() + ")");
+            } catch(SQLException e) {
+                // expected
+            }
+        }
+        conn.close();
+    }
+
+    public void testSimple() throws Exception {
+        Connection conn = newConnection();
+        assertTrue(null != conn);
+        PreparedStatement stmt = conn.prepareStatement("select * from dual");
+        assertTrue(null != stmt);
+        ResultSet rset = stmt.executeQuery();
+        assertTrue(null != rset);
+        assertTrue(rset.next());
+        rset.close();
+        stmt.close();
+        conn.close();
+    }
+
+    public void testRepeatedBorrowAndReturn() throws Exception {
+        for(int i=0;i<100;i++) {
+            Connection conn = newConnection();
+            assertTrue(null != conn);
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            ResultSet rset = stmt.executeQuery();
+            assertTrue(null != rset);
+            assertTrue(rset.next());
+            rset.close();
+            stmt.close();
+            conn.close();
+        }
+    }
+
+    public void testSimple2() throws Exception {
+        Connection conn = newConnection();
+        assertTrue(null != conn);
+        {
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            ResultSet rset = stmt.executeQuery();
+            assertTrue(null != rset);
+            assertTrue(rset.next());
+            rset.close();
+            stmt.close();
+        }
+        {
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            ResultSet rset = stmt.executeQuery();
+            assertTrue(null != rset);
+            assertTrue(rset.next());
+            rset.close();
+            stmt.close();
+        }
+        conn.close();
+        try {
+            conn.createStatement();
+            fail("Can't use closed connections");
+        } catch(SQLException e) {
+            ; // expected
+        }
+
+        conn = newConnection();
+        assertTrue(null != conn);
+        {
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            ResultSet rset = stmt.executeQuery();
+            assertTrue(null != rset);
+            assertTrue(rset.next());
+            rset.close();
+            stmt.close();
+        }
+        {
+            PreparedStatement stmt = conn.prepareStatement("select * from dual");
+            assertTrue(null != stmt);
+            ResultSet rset = stmt.executeQuery();
+            assertTrue(null != rset);
+            assertTrue(rset.next());
+            rset.close();
+            stmt.close();
+        }
+        conn.close();
+        conn = null;
+    }
+
+    public void testPooling() throws Exception {  
+        // Grab a maximal set of open connections from the pool
+        Connection[] c = new Connection[getMaxActive()];
+        Connection[] u = new Connection[getMaxActive()];
+        for (int i = 0; i < c.length; i++) {
+            c[i] = newConnection();
+            if (c[i] instanceof DelegatingConnection) {
+                u[i] = ((DelegatingConnection) c[i]).getInnermostDelegate();
+            } else {
+                for (int j = 0; j <= i; j++) {
+                    c[j].close();
+                }
+                return; // skip this test   
+            }
+        }        
+        // Close connections one at a time and get new ones, making sure
+        // the new ones come from the pool
+        for (int i = 0; i < c.length; i++) {
+            c[i].close();
+            Connection con = newConnection();
+            Connection underCon = 
+                ((DelegatingConnection) con).getInnermostDelegate();
+            assertTrue("Failed to get connection", underCon != null);
+            boolean found = false;
+            for (int j = 0; j < c.length; j++) {
+                if (underCon == u[j]) {
+                    found = true;
+                    break;
+                }
+            }
+            assertTrue("New connection not from pool", found);
+            con.close();
+        }
+    }
+    
+    public void testAutoCommitBehavior() throws Exception {
+        Connection conn = newConnection();
+        assertTrue(conn != null);
+        assertTrue(conn.getAutoCommit());
+        conn.setAutoCommit(false);
+        conn.close();
+        
+        Connection conn2 = newConnection();
+        assertTrue( conn2.getAutoCommit() );
+        
+        Connection conn3 = newConnection();
+        assertTrue( conn3.getAutoCommit() );
+
+        conn2.close();
+        
+        conn3.close();
+    }
+    
+    /** @see http://issues.apache.org/bugzilla/show_bug.cgi?id=12400 */
+    public void testConnectionsAreDistinct() throws Exception {
+        Connection[] conn = new Connection[getMaxActive()];
+        for(int i=0;i<conn.length;i++) {
+            conn[i] = newConnection();
+            for(int j=0;j<i;j++) {
+                assertTrue(conn[j] != conn[i]);
+                assertTrue(!conn[j].equals(conn[i]));
+            }
+        }
+        for(int i=0;i<conn.length;i++) {
+            conn[i].close();
+        }
+    }
+
+
+    public void testOpening() throws Exception {
+        Connection[] c = new Connection[getMaxActive()];
+        // test that opening new connections is not closing previous
+        for (int i = 0; i < c.length; i++) {
+            c[i] = newConnection();
+            assertTrue(c[i] != null);
+            for (int j = 0; j <= i; j++) {
+                assertTrue(!c[j].isClosed());
+            }
+        }
+
+        for (int i = 0; i < c.length; i++) {
+            c[i].close();
+        }
+    }
+
+    public void testClosing() throws Exception {
+        Connection[] c = new Connection[getMaxActive()];
+        // open the maximum connections
+        for (int i = 0; i < c.length; i++) {
+            c[i] = newConnection();
+        }
+
+        // close one of the connections
+        c[0].close();
+        assertTrue(c[0].isClosed());
+
+        // get a new connection
+        c[0] = newConnection();
+
+        for (int i = 0; i < c.length; i++) {
+            c[i].close();
+        }
+    }
+
+    public void testMaxActive() throws Exception {
+        Connection[] c = new Connection[getMaxActive()];
+        for (int i = 0; i < c.length; i++) {
+            c[i] = newConnection();
+            assertTrue(c[i] != null);
+        }
+
+        try {
+            newConnection();
+            fail("Allowed to open more than DefaultMaxActive connections.");
+        } catch (java.sql.SQLException e) {
+            // should only be able to open 10 connections, so this test should
+            // throw an exception
+        }
+
+        for (int i = 0; i < c.length; i++) {
+            c[i].close();
+        }
+    }
+
+    public void testThreaded() {
+        TestThread[] threads = new TestThread[getMaxActive()];
+        for(int i=0;i<threads.length;i++) {
+            threads[i] = new TestThread(50,50);
+            Thread t = new Thread(threads[i]);
+            t.start();
+        }
+        for(int i=0;i<threads.length;i++) {
+            while(!(threads[i]).complete()) {
+                try {
+                    Thread.sleep(100L);
+                } catch(Exception e) {
+                    // ignored
+                }
+            }
+            if(threads[i].failed()) {
+                fail();
+            }
+        }
+    }
+
+    class TestThread implements Runnable {
+        java.util.Random _random = new java.util.Random();
+        boolean _complete = false;
+        boolean _failed = false;
+        int _iter = 100;
+        int _delay = 50;
+
+        public TestThread() {
+        }
+
+        public TestThread(int iter) {
+            _iter = iter;
+        }
+
+        public TestThread(int iter, int delay) {
+            _iter = iter;
+            _delay = delay;
+        }
+
+        public boolean complete() {
+            return _complete;
+        }
+
+        public boolean failed() {
+            return _failed;
+        }
+
+        public void run() {
+            for(int i=0;i<_iter;i++) {
+                try {
+                    Thread.sleep((long)_random.nextInt(_delay));
+                } catch(Exception e) {
+                    // ignored
+                }
+                Connection conn = null;
+                PreparedStatement stmt = null;
+                ResultSet rset = null;
+                try {
+                    conn = newConnection();
+                    stmt = conn.prepareStatement("select 'literal', SYSDATE from dual");
+                    rset = stmt.executeQuery();
+                    try {
+                        Thread.sleep((long)_random.nextInt(_delay));
+                    } catch(Exception e) {
+                        // ignored
+                    }
+                } catch(Exception e) {
+                    e.printStackTrace();
+                    _failed = true;
+                    _complete = true;
+                    break;
+                } finally {
+                    try { rset.close(); } catch(Exception e) { }
+                    try { stmt.close(); } catch(Exception e) { }
+                    try { conn.close(); } catch(Exception e) { }
+                }
+            }
+            _complete = true;
+        }
+    }
+
+    // Bugzilla Bug 24328: PooledConnectionImpl ignores resultsetType 
+    // and Concurrency if statement pooling is not enabled
+    // http://issues.apache.org/bugzilla/show_bug.cgi?id=24328
+    public void testPrepareStatementOptions() throws Exception 
+    {
+        Connection conn = newConnection();
+        assertTrue(null != conn);
+        PreparedStatement stmt = conn.prepareStatement("select * from dual", 
+            ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
+        assertTrue(null != stmt);
+        ResultSet rset = stmt.executeQuery();
+        assertTrue(null != rset);
+        assertTrue(rset.next());
+        
+        assertEquals(ResultSet.TYPE_SCROLL_SENSITIVE, rset.getType());
+        assertEquals(ResultSet.CONCUR_UPDATABLE, rset.getConcurrency());
+        
+        rset.close();
+        stmt.close();
+        conn.close();
+    }
+
+    // Bugzilla Bug 24966: NullPointer with Oracle 9 driver
+    // wrong order of passivate/close when a rset isn't closed
+    public void testNoRsetClose() throws Exception {
+        Connection conn = newConnection();
+        assertNotNull(conn);
+        PreparedStatement stmt = conn.prepareStatement("test");
+        assertNotNull(stmt);
+        ResultSet rset = stmt.getResultSet();
+        assertNotNull(rset);
+        // forget to close the resultset: rset.close();
+        stmt.close();
+        conn.close();
+    }
+    
+    // Bugzilla Bug 26966: Connectionpool's connections always returns same
+    public void testHashCode() throws Exception {
+        Connection conn1 = newConnection();
+        assertNotNull(conn1);
+        Connection conn2 = newConnection();
+        assertNotNull(conn2);
+
+        assertTrue(conn1.hashCode() != conn2.hashCode());
+    }
+}

commons-dbcp-1.2.1-TestJOCLed.patch:
 TestJOCLed.java |    2 ++
 1 files changed, 2 insertions(+)

--- NEW FILE commons-dbcp-1.2.1-TestJOCLed.patch ---
--- src/test/org/apache/commons/dbcp/TestJOCLed.java.sav	2006-04-12 15:57:50.000000000 +0200
+++ src/test/org/apache/commons/dbcp/TestJOCLed.java	2006-04-12 15:58:27.000000000 +0200
@@ -45,6 +45,7 @@
     private PoolingDriver driver = null;
     
     public void setUp() throws Exception {
+        super.setUp();
         driver = new PoolingDriver();
         PoolingDriver.setAccessToUnderlyingConnectionAllowed(true);
     }
@@ -52,6 +53,7 @@
     public void tearDown() throws Exception {
         driver.closePool("testpool");
         DriverManager.deregisterDriver(driver);
+        super.tearDown();
     }
 
 }

commons-dbcp-1.2.1-navigation_xml.patch:
 navigation.xml |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE commons-dbcp-1.2.1-navigation_xml.patch ---
--- xdocs/navigation.xml.sav	2006-04-12 16:11:56.000000000 +0200
+++ xdocs/navigation.xml	2006-04-12 16:12:07.000000000 +0200
@@ -14,7 +14,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
   -->
-<!DOCTYPE org.apache.commons.menus SYSTEM '../../commons-build/menus/menus.dtd'>
+<!DOCTYPE org.apache.commons.menus SYSTEM '../commons-build/menus/menus.dtd'>
 <project name="Commons DBCP">
     <title>Commons DBCP</title>
     <body>

commons-dbcp-1.2.1-project_properties.patch:
 project.properties |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE commons-dbcp-1.2.1-project_properties.patch ---
--- project.properties.sav	2006-04-12 16:17:46.000000000 +0200
+++ project.properties	2006-04-12 16:17:55.000000000 +0200
@@ -6,7 +6,7 @@
 maven.javadoc.author=false
 maven.javadoc.links=http://java.sun.com/j2se/1.4.2/docs/api,http://jakarta.apache.org/commons/pool/apidocs
 
-maven.xdoc.jsl=../commons-build/commons-site.jsl
+maven.xdoc.jsl=commons-build/commons-site.jsl
 maven.xdoc.date=bottom
 maven.xdoc.poweredby.image=maven-feather.png
 maven.xdoc.version=${pom.currentVersion}

commons-dbcp-1.2.1-project_xml.patch:
 project.xml |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE commons-dbcp-1.2.1-project_xml.patch ---
--- ./project.xml.sav	2004-06-12 09:42:20.000000000 -0400
+++ ./project.xml	2006-07-20 17:14:46.000000000 -0400
@@ -219,6 +219,7 @@
       </resource>
       <resource>
         <targetPath>META-INF</targetPath>
+        <directory>${basedir}</directory>
         <includes>
           <include>NOTICE.txt</include>
         </includes>
@@ -227,7 +228,6 @@
   </build>
   
   <reports>
-    <report>maven-changelog-plugin</report>
     <report>maven-changes-plugin</report>
     <report>maven-developer-activity-plugin</report>
     <report>maven-file-activity-plugin</report>


--- NEW FILE dbcp-1.2.1-jpp-depmap.xml ---
<?xml version="1.0" encoding="utf-8"?>
<depset>
   <dependency>
      <maven>
         <groupId>commons-collections</groupId>
         <artifactId>commons-collections</artifactId>
         <version>2.1</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-collections</artifactId>
         <jar>commons-collections.jar</jar>
         <version>2.1</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-pool</groupId>
         <artifactId>commons-pool</artifactId>
         <version>1.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-pool</artifactId>
         <jar>commons-pool.jar</jar>
         <version>1.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>jdbc</groupId>
         <artifactId>jdbc</artifactId>
         <version>2.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>jdbc</artifactId>
         <jar>jdbc.jar</jar>
         <version>2.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>junit</artifactId>
         <jar>junit.jar</jar>
         <version>3.8.1</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>xerces</groupId>
         <artifactId>xerces</artifactId>
         <version>2.0.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>xerces</artifactId>
         <jar>xerces-j2.jar</jar>
         <version>2.0.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>xml-apis</groupId>
         <artifactId>xml-apis</artifactId>
         <version>2.0.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>xml-apis</artifactId>
         <jar>xml-commons-apis.jar</jar>
         <version>2.0.2</version>
      </jpp>
   </dependency>
</depset>


--- NEW FILE pom-maven2jpp-depcat.xsl ---
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> 
 <xsl:strip-space elements="*"/> 
 <xsl:template match="*[name() != 'dependencies']|*/text()">
     <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="//dependencies">
  <xsl:for-each select="./dependency">
   <xsl:element name="dependency">
    <xsl:element name="maven">
     <xsl:choose>
      <xsl:when test="./groupId">
       <xsl:copy-of select="./groupId"/>
       <xsl:copy-of select="./artifactId"/>
      </xsl:when>
      <xsl:when test="./id">
       <xsl:choose>
        <xsl:when test="substring-before(./id/text(),':') != ''">
         <xsl:element name="groupId">
          <xsl:value-of select="substring-before(./id/text(),':')"/>
         </xsl:element>
         <xsl:element name="artifactId">
          <xsl:value-of select="substring-after(./id/text(),':')"/>
         </xsl:element>
        </xsl:when>
        <xsl:otherwise>
         <xsl:element name="groupId">
          <xsl:value-of select="./id/text()"/>
         </xsl:element>
         <xsl:element name="artifactId">
          <xsl:value-of select="./id/text()"/>
         </xsl:element>
        </xsl:otherwise>
       </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
ERROR
      </xsl:otherwise>
     </xsl:choose>
     <xsl:for-each select="./*">
      <xsl:if test="(name() != 'groupId') and (name() != 'artifactId') and (name() != 'id')">
       <xsl:copy-of select="."/>
      </xsl:if>
     </xsl:for-each>
    </xsl:element>
    <xsl:element name="jpp">
     <xsl:element name="groupId">JPP</xsl:element>
     <xsl:choose>
      <xsl:when test="./artifactId">
       <xsl:copy-of select="./artifactId"/>
      </xsl:when>
      <xsl:when test="./id">
       <xsl:choose>
        <xsl:when test="substring-after(./id/text(),':') != ''">
         <xsl:element name="artifactId">
          <xsl:value-of select="substring-after(./id/text(),':')"/>
         </xsl:element>
        </xsl:when>
        <xsl:otherwise>
         <xsl:element name="artifactId">
          <xsl:value-of select="./id/text()"/>
         </xsl:element>
        </xsl:otherwise>
       </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
ERROR
      </xsl:otherwise>
     </xsl:choose>
     <xsl:element name="jar">
      <xsl:choose>
       <xsl:when test="./artifactId">
        <xsl:value-of select="./artifactId/text()"/>
       </xsl:when>
       <xsl:when test="./id">
        <xsl:choose>
         <xsl:when test="substring-after(./id/text(),':') != ''">
          <xsl:value-of select="substring-after(./id/text(),':')"/>
         </xsl:when>
         <xsl:otherwise>
          <xsl:value-of select="./id/text()"/>
         </xsl:otherwise>
        </xsl:choose>
       </xsl:when>
       <xsl:otherwise>
ERROR
       </xsl:otherwise>
      </xsl:choose>
      <xsl:choose>
       <xsl:when test="./type">
        <xsl:choose>
         <xsl:when test="./type/text() = 'plugin'">.jar</xsl:when>
         <xsl:otherwise>.<xsl:value-of select="./type/text()"/></xsl:otherwise>
        </xsl:choose>
       </xsl:when>
       <xsl:otherwise>.jar</xsl:otherwise>
      </xsl:choose>
     </xsl:element>
     <xsl:for-each select="./*">
      <xsl:if test="(name() != 'groupId') and (name() != 'artifactId') and (name() != 'id')">
       <xsl:copy-of select="."/>
      </xsl:if>
     </xsl:for-each>
    </xsl:element>
   </xsl:element>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>


--- NEW FILE pom-maven2jpp-mapdeps.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="map" /> 
 <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/> 
 <xsl:strip-space elements="*"/> 
 <xsl:template match="/project" >
  <xsl:element name="project">
   <xsl:copy-of select="child::*[not(self::dependencies)]"/>
   <xsl:if test="not(./dependencies)">
    <xsl:element name="dependencies">
     <xsl:for-each select="document($map)//add/dependency">
       <xsl:copy-of select="."/>
     </xsl:for-each>
    </xsl:element>
   </xsl:if>
   <xsl:apply-templates select="dependencies"/>
  </xsl:element>
 </xsl:template>
 <xsl:template match="dependencies" >
  <xsl:element name="dependencies">
   <xsl:for-each select="dependency">
    <xsl:if test="./artifactId">
     <xsl:call-template name="replace">
      <xsl:with-param name="artifact" select="./artifactId/text()"/>
     </xsl:call-template>
    </xsl:if>
    <xsl:if test="./id">
     <xsl:choose>
      <xsl:when test="substring-after(./id/text(),':') != ''">
       <xsl:call-template name="replace">
        <xsl:with-param name="artifact" select="substring-after(./id/text(),':')"/>
       </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
       <xsl:call-template name="replace">
        <xsl:with-param name="artifact" select="./id/text()"/>
       </xsl:call-template>
      </xsl:otherwise>
     </xsl:choose>
    </xsl:if>
   </xsl:for-each>
   <xsl:for-each select="document($map)//add/dependency">
    <xsl:copy-of select="."/>
   </xsl:for-each>
  </xsl:element>
 </xsl:template>
 <xsl:template name="replace">
  <xsl:param name="artifact"/>
  <xsl:variable name="this" select="."/>
  <xsl:element name="dependency">
   <xsl:choose>
    <xsl:when test="document($map)//dependency/maven[./artifactId/text() = $artifact]">
     <xsl:for-each select="document($map)//dependency/maven[./artifactId/text() = $artifact][1]">
      <xsl:copy-of select="../jpp/*"/>
      <xsl:copy-of select="$this/properties"/>
     </xsl:for-each>
    </xsl:when>
    <xsl:otherwise>
     <xsl:copy-of select="./*"/>
    </xsl:otherwise>
   </xsl:choose>
  </xsl:element>
  <xsl:if test="document($map)//dependency/maven[./artifactId/text() = $artifact]">
   <xsl:for-each select="document($map)//dependency/maven[./artifactId/text() = $artifact][1]">
    <xsl:for-each select="../add/dependency">
     <xsl:element name="dependency">
      <xsl:copy-of select="./*"/>
      <xsl:copy-of select="$this/properties"/>
     </xsl:element>
    </xsl:for-each>
   </xsl:for-each>
  </xsl:if>
 </xsl:template>
</xsl:stylesheet>


--- NEW FILE pom-maven2jpp-newdepmap.xsl ---
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:saxon="http://icl.com/saxon"
	extension-element-prefixes="saxon">
 <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/> 
 <xsl:strip-space elements="*"/> 
 <xsl:template match="/" >
  <xsl:element name="depset">
   <saxon:group select="//dependency" group-by="./maven/artifactId">
    <xsl:sort select="./maven/artifactId"/>
    <xsl:element name="dependency">
     <xsl:element name="maven">
      <xsl:copy-of select="./maven/*[name() != 'properties']"/>
     </xsl:element>
     <xsl:element name="jpp">
      <xsl:copy-of select="./jpp/*[name() != 'properties']"/>
     </xsl:element>
    </xsl:element>
    <saxon:item/>
   </saxon:group>
  </xsl:element>
 </xsl:template>
</xsl:stylesheet>




More information about the fedora-cvs-commits mailing list