ࡱ>  ={FUIV TlL+BJFIF``      !  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? [Ruk CX}M.RXf^ Uxn4]E0^ "w*ߋ$ ^ n𦕨xu=^ I\vd3ž߆ iV_ &L"/䴲m| j3m ,/ ӠU|5ğҴzƵO%֗l$Q}TR+- 'Vҵ i։ZC sii2 !P'FVWRU 4(((|+ox:~g}vv^Xᱰ@J"qI<̻cۊ;Ɵ> #Qgm2O[6Niclxٓɿ獟rF #QH7ǿ'լ?yoi_;z%-yr$!ƏCK?mUf^qjXZ[H},/$t]tgyAVM|Ѧh:g<>,H#g.GJ̍1e[<` ( ( (Srw{CStR \R?KaeEh-_?g~|S4qvtK9umqoWuiSIg)@O2P_c~5|n'_%7%(Y4_+on fw?s'4KJm3\4H?h$w,%TxHgh. {yN€ ( ( (?VմºZ~h_[ZXZBIfW!#Y؅UO|&W!>~&~f9AmNE527qo) w7į_]Rht+Ų85;fku?]vS"W}}o`no>ջl>_O8CIqLƟ 6N@Q@Q@W5ƃ;š?7{gyoeiYJ͋;Tw7s,7okiyKg~|S4qvtK9umqoWuiSIg)@O2P_c~5|n'_%7%(Y4_+on fw?s'oh}}2RhM6?O<_jXiW-Ǒ'KkkyT ouxp@ ([~Fܚ xvIO>"׎ .{@ :;;R U-n+ 'IҴ i.Camiai P$ETTPT4(oƙm7Q5 7wM:t1Z4*ۡg'$ CP6a@> ( (8J{ڵ}wz~gc`Z]çp,6I(҆HWx 4/x$*8|CywisKwcO=?MoXa[c3` Smƞ׉,?4CgE[y)h.-牖k{&)ḅXe9ctV|Q5KPՕ.^n|og]]iݮ,~@Q@Q@xumWt߃^Ե %c!vWa{^_[X]E}_XIQud x[A_,<5#OYiF{fyy&wieYvcPExĿۿk$|lпg.jwm< m >`ӖI,[F}n/6>DIP~Zu- ]4kD֭&4t r4. I220*H ^CGy |Ci[oW׵]?p_Z]ܒ^Km5 <2\Ae((>)c<5wٿ yp_1:h>\̯ ! {wfe;O<·7=wmBA[-=(̷W/$2Gnh |7|yyuyþ{h$.-.uWO4[K%wWknn-  kޟ}>_ߎq[keky#س,U$aI( ( ((]X/fC~n=sSS2&o65ݙKH> i#5=VWKDμ/eU GWd!RE(aE:o*7|?xO; _}M?uckİǤĬ,~((ࠞ"3t=M^-^wɒ6$"]B-{U̘,v@PEPtOYM۾&',",[4#զiݓʶ{ee}y 5zSg|kkO xJ&X>aw Oo/*) AQ@Q@B>"މ~$ D{,m!WtFL3 Q'UO"MƟ|A=$d-xD)o,clvB}cge1EzQ@|^]ڒ_i 1<"eph:Td&8((W_7_>O֣FdZ+w6,^ (+tCbP׭ 1sZtIkc+/ni–xb~dF|CoxU߉NGM85Ƒ=O[H/PEPEPUƫCN>]P6 $[ikֲ1ړg?( (C *ÏM,fҵVte(->!:m1-uW1M,@Q@Q@?ϿTx?u:ΕvyC$ l3[M:Z{jNcy('G|'i꺬?Zޛ>p|Co4\Kw=dn{%czhS>-|LƭψU -a?tQlEY<Rm;Ck%@Q@?)('i8QD "[֖7cU+{.$O( ( (_6W [Ǚ3߸_y^l@P~&u)t+-?QⴙKDzL1pϵZEVE%nF|h-{~s%ޑms8wW?4KA,^ZL#TK~ni|-N 'F;/>~i}m'o* [C ?}j+\o_WW|y_.1> ( ('>}>f@ХoҬdvWÓ%扢j&$u2,'W\gsGG[]R+WDxa{g7K\*Xx_ /qϲy?|؀> ( (Y#|$n6v>__U> ֙P+?iZ܋Ϫ viDrj]j h-+?e[{źxJR;-} c,"I 7BoSwGNҵ3c,He PQ6;j 9wqQ@Q@yŏ¯>%Kw]gٿi/,.Y}_<-}T--^ᵽiM-ķ ){{aմxC/nKaIq62]xLdk*--&7Vj??O>,Y 3o~">ÿX+v3˗g@PEPE!xT2 aU-|؀>9'[xgljZ@nl;ɲ>T͗JIBIҴGVӴ>^[N{{tMF`f,gj(PK/,·ϋ 4ؼ7K SFu^}R[%htA`Ӽ,RES/ǭ: ~U洞{mi I'AC + "`Jȅ=Š((ć<?UzgM*?u&SP_ҼO45.$Oo(?Vt{º~kVXj}\_L9a$љe$A?? D`|4;~g$>ϲ}웾}_pAo W|3cK~Ǥht}#M'o iYFڣ,ǒMt:xƾ)ǃoWeq+H"j+1'g.4';}BM>[Vwwzwk֣|omHeKAq$7!{Q@Q@F:B5 {[-ދ?DyEuNpq-f#FS4[J׼+kZ&i X\%ͥ$heBRHY]IVR$Ь4*oYk|ޛisai=5խ%1FWgE!]&5k]-/Mm*= z>Tq vV71%<шbe@ȡp@csDU~6?AѴRe|E7uSE"}4Eya((N%߇:^X뷎viB-heK6}Eso+?_OhcӠJﲴأȶo4_ݦ 3IҴ]:K=L9 b2q4Hny$wbY PN| S7ſDžc"x{D<-4MJ'k&2}@Q@W?EVxGʼw_lso'|ߓf.he_i/M_Luk 6hi}]S;Uu79$@P|N7t>]oM#zE+ڳBX㏵M~MO~&6^X*8;+bh12YdPbQ@?ѿ4EA|M- twJRV7~魤d+̑IPEP_|a> |WxOM?7f+$Ik$Tq vV71%<шbe@ȡp@>i'PZm:\n[I3[3C1 qoW" +?+tCbP׭ 1sZtIkc+/ni–xb~d'zm~~:ӑƝmb^سV u&/P+ߍt M[Gwv6ujz:~gqysmn4B(id%yC_m+zc$|?<1xU|CЯ|Oh5x|=l; QD"y}GO0\%@DkX|@k|]u๥wW}wctkc:Z}.nY~X@>~2 <+xWï_o!}3.4-5+g/LҦZɗDgߍ;>7 ^Mƃ=:cKit_\-4 m> ( [Ozij᧗I>ۦ[oCSK[ku(SMIH/<(+RXkOW am[_~x{ {l#ԥq,L[T"ݭ?nlq⟊v (> 9G[y5/խym^Y5PEPge|V֟r?e);C!ޑJB3VP挚Wo~_|k4 ~u|]v~!h [IP-bce}!ws1Sg|kkO xJ&X>aw Oo/*) APEmWVӴσ^Ե .N<;{iVH0Ao Eݓ-m԰{Zt B4Dm! tp (G"*( ZQ@WloO㏎v—z  .$DeE~5__M/~|=KVK[(guuDR#}9O?;o_χU}C֞hGOVvbRO`$:;>PE|=OkxWi/Gw>Iv߱&L<|mi~+uc_Y;' 󼏴ȞoŻnvn_Uq/~/~6tOȷB;ڐy oFGET= *U֭_W'ŏ$ miʲ^\aXΆ3o$:d?uo⯏yc W_<\_MAqwi^$W:Sĺj|ßx3 S|Fѵ[mVO~ϗ5ymo.- /6EzF '?_eS|Ga_>ŧ|7_iI~?ǫ&7W2)5 ( ~"[¾I~_x;Mn6waklVK@P)✿ӼmuYޛiҼWXsuejBm69oR;/ W-Q݇lIQHuɡ bn!Aph Kvkt (S_w}INʎ扫XxQ5bL"oDʷ rL!{xKjk_~->ɧO: g1ܲ_D썵%H(@<1s??͏/>,?#xlK#ȑCśW 9^d8 go!||usel}OQ9]o&F۝֐ ATMy'߶O eο xtg ona:Um&?aoG3~ [&,)߄&լgϖ/'N!$RYU]>p3[~.7ܾ  KIgGTgӝkfXb%$uqݼYIvk~| O><^2m5MB9/Ɵv ]G,㴌Gp| xV+ơ)|Od[*H[-:;i$ p1闈um^o+wx]v^o=퇇\Zzf\i pbq;'"[g5 *=o/Jmlm͆umf7uG -{~c/ºgt PC֐zGd4Gλc1[ZG}bk=C>Pg/O?#Kv'4yTwcwӏ@>,𯁼 }Ɨ}W4 O2E?6fX|GauQVqOj^ +iZmFU5ܤ꬗u}IX{-M2ng+2C~6J] ~{y?nm1 pX]Gg k8)<= +Ŀ'Y/3~$V"GVUYQ9c*ԼkK>wsjo(w3ʳiNKrܼVVw58 Rٯ+?rݵzVڗu[i"y{--irдvVnj_Wǟ:tW9 ѣsj?ٖ-t {mZ fV 4Ba s7/I+|@Αe_ OxU8!}i.K3 Kv 5xT #x?pY^]ǣqOuGv{jg+UG hR (icGcX<_ݍY;kh] %#đK 3|l vi~ iQ0a¿ o^Z!ufXZ_"8NIqi iZ:FV $pLOk}(xXig.nMNI<- )O|? jo}QPhd!fKXᑔ(?GO<ZRZml$ӠU,ΦHǝ3+;^h9kw^ xsw.l TQvGm mqإդ0I%ջ#]cmo '?eOiCA.>0ҍ;dM^x#k}_/WÏ .G~dž.j}fH>m'[\Sʩq $%O5(o;qM$e>)q+8oxs\Yl/DO4ƀ=I_;῍7qƭ9zkMYlnڴH (5/|,Odk}=H{WqhyYeB~@o/ ? ^ٛձж7mfWk{X)ş~/:Ʒc[Ere]:["^Mk-:m7^W/~~ɓx>Oݝ+7_}x>@#}/FuEf:TdQ-unn9>w r^]!l['G>*<_lmZsh(<!-"c, <:Icf (h%/?AxLҼ5¿ O"L~RI/\MO?7Zg~4gS[C񞁠__\wkp[ !˶$4V@oxWO|KxcT~ǫ蚌ߕ#C'q 4oX6 ]q5~". CĚͮi5#ȰҔVⱹ1ſ&|5->QwhG0d.=~| > _<YhE,d ̕Gh2I95P?n_+犗Bkw{as_nc6+]l2IJb~?<۟k[Bt4Bk[_]SaiOlIFp^GGbx g.'V|3ٲ]k146^hxb+ =k%H~'֬?Džtúmi'[6!os}Z[Hխ[tj m%6VOnԾ0B >W➝Z?di9 닭pyRo=>0( [VҴ Zi.Mj miai %i\$EfgbTH?[i' #RuI{1i$z Z.K{M^Έ<'m <3 XecUYK HR xY}F٘$]@P\|'_x5χaSfj~T4~mѾcEܧ @? +:˥ZJСg59n(Ent =گG,|ެ/&rXɇ27-6+GI h?t<a㟙|J,"Ymu-ns.5 Y2ܶw,7R~↋W[BV;saE)$ ?o %y C~ťrivi>#PySɥT7'M?/~ oG>|~[K{h} v6-hfEh3,Hy/;qBeXIq+8_üYl/nH|`7c_G:W|58w{o ZU_% ,]Sq;d3ӿU ?bokιd2ySl)E ?|x|?Wx#Im|kNWKc >w|E=]>ƶ;o1yz|_O5_DT%IxZգ'ew-Bj,.0,ߵ=GVc?h.ytm.jIqau+KO"*~_I>C'/,ZOyqx'䳎)ZV:|d"Y lIPRAߵgo xh BFwH=1Yh\ki5nfc˾i3yG(GJG/ǿXoi, 7QcG[_سwƞ4KI7}ܺmްmr,R($ub??? O𷌼i'Dn>mh~_'.I>K*k^ozcoi:W/,r\_i:V]KBt?Z5I5 >.m/&C Ď  ɿ??H&}/>~__"Irq&<-oxWG݇jKycWp\O[k?|O,.%PeѬe\o[}7_kqm I'm]F$5tm 7 |?B|s[|7߆85 .I`S_.-6[{#cӦRPs\S Mj:SxZ y\OsiV>m <㸚@'۟.>4~$_6x/xW÷ gYq:jRO-Ѳ0.#Be,]q_,A)}*}ⷍ?a_ywi {Oܴ Cj=H #Qu6w Wa psDG'EGkAw5xM~'|AY<"c ֨uHv9mӄwC0iZtwBԴkD֭!  JI++*AFZu- ]4kD֭&4t r4. I220*H @Yxo߰x0OvU28">fY/ۈ.-B[iZtwBԴkD֭!  JI++*A@_sO9nxoC,ckhD*}ɕ?0d?M_lP̕7XLݖxA>o{kb_&{|@'^*x7'Śo+kLDK2/.yPMyA?Oef?a f>f~ ^\1Y̸?~ |LO_ğjsj:fUݒ-2Ff_g'*Դ/_nϊM7Zċsm}VI~K[t7cx E;yx > x{iomL,ԈK+An//V߂ڢ]$ZF=ִkx_BUԭU} #D_?]?_WS ^*Gw,l>\j{m7ܿ%#3|?_xƏ^x_7/M<E[BscvE&dhg|.<%s'x?ǏIjW%52o*,b[p#;ą#qkbj߷sZ?g|O|cͤܧt @ѵ2kw";KkPЛDPO1*?o4, \v+KHO KesFU2ۮ@=?Yᯊ?|^5ݕ?c^(쵖 Q#G]Vm ;~֟+x6 o dkqͅnf(oKv"9dߊ?m_~__ /m|oc}$?eI<ȟm}o W|3cK~Ǥht}#M'o iYFڣ,ǒMx1Lx3h5ck:w82k>4\Gmm+XDq5Uiao7-xƿEپ$o>}Yx7ڦI%?kԭ77+ pv?q "FѴVx#¾Ok:ˍ> RynQq(Oط/ǁ|M/>%vj%[g!(-!Q+>=|O oi~dx,l` yEb>sq?nVI(~_>x Ĕơ? nc>>֯⋫i!84-5Bd2ߥ=afX% '{x[gG/_iP74?G,0:LQ@se跔"I3>2P?L?g-#xW΍um<$iEݥƉ]:Qj#ӠJ{sl]d˧xrE)nܽvU$FFMKowo4عY8[HoŸqDrmv¸ xi*o ^)1GUTuI#6Y"DdtVGmxHĞ)ֵ[VK+8 Tkh8cEHI¦oxWO|KxcT~ǫ蚌ߕ#C'q 4oX6 @|/1q⟊w> 9K $[y^lִխxnd(p?flOxZ{~ڗuSִ5{V 4S^Kq5}oxWO|KxcT~ǫ蚌ߕ#C'q 4oX6 @?Xh>1|.5 /[]SuƟ ^qKѶ s3b.o?WG>j:o9x–6:UWZ4V]CY^³ERuci'  GBѿnZPEx7AtG,WGc =d)HΓKMh>??CN|1%γocjOlG:ޥC7yTMn@~~xWRK7ISm'?OO?=x{ʷoXKjSo}{om(T'ǿ=K >6gJ|;š֝k*ZXlwMA+q;K^A=~;ٟi? } ;T+=Մ k-GFqGEFi7QFqkds)|qK x>5O+FAX]R,+F%9r2+  |A o:߈/]Ojxg^9{=Sg.eiE5xKxנ|3~x❧¯:O?goryq^c4v{MKfI&T q|^o4{xSTW$W1SHIo6ͼDiK,J#z&7//x _?ҥ𧌬,"~Bmu 46Vtҋ %a-_~%xB0]X\ Ym .uرXIJ s$ +P`_?ws*xnu\W[Xv8Rݐ,0N<+7?-NcmxsZZxGSCv-,"o*Enmm Ȍ$|ej>?k/P-ޝ_$[xGTњ NN-ry M]}!/q_w > ~9EG#[쉄Yֵ/mHg2})4Ӣ?獴'ԣ#b#X'/xǟy* %[4V">+oXx[>1c4M: >̑ʷV4,#mQvc&: ڍzv/NIӮnXo*\5ic; +gIuCuzMMW^3fum$XHjOvG (|?wTSV?_LXZjbX.t >%Ӯ4i7.Q9l??u~ ዯEKmf0Eumn#KحXͮ.fV&_ ?s/7w>lB@u-b`.4-ng"}?sxsOm#y=M,kk~|嫔Mƿw?;^'G*?xB}[^%[Hl31D[E4;s6TfM_~?#>[|P,}kV2~w>sߥզ2H1S>T*v(nf?fٟVojOڒO=OY[&Fp4}7:,%'VrL"I/ss}}jšn=@2oT1 8 7i(7*o:NxWLд-3OtM ?OKkK HPG 0€$q"*@Q@~Q@W앩\~ο[sBO~@ØAY.ҭBf$ۃ\KǺa}i:V]KBt?Z5I5 >.m/&C Ď  / /~=_WgSLPdl_xv"BG"qj ƱeE. =|_“]`vP${y9G ,hHI(~T?`'-qړ[<7vAXʶ.\Go 39::/u|=[K6Kօ]40] +dx'i/&Պ2Mk΍i71%m#&I%ڵPE:4[<-: xg|q9ؾkUm>#j(K6*lv=Ĺf?_wo_'#_5-%ml~ʲ ,[sgl$i:H>>g(}NQV2ogm%⥌1Lvn#Fd +8? (hھq5%coYay71ol6YZHY"H>#dCok>wU@qKxFM/RHn/6E2[^3!{+C?~ڏgGwB^&4o.><7e:-a!%~zdn#uJ{5k¿ZAuޔAusMVVPCuZFM|Q|A;|sˋƶ?ߢj_[K|Z.%<$h>5W|fP4a}uif5 _&mfeL~Pşwǟ |d ljng[^*]NG׻澆Q1/4s~տ/Yhߵo٨MH.nu?Ğ'Yno4NjegIfP?_Zt#i=i6 fŴON#!+"VD {~xxMW0OOc~xPǺ$3ɣۢ~ÿ?ڭ?wPM3Amva9sR*%;KZi־ S xG|I[kHlneВye'?1[X߄.u]`(]$/) FM HW^/s) ݽG4\LH-GyHWrF,@> տd+V&]6x{ៃi(+cȁy5wv3CHe$k^3'f%+⟇4+O}_^-}?sx/Oȭ$xoMkRki~|I*MɆ>@$~;o>_ew:^;,~(u՜o[w#QKyn#Kig~P௅WX=cS N;DW[+R|PII I,?>,_i6D_V3YmΚTH.$PaWߴs 5CqxWixGڄ\4X]EhmΫn$9$ψ<=#߀|? A',%_$rDwS/y|IV6@X=cك\5T>#Q׊u˙#qr-+iZYi<ƿT?+>*ׄ|E^2xn>Σuwt+q{KȚdH6ҴD%?h(|!|?5ښV⿊ieI-m,dI]32|F'|Iq5O j:T(ǃ4'HI.Ql vq(:eϚd&6l&m2g׮,Z𭿎tȼA>@!"B.n~kku ŬVմºZ~h_[ZXZBIfW!#Y؅U,--Ν4BTn>ʾ*Z[:Z*Rro]]^Μ5[[-i`lbW)tH|E WrOךkxe#t3a/ нO"5SZ^s\M([euE@?G((+ [km# k ^_ͭen`O"h eF̌,o_[} //IZ궐*nxZLj?e_eI!uxoSymSLɨ~it0&' *|NxߴWqwiZn|(3_g]JE4o-c+Nk)p؄0)/ xoO <1w7[U42Ai8bUKY%y(y?g&6(?JCx<`ss5Ŀ1/mi XhoC>~Ѿ xK70ׇ|Y/r\aȷnb_2!i*~:NxWLд-3OtM ?OKkK HPG 0€$q"*@/bgߍ;ƾ,O7 i;ƃ=:c;[wj_[] ]ռCV5o|y?~K4|oS*P"K{C w~Eply[NjKs|[?c/<-vArvvz~G5}>׻b[TΎgC=ÿ7¾ҿcP?m4xilBDf C>-)cn ?aKwfW~-&[MXOxjKKH.cK(6<ͺ9.cYG}|UZKi<i%Au 1͛@u\8ݕnmȮ|}~±n4 >_!||usel}OQ9]o&F۝֐ ATMx~5~ρ/IGi~W>&x6 /xFXҥם}{mg&O. y'sR[j)~9NWi5mSPt MѼ }:kvmgm)Ɖ;?Wڿu⿇fok7M)#S͌[#˦]B6O_ |T|S6]Ufĺl72 [n%-U€ 1~rW}K>!x7y?I}gFsoV0{ܼFKVkfY8gdѿ_c߆S̕XS?|Ol/ζ ~ ~ß~}߶Kiic]W^[\L#-\mL( մ+^𮥡kfhդn6!XfI"tfFFYIhƾ&G¿Z/,|w ]ߊ>}rڇl'_){gIij0}7Ï/cH׵Q[0Cm3H<;̆[)KoČ[HF|OOo+*Ěg\ߺW%f5+[:VmX<}/~6tkMj)?m|ڐyQE5&FDu /gÿ#KXN'4i~lwgo@)Cx3Gֿg:ޟ⟏nTeMGYҴ葮$b%8a&i[0v7qg|7KZU4s2x=*8RgӴ:٦(%k97yh`xZgjxyc7d:OY"qlx[Dw/l|+oXx[>1c4M: >̑ʷV4,#mQvc&: ;_G;=o []ǺΛ67m[Xxz,60CܫƒE$- }sB5osx>.mgğZŗ[#=m'6AI/+1s7??-ψ>?>#xK'HMtl};95˩b"mݔI-<20*0 C+/E]> :VxؼڨHDYtVv%͑E-x]=I$OFM,tѤ~(˝*Zd~_'.I>K*k^ozcoi:W/,r\@ql|tfOAZdwhnrA\$rE* ~|Yw_>41g/5[S$2O{h\ܴPJo l!!ZgϏx졣ᅽбepNȡq\,,7Dj  ~_L|VZwm hxZc"{y?2y %Yl |Dm Em^;CķQ1^OoX6lZG[I ekNխlo,)hT\Zi Qc]RТ?-YC(G}W§P7x?v֖WgnWV2\7ԱtKq0_}~Xxwۏ ML?ğ~]?cGI~բ&j3"\6hO=C'qo`2d:g {73\K6֐oӼ x@cw|U᫈ ~|-Q>gy|>Oisjnwof/&ǻ(|+__i7Bs|ncO(BKg=)5Oa 8zkxv?yyᏌVF-vG74j<Ż L.Uy@H@>߯i;UMX?GC[A7BGZytknǏx7Z56wΚcBG=feX@>ϯ(~_~|!PFk o mQ5ՓBͲ[t2w$ R`vy&7/ Ң$_%x~2}XVmFFh"c-gUY |DK~W-}_F,&ִ o,6hf٨s,R}oأ֯OXm—J| aOZ-wۭ[-6rAڴ+ןg/ڏ-Z eb_;ŖkkBʹ͆cv4?>2|,xUY=|ImrO=ʒǽC+5ӿg:?.a?_gi_mu=[]"m5$EZƟfylGha<3O'*j":fur#[)`vm6D|{ |%f ΡW[j,Ddn!E@2y`}!hݼ_?dEX\0Mg3iVm}m>F0`eX%~^;&oKº4WݭI+׷F(.퍓OqDp3E? F+O:RR?ŭWLHRYmM5]d܅qmaďً?h_oDҬt>"61㹱Ha IpGYS}~  gYZ}Iill-uprWQ@2?v"4x2nh~i3 o1Z9gwu_?g?E_E.&+%~5Wιb尪qƀEPƿ~ʾMT|@< }og0Ʃ}H5 *E?6ehd"SEa?~)M~.#|M^|7;S1%D}WMx[~P~fX\y6}GnlhHmYi~26k^kKy]f1A$F"K`n #Rۓr6kq2fҠ<\ 8b,7h-XoJk=osn\a€+?M'?m?b/QLdмG-'ahaNb3۫@C  /Ӿ|࿅+i/6eE<[ZhG幙G-ݴ1EZ7;xgVeH᫻ K/H0C$my{e~|.D@w[Şǁ,,7v.LXd|ۙn [Imn`>%xVBDK4hֺ7J̐#YP88c 7~?Gǿ7"O};nWmCjV;Qo|k%8b+K9ch6?:7 ֖VwrhdP]jq#%ϼ6䐴1bĀz~xxNMW0OO~xcPǺ0IMBI-}6i4AI3y@?| 0BcGS$1I;UDZwڙ`a~?jšQt~2i$nt-2+aiZ˹cKЋhτ'gsoO_kޑSƚݽ̓AkQ3i4~uTo2v }4|w㻏 ~/X^j>7155&C7ֱb+<. ϟq)XxP&-G@>gWѮ gK.>էŃW5pNLd5OۋiA~gӼ%],5 %zmkNR* 6XRy~|/)௅Nǃg5ܚ>Zvnon%A$͸y$-$X υCt 7¶S*JqF$:FʧOۛGƍ3P?vZτWvZ+^KvKveQW? ?__< ;Jд80A hq/ke[K#-7/Aw8ͬx}oǪ|H?>#c{|A]\[I-r 5WZinw[^]~חk|#|WO>#SNS"mlՄry6";?a~)ufwU%F{i5jcrMŤĶw1}kx8@ywVմºZ~h_[ZXZBIfW!#Y؅U?ᬾ)xA~[MþL|6S%Dp!g"}x7Ҡ_Ŀ~_|+v4M7þPbh?cɤwٮ,C PWW B?.'|<ӟS{H [٬r?+"4_?Ï2:Ėzj1R ՑEQ$[i2H]YPhԵwR]EP/2K4ҹ H*$~Xj>)SΪ&a+>кZ4r)MUdF}o60x > x{iomL,ԈK+|U)>Po~?2ԟ%{g"MNh:ntYBK"Op&D_6S? |? jW4oNPYmVKr.8dV CğNh?'>1֮uO_ײ] /)YR-Z,ZF@_?o{;?{]4^?k$gNQ7>T[jQA/.|_7}e/ۗwigĕ_cKُ ̰֓]9H{y&$3k5O¿>mFxᎳ}kʊ}MIox!`Q٢@>.Iv|-ge fH1tvXPqk9FFV$q4_7Wټ$ YC]%oFn"E$f;'kO??,յ_ශ5?cy5 Ԗkɖ c*.mH!~>'xr{9MAWPuo][5'YbKyVK-bh/P=du?_?|9?-Yէ<[phu(x;R#ڷTsW ?ON5 WW^SxC\]jM^ym(_y3wslkZ>USx7d&y x#?j2I ,ڶԚk9PA@b2,'#xWL4 oCZx^"ODtEԴy#H6m-o 3i-G dž+q}.U֠m-xeh!IbYU@+anTݿ|aIdfǥ(S{w$ojIr[ ?N|k5~Ğ0|wy -7PYx[AhK,cݜP|LiV{[AE苠^ZM2-䷪-=r- WI?C1|tq38mn~Bwd0Gc׷/5ʹ[PmC24ypCaW߷ Ǐkƞ꺦os o_NL%ȁ!k|ЏxbKLu|~Ӥ_|ZQuΝ$[GXx~,R'6ړ<$8~~ ~֞=Yu;jWV.$kM!LiŻXc"a-? O|? i~oNO$iU7#TeIOd~к_k|"{Ko FethpUlw4"HLl>)uI[iڤY?'[Yj:4#g=*3Iʊ6K[.ֿ`|S+>2jmO6O6C}ڨej߶F7Zc_ǭnm+PH ZmU>-et֚z\ZNdv+4U3ƿWĽCַcwGm{q<+>-{jz;\ZN#+(0>Q'G~׿& ?o_Y]X iEmaNQGm!7wWr6*HSΪޏx+>l̑MUFMoMJ?'IҴ i.Camiai P$ETTPT4(+*KƟ|kw? xJo6s]ykk:H{1 lK,hXPNOÿM/Ǟ;.~ о վ-x[1u%,P=W&.Z9'H((+?((մ+^𮥡kfhդn6!XfI"tfFFYIk qq/EZGƲk Z%yT1ZG"^LЅQ> ~@Q@/WÏ .G~dž.j}fH>m'[\Sʩq $%O5Ɲ 9xbW5χ,Ѯ`kc[r,UkL*Eovp@Q@{k N ;-Vk6֐nc N YؤS"U >8k-{8~ Z|7/>XZ C}-cmeqmxۼ8[~2wowþ<[=QM1Vg ~4On7(S?g.!Gךo6m6qj*_ qzm$"PE|/,.O| wj:XU/ cM##+W`]U7~g?kߴ+\>A-:/a^\I$ڬaˆ_?m_|  Y@Դ_U:l\kk!# $w^tiCBVO. ?_?'U+? 6Z Mw Xn.,b5YDhg=ş W~+_Cu+J<1첏lBbb4xPWPEy Uu9/o-#58E{'ϼ*$RΠ>?/o't}{_~ |_ӵ é/7jvi>w,ʱ}]Q~r,!Vj?^C|@jxxntlȷĭw/&=aeuo1?n?azw|If|g?>&ō_5OH֐4Jբc :ms"q,RhgW 4>x/1 +LhO ZH"̚g[wFf (ƿ|* ֗P]jq"ZJHǕnHZH)gP@?ړ;SoNEţ[iՆ3XjzF.|lq 1mZ; >4x?nό_|//V?Gw[-W7^żOcf77~ YC<)[K{mA}'msk4Dԍ 4˶2^@Q@O?Cehj L) =,[;!71M`֗ Ɍh~Z5__P?/ ?-$<-tԯ{KF]<.mϙ Oz,vyeEPEA]N .B/ߵ ?DE1)-.-ʺl"p3? h>YZ/ҬM"ΖXZB[J#4]$( ( ( ( .>`dڭn Orω-Nie 7Q=֣Kn:UM푀?S(?tq].OxS&#Micm%ԩ 4"`Gq|HA~^ PW5XIu2,%T#[hV:< K>a0~~<{)k~n;4$ì1hwYD.m!i@?l k &;>'-wq/KZCoo;~ן2xo[^-lm Kx|s\GcuI$_PP_|n |* ?hr}ëG/;$WB-K]%6߶Oei??[ª_ fV~ dQ}1Z̹[كw}2x_OY/ƶ>/t=#RԵuOz\5 w? ?[kwmsiWr=X,2xٯ/*Nm#X  D<|B< N((Zӭ_`n|#^^jbbUKOvEi&r\{ls;xKD:fuZ5vFkw7Th'TE!_-~Ͽ?<?] [i~d.ym$T1\"'!e8͖׿Cc L^ ҭ |NŸ 쬲&ͅ/Im n^Uh#h$w.Y~7 C_|9BK-[|Mtc- $7v׎}x_OmMZ>wy>u}.+8+!9/.+{g)z/IgTTGx¶z~xi<{KL$uiKKt ~px'~ |SҼQOczs5)mdC^wRhdREX|mBg5&>F>Ҿ$|m=jU&[՝W*6Hk9asS )wق[a/x[ҭ4¶/ 8i"4St<.E.Ʊ^AyYh]5} ~*gW?i:]v7lӕ'ÈZ" įm-(S[6hƩ[-ފ^wg&}o%_ `|ǟc]GM ?|27Pks?෋-Ὲ4Vml5BN3u~ xx/>&6m<:vdk;I#K,R1[\Y6d53戃O_{t?x?h]/xZR(Wq^_5,Z-zFDP9y~yſڵB^\kIb.ye[_xR௉/t۹3h6\b5MnGimcu2Js 9E]㾝%>ywwxK<]{O"xqxVIC 1 6H8#Hmls1G>Y#֟?m>~ӚW- X[2&i˗2j(ʲDO1n#e [7~Rk/P ]ͪGx*ͥ9/rYZޞKf<-f>݇I{h֩|>쿹7YZ+ւX$ԙV>%ٿ<+NW'O8ȿk{0K=֥zMW[oE#P1cxE{ܥ?}b oͫN-,lQ֍;zW֓5jyM voi5<B /_b' wҼSՆ~ը6~$PȾS6Bc@ h:| kJػOt?KwᖕuDkki$59Qb.[Nk5 RZO,.dC42)$N) hQ@|L~ > XŎh. ύ5([F,F$UeXa> i ?Z=߃~XC\\y"7d>ܾzZE_~8om>iWUؠk_1wsoG$is9ᑑbʊ /Q?5.OiR˧Or2ZG\0t7D4 PE2?.#GtKND5ַͤiydY-8m Q@Q@~Q@Q@|S}P9^ )"[ICalnYFb2 ~3T|#m+J_ xֿoΫ$[x[i?Q@AEN| >_yhصpu 2AcYnm[ #bt [A7 '~~ei~t/2VidQvf8$A_2@߱v|">571h~w1 fSoG,-@>8>?ھs żcoTc}fnb޹\rFE$r?P~iZu-w]ԴDm&5 4BG"3 $_" )G߲,h?iDK 9<|*(M@¯Zx'o?o Ym=*aT p}O7-+L,? >/.Ο>1'M1fiCƱj/V,b?s6T 3p Wx/?hCό?|?>w廍7I }K_1y&Tpx`; 4m4(~j1j?4o8u-YߋI_~pMC_m V-N{-w1\GcJgdh$)2k$;[HkOdKga+jja@W]Oߴni % ּmYkfdLo,/qqr$Q54_G/o+u/+l5ߌ&ҦZ;&dSCRG*4F(P|4 s/E_-O?bqx\-c{qɶIٞ?_-K?CᖱZk^;pHzKwir/R2(x+TPU?KςZ/1٧0~,x&?}B_y-펣pxAG4'[tx~пOQ+_ůg/ό|i4e5[ >&w4h=kҰi7G=_FӴMN H[E.5C/X+4+Dss,|+_ /_۞o$!?>DCm/cK{{Y[UX6w?Gk ;SRxu 뺬֩oOiPÕMO- x^Cy?R_`|# .^!D^.֥MK[@O}}n|vv2,R47 @w~~?yVޓ?MCYUqIu4*.c]>Rlc_O/|Jƻivmu[HnFwE$1Bw0  xƯgWHSxG@$㷒i|7XQ36qDnFO>~U_|>_(xoךM;P "Դm ٣Kf2ޫA#^iB\4&ojo|@~&]saC V XR] ~fm9cimB–6$? 2k÷WM=M$Wx]i!_>I)~Ox3???o5>=UnŽo5jIsuh!b㶺3wm.[|f?zêA_7Q^xrᾚYdvlƑBc@+C Oj g_[-bKX}-uU,X,;iCĤdIմ{ºfjZ~kV\_LHfT%$ѕԕe AO¾8%k#[Ӡ,.hy}N? >1]i߱eߏg?fQa{8fq#j^&PFb)⟌/۷QCyOXS|VfjbMܼ2[ڴQ4sm@?W*qoe~/şcҭVL.dYsrAɱKk(ǿ//_ֶڟ?e*_7xuf#-m. _.-J[xU3Z\ݐXe [Iҵ Zi։ZMaisii2h\'Fdd`UA,5dvy:Kx]꺆2%ƻJPѯs5ݵq+#F҇y.5+px x{*oLؘ#VR*:rE"H:2€>@?jOR3gZLx͜xmOS`}6.Wgge+^zuvhi=KJҭtج-IkTU7%{%|COu\~q5u=~^--Jٴxj(l%&)浲n7MsN͟.6/(/CJ+#F.5|?}GiyuD-ë幸m;&ETv!OJ??|^u ?/kzƜ76\=RԢV(}Q@Q@~Q@Q@/g/*k'G1_dVš7Sy00uҭƘ?Q@;S?i?EJ>j~Jn,k[[H`ZA@V௏/bi(.e/Z.:%69"k&_PMkx׊u?T? YNljKŪUFhxJ,y#lR <ܬ|[Sl?M:z?_ ;i2F;}6iV[X]6 5(S'J<+hZ&i [(#a@8QQ@UP Т>||&{2*.qMfݧ}*ycߞ?S߀/OxP5? ែ4Ѫx_K..$Kp{D[r1$3?y~ֿa 7J_xb|G֭}fnxȶx.S?W߲__ٗ©g~h-5_Ք /zzE+3[@" dƿًǿG^7*OxB}'^kI86>5ė1C)MFExfOWKN:W?iV"=2Z8uM&i`ڎi;F ̑K$C˟w5]CƋxZw>kx (g-uķ^jXJM hD>2Zse.5"xh~.#G=h\02IWAo'SO *d[[h[Ymdw0`>մ+^𮥡kfhդn6!XfI"tfFFYIk.~*V>)ZMZc0'dfye?h hIf|hekg\+j]%?׊紸} > ֠d1΂,̌\4?m3:ǟ֖ZψXk_,"H,ֲeob&&8OLiQѮk_? =þ OOGuAkP褦Hp  J#|Gx ^?\_?6h#𿉣w6q"w-瑝1={\d9xs]2Q|HM"j m\ihF&Hc fh`tO//5;KP'Ə?ߪ-imm DO:T97@@xz?ثg?j_kyZn|#kVcs-,-!A0 ĈW)<+ǿ0lrvioeqiioz\3² =CƿOl/v<`V.\9bq ͮP<.s U犼aߍƗzh:-5kye[;A۬qoo~ƺvo4xoI|?#i>-RoYu8(cPH[cc#I~|wc|FfOO k_'42i=Ў+F%<70^}H X~T׾?wuo_gG[v.$Ƽ x_?k_?fU<_f#k~=^Zx82FJ e?Fl[|,5|=W[=3LR#K1/$I,K#~`!M!|7v<IfPXi%Ͼkyg!H0/CNq'o?~XeGgGl!xd!Z]ܛ&u 'uݘ3Qp||e8/S>>SSn#]U.t'X'eMJ u ( (c;&/_4AG]kᏆxYO>ibsc0t)$ lE}!گG?cWQ&$OXm*nK{3[;n> 7>=l7S$GZDژQ)|qK x>5O+FAX]R,+F%9r2+  |A e?>i?)w\}?7[-4+K->l#?;\xrjō&Ѯu |M-&8-"Rk<0M%M*±'wCOxD4_~5}:8ʁ0ZOhA#/(e_w;'e|AҼ.m*#z/6[P&|1i"V<4KEn`i[`p*_xPuܳx6`wWVaej"XXƑ@<4Q(m€ (~/4|] {/NPtKX0e d _<YhE,d ̕Gh2I94Q@Q@W~Q@Q@Q@R}Uo?ׇ/dk\kݝdgV/Mz&%#?Nk5 RZO,.dC42)$N) hQ@|n|x?>$h׺}-«qwo 8X#9[Tyo͹jnu?>*>xo^m?(cx%Swܪ|vBشPtsu5X_Wa2l.UUVI$hIG\6~*'_Z,x 8–֚TvonRYc{,M SK",cQ}3ZWŝF?;O9R*uMF {ݍ팶=V>K Auq}Y|*uܶOņ/uYJN6HwRЭUy&>Po/ ? ^ٛձж7mfWk{X)}xs?K߉OqiVD(ӤԌ0^Os%E̖q#["R~Q@?kg>/_.xC &54I,7"nm3(xhѥ _8k_S:~ϾPx+PԗD'O#H[P{bif(AsY7@_RߌZƑ?c /T7z߈5oxwZ[Ƒ{#d%'|E;|K Mjz\[G662cmmj[@'ZuƏ]K<f{O>K j.Vy%tBV&9o~|dYi_4<1w441{b&{y%zE~>xC-oº1 ᛋt}kM[RԢi.䰷IC, GOk~_M'b ֱN xtN#&ۀ \4M0>‰ /+/!Y}+A< |@<{hז n7\It񾥯VH.[w3IDM@~{=K].mWP<:xh]]Sr-aĘK z,`E cO}GTLj߈^'Iu:9Fqg"Ko4PI5_>*<e|4>wpZ(wBꨥn^+ۥ$lWNk5 RZO,.dC42)$N) hW?xWO|KcK٫z}"q3,iY#w0:@"}x?+n5m+Tмi~2?h½RYx턓K<+K4vZZBdY"Hd}S٢.DgXk|P%7z>%FM {b*CQ6_n_x"?eٯTXօ8c Kb/\[(_4>!~ZW53_>i_|?6乸F֗3e$P,"]<Ή%aX |?`" W:g}8ṇʷӶ"oNT=8d&巌[|FWB$Þ#^kHgnZX0;d%Xp4a~|?oǿ.Euφw}G pMqk[hhQ|}Ai?C~߳o'-?1NKY}Þ"eeiz%͚yv5?kσ_)ռWO=.5 V1ҮmHX!c8MBҾ8x|]Cr⿇:]ZoQҤic"I@)€ (ؾ' y߱|ך7·v_Yꁓmiqq,=ֶ\̫}Q@?iO:Gř #MҮ<4ֿcq>FiŒQAe@<7}lj/ ii}SFҒw)Hl6dh&3J?p,N󬗷_'(8<$Ԣ/ⶃ[|K-VI'xG4;[Ivthg>_ o >#hlv!6˽>K8ZAs$Wq4Qۈ*wI$Qgx<+}?5Oi$u]_Ǿ)'KGDT G;Kۨس/]xþ!k~(L UKydKɢcMq~8N~~->]o$_ {K{L{lcY!~&FHcCݟ?s| R}3 8WW`n>4|_+ Hl|58w?_]kI|ے{dTʴ7?g|]ZCU<o[lZ8D7K_)!\^:PӵY4K/J:櫧 "Ӗ{/ןd ,OzUE̟.nZ("WY6)wcz~ woط+-px;⫿o ŗ2(cNo#ZKA,oߵg=KB |Aw6k ]s%قV/l SypY?W'uմME|7 K$y6o57qa[*dq^k?5Vkټ{- fY-g<(Y$ _<YhE,d ̕Gh2I94i:V]KBt?Z5I5 >.m/&C Ď  o1V_^[U<~6EӹUJr_Kⲵk= 1smºix P=Oux#ص'KxZYO>I/^*>*~^4U:?ڴj=kPD.{Nmem4H=P%*qe߂~(/8ߘcmVo-KkyU.!d=䣩?8<-G?N|xL<>W}B>Tm*xo\6E-Fr@$K6V^v:+C nc|r8cσ_St ?h4ݽSKnu6K1H) C%h8P?mC㇊~'Ǐ u_x-ws}=+qM~5KfHlsu,6ѥIn_߳{9|+uH5Qc^^pO}iA 2€z/?hCό?|?>w廍7I }K_1y&T i?? hxGHUe7g?`H q}uxw|ǟCg|w67>ޝQO&Vfuvh~ؿp~;'X\֥cQ촉․Q>tҫ N|&_~ ~ß~}wnd,Vc[@$%O1P#L'qo`2d:g {73\K6֐~w|߈?f߇z|IkZvĞKI:Yby4>+WÏq~/?fk_}}0Ueعl*qƱqPw쭥|pW>"C .Ÿ{{ VxDqJUs0p?1+IcC,mF }ƎQRH۪9#ʹ+CAwtm O"A.bmP$6,s*Zے'̭$/ S_3f_n4eLhȐ5ְV@!fxP?X*4jZwڦ&;/i+mzf"f*%Ifs(}_ ]g30~XICzU}OjZ|E,Wqe:JJ; K@4o|?Zg?gie&c^-nH7.Vb&^췖Sn!VC <};^%:?|PF6峛Q{QKV/l dcIbo1?K?h;_ߴ֣%埆[_?J5^"YvI62 Β;nA-~_?$/ğ?in|w㻕s)U>**G1G?| 0BcGS$1I;UDZwڙ`Ǐ'3G_fzn?jP}wR3Fпy n{.Y~iun\F`~Ϸ ;#MNJxڣ)c-o-24W2K:FT0}l_wx|MVy!e{yMw]w>6yg5uywl})mN\'Xm|6l75{ccJ׼)@[ꗑܥ8a:}rZLZ`=_?;Y\|?JI/OVm~ IW0nvhom,'7G쟷5VR֕_naifC4m嶒ݘL|Q/>~Wt C&>;J"}jea]NڴsI$1(>\| |,Vi>x~A]jKF$q"*$4O2Y4@~hx_ ƗnCgww)G|j6y|8Cx<; _'OxGxÚ%Үg'm-qq[mD/;qBeXIq+8_üYl/nH|`7c@/(~ҟ|i S~ u\j7(1g[>E$W5Pql~ ?jUJ-c\-|ȢEc浳r=߃<_ xS[OS+ͣcct-q+Iwo2%2Un៉CW4Zr[_rA}nGEiu92|xaO~&R_}6zj-Ճɸ)d?>2|xf?lR_}Bj-|ɸ)6ɤ:U/!?+OZcTimKѲ 'x5)m'--h4~3E]KM2JAìݮ.PEqLF?Ժ/gį_`|x]C46ůCԵ ,-%Yo#8 %_wf-G]k&mu[i/ Eaw\kap^Fnz C=:_ MlXxFծֶ0]!lKp$WhonJ͖c(.?lo_vt_ Hn<}jxI]Gc8as&,]*ٿ_]$bc5o(|ԼK[]>=x|;^( n.HUxcH ̫t .>+?ͣZxwΡ4&FW _je2oDo O?oSw4l"#Aڞ./$W/ m߶tx ??dڇ8ewτ.67ɷ64;udh/?s,umr0x$wW6:Դ=[P.&SKwӤt*·K2C)#,z:O j/i׵]:[#[ȴ>j\iKD n H@=n> x?b~,tR-'I|>7%ĉwhVY͡gL72 1GM5/N^-M)ӭ&OQ{fwFvPE'/_55{{J<=+ 붾fܽ̚KM:K)f̗Wv7F~/b_ u]xOV?-.miy(n4kŞUKR P=y|-~|zCKԙ^]oi(^jREUxm!.[} D<|B< N((Zӭ_`n|#^^jbbUKOvEi&r\y{GW^)[?tִI[Iƻ[9^lmo9uI#y&d <1tO֞O5mzn\-2OTǞÀxfOWKN:W?iV"=2ZoӼ x@cw|U᫈Z[>&=0ַ l0ʲ['|ONk|Obkf3[Kle2!o7?OT/>MmE?.¾ l[o:;ۛmn"hLE}X}_3 > ^5c^: YK bĎ,M*87ƿ|ixb_jKڦHdhydB#( >ۢ~ÿ?ڭ?wPM3Amva9sR*%;ǰ||?{4OU*a42Y7K2Kkmm#X@R O^_nDMWYh F}:&&kdcđ|ّx/W>~^A?|QWP/Og'47&,4Oon_?Q_)or|AfּV't+c"k?\Ea⿈khoS[dKNX"O+oXx[>1c4M: >̑ʷV4,#mQvc& +O+_x[ƾ<1y_l5: BʑfͷZ7,qȻX`h]xoO~Oj~Wg׿cg4x-Jg6sMsGO?j(?`~|˽{>ok ֱZ趉 !gh̳y(0/oGiVw&C,oen&Yrٞ>p!V E} gA4wS+4ĴQ΃b."}Ǜ43?:-|po?sC_iמрE4:$M[7kgnTD}3~> >XK'W7/m _?C#ugst"EmxdK˗acP@gf8O;O_t~#h蚗y<֯ n~,A?,>$|!Wǿ.m%wďԶV|ڏdAY1ϗCx/M|__j>|vu% dœ 8_gQ[x]|:^^m3:}̷a|-#K[@/|7ԛzٵmu ۭ[]׼CU[!%xDy18F(?ƿ<+¶_?%_Fm!TxdPʁGp|Xb#i$xGCq☴ 5;yޮsreX+dy;g?كğ4?ڧ 0~\k 6(tf$3][L$hʋwMƏf _~wP"m*KfiDEOTP1oG¯͟*񣟒*om5kO7ﭥ0~ x?v/~~Ǻwx[?@n~jSb6\6»bUAWWÏRx~&=MRF٥^LMZ}au)QFP??okğP{Er5y*ɩ{didHEFֱio>4%<5}jj2Hoq[4r5Ȓ,RE"$: ( ( ( ( گ>2+jJikCMпB$P6=i| K x'>47zFAZy4yVƛm2y$A@Q@|x¶iWizMGGE$"I =Oo<3xVC>3|77|U@Ҽ:-Ev̗MTOi\Mmi_~wb~i"oGai2_Mk},wЪ)͢ kg*oOQNK=3rL c81\k#GeTC?P=C( +OiUԟYg݁m%{]{[زǨKٞY3,_?5_|L_/ď7h`Q]մeEelEK-ը;K3'𖱦G%?ၥj/>/2j#uuͥӤ}^fR#CDmY>&ߏ}E*y/м+=<+'4KJӕ1:C*F yJ e_ ?֭᯴fQkhD5/rO,41 ;> «h?h tm:@ز]%FKh@+WlJX<'o O |Hվxv= t'{{ -8FSZ\'&[X, (+? a]̴<3i=ݽ]O]77Z\"n!K>*~߲_ymG4y-4i6cg2ݿ L dh >k_~u/ }jgQfoq >b cov|/&ċAVWVWWZ䳅oeSvo/7ßi=Dگ gu?^K}>9!ͷw$~@~~ ~֞=Yu;jWV.$kM!LiŻXc"a-? O|? i~oNO$iU7#TeI rE}R<#M2y+ey甅M5oR 7 i?7ZglzǭnWO >HxV)}R[gnvG< W5"~Y/#>#+ ?|y?v|A kYީ㯂~!)Ft5ov`[>-h崆VѬ.9x 39:׆<u|=[KJTM]40Z[x'XmỹgOx-֚}6i/KEgPOe?fڻ-.Rm |=o,'RCa4qs$.Oĩ"Erpyk[|^[5??f idi[gkxp:$㰷a۷w>6KoO=n{Yb4x9'`uc_? ᖏ,}6gJMc'ǬZ>0JzTZ|C[dukkk1z7H{[ȒdA8M|/#ޕ4x;FZQ4I4MnqjZjqePE۟tm"췿4z ޷eRk2KK?SHt@Q@Q@W~Q@Q@B>"މ~$ D{,m!WtFL3 Q'Uۻiyw)tb%}INu͒^j*\:?J ~ʚP:|;h]{946Rij<yqniW4~%x|cZ0:#ͥˤZ]yI[6 {K(XT ۼ' :M3Ŀ-|V񮡮ZBXl (Mby"\Lz6'_x χ/iid4U*dyjI4Q@|+O ɤxG^,8º ?jGY>ۨjZ=ͼ43j3G#E ( (??nuOZoW|?xM96έ<).u"G{;Im. c@4PUv'x/M<|_` GK$a+4"g;vyv@>9I9w d&?Luu?>W&`+|J𭾅ivi$ѭu[Hn5!GE$p7p ?Ͽ</|Eg OkFm-/m~9ou%gEKie€ ( (/x'UƟ|Aݿ<^og%\K4܏2AYlo/`V_8AƺWį^['?xO;m/&TwE$+a(>jx?p^IiOuGv>W|w@" /~ߴG?gKKf._o5 x2=/g &؂DL0~ϟ~$xO~|z>7YS{Z+kJdj麔qʯxmrIo'J<+hZ&i [(#a@8QQ@UP Т ( ?mkKUVÐISUOk{MS:qxm㲁> k+o|E?Z]4k]VGfHne , dq1o}Osx6j6o\hڰnʳr­GMk>uu?խ*-txE<kX;.uW0uF,QO; >.<W5u /@[4ŵƺy2pn!*yVEM#Cgū?{G~ cAzoI- Z#iMoJHJ']KFeB@'IҴ i.Camiai P$ETTPT( (>_%~OSa_K?cdmbg ((((i?Asxt)txJkvMoٴH5Y.*liWYH (?VմºZ~h_[ZXZBIfW!#Y؅U?!R/K ]CDKojϼAp٥hn;#";<2hxO ֣ _O ͋ǧk0ALlybKD /9; +,x/,O >7g-O7wޛr MZO_<+x7?i}W^G۳tg}G w/?>ۿ_!fvo<<(ǎW%en»ߴCryv+fvv0@_,|4g º7?_Yi;<7 (/OOUqxSX.ѵ)/4=KM=AX؛-գd4όxX$NMRFԵ A!t^uēlƦDP_?͟?gC)XawH"vH`f R:x[:< aO _hi A4R43A*0MMo2$H"2 tRPլWsXd b*ʙEP+€ J?J>?_U$}?O'~oPEP~Zu- ]4kD֭&4t r4. I220*H _(|3MT߈|4?FxO_xzF֯hd?i;|3;>W?W_^k[}w/< , %<1ycMF Bʑʸ7,omcFS_KA> ~Oxv,ڎ OݏeѼKl Xuq"}@Q@W~Q@Q@E|YwG⭷'oO˿kzeȭc9$O(>_SS? ܷc)}7M߅fVҎbm;wik$-e{Q>h<180ޫmoxs:l!n#1ivmk]o%;7+o\ xzv3HȇIҭ<3Di;%&[b0O`_K<;☾]?nO\mWEpʷ1jpG2:,"ʁdo( (gxwǁn>}[|cou 4.]*RY><㏁|S㿁-oT7ڮʹ 1vt]i/o%m]?~|d~Դ+-xX/o9=jiX+ *톥],ڈH1\Gwf?٪? >|/k- G4F=@eAHG-ėzmWv 6EhZ?B-u-\K+>ymmu{spnn.."q4# Q@?d_(?bxNt:#ꑯ+Տok-4]V]B(P_7O^0槮iߵj? ۶<6-souoxk2$4L//%wisw-xk÷:sY^趑E6>n{0{F+co|;^񷈇5K5=VXn&FխԷsfP (/?ſnn4=z<[Du]g|RG#}EPE|ģ /X 3oW|#mf3<(?_Y< M*KxwU S@ H%7G]@<o~K㟍_ksggymiMX=7J[iVN.RӖ ~xO'Ҵ˹5/j_ͫ^VsKiK>+[I u+IWPڼQ9K(a?|07_φu^@ѵ{Y~I4#Xx~fLԭ`647Q^}Ex| mgog4Mmomp\ҕxt澴Cq59i~kx?>0!/4LӿMgB0v6 I-0ky,lQ3E, .&G>Ҿ |ooxj}3)[PӖQ]AbԢӯ/tlHT{HZgFܚdQ_IY_]\Zeks?pe\]7z&Ҵگ_4>|p ?tyr! ((((j??O>,Y 3o~">ÿX+v3˗g@PEPE{oM~):ɡYxͮOje"GI'Xv9d z?|+_OS%_xkЭ lo4+Dz?C F݈B^@Q@|-5sagZ|W×VO~qixj9HE1 ( (>__u?o{oʷ1jzLu0BM o( ([Iҵ Zi։ZMaisii2h\'Fdd`UA<nյ]O% u-C[_.<MRdյ\͡jk<4Si3G,e9Hݙ( ( [L _?&_%Zω>ÿ;ڟf󶧛\[(Hnş % :|~$nwy}7} ( ()IXϟU־#\j:Vf,bӑ-Z޿j+m=[$(+ [ m[ľ~h:G ~?we"-ydO1tUِ ( (>UQχ^Go 6Uꎺ7w|7 мi"7( ( ( ( [мXj? Z_qYZJeG1^hMq4WR@Q@Q@|sKGo+Cf5m?NtU)!x, __5⫍S?em#?+oM&tSFOWVsn-nCC6 7C>IiiGov^(y<-uxCa5Uf~1xf³]$l} m#q m-l,SQ@xƯ k?~ U^R|ɘAui_h:*H# <' <3_ _jxcU^y2 R{y|UdMHXg ( յm+@𮥮뺖-p֖YHDVfv!UA$(+ſox($Դuͬ%;O-ŽWPC?Ï -նӗHZG^aGo Kuw$@PEPE|+OE[| Go#G] 2s!7Q@W?xWO|KcK٫z}"q3,iY#w0:@k/[|!ěX].O'}t+R\"ͨ\r">m˨3 |u Nɴ Z:~}_:Ķ?e-˛#-@ (3m[J<+k&i5_%(dir8UPI Niڗ_隆㏊֖{nW:UţaQkWwVBPEq5~". CĚͮi5#ȰҔVⱹnZ@>zGtMižne'0IPW__x x۟ >x?X63]Ei;aԮ(>ɔ5{PhW4||*EW|XGěM2 H,?uH&ky .(T& >1|fIhWWyi5ه渒(e2[;(~ iJ:?_gW׷@Zx^,Moí[:-o]O2,pRVt?t_߲Ɵo}N%?n/ys%豘-U~.uynteqsS)}r."ĖLk?4/ O 'N=휺UY WKh' #yN@PcW>3㷅u-/ _n7|id 3⹷<2|,xUY=|ImrO=ʒǽC((?hW/4||T;FWXGkMN /"xg )d{wOxKQޟ],Z,i? 1@%E4YFVdwhQ@W_eh& OپϱǦyЛa(.-mn?4>|u.~ׇ?oMB.?ht{8SWdq_XoiIlo(¾%|k_?__[`-<ۉcMkYG$ }RS3|W 5^5м0{cA-{سE \~?CjRCK; LgB#ؔ!S⟇gx|;ҢWuml4UaA (Y٣4feS??h?_ |AWT?&IFM-t5i [ g 71no>4%<5}jj2Hoq[4r5Ȓ,RE"$: (?zƑtwK^&Q_X^[-ๆd!)aD+"g +?VմºZ~h_[ZXZBIfW!#Y؅UͩuaB0Ggiv2[ PEPE@PEPEP_^9𭽅ơjZUjz:EwSDx㼳e ,:HC<3Oo1|fIhWWyi5ه渒(e2[;(~ iJ:?_gW׷@S5w|Oohl~!>nO5qpi}k!%tk+5Mυ^֖ \Y5kHg71R)XI*VG 2_2?ho6of?cOqhPK1Eks6٘o_?>Do o6h?s5V+Ctdjƿ*u8m,.8#F{uϳr*#4r)Ps|}jZkͦsjzρ|JVZe;5杩$ϤK37i+n:gqsyy8!~\Ӡ0o 3]NFfEk\h܉ [g:D'~@o,K]xlts k1OSOaWG9cv4b);|?j}QMKXݦɼdvfO(5_C\DxK_}3:c?6Hq+Iە]%>|o|cs/ŭO HAYT:4{"7&-mpEG ğ~`_*:1g' tvm,.H_wC_ bbMg̓dU<ϊ_=tx7VyjvlLw)V^9"VHG@a_'_M࿅.?|62&XxQRxRiU2o9g st_ _Yb_W__L|v.[ qqGi)O_xkĖF3-M45GB,2HߴdSx[v!|]-ĭ֍u46wP<} cmx|P&7<#itF3&x4(7vkF$9d8 k|9𭾱_i|s1{cPtwO{}(V$27n( ;O;_W<7YSOo5vzy-k{iriM -{~>ԼM/!xRQuf{"#Yg;8%p@4<|R5|=*6zxqC)VR9Q$XdDIX~pEON};>b钷G<mH6BG HV%Iմ{ºfjZ~kV\_LHfT%$ѕԕe A¾%|k_?__[`-<ۉcMkYG$ }RS3|W 5^5м0{cA-{سE \~?CjRCK; LgB#ؔ!'IҴ i.Camiai P$ETTPTOPexJ6Zuc %ιcarI#GrHxzZx?m+Onq_ΩbFqEKI-.#;ZrxӇx~^?wĿ!>Rwy5wm Ȇ+tK褷Qgi{Ho w>;qxsNk7]-i0G[b^O9#=p~iZtwBԴkD֭!  JI++*AZ'=:kxojwZ|V~k%?_$i+i&Dk((ȋ48$|}#iOGÖw߇7W/pH/OƷ/x3^Q~x'E OVk3fዿh5yLl^)ӵu|6 <+|]ۻMz̈́o5(mY, A%XNk5 RZO,.dC42)$N) hWߴ?_j^𾫨|Rw6{xKIgMhEIGgtS 0 |X'-i݄27[]hw&;.X$opt+@𮙡hZf-6~an֖aHDUEEU@(B(((((/UoECݥXAxºvu ȰA啂4q9ᓿe6  yо.}?z5i5"F<6Ҕ$.FⱠce༿>?j/ M7Joig?\Jy4F9"cq0|R5|=*6zxqC)VR9Q$XdDIX~hS3?`jQ~js'O]~ k~OW|UhffqJ`9Q)dDxQєv!|xV^ oZ>#|.hdϊ_$3I!z 'ş]3BCOZCg<lE4Tn&qK%-`G }_sx/Oȭ$xoMkRki~|I*MɆ>@'Pf*_ |Al|i੤ֿcܺ#)n$i ?i8?m_٧qoZG-VW-=ʿ`3_>yަ"win(d[I~)O<߱'|;X]R42yWѾcxk22Et߲OCj>5/Ҿ5~O㻼ӓQL"-oVD\nc# !B(j? ?mx+Ɩ:͎95s?c=SIWs-r@Pơ W򭥃NH㟏*iWsѻxᏇ|Oi:=0ؽ,k;\>_LGѾI6g+h~-|J{}KN\D Դ)2 I!ߧ5y^о"?-. ?Ě5i ңƳ$7貄T8ᓿe6 x'*~!_ nѬ'<7];Jѝ$h^[xQ"D Z48ʌ|\Ŧeoڒ Hϊ+]l^:ʦ CrLIo! \?Y_N#*#++ټ3~M|W_m|@=O·3kj5[nEm$]^܀EfvB=|;4?wt h]ybQ Ki7%o'_t+@𮙡hZf-6~an֖aHDUEEU@+B>O?lNcj5@ q5γ⋩'K[hǕ)nb( qw2a>A>uߌ_4?ݾiI;~B$6zfl4KiTU'yK۠(5PҾ + gk^j)GE6Kp9nnMe֍i(6:e퇇'8񅉭7B]>Okگ= 'O? t|G2\iukٛI|*Ri@>m!i$bŝ)xB\emSb7p@4<g_Km/ʺ7pc2%9{bRFd7{/3,C'J<+hZ&i [(#a@8QQ@UP Я?h;_ߴ֣%埆[_?J5^"YvI62 Β;n"i_ ߊ5?K[|BmRi4링ŢoMV?Pg_/?,go'߈?ؾ&M*m#/_#C`aǓ)\퐋{kT? //JWrHl幗w_QǓ)$RfB-̐ cj߳'ۯxRu~Ws_t{,Jݙؖf$I dcy5{Zt B4Dm! tp (G"*( @PEPEP_tEPEPEPEšfYmu=g@MoK{9oX6DK ܀gO:>xgƾnj4-oHevprțk]P|p>)]O{oLBmfYjy;K_|tqE:/\qo0X[U3XBW,IPd/_\Jy{ɯ uc_? ᖏ,}6gJMc>9IEwqdV<7f&?̩uk5?>$ 5^]?8eVڥ[,J[\.ͤww³y4~Zu- ]4kD֭&4t r4. I220*H _xqk?eO^yWSMAl<7_ƫ2kgWcm۬J&7//x _?ҥ𧌬,"~Bmu 46Vtҋ %a->ܿ_v5o~.yk'>%mhⴷ"}[ x'Y#' x ғƞ Zc77>(k Dp (/|_.x?O&[K&KkI1J:њ9%:|x?i[C_Uw.o2A&$wȋ:T:sE8?>(k?^ұ !d֯Xcc ee\H's?džt|𽥮πb[$X: M*+=XLVt{º~kVXj}\_L9a$љe$A~?\|RTn4;C\iwL$ބ& I?/ ~ݿuOw%KVZ瀵/~mݔCeٍi.W3zƞ>hzVD]^ +^Kywy 6@ P?Wt?MB?uCIjv_m')ז.#.k7xF[> (5/Ҿ5~O㻼ӓQL"-oVD\nc# !B3W㲽=oo;wZ_VjWaͅ"uX i7j~߿\g|,CKmo5A mwc؇U᷼ȂœO_|UnߌxO[૛ Z#HyO*X὏ʹaorfo W|3cK~Ǥht}#M'o iYFڣ,ǒM|A/kɻd#?xo [Ӵ0ƲJҪյm+@𮥮뺖-p֖YHDVfv!UA$+?~+lK4\ss#YLPqٚYi> }mIiZaFapjW˨k+%jf3o jwL>(((+?((((m'J׼+hZZ&i5ۥͥcpRHVRA O+>9 k_n!iqWf-.} yʝmBAhl1/}P_?dxc/i_7vֿg#⤖OeEK4tWNд|a|8נYsg͎1uW nKn'YD# (?j_._x?$@h6KKK%7IW6H/K"F,>*~{K'CnφGsbZGIdA,$DY1q9h@ ~_~!x}߶Ei#nh]ʗVc[LcO1PnL1 +%*qe߂~(/8ߘcmVo-KkyU.!d=䣩?(?jWw/W?oW_O sJ^lZ-k딒k =A:,@xO9>)+x⏂CJ|A/?֓߶ox m![I4d;"(yaEa$L YP_/ߴÏx|A'Dž~Z-;)&fIhUYUK,0>|p6|TS/ht S!gy--k[XȚMi:xWLt-KOִMj?PKKII ʄ:2H4EgNxWRе3OִMjk COKKI,3Bऑ:3##5C|_υf_xƶR:wGWōE?l+߅wqG):MS>*[ -6Kj&I0q5ڹ?O[J׼+kZ&i X\%ͥ$heBRHY]IVR$Ь[VҴ Zi.Mj miai %i\$EfgbTH?<)C9VmI|q+AѦto[i7-q=ㆆId)AoUNJ] CJѬO|ZԤ~ǽ Fxd%(`Xa&Bg@hԵwR]EP/2K4ҹ H*$~(ڿÏ~>O߲~&;JUoa>y}oȫ%ŵZNH"1<S d <ƕa|&{E@qys[\Fcxd O-? O|? i~oNO$iU7#TeIյm+@𮥮뺖-p֖YHDVfv!UA$+_>#E5Eu 5 u=|4$6gϝeRSi~!//>#~ Cw=Z[4\LAi'wyHT@Q4U (Ş)| ľ5M_<^kz,d縗ˉZGnQY08^!f~_WP??jOan];FYkh̳myy8brEPEPEPE@PEPEPEPE~p|` B/CKxlv˩\qKkQ@I-o_?«;]f[ld'JBK6<Z3s?~?B~zfih2Q^^6kpH;,Dvo@~?x>)4]$ʹ_49M?헩gkq n"|acG㿌>w6x1m$ڃg_j1M5۵ט=cyLx_wQ5O?s,Vqkymmw^y nƀ>gWO5[O~ZJY3Cg-V)gRXtSzgNxWRе3OִMjk COKKI,3Bऑ:3##5/j_wږ}~5@ІpRmZx(<"h"h *z hͨ|R7wwvZݼ2iZ@mYh"V4+osli-hn\?]sNHjAm v,ys@GcZ#_/x I_/o"i[ @ig6B$-bK??b_|Wo?|I0BjWJIkcn**[GIkol}~xK__`l|UZ~e$@", 4i,ȅ,"Ə A~/gIkxKkHC=J#4fHW' V&d}*o 'p+D֥)1kqs Jbm)r)|'_x5χaSfj~T4~mѾcEܧ ___?uOwޡƷ7Z瀵/`࿛we,Iܨ} SYOi7Gk~.~x7W*i5x_KNK{۝b>T]SF&{m4~[~7,<- ߱&aiHI[«oG;1_ ~c/|5pEkX[2ew6}6},=ͬD?g2N㏅񯅯<1 *[/<`])=\&F3WA@hԵwR]EP/2K4ҹ H*$~Xk^: JػPu ?K}wnkE6XJkKk'E8e(i>|߇+ -Y f%Wvy$Fi%Gfvf>?L~ XBk֎Lzς(H,!H#(f_P+|C5ܚ_ ldn-C?<~&g^UΕ{Žclu+HA[M mHx3ž*5hKP]oz[-|i+Z{w7./ڝd"K??gσ^!:|ywDvUUAy%wd8VY#EgeRx'KŭSbCU |)-߉U,:}-fkyRDxF#o\~:NxWLд-3OtM ?OKkK HPG 0€$q"*EPwQ~+’< ߴW Psm"2;D^(LA 6Vh>Ӿ; G^~_?gj?n~|iCߏ%]nlc%PdkiVpߵqgጰO賉n CjZI8)ki!KrQ@ |K~xO?goryo ^c453[~ϟK>P_##YakYskbʢ0hdhq@(?È)ٿ¾ >.7G%Vtd?j-`z3q)#1=w?hs:w4qkZβB*C_D`ß /BKٚshV, s+ٍǙ+1;2_]~>|We>=wzkؽKmݔCe'r1Mg quh?4?_CX}i3Zk IJ[ZZOpl!)Is'Os"CO-//oe41g/5[S$2O{h\ܴPJo l!x'KŭSbCU |)-߉U,:}-fkyRDxF#o\}#3xH/ tV?پH:W,~ãZ]=4f1@ȋ HM~??g+ɥ|UIgJQ)կۻ3n%#EPOcψ?yc ዯ_VmfYjY쥹c69EO'?.xG [)XՌREc~5< =L Y|Ԟd4?c71Yk?2.4_ L=d.@he~;YDMIih}߫jV]K]u-?E4[I B-,-!C$M+ĈBIW燍?oLw|3x? w6f1?lCƪFA{aH}/*o]CP]w-Uօ-ߤ1c4M: >̑ʷV4,#mQvc&: (C?߳cSpkVVhڌj7, ..di,.Ēw~Q w4`<+ Y.?_$q,˧feP^(2 r|bOUN|/L_htS)qM<(neQv>|&-4KN,嬱'2&+Dͺp((((((((4?d N~ɲZ}<]w7ǯZVoei{dErn52iu+I J/ (<_¯>]'⏂? ]=Vf, }N$XRIcJ:k_?N7y|aK?}| k-gWSHծc\6-՜g;"->¿ a߄Nxc~ {fMN$3YI7,] (>q'47_<$J sY}CBlFm6K$K7~ۿ | xJ<|12^xnVm*[ Af-{cd662W'A@kZoƿVV:ܶ.? ys|u.n-o%8 |Yi 1gUS$1?\ܴPDq3< }og0Ʃ}H5 *E?6ehd"SEa5o_J𧊵/~˿~'zژд .rn.<3yi%{VrC EGoh]o|p 1J|;дUI?|vڗn;[rVe+>)ޚ 7OgW67*ŦZKIyv[d)YbY%hs:w4qkZβB*C_D`¯Zx'o?o Ym=*aT p}O7-+L, (%*qe߂~(/8ߘcmVo-KkyU.!d=䣩hً;wcj!Bi5-wh\y:5P,p͐ywҪ (|@?Ung:wo_<&%u +T-Kg89[H|no;Wy^|AW۴3DeJ,b[[U캷%W:.cmtQ|t|?_x_5Ρ _?anMT(ch&AR=4|`>uK-udu)&[Jj7514;$̎X (>< }og0Ʃ}H5 *E?6ehd"SEak?`/4Z'Ү#t4MoYDE-FI vhחVX~Ͽ׊t/;1OMA\J|7A"E1\*țB&2-oEP_D~:^|T|AažG/pfK<[2|wPΊجnOgo'_jjқRgUK&6u|j!|b~(((+?((((+ j? )_ׇ!Wt:]WPn4Vw ]HoZC U&GB_V]3]е-?Z5HoB.m/&A$3C*DJA օPEIҿi->jfOw|K I-PѵxͭM:L XF+[C+k?w ixLq2Үf4k\wmm2JHѢG+KJ?g/^:E5;6&;UʎH$R#ꎌ (׈~ A_Vjz`UUP^I]#(դGHYTs/E<+/x|as:7vŧoa(!nuI#MAhbidDt%f?~gǃ|Yww7|fm-3QABnn/m,3)c5??D|?߆Px6cjzF$ώo\̞\I><+Xx>%<1ycMF Bʑʸ7,omcFS (߷^;ῂ`O[=uh[vdhUet|^'_k?OmiO|:} NM!RVD!k-LgI{k)S { WV~~#j:/ 4_h:]\J`oyaa%s$4W|./1|e};kߴߌ>|Qm$QJд녷<7(3KaumM#x\405O迵':E>!|2}#yW JF+?VմºZ~h_[ZXZBIfW!#Y؅U~C~W0[;L7Іo&-++G$m$RG#PE~x|pe&c >8]h^Kr\ <-d+nѴf]\A%? c_->xPJ*]fmOYtĚ|fsqJD7N#MIq<>(+v6ߴjZ>r8O]N"h@( ( ( ( ( ( ( (  _?ox4c.[շvQ$HP'ĽGO>x4j "˰f]mLlX{kY敭2e2c@_W'_zI;ॵ_t:KJmKx`M0>i?|W]_4fԼJZ[4Ȗӫڤs}|!s:<+gƙ_kߍ`Ӧ[/i%{VW+ȆyVx o:xWLt-KOִMj?PKKII ʄ:2H4Ŀ؃Wc)|V̚D<.K[;}GD;aGqQc<|}>*ŸoCU¿g-M1m*Ju.n|8gg W&w-+,73o&-++I$RI|k?Gx['7[=~q 7hͻO5!YV/zPZ;)Rx[M5]jm"|I~#)E$Hƥe*5mYVdYL ?zwω mM(]|:O[>#gexU5'Hkʵf;vO6S+lɭk<5j}!WHM5̚k^ګAlY}?چa^Ҭu/Mw=ժܢ,I43uq23 f:]҆_>,O\>(wH-b4q\}a_|oQ7?h'Ø]XŶj4ڔ%i|-`%*qe߂~(/8ߘcmVo-KkyU.!d=䣩jXC0}V{![gnxt-rWQw$qBR4oo_|woưx>E}.#1e4ʑyƖ7w:Zkq4_7Wټ$ YC]%oFn"E$f;oN}Z.cx"_4f\=_-K_|>-zO Omt|,ύ|-}iVZޑy.IU7"6Ua" (4?oYviwQDM:[&<#dUGb_o ~">; uԶX$RH]A#%9be}PEPEPEPE@PEPEPEPEP˿rVu'>ɩqyYG'eXDYݗWzyH~EPg]Q?Ԟ+Mw_ y:ޫI+RʴKo2h[3 <Q@~_׊u;ߴO1?iڲ<7AK[H"<@!2]RĿ «߁.[n1.1fF?y-/ i>6ʃ tk]%pWV'Zj}KFuGo3G]S;m?Nj@hdOeXö!L2o qtѬΪ#%ɸ(g|,/|SaiW&gK.x.""e7#ea@S8ooSw {bּ7jjkKk=fNm(fg l߇Ek=IƿzڢҾ554V&_P-X,\$9 A:E)O~?$4~o }3뺕h[yZƹ[t3EKkg2hkNo:όa0vfў_$ ԀjVw;K*Y37Z>##;~¡]SH>+xbfq4q+V"K.{a~iZtwBԴkD֭!  JI++*A_/P{|=<>4].MԭSwmeYJ[")t7:| .#P/~ҟ~Ks⯃w 7}fiʹsA@x^(]TG+7+4Wo }A>exbH$iu+i ~9 -Mk>*jڗo3WV"+w}Ho;V 1*( <xPgz_PgԼQz)d^ 5m<Ñ>` x¾8%|_=_D`,.3붲Zj]AmTŭ6OzD{Dw#,MqEs$ o'U~^ 5 W,66v<ׅzđZ-ky;7d<iZtwBԴkD֭!  JI++*A_|@8|/+CdxUmMIF m7 3pbLJ-?ëDѾP]K5\ClIm}O?m?'8Qj vZ^f\\iK /rσq[[A @| |Uݿc{{*GuK{[MQjAŮ}Ş ux[l/_>#&K;AcjKۘ<׼E!Ws|9߃zdi=ߗ$_h(HP= ?5_:uP9Gx*C<16:]bqa{Kq9XXTi9BA㹾 jObŇYē%|eܰ_ޢ3cG<~Zt B4Dm! tp (G"*( @PEPEPEPE@PEPEPEPEP &°jg<mgK4Rdp%$Y/6A$r<wi}S↕Gq_F]>?x~XQMF=2X7$Km&QI "0*=B(?f_Q;"Z:6qhfMOmyO!&0*Q@~P~>0~>Kt^ "wN$iUKmot15?7o>~ h//,C>!ikNo6$$ f"% LGaa@_K/ZxC> 77v|Q˽v4^,<5'"j_ ?JX4˶ D\?m/w~~?hMwu3Q\867zuŵ]kk.^_ ΰZZs5[(k{(} ִ뿂ߵj_g|'}uΟ}gԴmnkg7/K4(?sd?~I_+\mhUN/ ^GQ{VO1L)(1|5@x|a{i{-o Hewв]Zmȕ<@2\/A|.7G?xe-Z/Ļy!M(ߐQjikpi[x$a'?Og?_ o E»c? |N^]5X~. Y/y?c ^85v% (=ux3o7Z~eB\9q燁5o?S[C$־6GO Dggt]\$b7̰mEɵԀ?{fo//L\\?Fy5g3]ẕdvvhKM]4jЯPE~H?mWiۋWԵMF Aմ.m\̐/=ɈϪ1 ( ( ( ( ( ( ( ( (?Vt{º~kVXj}\_L9a$љe$A'f oamzo C|W}WFk޴HDbjaz]bcDM@P_/߁Ox0nO xMkGzgh,m^)~sbs2Ȥ*u?46{wÓ}O6l?;VrO cv!تPE|A/WO kUBw[/4W o#5leW[rI mkXny~3<5 b}WYu[{Y!5MR{qO_?hY_CE!+~ [ɹ{aG"Fx%??m+_qI|`v}my,nLFx仸nh 7#Q GuUm?75O+FAX]R,+F%9r2+  ~x]~>|We>=wzkؽKmݔCe'r1Mg#C_!~;ڿ ϨHڷD|5xu2 ~?f|:/t|hU_k|L1;3۫B<,WqfTu =g<K|4kC;? e 1EE1DYb)>7~x 9>ogգyoْ+١Wɖ%VW@Mx3^xk?S|W$k>п^*wa͙eIg [~[}JX~2CheEJ3&.y>'Ņ''ÏcJϊ/zz\xNXu&ulfSlLl?[KB=%潮oS[ӣwJLەĠU w.~p-8l>oګw |7tkkm=ce@Wh//5WM?Q61e*uɽAmHwȯ.?y~?mV JW_xGm5ifη0H-lnG ~Uׄ<; Ct˻ Cm+eZ;2\KY,k$m,v~:uhx-/ƃ:ϊ.-mTr X}$t)yoU~2~_ v$SimM,f9RVXY/n<K׈~Azey YHxGT9ce)$FGE`/'N~̿/<'TЮ.&;[O/\-?[̼@hHmYi~26k^kKy]f1A$F"K`n #Rۓr1x? $k}ߌ/iYso4qHߋq㼈.W&³j_h <mK5HRTre'i,$v4"}_?~roҒ[͒#4~\}[#,~n;@ ((((+?((((( ?n/*f?Ncڪ8~8ҥ aeȱ7[GG QP_x/7^ Ji? x{iomL,ԈK+ok?/^ⷎ7[)I&Wʶ4d?'!>5ZxKC EG&]Mǧ-S͕ʀagƱxw'F㹴;;|)7vy\ cE ,a#[E?_- )O|? jo}QPhd!fKXᑔ(_*_i >/|QAMudнl ]ea ˞SĿu3xJC6: -ia$*7x~Y^M'%WvZ"iV2TٳEđI+[~7,<- ߱&aiHI[«oG;1@Ū_B~غ柬A',5Xk^+\Yvٹix1}yA|O&_<=0-|9wڶkӓ9V.e㇂| <}|⻿|, η^Id9;mv{"5 >gobe/p]w~g|cswqkcu>SY-幓3'wtwkWo~ݙ"x|l."_:a)taگ߈4|G?,Z [N w6 5It2qY$ ilh&'/?l?f_ڃDE< s] M^ᦓSh&[b2D2~@7n>5~:> xLiiR1g+F:L!Dn.:ٯǯ3Wf5ebS E 7Pfpey`p? ?lc}?g_*]~;x;džnlZO⻫XJ7"'{{"Xڢ/p|o~<1O_h~|=246:Ud\IwuMqao~;{~dR_mO"6ٷ:kOݽMZo?Nk5 RZO,.dC42)$N) ~P@>}ˡ~~?]C+ᦳ&Z2O(yg ^KK{?f~ğ [Iҵ Zi։ZMaisii2h\'Fdd`UA<?5/\x_ww%Ӿif4x}^Z7sn#V?g/^:E5;6&;UʎH$R#ꎌ$?g4_ ][-CB{AZZJcfo[yu+k=>"'11#IvX4;X P_fq]R]Zŧm.o,-!xUo/xBơmo¾?öֿumm$C9͝b]ۜa&7.>(~>5x0ƺojk,i 4iePƗY$*_\υCt 7¶S*JqF$:Fʤ hlbV[O&&鍮fE>YKxw:NxWLд-3OtM ?OKkK HPG 0€$q"*Y|*uܶOņ/uYJN6HwRЭUy&Po/ ? ^ٛձж7mfWk{X)ş~/:Ʒc[Ere]:["^Mk-:m7@J| M/ϊ]6^ I6{2xuQHXܨǯ_ׅu/ u SVhhǏA-(^0 Y-hF\2]xC+ƾ"O~пs3xwJӦ6yrmN[JV]6ACKj˞!)Y障ZvՌ[V[u< fO$,XP;㿁_׀xޫwYI?QkXkSD~D|4*47xhO^8݇7tHQ?jC˖߾lvIʻmD_Nx Z}|{DvՋiyw~O{yׯȵD.' %6_14%aR1G⹇LmWEZ<~[Վ^߄.Ʊ_hǬ/YBʹx28Z)h@<S?_|7~~|Qx73x_ս۷%Y8&_կ.4 Zkv\AX=]j2"X!kbK!,qareWKw>=c]/]߅|WmomVM~+COi,!,17F_2o85}㯋 e ?lt'g}D|6-sLpaV]3]е-?Z5HoB.m/&A$3C*DJA _Q:_wV?gׄcOW%t{}_R{Hm֦heYb[O+_x[ƾ<1y_l5: BʑfͷZ7,qȻX`kPoÿ?{akNozӴ돵YVy|K4ӧyeV@=h_NxK7 @Yb<],kR DN5i 2*|g_Ol6?[am}72ixʨ0ymmWߵ_k©yZ~h. __T$ /d{C \IDȯ(.컨'O ǎ4;^pHa,5x((Z=B8Z_^g߃PxjEVjYlB^izBdQў'G Z k|F3ⴆĖDT:$0 #{iQe ]% ;~8|񇉵O7zF-+Piᝤ}F68Tf8kBk~M>gѮomdgDK3FE"bV #h 6fo|a㛏Y[(ftܻ-@((((((((+X)e?qC^m=Y|1esh;deWVuu@3/,ZtkN{8,k%ޥygcvJY..SLY f D'_x χ/iid4U*dyjI4ʿ?_dQ'JzxoOٯə +I-<總{E)$Fge|V֟r?e);C!ޑJB3VP挚B_k_x+D%{_H|Ofo#VBtncݶ͙]!bܧ@=#%XVo|SKIOUdP1C ̰v}!{ЙRqk8fO&ҭW^na^WT57emcubgGEҿ𩴋_znUֹ͹'KAn|Iy h|-7vsZwɪ6RM`okbhw!9V)Bd~Ik)^ aOH xK<æ\+x%7Y_@?nw_X¿zh+k;6km/u>8io^Dq6z~𮥣xPmC6[K 7(mm3Xng&l6hɡ 8~_/z|mGv'u][7;,iL\ii8Thً;wcj!Bi5-wh\y:5P,p͐ywҪ> Om?dyUtJ漏~;Y؜\J-Ivu~↋W[BV;saE)$OgI|BO |Yη?ă"XxJXgiP-Q'3O4S0Sg>;G|!~=򣼵OhycY#:0V{IZ+ <[xW'CKKm:O~NyXϦZ\C-yA{&;hn恀=C /gÿ#KXN'4i~lwgo?VgkZo> /zڌ$坆ekuKx㼂Jed%ĉ" 8%gg&>&szޭZlzO jZ$Hu˹g&[ژO|;+rjWËIRFKDƲ$o,mE-Էv! 80:i2MxM( Vþ2׮ERlIm-n,< 27_x > x{iomL,ԈK+_dxD%c[_H|1fl~#>tndۺQ.&`^ >k?ׅRGG[]ŖH_:'Ͷ23\Wf9OCqCQ+0^\|yYW_,?>jn+/>kc:uDɧȶt^(h Z7< }og0Ʃ}H5 *E?6ehd"SEaԿdG?i .58.~cQexѤ㏄|A5ex;4U_+7Ѥ%}[B]I?=bO+`?K..ڿ4͢M E ͼ{K[63ە6Ze >OhWĞ*YԄY⩶idW ,Uopn #Ǐ_k_c߆ZyF:[/-͋j̣LLm=7h,e;G|UqxCPRk=S)<_C+ a-+hXb Q@~ǁ/-_ ]'⏂? ]=Vf, }N$XRIcJ:h? $xW3~,PZcF^5-7Jea˒`~#9Vq~Z~>!|0I5ꈴ+oaFԾwv"6/t |1\jGwjwujzZ$K-$1 4"(#^€ (6|<Ҧ %麕|@f&i /sVn;_i}}RDXd ' -?Nxg_/]7Nҵ_Cƫ l)&ދ P+( (_pŞ am7~|G_pk|.Y>skkvka1ž~ǯhh`n- 4ڔ#!i w@IB/_g+z|mUǥ[kWӡ񎞯iys+XM}oؤ>/mG?.9s٭+ؙWw H'Q@(sœ"_=7mOK%ؿlo?@PEPEPEPEP_tEPEPEPEPE|?+ cy#henuwg˶;keԵne#I<6H~(Ş|qľ MDmyqGPEP[sv ?ATiIk o1y,IF>((((((((W2~xPsw/%ee#,`+>Yx3MumC^{atdlLQ,'`bc'@Q@|4ɺʯŏM((h?w5P?Ⱦ[^IG=a.# |SsQ@W?/96._i&4|M'fioKVR Lp ((((+?(((((f| >s[z߂`~6ͯ2'H|Ng PE/;mr~nunv??Pˌ,q#HUE((mw-'>=ҟ[\^tPf˩hRꖖR l.<' <3_ _jxcU^y2 R{y|UdMHXg(k߄5oUw&ho~s 9}[U\In,`@Q@Q@W IiҞ W䋘SJ4[C+wJGPSZvw8> (>Nࠟm?wJOËgt5*6i64b̰)Q#_( ( |a|B|!a=)Ei.a>^ie.ϐ6"@=~)|q>5?erڞXJHqE>l% *jFtRQ@|.慫iO|,Qz}0u;(nerbTetr}EPEP^_:S> <>iqAy 4܏&]Ȳ,7vZuAw1o(A_~ x{ƺ5agZ,i$Ztua} ;/n[[ xed5PEGZ?s2i졸UɊMS PEPEPEPE@PEPEPEPEP_?f!K~ [~]I]dD ?&M8<7q<6"L 'Vҵ i։ZC sii2 !P'FVWRU (ռ[/xRvsh#q0vүbr6}nci;K;E+Mk}XxkVF#M-,45I,\L,$;Ǡ(([A/5K #Pfh&E ye xn!tbX$E`O|ei~Nß{#l(4$vnZ^\]6k>_pm[J<+k&i5_%(dir8UPI mߋ?+Š:k=?,qkvRAfLϧ9`X_i_@PEPEPEx~붾;{yWƁvb_ h#X"%t,J->oe< #A<;o o:lvq4\Wkp-'9Ex|uCwIx[6'nxOd5#]ٷzx{> Ҽ [ CUԵ[sStSyy""#JR(D#ac(((>|iK xCH'+|@Cm Ϗ6hōjXi<%6~vhQfχ?uߋ8~&m+ $Wm9.%K$(Xq xO¾%?_=#DӠ-<i?#}@Q@Q@Q@PQH4 ( ( ( ('cdM_ PQ@Q@Q@Q@Q@~Q@Q@Q@Q@Q@~@G)L*tEPEPEPEP/ާW ( ( (> >9ܳ_EPEPEPEoW$iKJ ( ( ( ( (: ( ( ( ( (ڏ8?CmOź~ TGm#O՜Y3uan%WKFP)` PEPEPEPYƣ]KNյ kx5;{:GB<+qc$:b27T~H3<Oc!lxcIEiYAwzWͼ(o!6)a$(axHPEPEPEPE~hT|ǟN_ n5 M_xoĞG!5 bӞIMy]RRONt|S/L٨XâwY81mv.ǃ-o?~^o@l{ QHX[ۻ(t{{ ( ( (>0~/xƚ'oNP]O7Fke=I d}6Ubkx//zK^ cC/kO^xH2H_/qw[ /K$motnSNPQ@Q@Q@Q@?⟃<[xC"cMxo%Fu{,Wh%Tfc{fDHŵ߈x(?k0>Q's}woqVç4qŦLgԮf( ( ( ( ( ( ( ( ( ( -m~׆??dF[Yi.'kY渙YIdwوAEPEPEPE|Qm;y&[mYVy2%]c2FQ@Q@Q@Q@|/%f&sM-Σ>ifVidQo (Ӡ((( h>(]~JݝJ-m,Ы߶[JQ!W`*UZg@Hg{aG[EK؝vVJSoM 9f9AA%T1Ht e ]|^(͒I*'HKTHH=|ܫ;v ,FQaw H[E׬rğu*+Pᰘ̆c/Qϐd+*GOICCIUuSR8՝@HUK31UUO'{uw0y$#DQVgv!U@f $n͛ܛãjmr M$$15nS'Y&UK[U۟)nvII-jw(OOm[{)!!i\Ir$O@̵_=:j'ߺP%{>׺GuM_"{^_uI_a=uZ[ߺX>COu?5{t?y{^t?y{^ݏ׺jx{^_׿u>u?koX%)刺}?_xӬ2ԟcǵ?|׿}?_AQ^Ӧe8>{>]57Wji׼aUP8{oLs}؏jzJ_ {st/ccǵ6gB.KBr_85G@诓+(O_b @^BXbJ:N}==H[E?{FV(鶖Z(jå]-AGǤ/u0,qRL.4?V=ۚ mdG4}:[-_K_цl}ѹvT6N?%?_y_>b(Wˮ se{˛C颗|Sbq=m+ad?oN]S\~?=c~ǹÎz{?SOeۇ)lTA|+ҪLc1/)?~S{}#K~}{%#Ӯ2????+﷩J K_N_5Et(IK,.?Ƚq+{O*xt8b^~]**V ~?et)GKU=AoqC7_<]6*̸ܕ_ͮjE{r~\ޠue/_(/=3Ӕ!'ϴ/U3T\|7Oeޭ)ܯ}ǣ=TPR_sG/BZtox,w1ŷ6:9:66wqI dBnb G[UT6~ަmGVӿ ~Q!S<ϻj(O O&[]fttG_k]mgehqғ7R~dܐ/(w",u\w k˛ Z/{GMuHF kcg&KS~$lܱn+,O>шCφ(?6b %OBv.=z_Ѝ?yt.憄[s}[[SA{t? {7Ϡ:]5׽u~{ߺ^׽u~{ߺ^׽uu׮)[GQUr50PSW[[WS"OKIKLOSS<>܆%"g*Ě$2O^6v\V!gw`@$@'ww^䡏~P۪6 3f'BwciPOU[ɮ_)#%+W~;+{ufEaԫ1QevJdTT0}}Ws, #*-ZIw&EӦti+Џ_c~8튎/v xz:o=v"*.C/]r2HJ+[zD\+r.nT V+?@^w2іĽ.pIJQ,xd~i |v.Mǒq^J&fWTc;70(P,Q >_sJjHŘ (`:V˻*6-0Ym $PD_SAŘ՘Ա$#{.2^yզNjݓґQl禮>`(*#{k*fܸ`fqqTrۏ.SOqHpB3bT)EYE:Ïz~ϲ\s/"IΕ O 2GJVxs1|}}*HQ#9fvW望銙h4|'4WmxhDȮ%PuSݿb7y _Pn0iE=|+84_}ۛ+1sR%TlVwY*+Q|ʜ|ŵmv+MCQHB@845t+=qhL`5h4&94MI"ȪHȪH=%#ck}o~Ao_ k޿}~{?O~aOWߺX>/~{0ڎ?=ux{zO~ޣx>'ƽgIOX>AOW'ˮSu=^N}_zG7yzO~ޣп_wO/_>}{P<Oj:U)G׿u`?5Ic{G׵=tU(ߟo>&O^ ,U~66/zJ坖/?mo}t^}tK=_Cp9{8,O_\]?ȽK?|ga~꾻7# u X?{XGOM2uLTRQV=(tMWWxZ_o^tqoŔCao~}ouX.:r\>c(bcu' 5ؑWtpȑ>2G듿~aroCB.w%>;pz9~t"%)s HphqU_^?d= [\7obz}HNoWϥU-cv'zG=:P~/-4ÇG}KY|Rԏ=:mUcAS,r'=ŵzm@ɬtjvRL܅m#q^})w31Jo~Ϲ-;}X\^I{yv^젞p-󦘿v?,ԑBGIzLu" rzDRW?Zb-ϻ)]X _3O~]/o?wm>MKxIfobM5_fQos4tkV$*G#基'\&[ڏgp<!Al>Dsox[E9o`x_`+~ߟޜ~n4q6vgwW>k'nJ/#ﷶXUQ@? \ž͸Ak丧ʜiÛfvZl- ԃwtGՅl͏vET[Kj6 AQ)[ODz RgA }޷Ϲ-t~d Bd_oAn_ڿA= x1)pBf*akDZ t.)UPE{آڔ\ץ>߷[؂ߠ5t8~ny 8>n=K^7tX}ק:u{{^׺u{{^׺P^cxnMvwU1c(g*U(۞=r۬/yq*G,U6 un;չo[-Is" 1h]mUXXرt;z;%uuVSF28?m."TK$,},>]UKed-X1RCQqP(8˓8'ݯ-佒ϒS(JEcK֜5*L}l5_v+l<}/]Pf1fhTCP2+@&lyg-q'U:Z94G}[~fͷr16# KHA*JK@'ۦiSt➖5 F;hIj#j xtͮfQR#`SRCiHy}ʆ0d^ SG:,FXH r9s:(b X_=g k{d 0JӍ58*+N{Vy|T 1 kZjR4-~=SO?7_ї_'ic|yЧhٿ*νzohypIZzt-EYsٹإXdL :8¨ G>ڈw+.[Jife (U>`to;n7>u V[WEAIb"#4{qsibU5R ֤$̊I*%P?~T͏_Pi;dSDLN iRԳg 2r% J4U*QᑕjU8tqǵܻ'nۯm=+%R#HH#`vם;qﯷ UOI_d`GV2j+I sٹs`ݬ#.YXчr=)p:̼G7\r6v 6-9K iZT4']c%Q۟i;7[1vxlP6K[GSAQ$h=#HDu/-ozJ JC#,vؿu"ۭͲkx.RJ%Tע$Yb Ec7rl~s){+EPcK)K1OLr9HEVN0}׶-r>a/YPLy>lNJ݃j MV̌lR2TyD~x|umE/bv-&篈6ܦSm䖧zs(5c-e#d]Y/$Yi1FPq1$\bsGs-ͯ?>)&f,aBԒOJl)g?3Y?k>O `hퟯ1YMm}?):ctF+19vwsfPf9h,- x@+*'ޡxUX±<3Hyc`yb; v^G֮Pi3XPh;uG5Mͻ=ͻ^-B68̔#R ,H r_[ؘ=CYN 6k`?%'sGZ:?,'ɦl%6'sGZ:4ѻ*/. >7gOP LܶT@͇|KAr kUB- -^ iG#6[krXI1-Ut֔sêf8]y{>9ȷF٤=RmA JzTSDj݋N0{bGwSEAo F~j  U&ݺG~[\sf$c0j#a rRP:o?2@]l7.7.z?l2Y|uF3.?aI|;-?x"*6i9Ii-sYHjjL_,U=?~sqe@꧵3g;agz?Q?߿~qeSrEcoufwrRsU&.ZRAUvm& vH-Aƥ7행Veu݌3QIexF45i9F1r?\nVVF6UzS*4RUA +'lYURj#ԌƬ 7KMiB?/I[X\\!FQcRYX |ZO]V/t1<}Y G{uTU4 xz֙`OnEޤ7BsOKj?ַh6q[ϑЧb׎j%w9!]{kyfo7|I_;wsO[jY?4[wV扛ϑ\؛ #vުCUWVj򨔀Q/m)Gn&CK"8U%K/+Q^o};.{mfb[euI%+#QQ^2IZ׭x/YY?ou1Ϸ:t,?}o~7˨2ښ>5M//OnK/?{S2UPW+OG=:^,_(gOO1ssǻvyi`9=ozS:je >?sG+꘼^s޿f}q=!)UUO>9WwoͿ}F>7ˬZ_ڛ{QхY?ta?=l;5v7)KASk[ٖݸl˹f#4rλ|ɲ}^w5v.|̴G( JǙHM&GN?.{}7H!gh&*x#o7^!ƹ>ʨpx~?~7p[W_z_UE?޿=n!n_Qb%}1b+ԡmr>WŌ],>x`?ojc.GcqlvM:[› G?km|Y <f|׶[ 6fΥr ySwG;Wp/ fnΪDh ar o`ywͭwMBcơ>)i\ }C4|>ys) u;/d''#u#{Srfh?e+.gMq p;;t̞ܡnRZ0UeI#?Nen˽MTT}TǮr;'&X.sw-(P=>upp@jOK>QQ=[OsRܡ2O>O=z'E@_Bn? 'n?@mɀB^?/}mJu~<=xz7 סC_؆נuGˡD\zUWIzS{^׺u{{^׺u{{^׺xǏ{k*j׽w̸؝#!ܸ1̫ծ<kG-˰4FEr2=4賝}9RDuh7Ir<>]o[ם[em-ɴ7^2 /A xSSO(I#xUtedٷ췝gۮ#>G2)+u̼1mkYc7 8x20#*Uԕ ?Kn^iٕ,}JmnyٲYx]iZHf-"n sW `M+_>r,{4,,7.%mrsܒ)^ ijeu_p6yo-T5V1cTf<8v#RK#ѧf6 >dvsueS 7/̓O4pQR׉ɑDhǮ鎀#4I W`o1Z׹;ؚ(PODu5Gq4}y2Ϳi3H,O iBj_21cXO?}[ۯtl̿^TnvX(Be(2TjLDao%Ç8g:w{k3' tkVVJF\7~ lEdRhimCNFDN^Q?G/Y{8"|l-6/Wy8p>p}iѾ_kv_ލSs9R5cݥDDi!{k{Xo7>=uE_?nK.1woy6^ݹJZ_ 'KG߀jfSk-vܻxllt|.#%az<H+)kkg"TKY.ܿfvoruaY5 *flhF+_cӼ^e\ +HX "䎉'0gQv7S髽qu5O?o^mݷJ*=[/1\RE?Wef$y5ckkvB`VvȚ܀Du14bp2zyqܾ/--ĥ"%Jg(_Yᰧ vvs%?9C=2ʴUۏrW}8WavTf(ln7mv%OJx;$( ݇۝ڿjm?}:༩iA@*$ };%_ &me,$_#ٙlRRZ]@9i-&"N_26xL`$ A!z>F[m7$: qlԭ%5 lŇV?fW6OԠ뉺wc`J^=Q`aZ DUMT״6<;5ʤ4f@BGZSAʙşniwSq'"PA)5)O?y?V9}M_Njgqelb}w[۟,en>v&Z);3YF3pɏWm߬˙Vy>CUQJ)x#6BtpH! "`kO˾s9vm ,ʩMkV2RC@_q{g.ۻҹ ENA3{ˏ54flcY)X|`ߕ-yh+m@5xoO%V7UEk:~|Wcy1}ѨVhj yCVe?7{M_NjkqelazY[/'ox_M??ퟫ.\˓-O-lk"N,u=>;hm&ک4-XՍUUUF#$˾{Q7osͽ-ٻXǧ.jIvuO:xvkm$KN%.fGOjjk^wA 1C7M 5ptGe70;C둗m˸PG22TC%;2J}ݳxb4ZZ39T8գX L^rݶ㙷--7 ,1+ȴ$"QH*"6&QU#S)ܻ%A'$J Ki)7#.xZF2 Vi\p>{sqF;FO$ %\V4S?۽؛goۆR\n3?uS)`U#kI>۝˦$UOhh@8O]߻7ܿ6wo]VcAv$Կw@.OiPA׎dx"Z6yb fThۛ ~b`[wo|vdA*#У$8϶P mM,J,;f7}ޛ>НˍMKpfz ASfY:\2d,eV;G˻_.ЬB b)9{(m;*I-Q\jdmXJ0 _qy_KGuZܾ? O{)_qy_KG]_ 5SpUU̿o]ѱ);K3}E1V哯YZ\Rbjq٩s*&^ct9xKk+z2ݼfbFUfP 4Sw}w?n9o/=R3ݵ}K UMCV@-Xkk{ŪP=?zo׵4={uYP#_)?tZ~]{q[cۯtSX?{O9K?7OWf:|Yh ??퍾۪ _=te]W?[ڎT_cOOt|[3 O?~G?XCvv֕3+qOe|XX;v*xFWT|Es޽ܹ"gL{v>+0ySFj? .{oMs'.xUG;;{ogQy\oԲu?tMA[ n&%ʜfޡhE7`q)|*gPP#^ v]kmE\:#in޹Uw?cgғqbͷw\99ZP9(ٷ 2[!ge\!~]`zRPyiw9[ C QRK'ؘ=u =?ܐbj E?ֿ{R6fS^M︣m?â5RqO?_aLNc>;v,Ioo쿓+A^=1Wwm$ɷᤝ#B T^{{gx6n-dʹ=v"jA"gZooO59 9˾9 VÊYe{{xp(c~}}^#%4d8to.?ﯵ@WFm$tk`qK,/mtjC/Ol:78*a?s/OgƟ>U/bޔQp;B.Dc:ޯ(:nzzƽGRdN׽u~{ߺ^׽u~{ߺ^׽u~Ǿ7uѨ{>$n=ekV%Vflt$RMQY0Ċ2SՁ#H_5{{ylwvUȒ^RD*S Ŷ74wXL. GRIPUz8J)jq;M)u䯧X 4˸x:ڍCD]Cb݊y p3% t-̮dg3\yf>-m4dbOrP9 Ph7/7k;?LH72(%uH( N-G&F xꃧSS*ӌ^3`'q-{;-clT0N7(͸hM @ZHO~ RdB _h`q[k#yGQA%Es |' ʀ(!TYe繻}Vr-PG#8FijcAA؝p/7w(ĥ#TjrtԜzuSy{Sa7]N-5uK^k`#G?e ͷê|ܟ Ľz=j2 s]GGj66W|MnM(5^? 8eݛy WQd$2? o{uxvjIs$Pkª  ql+-?9 瘤MPqs?-! OIJwצ>V"qvcgPb*ޫ^KZ=63Lf?5EW[$s5Ns;D: GnϚ.9/m^(ξ*Z&YZI&^F'V5]{uV%\s+8|wUml폪XT5;4#Yk0 L gl/ݎhi~amltC+[T"{E W9}5xxnKJExUx|SǏ|K(;mfMw }\;3lʹ!Uܱ\;s7۞؛Qc֮1;H0MTm.-X]ˋu#gl۴6'!x8w_1 6B q\֑f.[Ky.D:P;4b$+WYc=)nspKiɭC$ZDa0,qԚbp==6Mݟݷ9gmrol"z+dkjjjnVQEmԗ;}$Uu~Y#Y|]Z4&#32JG KcI%ٰ#% pLO )#tTG%*CuOO7SfǺSvf|ۿw\=#e6䒞BwGa:7bul{{av./Q[nTA'lKdw,$^E[݂m߭l$YXBfs(X!BjӨC[g7yclZsg%qh 0K, ڪf*|ME>c~|ٛ3&|uSum>Tei[fJir:V"Yfcv|77I :ݝYH2J% u̜#\[E=qIMA*@Ħ{=vsp Mmd[I.a/RJzϵ},( #3x}nU7XKT[RH ?NdZ/ZN+p&;N_7Xw lRJjsxnƀ5u[~~׺i{^鮪_zUU,M{QҮRSxӥ*Xb?eG7ejgxx6n+'?ќ/O=T ?wm3\ ~T~Hk6O n_QeKsϹnqZST2GL??d3AпoZLzi#Q +c3(ou8r4XFbtO1CC7o (Z{q[eڛU !^4Ywb7>w1(}Z FUVsUU6Ə;?-K6}on-+7v\z/v#rAFuF[_|_cVeX {ycIQooG]w{}o|/_4^g?ҖmG =u.n ?u0\}怠ފ1/TLy?G qSn^rOޓzY>c3gGYa2}s>yDJ X;OgSQk~~O/La]pА/\ W484ų^aET𻣯En  W&ᥤ7\(@cB,wv-7U$'KW՞e?~VR*)N?^oAԭ3>s/2_8 ڕE?Wu(B H*XCKL?()? u(OO.(!/ݿ^_v=K(+^tKۑ~践4_бem~ҧt*|CsAO[t.z ?[{[G[mЫܼ?Ezn$z4%b}ϠqO>=F:Ԙ޺NMz1jRצ:u{{^׺u{{^׺u-sW}>}G˨}'zMAbxnKS mBj:ijz:wzjyP2HdBh%h%)2U  &$J2VR(UF 0z/z-?_>۱c%14J(#WMF{577k(]_Z2j݃gP!h\vwOdrKvڭγM.[i6#rd;jv*ɎUE,SϷ܃^YB?5:њ=givvgmO0m۵H71'$œ%,%O%O_`j0}AWɿO~>}'F/NǶ{ 0暧zp4Tegٸ2{ @4FONU'm7!w61Ь0hC#_@}ËmdmۋunF00`"CS)ҔU.#f+~WGa69{e)N*Rl]2{=EEkI$#b <"QCjJI15syû;yIskB˧L`3T -@;}2{,Y+[pk2ٌdz&VeP@Pƛw;';f>ovfǷ;>(QGSrsSG?Oi|J>uܟwSڏzt5tugFjvciy.zk!z L,*j9ݯg.Er]=v$hU 5-TSQ;fXlb&[i %İ:Xu`+"9l]%ػ)m7wW]n,;aQPmlޯbvNECYYB&_q_ow.%2Fe cJ Kgs%ڹ_h4P̦핮YU̬L@U{za<;a&uFgo9h~{`<[X6^f%4X0O [Gr[Bqƅ4R&%iCz63O&;4^4u$$-Η~\u][SmؽK 3\cAN[.uG0+-?鎞9㞅y^G덩/xձ{~G'YN7t&8-G,sœZo<w-op]zI-dQ0{өvdnln6{zmDbbnWP@UycQ<-dK UX*^e !5U@jѶ(s#<Ŵ]RY\v^4U$ p$E;mVף~6g]9Y&/ Uڵr5IYÎ#jD?l#(N~y~7frk:TfSQ:B>M8${=7DWL "X,# OԮ[ suunbmnOq)Ń⡥Y@u:VhR5r럹/n8 (ʐDΪ;S/hcl= 5 ^kuw= m^X| wg{nx~e%=;C0cu?i31rqT;|S{'l=xx2 U)q[g{$q@:V:~r7=wׇy(%i23tU4>*|J`?;c vۥ?ۻ?݃w@nŶ;U[2MDr2(bik&r -ffy4ΤPAѕ\yw|p} %0Cl^$1J8TT) 5TFNtO_v[ {3w^cO3{#9*/-Kf/1 m-;, Fp`ϛ%gc ֻ7lc5ʠ>TUԧ/,%7:\aҟ׾_x}>PYk~{{orj~>>N^EU`ǷҬ 0(/[~ob.:,W}oO:UTx~OW#ߏKzk1xwP:0F.s}Go+}E3Ukn:9B/_taoӮ?WFr/O\bXvQ?KzOo,QZ_ C:dܷ p]k4 Fؽ]9IwR/`]n(⚎V4N?b?e) ՕAs&̤8ϕ >oۚ=m뒹fv4n>:Y|WojgǟAkN^>O*?_pϸ|Զv%@tgۙ:m7{[>3poR9?6OoA.e OD}O<[xt{m*-ԹʟPOMnݟas߹_>s'_:#o[-W?Vcv\&xRe05M% ^'rmCuȕwe$85yz,X'O_ZPn'h,MmWo}y}t۬hk un×/1-z;9_Y?#Y2ʇw.3hE._uW S.'=5&FlpLţq{v{`^7aL/>Yv~wp?euH=wLSqyJ*ދqcHYCi W5F'RiǺ6>?UYwwo{AfnM|T''?>켏yw+n=GAr>*'J̱_4{>XY#=r{.~W;CUM_7ټOa3c%tvb[؛CSƮ j?_ G}ܛ㺶9?%af\n6ΎQK#.BGX.Nt~lr+Z 9ܭ'ܧrO%vFnO`S_,mm3J:lڞ%:RCoGLXȇg6vtAp/G}&=4qZK)}AbsEiR?r>;}5hA?cF۔9G(?■ϱ @kN=G_ױ<]^}gR#6`S|{IHRצzgU'uN{{^׺u{{^׺u)>O_|_DP}?zQtNJ}:{ZOQtw,޿?OW0?܏?|cX|}7˨?so]y^_>c{SA-~ܯIoX>M{}zO?o}zco]y?5Wk߫վד?^z?^׺?^׺?^׺?^׺״*뇔C5t=ku#?o|׽uyG?^Cּo^ƽx.{^]{?o|}ߺQ_?G^7u{O?~a+'ߺYbsWOuwtGOXw ſO)!I``??Oma^}~T{YV)>5m-^|TVҞu]__(~AxO[SHb0$ }ϣ{%fʠS>?Sqoc_ߺ*X[}9J9/[gxQ^?[ߺ]x|??,돋7{OYfi?^[ w]l+3N7*ʧ۞dv-N #SR >T8zk?۝&l;CvTl)O k0ڗUp˭Ol6* ZWWʝ/=}/5r]]8v6?l}6[]jn}͢x)Hc}z:r`?i-_UѝSmj D}6诶Mʝ(UOǠkŊ_F9GڹZaWjǻ_\./Yo"/Av%=->]Oy(]އ>@#|Пcx/Fۯqt)](Bڤe8{hpYp=.w :bߋ<?/mѳ>WIbۋhV~GJ>{4d+v Cd!]!ssv/6C2:OWהXܕc*AyZK}e([{l~`;20'^s0 h/.>u[=W ݿv-&f`2:Ϧ"_M"#ח>̼1cyŜ=u/m}} w)a2=P^]s5C<4Js<_TO17(0?GSFF//'qo{!?χÇuҿg[Fa.g;'SysO?}}L_ӿӟOҿWᦡ}[ٝEۍͅ8_篥Thb ۹z.͛ !EHdqq_c ?5sA^]b,SO{mʵ&=?@C<'P=?q@.{"(?߹orFA:r=ƽ8m _xV_ߗ?2u7RҲ8v_>_fO1.0g[댹M󒇏{;NXoQ?[޾Q?˩ˋ/qw;}M|州ە0&ߏg5:67=1T?agGB ~g&궔~/=ȟ=WIpG{f۟e߻ N䧒>d|}6t`z{>ӝ{ߺ^׽u~yR߽.(>+пQ鮽$׺_VtkG]&?uM`?:ε)?=軬~׺{׺]1׽uߺ^ԏ~GH??}u^q׺u{^׺uKҮO~cNu߷:Wi?=:/ L{L>}=￧.#uk'G{>Ԏ!-'E??vGKxK7JO _ދal} vt~D?&<:Ԋ_'o}/먿/{JO\{N_$F]de{ç|&_'ZϧZ~Wsg>?u??G#G/kߟq6OG:k~*mU_>>Y>7ݏ<W?OWD~QTB u_ Un*;up?|?gWgǹWA[/C?䷽oo_k̯zO2[?x)>y#{YHC3\Tt.A=ʓ/3?\8ɿ_?/7n<<~(>鮛j?CE/ O?{TgEW_OFM{cOW {o#~/νux} (*t]2Uz>-6?C?{[ VI?'χFc~|>W?}:q !?J*_އ.a_oCV ܃y]C|0~>oy]F\R_OOb>xϯUWaâ~ҺV?゙Ҏ[?A3#|Fp=qh'߉)U?='*?/>*Qh&>ތ`OX{O{KҮ{{^׺'8?ݺ~οn|@|n˪{L~PNG  IHDR^: ,sRGB0PLTE999SSSzzzhhhRIDAThYKh$EɺdlGtV*fx&hYe ' ^DI<+%zV:^,Šx<;=[vDp&US|UU]2)Fz#\ośKl<(0=ca~~cBk[n]wVD@[.~,%BҨS%\<#sʙAaa6 I341\N ]vY 4' wE7@ū%*A`6sI#ړ!nA]/vFBKq!c9(:"Ɛdg2cBP/nE,^HÒ,cyxƌ5mzmI?qlvrBoV=%E$M/?rփz{PW8/N>7~s5G0wDkTg zw$p,^z2GyT7Ϊ(yI;nBӗނ.|Kl렏F&wD<ԩ2*Rp@<ʶ\= !!3U-uoW˵\,"ZbV/wTچIy*m kUSΕ0]K'i9'<Fz#Ho7$9-iIENDB`Fnb㜸Jn4l6qJFIF``      y!  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?>,𯁼 }Ɨ}W4 O2E?6fX|GauQ<:x 1wů#s6?z1xZ#O5KOLS=W+W#d_V^_nm}{۵.MKuUC׹׆IXz,b x¾8%|_=_D`,.Ct%:]EI%?jm#&~>0Cuw!m_3>yt@~&[xW x+^h:y Z]Gro/!Q@)y_>!S_w=5Ggs ɆKvKayi)Gs~*|~ՖP5]>VZ-n.aRV+ˍ$D,! mE?+/,z >V[dM/=_ ~,qc]ji>h_wQ[+R1NCni:xWLt-KOִMj?PKKII ʄ:2H5@W?> %ׯyv?<c/UDŽ5KmF$M~NV.eEդۼs PEgڶxWRuKOtMkCPKkK HP,J$q"+3;@#|5ҵdPt8es& w]F»E9Oe/EF׼ݻS?vG~Z?:wO0~j~܊VͭʡeLHc z<-Fwa?QZ I5_ ȱ^%7"eEܢ#K (OtĞ$4)]n&idX`%i.gHyfXGU>_[|=?Ơ8{E4Rh 1Oodsi6<ӳxm֬P\|-%yLKo4E"ż2os<7K G,n" k&OU_ĚH<-bw@\ɨ+c6F(&VA+iwOQ@Ms<˭/5BŞ2molZrqdTq]524v8 x[A_,<5#OYiF{fyy&wieYvbQ@xmQW~8KCj> Ѿ&]Z"k͝-!`B,ؿ@=C)|iKxjCH#L%y/FЬ]!8ei`[ہuvLE:W|+oa}qiZvij~8,ttYBK,N$  붾;׾-^\C;؎&b(Umͽ e [Vp`m[J<+k&i5_%(dir8UPI s]ω #BφZhL.4muq/ج8& (Ox^$5)imhY&Y`8Ia(DV_-[UUOKP;Eqz{Юn\+no-%ru6_JP'qxoxcGmeΫ{=폇b(w=nJ$o<)B@Q@|AguZPN.OOOGT9av$K [3,-my ̈́ y#- ?>8YZS0Ҭ"ɖ]“ʫ"oDm8 Et>1&Rh ,L?_ƺك&c'}3Ŷ6iOno-IQ $#z|C*r߾/-KJqz['<톷BɷRi5W/߃ox>YZLjFi:j2Eh}Z!cMӄ[GZ.0a=x] ;ƾ)7>g[<]ޝo=ľ\Jdvڊ3WP_?ϟ*ŏ|*Gʹ?%i#]ʻn#U}_?})_ǿ,O`>kqqkYjo /l޴&b[KsPwlcŷغJ|6̑z=s\"jrA%P oe(;īuqzP 5.]2R)>o]^>X|Gy#?mgjWRBn+IO{+K LUXedRXFm /[[k-.M>W0NDVo{,L2b^@cM h/Cbw7+8_(6+W2UǙ3/_y^T@P^3 ßZ7Z֑7u, KM6!y%kQۦ-5@ Wφ7z/<)i?;]+QjDQjjڋ3c4SjmexDrZ=P> $~) +ƿ-㋙U C [-u(݃j6GH>>i'i_|fu]M_ͥkWh_?%m4I4"|v?kz[GR񎗥iol}懫=̚MY%z|v[}?6~8>xNº6kygw ݜS٪ڥˬ[uX +c s|1қƩ"|14ܟ'uGh6xrѨÿݟW?D~};Oğm3y;N߰ycy\ @Q@xޥcgxD~ss{YwYU@%K[&5IRḷ[}WN{x¿|3Yu>vjmoqWL1N(57BҼW;ۭ>w$,.W2G#6@?-o7U~#XiVfle̺ށ&mAg.\N# WF#>ҿҟB>ǧA6geiGlc1Ch2MNh4- L]EO- 0 H*hP_?ο0uŗ~*Z#\ޟO+I4oW,H@WOK|8e|Aɺd-<7~uNV16Kr P|N7t>]oM#zE+ڳBXE#1|??tg6gy}+x#c)aShE(8/;ſm~4=gĚ0j&s2?H +/FN>[_O}F&>ȣ4m'J׼+hZZ&i5ۥͥcpRHVRAI2ӵ?+-ZGYO%՜7+20(.&hXBz 'IҴ i.Camiai P$ETTPT4(f_~w]_IklӠgJOlާ϶_]7 L_>@4$tUe˦izmͅV/ ))^՝vW3s?h獬Nf&mspͳOkd ($ B8J(Dž|k>>\l9A7,}Eq|<Х?4NO}խ-t ;28JlKR@C)4<-? O|? i~oNO$iU7#TeIT;)} _Z<_5Ny oOnk_(?o)C㝯>m-$rxVe5)OF]5̢-622J+ (5|!O𕾟}/ǗsxoZ9Ӯu X]^\q+Ak*@\0|K淒w ſmk3VsISU<1,Q k{Ra:q8xg@(+3ڮij?>+Z]\xwڭڐaQ"+'hZ+a 'IҴ i.Camiai P$ETTPT(+W/|9n5 M7O`6Z𳣢V*YCaU۽?Ŷ}ĿYiNGgw/cqo{kylY̫I:rCQ@Wߌ?h(w|VҼ;x-G~ 㹻a;+gUU.}5e.c(KO ">*{4jKnw}7c|mh(>kOg3~8iZ~4~#Yʷ1jq(Igc(2 ~O F-;Ɗ~vnޡm]U(rMjK77Om}EP^_cƺ>i%o QG:uξWW#K{{+˒%h-eHk@:x'Jsk Ѯ5 =aP]%5&KQO}up\T4,9€3m'J׼+hZZ&i5ۥͥcpRHVRAI?WL?POO ZCU5{ui@5mǗ<$څ^#GwtE)Nk5 RZO,.dC42)$N) hP^__%j<}h|7q`Μ]ѯ;x-lP*TIha?>2?=.KKI4_| zql-R[K;\[>so4PYi3I j2mB(JtmVk>mK/TcY"l :3Ex~)_>iTԴMoPJҼWK2O ^[M͌,"^jpkso<%ix]j7%łkptDH.. s,J.&Kf P3m[J<+k&i5_%(dir8UPI W%qq|| >|=' )iHt>*/n4F-PPk$hH#Iմ{ºfjZ~kV\_LHfT%$ѕԕe A (k2Þ*gmCƿ[D8n9WR`lXrkNwig _fcǂu]QW|_qAwmy{-GdY䱶iw:Ƴ]7k @E:wa|PgmiS{R5B}+J^,<+u{moq4W63,JHy"͸A_?,,Axw]o~!eӵ]%ި.٥串{[oq8 +?VմºZ~h_[ZXZBIfW!#Y؅U#NDO wwi>{+K+^1xK om]: [oȒ;e=ݾ_HPEgNxWRе3OִMjk COKKI,3Bऑ:3##5[xcX|9oj:ɋ* i#[\Si$Rs\n-$+Srw{CStR \R?KaeEh-XÏOWZ% a<ȳclufn OxB =C|}w&/i3$zu5MkcnMw}(mas4q?eJ57 }JVs&"xb26i"̗$Z}Fb.o[Şǁ,ʲM/=tO {MQufb,hv,}y%[O?_x_zqx~ڎD't iQL̶6Ks}3E-ܫojzd'kspPEx~KĞa}ݹߴ}v|#lp [=>/OMOJyϲL]m ZIJ"/O뭤JIϲS]m*Z9B;EyG+W#d_V^_nm}{۵It?`lH94~tyM)|KW7 /_|SV}tH؄W/=1mwF+ϲǯ+/z/7}o>ڞW˷tg?'CIUx>0IQԼqK=B k}g°} wV6 yPp (?VմºZ~h_[ZXZBIfW!#Y؅Uzx=ψ.~|;u~ϺlW, gkjo۷mGѳ][J6ξ~o*#Yu8?m$6Ԡ,BZpye?<-@|?Ë}cUIR);mGP)34qˆu_|{!?y /&p}:UC"2=o4'_x χ/iid4U*dyjI4Q@7oߪ7Z_#֒]xSoҿy} :2IRťclAxt*ED[OړxOB6:{uk[hjK}{$?hO& (?4?li¿j:XӨhׅK$Wm.*ǽ,-!QC'm <3 XecUYK HR xY}F٘$@Q@|~h ~zhZIuL~h{]"/ mnFw!CJ9]r\<}Gq= GST؄|6L61~3I$@Q@Q@Q@Q@xW/ wz>VtQ? jl|%Ս ݌p! jox B(tmgJ6ZυbZTos9W xgƾnj4-oHevprțk]PE|s-ZGƏ g/+Ҵ OsȱjWwxO=#WQ" ( ]W?IoxGV0Ưh?SZ+ugeyhcdiZ"(RG+-g|k x?J4?:Yai Ao+4(w;3drh ( _[~ܟXCv桮 ޚm/RFĵoi$lwhum&mΒ~@W/x^7:ͧ~[K{x^tkLWW@O R>qFL> | P)nugU7ϊuT/pI[QzPEPEPEPEPE k?~ {OW|Uhl=2I(kZRAowtd_irIj agLW (>3xS3EíZbmCSb/2+Ƞxc&H/3/!ѯ̒!fi"j#@EPǏ>7ed H4?RVѾ^rR'Z([UCE NW/_exJZuU`\˱rUUXc8@` ( ( ( ( ( (?Vt{º~kVXj}\_L9a$љe$A?~#Ŀ)xkïC~׾&/-ūKvxeX]YYv㶃xNk5 RZO,.dC42)$N) hPExCJf W湨x;[[Nj4Q?RZ.~!T>7 b ucpCR/#hq4q3|A{?^ Uiy*UxGWHU)uGFPQ@|c#? g-OZ)O QS sƷbW1 $PFo(,>/\\~ܟRfPjw-c4f]+D[he[2B]y6rHEP减//~|__·gLkL`$/|;)$рh٢U<ׇ=_Vl2H0K1,ļ$3I,;31(((((((|%8Ş ?'74nB[9i -Q=2*K4rnB$ψ4|!O~̞}~ /#c F,7^h-Ƣ#BW|H"/kx7 ПV(.uK]vkym:sJR3˨+4T~5x6Qҵ-&բιѼʼn庼GEV4x7@uOK_74EKj( 9"yM[no.+h{{xg/6=/^7m+xRѮ[O?zRͲѼ9sp-#&XY5=*8/R>ş<}Ú}M*:Ņfi,ZjQLYfa!3|  >x:kv imqwjZ*]/He᳝tFU:D1W׼U&JFoZh2Y6CT[r/>).+,n)}@|!;E]ǂ<1Otߍ>BvKDŽ mľ!:hńEed%;&:IE5celGek-e|$Mqw(K4sM}jVҳ/K4⮿ ~>4gtOIMM*[Ж{CEDuBDswOm R >m/|5.|S?{GہqSYV1Ymu>f'΢>oU3 L]CCo xo^O3fk{gGj Ė/c\jsȐ6>.VK_>0|^\wڄ^_k:sgM2YiN/ %Cgsyp֝|l +jZj'Û{[CQ7Sk{XEZY\7?@Q@Q@Q@Q@Q@Q@Q@>,fMs }ioOD7Od`n5m?~!_Aֲoy>C~º懨x⏀.|{-Zd}OZ& ucpi}n!k,PhCϏ_ Bo x-][Iqo<2@aCYD,Ŀ$k/o6w/>$6-g#I7w7&q3@,*WZ,/'/?3{j\I#MvJRWƺW0е }Bk^ ǷDhຊ5vy:UxХ>y+/9Ю5 <7~SZXGk Ȉ)HTE,NGm[J<+k&i5_%(dir8UPI ,5Կn[Mq}/5ln]YڨnnHYYs:0;{ jV]K]u-?E4[I B-,-!C$M+ĈBIPU?R0x/^MWΫg7k} eӵO~Zt B4Dm! tp (G"*( @PEPEPEPEPEPEPEPE|UZKi<i%Au 1͛@u\8ݕnmȮ>71Vևw^ gt*@L=֑pn֓ "I+fG71N/>$6-07 mL&C 4 %W'࿊> _-Mc@!7P9#?}X>Z}[ZG#KKw #Uno)@>>nq$~Mo+O?hIw[ {+/6{kkKMY-y^-<.{K}BN+>~'tKi-exYe +,ʰ|$‹?W~\> <Zօq& _} 9@p}@~PxV?Vդ~ #zŤWç0n^Xuv(pd?Wi¿m)l;-.|A-!yOJQdxḔG'P??xkO8@,w+m i@XĆHc09E׈~ A_Vjz`UUP^I]#(դGHYT~px2~2{ǿj+v_'E()$NM-F ,}PEPEPEPEPEPEPEPEPE3o85Uѵ*k>mk=SKQ\ #F>eoIkҾU嬶:7/c4i M/)(.Lle~Ϡ?g/^!{Cg闊Lw2e!RH卖HD ?]Sh#>*cyjDڛ$ fvG,VO?d _^[.?աHᔛͤ$M=Q~^/s) ݽG4\LH-GyHWrF,~@7kߌ Jj/[u|-yUZB_:4toHů ( ( ( ( ( ( ( ( ( (<K׈~Azey YHxGT9ce)$FGEa7 =Ct⦭e [X*,%Ս t]q0yE2F}|I|/7ç|x!w{⏇WQMe5ևr Sh-9Ǚe>^g߃PxjEVjYlB^izBdQў'G [///F?m#G|KkĺiZoW[ඛX+@M$'!"i|,z|lxO_kW&x;}dZȺr[N%=X) e o>]jwW[ŸMFI$X8H-t,rFP]?CmS¾yQ j׷*/=^X7( W࿅ < [V{9Ǔqi̖YOPexJ6Zuc %ιcarI#GrH | _֋ +3|#G1i,>;+}}ܻ" ,n鿣Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@V~Zu- ]4kD֭&4t r4. I220*H @g|GmA[5?&fk| Kkz%0ag*?,itѭi^wgg-nUcM֚Cq&x{i\V]3]е-?Z5HoB.m/&A$3C*DJA #nߋ~^ M+ĺ&'J0O[SlGI,k笉{4ï>?j>0>/*?xJH75+{=qGeKo5,^wC*}C N xSNt2Ju=sJBk75tckn8#M,1wOaKY𮓨|_Ta]]kX$M4q"tSs,eU|qmwQeU5ݦ-ŕѬ6,6i2Gr?~Q w4`<+ Y.?_$q,˧feP^(2 r|xo>~? uMᕢ64E1G(rV)~WKh4( ( ( ( ( ( ( ( ( ( ( Şu /ş:ˠ~1!%?YɾWռ+#,^ BP2MFxR?l%}g_wڬCèY7= n6Y4";gsq%h|&/oc&<º7-|;yWpY ^kZ[>t0h(^+Pխp{~ |#s⫏+ǃZ5Htȟ_#wIe7YbieI&D3^@y~ /{,,|[I6.]ɳB&2ήOO:0dE`>7~ɺW2!~п z5Kt.E+60 ;9qp k$qاAXޞ|+]Ρ/D{UơRխ.O^RJ}5#+FH. 32{R~ԗi}܉4o:3 e ,=³dI|ۛ ( ( ( ( ( ( ( ( ( ( (?O5^!x?V{ `U2ZZtf[`BaY6>F܀?eٯ<+/KOZQj8Ѵ;9oVy0ܖ-b& "h>Ϡ(0Cྍ~;!'|A?_ӯm-~=7 >U[Ēݮk=Zt B4Dm! tp (G"*( ZQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@W>S+4_?7ƽϳŏ;yڵƧ@߳FbpPEP\<-g|O xJ5{?:X>aw q,)w#+ @4 n p6B'(((((((((((⟄>96 BG'o&_#Rdj \\!nC S$> ( ]+X/ C4z~.]1X{뫇h_s|'xO> xPw_"KTY䱶; !>b"B ( ( ( ( ( ( ( ( ( ( ( (jV|tZFuH.%џFs*2iI% :qyqskkPE|Zǟ t ς݅ŝǦwaָFuܭ0Aw+sI.YuM*á74 d+)/`h&eW?e9o4Xr߳=h"_>H kHVǟ/{֛[Ҽ[ Ziu-0?;P6@PEPEPEPEPEPEPEPEPEPEPEPEPEPQH4(((((((((((((+*??iQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@WTAG? (( ( ( ( ( ( ( ( ( ( ( ( ( (|S~u{8d4Hdmv7zŹx!Uw+|AG|sgR 2>߹NgOFMoiZag~aeܾ`_-|u;`W(((((((((((((4|"w{񅧅~P=|Cp$\Tma0ow6DDK@Lqȟ??߉ _ oÉo Tеڵe.vǣiHB/xV6}'>"u'ռ_Wë t1m?#Od ~\QڇA_ ( ( ( ( ( ( ( ( ( ( ( ( (?򂏎,APPEPEPEPEPEPEPEPEPEPEPEPEPEP_QYԃL((((((((((((( >9ܳ@@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@|G|sgR 2> ( ( ( ( ( ( ( ( ( ( ( ( (3m[J<+k&i5_%(dir8UPI j j'߈|#_O,/'~c+'!he _H̶~E1o{576hM6{_/~#hR6yU滫=ż~#M[&0mEHd ~iZtwBԴkD֭!  JI++*A@PEPEPEPEPEPEPEPEPEPEPEPEP^?⟈Z׎AŶ~U݈ 4ѬO\]\fBiA`]6 eNJL-|KT^ 5H:IB*ȶu=f€ [7-Uxᕖ]ڤ HFiC[y5{Yd(x'ڮ⫏$ZZ6] % (Mm4".l.B ( ( ( ( ( ( ( ( ( ( ( (<⏎[ zKsemt? |M[1=ޡ^Xߢ%֗si[M-Ż<2K EX$`Š((((((((((((ࣞG/ k&w^{Fd4A5_Z?4 3mwV2Z+-d躌4mpwۉ=I-_ 5zM6pIqtāup<򐠴vf$ +S~2*iPEPEPEPEPEPEPEPEPEPEPEPE|n/?gANJWƻu[;.lf9m5}>٤vuɾ( ( |hX}m}? wLd,Fa}g.|[l:PEPEPEPEPEPEPEPEPEPEPEPEs)O_xkĖF3-M45GB,2H]/>|G!?nOxn;Rnc[8u(oz䭼6VpPExmWǾ*M=KPdǞ%{u^tgW,ϔH,:;`t+@𮙡hZf-6~an֖aHDUEEU@(B((((((((((((|+ox~gav$RG!B_D%sճ<,ۣI,|0AA |]*U,"e:֒׉%Ȉ$vtqZe?> >"<J\;HҲG+)4x~Q'ῊYc.67;4o\$oHTc)˿@/ZnǁcIj7b04<-m~׆??dF[Yi.'kY渙YIdwُA@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@nXLf'Dvc $PNG  IHDRo}{sRGB pHYs+0PLTE999SSShhhzzzPIDATx[UO[znR[fik-Heۊ5 ,`*&jiQŧ]'A "%QhJ>/o&$L~d2L2u̙ٙ.%@ g 3ph;S9/8DP6ίzcP4)H!x! g(2TB' 3p8"`'S~Dx ۛ ;G$^$@5BZ*[֚eLOxɼ[Ҁ"#$d|\Of3.!gvވ .nnJ86q UJa*YAuu-i_;39qI^xvhx|ۙ̏v׏DKڗDx]`I)o6 xM*38LNuvt8swuHi*X}?;$/N6lX\y#f(z#gM iPSgNW!f^Sܰw}NqX Z;+pX4nVH0*-A9]M,웈=dbp_gSc f3rJ>%_~c}Ԭ1 ǩkgmeg"#vRU bD*iT9TFeTwIfYaBj6ngJtqG~xG'?FP:8ocwtQJI,FXhJbZJ++6ѫ.)7<KmOF/*)''}P 6At{#z6k ִn]/ ;SحDO)UBP9wa8j*ccɢwQJ%~#aB] 6=̐4N^Hob_ Y܋fU2}kfV7_k\՚R[XxkQ~w7/™{ h9Kx-,g_8g ~z1Sޑ\0R^7n7lpÉ L|H;1ײ|#?7 T+?XsI Ew\"mpN ^zcEE0EirN< qk=.<7>? g 3p8g 3p IENDB`n~w+i:YUEPNG  IHDRXo8sRGB0PLTE999SSSzzzhhh'C_IDATx]hUoLb$Z)&Ԉ 6Xw }6AQ7A*le }"Jw((ȦM l*ŇνwfvkC2̅0;3̝s=soض!As4As4A[haĴ%4QkU%{`: $ּ4 uą5VϺyE^hPGL]Lz8"B>J!zh㛎Q.!c ^R:d ~ŻOaƯz'yC(B^u23-v;pcD/GDh-YvFc!KR<[FˤJhw|_oB(@f"VbΧj2]"NbVZjU=QnWR njUCY+)_$7Tq>)hx[h"3y?_kj7&O-yQG sNӴA%f-].+=_nxkj#׈L^17TѠUS.[PaDVФ<6_?q-f[RTeLxҔiKŖ @ϊ;F`8:ZedejF3Fyc,HHqZE,5J?-|rRk:7(Ki+$Aڬ;60=luXU)|Pk#y)6TSThuXA).51IzU8Q?2Ler dEY]6ּrzoaΐۦo6iK-cp˥f)v&B ᠬiYH,BSeS{k%cIgXA ""6e F#mLX>822~#iO3d45l +|_Aa&Y(Y<;f wV^w:RJQ~XXҒϐD=BF|:׎Up K5SPu)Waw!GXrqЊx.{cI}wlڔvB Hfl>TQM )+,Bc?d3 9( q*hByŤd0U/B+xP/ ShU6lofhٹ(<&QI=]¾:jrg,>6"Wz#m ԟ{0Dɖ\V)fyhhȺhgr'VV>Jo;=TΨrl朙irSN?sEO<8kJQAsn-Rեd9%hR }8SF&Lc. JrP?Lk<^#*MІ.-5nD4/dg-Ney8W`G1ɓ͏O h#U?8--W̋u$F̨V :Ň_!; 7i6PŁдL )f_eXqURKPpqVW/|Ҡ%4_%ȇ"oaZ#jaH/g 4u h~/+hG!r3  VS-(}M {Xrw/xo&H_~f겿%RR:XT%VzѠMЮVgc47>q{X2eh 7As4A[gM-4`[ mј@Acm Z@=?pݣ=?pݣ^s4Asx? IENDB`n}+vW־:SPNG  IHDR?|sRGB0PLTE999SSSzzzhhh,d&kIDAThOhU'I4Iژ`qCԍiZŃ Tt"6milH[lP㦢ŲiAMRck{6;3;ovfSwټ~~ޛ7ۚ{{{L[>ޜ\CH[L=SZ_.K;T en߰gv6nE쯏Q;/D7Ep6-HD_ٹ$vN=FO/5Y|ߔAYKS8ߪ˫xw+,jȱ@e%C ZDm_뤧Qpbއr YiŘZDWiL,װ9M~h2 Rfp:IjW[Dt?T6<ܑ:$ڳQBymRf?=6HDҏMK=z`Bs7K_!-ߝh2=~.ZCxh.%Qg_ld(,vW1">bEBBߥ2 EX܂ 9(TdՅiz=H:Qmh2esV鞦^v_Fo#J%e7`uvnEZ8"fjXODG8Qi$UY+^4b!ަH:w8;,cRDx܌/OI,|\jF<_p<x$hf+(&S-I2%'YxbxQ1U*?1f!+H]+ ֥O᎞i4yYqhq2If)xaU*uXY apy&{S)q($['iEk'uбmhե3kgw8+AQ{|:dG!"2iU!KL,Z?2m=ACN"WeU&7[,HuNGUr_腱U288{%I凌.z> jw6h$w*E-z&%ƻ{ss=?htWz.Vů<̈́ d#+FIc='ʓ՘ : _H) Zm+m?8>G&(^tԖ s`dddڨ_:Z8Z 5:sltF,_xe|:љc{[+D;|du'&N፝Wrh.`Hd\ MgmR&?CL[ɲB \]k檼Zt.w &e"N% (n-Dv1}:38]C}oukSu87 RU~DT{6 r iNm'g+D;꼎B:X6=O lϸZsѭ BO|nڮ-e>"Yni+;̑#5=~=vC| 0R\9L?rىŅ@\/Raaw,6<ƗϩK?jq>,V48~έ*äe茰smQH?pg=|=|=|=|r)IENDB`n JXqN@uhϣсQPNG  IHDRFoJr<sRGB0PLTE999SSSzzzhhhR IDATxZ]Wfi?ݵU %$.ZnF4$Jx"#" lX ɛJ*UQ"D:F!!{gGR KR`)D`)X ,,K!K ;6\j{/ e8/i\SIkO셁PR`29{==S?};<ʯ;Qk,#4zr87²cGq3N`? XC`K*y)!VJ^pᆝFܸlM_!z  /5X=>4&Ƿ98֔,>`ƲK6zAz~|aX,M׽D0ѨB2` +KIDpBgK *RL9T%LMrKCf,0OCb5}sՉ|n0,/B0f3XB0aٌ"G f: ero> (FX*V^ᓼC0aYɡ  FRT78\Ÿ@ܠ)_y }ѱ'5d,X0ozF,$aނ(4j.eXe}W햪Ui2jR#QYqKǡģF X-eoZ+tb)a.Ėqkc> 2S?,T1d+5Sefi.0rNcwUvJX/eT˗eec#KXx ukXJkHbq6_gYx #X!|~nB (ў_\UG"M*"(6}.R]H[m93YF)0Uփٍ7 7p !E%?C[ƌ&4$^UU~i2Sle\S3Ah9iI%#mt|{\Ӗ 7Ǐz0H ɇ1%::8J2fJ;v쵗IFdUX`c FI5^?Ю._e/ 5f emP>DW"5.ߡs9ܣʄw LΪlM5soԨ)aaeBIkQ_:=(W- 6i0Nl+ey!I5~6Ɗd5Yמ(__,֞w6)9 :[XuK#5:Ԉͷ0KJ)Xg͡ Jp /8bY"k4tq?n2Yvĕkhc*, X>)a? R;Ҙ6clg&8(xHǼctv:ekBN,[+X0%ҫoL,2YКJ)&WҩW<K*xEW"?u9DP7LB|xSuZ%TO-s .{$vvFWw)9Yÿ)+rIƫq$(̋/^}0޶cRUZM\զZ]m05[vm6^SVKJ {]ro#<*5-5ѥ>>$\( 1.u$s:ۺ/lWN}saRk1l:ջoԱ,qRoA0$vmfim)M~c:*8e"}U}w#1ٺdG({n|e\OD!p<_RsL4}/Up[WW3:k{kXDzý795i-|WwRlײL8e(>(R^ _.C`cKyG^`)a[6It38r:h&\69Z/[}w`0YeLgm^Α͐S\96#Ga$qY=LK,d XYGw$j}RNi&q($bյʫ4@#WB5᭾{魱VC&)=MGXPP0[l_+/iʁz7!)~'>†=drUu˧0FFJ]~I3<)/V~{S.[f\"@v'_W_/O= VU}[^^⒎!h4ٷɦh\KtyCԊ;s(jt5Cg|VlZ%Sc$7vS}/Ucl N'Ԇ@B/HVGhbf=I)MC,<QG2 1VC(b+BBYyP,K5v&NdQq(SDe|,=h@\:U;QWQݏ._ŵ.j#6ۄr(m0N\Zsx*Fk~ϷۃXա!f;RN\͔3dMp (3}qۢ[Z5ülZSB;naCكHE(ƖA[5uȠ-2كr q8q*=IjK2F}9XAa*L;I?fݎ 9Ril@$(*De?$Y A2N+ړ+lBBUj.YݕèP뫣smJe*wxBx),ѡpIC ZR4S |My,6nDlgX]nE&[#91LM6 P/].,[맄C,yNN pQ4OO /kᴾ)4t0,̈́evw6f* !/ 뺾>O`tǩm*աnHZ:|kx3h.cnĴtY[u*Ću>C=9֨&E'bG!fVZ֖nIFmYuzљE$9_dO1m Ϡ&<U]T+=FBxjiQ} f5/Uw 2 FLfcxA7d&6."XA?hZZ_]9WXX61 6hQ!jРb\e(C)Sh牧j< ""lV@lS)1ח㥠67aОo-z-b-m-CߛSB<ԟMQ];YϫZ% Ѐ ^5-ݾ5[ŵ`L0=IJ!lq.7X R!ɄplS '|%rO+ 7~ABU7a~ ~e!?ΓA*"d<69jlO W{MLP K,}RG1EnhGDySGP?\"vokpID/ D$"YcY_RNg9r /胆 ǽh${% by%ڐNc>fJN8B1vg"H&nra "hq?C7C]w4nʡB+Cidyi/I4S9.zGErOz_fwjF j CbƓ\DM^;_=,?qh"R'p9{EOFDqAtDAth*o:IENDB`nbx#mۦ2UPNG  IHDR6RsRGB0PLTE999SSShhhzzz NIDATXMLAǧP@UcDBdCc<@,a Q/Gb٢FcfQ/JL 1%Gc*уJ?vsfs0nޛ2 ؜uVe@[jai(0ĸ RVrcη{8wd*y~/d%oWԔOg۷͡H?P' T< "(G鈦~\;hRSS9K.w}aO}yByDt/ :4I\$ZU# *0 ^Q%O:4"nas*$֔_yXhTF+)<3:-AI;&*[QcC}%yCOYhcz؍rlHOyUصx !sN7DNKdqhᡫv-`=tAh+]0[K;@څJ罢kRKO-w:~kdU|F:5:+}oC<+1Gm}EBdNW`V3,q@OA>l^͠D9Ga>Z9&SHjX؋Z,$:EGhjk\(nC?ivh.7Ӌi_,G[Gԛ>nQИu@yK_Q~ltQ#z7åDS)PFq9PCd cSygAE9HϞآYJlsaZPڤu ᯙzKpNg;h1RR/ؾs}KMKq:Eў<k2fSⶊ+﵌ISẂⳀߵ2;ًn 64A/ZVeR?[MAܭo2pX1(4ræM4K 5lգ2w5&C9[5p Ծc^Uk3*,/>E+rwI.L+Zi~.aGl4_~nK)4ٙo5*<8K.N@Q]rxxGy\-JI8‾E4~%@< t:@O\ sm}֊6s1?гg} Tz)C~ZR襬:׈/q`kbX|AOڇ6#$H]{k7|xyxM@%]t0mfB*IENDB`F^s"(8ISp'<,JFIFC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222uG" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( *9o*s"7 8%AϨ~X%f5*48i9mltWk/5;g׵&!NY"2$4" I!qaajnnic8EeK` c@(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס*NC^(ס* ((((((((((q3[ʶGBꭎ PA#=3+M{IXn]$<l@UJ]%E{`5x#ohn!|ȌE u 7#<(p;]cP#Jآ(((ՍƟO ~\^r]K"=Ugkb((((F|C4PI;ނ̌9lQEQEQEQEcXG-NŬ}1:IrXcDlQEQEQEQEcI-2cͬ:}2>lTc"7lQEQEQEQEc67z=j4p ftM2)" D)8=8 ]s;y_]覮 ( ( ( ( ( ( ( ( ( ( ( '}g?4Y)+|/1KcGE&q:""9sgX..aER((((((((((((((((((((((((((((((((((((((*E5tIu (((((((((((+cE'}gLJ-G[_6+G[_6(|k?JQE`0((((((((((((((((((((((((((((((((((((((*E5tIu (((((((((((+cE'}gLJ-G[_6+G[_6(|k?JQE`0((((((((((((((((((((((((((((((((((((((*E5tIu (((((((((((+h/ bL虫+~8h,5lkj~WMnٽ[3WtgIۊ*sb% EWAEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP?'%Uj+*E5tQEQEQEQEQEQEQEQEQEQEQEW_#O5zy?">aT3WvWGq3Y{v-*tx#*JLzF ?%zmG$GIBQ^YaEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP?'%Uj+*E5tQEQEQEQEQEQEQEQEQEQEOVԡѴkRdh,丑cTR 3+>XԿc}:y丁/JѫeNeL`lxMY𮯥۴k=񴄅 TN2} eadЯ#aO-xYD{%e$켲 ޳I]i6cwQ4߼!d}a(F q"`\W%V8ÕE$[yُkgV6~]^3k+B_)cI*#VX# 4s [$d9]>*AG# ]Xbt&JfW? k ѿVjM4*eIn$AP00++;_DIV6hz)Vi¸ ,k{='hܜS**m٬Oc5$k8I?#ƌ9V#Zg'\5xdh'~`7(aEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP?'%Uj+otKǦ\5RDLyV{y@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@pio+-?޼mo<=W)lq_ Mb͟q[%RolEz uo iZ5ݜ3ȱ3bI8_?x.0W:[UJ!Q%S_ ^~]g Dwwk:Z4JuL5^Z뇷Woz$eJ?$wQEqQEQEQEQEQEQEQEQEQEQE&] 7* :J|J{տenHC2}QQEf0((((((((((((((((((((((((*E5tIu (((((((((((+ O?y]pGY#5,N9$վڼ1='g[#grXm-$e#9_ȉ[襯jY ie@ay`}'n/##D9vGOCD-yJr7X $~g[iEysjHX 1ċ5[+}nh??I-I_ 0PRjlo(09 'THU I;ԕOrg~aLf1LRi QEHQ@Q@a2FVa2FV~ tDQE`0((((((((((((((((((((((((*E5tIu (((((((((((+<'aY? C! VO"=EJԧWhm/!EQ2@}M G|'yYFf cs~>R4tZM$dbq^][n;K-> .ıC+Uu&F\2F5Vvqvv-xDF 㵫+ftv'6ߎ:ǟZ|M"#O\Zp5? IrO?G??I-I_ W?[bfft=91+*I_ boޟk(Z>~W;i.SɊ4QErQEQEQEcO$1 [V~ tDQE`23O+A aO_:XVa$Һ^ӵ-f&kWKGWXG.Z]/h {g+_$ FƲ> cSkF3j)+N}b]Ź~SqTl5k9t#X$ \)s͍%_gGk rk7ȷP>DDQǢr+Em$P+8ze=Һr-SFm缁/i1s4O2&(ȟȉ\覮o>.FAt{N?'hRN,εj V ;I29ӐkjF5e%7K5rVfMZN|'Lmd_;1#q<1Wi"'s~ ~%dZ}epܾy?_8z?D.SV¼:?ow0+2G2n]2F1]B-Ns®8KXze=ҷ!"eO Yp+xze=ң FM|?CsT"tJuvEQK2@[8/aV^VʡYա9]͆Rݻ; rg1zg+t%wzƚ vbҲ49M;q^Y~(x$"]=#VbB/2qI]gMEv8W7FqcILHVw<WLj3$*G=(EJ?oŃzv٦|}y8KG~}?O;5vgMt,G^84xO@?jdsk^{7 صv2^]@ا5ViyYEfKcs~/T8}QP=  Iy0yD(D$ 袊@[Mk mS #pʌy^dž?&IsZR7&ݍ(QQ_u1<T4#B;BԪX~=+̟.~;y_]覮"h7vvIb| ]:6A2uM}\w>o_lk{=ͣy`ASsgwVޝZ\ϓ ͩI%YT,,8R'L6*&ҌϚ}.k3_j=_JZts01үi;k}zU¿4]TʱF3"W\rXc+8'xWhiy-5Ydaϣ)|mvy&r~ ȌݺP~z cp]<3J1u!-&כZ:S"_pŐj1[_K-͘t>cZ܌d\}+!DM*7d=觗:&{qa=CJU+hT0ǞqZɆ ;.}u'mmҾ ڋop9<Ҹ~P;yڷ5)ky0BvbI88¶?>oɂL{I~MĤ>Gq-Ťʹ>*fD݃FJNm-tx/] ^)9#b#b#APx#2v<  D W8OZƟ"x?)ŧJTJ֪V'fht4? MX~*Řo{=akDסѷKgcVE d`oJ.d6p30pxSOǯ \V{Cou0Ɔ##lOnF= >+RN<ߟ靤n#BʁQrHw$ ǺIeşps>Ӓ9Q->$U`J6F8e8 :%6IOOҸkr9|.JJvk[QrHw$ xt/%ؒG[_6+P?7iWmVm )28LZoc F?oa=?Jg'\5J_(P Zki7Ʋ 8#G(ßFR? =QHYUI+E"FĄ_۶1ǩ'l!M?ڷOEfZΓcx6E5͜7mn$ , ZU(I[BtB[f Y^,%LI\ޜZUcO$)E8;BfUMSPIo5)Hy0 E,@8bVe(a/DO2E-hꚄZNyN@ȱX)bHȉ[襮^R̿&.Q\ ( jjv<*<)6<CltugP;tЩ>;1ph91+gޝ.zrkuRovf?oa=?J|cRg\\y}h9ϛx>f1O)Oq^_X'Gx%':F*J*ÎIw)v::J1'?Ї/kVr@ <88гM}Et.1>uvs7j/սOS5)F.mJI@ע5jW>( tZRQ'dd`qW%hZm0AI92ۙpA9bWhD He<bKdO/_Hkt˧vB򭌃;z?Pov 6٬.g˓{I`mb cWZ5GS򼟶\qݳ{p3}q_Yѿ/&B+B΍4Sl:hڶ.ѓV寋񕞻MqFg@Saw:SPi fTyL_> dyqt'_W"h/¿,M>TZVivc.ζ7O kf;c5֫-І6(Ůnb$J1BXSɞJ4vJqJ~/¿,G!~gFʟ'uo5k>|;^u ڮG$}9PN85H(dtL0Xe_݊۸x< :7E_Yѿ/&y#&mv_^VϞO`| _g.g($@QqjIIZ}xMVh|f9-#x H`29/ xf]2K(ٝJI$O9B+B΍5Qϰ1$ծ1{)[sE "?hSVVgh<*7t" n5:ċ۽..n`RFmf i#n[|/¿,G!~gF㡚`ijb%Mɷ8I+GQ}#i:Jp"YэҘG^xMr|[ioiΏ4G&䲳?y28Rq=3ʰ :7E_Yѿ/&8 =ERu~}t՛<}<}*g@7ְjƄ#_].嶫C㑜s_Yѿ/&B+B΍4,o8I-o]-yKi/kFI#-6˗ Jsdv>0|x)5;Rx$b9|O3䎰 k%VA,q,sIn϶p8 U?}_ocv8\VeZ],^kvOFi4szl4{eygbH$7, `?ԞI=ue.]}y2.Y#-#dy/ond! ˖69]6:dfp*ɫ$]_qV0[xWsYG\˱{Kݜ=y\|# k/rIKonlP&nvMq=O~ 6Io7wu38UCP/(@/crFQEk1.⎭+e0GB&,WTAk|MKrcb 9[w_[7l̷ pw1|\@1չY'Z\,1y ƽs' 2p4Vj_vh9Fn-ūjnp#$#?Q%2*ߨ6Cy岪wuT?>n:ξnfLn9[T[UOWV4XMܾo#0q!RI<G宭isO~_ȶY!B22;ۮ+$3ZHRVO|O-KoNs!$yUܾW6csӯ5j9\Uq>o-oo#sm9"~)TI!' GA|Cl|kMΖڄDD֪' p3To>\o4SD]F)  n~\sQ)$oɷ}_- كQ+XFsvJG߽_سw|-*`/ *s "Z2VHH$ ⶂ8 % qaU Lj,%z/̕tAxҦUhѓ&`рArcO$R֏AugoqbG &c~:$s_7~#5ǝ;W>Sq 7Uj-[wߵ^}G8Xݻ1 rg?:)> mM>oc%86+1܃$Kzݜƹ,01x*J"uFb`b=JJ_T.fꚄZNyN@ȱX)bH,+?I 񦪨֩"ĴFPV=q^Z!,xkka #~Bu)].exb8v$C%pHPE[Tm־+(%y3۱grŋ /~by2pB5^v_!{ص'%Uj+Q߇:gĺpiNu4nI؝pAe9*}jF1vAEVc ( ( ( ( ( ( ( ( ( (8_xOK\p%t#a&a]2N1/ ;iw@繷m̒lh![$VI^o;]7qw:}IwCՐm,u 4?C'T]] 4?C'T]] 4?C'T]]`|;8i$סa1RW 10Ofv_ &gΛncM]ހmA/HHw2.AՔEa_ZfI5`$v' :3I5OZZ]Z_iy=*[/$̌"qnz)nmS5Sh.$m$`BʩG?|1]ZݦB9I]%"68tt  B suO[j1̭ouCH =eO KwZL9Zۡ(ÆԑH I'T]G SCt?MtP?'T]G SCt?MtPG_i[#G3g{|ݝ/⣆G#4Qlg[Co"%&xn6lA5~{N\G"!9'z2Ō|~<:?:|Zdw۰݆q)23@;/3gM1.@6 i$A; ˠ 3km)dEp$[i*?jniwNii,lo22lV&gXt۸/lNeIdfMˑBGP}EX*h.OЩ& (*h.OЩ& (>iג[\xkJ jq7Nh6 &r?Ѣc:hyT)3#q3eXTՍ7DpxSMpwzٙ Q,jXT23sê|3ޱeJz} .-i񌲑#*`0^ -m7]֝qjeO%*-@I X#]. 4?C'T]] 4?C'T]]jz?mgn$9$2MS>iג[\xkJ  --" K˹RHndRpLm ~H25H\Gibخ605e ̑m*fV p5'gï5n|?ݞcvw{A%X"KM>w txHY0PEn}plKg_|gt:A<B?  k9A<B?  k9=Kmk ;"RY$lDBp yn-Q5ݓDdP!(t?ƹ4'_oN L򪔶F7*]UKdneopA-OZm+;]fHp1B͸NhB%tHY<3in+Ď"ѝuV.#4lWk}MoHh6l +8𮭦֩{j3w2ė+31bl"3O,vZi #c[FpLɀ̥z(?  h*h.  h*h.#>K%-L! s yukwYY;{_&[$,o0*";  eۼ:j::٤ \1`HHsR0/%]>^JNFE2Ck[M- It[gIV:!jf`K [M߈.5 H[H5&U:pd'ka`?N:K xQ@'MH T`AHA'T]G>o/I#{]Ouee`GG   h*h.  k?9Enn4a XrXdk֬Լ3ji6WQY 3y Lavu|7t:m7wzy࿻I" !ȸ@N]VPAeۼ:j::٤ \1`HHsR0[M.I-/4We-fFRB J87=մۯZxPE{TQekxC@vhF *xd|1]ZݦB9I]%"68tt  B \*h.)<7#95{{4s(BQ ##(*h.OЩ& (*h.u~IǪhw6sJRL:+cK}њ'ym"h%BG"WR0AO w,pYT{X,p{𠳢{H ḷIGtwvOGR@ ,a砓:$,]ic=7F;8ai>ơirI$ʶN,bL3 '][M5RV-,-5ge.Wf6bD=d.-soo,(`^dS [, +A%X"KM>w txHY0PE{%QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE٠F[Mk&4?nJFIFC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222o" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( *\ILIڊ cSuyn R_at7B&Wp;FG A98QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEcSnaguuC nsld2HXfi؛IMwQfU B@vP'$Ԭ`Kx`بSm$,ĖUGOex{C,Ek]sj9{T\6_]=ߛ/GS=s=tP?C~lGOeQ@^ZV0Y܇ȍG-;\+SS=s=nM7(xu +Sp{ I@#ڧzz??s?͗#AEsj9{T\6_]=ߛ/GS=s=tP?C~l?Zuy|a[xerwHÌppC E<ϾVUm ;UFO`j{T\6_G#ڧzz(S=s=j9렢9GOe=ߛ/G?s?͗#^ZV0Y܇ȍG-;\+ dV6v<ϲ[[ghO_SZPo޻?|Mz_6y[u (QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?g%YU?(z?mtQEQEQEQEQEQEQEQEQEQEQEQEpz>&/m뼮SmwY~QP+Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sPXۺ+*FAEPEPEPEPEPEPEPEPEPEPEPEPo޻?|Mz_6y[u (QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?g%YU?(z?mtQEQEQEQEQEQEQEQEQEQEQEQEpz>&/m뼮SmwY~QP+Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sPXۺ+*FAEPEPEPEPEPEPEPEPEPEPEPEPo޺ ^OOF̹i_nvI8I\Ƨ Kz<"'ml~r("((((((((((((((((((((((((((((((((((((((((?(z?mtCan(((((((((((OZm]K{itUdgR;EH81#'nḿ$Bc#2T\?Ú|kCgSJ,lucqڀ9}w]l>#ך'm5$nUڤ:<"'mO@ޗMx/DO2E-w(J ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (3=wG&/m_eZ?|Mz_6A<=`o0?O6 ,άaHԀYr{dzԕu#ޓ`k[8r/4Š(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQECan렮~J`w@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ Kz<"'mMkRa#D8Fk+8AѮ?_i&aF%{9ab2*\9uϧ *`[yR-IK' }4y0hάZKԃ1w?]^OOվ9YܨQp.8cÏw,˪$"#VbB/meԓޞ; :|Jւ{6lEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQECan렮~J`w@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@46ʐ;X*tn dEckz^ZZ=5\)X5pۣ̩8}aX=FQ{[Xnmg:6FA+˵_+׬W}f_[YD(W1Mkj&(L >R #azb-N:2:>#ɩƠB!x# 17]ˤA.$[|Nr#8H\S^Lἁ "2g8ٝ{x'{_]Z'˒Qj[4*y3NA7@aWx:KT%muiBňig2I'ֽwF4\c}/~=|kp+((((((((((((((((((((((((((((((((((((((~J`w]sPXۺ(((((((((((s2$ $r͎` =qkѴM[vM ^,B9] /.AocMܱ n8)GA [ F#;9f$$޼U°z-zwWuo~dQ\%>%SQWq\>%SQWq]wLzQ\%Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@k_i?+;~=suӾq:t4kp[veuw-gͻ4:g}MuCan((((((((((((_+׬W?_VEX̕0+?j?4+?j?4+.P+((((((((((((((((((((((((((((((((((((((~J`w]sPXۺ((((((((((((}WG Ck+{%|L((*2*2˿"c((((((((((((((((((((((((((((((((((((((((+*FA\=gV6: ( ( ( ( ( ( ( ( ( ( ( (#aZG_ (J8}3Jo_#L}3Jo_#L⻱ (J ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ? ѷuW?g%YU(((((((((((('~?^^GO|F`5;wh ʭ&#`\B&QEpyy;"i3m úZ9ȍ?/s^^UWשJQ^YaEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\=gV6 ? ѷtQEQEQEQEQEQEQEQEQEQEQEV~ߛ8>pq8=} \n巸9 I]H#VNCoƟmi5^׉Ey +F+8]y'gXWׁjx)Q^Z zyV''m^^mpQ>(((((((((((((((((((((((((((((((((((((((?(z?mtCan(((((((((((('t FnOWO kpLH(O*O`mkʴ81?jZso{aEWhQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQECan렮~J`w@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@?*7 u{xW4'ܰޒQEyEUWוh?q'b6/%Š((((((((((((((((((((((((((((((((((((((((+*FA\=gV6: ( ( ( ( ( ( ( ( ( ( ( (<+UoIZWѿhO'ӫka%#H(^^?*7 u{z,7D~)Q^Qgh?q'b6Z zzKIFt+4 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ? ѷuW?g%YU((((((((((((#T7Ćd͊,FV$Ur;zWW 뚖Sβ5L@SnIMHw5VJZ+n'Ӿ1|@˹DkPpx<ֽ'1bbm0yD =82'ku*?YDA]υHfOixzwX S+ Š(j?vqy^n{}͙#C~q^qj*]?*@(((((((((((((((((((((((((((((((((((+*FA\=gV6: ( ( ( ( ( ( ( ( ( ( ( (9sşHkgc+Z((Omp&{fr ̊xF|>i6ua`O\W"xDy|9x2Kp3]>2I#(߻|i:IZ͇POiSɂu`OrQη;{@#<" w+2j\"eS p7lq.y' ``}&ǫ6scHyc Ku$$f6jP^A,鐋lEiyrvssK֠'iz{_kKӾec$Ng%Ǖlۻv|<vgzחAΟ.uKf%O*б6۹x6O'м_[_[*]jRGmFh*$["9RD$W IӄUHeku Mcg'\5\K8h\nԕLc=]l瞕{*N?4iі-t dcTk2\HO@fcyl_ѿm/#QW f}VڼU@m5jWoK՗Q1ܢh6/J[u됶-oVF]D@T|˖Iy_.vVڼU@m5jWoK}^} VڼU@m5jWoK}^} VڼU@m5jWoK}^} VڼU@m5eltM7I;Qy q[ (\(?x7 j>h6 ?7(?x7 j>h6 ?7(?x7 j>h6 ?7(?x7 j>h6 ?7(?J[u됶-oVF]D@T|˖NڼU@m5WuGFGڼU@m5WuGFGڼU@m5WuGFGڼU@m5WuGltM7I;Qy q[ Ox7 j>>+^*6ix7 j>>+^*6ix7 j>>+^*6ix7 j>>+^*6i_ŷZ iLaTmED /H lWuGaEa_ѿm/#QFGQ0Ea_ѿm/#QFGQ0Ea_ѿm/#QFGQ0Ea_ѿm/#V^Ndt ^C5\5`Iꠒ >>ŠW _F^*6iϺasrW _F^*6iϺasrW _F^*6iϺasrW _F^*6iϺasr_ŷZ iLaTmED /H l}_ѿm/#Qy_.nQXjWoK}_ѿm/#Qy_.nQXjWoK}_ѿm/#Qy_.nQXjWoK}_ѿm/#Qy_.nQ\~Ndt ^C5\5`Iꠒ W _F(\ܢh6W _F(\ܢh6W _F(\ܢh6W _F(\ܮ~J`wR}_ѿm/#UMBOgR2*[\4Wͻs"s1L ?ɅΪ(QEQEQEQEQEQEQEQEQEQEeMY𮯥۴k=񴄅 TN2} gٍCTU>wgeqnVHYi^|`[;ˌ󎒹ÿ9i~mKֵ+4$C`q*!_k=YCan렠/~? \ \/~(OR3[ƩjV03Y.Iw88=KJEW)kOᤚV,Yy$pQ說0B+̰͝Z2Nv"r7zmj;/MͪE[}ݯ.Hpx'~>ÿ9ijWt}V6,|9N; WU;&W#`plGV? \gc+Z(7KszCt?{{ǫ9Ct?{{Ǫ9)qqH^I$($6I\[{XtK'H?0pXr =<k5[t8*9?izZ/]\@$[8N0,NР@]yp;^pĸVP|!rKquV?>Io7n4e݌gMt^߾/Iﻻy=:sZW?2G@/~? \ \/~(lxSEk[dΈ^UbB&kI$v''$1օxQֽ ( ( ( ( ( ( ( ( ( ( (3 G<*ǙKt~38kB(((OB+[Js%ٜgp:z Т1,%QqmR0gXOιI7͹5EekAM6 s628 0`Z:nn^ic9vK` aW(((BpF'tTy̪IPORf v}jJ(.Zouoei]˘DYaa#tM54|j'n9d W;JԢ+YqZAikvCb4\Np2I?X(*9[{ PȡԌA8IEe^u4M6u@%ժJrN`N2Iǹ5qip&"%jT9@P1ڵ( -c_*O~ΞwקEQEQE{1;neRJz 1Qagq> ~}c;pxP\~a4}-'^H=*卅gd0F#E$G$Պ(((9[{ PȡԌA8S-[򿵴'>_]qg (>B5* MG]FF $c Gʱ߳vnuhQ@Q@Q@F nbNT@ԔP]>DmM1j.À0 F? h0siqhji>mNrɌ$vEW,㳰<h$(dEQEU=KIuu4KìwPdgEc'Gپcnq/<5&slkTupP0=jQ@Z}iV7mnfG=rb20I# hQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE΍(` H/ 0|DTimes New RomanP5000Wo 0DArialNew RomanP5000Wo 0|" DWingdingsRomanP5000Wo 0|0DMicrosoft Sans Serif00Wo 0|"@DCourier Newns Serif00Wo 0|1 b  .  @n?" dd@  @@``   &\$6 e / B# ' W #-(#       E !S !# "W./  (4479;<(#@B% E*HKL BL :,B7Ak% C9'E2hR$IV TlL+B]8R$(2uZSr|]8b$|@|n˪{L~ q8R$b㜸Jn4l6qnv8b$Lf'Dvc $`8b$~w+i:YUE8b$}+vW־:S8b$JXqN@uhϣсQ 8b$iA:f"X9v#8b$B:n7%*r 8b$bx#mۦ2UP8b$; lT3`;m^+8R$"(8ISp'<,fs8R$Mk&4?n[8c $0e0e     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" 3ff@ff =ʚ;Sk8ʚ;g4KdKd0$v^ppp@ <4!d!d 0<6<4dddd 0<6 <4BdBdP. 0~h___PPT2001D<4X___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography N___PPT90(? %oDIAnalyzing OS Fingerprints using Neural Networks and Statistical MachineryJJ$YJavier Burroni - Carlos Sarraute Core Security Technologies EUSecWest/core06 conference ,Z! = , nz1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training{{{  z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training.{( j{  pOS Identification xOS Identification = OS Detection = OS Fingerprinting Crucial step of the penetration testing process actively send test packets and study host response First generation: analysis of differences between TCP/IP stack implementations Next generation: analysis of application layer data (DCE RPC endpoints) to refine detection of Windows versions / editions / service packs `f4Cf4Cy q&Limitations of OS Fingerprinting tools' jSome variation of  best fit algorithm is used to analyze the information will not work in non standard situations inability to extract key elements Our proposal: focus on the technique used to analyze the data we have developed tools using neural networks successfully integrated into commercial software LKKKK6 z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training.{$N{  sWindows DCE-RPC service  DBy sending an RPC query to a host s port 135 you can determine which services or programs are registered Response includes: UUID = universal unique identifier for each program Annotated name Protocol that each program uses Network address that the program is bound to Program s endpoint R->k# t@Endpoints for a Windows 2000 Professional edition service pack 0AAA uuid="5A7B91F8-FF00-11D0-A9B2-00C04FB6E6FC" annotation="Messenger Service" protocol="ncalrpc" endpoint="ntsvcs" id="msgsvc.1" protocol="ncacn_np" endpoint="\PIPE\ntsvcs" id="msgsvc.2" protocol="ncacn_np" endpoint="\PIPE\scerpc" id="msgsvc.3" protocol="ncadg_ip_udp" id="msgsvc.4" uuid="1FF70682-0A51-30E8-076D-740BE8CEE98B" protocol="ncalrpc" endpoint="LRPC" id="mstask.1" protocol="ncacn_ip_tcp" id="mstask.2" uuid="378E52B0-C0A9-11CF-822D-00AA0051E40F" protocol="ncalrpc" endpoint="LRPC" id="mstask.3" protocol="ncacn_ip_tcp" id="mstask.4" ,Z ZZ-ZZ-ZZ, --  &>Neural networks come into play&   ~It s possible to distinguish Windows versions, editions and service packs based on the combination of endpoints provided by DCE-RPC service Idea: model the function which maps endpoints combinations to OS versions with a multilayer perceptron neural network Several questions arise: what kind of neural network do we use? how are the neurons organized? how do we map endpoints combinations to neural network inputs? how do we train the network? F u$Multilayer Perceptron Neural Network%  v 3 layers topology Input layer : 413 neurons one neuron for each UUID one neuron for each endpoint corresponding to the UUID handle with flexibility the appearance of an unknown endpoint Hidden neuron layer : 42 neurons each neuron represents combinations of inputs Output layer : 25 neurons one neuron for each Windows version and edition Windows 2000 professional edition one neuron for each Windows version and service pack Windows 2000 service pack 2 errors in one dimension do not affect the otherZZ!Z/ZZ0Z"Z5ZZ0Z!/0 " 50 w What is a perceptron? bx1 & xn are the inputs of the neuron wi,j,0 & wi,j,n are the weights f is a non linear activation function we use hyperbolic tangent tanh vi,j is the output of the neuron o$    $$((,,00%4488<< x Back propagation ZTraining by back-propagation: for the output layer given an expected output y1 & ym calculate an estimation of the error this is propagated to the previous layers as:z3K03  '0  y  New weights  -The new weights, at time t+1, are: where:&.. z Supervised training CWe have a dataset with inputs and expected outputs One generation: recalculate weights for each input / output pair Complete training = 10350 generations it takes 14 hours to train network (python code) For each generation of the training process, inputs are reordered randomly (so the order does not affect training) F1u1wD {"Sample result of the Impact module# Neural Network Output (close to 1 is better): Windows NT4: 4.87480503763e-005 Editions: Enterprise Server: 0.00972694324639 Server: -0.00963500026763 Service Packs: 6: 0.00559659167371 6a: -0.00846224120952 Windows 2000: 0.996048928128 Editions: Server: 0.977780526016 Professional: 0.00868998746624 Advanced Server: -0.00564873813703 Service Packs: 4: -0.00505441088081 2: -0.00285674134367 3: -0.0093665583402 0: -0.00320117552666 1: 0.921351036343 PPCCCCCCC |Sample result (cont.) Windows 2003: 0.00302898647853 Editions: Web Edition: 0.00128127138728 Enterprise Edition: 0.00771786077082 Standard Edition: -0.0077145024893 Service Packs: 0: 0.000853988551952 Windows XP: 0.00605168045887 Editions: Professional: 0.00115635710749 Home: 0.000408057333416 Service Packs: 2: -0.00160404945542 0: 0.00216065240615 1: 0.000759109188052 Setting OS to Windows 2000 Server sp1 Setting architecture: i386<PC&CC 'Result comparison Results of our laboratory: wIntroduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training0x" )+$$x  ~ Nmap tests  xNmap is a network exploration tool and security scanner includes OS detection based on the response of a host to 9 testsyyy Nmap signature database Our method is based on the Nmap signature database A signature is a set of rules describing how a specific version / edition of an OS responds to the tests. Example: # Linux 2.6.0-test5 x86 Fingerprint Linux 2.6.0-test5 x86 Class Linux | Linux | 2.6.X | general purpose TSeq(Class=RI%gcd=<6%SI=<2D3CFA0&>73C6B%IPID=Z%TS=1000HZ) T1(DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) T2(Resp=Y%DF=Y%W=0%ACK=S%Flags=AR%Ops=) T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) T4(DF=Y%W=0%ACK=O%Flags=R%Ops=) T5(DF=Y%W=0%ACK=S++%Flags=AR%Ops=) T6(DF=Y%W=0%ACK=O%Flags=R%Ops=) T7(DF=Y%W=0%ACK=S++%Flags=AR%Ops=) PU(DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)@PPCC Wealth and weakness of Nmap <Nmap database contains 1464 signatures Nmap works by comparing a host response to each signature in the database: a score is assigned to each signature score = number of matching rules / number of considered rules  best fit based on Hamming distance Problem: improbable operating systems generate less responses to the tests and get a better score! e.g. a Windows 2000 version detected as Atari 2600 or HPUX & Ls({s({ /'Symbolic representation of the OS space'  WThe space of host responses has 560 dimensions Colors represents different OS families W  1%Picture after filtering irrelevant OS%  OS detection is a step of the penetration test process we only want to detect Windows, Linux, Solaris, OpenBSD, FreeBSD, NetBSD&7I7I  0(Picture after separating the OS families(   2*Distinguish versions within each OS family*  The analysis to distinguish different versions is done after we know the family for example, we know that the host is running OpenBSD and want to know the version 6QSQS  Hierarchical Network Structure zAnalyze the responses with different neural networks Each analysis is conditionned by the results of the previous analysis{ ):So we have 5 neural networks&  One neural network to decide if the OS is relevant / not relevant One neural network to decide the OS family: Windows, Linux, Solaris, OpenBSD, FreeBSD, NetBSD One neural network to decide Linux version One neural network to decide Solaris version One neural network to decide OpenBSD version Each neural network requires special topology design and training! OpenBSD version network is trained with a dataset containing only OpenBSD host responses `o3Yo3Y Neural Network inputs Assign a set of inputs neurons for each test Details for tests T1 & T7: one neuron for ACK flag one neuron for each response: S, S++, O one neuron for DF flag one neuron for response: yes/no one neuron for Flags field one neuron for each flag: ECE, URG, ACK, PSH, RST, SYN, FIN 10 groups of 6 neurons for Options field we activate one neuron in each group according to the option EOL, MAXSEG, NOP, TIMESTAMP, WINDOW, ECHOED one neuron for W field (window size)a( <)=-%a( <) =-%  Example of neural network inputs! For flags or options: input is 1 or -1 (present or absent) Others have numerical input the W field (window size) the GCD (greatest common divisor of initial sequence numbers) Example of Linux 2.6.0 response: T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) maps to:WY!4 WY!5 C C Neural network topology Input layer of 560 dimensions lots of redundancy gives flexibility when faced to unknown responses but raises performance issues! dimension reduction is necessary& 3 layers neural network , for example the first neural network (relevant / not relevant filter) has:@ZZfZf  Dataset generation PTo train the neural network we need inputs (host responses) with corresponding outputs (host OS) Signature database contains 1464 rules a population of 15000 machines needed to train the network! we don t have access to such population& scanning the Internet is not an option! Generate inputs by Monte Carlo simulation for each rule, generate inputs matching that rule number of inputs depends on empirical distribution of OS based on statistical surveys when the rule specifies options or range of values chose a value following uniform distribution%='+k3-%='+k  3-)  z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training"{V%${  Inputs as random variables We have been generous with the input 560 dimensions, with redundancy inputs dataset is very big the training convergence is slow& Consider each input dimension as a random variable Xi input dimensions have different orders of magnitude flags take 1/-1 values the ISN (initial sequence number) is an integer normalize the random variables:%^84G %^44G V Correlation matrix WWe compute the correlation matrix R: After normalization this is simply: The correlation is a dimensionless measure of statistical dependence closer to 1 or -1 indicates higher dependence linear dependent columns of R indicate dependent variables we keep one and eliminate the others constants have zero variance and are also eliminatedL"rJxX 3Example of OpenBSD fingerprints  Fingerprint OpenBSD 3.6 (i386) Class OpenBSD | OpenBSD | 3.X | general purpose T1(DF=N%W=4000%ACK=S++%Flags=AS%Ops=MNWNNT) T2(Resp=N) T3(Resp=N) T4(DF=N%W=0%ACK=O%Flags=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=) Fingerprint OpenBSD 2.2 - 2.3 Class OpenBSD | OpenBSD | 2.X | general purpose T1(DF=N%W=402E%ACK=S++%Flags=AS%Ops=MNWNNT) T2(Resp=N) T3(Resp=Y%DF=N%W=402E%ACK=S++%Flags=AS%Ops=MNWNNT) T4(DF=N%W=4000%ACK=O%Flags=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=)ZOCCGCGCG CG9CNCCGCGCGCGCGCG8C  .  +      $ $ }    r 5/Relevant fields to distinguish OpenBSD versions/   67Relevant fields to distinguish OpenBSD versions (cont.)7   "Principal Component Analysis (PCA)# Further reduction involves Principal Component Analysis (PCA) Idea: compute a new basis (coordinates system) of the input space the greatest variance of any projection of the dataset in a subspace of k dimensions comes by projecting to the first k basis vectors PCA algorithm: compute eigenvectors and eigenvalues of R sort by decreasing eigenvalue keep first k vectors to project the data parameter k chosen to keep 98% of total varianceL.)+)& 7$Idea of Principal Component Analysis$  \Keep the dimensions which have higher variance higher eigenvalues of the Correlation Matrix &/./.\  !!Resulting neural network topology" ~After performing these reductions we obtain the following neural network topologies (original input size was 560 in all cases) "Adaptive learning rate pStrategy to speed up training convergence Calculate the quadratic error estimation ( yi are the expected outputs, vi are the actual outputs): Between generations (after processing all dataset input/output pairs) if error is smaller then increase learning rate if error is bigger then decrease learning rate Idea: move faster if we are in the correct directionT?I_6WI_6q *%Error evolution (fixed learning rate)&  +(Error evolution (adaptive learning rate))  #Subset training  Another strategy to speed up training convergence Train the network with several smaller datasets (subsets) To estimate the error, we calculate a goodness of fit G if the output is 0/1: G = 1  ( Pr[false positive] + Pr[false negative] ) other outputs: G = 1  number of errors / number of outputs Adaptive learning rate: if goodness of fit G is higher, then increase the initial learning ratez60H[0H $&Sample result (host running Solaris 8)' Relevant / not relevant analysis 0.99999999999999789 relevant Operating System analysis -0.99999999999999434 Linux 0.99999999921394744 Solaris -0.99999999999998057 OpenBSD -0.99999964651426454 FreeBSD -1.0000000000000000 NetBSD -1.0000000000000000 Windows Solaris version analysis 0.98172780325074482 Solaris 8 -0.99281382458335776 Solaris 9 -0.99357586906143880 Solaris 7 -0.99988378968003799 Solaris 2.X -0.99999999977837983 Solaris 2.5.X !P"PPgPPP#CCBC C CCC -Ideas for future work 1 8Analyze the key elements of the Nmap tests given by the analysis of the final weights given by Correlation matrix reduction given by Principal Component Analysis Optimize Nmap to generate less traffic Add noise and firewall filtering detect firewall presence identify different firewalls make more robust testsL+wJM+wJM9 ,Ideas for future work 2 This analysis could be applied to other detection methods: xprobe2  Ofir Arkin, Fyodor & Meder Kydyraliev detection by ICMP, SMB, SNMP p0f (Passive OS Identification)  Michal Zalewski OS detect by SUN RPC / Portmapper Sun / Linux / other System V versions MUA (Outlook / Thunderbird / etc) detection using Mail Headers `mU'@mU'@G 8 Thank you!    For more information about this project: http://www.coresecurity.com/corelabs/projects/ Contact us if you have questions, comments or if you want to look at the source code of the tools we wrote for this research: Javier.Burroni at coresecurity com Carlos.Sarraute at coresecurity comj)1~I)0~H8* .    0*X/`      !"#$%&'P  ` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@?d3d@  @ ` n?" dd@   @@``PR    @ ` ` p>>   rj#(  rB  <DԔ"  0v Pp  k7Haga clic para modificar el estilo de ttulo del patrn8 8/  0Ty W  kHaga clic para modificar el estilo de texto del patrn Segundo nivel Tercer nivel Cuarto nivel Quinto nivel7    l`  s *&)"iZB   c $D"j ! T~"' HAnalyzing OS Fingerprints using Neural Networks and Statistical Machinery  Javier Burroni, Carlos Sarraute  Core Security TechnologiesG # LXkAfoto_trainee"H  0޽h ? ̙33 *Diseo predeterminado 0 @#(    0' ?8  ' P*    0' x 8 ' R*  d  c $ ?Dt  '/  0I'    ' kHaga clic para modificar el estilo de texto del patrn Segundo nivel Tercer nivel Cuarto nivel Quinto nivel7    l  6d' '?_  ' P*    6' 'x _ ' R*  H  0g@ ? 3380___PPT10.c (    0+ ?8  + X*   0|+ y 8 + Z*   6ԟ+ (?`  + X*   6+ (y ` + Z* H  0g@ ? ̙3380___PPT10.6rm  0$(  0r 0 S 螃`   r 0 S Ԥ G7Q  H 0 0޽h ? ̙33y___PPT10Y+D=' M= @B + 0w(    c $P>    0 Pp QOUTLINE H  0޽h ? ̙33___PPT10i.#s+D=' M= @B + 4,@(    s *Ӄ>  H  0޽h ? ̙33___PPT10i.#s+D=' M= @B +}  P$(  r  S ۃPp   r  S ݃W  H  0޽h ? ̙33___PPT10i.@+D=' M= @B +  `$(  r  S \Pp   r  S W  H  0޽h ? ̙33___PPT10u.+D=' ̐= @B + 4,p(    s *>  H  0޽h ? ̙33___PPT10i.#s+D=' M= @B +}  $(  r  S ,Pp   r  S ,W  H  0޽h ? ̙33___PPT10i. i+D=' M= @B +}   $(   r   S MPp   r   S |W  H   0޽h ? ̙33___PPT10i.Ppn+D=' M= @B +}  $(  r  S Pp   r  S W  H  0޽h ? ̙33___PPT10i.s0f)+D=' M= @B +    !(  r  S Pp   ^  C 6Anetwork3layers'f  H| ?"/ ) S 413 neurons      H, ?"C=  R 42 neurons      H ?") #  R 25 neurons    H  0޽h ? ̙33___PPT10i.+<+D=' M= @B +}   $(  r  S @.Pp   r  S .W  H  0޽h ? ̙33___PPT10i.P4]+D=' M= @B +:   QI(  R  C *Aformula1P V  C .Aperceptronz P r  S T2Pp   r  S 3`0     <4 ?"  =Training of the network = finding the weights for each neuron>>> H  0޽h ? ̙33___PPT10i.ppw+D=' M= @B +1   H@(  r  S ,8Pp   r  S 8W  R  C *Aformula2p3 R  C *Aformula3 H  0޽h ? ̙33___PPT10i.II+D=' M= @B +     (   r   S (CPp   r   S CW  R   C *Aformula4:BR   C *Aformula5  $ ~B   HD?" = ~B   HD?" p    HhF ?"   U learning rate    HJ ?"   Pmomentum    H   0޽h ? ̙33___PPT10i.`I+D=' M= @B +}  $$(  $r $ S SPp   r $ S lTW  H $ 0޽h ? ̙33___PPT10i.~M+D=' M= @B +}  ($(  (r ( S YPp   r ( S ZW  H ( 0޽h ? ̙33___PPT10i.A`+D=' M= @B +}   ,$(  ,r , S iPp   r , S `jW  H , 0޽h ? ̙33___PPT10i.+D=' M= @B +  0;(  r  S prPp   x  c $,sT    pp  # #"&   B{ ?" p p  _2  @`  Bv ?"p p  _2  @`  B ?"p p  dNo match     @`  B ?" p p  _0  @`  B4 ?"p p  _7  @`  B ?"p p  f Mismatches     @`   B ?" pp  `14  @`   B ?"p p  _8  @`   Bܳ ?"pp  kPartial matches  @`   B( ?" pp _7  @`   B ?"p p _6  @`  B ?"pp kPerfect matches  @`  B  ?" pp xDCE-RPC with neural networks  @`  B@ ?"p p nOld DCE-RPC module  @`  B ?"pp T  @`B  Bo ?"ppzB  <1 ?"ppzB  <1 ?"ppzB  <1 ?"p p zB  <1 ?"p p B  Bo ?"p p B  Bo ?"pp zB  <1 ?"pp zB  <1 ?" p p B  Bo ?"pp H  0޽h ? ̙33___PPT10i.-S~+D=' M= @B + 4,@(    s *>  H  0޽h ? ̙33___PPT10i.#s+D=' M= @B +~1  00P<D<%0(  <r < S Pp   x < c $MT  . ' D< #":. '  ,< B ?"  aSYN  @` +< B ?"  fopen TCP     @` *< B(  ?" eTCP * 6  @` )< B ?"' bTSeq  @` (< B ?"  V  @` '< B ?"  h closed UDP     @` &< B8# ?"  aUDP  @` %< Bp+ ?"'  `PU  @` $< B2 ?"   k URG, PSH, FIN  @` #< B; ?"  h closed TCP     @` "< BC ?"   aTCP  @` !< BQ ?"'   `T7  @`  < BY ?"   aACK  @` < B[ ?"  h closed TCP     @` < Bc ?"   aTCP  @` < B\ ?"'   `T6  @` < Bhs ?"   aSYN  @` < BP{ ?"  h closed TCP     @` < B܃ ?"   aTCP  @` < B ?"'   `T5  @` < B ?"   aACK  @` < B ?"  fopen TCP     @` < B ?"   aTCP  @` < BT ?"'   `T4  @` < BT ?"   pURG, PSH, SYN, FIN  @` < B ?"  fopen TCP     @` < B ?"  aTCP  @` < B ?"'  `T3  @` < B0 ?"  fno flags     @` < B ?"  fopen TCP     @` < B ?" aTCP  @`  < B ?"' `T2  @`  < B ?"  k SYN, ECN-Echo  @`  < Bp ?"  fopen TCP     @`  < Bt ?" aTCP  @`  < B ?"' `T1  @` < B ?"  pwith flags enabled  @` < BX% ?"  eto port  @` < B- ?" i send packet     @` < B5 ?"' bTest  @`B -< Bo ?"'zB .< <1 ?"'zB /< <1 ?"'zB 0< <1 ?"'zB 1< <1 ?"'  zB 2< <1 ?"'  zB 3< <1 ?"'  zB 4< <1 ?"'  zB 5< <1 ?"'  zB 6< <1 ?"'B 7< Bo ?"'B 8< Bo ?"''zB 9< <1 ?"zB :< <1 ?"zB ;< <1 ?"  B << Bo ?"H < 0޽h ? ̙33___PPT10i.pq'+D=' M= @B +}  `D$(  Dr D S h.Pp   r D S .M  H D 0޽h ? ̙33___PPT10i.`CL+D=' M= @B +  &pH(  Hr H S UPp   r H S VW  B H TD?"% #  H H 0޽h ? ̙33___PPT10i.н+D=' M= @B +(L  KK\K(  r  S @\`P  r  S \Pp    8  t c T  - H?"T . H?"`   / H?"P 0 H?"`   1 H?"T 2 H?" 3 H?" P  4 H?" $ 5 H?"$ 6 H?" 7 H?"P 8 H?"p  T 9 H?"p   : H?"  d ; H?"P p  < H?"@ = H?"  D > H?"0t ? H?" d 48  D e  D  $ H̙?" 4  % H̙?"0 td  & H̙?"@T ' H̙?"@ ( H̙?" Td  ) H̙?" $ * H̙?" D$ + H̙?" , H̙?"T J H̙?"P T  K H̙?"   L H̙?" 4  M H̙?"0t N H̙?"` O H̙?"Pt 8    f    H?"p d   H?" d  H?"    H?"0P t   H?" d   H?"@p  H?"`  H?"`P     H?"` $  ! H?"@ " H?"00 tt  # H?"PD E H?"p D  F H?"   G H?"   H H?"DT I H?"p@ [ H?"   \ H?" 4  ] H?"P T  ^ H?"  4  _ H?"0Ttt 8  @  g    H?"` @    H?"P 4   H?"` `   H?"p p   H?" 0 t   H?"@  H?" $   H?"    H?"`   H?" @   H?" d D   H?" P   P H?"p Q H?" @ d  R H?" d  S H?"P   T H?"P    U H?"  V H?" T  ` H?"` $  a H?"@ `  b H?"p  R 8 PD  s    N?"  N?"@$  N?"`  N?"PD  N?"0Tt  N?"P   N?" d4   N?"0@t   N?"4T @ N?" A N?"P B N?"4 C N?"` D N?" W N?"`D X N?"`$ Y N?"@ Z N?"@ D  h H?" D  i H?"pp j H?"$r8    @ k H?"@ d l H?"0 td m H?"4D n H?"4 o H?" 0 t p H?"TT q H?" D  r H?" 4  t H?" 4  u H?" v H?"` D  w H?" T  x H?" 4  y H?"0t4 z H?"@p { H?" @$  | H?" D  } H?"P ~ H?"    H?" ` 4   H?" d   H?" d   H?"`    H?"@    H?"P    H?"  H?" D   H?" T   H?"p  H?"    H?"  dH  0޽h ? ̙33|:  ,:$:k9(  r  S {`P  r  S |Pp    F  t   T   H?"T  H?"`    H?"P  H?"`    H?"T   H?"   H?" P    H?" $   H?"$   H?"  H?"P  H?"p  T  H?"p    H?"  d  H?"P p   H?"@  H?"  D  H?"0t  H?" d 4F  D    D   H̙?" 4   H̙?"0 td   H̙?"@T  H̙?"@  H̙?" Td   H̙?" $  H̙?" D$  H̙?"   H̙?"T ! H̙?"P T  " H̙?"   # H̙?" 4  $ H̙?"0t % H̙?"` & H̙?"P F    '    ( H?"p d  ) H?" d * H?"   + H?"0P t  , H?" d  - H?"@p . H?"` / H?"`P   0 H?"` $  1 H?"@ 2 H?"00 tt  3 H?"PD 4 H?"p D  5 H?"   6 H?"   7 H?"DT 8 H?"p@ 9 H?"   : H?" 4  ; H?"P T  < H?"  4  = H?"0Tt F  @  >   ? H?"` @  @ H?"P 4  A H?"` `  B H?"p p  C H?" 0 t  D H?"@ E H?" $  F H?"   G H?"`  H H?" @  I H?" d D  J H?" P   K H?"p L H?" @ d  M H?" d  N H?"P   O H?"P    P H?"  Q H?" T  R H?"` $  S H?"@ `  T H?"p   F PD  U    V H?" W H?"@$ X H?"` Y H?"PD Z H?"0Tt [ H?"P \ H?" d4 ] H?"0@t ^ H?"4T _ H?" ` H?"P a H?"4 b H?"` c H?" d H?"`D e H?"`$ f H?"@ g H?"@ D  h H?" D  i H?"pp j H?"$H  0޽h ? ̙33:  99jH9(  x  c $Pp    F  t  ` 4 D  H?"T  H?"`    H?"P  H?"`    H?"T   H?"   H?" P    H?" $   H?"$   H?"  H?"P  H?"p  T  H?"p    H?"  d  H?"P p   H?"@  H?"  D  H?"0t  H?" d 4F  D  t  H̙?" 4   H̙?"0 td   H̙?"@T  H̙?"@  H̙?" Td   H̙?" $  H̙?" D$  H̙?"   H̙?"T ! H̙?"P T  " H̙?"   # H̙?" 4  $ H̙?"0t % H̙?"` & H̙?"P F    ' d ( H?"p d  ) H?" d * H?"   + H?"0P t  , H?" d  - H?"@p . H?"` / H?"`P   0 H?"` $  1 H?"@ 2 H?"00 tt  3 H?"PD 4 H?"p D  5 H?"   6 H?"   7 H?"DT 8 H?"p@ 9 H?"   : H?" 4  ; H?"P T  < H?"  4  = H?"0Tt F  @  >   ? H?"` @  @ H?"P 4  A H?"` `  B H?"p p  C H?" 0 t  D H?"@ E H?" $  F H?"   G H?"`  H H?" @  I H?" d D  J H?" P   K H?"p L H?" @ d  M H?" d  N H?"P   O H?"P    P H?"  Q H?" T  R H?"` $  S H?"@ `  T H?"p   F PD  U   V H?" W H?"@$ X H?"` Y H?"PD Z H?"0Tt [ H?"P \ H?" d4 ] H?"0@t ^ H?"4T _ H?" ` H?"P a H?"4 b H?"` c H?" d H?"`D e H?"`$ f H?"@ g H?"@ D  h H?" D  i H?"pp j H?"$H  0޽h ? ̙33  xp(  r  S hP  r  S $Pp   $8 d D  l  ? N?"`  D C N?"4 G N?"` @  J N?" T L N?" d D $8 T n`   D N?"4 F N?"0t$ K N?"0t N N?"T R N?"PL8   k  @ N?"  A N?"@   B N?"P   H N?" $d  O N?" P N?"   S N?"p@  $8  td  m@@ $  E Nf?"P 0 t  I Nf?"   M Nf?" d   Q Nf?" T  T Nf?"0 td H  0޽h ? ̙33    L(  Lr L S hPp   r L S $MT   L T?#" ` dF  Prelevant     L T?#" ` d T not relevant     L T?#" `z 2  OWindows  L T?#" `z 2  MLinux  L T?#" `6 z 2   OSolaris   L Td?#" `s z 2 U  OOpenBSD   L T4?#" ` z 2  OFreeBSD   L T?#" ` z 2  NNetBSD ~B  L HD?" d ~B  L HD?" df ~B L HD?"Cz ~B L HD?" z ~B L HD?" z ~B L HD?" z ~B L HD?" z ~B L HD?" z I L TP̙?#" `  XDCE-RPC endpoint  L T ̙?#" `   Vkernel version  L T̙?#" `6   Oversion  L T̙?#" `s U  Oversion  L T̙?#" `   Oversion  L T0̙?#" `  Oversion ~B L HD?"3 ~B L HD?"S 3 S ~B L HD?" 3  ~B L HD?" 3  ~B L HD?" 3  ~B  L HD?"I3 IH L 0޽h ? ̙33___PPT10i.<׀+D=' M= @B +}  $(  r  S DPp   r  S W  H  0޽h ? ̙33___PPT10i.2+D=' M= @B +}  P$(  Pr P S d!Pp  ! r P S  !MW ! H P 0޽h ? ̙33___PPT10i.?+D=' M= @B +(  ''5RTR'(  Tr 7T S !Pp  ! x T c $!W)  !  & s O  RT #"--V Y ! "T B|! ?" O  ^&   @` !T B<! ?"    ^-1  @`  T B'! ?"I   ]1  @` T B.! ?"] I  ^-1  @` T B6! ?"q ]  ^-1  @` T B>! ?" q  ]1  @` T B?! ?"  ^-1  @` T BL! ?"  ^-1  @` T BM! ?"  ]1  @` T B[! ?"   ]1  @` T B|b! ?"   ]1  @` T B4j! ?"   ^-1  @` T Bq! ?"?   ]1  @` T By! ?"S ?  ^-1  @` T Bl! ?" S  ]1  @` T B{! ?"s O  ^&   @` T B! ?" s   ]F  @` T B! ?"Is   ]S  @` T B! ?"]s I  ]R  @` T B! ?"q s ]  ]P  @` T B! ?" s q  ]A  @`  T B! ?" s  ]U  @`  T B! ?" s  ]E  @`  T B! ?" s  aFlags  @`  T B! ?"s   _Yes  @`  T BP! ?"s   ^DF  @` T B! ?"s   ]O  @` T B ! ?"?s   _S++  @` T B! ?"Ss ?  ]S  @` T B! ?"s S  _ACK  @`B #T Bo ?"s Os zB $T <1 ?" O B %T Bo ?" O B &T Bo ?"s  zB 'T <1 ?"Ss S zB (T <1 ?"?s ? zB )T <1 ?"s  zB *T <1 ?"s  zB +T <1 ?"s  zB ,T <1 ?" s  zB -T <1 ?" s zB .T <1 ?" s zB /T <1 ?" s zB 0T <1 ?"q s q zB 1T <1 ?"]s ] zB 2T <1 ?"Is I zB 3T <1 ?" s  zB 4T <1 ?"s  B 5T Bo ?"Os O H T 0޽h ? ̙33___PPT10i.AТH+D=' M= @B +  \.(  \r \ S (!Pp  ! r \ S !T6  ! ^ \ C 6Anetwork3layers6 P Y \ <$" ?"6 v0  `input layer : 96 neurons 2  \ <" ?"0 *  _hidden layer : 20 neurons  \ <(" ?"v vp _output layer : 1 neuron 2 H \ 0޽h ? ̙33___PPT10u.B+D=' N@= @B +  `h(  `r ` S d"Pp  "  `  6 "f c"$` zTi " H ` 0޽h ? ̙33___PPT10u.D#+D=' ̐= @B + 4, (    s *P"> " H  0޽h ? ̙33___PPT10i.#s+D=' M= @B +  0lR(  lr l S @)"Pp  " r l S @+"zT  " R l C *A formula6 w . l H ?" @ n  Texpected value  l Hт ?"w@ Kq Xstandard deviation ~B l@ HD?"9 z m ~B l HD?"m H l 0޽h ? ̙33___PPT10i.GB+D=' M= @B +  @p@(  pr p S `5"MW< " r p S 6"Pp  " R p C *A formula7ZR p C *A formula8-' Y  p H7" ?"   Texpected value ~B p HD?"] 6 H p 0޽h ? ̙33___PPT10i.I_+D=' M= @B +  P$(  r  S B"Pp  " r  S DC" " H  0޽h ? ̙33:  v:n:`DB9(  r  S K"Pp  " H98 `3 B`3  HR" ?" `33 z Field name  C    @`   HLb" ?"9` 3 ~Original indexC   @`  Hc" ?"`93 y New index  C    @`  Hs" ?" 3 jT7:SEQ_S  C   @`  Hp ?"9  s452C   @` ~ H " ?"9 r13C   @` } H" ?" 3 jT6:SEQ_S  C   @` | HЍ" ?"9  s377C   @` { Hȕ" ?"9 r12C   @` z H" ?" D 3 l T4:W_FIELD  C   @` y H" ?"9D  s299C   @` x H" ?"D 9 r11C   @` w H" ?" q 3D  jT4:SEQ_S  C   @` v H" ?"9q D  s227C   @` u H@" ?"q 9D  r10C   @` t H" ?" 3q  l T3:W_FIELD  C   @` s H" ?"9 q  s224C   @` r H" ?" 9q  q9C   @` q H" ?" 3  xT3:TCP_OPT_2_TIMESTAMPC  @` p H" ?"9  s179C   @` o H" ?" 9  q8C   @` n H|$ ?" 3  rT3:TCP_OPT_1_EOLC  @` m H $ ?"9  s170C   @` l H$ ?" 9  q7C   @` k H@$ ?" % 3  n T3:ACK_FIELD  C   @` j H $ ?"9%  s150C   @` i H<)$ ?"% 9  q6C   @` h H1$ ?" R3%  l T2:W_FIELD  C   @` g H?$ ?"9R %  s149C   @` f HH$ ?"R9%  q5C   @` e HO$ ?" 3R n T2:ACK_FIELD  C   @` d HX$ ?"9 R r75C   @` c H_$ ?"9R q4C   @` b Ha$ ?" 3 l T1:W_FIELD  C   @` a Hj$ ?"9  r74C   @` ` Hy$ ?"9 q3C   @` _ HXk$ ?" 3 xT1:TCP_OPT_2_TIMESTAMPC  @` ^ H$ ?"9  r29C   @` ] H{$ ?"9 q2C   @` \ H$ ?" 3 rT1:TCP_OPT_2_EOLC  @` [ H$ ?"9  r26C   @` Z H8$ ?"9 q1C   @` Y H($ ?" 33 rT1:TCP_OPT_1_EOLC  @` X H$ ?"93  r20C   @` W H $ ?"39 q0C   @`B  Ho ?"`3`B  B1 ?"3B  B1 ?"3B  B1 ?"3B  B1 ?"3B  B1 ?"R3RB  B1 ?"% 3% B  B1 ?" 3 B  B1 ?" 3 B  B1 ?" 3 B  B1 ?"q 3q B  B1 ?"D 3D B  B1 ?"3B  B1 ?"3B  Ho ?"3B  Bo ?"`B  B1 ?"9`9B  B1 ?" ` B  Ho ?"3`3B  B1 ?"333H  0޽h ? ̙33":  99pDDb9(  x  c $($Pp  $ 8F `3  `3  B|$ ?" `33 z Field name  C    @`  B$ ?"9` 3 ~Original indexC   @`  B|$ ?"`93 { New index  C    @`  B$ ?" 3 wPU:UCK_RID_RIPCK_ZEROC  @`  B$ ?"9  s558C   @`   Bd$ ?"9 r27C   @`   B$% ?" 3 uPU:UCK_RID_RIPCK_EQC  @`   B$ ?"9  s555C   @`   B % ?"9 r26C   @`   B@% ?" D 3 TSeq:TS_SEQ_UNSUPPORTEDC   @`  B<&% ?"9D  s546C   @`  BP(% ?"D 9 r25C   @`  B6% ?" q 3D  TSeq:TS_SEQ_2HZC    @`  B=% ?"9q D  s543C   @`  B?% ?"q 9D  r24C   @`  BG% ?" 3q  } TSeq:SI_FIELDC    @`  BV% ?"9 q  s540C   @`  B^% ?" 9q  r23C   @`  BTQ% ?" 3  TSeq:IPID_SEQ_RDC    @`  Bo% ?"9  s537C   @`  Bq% ?" 9  r22C   @`   BTy% ?" 3  TSeq:IPID_SEQ_RPIC   @`  B(% ?"9  s536C   @`  B8% ?" 9  r21C   @`  B<% ?" % 3  TSeq:IPID_SEQ_BROKEN_INCRC   @`  B% ?"9%  s535C   @`  B`% ?"% 9  r20C   @`  B% ?" R3%  TSeq:IPID_FIELDC    @`   B % ?"9R %  s533C   @` ! B% ?"R9%  r19C   @` " B% ?" 3R ~TSeq:GCD_FIELDC    @` # B% ?"9 R s532C   @` $ B% ?"9R r18C   @` % B% ?" 3 { TSeq:SEQ_TR  C   @` & B% ?"9  s529C   @` ' B% ?"9 r17C   @` ( B% ?" 3 { TSeq:SEQ_RI  C   @` ) B& ?"9  s528C   @` * Bh& ?"9 r16C   @` + B& ?" 3 { TSeq:SEQ_TD  C   @` , B4& ?"9  s526C   @` - BX%& ?"9 r15C   @` . B'& ?" 33 TSeq:CLASS_FIELDC    @` / B/& ?"93  s525C   @` 0 B48& ?"39 d14C  @`B 1 Bo ?"`3`zB 2 <1 ?"3zB 3 <1 ?"3zB 4 <1 ?"3zB 5 <1 ?"3zB 6 <1 ?"R3RzB 7 <1 ?"% 3% zB 8 <1 ?" 3 zB 9 <1 ?" 3 zB : <1 ?" 3 zB ; <1 ?"q 3q zB < <1 ?"D 3D zB = <1 ?"3zB > <1 ?"3B ? Bo ?"3zB @ <o ?"`zB A <1 ?"9`9zB B <1 ?" ` B C Bo ?"3`3zB D <1 ?"333H  0޽h ? ̙33}  t$(  tr t S PE&Pp  & r t S  F&W & H t 0޽h ? ̙33___PPT10i.JHt+D=' M= @B +  ^V(  r  S pK&Pp  & r  S ,L&W` & B  ZD1?"  B  ZD1?"   N3f?"P `   N3f?"     N3f?"P p    N3f?"0 t    N3f?" T    N3f?"0 t    N3f?" P T   N3f?" 0 t d   N3f?" D   N3f?" PT   N3f?"   N3f?" @$   N3f?" d    N3f?"    N3f?" d   N3f?" T$   N3f?"`    N3f?"@ D   N3f?"  T   N3f?" 4d   N3f?"p    N3f?"@ 0 t ~  H3f?" d H  0޽h ? ̙33W&   n%f%/V$(  r  S [&Pp  & x  c $[&MT & # "= V #"*p & 9 Bc& ?"P 0= `23  @` 7 Be& ?"P + 0 `26  @` 5 BXs& ?"P 0+  `41  @` 3 BLz& ?"P  0  `66  @` 1 B& ?"P 0  `96  @` / B& ?"P "0 tInput layer (after PCA)  @` , B& ?"+  _5  @` * Bt& ?"0+  _7  @` ( B& ?"+ P  `55  @` & Bt& ?"+  cSolaris  @`  B& ?"= _3  @`  Bt& ?"0= _4  @`  B& ?"P = `34  @`  Bt& ?"= cOpenBSD  @`  B& ?" +  _8  @`  Bt& ?"0 +  `18  @`  Bt& ?" P +  a100  @`  B& ?" +  aLinux  @`  B`& ?"   _6  @`  B& ?"0   `20  @`  Bx& ?" P  a145  @`   B' ?"   lOperating System  @`   B ' ?"  _1  @`   B' ?"0  `20  @`   B@' ?"P   a204  @`   B!' ?"  e Relevance     @`  B*' ?"" h Output layer     @`  B1' ?"0" h Hidden layer     @`  B:' ?""P  0Input layer (after correlation matrix reduction)111  @`  B;' ?"" dAnalysis     @`B  Bo ?"""zB  <1 ?"zB  <1 ?"  zB  <1 ?"  zB  <1 ?"+ + B  Bo ?"==B  Bo ?""=zB   <1 ?""=zB ! <1 ?"P "P =zB " <1 ?""=B # Bo ?""=zB ' <1 ?"zB 0 <1 ?"0"0=H  0޽h ? ̙33___PPT10i.S=[+D=' M= @B + ! ~(  r  S 0'Pp  ' r  S  'W ' R  C *A formula9j H  0޽h ? ̙33___PPT10u.S8n+D=' ̐= @B + " ld(  r  S U'Pp  ' h  C @A (relevant_evolution2z  H0W' ?" [error    HP[' ?"Rc knumber of generations  H  0޽h ? ̙3380___PPT10..^ # jb(  r  S a'Pp  ' f  C >A&openbsd_evolution2M  Hpc' ?" [error    Hg' ?"Rc knumber of generations  H  0޽h ? ̙3380___PPT10.^} $ $(  r  S n'Pp  ' r  S n'W ' H  0޽h ? ̙33___PPT10i.U +D=' M= @B +} % $(  r  S u'Pp  ' r  S dv'W ' H  0޽h ? ̙33___PPT10i.Wp=*;+D=' M= @B +$ & $(  r  S {'Pp  ' r  S |'W ' H  0޽h ? ̙3380___PPT10. aJ$ ' $(  r  S 'Pp  ' r  S |'W ' H  0޽h ? ̙3380___PPT10.pI6   $(  r  S h'Pp  ' r  S $'W ' H  0޽h ? ̙33 0 0,(  ^  S Dt   '  c $ܲ'    ' " H  0g@ ? 3380___PPT10.j 0 P,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j 0 `,(  ^  S Dt   '  c $L'    ' " H  0g@ ? 3380___PPT10.j 0 p,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j 0 ,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j 0 ,(  ^  S Dt   '  c $Pj'    ' " H  0g@ ? 3380___PPT10.j 0 ,(  ^  S Dt   '  c $ '    ' " H  0g@ ? 3380___PPT10.j 0 ,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j& 0 ,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j 0 ,(  ^  S Dt   '  c $H'    ' " H  0g@ ? 3380___PPT10.j  0 ,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j  0 ,(  ^  S Dt   '  c $'    ' " H  0g@ ? 3380___PPT10.j  0  ,(   ^   S Dt   '   c $p'    ' " H   0g@ ? 3380___PPT10.j  0 ,(  ^  S Dt   '  c $('    ' " H  0g@ ? 3380___PPT10.j  0  ,(  ^  S Dt   '  c $+    ' " H  0g@ ? 3380___PPT10.j 0 0,(  ^  S Dt   +  c $+    + " H  0g@ ? 3380___PPT10.j 0 @,(  ^  S Dt   +  c $ +    + " H  0g@ ? 3380___PPT10.j' 0 P ,(   ^   S Dt   +   c $@+    + " H   0g@ ? 3380___PPT10.j 0 `$,(  $^ $ S Dt   + $ c $+    + " H $ 0g@ ? 3380___PPT10.j 0 p(,(  (^ ( S Dt   + ( c $+    + " H ( 0g@ ? 3380___PPT10.j 0 ,,(  ,^ , S Dt   + , c $h#+    + " H , 0g@ ? 3380___PPT10.j 0 0,(  0^ 0 S Dt   + 0 c $ )+    + " H 0 0g@ ? 3380___PPT10.j 0 4,(  4^ 4 S Dt   + 4 c $.+    + " H 4 0g@ ? 3380___PPT10.j) 0 8,(  8^ 8 S Dt   + 8 c $4+    + " H 8 0g@ ? 3380___PPT10.j 0 <,(  <^ < S Dt   + < c $H:+    + " H < 0g@ ? 3380___PPT10.j 0 @,(  @^ @ S Dt   + @ c $@+    + " H @ 0g@ ? 3380___PPT10.j 0 D,(  D^ D S Dt   + D c $E+    + " H D 0g@ ? 3380___PPT10.j 0 H,(  H^ H S Dt   + H c $pK+    + " H H 0g@ ? 3380___PPT10.>m  0 L,(  L^ L S Dt   + L c $(Q+    + " H L 0g@ ? 3380___PPT10.>m 0 P,(  P^ P S Dt   + P c $V+    + " H P 0g@ ? 3380___PPT10.>m 0  T,(  T^ T S Dt   + T c $\+    + " H T 0g@ ? 3380___PPT10.>m 0 0X,(  X^ X S Dt   + X c $Pb+    + " H X 0g@ ? 3380___PPT10.>m! 0 @\,(  \^ \ S Dt   + \ c $h+    + " H \ 0g@ ? 3380___PPT10.>m" 0 P`,(  `^ ` S Dt   + ` c $m+    + " H ` 0g@ ? 3380___PPT10.>m* 0 `d,(  d^ d S Dt   + d c $xs+    + " H d 0g@ ? 3380___PPT10.>m+ 0 ph,(  h^ h S Dt   + h c $0y+    + " H h 0g@ ? 3380___PPT10.>m# 0 l,(  l^ l S Dt   + l c $~+    + " H l 0g@ ? 3380___PPT10.>m$ 0 p,(  p^ p S Dt   + p c $+    + " H p 0g@ ? 3380___PPT10.>m- 0 t,(  t^ t S Dt   + t c $X+    + " H t 0g@ ? 3380___PPT10.>m, 0 x,(  x^ x S Dt   + x c $+    + " H x 0g@ ? 3380___PPT10.>mr ֍IDѢnFp CȬs~ %/~u"+3:@{E.KYPVCM>   ) 8<Ht.@ d"$&(*-\@BDFHK4MXO|QSUW Z0\T^x`bdfiP%qK[O Q 8,kI(` H/ 0|DTimes New RomanP5|d0|Wo 0DArialNew RomanP5|d0|Wo 0|" DWiOh+'0`R hp< LX x  JAnalyzing OS Fingerprints using Neural Networks and Statistical Machinerye!Javier Burroni - Carlos SarrauteeurAOS Detection, OS Fingerprinting, Neural Networks, EUSecWest 2006achCarlosc89lMicrosoft PowerPointerp@0;@Uf@0,< GPg  R('& &&#TNPP42OMi & TNPP &&TNPP     'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE2222222E2E2E2222222E2222?222?222222E2222222222222222222?22?222?E22?222?2222E22?E222E222E2222222E222222222?EE?EE?EE?EE?EE?EE?EE?EE?EEEE?EE?EE?EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222%K%F$+F*F%E+E%+$F+$F%%F%%%F%F%F%%% $ % $ % %@%%@% F % % "EttoML&Lts EouMRMuMuouuuu½ýýýýýýýE%L$L%E%E+E%F%EF$F%E+F$%E%E%$ $%?%E %%@%F %@% % % %$FLF& %GLtDFLFE# "CFMMMMSSSuuMuuuuuýýýýýýýýýýýý%L$F%K%+F$%K%$%%E%$F%E%E%$ E%E%%$ $F $% % % $ $@ $!$FFutuLELF$$ $ #"!#LMuMSSuuuuuuuýýýýýýýýý$F+$L%F$F+F%K%LE+$F$%%F$%E%$ $ E% E $@$ E $@$ F $!$FFEE%E$$  "ELMSSuMuMuuuuuuuzýýýýýýýýýýý%L%F%K%L$F$%F%$%F%F$F$%F%$F$F$%$$%$ % % $ $""######$#$ %  "KMMuMuuuuuuuuuýýýýýýýF%L%L%F%+F+F+E%F$F$F$F$F%F%$%F$F%F%F%%E%$F%? $"#$ $ $""D$ELMRuuuuuuuýýýýýýýý%L%%F+%F%%F%%%F%%%%%%%%$%%F%%%%% $ % % %%%%%  # %G&GMMuuuýýýýýýýýý--&TNPP &|d0|Wo 0|" DWingdingsRoman5|d0|Wo 0|0DMicrosoft Sans Serif0|Wo 0|"@DCourier Newns Serif0|Wo 0|1 b  .  @n?" dd@  @@``   &\$6 e / B# ' 1W #-(# P  E %!'(S ' %1 )W  & 02467-A'<>@$FGK37NO@RS(&  A!#"$k$111 #C6"EhR$IV TlL+B]8R$(2uZSr|]8b$|@|n˪{L~ q8R$b㜸Jn4l6qnv8b$Lf'Dvc $`8b$~w+i:YUE8b$}+vW־:S8b$JXqN@uhϣсQ 8b$iA:f"X9v#8b$B:n7%*r 8b$bx#mۦ2UP8b$; lT3`;m^+8R$"(8ISp'<,fs8R$Mk&4?n[8c $0e0e     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" 3ff@ff =ʚ;Sk8ʚ;g4KdKd0pn@ppp@ <4!d!d 0,6<4dddd 0,6 <4BdBd. 0,~h___PPT2001D<4X___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography N___PPT90(? % pDIAnalyzing OS Fingerprints using Neural Networks and Statistical MachineryJJ$YJavier Burroni - Carlos Sarraute Core Security Technologies EUSecWest/core06 conference ,Z!= ,nz1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training{{{  z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training.{( j{  pOS Identification xOS Identification = OS Detection = OS Fingerprinting Crucial step of the penetration testing process actively send test packets and study host response First generation: analysis of differences between TCP/IP stack implementations Next generation: analysis of application layer data (DCE RPC endpoints) to refine detection of Windows versions / editions / service packs `f4Cf4Cy q&Limitations of OS Fingerprinting tools' jSome variation of  best fit algorithm is used to analyze the information will not work in non standard situations inability to   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~DRoot EntrydO),<> PicturespCurrent User+2SummaryInformation(RPowerPoint Document(.DocumentSummaryInformation8 ngdingsRomanP5|d0|Wo 0|0DMicrosoft Sans Serif0|Wo 0|"@DCourier Newns Serif0|Wo 0|1 b  .  @n?" dd@  @@``   &\$6 e / B# ' (W #-(# M$(*.040"8: 2>"FE6JQ!:WSY [ &,D W  2B S')+-.13$9;=4CDI*.TV0=V!   A,ONPk((( C-EhR$IV TlL+B]8R$(2uZSr|]8b$|@|n˪{L~ q8R$b㜸Jn4l6qnv8b$Lf'Dvc $`8b$~w+i:YUE8b$}+vW־:S8b$JXqN@uhϣсQ 8b$iA:f"X9v#8b$B:n7%*r 8b$bx#mۦ2UP8b$; lT3`;m^+8R$"(8ISp'<,fs8R$Mk&4?n[8c $0e0e     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" 3ff@ff =ʚ;Sk8ʚ;g4KdKd0pZpppp@ <      !"#$%&'()*+,-./0123456789:;<?@ABCEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}~4!d!d 0,<6<4dddd 0,<6 <4BdBd. 0,~h___PPT2001D<4X___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography N___PPT90(? % pDIAnalyzing OS Fingerprints using Neural Networks and Statistical MachineryJJ$YJavier Burroni - Carlos Sarraute Core Security Technologies EUSecWest/core06 conference ,Z! = , nz1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training{{{  z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training.{( j{  pOS Identification xOS Identification = OS Detection = OS Fingerprinting Crucial step of the penetration testing process actively send test packets and study host response First generation: analysis of differences between TCP/IP stack implementations Next generation: analysis of application layer data (DCE RPC endpoints) to refine detection of Windows versions / editions / service packs `f4Cf4Cy q&Limitations of OS Fingerprinting tools' jSome variation of  best fit algorithm is used to analyze the information will not work in non standard situations inability to extract key elements Our proposal: focus on the technique used to analyze the data we have developed tools using neural networks successfully integrated into commercial software LKKKK6 z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training.{$N{  sWindows DCE-RPC service  DBy sending an RPC query to a host s port 135 you can determine which services or programs are registered Response includes: UUID = universal unique identifier for each program Annotated name Protocol that each program uses Network address that the program is bound to Program s endpoint R->k# t@Endpoints for a Windows 2000 Professional edition service pack 0AAA uuid="5A7B91F8-FF00-11D0-A9B2-00C04FB6E6FC" annotation="Messenger Service" protocol="ncalrpc" endpoint="ntsvcs" id="msgsvc.1" protocol="ncacn_np" endpoint="\PIPE\ntsvcs" id="msgsvc.2" protocol="ncacn_np" endpoint="\PIPE\scerpc" id="msgsvc.3" protocol="ncadg_ip_udp" id="msgsvc.4" uuid="1FF70682-0A51-30E8-076D-740BE8CEE98B" protocol="ncalrpc" endpoint="LRPC" id="mstask.1" protocol="ncacn_ip_tcp" id="mstask.2" uuid="378E52B0-C0A9-11CF-822D-00AA0051E40F" protocol="ncalrpc" endpoint="LRPC" id="mstask.3" protocol="ncacn_ip_tcp" id="mstask.4" ,Z ZZ-ZZ-ZZ, --  &>Neural networks come into play&   ~It s possible to distinguish Windows versions, editions and service packs based on the combination of endpoints provided by DCE-RPC service Idea: model the function which maps endpoints combinations to OS versions with a multilayer perceptron neural network Several questions arise: what kind of neural network do we use? how are the neurons organized? how do we map endpoints combinations to neural network inputs? how do we train the network? F u$Multilayer Perceptron Neural Network%  v 3 layers topology Input layer : 413 neurons one neuron for each UUID one neuron for each endpoint corresponding to the UUID handle with flexibility the appearance of an unknown endpoint Hidden neuron layer : 42 neurons each neuron represents combinations of inputs Output layer : 25 neurons one neuron for each Windows version and edition Windows 2000 professional edition one neuron for each Windows version and service pack Windows 2000 service pack 2 errors in one dimension do not affect the otherZZ!Z/ZZ0Z"Z5ZZ0Z!/0 " 50 w What is a perceptron? bx1 & xn are the inputs of the neuron wi,j,0 & wi,j,n are the weights f is a non linear activation function we use hyperbolic tangent tanh vi,j is the output of the neuron o$    $$((,,00%4488<< x Back propagation ZTraining by back-propagation: for the output layer given an expected output y1 & ym calculate an estimation of the error this is propagated to the previous layers as:z3K03  '0  y  New weights  -The new weights, at time t+1, are: where:&.. z Supervised training CWe have a dataset with inputs and expected outputs One generation: recalculate weights for each input / output pair Complete training = 10350 generations it takes 14 hours to train network (python code) For each generation of the training process, inputs are reordered randomly (so the order does not affect training) F1u1wD {"Sample result of the Impact module# Neural Network Output (close to 1 is better): Windows NT4: 4.87480503763e-005 Editions: Enterprise Server: 0.00972694324639 Server: -0.00963500026763 Service Packs: 6: 0.00559659167371 6a: -0.00846224120952 Windows 2000: 0.996048928128 Editions: Server: 0.977780526016 Professional: 0.00868998746624 Advanced Server: -0.00564873813703 Service Packs: 4: -0.00505441088081 2: -0.00285674134367 3: -0.0093665583402 0: -0.00320117552666 1: 0.921351036343 PPCCCCCCC |Sample result (cont.) Windows 2003: 0.00302898647853 Editions: Web Edition: 0.00128127138728 Enterprise Edition: 0.00771786077082 Standard Edition: -0.0077145024893 Service Packs: 0: 0.000853988551952 Windows XP: 0.00605168045887 Editions: Professional: 0.00115635710749 Home: 0.000408057333416 Service Packs: 2: -0.00160404945542 0: 0.00216065240615 1: 0.000759109188052 Setting OS to Windows 2000 Server sp1 Setting architecture: i386<PC&CC 'Result comparison Results of our laboratory: wIntroduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training0x" )+$$x  ~ Nmap tests  xNmap is a network exploration tool and security scanner includes OS detection based on the response of a host to 9 testsyyy Nmap signature database Our method is based on the Nmap signature database A signature is a set of rules describing how a specific version / edition of an OS responds to the tests. Example: # Linux 2.6.0-test5 x86 Fingerprint Linux 2.6.0-test5 x86 Class Linux | Linux | 2.6.X | general purpose TSeq(Class=RI%gcd=<6%SI=<2D3CFA0&>73C6B%IPID=Z%TS=1000HZ) T1(DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) T2(Resp=Y%DF=Y%W=0%ACK=S%Flags=AR%Ops=) T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) T4(DF=Y%W=0%ACK=O%Flags=R%Ops=) T5(DF=Y%W=0%ACK=S++%Flags=AR%Ops=) T6(DF=Y%W=0%ACK=O%Flags=R%Ops=) T7(DF=Y%W=0%ACK=S++%Flags=AR%Ops=) PU(DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)@PPCC Wealth and weakness of Nmap <Nmap database contains 1684 signatures Nmap works by comparing a host response to each signature in the database: a score is assigned to each signature score = number of matching rules / number of considered rules  best fit based on Hamming distance Problem: improbable operating systems generate less responses to the tests and get a better score! e.g. a Windows 2000 version detected as Atari 2600 or HPUX & Ls({s({ /'Symbolic representation of the OS space'  WThe space of host responses has 560 dimensions Colors represents different OS families W  1%Picture after filtering irrelevant OS%  OS detection is a step of the penetration test process we only want to detect Windows, Linux, Solaris, OpenBSD, FreeBSD, NetBSD&7I7I  0(Picture after separating the OS families(   2*Distinguish versions within each OS family*  The analysis to distinguish different versions is done after we know the family for example, we know that the host is running OpenBSD and want to know the version 6QSQS  Hierarchical Network Structure zAnalyze the responses with different neural networks Each analysis is conditionned by the results of the previous analysis{ ):So we have 5 neural networks&  One neural network to decide if the OS is relevant / not relevant One neural network to decide the OS family: Windows, Linux, Solaris, OpenBSD, FreeBSD, NetBSD One neural network to decide Linux version One neural network to decide Solaris version One neural network to decide OpenBSD version Each neural network requires special topology design and training! OpenBSD version network is trained with a dataset containing only OpenBSD host responses `o3Yo3Y Neural Network inputs Assign a set of inputs neurons for each test Details for tests T1 & T7: one neuron for ACK flag one neuron for each response: S, S++, O one neuron for DF flag one neuron for response: yes/no one neuron for Flags field one neuron for each flag: ECE, URG, ACK, PSH, RST, SYN, FIN 10 groups of 6 neurons for Options field we activate one neuron in each group according to the option EOL, MAXSEG, NOP, TIMESTAMP, WINDOW, ECHOED one neuron for W field (window size)a( <)=-%a( <) =-%  Example of neural network inputs! For flags or options: input is 1 or -1 (present or absent) Others have numerical input the W field (window size) the GCD (greatest common divisor of initial sequence numbers) Example of Linux 2.6.0 response: T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) maps to:WY!4 WY!5 C C Neural network topology Input layer of 560 dimensions lots of redundancy gives flexibility when faced to unknown responses but raises performance issues! dimension reduction is necessary& 3 layers neural network , for example the first neural network (relevant / not relevant filter) has:@ZZfZf  Dataset generation PTo train the neural network we need inputs (host responses) with corresponding outputs (host OS) Signature database contains 1684 rules a population of 15000 machines needed to train the network! we don t have access to such population& scanning the Internet is not an option! Generate inputs by Monte Carlo simulation for each rule, generate inputs matching that rule number of inputs depends on empirical distribution of OS based on statistical surveys when the rule specifies options or range of values chose a value following uniform distribution%='+k3-%='+k  3-)  z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training"{V%${  Inputs as random variables We have been generous with the input 560 dimensions, with redundancy inputs dataset is very big the training convergence is slow& Consider each input dimension as a random variable Xi input dimensions have different orders of magnitude flags take 1/-1 values the ISN (initial sequence number) is an integer normalize the random variables:%^84G %^44G V Correlation matrix WWe compute the correlation matrix R: After normalization this is simply: The correlation is a dimensionless measure of statistical dependence closer to 1 or -1 indicates higher dependence linear dependent columns of R indicate dependent variables we keep one and eliminate the others constants have zero variance and are also eliminatedL"rJxX 3Example of OpenBSD fingerprints  Fingerprint OpenBSD 3.6 (i386) Class OpenBSD | OpenBSD | 3.X | general purpose T1(DF=N%W=4000%ACK=S++%Flags=AS%Ops=MNWNNT) T2(Resp=N) T3(Resp=N) T4(DF=N%W=0%ACK=O%Flags=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=) Fingerprint OpenBSD 2.2 - 2.3 Class OpenBSD | OpenBSD | 2.X | general purpose T1(DF=N%W=402E%ACK=S++%Flags=AS%Ops=MNWNNT) T2(Resp=N) T3(Resp=Y%DF=N%W=402E%ACK=S++%Flags=AS%Ops=MNWNNT) T4(DF=N%W=4000%ACK=O%Flags=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=)ZOCCGCGCG CG9CNCCGCGCGCGCGCG8C  .  +      $ $ }    r 5/Relevant fields to distinguish OpenBSD versions/   67Relevant fields to distinguish OpenBSD versions (cont.)7   "Principal Component Analysis (PCA)# Further reduction involves Principal Component Analysis (PCA) Idea: compute a new basis (coordinates system) of the input space the greatest variance of any projection of the dataset in a subspace of k dimensions comes by projecting to the first k basis vectors PCA algorithm: compute eigenvectors and eigenvalues of R sort by decreasing eigenvalue keep first k vectors to project the data parameter k chosen to keep 98% of total varianceL.)+)& 7$Idea of Principal Component Analysis$  \Keep the dimensions which have higher variance higher eigenvalues of the Correlation Matrix &/./.\  !!Resulting neural network topology" ~After performing these reductions we obtain the following neural network topologies (original input size was 560 in all cases) "Adaptive learning rate pStrategy to speed up training convergence Calculate the quadratic error estimation ( yi are the expected outputs, vi are the actual outputs): Between generations (after processing all dataset input/output pairs) if error is smaller then increase learning rate if error is bigger then decrease learning rate Idea: move faster if we are in the correct directionT?I_6WI_6q *%Error evolution (fixed learning rate)&  +(Error evolution (adaptive learning rate))  #Subset training  Another strategy to speed up training convergence Train the network with several smaller datasets (subsets) To estimate the error, we calculate a goodness of fit G if the output is 0/1: G = 1  ( Pr[false positive] + Pr[false negative] ) other outputs: G = 1  number of errors / number of outputs Adaptive learning rate: if goodness of fit G is higher, then increase the initial learning ratez60H[0H $&Sample result (host running Solaris 8)' Relevant / not relevant analysis 0.99999999999999789 relevant Operating System analysis -0.99999999999999434 Linux 0.99999999921394744 Solaris -0.99999999999998057 OpenBSD -0.99999964651426454 FreeBSD -1.0000000000000000 NetBSD -1.0000000000000000 Windows Solaris version analysis 0.98172780325074482 Solaris 8 -0.99281382458335776 Solaris 9 -0.99357586906143880 Solaris 7 -0.99988378968003799 Solaris 2.X -0.99999999977837983 Solaris 2.5.X !P"PPgPPP#CCBC C CCC -Ideas for future work 1 8Analyze the key elements of the Nmap tests given by the analysis of the final weights given by Correlation matrix reduction given by Principal Component Analysis Optimize Nmap to generate less traffic Add noise and firewall filtering detect firewall presence identify different firewalls make more robust testsL+wJM+wJM9 ,Ideas for future work 2 This analysis could be applied to other detection methods: xprobe2  Ofir Arkin, Fyodor & Meder Kydyraliev detection by ICMP, SMB, SNMP p0f (Passive OS Identification)  Michal Zalewski OS detect by SUN RPC / Portmapper Sun / Linux / other System V versions MUA (Outlook / Thunderbird / etc) detection using Mail Headers `mU'@mU'@G 8 Thank you!    For more information about this project: http://www.coresecurity.com/corelabs/projects/ Contact us if you have questions, comments or if you want to look at the source code of the tools we wrote for this research: Javier.Burroni at coresecurity com Carlos.Sarraute at coresecurity comj)1~I)0~Hv*            0*X/`      !"#$%&'  &H(  Hr H S ,*nPp  n r H S *nW n B H TD?"% #  H H 0޽h ? ̙33___PPT10i.н+D=' M= @B +  `h(  `r ` S yPp  y  `  6yf c"$` zTi y H ` 0޽h ? ̙33___PPT10u.D#+D=' ̐= @B +rm8lI(` H/ 0|DTimes New Roman5|d0|Wo 0DArialNew Roman5  !"#$%&'()*՜.+,0d     $  On-screen ShowhCORE Security Technologies.o1( 7Times New RomanArial WingdingsMicrosoft Sans Serif Courier NewDiseo predeterminadoJAnalyzing OS Fingerprints using Neural Networks and Statistical Machinery{1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training{1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and trainingOS Identification'Limitations of OS Fingerprinting tools{1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and trainingWindows DCE-RPC service AEndpoints for a Windows 2000 Professional edition service pack 0 Neural networks come into play%Multilayer Perceptron Neural Network3 layers topologyWhat is a perceptron?Back propagation New weightsSupervised training#Sample result of the Impact moduleSample result (cont.)Result comparisonxIntroduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training Nmap testsNmap signature databaseWealth and weakness of Nmap(Symbolic representation of the OS space&Picture after filtering irrelevant OS)Picture after separating the OS families+Distinguish versions within each OS familyHierarchical Network StructureSo we have 5 neural networksNeural Network inputs!Example of neural network inputsNeural network topologyDataset generation{1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and trainingInputs as random variablesCorrelation matrix Example of OpenBSD fingerprints0Relevant fields to distinguish OpenBSD versions8Relevant fields to distinguish OpenBSD versions (cont.)#Principal Component Analysis (PCA)%Idea of Principal Component Analysis"Resulting neural network topologyAdaptive learning rate&Error evolution (fixed learning rate))Error evolution (adaptive learning rate)Subset training'Sample result (host running Solaris 8)Ideas for future work 1Ideas for future work 2 Thank you!  Fonts UsedDesign Template Slide Titles1_f.CarlosCarlosextract key elements Our proposal: focus on the technique used to analyze the data we have developed tools using neural networks successfully integrated into commercial software LKKKK6 z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training.{$N{  sWindows DCE-RPC service  DBy sending an RPC query to a host s port 135 you can determine which services or programs are registered Response includes: UUID = universal unique identifier for each program Annotated name Protocol that each program uses Network address that the program is bound to Program s endpoint R->k# t@Endpoints for a Windows 2000 Professional edition service pack 0AAA uuid="5A7B91F8-FF00-11D0-A9B2-00C04FB6E6FC" annotation="Messenger Service" protocol="ncalrpc" endpoint="ntsvcs" id="msgsvc.1" protocol="ncacn_np" endpoint="\PIPE\ntsvcs" id="msgsvc.2" protocol="ncacn_np" endpoint="\PIPE\scerpc" id="msgsvc.3" protocol="ncadg_ip_udp" id="msgsvc.4" uuid="1FF70682-0A51-30E8-076D-740BE8CEE98B" protocol="ncalrpc" endpoint="LRPC" id="mstask.1" protocol="ncacn_ip_tcp" id="mstask.2" uuid="378E52B0-C0A9-11CF-822D-00AA0051E40F" protocol="ncalrpc" endpoint="LRPC" id="mstask.3" protocol="ncacn_ip_tcp" id="mstask.4" ,Z ZZ-ZZ-ZZ, -- (]  @ &>Neural networks come into play&   ~It s possible to distinguish Windows versions, editions and service packs based on the combination of endpoints provided by DCE-RPC service Idea: model the function which maps endpoints combinations to OS versions with a multilayer perceptron neural network Several questions arise: what kind of neural network do we use? how are the neurons organized? how do we map endpoints combinations to neural network inputs? how do we train the network? F u$Multilayer Perceptron Neural Network%  v 3 layers topology Input layer : 413 neurons one neuron for each UUID one neuron for each endpoint corresponding to the UUID handle with flexibility the appearance of an unknown endpoint Hidden neuron layer : 42 neurons each neuron represents combinations of inputs Output layer : 25 neurons one neuron for each Windows version and edition Windows 2000 professional edition one neuron for each Windows version and service pack Windows 2000 service pack 2 errors in one dimension do not affect the otherZZ!Z/ZZ0Z"Z5ZZ0Z!/0 " 50 w What is a perceptron? bx1 & xn are the inputs of the neuron wi,j,0 & wi,j,n are the weights f is a non linear activation function we use hyperbolic tangent tanh vi,j is the output of the neuron o$    $$((,,00%4488<< x Back propagation ZTraining by back-propagation: for the output layer given an expected output y1 & ym calculate an estimation of the error this is propagated to the previous layers as:z3K03  '0  y  New weights  -The new weights, at time t+1, are: where:&.. z Supervised training CWe have a dataset with inputs and expected outputs One generation: recalculate weights for each input / output pair Complete training = 10350 generations it takes 14 hours to train network (python code) For each generation of the training process, inputs are reordered randomly (so the order does not affect training) F1u1wD {"Sample result of the Impact module# Neural Network Output (close to 1 is better): Windows NT4: 4.87480503763e-005 Editions: Enterprise Server: 0.00972694324639 Server: -0.00963500026763 Service Packs: 6: 0.00559659167371 6a: -0.00846224120952 Windows 2000: 0.996048928128 Editions: Server: 0.977780526016 Professional: 0.00868998746624 Advanced Server: -0.00564873813703 Service Packs: 4: -0.00505441088081 2: -0.00285674134367 3: -0.0093665583402 0: -0.00320117552666 1: 0.921351036343 PPCCCCCCC |Sample result (cont.) Windows 2003: 0.00302898647853 Editions: Web Edition: 0.00128127138728 Enterprise Edition: 0.00771786077082 Standard Edition: -0.0077145024893 Service Packs: 0: 0.000853988551952 Windows XP: 0.00605168045887 Editions: Professional: 0.00115635710749 Home: 0.000408057333416 Service Packs: 2: -0.00160404945542 0: 0.00216065240615 1: 0.000759109188052 Setting OS to Windows 2000 Server sp1 Setting architecture: i386<PC&CC 'Result comparison Results of our laboratory: wIntroduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training0x" )+$$x  ~ Nmap tests  xNmap is a network exploration tool and security scanner includes OS detection based on the response of a host to 9 testsyyy Nmap signature database Our method is based on the Nmap signature database A signature is a set of rules describing how a specific version / edition of an OS responds to the tests. Example: # Linux 2.6.0-test5 x86 Fingerprint Linux 2.6.0-test5 x86 Class Linux | Linux | 2.6.X | general purpose TSeq(Class=RI%gcd=<6%SI=<2D3CFA0&>73C6B%IPID=Z%TS=1000HZ) T1(DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) T2(Resp=Y%DF=Y%W=0%ACK=S%Flags=AR%Ops=) T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) T4(DF=Y%W=0%ACK=O%Flags=R%Ops=) T5(DF=Y%W=0%ACK=S++%Flags=AR%Ops=) T6(DF=Y%W=0%ACK=O%Flags=R%Ops=) T7(DF=Y%W=0%ACK=S++%Flags=AR%Ops=) PU(DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)@PPCC\  e  $   Wealth and weakness of Nmap <Nmap database contains 1684 signatures Nmap works by comparing a host response to each signature in the database: a score is assigned to each signature score = number of matching rules / number of considered rules  best fit based on Hamming distance Problem: improbable operating systems generate less responses to the tests and get a better score! e.g. a Windows 2000 version detected as Atari 2600 or HPUX & Ls({s({ /'Symbolic representation of the OS space'  WThe space of host responses has 560 dimensions Colors represents different OS families W  1%Picture after filtering irrelevant OS%  OS detection is a step of the penetration test process we only want to detect Windows, Linux, Solaris, OpenBSD, FreeBSD, NetBSD&7I7I  0(Picture after separating the OS families(   2*Distinguish versions within each OS family*  The analysis to distinguish different versions is done after we know the family for example, we know that the host is running OpenBSD and want to know the version 6QSQS  Hierarchical Network Structure zAnalyze the responses with different neural networks Each analysis is conditionned by the results of the previous analysis{ ):So we have 5 neural networks&  One neural network to decide if the OS is relevant / not relevant One neural network to decide the OS family: Windows, Linux, Solaris, OpenBSD, FreeBSD, NetBSD One neural network to decide Linux version One neural network to decide Solaris version One neural network to decide OpenBSD version Each neural network requires special topology design and training! OpenBSD version network is trained with a dataset containing only OpenBSD host responses `o3Yo3Y Neural Network inputs Assign a set of inputs neurons for each test Details for tests T1 & T7: one neuron for ACK flag one neuron for each response: S, S++, O one neuron for DF flag one neuron for response: yes/no one neuron for Flags field one neuron for each flag: ECE, URG, ACK, PSH, RST, SYN, FIN 10 groups of 6 neurons for Options field we activate one neuron in each group according to the option EOL, MAXSEG, NOP, TIMESTAMP, WINDOW, ECHOED one neuron for W field (window size)a( <)=-%a( <) =-%  Example of neural network inputs! For flags or options: input is 1 or -1 (present or absent) Others have numerical input the W field (window size) the GCD (greatest common divisor of initial sequence numbers) Example of Linux 2.6.0 response: T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW) maps to:WY!4 WY!5 C C(  6 Neural network topology Input layer of 560 dimensions lots of redundancy gives flexibility when faced to unknown responses but raises performance issues! dimension reduction is necessary& 3 layers neural network , for example the first neural network (relevant / not relevant filter) has:@ZZfZf  Dataset generation PTo train the neural network we need inputs (host responses) with corresponding outputs (host OS) Signature database contains 1684 rules a population of 15000 machines needed to train the network! we don t have access to such population& scanning the Internet is not an option! Generate inputs by Monte Carlo simulation for each rule, generate inputs matching that rule number of inputs depends on empirical distribution of OS based on statistical surveys when the rule specifies options or range of values chose a value following uniform distribution%='+k3-%='+k  3-)  z1. Introduction 2. DCE-RPC Endpoint mapper 3. OS Detection based on Nmap signatures 4. Dimension reduction and training"{V%${  Inputs as random variables We have been generous with the input 560 dimensions, with redundancy inputs dataset is very big the training convergence is slow& Consider each input dimension as a random variable Xi input dimensions have different orders of magnitude flags take 1/-1 values the ISN (initial sequence number) is an integer normalize the random variables:%^84G %^44G V Correlation matrix WWe compute the correlation matrix R: After normalization this is simply: The correlation is a dimensionless measure of statistical dependence closer to 1 or -1 indicates higher dependence linear dependent columns of R indicate dependent variables we keep one and eliminate the others constants have zero variance and are also eliminatedL"rJxX 3Example of OpenBSD fingerprints  Fingerprint OpenBSD 3.6 (i386) Class OpenBSD | OpenBSD | 3.X | general purpose T1(DF=N%W=4000%ACK=S++%Flags=AS%Ops=MNWNNT) T2(Resp=N) T3(Resp=N) T4(DF=N%W=0%ACK=O%Flags=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=) Fingerprint OpenBSD 2.2 - 2.3 Class OpenBSD | OpenBSD | 2.X | general purpose T1(DF=N%W=402E%ACK=S++%Flags=AS%Ops=MNWNNT) T2(Resp=N) T3(Resp=Y%DF=N%W=402E%ACK=S++%Flags=AS%Ops=MNWNNT) T4(DF=N%W=4000%ACK=O%Flags=R%Ops=) T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=)ZOCCGCGCG CG9CNCCGCGCGCGCGCG8Cn  .  +  6 $  5/Relevant fields to distinguish OpenBSD versions/    67Relevant fields to distinguish OpenBSD versions (cont.)7   "Principal Component Analysis (PCA)# Further reduction involves Principal Component Analysis (PCA) Idea: compute a new basis (coordinates system) of the input space the greatest variance of any projection of the dataset in a subspace of k dimensions comes by projecting to the first k basis vectors PCA algorithm: compute eigenvectors and eigenvalues of R sort by decreasing eigenvalue keep first k vectors to project the data parameter k chosen to keep 98% of total varianceL.)+)& 7$Idea of Principal Component Analysis$  \Keep the dimensions which have higher variance higher eigenvalues of the Correlation Matrix &/./.\  !!Resulting neural network topology" ~After performing these reductions we obtain the following neural network topologies (original input size was 560 in all cases) "Adaptive learning rate pStrategy to speed up training convergence Calculate the quadratic error estimation ( yi are the expected outputs, vi are the actual outputs): Between generations (after processing all dataset input/output pairs) if error is smaller then increase learning rate if error is bigger then decrease learning rate Idea: move faster if we are in the correct directionT?I_6WI_6q *%Error evolution (fixed learning rate)&  +(Error evolution (adaptive learning rate))  #Subset training  Another strategy to speed up training convergence Train the network with several smaller datasets (subsets) To estimate the error, we calculate a goodness of fit G if the output is 0/1: G = 1  ( Pr[false positive] + Pr[false negative] ) other outputs: G = 1  number of errors / number of outputs Adaptive learning rate: if goodness of fit G is higher, then increase the initial learning ratez60H[0H $&Sample result (host running Solaris 8)' Relevant / not relevant analysis 0.99999999999999789 relevant Operating System analysis -0.99999999999999434 Linux 0.99999999921394744 Solaris -0.99999999999998057 OpenBSD -0.99999964651426454 FreeBSD -1.0000000000000000 NetBSD -1.0000000000000000 Windows Solaris version analysis 0.98172780325074482 Solaris 8 -0.99281382458335776 Solaris 9 -0.99357586906143880 Solaris 7 -0.99988378968003799 Solaris 2.X -0.99999999977837983 Solaris 2.5.X !P"PPgPPP#CCBC C CCC -Ideas for future work 1 8Analyze the key elements of the Nmap tests given by the analysis of the final weights given by Correlation matrix reduction given by Principal Component Analysis Optimize Nmap to generate less traffic Add noise and firewall filtering detect firewall presence identify different firewalls make more robust testsL+wJM+wJM9 ,Ideas for future work 2 This analysis could be applied to other detection methods: xprobe2  Ofir Arkin, Fyodor & Meder Kydyraliev detection by ICMP, SMB, SNMP p0f (Passive OS Identification)  Michal Zalewski OS detect by SUN RPC / Portmapper Sun / Linux / other System V versions MUA (Outlook / Thunderbird / etc) detection using Mail Headers `mU'@mU'@G 8 Thank you!    For more information about this project: http://www.coresecurity.com/corelabs/projects/ Contact us if you have questions, comments or if you want to look at the source code of the tools we wrote for this research: Javier.Burroni at coresecurity com Carlos.Sarraute at coresecurity comj)1~I)0~Hj* .        0*X/`      !"#$%&'m 00$(  0r 0 S `   r 0 S p G7Q  H 0 0޽h ? ̙33y___PPT10Y+D=' M= @B +}    $(   r   S XPp   r   S W  H   0޽h ? ̙33___PPT10i.Ppn+D=' M= @B +z1  00<D<!0(  <r < S Pp   x < c $lMT  . ' D< #":. '  ,< Bdv ?"  aSYN  @` +< B ?"  fopen TCP     @` *< B8 ?" eTCP * 6  @` )< B< ?"' `TSeq   @` (< BP ?"  T   @` '< B ?"  h closed UDP     @` &< Bp ?"  aUDP  @` %< B0 ?"'  `PU  @` $< B ?"   k URG, PSH, FIN  @` #< Bq ?"  h closed TCP     @` "< B@ q ?"   aTCP  @` !< B(q ?"'   `T7  @`  < B8q ?"   aACK  @` < B q ?"  h closed TCP     @` < B)q ?"   aTCP  @` < B7q ?"'   `T6  @` < B*q ?"   aSYN  @` < B Aq ?"  h closed TCP     @` < BJq ?"   aTCP  @` < B Xq ?"'   `T5  @` < B_q ?"   aACK  @` < Bbq ?"  fopen TCP     @` < Bxpq ?"   aTCP  @` < B`wq ?"'   `T4  @` < Bu ?"S ?  ^-1  @` T BFu ?" S  ]1  @` T B(Nu ?"s O  ^&   @` T B1u ?" s   ]F  @` T B[u ?"Is   ]S  @` T Bcu ?"]s I  ]R  @` T Bp_u ?"q s ]  ]P  @` T Bru ?" s q  ]A  @`  T Bfu ?" s  ]U  @`  T Bu ?" s  ]E  @`  T Bu ?" s  aFlags  @`  T Bu ?"s   _Yes  @`  T Bu ?"s   ^DF  @` T B`u ?"s   ]O  @` T BЦu ?"?s   _S++  @` T B@u ?"Ss ?  ]S  @` T Bu ?"s S  _ACK  @`B #T Bo ?"s Os zB $T <1 ?" O B %T Bo ?" O B &T Bo ?"s  zB 'T <1 ?"Ss S zB (T <1 ?"?s ? zB )T <1 ?"s  zB *T <1 ?"s  zB +T <1 ?"s  zB ,T <1 ?" s  zB -T <1 ?" s zB .T <1 ?" s zB /T <1 ?" s zB 0T <1 ?"q s q zB 1T <1 ?"]s ] zB 2T <1 ?"Is I zB 3T <1 ?" s  zB 4T <1 ?"s  B 5T Bo ?"Os O H T 0޽h ? ̙33___PPT10i.AТH+D=' M= @B +  $(  r  S  wPp  w r  S H w w H  0޽h ? ̙33\9   99DD8(  x  c $ԓxPp  x 7F `3  `3  Bx ?" `33 z Field name  C    @`  BXx ?"9` 3 ~Original indexC   @`  Bx ?"`93 { New index  C    @`  Bx ?" 3 uPU:UCK_RID_RIPCK_ZEROC   @`  Bx ?"9  s558C   @`   Bx ?"9 r27C   @`   Bx ?" 3 sPU:UCK_RID_RIPCK_EQC   @`   Bx ?"9  s555C   @`   Bx ?"9 r26C   @`   Bx ?" D 3 wTSeq:TS_SEQ_UNSUPPORTEDC   @`  Bx ?"9D  s546C   @`  Bx ?"D 9 r25C   @`  Bxy ?" q 3D  oTSeq:TS_SEQ_2HZC   @`  B y ?"9q D  s543C   @`  B,y ?"q 9D  r24C   @`  B$y ?" 3q  m TSeq:SI_FIELDC   @`  Bh"y ?"9 q  s540C   @`  BH*y ?" 9q  r23C   @`  B2y ?" 3  pTSeq:IPID_SEQ_RDC   @`  B:y ?"9  s537C   @`  B <1 ?"3B ? Bo ?"3zB @ <o ?"`zB A <1 ?"9`9zB B <1 ?" ` B C Bo ?"3`3zB D <1 ?"333H  0޽h ? ̙33   $(  r  S ]Pp   r  S \W  H  0޽h ? ̙33rD,D*t~ $+.,6.I