%PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R 46 0 R 51 0 R 53 0 R 55 0 R 57 0 R 59 0 R 61 0 R 63 0 R 65 0 R 67 0 R 69 0 R 71 0 R 73 0 R 75 0 R 77 0 R 79 0 R 81 0 R 83 0 R 85 0 R 87 0 R 89 0 R 91 0 R 93 0 R 95 0 R 97 0 R 99 0 R 101 0 R 103 0 R 105 0 R 107 0 R 109 0 R 111 0 R 113 0 R 115 0 R 117 0 R 119 0 R ] /Count 37 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R /F3 10 0 R /F4 11 0 R /F5 12 0 R /F6 48 0 R >> /XObject << /I1 16 0 R /I2 17 0 R /I3 27 0 R /I4 31 0 R /I5 32 0 R /I6 37 0 R /I7 41 0 R >> /ExtGState << /GS1 42 0 R /GS2 43 0 R /GS3 44 0 R /GS4 45 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text /ImageC ] endobj 5 0 obj << /Producer (dompdf 1.0.2 + CPDF) /CreationDate (D:20241226204149+00'00') /ModDate (D:20241226204149+00'00') >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Annots [ 14 0 R 19 0 R 21 0 R 23 0 R 25 0 R 29 0 R 33 0 R 35 0 R 39 0 R ] /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 2613 >> stream xYmoF_hr8:MvܵaEmH.%(o3HQP%}晙͙mٶƟ-F!e/]=,;T#/U&j~eØv-;o &Ty.=qA,.tHVaX*oZT2<KүeQ2~? X}{&9;R0VǽJ{L%02eMʊ 6wt48]w/* % s]+5oٍ.XV~%*"S%#O_h}#2S:+z>[7όNErŶxpdRڇ/_1 !# :/(G&xw8r|H]w$CO2p {O4dxOQ~t^ZeH]XRپ;i}o^I=j |n[ܦ:V  }ź!`o0a B;oK}/*hP5=TBY@  8>yEprû#<6^}s5C뇛Y`{a\{p18{1o}w?毞$䖷k"V*Ն- VI#E(RB?v-@ CRP.hWMK) Bee }NwP Cukz?i?Rq3'J:'6ȡh:p,ϛGn!Й\kP&itJe'D*.,լ5+d^?bZIbLA&6&u=Vu;bw1RgOe\n6D rAՕ5X^N 7T 2/HvI.~40j=kmXBVKd X4hnѡPpNIsvFE'4z4E+l矙z֘Ar#o'O0ގ xcٔ0=?z1ޔkd Uۆ{,.mr;- j*:+u%=j?tͰW^d9v >]iQ;>$dC:akgC̗'sa?A Tzsa/nb}(v\%dFTf@c]M7?B$W1` | Qyo+3S7ǎ A^܃lSܫdoX%XیLl9`1`k{Xq\\;ѡ/*ٜ& /-O&1]U}hJlde]>\v&-⿵Ia-W+yƍŊ]-iK7VL# zoZpU$$ӥ@vbJ4ܾ˪zڲYjY X2#V,7|Z3 hu|_u&SuB{u-Py~NZDQw:[,X>+b~D endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Times-Roman /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Times-Bold /Encoding /WinAnsiEncoding >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /Name /F3 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /Name /F4 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj 12 0 obj << /Type /Font /Subtype /Type1 /Name /F5 /BaseFont /Times-Italic /Encoding /WinAnsiEncoding >> endobj 13 0 obj [6 0 R /Fit] endobj 14 0 obj << /Type /Annot /Subtype /Link /A 15 0 R /Border [0 0 0] /H /I /Rect [ 35.0000 635.9502 101.0000 659.2002 ] >> endobj 15 0 obj << /Type /Action /S /URI /URI (http://creativecommons.org/licenses/by-nc-sa/4.0/) >> endobj 16 0 obj << /Type /XObject /Subtype /Image /Width 88 /Height 31 /Filter /FlateDecode /DecodeParms << /Predictor 15 /Colors 1 /Columns 88 /BitsPerComponent 8>> /ColorSpace /DeviceGray /BitsPerComponent 8 /Length 46>> stream HcO@s&> /ColorSpace [ /Indexed /DeviceRGB 166 18 0 R ] /BitsPerComponent 8 /Length 985>> stream HwE6 M7 >I@ 4&i* ;B Qh[T|T((*wzg 9䞜/s3̝'r{C^:=]'z{0pkph_H "2#bhdhG{["@!)9Ǝ(Gc“H~j|x_DvUF7!''-&d0:yjNz{~eyi N9>6qtDn'yh8xyul= >0A{ R W*. e2׈#T«nP,0G}u\el)}5+ 8 8Bp't/ rJRjoѷfJ w ˫?ń {ы`dT)]\5q&XRbl9MȲN| |2[z#BZVp%rn,b' l.YP~򩡬QZD 25c7 B| y ll. 5&UnX$m? _/6(TeSqXQV #x;f.^b7XJt*9S*|MCmSRdϏ7[*ލ$zLxo GZGk}`,Bd$9~x LoK/H/үxKo;B_԰$n? a츚?Zm0Y@C#KV|-ewކlYwGW ^IR"lڻ"iß6n([薂Xi0°8fSqɗH#nX&9" endstream endobj 18 0 obj << /Filter /FlateDecode /Length 512 >> stream x þÿþ¼ĿſDŽCDC  Ľ½y|y)))ˑĴ()(@@@pppPQP```̶PPPߟZWX000}|211 vst# ȿľ)*)(%&?;?>,' endstream endobj 19 0 obj << /Type /Annot /Subtype /Link /A 20 0 R /Border [0 0 0] /H /I /Rect [ 153.5390 626.3265 490.6430 635.4840 ] >> endobj 20 0 obj << /Type /Action /S /URI /URI (http://creativecommons.org/licenses/by-nc-sa/4.0/) >> endobj 21 0 obj << /Type /Annot /Subtype /Link /A 22 0 R /Border [0 0 0] /H /I /Rect [ 112.8680 615.3375 150.8840 624.4950 ] >> endobj 22 0 obj << /Type /Action /S /URI /URI (http://cognitive-liberty.online/sitemap/) >> endobj 23 0 obj << /Type /Annot /Subtype /Link /A 24 0 R /Border [0 0 0] /H /I /Rect [ 158.2280 615.3375 196.2440 624.4950 ] >> endobj 24 0 obj << /Type /Action /S /URI /URI (https://cognitivelibertyonline.wordpress.com/) >> endobj 25 0 obj << /Type /Annot /Subtype /Link /A 26 0 R /Border [0 0 0] /H /I /Rect [ 203.5880 615.3375 347.1470 624.4950 ] >> endobj 26 0 obj << /Type /Action /S /URI /URI (https://cognitive-liberty.online/dataprotection-according-to-gdpr/) >> endobj 27 0 obj << /Type /XObject /Subtype /Image /Width 70 /Height 70 /Filter /FlateDecode /DecodeParms << /Predictor 15 /Colors 1 /Columns 70 /BitsPerComponent 1>> /ColorSpace [ /Indexed /DeviceRGB 1 28 0 R ] /BitsPerComponent 1 /Length 275>> stream (uұj0 f!Wx^%W  > stream xc``? endstream endobj 29 0 obj << /Type /Annot /Subtype /Link /A 30 0 R /Border [0 0 0] /H /I /Rect [ 224.5340 571.1397 390.5750 580.2972 ] >> endobj 30 0 obj << /Type /Action /S /URI /URI (https://ec.europa.eu/research/mariecurieactions/) >> endobj 31 0 obj << /Type /XObject /Subtype /Image /Width 1128 /Height 149 /Filter /FlateDecode /DecodeParms << /Predictor 15 /Colors 1 /Columns 1128 /BitsPerComponent 8>> /ColorSpace /DeviceGray /BitsPerComponent 8 /Length 493>> stream xA 0 7r >rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF 3 g4@h9rF-3 endstream endobj 32 0 obj << /Type /XObject /Subtype /Image /Width 1128 /Height 149 /SMask 31 0 R /Filter /FlateDecode /DecodeParms << /Predictor 15 /Colors 3 /Columns 1128 /BitsPerComponent 8>> /ColorSpace /DeviceRGB /BitsPerComponent 8 /Length 71363>> stream xwǟ33o-H{Fc,1&hLDc7j4KbI4MĆ ((M .,wosceA"0ϲΜ9sw !!!!!!!!!!ѽ ٘oo}'螄l#ߟ1 I6$JA $Ŗ @b`X3(@@02"BrϱcQ*u ] 0B҅ěcnj=.f8_T 'Hf,Q4,HMVP&"=#鋯0 #l`K08bU%LLAê (?IaD@#jaHQ,}`X 0{%1K ~ /񪕫s90H@@@lքLb"ǖ~cz} q%!!!!1p DB૳W\{]! V5/j6>d ĤM8VJsi@!)&|m fDLLLMz,+ =Rf $ښ9#HI]`AeXK$s[UpZ.$dk3}v93VVi,)@`\? ܆ BK,}q6Ğo4F ]LJCBBBBB҉1O!5z.p$ؒ}h?i`r&YŖYeHL-*gn~ݨn8c|c:*+26 \s^'5c=ot[ܓ>&iVzfa #^gH֐(~]sJ^xʨf$} h5 m[]ꍙp|ucSO]5[J" .(oO_qُ>ƂP3l)$"sS[;-WsK yKӖ5gr;}MOxLYuS4}jI&V +s>5mn˜UoϪy{ZpG-("^TS~)~>?ˬoZ\S\USBg9˳P"SͦG@݀I[ZȎ[htgz~Z+%cf{}~ۗ,ql E,9 %'f贷9[ BBBBP8t" w>lCk'l F"]r~>?eyy:Pk#&ښ)bM ]9hAuzW,1qlT] D1ߛp!CwVj7 iO(BB:D ܌YfsVJ^owP+=[0woI;4Z7~S-8+/G$V,eUYumT6 ҩB1sD#&}@bYi<΋ټ"H4-' kʬ`0L@>0 Hb` ҩaDzWWr A !.'lK\1Avt 6;m{!!!ۑp.8$!Xe!NNAM#=O/qa2@L8`UzkWWè9S,ښB>K%#c_&~v+b^tOӡ4.8Bf443Tڽ8^R++B4p]cnƥ+/XӜG))[MC+U~́wIBBB:N={ ND<ԕOTdk_bu )$4H 1V5!oД7XdIѕuqfKPM'cZ7Vc\:{B^Eek3lyLAM32&K5?)^2]+/ke+\0򹆷g,>OHb0 @@a;p ݾ 2vo:[MSg=nҡۤ 3ؖ9tp {҆[xCθѱĐCs @R7ڏ>jǖA^P?<4>&l%6ζ?۶ !V.I}g cܮq{[㶰+"h2 ٷ{AmY7 L(BB:VJО&XK?U-X|4`FA ٙB?R+s}ǘ5Hx9+XE!lKG(z)G?vKr4R3tR&1/dG'~E?.0<ed,t fch%.5nni)OxX3QH:E 0˿,*mpc]w`Q{!{{3<{5a?~ypF "⩋}[ (%|#xՏ'Z{R&-i ֞{ D72o9|RΧu݋/mi?%87 `eө;/p DHk v[v)/q$ 2Ev-(5DEOw'n2U}L̅\U&T"ۅ"GQҿDyОmh,EZb 0L(g$H(VX0k!"0/$Fr8PڡL̬v, D]琐7SN ǝ^\{ρ98/mɇn:μl#uXګ82{,P&RC1GjD! 2u7h־rT둃ḼY߬F6;sW?qt /9YJh[!<55$j%u#ec;]P8t"U69ZNyjʲ]*!e6 B2"$5܌V0CG >Ă<>''X ve)1_6i5<ϺMcҵh,-&7]Ԅ^zso\-̨-F:Kȡv@m|~pu,q%* slEL<֫>G9}p9+:,4,Kmu1>lq{RD,+V T1RJ2$> Ƙ`=&V VmGB)RBpj[*^81=C^oSD/gWqgoX,.AlVwi]Ɣq$N!!c;D&Y|C/3saxgd^F]v@ؒ Ox$_'V{ĞG2lxIcAnBJp4> Dj|<" qŵ!rR21! 0C-qǽYhx݊b[Q4K4qDybϵ?2_ D(B%S>;ִpøvmNoA~݇1 `8bʬU=rmtYN `bluF!D$CGEHAD16_gBf Nі56sV"0̪ά J_=97}vah퓲۰ct^䱟?i&CϿI*ܖ"l0{SHH'•-BA3NsC)d}y⅃[ѕ5MM洏[Rnj#ޯ$U.j/VFߐREZrhΨϕ+2!JQfDk7^r0V^pG괵)+WY?n^8 \k#I9KsЂ((0ŕ׏ hgޫk۬fΩ ©&Ս1qJ23c,jPL*q!۶C(WlY{BJM1f}.rR>d|Oj|XފŶd8- ^<+5jUg?3Fp㏼h|Stӯwlm}#N!!۷H/mH2o.hl.P V3`Y@(#"ҐEFFtx&'@ lƦd d"dT׀ =!7ƍ<2 Ww=uT ,|@>IG !"` YX  :|5 ׍ v["g2¸0Ы}Ok݊ܧ/,iv"ퟞ:`@Hu됎 ?~gV'*dwc:.cgonh{h ND~3A $ #(Z+к u߯ `2F`|l$@8F n[@{L ,QoT&dw߼x5-ѝYޣʡ؈<3Emx-q7;'o Cy?^P*>&|D?~Zh~z?O?aC!E*$:!!bu0E AQh>2r,[,dljqȕ @EAK(SʥO4dk9Ċ1$NeEM2|M^v3󤄊0S?^'5 Eo c{mG-N!!L㌈PHTE嘎xպWxf4r9S޺yeݙ9VK9hY`)y׾߇ˇ] Ώ)$JJF h'=ZS3m-6SSD Ch`C(%FHeVRKEA1JF OIRFo )e)bLU0@ ڶm6(}"OԐ-]j9N痺p9꼿o^0n+nD@ Ś=3ʖs>ziD:D76VZi^º nRN)) C"O/Ջ5xek=H J_}ng+ zm[(@C3SĮPa ΄&$P* 00j8!j'nAd>9Rکָ W57RA VaX  4dUKJ*ӫw/0Aqm4# Fj{`2m۞YVm"Ѩ nT 2dp߼WG@ev6f6}: Frk^[1l3sauK0@$f biM$ַn]Z59XA lWnMA5e˯t707{?Ysnݭ '=kwZ#N]D.xys}FlMw>XX[2苫tD5Uj_ۮ?hR~tHlv1Bҙ` 5/@'֬  ZhŬw\>}&%Y;i@q^SOvk4'`ͮl}1bR0OXsOkRAy^}31l0 CaEe׾|7&cs`1[ېl wfC_Nfho~yzKbS_ҭ0 ח@B9モ /4 2t~.0?ٺmW}޻֏7.Nػ~(BB:zO]}!Gp{YZt&!XF/gAU ?\ϋ1mzDoy>pyW;wzdܸ!b!A $: ˋyqvgI4Y01Kn;G"cO/}}zvIEv|/B5 Dd;Lڔ`o~v0 B46gfÀWUY(uбd=snyFt~,0T5>Zvۘ:O6Zsz#fg..uBy1C"-k\ر"[r՜7ntS!!=I@Cj2ѐ`63yWy*RұmPJ "P.U6^tR MDXI?a⦛LTzRz6g e`栤WBe7^xQ}Tqrl]]t{D/d:`aNA?J .9uk#Rُ\l)(i.uB1Ƙ 9yKD-'kQb;j8AE@+OݜAY  7 "R2nB @hyAZru°a 0' &t| xe[_qM =$! ƽmQ݇_XU, ((,/[%)CDZ^EDJJbf"@`be)"ff@!((DD̬4`]SDA 7_"%0D,ʊLGDĥM~Æuq`E-JUF5~H;U A0O^!Ͽv ?S~ꪁɩÄӃ\[_z<Fɷ{ɋyeOɐNBjZdrH21LlúYJQ)MK^iԌnv:D Rri |%D+#u )4R2 nBKmzJ5M2@#ZC2MTy a`d\^KEm8V{ Cb`SQﲋ߾{}h+j auU6{EpGwݰ{-}tÅCMӱSټy~,Ӿkژd"yA!,<϶m&6ZLH `۶ѾT<_Jav&}fEe EaQsh50R~az@+5͕NާQù.7hJ%Px;Kk0L&K5 \}ޤ*R1wZHHZkeYMieD}d)cY>AWNWn$RKd؄bi}QJcC`F:krK['0 4 8s~5\Š$ A &%Q‘b!0Y+{"ᘃI ch﵋*D9\JVĞxơpSW ?}uUվ| 0{t~ ei1廳jπ8Y( PIYT613 &2"d<hlBG FHD ()kzqIG{: V+l|drOXөkY#fJ;jCNKgS +gor CґH)1X QâPKmǜK΂&E+ѓ"oB8mD+zq6ْI?1\*"@LJ3& +;4ixfO`DLL !eyB//O|)B &>GpţD s~,`KG݇:̮q~M_ܷ;,poZvTlI3fw]'?\T|>~%-m|!H$ql},!0IƅD&Ŷl#1|WevsSs GWgYY{!o6 0^DCs/=E+E>)|Ν08y/CMVb'XѐMG݅ SHHǃRJkeQs>Dhq(⋔ 6Z*WGuҴ)J3qdҖd\_b./ZX*Fk[:W* XCdEmnIʦdNOZ*zDTd$䢞@ew 2<8GTa;aS 4 UU }ˋw_e ?| ;LZr#ݻ_ :yNgAn|Tx{-t$0Q?uw!??o}u~6a@NQWE"#d&!1Ʋ,cBk-D!yRJ 2RJ"B$ A@"̒Gi-"bEE TR_o+b)eC4lwd/ 0 #~w9B)Flɢ )wW}.  &%Ԑ%'Woyьؖ6BRzϖίVqRaWVPDcs̸?>-D=dS c}t+ݤ!0c&QL~ޙ/}Ј( r['v6ΐ a+|zBIL?}iE1fD"oL? p5gsNm;w={gާMbkEޣoa" ";s_'n+ ZIAA|x}eFHLE𛁁baIz!1?W?hT<&&E!]tRk?+. aFI پ0nXunJᘑS-X:vtG3p xھ=#q_PEnnr%哲Bg+ۋXYO{ѹC-<;o5h/жy 1^a[р@EPe/N͘|6s*YR_[9gI@(Bv>p{6 CM0VV7}(\zISsfT7nփ^߷b62+{] ^A$f۳`찰dz|cn}\v  m"H $V-jOd*HL4 ^nk޻ 7P˼ߌRr&%?uf;`P"xA:~Ў}B6{c{8q7N??iP80)L\{wOH*~J8 ?{eI5[.OAnm|Ly|~}3+)V0y`e JxKh)!L$^,)"w"Y'd.yRWJ(G((*+Y2{i,'b)a5^@]f&c{19cj곳Un5UC`%E@@ 0fLj+vN۱0\#/~gܴ|v)޽ѫE_l];Tj`Ve!:>Rg֜toGw#2{aԜn%N!!h RcE1ͩf`ayic+UMP@*+Z elB8UwT͖SYEk#(zQUq!"yւ#!B[䴝"g3ӥ2-˳lA;G lN$.p0֥a&`\UH$8[ڗw[iV 7f##t'D$Dl B< rF K ~SlU m^ -@oti]d[߰mefUL[ _ȨUB""0s ynr/w^[r^ÔM|Opå=JZߕ6 W~+m` LYgn@TɜGVdW |qvNp D wM7\˗MSv7  SI(}&g/۞-Y@w(YH/Z `m౓P6-[37ye\GF@Z!x whSYSD(ߋvB6yaW9 K!gu˙v"N!! #Y|.CɸfEik @Ѻ4u-YM\D/4FK >JsU 8MVCFY2 OK_x{ᇟm $1"X& $b'Yc{z套zC +0v!qc%d\DG8s9o%o.CL&˦!VdVp/p +.GnE奈19۶K܎`f_T|e#zvIoq>[|{,@4L,ɸͳkTCR0=}TyjWe'+/ի6:nH!O_ҞK.Y*j*zX$LJ鋗?Yb}r|Cso/X6mv>yQi6MޢvsY?.R" USW!țw_}gJj}0;?;dYʭOrmүsMxIϺVL~ ҿ{C Arӹ=O[γj텸K$:&;L-]:_=1T_q] " ֱE 5SM u˟6|mK׾Y/~^wWc{i߿5T)z`Oտ`e4Oߺw(wVՖpzkw|EϙrKz#7AzQD X=X(RTP("{o!ܺeܐ I?ٳoNӢ6}Ž} nEݘ=٤^rߘl~+$l =e|lv7Y 4;4mo'~שTl"5D\<}Hޘo\de@NfV\l\t\ZEn9,!_S>$`)!F8 G. $BPcLCštz?#ѣԔ(jc2A{hآE?իjKUٌ2 9Ÿ}k^=Zތl2@Q˽xDD$d /p9',Q=NzQ?EB M?mQeoXnmNg&8rzl}hH5SrI_9Q8"ʞZ 셰JE+7ņN+r]V֢[N^9g,a{6}6E9:\z $opP1jػR흇3Sj|.(@RAih$"c edo [UC5h_n>~A;XڤigGxl$0F~Rl!tW,S4_gW$`H( B(`uI wx - Rst2lÊKboݕ kԨɗcT=tW04&-=45uݚ.Dؒ$""G( W]ll_LRtG"R3{*`ϙR=?ŽD3iwWaH'Kd:,SUUO:ƓGh&t1_D5)@=vxc#!@~ ^=6TkEUh;!⼎;xc.L|`}+ED"3mڙU_?WQXfj]+ծR<oѥB`Y` "B` ]r{~]4J-Z)Ay#b6Uro:eak'[7 YRliODz LϲKmCG$t~aم<%ݮr ~OVbd\b}MRR~8*V{PPa=vI֬Nu_ Hb*(@V?󒔔S[_ʽ错.un\ڄOfb:#eٵ  qfKK2:0$W:d9YѸbmD BA@ 6( 8 T֥䌁0-$KR. X.] O}{{+Rrhj#q KQB~Y,v&FV7elD 3J!4!FƦ9fˌ>%wbT0p4HS9qBUo^{IK>vr?*ù'x *0; /SSRtCyoc@H͖ `g԰b@m"ČP7!귃7w wQ`][;TS#m_vMxGؚ-—y-~T֝ tݑ=z,6~k~{.'Y߮Ž(h8! 5 _> +Bf_b|KO̿as(kzt9R'&dkv&/d#翠4S7~]D"۰VF"ݷ:=ZƉ; Ȁsu~^PBr8)/@@޴60gΗEED~K,qo4%\Ӈu,EY$޺~7;כs|;t* C&W@ ,96Vb9G[Ȟe)ct UECF22%1$[-N'-M5yP.5m)Vznj6d,,J'peI?8Ian!(DBm@!,b u!@,mg82"cAqR8 Rx3/4~F7`3uuFGwͅ7u+hs޴[ 0>놳pďT}?J5vl!K]M [ƤNټi3 QL~=ޡvA hP##}h'VR+Ej`up?'W`J>x[hc"64₁]7ekڙ@X[ϟ 뱔Oqkk?Hq9N{[?)(@DA+j( ľ4iP'HW7XbILo4?IcN сHVϗMzoկ>qmZ)K[vى)m#3aXPZOs [7^6 Z$zQǚ~>&* Rk|^ž4=Ķpd $VZW;B "#bQl۟״OĬg+[jodBȀ S.mj11,#m͝'7otQj?/(?e[izK=,G=OH?:Tg!0Ra*m۰@dHr\D sc՗ z;zLBNbaQ(`Kև>A~IUH8CDktlū2iM]|1\DSPȈnn;{'8L-#U]pRU@860PSL`J&S鎌Ap)g@P,fQQ~F U* t9Xfip53$@BQ0$ ?>:X)˴3FH)x$I6p6 d[cEB mp(t~׽huYu5HǹRz iDzRGn9V  6_7پeFo]D/5wB~-") k{r|O4Z5yE5%ԫ:NhxިbU(y.B]^vƔsZ5xjG޵O9d GkD{#PSL9V{SM6F,p5Hn ~ Hd2 +g/-f":TD F~Z.:aiHlnΙco5v6}NRMò.虚 M+ ~F!푹^uuHGH)gnNM/K5ӍeDG87~`g^-oQ=7)j7.M7ao$)bL]s@]yWz~GFxi_ǩB1‰L;GDjIE֏:~r~L;G,@$)yJ|/ZIL{uPD`䢉%JZ7y80 ).>IV^ |$ަsĒ:,2Bx5u V""s$D9ɀ$_j0=cۆȈG}=>?Z7Q![D-4_ yBH2jsǼtpDRi\3jыyAc.r=Ou)Zx^ '(R˲7n'_&'cY;

lYKDANzqsQ%8;)N8Yvp2)1>d,Q%'>^SBk##]IR&G='OF:d;i]{/@(^'sOO$  mC7v pYr&`,\Ӿ`1'?L_Ȋ[="=\]J^b\zͲP=2ZbE{嶿| I2 s/D`ѿ[ ,e쥛$W\g2!D##v $|!G6u$̕Rۓ&V ,XrhGVиd(% "1wδ4C1m2J7-;#f+JMq~kjj0Ң`gVm#.0E#X@ 2^"ֻAO 樚j8цWW~9=7ﶋ*Ws*TI19NbAs!RV1,9V9b\C{@{5y;y= >pik=:]5FFG͚6B4[G457F]%[8њ%bf2 r\SA4~%q?<~,G<]P^|j0,~]r9:*q3,~ C5>`~.Cо/ۻpŴyR<CzLKBq3Q:$pX/wHÿ|_ٞV^j<>ED8$+"ah`XϾ"g= ?Ql㝑+ϴҠ:SQۊ/?(z5ϺF4zod !{Wa(/tyY©Juf[| Gܥ0&\WկveD{\]QRMiyC6A,XD.cJ+72W2ª5ftWUJ ,۬-SSRzoF0kFܓ?txMD-;# F/5=A-J # "ӷ;ňRK`D;1M!"I3Q/g& cQ=7Ӻw„1.gG:y4oȊֹ#LSunU}7]{GzkVn7/uGZ'UWBU,MɉSܱ{/pz}CGL]:.1JYD )/ңkl|Б?xvR X%*F@q>Ik?ܫH\^kjp:,9Vnl^k%$W'u[1f߂遊dF|\؃;ʡ)Vu,L*I2[bۚV𣭾b "zzDXS[TSUTaۆ1C|v8]IbA{_:"5J =tD4S?=usBF$LT+ڝ}OӖ0B.II,BP3?frBOD@v'D^ӉUH28*3W~u r{ie6-˚}^޴BߨnԨQ y_Ѷm"޽%Z]H kA.݆hPDvw܌?tśY+(nҎM\ne&04-c((s!4b;-Rv.xweT-)}lŧ6q(ѯ٠p$GAvC=4t ÅIyA Ow=.lH>҇{]r&J,cx;{<&WcK? wBDvff۹[ְl`ڀWCV֤ Ya#xm 5k7xvUYG7)n'*0a$w@;tK9 uiS*aiїȲ#'@R.^zѩ]2*)j4zTĞu'IeX.Q)~`. 4GGV8^*&0?޿' Щ&} '6:L])ֳb6ֽ= άVUxsDDD˲~52o.f(٦}^;l<<0eד[#K@Jf Hd7Ӧn/}0wVKަ2Nue-&)9'A"ݎ%th~}ԋٖ xyUd :*PT5IwFgcNcߌ+l:WH""ٹ|3t_8 )+߄ϳYyR .Fi.cejޫaGe6uMeOƌpjS/'EG,=p/O:OK54zcjuZUTQi%,(x0; DKVZB|Ҭ._tOYdk:U8"A ]N)`,[*x;Сݠp¸XPxSNB'7P XU쉌77ȴSDēy ƀEIS'VoG@`-D%m14EucŇns^fA`~EQ{qlm$D:^X}ֳڙx|ӑ)Pdah%*?`<㧂C'۬FBZ~qtgtG}[:ӛ ڸ"5eCaēudUuUT2Ez¿~ \^-dWbbˑsMazOIG OYHA!D:_bH/Dz'@NDv"׶C\oŮ1}v#y 3ݔȅS#؆T䁝fv %طߓ|똥G"Gk:HFSL[+ zwlj.GuVô `r^~go+BJ9}d#yG*˺rCжy D|1/{6p1JvNtӍT#9r"j\?q;+ɏw8701L<_cZbם)ֈ6-fl} [8;M+Z551E\mJ}Htxi|_**"Yj+E ߼Uk٨Dϒ*$"aGFBkuɩZ BQL,9A{ G_#%DdЩǯ eCHvSS4[VGQl;xsHԜsgw N}c pi2ɉ4 f;mlXz++6ԋ  *fM&V~Ucf-Iǘ&];w T)Y$@H#TuBF[LUk0N.`[g >[ t.Cڰ0˧!j)|lֽ4hrOEMx|f@ C}YxX5'=oЊEg"1(X_F;bj%̑;˟ 35b֦|8ׅ冔6-NOWԫ-;|;H61J $8 "+^V3WV JI Yk'£"ChQag `qj0:0@$`Dx*5B :J(pY#rw9wCza1{Q {L@ $Gy@ Hcș>qǀ;F5n9j`s~C/џap "?u +Ӧ$xe;ğSw;`+?v=Գg|DD@3w}$ь7֫sNO1աZ29"q r޶-jw 1z Œ9}4U"r.P+D&O0"T&`AWqYrR"?InsPUS.kRBD"9uھg+[r6Ge_KSdf[b"zįG&?{W{EOS]|_K Bm2-ZnyYJ,y3bkooUSgȞw4t!Dt]Yy$&~=TEH9}CF6+kdw1\vh{3⥦:|-58[=j ug]?*ysXmَ3Fؖ@erJEE P|dG`j9f:B"w$T%`H `%D 'Ũ7Q:ltبSd (&D@ 8Pީ:[iPA,,( gj;e şɩ#3QyNl$Xñ`޽{t-s2ͯ2 =I'veI v6x Hro7HWr/05ɿ]r RO].'1B jMNtMx5Y/}+T>{!R^gW҈zҪU@5"I69}DrAO1Ă"7-TS+#pdfj)%}-s7C8s^E@Czh5BrhriJ {މFNe/#7\o_e[rVg(깾lCNpVG1I e*qVaˁG+OȽejT ݀,`b57" i,$<GAxaH_Ҳu ^'#(]g"T{nD]G<+h RP^WYef@ͫy:b^7e@]'" qϵ*v?_[իZ)M{"DԡC &4o|ρ}wK}2%SLU˗/2 vhIAm8rUI1HO)hˎ@$'i'Ac}EҶ5+4`歄('Ȳč?SD%M$sSsZ<4f0g;6hj$$9u%Njr%ѕy᫪ XH"D;Q J%awjK:}5wC.[焼anbJC*~BC+ -wkL.s>$9%'P8DWHu v: ;Y{rUM۶?P0HlREM?q䋛fTg";+I_Q%MK}zñ-h=2IJCdxEgLIIۤ:es܅;'r{еy~ US,_oDɣJ2U:$?@HQr{Wd p]kTE w sHaW'):Ve%,MQQ̹`bt0oPjKŔ 62xwsw cQn,Rp%W#+k^S`(TJncIdT Z7TH%aXFP Qg S0`}?`YYb \R,ߌ 3OVt@=< Z~.N8 GF8+jj (mqCWBKD4k֬L/t69T4' A[ KznWCF޽[$Y=%۳?MHpUlP2tbVK贍6/zfƹE*R k.Ѱ4k6*s6kw^x짬""HK|=3B @t8UjVk L4->󟆀AS_yB}$׳z*t8Teɂ%Z/ޗx0vnl>h oR~9}7 O;]' '3~ j3|"龄`5OAY5Mzi7_-nzE ;Ɨת&p&]Yf2yq } jY6\9yvS%WQW4u Ta[r*R7ޡo ]8kېij/>عO?$o+V,$pJzr.A TOZY> Х;@IԊY=,Ұ~—"Vw.\>d@R_hA$^XjȲ4W=l31P<0H1X;Eh8,]!OHm`aszc%I'ޤtm~ھZtvh I#yp6D@F oZD7!5 {V1fĉd)D`X;> aRܗ;)I9wqlԼvW]{][pXJRM&tՊ"W;=w{z9WM(_tq}d"i;87uHxk].\%)1YQu |/;OD]dηI6\4Ճp_<ٖ펋:yEO'DHJI_L+ڭnng??n?t݆pi4[wHhxfR3a X}vxPhj@vɥ/[]oAozδڦQl V=U?Bv='LR? "yfOK,jV!i4|FqWwC\dcԱA1sX,0^2M*\TTSQv ;bo}gȴ\B9ֹ-t D-!Su kD5X'(|}d$PZ zYD(KXPA!P TEJtQ> F$O(뛅6=]x6z : *ׯvPobSlcOi_g@ٻu c1S8PӴ")-hEfkYfhyFJPwLmR_մ - <լ]٧+zR4͐ZwBs^O?|prӶ,y兀"ŎnJdN:h]31h"VA+\:qmiً 5FnC9`ΦC"HOZIE*)O'b"#mOϬ[fMQu7>K )_nzt c*٬:c$:m4kN+6hmڛb)K+$ 5 8Dqw'Gpb*8{= 2+Gl kdVhPxw/7(W~E?7XPOD.˪Ǘ\/[;NYS<`͑Vbc=~ī3VkW:^a\.pA►u2TA3Z 1۩Co˨m+|>1inUuDDDM'jj ƜC ygM'$ɗyaE$ONJ>B^z{/N?9 IawF~EKWq(!̣x}1t_ ?:F/ |nIKnr}W}SpOI{s}]gGC]T]go.h$!`veU ?S_~!1k;xdH^gwZ;,*0&*CBxgx:/cbIYdkڑ5lkORS1EmrY^hHڟ>{}<ȃ<[=ټ=["}kW~^گ}I;󙞋ZjӖ>2YٲjE{> K)5M%dU&53nB Otv hL.q{iҢ>dޑ-M aڥ{3v{HR, wQr-KH#лHGPPQT)V,`)4D+6 HEt)ݖy~Lw'$}?gfwg;O(E˯=* {xl#@u;[~1aLh@}P}P3d,M'PT3" !du_᛭9-k:6Z @X?O:QyU]+|X0̛+& ?Ͼߋ7EFP[4ztPr𫄊r?[ZxL ƀعة9νC]KȈn8b-.(8Ǿ <. Aм~Mba4 au>DL3g0? y`oAA@ Ltu# $3:1?vg- h☆) A)(/ȋ/h而Ap ۄ!$tv.^?ILE2 )G_j(wLevxu;: j"%v6U; y~I- ( ( 34M;5k׺ɀg턇47 IKۄ)@, M&O~Z|1\{UB`' Qhb1wtotxc|83>) (ʬ?) !lڙ+$L53wOPx_nUw>+%E [7y.9-+A`놽?΀I^ØG@^~d3#Oi/vmOܹv͆hgʰۦ\$\"gzu#mZw{lYH:;60'\< ibin-Jr +Yﴰ>d-ּnQg^t5'Zy36*+E'v=vo@s ~:Y̓X[>=b~, n<4d:D 52ܷwmʻTP?a:F(JA @((i = `ok ,rt"3[ %ib6ai2?@C}Ntk9M1 3݀$9`K#qIDИ1D!MCDȐ  NTUEr<|%j7#uB0+F14K$B 9'ғk*J">߭F ~"-bA"zxT_(xs ~*SfDא2!yN~ þbxGRD31fy4QqI{{o[j" !~,  6JH=m Ae⇂$@RT8D>dKhԼ/qZq6g)7uBڜeVnQ7c&D7^v=ܫ^wk{"9 yolu '@TM/ջWgXre:YفbڥP]؅4͞s@P@X;%sٙgP$uMA(-ԁ"!) /`: *eIG؅}ҹ (Ju]~`\Y B=,HjERK %WUمtg[f$!f~ؠ&Kk]FEa[lYr̺vW>m9( G֏^xakTK؟7ul8qg+Mj'g_(;5M!g7z-%2Fe3ndć'x2>Wj0"-8.:9-~}ʢ!}$f6ݦţV,u>UXQK=tcU;a7&dϟ}B&'(DU'H 0D;PJf鄀^/xPTX$CGBTPr@Ud+Bw֙ g TL;QУW#MPCG!WWiڂ1m۶~t.U/Mus.gv͛k׮#)(JF %r9]߿|$$3Z.=)"8j>aN~"'||$volɛM@I)[9' ZkR5ӏgA~8UO٬Op^oO$014w<{?6Þ&B I\> A#7 U&Uq z%b 1BBBhT 8$ %VKE& D5Gb &ʚmKp_ xs Ӛ$NҳJ"v----G5j8l߯ hdeʴISZ4i4zGժXmw%&@XJR&8̳iM'ud^E.XKaZ۱Ӛ|Cݫx{#ߣ18qr29iuA4w+8R]ëv{Y0"LP Dح'|PL}}Ť@i +W:(;!<3eˎ{ӦL^筛qcܵٸp*:"{#*_p\HqfBFCP)rU#BHF4[%eo %O,q{ӻ}>bntS:D*hӺvƖTgopt s` VEQ<ː;ݬV {Y/mj3qB.UB}NPEP4U*S%e&F8 ce)кeo|w _7^ ,0U=~f-!sez% c&IWa2։ؙ=ǿxxay?!wH̶Rz =Z |OWU[!tF5 oNe3M"m~Ioe:e"](T:@Uq DP,C?oаcζjcJu H@hs0ZվU`>W.Dtdf+.B~C/LW N&gFA]sF%".9sZΘ9^eEdaDդV!8I6*r:= Y *T9?@L 7GX!!N@{Ze 8o-RklKwBDrA%T=9i{ rJCXe"Dp&C="Jބ3g?8f8q!mw1Oe5J W N@"@.3}DN'ZEX 1wR! /JzyMgfPJzpxZ*)I(^(WWnM^UM&ݗzQ}o$~".W0)yQ0Kq0TGq~SBi%" = cSP8p%$n4KTTs0Dws˻k~lf&@$Jy˻j8i +ÊI@8cɗ=)u`r;R[s|LM%OȬw>RUDܞUپ{fm'"c._8|YzpʔZ"cW%2C #ֶ9F} ;?*fM8$ٖ@Dw. r& yyNoT ;Ow)){Ϧ%k>5(8qz|ĩ$P`(w4(P ,ŝ.L,+A=Z9*י(HvT'Wĩ€N2A5Am: R0 P8%@Ւ-# Du;> JB5Yū&>}fS&Ld)I1n IFN&]}@`X}+rm'O5AX:]E_;lYH(@%^U`AS|T^es5 jVՂT X֥焸MW qx><奡.*f@^^ j D|e+@0[%=B` < pL2:X P(hjRmu}}/?x Q߼>&;UeHQS7<:Yz"}Q"*a%8̔||WGFKhּJ$֚YvL.j㺤q] MG"+ td%͏t"C0}i\F/#Gp8fi={vʔ)O>Auz왘hEQl^… ԩSvv@Dt:ׯ_ߺuk^?Q4h0sA!d?|zz:&N/y%KKQM|úyҧZ8{1?>W/%n-LHYlh}[6ŏ -z7ynۙ)!52]Wx1JT4IUQ pؐ>ZYՓry?cHӯrʪ'^tn|6etRa&`M.tG'(m@;$|L s/:f8Hn^;*6QWƀH 夤ur矏9Aܹsjjذ'M4_e|.\8f0TCdhhܴiSn xb!xU\O6M_~\t̙n{l0)Sp CBBoUU`С}ݖ-[zQwDD,4 \Ȟ1㊘ft} e돀7y_5q5pKL`w[׍ <72kMzèw媡DB#0#)‚-&rr^ck(RdY[pp7$ cǎ+V={6wLJ𒌱EY… \A^wΜ9׮]o߾h@7lгgCϋzmX˭Vl6s+XLL w9m0`@tt'tuJK,I|pΝS &h[Vn~ߍ? F)[~ȟnnJHHԩӾ}8 Z*&&+h2~ {X.\I?}8 Ϋ!;5gI.7YX{o CAX>w(ꄅxe۷H#-+(ȐԌSq06 XDJǃ7?zDo:Y{[|\ǜ/Ě5{t;ԻJ0\) yGI?-; @ A= ϐ.^uq^ ~&"?|\;SMa uc՛1\ "tÆ L.]QR-[2,K֭kFҥ W˗/*O>iڴi-Q9wxxu]k׮2W_Ν;l8.(I7tԉOQ / !?o֬6P #"" /%lܸcǎ|r9{$޽ o߾nݺݛKo7tαm6!\`ŋk֬i.\;(/2^dY杳v'Rp%O+Î;tynK\.)B1Pφ'$z^v$)1%#)&e5C)_Ôa0!BR=YS tw ~) 1_ZJsye|O={/6R5|֪ NeWM;0Bן0L" YliG`WN@GXJeoԕ cQTm>sc䬃k0Ν;m6IMM{TUzrnvَ #dOo 3*x]vqU4ǂ (3gG <VZvm'%5M3΅Ź20JS6mhpyܸq=Ɖq/ΚfQxogI^`qϐǦf3!e˖-[A8U2dH&M8뮻0/]wE)]bW7;3gJN2jtttݺu !$l &x<˵lٲ3g_AE,:""}%!v,SrC?a#^%jZ3~4]G",BwKp]!ħfzѷXաLMnjYy["$( x~zxYP51OSHHO"H`Ho9VբUfF%K Ǖ1н +T6xv A6.zO+p-@T ŽK"u?SS+  Q۵kǽ} 66vٲe|urVФIcFr'c6mZ5gI/Eݑo"Ayp7"ݮQA=zP޳gϛo&En2tRƘigϞ?} .<ݫ&s5w\޽;w.$g=z+V(Q6BHrrrJJGPu!XEyxS~QTzNW?ZQQV"u_=/@ #S%=y>E{-oߋP/:E?vQvDi(@F%vQ{2P:#f rA!z_*<3nHútvU%U"Tj _[n !/>KrUF@D R+ D!GV=gAS~q>EiM4iR1y@~/EW.o \ tZ+u5k>$Kv;?A@I4y )9Zךl/vZq-Wj_W?o XP$D 7`4hj#N`+hS;_mS6Dܫڍf`j{s %jdp(\L60/]1Z8X!›!WvP!}'lyYbV>ĩT`Yyo'2f{1P<ʿ(Jjj[ln75wݵ|L2W)k T$Ыq_gB*\lHb}z[; s29^W/7fr7m$_+Z',׀k>DT?R^JJiÆ }ǫaÆzk„ &ǧ.&MOÆ  _hw=}Z3f ><33sҥ:tb.oժmW<Ë*c='Oׯ_ll,c>!Nf͚ٳgݺu{/b$$$t=..?Ṏ]x;I#P!Y*.];(X?zn|ȟֿ۷/mCĻ[ZnbDKLrjTY!+ >}7 \†x~L*!s>FlzM*O7 7l:4R3M5 uVFPܿdi.V6.Z.`nQՂT fǿX]T1#" ϰxpdG f fPho3 yL8}zb1tkg0 `uh~UBQh6Rz9S -b*,,;B8oBBBx #Wg *joXfΜs&$$ٳ̙3.kΜ96[ɹUUqC ٻw/לp{B C^A999>uc*K yAzJIIիW=={ر")k8ˉD2#,'Ow[ 'NGtZr%X @e#{\"VYAM~,.nBMc5=}x- `?xH)=YT@Q{]]amoo㟳ЫHbʘZI /N:A@tyk̍!Rl>S 3ĩaE!7H,fUT5Yc.@ ^s*ZewF5"Naןo'8Qd>;|4HKB` 0!%5!V}UӹG]k1ƌC;JOt]WژKM)u:#G\+...##cرNgϞpРAN=266;^EDDN%ZUXB4.IU}?k۶mvS,_cL|@ԭ?7$+XN( :c:N|V8; KELl2!$.FKEߨh#z=HqODPJ39no.JQc5$7kin]Y*8&ޟPՂnXd'S_d*%ʈ˅zr^8L'Sm! Tf:p ƌUp~ C"\Ư,& QQD"#@ϋ-qu\+YrǿKt:'OhѢ޵kמ={ZnݨQ@܈wߚ5k8?lX^x:gygus_7&sm"6j(%%E4QeYv8gӦM~dz͚5--`nO:u֬Ywޙ:ujhh(W9 Ν;;c7WBA+#2DAbV<3o W~/b-k8G=4@G}a;ʫ.Qs{f~L*$9=w[;C)}*lҼ(^th'U4\P .l¶:a@ S#N{ZT70;gk_C(qgHD0m}I#zYs)@ +A`H/7 Mᬀ/wQ^/7c3ڼ˛7oime۷OEN ]RUU:utmM6<*>> zM&Ҩzŋ'jX\ӒTF rСofgglr׮]XND{>ܠAn;~8O<ոq:ppUKZZZHHߗs8D)=|p=J3r;7~ }1cF||eQF[.{,''G 6DGG넄Vw1ĻU@Db?^QtT%c""2ԍ~n? \TAD3> !4]'j@]eQH=F8pN-DEu߸ȤB\Ecdr63ǟ8EK:dy-wM( x:;\͔B/* P|WEd D4mUCUM{42+υD`~W_T2ZygEQdXc$q&ԺuT{SNL4+W|'~JzuV_׭[<ŭ?\U՚5kFEE>|G4ݬYtMxՔ-Z߿o~wggg$[nYn!ϝ;?vݚ5id߾}sE1zRQF͛7Gz ۷ 7FRz{w ϙOrrr˖-,+B)]pO?]ݻwo߾}&j?ZjUbxy/:ujĉ eyΜ9>0BPJNh"D1bħ~Zb ǫ~ˡ?P5&y!fku_]K?5Nw}y;9\ nzè>M/aZ0 ``d)!P LYd$L ɨe, IDDE@ )*RJ) 2G˓/񊆒a_E?>Ӑ_":9^3r@$(89qR+6%IA]$_GoAW0f,SL]⤀ydO*l~5DeR!.=ZVV$IUhe' geehX!$++KQnvĄ(>'"Z֒";{ڲ5wKIwU0ɍ]/?"2&K*Enu-Mbj9x Θ@[GيUrTt'{4289U,;ZgԴgߟrnq"\]f릎Cqw~.k q069nkE2DD̲3Jv0 A 16dI)&D&(EADH(œ4_ TOZsh=^)wz[|sBo\h w$㿚wmq $n{ 縧cH  1-3!K `PZ\(k[- av{)CJ\p)A{aڇgN$ny3osGiLי瓝Rn3٤ Q@ER ~ ĸ @EQ 85􀐣jNek_ⲕcT?/ۨiDLr)7 BgL 8HҔseDL} `%DLSx g28p2P).7H` j 赂 B-&,[-fI4SPDf`Id e+?=Cpw䅇rYZ kn Xd흙|ѭ JA\u#@ۻoF giD ZwNB@n}` 慌2ڬkrT)J33VO҃ ˪@/),Va!VMXOUL0))9y~N'r𘓥Pٻ(.zߴmɦB ޻ MiJQTT@!((*(M{ f˴vf7;s=  <.UDj`=<bey^%F`v2U<-֍j8$F&yzd` (U݇G`aje*oZU(h-Kk8VyS7жGɗ<k牬pA]k?V|t=û@m9ea p(/Ö"=VW@H )3d) ^&9%[8vU5ht1*㦎EQ{LOc .U +;)B/sٵSNFմKyBUH(XMX?!W Cj!TN _ƽ|==1uQz9Vȝ//nGVmPITP$ C8mTy{ߵ3E9No_/pXCHI4gRȪ „ 5eyd0*}Yc{F34]5)]jړ&N.*4/#^<Ԍ5I%!7y;p B1p jm|{'clpÅ^4lWEc$օl!)v!ﲃ8)|!!@ <`s#[$Gt2D8{- 4IdzY *RD҇`'ΓIyl^Ry2Dc TJC~2ʨ)soL?J((J,+ Dta\`w a[ceƐ]2J\2% .OSOo89'uaё-cUig_Ph1o l W/t('Qs 4l?!(v(nQf32 ұ'#" ^rbPJRISh"Ƹ@KOz.,r(JJYRXe٬VYo|||5jIJ,e\( M"GEY{9EQ$̀h,'N&M+g\N:E\p_yNsK+{ʟUU/ڸ g/KN2;5(ΧUJXB-|Q+E* XӀ_(bmoDP,@%.zˎ8[ZhL'.#ѣݺu#n7&dIVƎ=eY?pOJE2Z,"Ŧ,AhԨh$䪰%;jСCdAOQTLLݻwI$QN:OEyzzf9#6oȑ#[Q5(ZС֭sz1ݼysƌǏ/**R h߾qzQ8Inذ۷ dYL ʲlVV}_A?֤5 877#G$ͩT*j̊GHݾ${f͚}guXB2Iya233bHN$ID?|p.Y\D$PXb,J2 EMQ$St{$ɀiAXM y(J4m !e%Q6c o\4(I(,K "-bvc#DɲD40,K5ES'l4q!$J 4E,$1oB@1B˲f OQPe%I ,C+`(!>SAyо<$2֞2 B>=b$NlXƅ]?X,/8=}|󶠰ՠd:z?o8NI6NER~'G&im޵k=(jܸq h޼9!qڵ{N2z رQFAAAJ#I w׬YlڴEq/b׮]Af^'\N٨:xyy)g9b֭۹sO8Nժ|b1 %&&b1MөN9rhTR׊+ZlYfM( '©SvرfBGZzutttݺuOΠIֳgeb8d2Q&ĉ3f 4}zնm[{ 8q۷o?uTFӮ]υ .P+rr LB~^nana4M-Ki0`;[:5ӱARIfNلڡnU}k-4(*=T\Nվ~er枊UM;w'Y2cI^@ оvRZܶu=Howεk^QDQTkp?bB.4juv^yr 1}Z`B\J|ZiIIQi$YƝx{d @QH0[#n8gH='ͼ2?$gn_'0ϛwRrM~ݭ?Y%{q(e zw>e8AV "zxq!>:lzcvd)pk4^aGD m::t 8VfKViBQs0y푥T.(ұEi~:kݢ^"+쾔7oĤA]/>9]??xnqUpqzjJ/1պ\I=ٌo7UOdܥK Zj7Fٲeof@#̰aÈ EEZ-˲ {Enݔ_oߞeY`ˀp0rTrrrrr2ԩSgʔ)F=FqŋeFaFR~8p 0 ӤI aHZ!C2dHAAQe H<swwtTaVc1/]7nOhG@I:{A>/bZlI&֭[0̲e$0da4hTj5] wޑ$)11\$=-RlYɋx0*\8y+ѨUWzZһiN) r.+2M4uv[oR{zyY?\r_r~!D4@QW @dO*AaA~@Qַ<`w*MkV @jVZ#PH%$$_O5N?pWEHBpZxVY[E _qw@(z/P/x\,fLBQjea=C2 0]X; l2@XwXB=\l2-9bq/k7wTs_0ýwCÀù>䙣o)tаE_ݵ \ĩ`}M߰r@B;EiQF{oB7ڛȒZRuЁ1)))G!ohh(=5;g55Ų{n@A/^16Ų,_r_$7߬QiQy(~ʼn.44P/y"Rg" u<ϧ*b?`cжmۂB`>www2L2( E &4jH Q$ ΞrRH N4\9#dnO???Ib3~~~ݺu#\ԯT榐R^O&SsץKooo%hj.(X9cѶX,/3\pAS賟9|fzjC1eW˹O7m=~_$8v>xJ2IyW'YxQ]Bc0HrLE:axЂ֮&8s+̭LYƊRX❌w2ͲV(I[S`H|{'c<ܭ\h u9J}=]CkBmqz|YSҳ2zPeHm RK%Y_#!8x9cۍ z%̖Ե-E(WS^E zjnaqN!.9;ߌ5V 2;y7E>y>!eE(Ml2m:AْD=vS*\**V5oLF(.6E6@?ի>|XKOO'l^pi:h4Ι3gjTcccB˖-#rD\rȐ!kfU:^eQF;w|E0ZjUFF!BfСe̓b~ٰaCzaԳgO,TYDؔAy~$,!O9'EG)J@WD0G, vF1#:zbz?_2>UM XZ( cY],A2ֿ_TNi)N2އBͼDNb\^aN`M}3 ^_JQQ|3bzxuҡyB?539-rB: M҉9l8V% q $˿mh)TˆAͽTv/=nAgmtrueq< Ϥ;gk5J5𧀘MC*ݘb7nR߮\`0?.]z]YgV&Cl2䓞8~ !Tn:8P,ygY<[nVr]Yi:&&zJhӉ'ܹSoՙȩ! LH*b3Kb9mEdXZ2Nb#}\pr,)04- ʲ ۏ[0GE9h8f4Tͱ%FF،l)Vn9m_CK3v*XcJ."/ مم7eyZa{oX-_/-R[9CV1** cX-&`*QUg{Vl7Q,k8xF]ƬBe#xZW?, 0 Ͱ He;Ew?owۼ'{*AhfA)Fa5ݪm5Џ' r_ly.VW&/(ɒ[DYg>qgyڄ"=;rAJ ]տ} A/%t>;F `swnUFkGYG0#T8-3?.oW#\O;~3cZ8(Ei(@%t!k1pkm61A!왻)Ϭ,P8E;sq8U2J7Y|˲B1{ejmV\9h ǯO>b&;;{ԩЯ_z) e"Ic~DŽ󤦦={UV $IZz5o]ڴBU׮]w޽{ȫH*.Zx6xs Ol1Жh$ OfzDm)~zJ' |n;1.QAw߿eg 7Rr 0tegFdIL^;gP۱%[a߱;o:U`HK_Cá[4a˿boGSq՛G:ͪJB!z)_\9ݥu񲱕x%m;z;d{|޶ûaH61XCXu9꽰lqvݖ ۛ-853{.fүcmkY6!!~U" l_ᖦec::M&3H6zosp}un:ܡjVWYo;.CNHsGᐻ6tZsq2 #K }< &4n6rg&K d_y^Г\K

T>owkFX`,˜fκfֵգw/ @gIq:KwTtqaj!L/zuֵ5uu_`1 rcb܊B^wԥVű/4!,u#@6RLI~y 9B_ ek[xTpo (I[]Fwr$|]7X]$BDZ1kUB3"'w0ҟ}w( GT\*ڣq)ZKu G/%+Cu/#τ;E{8lR~^^k\{zv)IE17Zsկ{N%(,.ԁ-"u_[y}eY>zDnӦ W)eYCi4_|qƍN8n龾\SΓFL 9]FR0$/2L/..ξFy"IXPȉ% ОMR Аtv,4<% WSPP/75/a Efvb&)j+ҧtpձE5^hz;қF5uT8t^Wn1̰ 1&$p)E\hDaC׿u|λƹ`[33\r ^ee 5BP`ny0 @+zp:([q#Yn?B!cwΔD+O4Y;r%5>5?%p#)=8l" <}VԱ&m[URcrVB9z5zPٞԻr8EEtH𪟮򼐝[pv3u=fQf,M>1)4 ok*5j0l0B$qdW2H{kX}׍D& nOtjTFvdݸWU԰UHi0#1r=;Yee iWqk/J,=.߁UCb[F P=ת.T('bضmTM:u4kܹs Ø/;!Ǝ 6FM;//lqEM4Dܹs/_EQڵkɃmDڢ"2je+b>+lYLj٬M/ zS$Q&\޳ͽ=C}7zxJV>ڄtC|ylu#PoUGIcEՠF` ]aypu{h|qNT%G!^AQ@1ޜ!䑭Vq:K<P{hSn*5:z"sC;e1}[)׬Ҥ{ X9ċӨh\#@ׄx &3*No:09@֢chO2V1~S(jjS׿ƒl9Ӭ׍{WWڇv>/`O~-v_ ||C~%JREռ}!aM+vӪ'TnGEa[Npp9Mk9w,[+azjק)6{4 K#|X~x }h$zZc0x3ܲnI"e o\RrFnR*mF*54=op̕^^t5ZȔɈ^hW+,0GQ~R*D!$˒^~| 9mbN "Uq\ w.91;w`: [!O/OGԻp'+#(׫V;FYui{UD٬w{vX;A\WE ? (zyy,KF#y?~<,,sHJim^zolj߿' 81 C$+-ok6o<(l6o޼yȑ /:Ś\OE\bÆ Ǐ'eԩ3r!CT*BHHjXc88qBB , ل 4=' lғ'O^h(d)SFM&Mnnn,N)~ݮtؓe900P!YPPX#;2 ˋJ tZ~l˙yo],|r*4qX ,lLrv>!v&.1to?DQ(G6\LJXՎJ*lKeө04`2磓d a)lxe1 hW# P ?역4CpN5+"2>U/CKV Ef `A|x5y^7%^$B46]*VeL|2sO+ ۔W%IhEQSJabFPT02eVY5ۗCQ_>=v(\ɅX}zmXFqwsļĿKeOχأ ?#Ñ *cǎWOnҤI\\\JJ 03g$ǖ8)$$3lVSan+{c8888))IY "`;( ;S)Pv^7<Jj yeN\L凱˰eNuAV rwS2i*WٛaXv$/EI]:6@k0#t+<>}}!hzmB 5xZOCymm(*vjVv(i QHKϼ?p!~}Y/۟ xJdv@dr!h d TA_lA@0e _Q;2 aN[bk*a<INx(ZfQ s y#|`݅QVTPTpU5Bd/X7`&z0Ejwb^ay9I鶿8!GUkm5Ӄ(POVzN =Yn% (f: u}jyEc"ʑ/DN[ITpdyQs cW5O|]|٪4Rdf0[s?~5yG95V{3UQQEi\נIB{7 [ͧkQ7F'S2g ȖgK2E9A)&bAd&dYb$cE4@4/CZM1jӟS.B%_Rq4ѷiܱcG"#1e'{PN>]_~h4V ck.j R drYW~t= :V4e6'-Cё>ڑX)兓!D}yIC8:T7?ݬ~0$=pCAxGFWò$ b`lȱFQ(Qli7SHS]c.|{ƫ_Y3c^_wvYVJC)xHPS}@C&W}eVݑʼpO,~ʵ*ɠ(jy pH_kк_`[6ͫ pBl{OǟN40Oӆvi4@ /by&q-voةY79cXQ h󭗍jBhs񽟞s*4] Co>*Akw3=rB<93X? fA|)>) @}J<_h]uXfCz6Խg \pI"N.ס(ڕECCC,X@s.fW)4) P3 q\Ϟ=Cqrr,aaam۶%klj@,980*Gd%q [l!Q8TҘ3g4MΝ| k׮M#+׋h2E&gXDQ$ Ĕ*g@ ޶*W“gL$,0\R1V@ɴ%?=X€.;X~B[%BE)a}1 7+as!єd˛Kγ'osD:ݫ_ 3,?y!Dv@?ۧ $xI(id/F!DEur"XZ&|  :乍$W`ˌBod_XN}wqىVقAӴj&0ed0%KvN-Sm;!bjFKU_zr敨HJbYE`` MS԰ΑUTߜ2[I,Jr::?wSuA@zpr2luc<,)5+* . m2ʖ L5k֤wޝyIVI'PCiBRt!\JӽK`{H*aa%q322Bo۷ot,<ӉPa.]R݅ JJAZjELdpС۷o?KI>5kG\^ѡ| nz¨c 3Fpg˄x [ؚ+uB,'0K.>s8ͼ0F4:n8pmIQT.0Ĵ>}$vȄ+E.?l="T3{), Fh6gAwqz7rMbR~y;|?J l9^+X[="o#9wMвv@py$[uGQMۦ=9E@u`1og53Q#4#Ysy~fC(K@ƒ$ #g5kj1O7bMF1;ۼWh޿5hdNJ xCdr_%|w4f^/?V1(Fgc•m<f5wө(>z%iH7wOa]pɅ,=(Ν;ɺQ-Χ4ڵkJ_]jU=qDږc,FѾ={mA_ڗ41IsJ)CE/HoAغu+&Y$?~\c<0 dOh_7|sժU~իtBh&(;SLaYa]ܹXر#44IQT\\\*U:t0E-[o߾{$) Ä)ϑ2 ÈxMID&0F{?2dɁ<_"O95<ۿ$6lؠp$qNNA "_"v_ Ұۏ$^ 5PbP6Bhn(I"dlԎ-$Ixr. bAH!gD!DS4MQLfˇoubsD!!A>ZY Q4 DBt6Io `DOd^D$T4@1v,ht~y4x  k#vϯP鵲$+E,Fc?hD^/BB{Lg1:T"&$ ^n&fX8˫_wΐU[2m|NS! l6c۴dWZp^R^cBnڰO7rTl4@&Ϸ7q(@浖o`a(JߞEX},A>( },+B`BW0%q,6 HS&;uL(RGOLON5Z2 P3V#.wǁcq&6v;}ow=Ej|'-BV; Tu UѶ!WYO.N=Bj>t-r ,{GV~07VB/cX8),,qㆰ]*_~͚5! ̸ fbb͛f \rh4SZ6M@tA'q6-77ºLvȑTFòcxx}ǎ/_kKKK/^FT*yUq Zݽm۶a~>>nn%ŋYYY`Z,j CCC;:: R\VV&^oj+++ CXXpݻw[[[V+Qc\^^^n4cbb=.A ‹&q+W XKtvuuA8#xN$q`|e[{,?LNNv!|T{'@5oi^?f ަ2SM'_'9rsәr) !Ɖo>@XX,^2>j,剓y-b=CCCsBxxZnjtK[Xr7=iiibL&D1NHHHKK6zkMjttƍ.\(^Y1[lYHH.t:׭[j*o`s5C/&&fR(ozT t}hJe'8 }#0 %Fv7}~kRV"UqR) ycwt\+m\qFR w{FȨcuB5=\ꗟ'8*]֊3.RsqR)i]"J8?I1SRN TCBcXa> FP(84TBP( #y'璲3b1y0̌b"* L8UAX|gg< yLPpP( BP(l-xL endstream endobj 33 0 obj << /Type /Annot /Subtype /Link /A 34 0 R /Border [0 0 0] /H /I /Rect [ 35.0000 471.5985 614.7080 480.7560 ] >> endobj 34 0 obj << /Type /Action /S /URI /URI (https://cognitive-liberty.online/goals-of-research-and-innovation-policy/) >> endobj 35 0 obj << /Type /Annot /Subtype /Link /A 36 0 R /Border [0 0 0] /H /I /Rect [ 159.0740 394.6755 282.1400 403.8330 ] >> endobj 36 0 obj << /Type /Action /S /URI /URI (https://www.cognovo.eu/about/) >> endobj 37 0 obj << /Type /XObject /Subtype /Image /Width 100 /Height 100 /Filter /FlateDecode /DecodeParms << /Predictor 15 /Colors 1 /Columns 100 /BitsPerComponent 1>> /ColorSpace [ /Indexed /DeviceRGB 1 38 0 R ] /BitsPerComponent 1 /Length 194>> stream 81 E?SGߠG!Hzp1CTc1_H1X `J莏#Q-K(zJFqz0JMtsDy}RUbk€;(Je=zjZiQ.ɎTﶚ#/1הu#7qV"O)^F9 P{jMm&ME endstream endobj 38 0 obj << /Filter /FlateDecode /Length 14 >> stream xc``? endstream endobj 39 0 obj << /Type /Annot /Subtype /Link /A 40 0 R /Border [0 0 0] /H /I /Rect [ 334.7480 167.3226 574.1600 179.5326 ] >> endobj 40 0 obj << /Type /Action /S /URI /URI (http://cognitive-liberty.online/wp-content/uploads/r_code.zip) >> endobj 41 0 obj << /Type /XObject /Subtype /Image /Width 1600 /Height 1065 /ColorSpace /DeviceRGB /Filter /DCTDecode /BitsPerComponent 8 /Length 136179>> stream JFIF``ExifMM*%(1 2(;IFPGFGIi<pair of hands releasing a white doveCanonCanon EOS-1Ds Mark III,,Adobe Photoshop CS4 Macintosh2009:06:10 14:02:30"'d0221ʒҒڒ ⒆0000000100 h<2009:03:25 07:42:022009:03:25 07:42:02<EJR(Z HHJFIFHH Adobe_CMAdobed            k" ?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?cHWǍ(HW)Fhɢ "pVx!^v?4mFG 0j?GSthl [g)#+Y(ӏs)YwvYˌZ¹ڑWN QLFJMJ !=j -Ԑj[QCXlh%!xh&v-sjl6RڒxRڔ$Uz7ݴ:zm<ߤdxSƀ& SA4{{&uI31@kk>E#)6Etj\  1cfz3M)yU8Y+pT0-7f<,%aQ-!1 :QoM=!.o*n6c@&G~?]S7_2GE_ 4nc1 Iȶ<ʭdgGu531t=7,7COpwN{oTrd<;xJnBɈ7<.HmfE- ̗?ivkjڮBQZ$ф% {RPѓCƃ*]f]4o%EP@ocyaVUMRm{Q(;edu nP6_\>^ұ of@ ۗ$Q{z8r/A3V/<[N:Z,n)ccm6}6wSLGР b2kU8;9j U=۫RxBʻGMcM#;m7$qFc`Y}`)TvGUUV^@'+bُ^3)Aq}]=moOeVlze5k7lYs6tozF5*)>t{!\;vKLع}{Ecb67zݿݻ_ϧuhQh?:VOj[TOҸѦfPc'I՚vAZ2.|Yze*tY'4쮴RGi=Q0 [!RV6tD`J1  ZbOdm @b%pA!@8-% jbQC*ݏhxuV?Z+t9,sK%F?|rN?)~p'4LcyP=??ٗVkߓ nmtuYQs202FEKx]k_9O Gzl!\Uj8k={];+)y8iUnYoGn3qKApKm Dro*d;}q7XXbx]etkmMj[UDRmߢEm~ BVvD oqM1m. 飹T[]3p$sૼ$:jOEmcn=GMj4)dDTG !H+w  |{Z{ 㾩8d$d}F1ޗUg*}>N%xZ l]MhoT\Ǯ%%hrrԓ()  K_YY_sVcsIcٮZ,݋M"7v}ۑ՚27[J~{K$aDzƙ#h[ bgՊ}/ѓSәsLp=ݣ[Rنß2z~Vᣙ-}nX?7|2iRtwkqnO?gfZ9^&CaH4 ՝Z14)c2Z?54-Q w'KhpRL yo`Q)j14CM$4"6)^}`+/ڳ3ݎC5:?x~m x;#?NcW1~գo_S}2 yCOGf IFP pair of hands releasing a white dove image/jpeg dove hand releasing sky blue sun pigeon white bird freedom peace fly symbol nature cloud freedom 1 2 3 0 2009-03-25T07:42:02+08:00 False False 2 False 0 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;F5F2CEBC4C61D7BD3156E3D409B3D00C 3 sRGB IEC61966-2.1 Okea - stock.adobe.com 8 1 2664 4002 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;F5F2CEBC4C61D7BD3156E3D409B3D00C 2 1 2 3 300/1 1 1 300/1 Adobe Photoshop CS3 Macintosh 2009-06-10T14:02:30+08:00 xmp.did:CFF8D1A1204011689B64D9CD76A91427 xmp.iid:07391C8A20191168923FA7407E630561 xmp.did:CFF8D1A1204011689B64D9CD76A91427 xmp.did:CFF8D1A1204011689B64D9CD76A91427 created xmp.iid:CFF8D1A1204011689B64D9CD76A91427 Adobe Photoshop CS4 Macintosh 2009-06-09T21:19:35+08:00 saved / xmp.iid:CFF8D1A2204011689B64D9CD76A91427 Adobe Photoshop CS4 Macintosh 2009-06-09T21:19:35+08:00 saved / xmp.iid:CFF8D1A8204011689B64D9CD76A91427 Adobe Photoshop CS4 Macintosh 2009-06-09T21:44:42+08:00 saved / xmp.iid:74117FE420071168923FA7407E630561 Adobe Photoshop CS4 Macintosh 2009-06-10T12:33:05+08:00 saved / xmp.iid:07391C8920191168923FA7407E630561 Adobe Photoshop CS4 Macintosh 2009-06-10T14:02:13+08:00 saved / xmp.iid:07391C8A20191168923FA7407E630561 Adobe Photoshop CS4 Macintosh 2009-06-10T14:02:30+08:00 converted from image/tiff to image/jpeg derived converted from image/tiff to image/jpeg saved / xmp.iid:07391C8B20191168923FA7407E630561 Adobe Photoshop CS4 Macintosh 2009-06-10T14:02:30+08:00 xmp.iid:07391C8B20191168923FA7407E630561 xmp.did:CFF8D1A1204011689B64D9CD76A91427 C     C   )@" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?*mDZL;ozN:SR+v=@)NUWcȩh*2tlը j7Z+=r2k&Lӏ=ªz& ɚoZin1E`m]-=jҭHV1^T^IjoPuiبʽ_'|c&qTQRP^2G(MRTڤJWDLG{ҸRTy+m"xXε-[c#xnͫ\ݱkrŰT4Y6*n^Ӛݍ7-qFtNji&!9.mNJ,#qn}8k~UG95 Th~lŹRCliZ3HҭC %zb}(3ec8N3Uc+93H6PQ|YG57;4_5'qүKx5fMYw[eG+H̙TnxizU+j4}ꌫ2U9RFLh {U/ҜUWiLd_Q1@'RiD oZJLB3M>c) QbG|SCHOց )ށi)QM0v7u vJ~&i)أm7jOԋCI;-@hJø56Z4Ri}L=ihvL40{J n)qV(’8MBr("ZJ)h!9Pr((U CQJhQ@+Ii@ o֓mIHǵ-KJ@4m)i;P!;њ]sA#zhҐ–ӱ3J1ӳQbKE- -RLPN\JZZ(w (K(QF;R╂TMUO^b ZFR )1KMfM?(撜WAqʼR*Fǵ"ICUW#l!ÃZ1|x ԱVRfFՌ_(%x]y6,s_S{hsGtB~Zv1sYG[Q$k$7k̕Btɘ/Z_4>2eA;5ea^+i3@X#%USG\v ڴmzqR[-+'#E+{_n*#Sj^}0\Yi}6okJvFktEe rƢ1Vȩߒ*)\EvZ"iy=*%7ZĊ})^jɱX(=pn1Q(%1YҴ"j N*HφڮGkүGk {k'#Ki U-Qn-E{LتSM}k2nֱF2cn&y$km-"kofLkȭVVR-WIIy^ɰEoIҹ&bSZZҺ:ᖌZNJʚ߭v^+ ߞEoJ'?qoe+.##>zRJ-=)wV3%9殤g6=+6HyK8aP+8F+)3HrQEv*;5:-4|t7RIis3>O4=j:,~մYF+㚞blyFN+N+mҭ[) `sdf^0UgRkf [M.5Si5i4^kī/1VΚˊwNH꼋WdVE4K):sWZ:o}+KS=vUlc\zUl}NfCcdlfCeVE^p-G1\VjKq6Ⲯ.:$&\Mֳn'>~q6stF'ma|{Rq c~iP".L-#(M#.)K pm(1INtcP14x661E?mQSPV;ڋR❷ڍXci1N&@!F1:qRm6 cZLR\LzRcޝmKQNhhNE֓b mQNEE?e!Rh:ZZ1@SF 6mCqE;mb-RuӸ0 JRKj&( qE%(P IH Hu"ڙNZL-7nh9ZJ e\uK~Q+ mbD rQ<  KE=V~*tǁ:f=:THBk3tXaQMf q9),]-ŏQEjfcX*[S|E"ǎ4kHc5ab∖${6hjZK؎Ԯ33oSEčKFk~źW=m,zF:2\ uL+; \ܦL7J|2:,+HQ9 mk>stV}ſQ]JG;G+4;XT>W[7V~O5fV>5]+J(~ZH(kJ/T1ZVp²4a\V?\鶇?Ԓҙqv?)c8{'JXdYtqlpk&XMo)M B{5"ہڴ PКG4Jgy;hnEZ[~zU[B8 Q!]kCP'O!\U\^O5.oV트'3U6;\/Js(J10+6-NoBY7piW=y11\g5qqךy:i WDbc).z)?JF[#Be )j+?5LGLaTvZTL)1Fj2n0ORoL#֌qNe4cY# 4GN))m7/ni0=)o?IHW)"XS!\eߥP’֊ciʒHMIIڐI4i֜?m(\g?m.Gi1K #F~Kc"}(Rb@GRlHW'1iqڣa 6“-M)WGQ` eIL-E q9h-%)4zvcIm6IGJLP'j)zwhc4zRi1N%/ғ46SEF?:w~PhqE?m'Zn Pcv(!.) JbE:6vN#@;KʏJ1;RQ@-f%JZoz0zN r~FkR0&{P!iJT]spֱnDBAZLt't\v%Һm9Wv{y{U:VB$jz3j"Vdux'Ț9ⷌg<<ׯ5xho+RwZEj$Gg)hZC>FޟBJ*澧E0jwu3ZCG;4]jEsmO5B[b/'e9c[Q~FZL=m;{PU\V3>'&4\,U̳EllKc+v 8e)%8mDkP_H#+Zl)\y rQ]nc\f5tڪr+:RG*ϥ5WrlQh*Z-WhhMsQ^0SzfⱞbX;}_/,VAڬ@XUM.˩P NJ6cMmzm7m(GKMv"#qH2FKC{@t3w4CҚiت?ZO¤dR4S m1M۟j2'󦰧b~ f)@iqLi N4qHvx4OM5i[րƀ KKF?&)sE!&( * ;y(bS@9RF); :SEQNciqKފ@=E!QN8}(iQ)6SQN{q@3ۥ.?*VHi٠c1FRmh ^Cހ48 n(;L4iHڨ\B Ԫ&<)T*E"/iԀQU+y=(H byt\cUjXV> ZJ*%ZjO"*lxePW5v'd"yյvMo5a$tŝE1m(lsrVlmsJ& Uy܎,cՍVEsFrv;bKgb/Le֗׊3!Mނ{sZؕň5ҹVHi_Ox'M*L`WQdTVŮ HD-YE'!yj +5ZU'M;Wm#-Xϥ'iZMFc?*J}חW[g'V?5_1حRד@JbKկ.gVV:ڗhiGSt{wQM+S}kb$Ei)JJR}٠Z j#ҳ~ϥb{Ru^i1@4SxҐ)vbE.6S1@mRTE4CLS&Z3Wv8h^)v})6AȠw@&1NU.c7qnO™)^ݸǥ N"@=̴mVb-(Z  y{~T Z(Q6 miphiJZ1LBQiH)’R\wzҊE MiVj 'J -6m E;@ HV \RG ε!oƛH[!SPx4QE@8S}3IAϽK**PQTRUɣ=uAUJ:T_JDj^c]LRyu7 ݨ}NQq9oKRV(,"bԞA=\v+zU .Hb5XHU:R"1jhzT4Q~Wfj-Y4km[Zvcd+FCa$l5cw\m+f5(۲׽K%qX75Y $t+3KN+.}< Q7:s]n!Mq:{eK8J@jp4ip$>bὙֵG#skbu Ld{^ՉYx#)Dk81㊚?oC-,]0*'p4E\V-iG%YW,ch}M$PȺ5Kk?ֱfrF|V5yj54{ba#-`'K~:UqJqҫGژۊk}W,w05r ?ogzU;8n[yJFN0\^rer3[z hLr+mC3,٧|v4 4ɢ =+nc+F*ZRQTfcŸ-oaZٖ5mNV-k}48kZ]2+jIۂE\:B2heGdˉ%Jӊr Y k:I5uqֺRutrk&n,Z3ut';eyީJj̇9u+WVkTfjy VD͞jjSQ樒d]¬T~_ZJy-TMO&ʸ!yv*y~.3KQpDNJo}}>]^jړPx<&/֮ԞI= 2Kni|.RE'ҏ&T]+&/wQq4Vh:Ti)e#.*C0h$k(5Sٺ[QC5FZ\V3Pj6oΙ# zR7<智!&ޑqLGZ7zSO4QF1LCh41@⤡h+u#s@;mhR(-"}iqJwz: &m9yn:fnBcXIq7-?oT R)Bb-4xnhR┊))ih J%&ihKIE-QKAъiC)i:RzqsK 1Mǧ4ŠmފoFu%bE!F)PMqH{R4NG@ڊu(mQ@4c(;zTRu2@%1EI*@{Uu銕i RU·fj6 TQ1PYmTnZVbj0JBʽD~N{Q~Uf4ScҦ3QoZ?gzQW)R:ԕD ^UjE )ON)e/LP/OSMa_TU=elTؤˑVVjCV4zV|oS;hn٩m0ȫoҴ--1.E(P)G\Σ1̩h ćV]Z0*w ۩$b1YVv&FV FWtⶭ4qZiRRk⭴k뉖>j\y2&,`kԵ"P,O5s)j,rd.q7zWt|Uˉ:t5LV᪄Vm٪RMnYR^jJ<ֈ%Dњh;bsWr,g5{S>}+UmI(/lQW٨/k}QZ|2~)Ejڗs -/kWgҝ?nh)QHm[오/.`2>(?S*|±m4ۊ)+Fb6VT = *b6? ZI@qޡi*'^lrWM'ZI+IP֡i*&]+IQ4ƣf7QS i4ɸR7L)}(oGJwZm1/^(e/%;ҁ!i!Z0ږO^u4)6ӺP1>hւRS4bъvQbSqF@4 z7--zMSjPy4ΦsC \RۊmJ3o4Q)vb-/z(GJAHhn:Sۧx}))')8zi֊aq?1Nҗ;!SF=iKIACqE;6HSiI@SP&H3xZ\F- @RJv)Cz斝@^=;R(QKK )XzQy5Z61{xiҖScO zRO)UviNjwօZWҐЊ)= wjv1Jz\AZQO\*tP L\LUTn9*RύjmPѤMHV5n)+6nkC&1\OZNJlb7zĴxۊLL3Uf5L«'7nҧ@5w(5%ftEGb ^Iui'a`ʼn+JõsWbrdxV#FSYR_2q]uy+H#:?:S<չZ O$U_)yF5CPڤ [lY-ү-LykZZcZp 6jHD:zU'aXNjO27JӵҀkAb µ.wإXW&^,*yj:Lk/̌E\bVS jMZb x䓹.[9Oۆ̸ۚ9`ʷV]ć3'ҪM`kx>fɪS)#5ld4fkrkkI1ڮbyLCoGkocҗ@.S }9l;9L5}+|Xt}\9,#Zp0>Am uYWҟ0Lp;UHZ$Sb+J@4|u AK4x@_zQF)iԃ4(J@5ǥ8(5Ob6{ n7JOց NP-!szwցjj@i B,u ZrzE XS9xQR"=jPց-6匓R"&M<)*8-MFjUJڞHS1VTC4DjmUjU%#֭)Q7fi1IW"ʍoYh ޕ~5UfXlo7J٬zsXJ&ё +F + zҷ9dS62[ ETZbѲ+g{RgzV@5ZK0朧:- ";VAMm4C:-d;i>¥՗ RV5, + -F+Fbŝ͝lW<'Jo6]`9%1wkz J܌%nEG1|Dq㨥z段^,t+pAM*X6;R㡥H˚U杶5)6qRbe aRӔR268F\S4\EK6ѵęZRGnU ܨ$fN^KTW 5u-DkVQq:Ħ5-K8k[kc)iYNsYwSuu+\沮f*۞InZ"bj$d[F͏jO=EjN}wf#]'i 7ګ\/fQhrҏfGv1/h/})}kjV8r#N feZ5vdRkUUdV5T&IJ*Z{ST./+U7" w2u]jQ1r-uTM֫I/hfO% U$nYTL܇>xHhkDI)ҡC@N-Uqr*&?H D1XR5Fh&nw!Q⥦5R!%=6 e5Ԕ@ZUw}(f=*S֘hRm Od1:2ӖS%:RZn)FR4QҀoJ]PqPGJu4F)Ԇm&)F=ԴRN 4NюlffkRYnZk8TH+b8U')l$o_mx#P[\͔SLtYχ/]JKxx?^qu6\0)&5&6=zv1b!-c|ٗ~p{_iOL/ ~*|Om{ɞRkZx?xTi_ƻw6#@`#Voݾܺ?+Y.naIN>Mڅdnn22e}\ū? fmW+jsgٲH#gS|y;\~e}&9I?@p6Wu*=BQҾ9敕m^,kj~oI##WSPi ׬|vY}N[N|הѫSSjӕ)2?RQZJJu!߅.(Zub(ͦ~)h`.GIO"Pւ(CE;Sp;iMQ֝SmF)x.(G؞gNaI@ E;zCSE<BhrhJ{uIڜ:Rc}m.(|٥m4{PpR U F9Ou%!ڞH\0 OUm<j@}T *eZRcyu"HRQ})WRԋ+"*XT*EO⧎ɩv!D=aV7(ȡa54"Df ح{GcDM]XoAqo=nJք~luvs[6kj[]\ҁdv+{YJgtetFH|S[KKq[XlfJ 8Z$Ciң`BqZw NqBcIbv3ZHkr0Z+H,hRjM/ZQ Slvд (ME3 5;Sv"/֝,FCZW(5sp[8M+asX34$2ze+x2Á˹Wd.ڷVF.$֥k]2vfNWkX4 =ɮ?K=+QQj֗Cݣ;ڷ$T^S\"U)6.Tg56UOdYw:3jfmXbjBR>Ve9涌 +8q{|e*& \˗^k:k{y&'<9[&.D]z5棚C֪LI9>RI:ӝiH9$Hiݪ h#Ui=)7jZFl&4jڬ R1Y#Bƞ(օᥓIuRI#c_hxizp+i6Cֽ $3ԣ8._Mѩ(3aw:vt »IF{U; z GZ=ԏv=Z?5(nt*ە*hoLf.sYݗ [SM O8REQ@Q@Q@Q@Q@Fƞ)(|n kVH|LjFZ*eWB-U{SJ\i@uOUZj &QKE/hTSU< ش&bNi{_VeZ&NFƠʺ:KX&Hަj˸f4隩EtF(Ly5bF9޶F 3jƭO&3TenL+jXj#VɐHx5JC֬y֨͐KUާ8t #{i=VD25 *\3eByjvR*&Lբ j&O5-Y Tޕe3RYLa;GLheV=6i?nj*Dզ3L fڲҘc]GV ~Ԇ:b*4ݤqVaWZcf9+SGZM?M(REmqRmo0"ۓ4}) )qRғonڛh H?Zh($6zRm4:TM!R;Sn*E&h0zRS֢7O4j@6~SJ@2|imFm5(m:S('ԨŦ}+>x*J<>]iVRom y+tx#5.j֒gf2AHV=|0][N<]CR_j+iii}`]."Tj)#F5RUNv?<;bU/ָkxIT|B4qZ:QE,IN" 撗/VE/>-h8#/'RRhΗE bR{Hb~t4m6OJ~)61S JJ\QJ)hb( Kb;՛j&Zۚ;jKjl}Q2Tۚ]r1ۜUVzmYM?5j&JxGnkR=4q}*+3?j'ӏK1野+7$Z^j8zqWOZMoJ(qtqہW#[ҭǧJ(j㊷U[Ҳr5Q)f&=+B&㊹wiL.;VvGk赟9|vpYn2ݫ72Yo;.+V.=*x6m3DzzUa˫*1Y"J(Q@Q@Q@Q@Q@&Z(R6)JFl}* ':J'4@'-T*y Sn V5Jf3+c,Nym&ULq4չIbV2e Rn8,ߞ*,{VzR֩K!5&Y4SFM3g5NRkrM9*q+e$f~lȧI9TUdR+M5^M4vRD83UdE&}*簭9V3]q吏xqg<$Һ'>iƭHSxH^dP5Fn&APj0ڢ6VYMgUG)ۜU k|qm}6x'kojϥlkQW1&9ڵڣk~S'kzakz깃ksLkz6[sfsL0V[M0S/ɦ{V@=*6ɱSL~xM0>O/:oXbϥ]]KˤW ~ƏzwMߗ7e16bmvvT}MLD%sIiY4ȍz}1_Eip*KSPN+ԡMKDpURi=QSFJUk/+[vmbМkWa MM,=G6Z+u%'Ζ%4tBR u' 3ڒ QK}ƗKȢIրuif)E-RB-Q@SEZ@%Rbtm sHڒih@P>7ZZhJ*Qo*Et,cHڣW*(#uqWWS,u-,bHLTK(VAS,,bXSG08w,cN T7J^UR9PEGZֳw-X-YT܎՛zQV*w\jwc5L [)VAڳv5j;Ƴw-XЎ}*vYގ9QZͦhhjqVOJ͎5b=C޳i+YY+.=C){MHѭUҲ#zdSFv)VCY1~nHhK1٧eũtCfi+Q-XK4c5F+{wY;[{ ,֠6k'sM/j@ 5?RP,CҝP*:4 Z( ( ( ( ( ( (!&u0׸ SZOZ !kEMN⠒Z^K9ez%Z.^*)(R j)IϧIUY5z)&i,*95a5ZMXz։H|)%I5oz&+TCh$Z5ԲjyUd+DhI,U&QOP_W3m jOzi/G8fmZqU$ZKz%\InVsRuך\zUy-ҥ{U\'T R4<in*zT\Zz :UwT0ZI GQ4biGD 1Q4x=*VTm !BhL DCҢhS4f%FR3ǭY$OBсS4c!2vM0#dQ#EQ2ژZ+N'7@1b[=ik UfnqjOzbV:LKzSQF(Ғޔ7oZk.ޝ)ҀIZ64,m!47m!FIbF)ߥyhI6P!йDO*r+럄>!ZU yڽ.fly/iB_.[ 7ҹ=jCpQY^" 9ۅEgccAopO#S\:kA\sXv++h/yLks?j?=ҏz4vzStAϥd^]y3VЍIJkڪ3\Sһ}"#3MEqsgXԹPXp|E?3UܛU(JۊV%ҴD==[CFLB_zŃڕݹBS2gԞ=A>ǸoWҹ_' ae#'(2}r8T%{.;,CN.?=q.O GuOX˧+a JUcZ pٟ%R[t;RʹS撀KF( Ҍ u (yZO)qҕzzR CR6@^F( &v(ү;S$|RzzӸ Rf. 4/@sҗڎ&9RcސzR@ E-RK[Yi.{<KqR,RyJR4jOY!皙XjyJR4VjfsRkqS-eV_27`p}S>cw#֜XFnJ6@jUl}j}+2%ih(((((()OF͊JU4֘)UdVSU֩D]TFmG֭Ẻf<)-]!&Kqn܊ϚZےTnRmҵLɣxکLtB RldJUeQҶM4̇jі׮*JXܥ%],=ES" w\mNu UYD .jE".I%WkQ֊$\K{IuP֫HƴQ!ȱ%t}j]LuQ5&*ը[kzMP<|s/sTSP֯"]{MuTZj5\FE4Ƙ'zT͏zQsZ~MTscObM֘ d>֒bOQYZs4Y:UrrK!5\iJ,'ixCuUrViLEr]٤Qo4"]ޔ`&MFbԛnnH_M'׊v &Jni7 ,Mo&i9q{Q֓.)܊BiGw!ϭq:sM柊BRSE'INj]2v1@S(1]c/Ra#C2cp՝H4.I)#-n4%Egkҩ7[."H+C[R|h >x&\$q_|:c ]mּױ؄[,&+_)A+''$6uڬ*r湭BCnOsҬ,Յ-/*$t>+r>fQu~,mjxGY6l0,p*ᑋ/QAD. 9=+)X!%<=%{\Ia ~jVMXqcGuyaԫY1Yh Z*r(b, ɳDGf894aLVlM< C94cPXŻVzvemWn9Wަ[㎵-Iw : T}H/T˨{0*{ٕt˨TVޣُQk"\ݓZ3[zo`F!fRf^3wgnJ=j)Y3EryjoЅzbfE^1Q[Vy=k 3h`*n)P0((((FMCځn5M+J^+I5\ 0V^nx燮+7J͸<[FFRMj:5ukq;WDZ1eFeQH4ۈ &d/Lzv#5^Ikn5L;FժdsVe\ڏ=j6Qd9I9SB)|zK=DEY늧$;W6qU݁Q4%sU&Z"3&fHZD5,u^HT2SVkNhj$^բd4fH )W:36gȵ /}*cZ#39 +E$ڮX^L׏xZSlmެ~ Fj+Շ^=^9d=j23-DVC#vQڣeb~t֗n)2)nriv7CTHMGZkqL`0iuwLf9_7j+JpRqH-&i?3dG94cP;I8o4C'~.i(RRcI\S7iha )2isIqF(1GNǭ&(coz)ؤF)ozi~PqK4F 0ifJ> a67-n"W_uScCn[jμ}E}!~vƾ 9Ul=$Cˌys5kNI,nκず6}5"o2EUXL["+ά~U]e\djjvaÖJ3#XZ.GbLp<¨F8'ȹ{E'jI$=qPu/֭2,gu F{UhզEMFVuGT"c.jG4UrJH5 »iVSEi3&)cLCwc|5&)1@J bF:C))آ%?ݾ֩74C-~uBC8G;Ѷ1ڊnj64ShSz`%HsҝZim4C@ @BdԔRsHwCKխn1?}_-$߿(¾C{}Ev%_({J!]*&տ4[s{UkbQqn/qmU724h1ޝRu4 ;ޓoJv .=ڌsOM*v)xc)E.J1@E8c֓=xzъZLQϥ.(!)57ҖR4 F86{R/JZ`7-|l3ZqUZz`Q:xzV*qO $8ISaܼbZԋ-MLG454lzSę1ye=e=iLqK|8,֨,jEr\ԫ7zO Sb^YUՏ%+崛I5M}jUlT4ZeŒVsFSFwUt2Pդjbe9 UWUhu^OvUTQZZcް̄q\ҒFMZڴpkqV$(V) N\icȭXD8R_,+ֳ5sj zΟT,HyOZ W˹зPG^h5gp 5i,A*L֩lOӖȎk^ݱVժ$欴VfiFfY\_l`LF*aM"Օ;Z[Irj)SicW$YBZw^ Ny^&(j`(qcnY c$ޕwe򚸲dϴsHᖢdU?85]nK&jV<íVVdFRū2Q#5NI6ּXu"H+[);t T:IYwV!8ɫk$O+1/4޼V5Չdճo2NԌYGObxN^h̘ۋ23Y۞xHʑMTaiə4gIǭ\zY3efn*6j֠Tm51&jrFfcUM%W)7.}zm8eȦ=򋘹 i)ZQsZj^jML,PyԆSNܐmM='; 0Y}BمQ$R/_JvңjH3QõQ%vh )U+c-Xe2 ꉗEi$c"ZdCJV(ǭI&P)SMtb֛E4~}i)-IJBKv)*%1J^hhQm'CN4 RHcqF)ԘԊwz(2JǾ(=D搯"@ּMHiO_a4{x zuϭ|ዯxN.t9kCIvh?|}+}FJi;j|DNuo(۵>#/WkM{;\)mq^Y r& }7LXR\0O@j5r9ȩ^Cbp*k)Xݽ+%pʋ/$ՖofCҀ:6dh}+{AW]!fnK7r\k|ԓֵ#lp2Nʧ = A`,ƫ-ޫ!c{H~ 9u {fSkl-5w^H{ _ YI,z!?JlP*c>Po1Gv;|7nD̈́+v1 /BLmx#tmycxk{X"Z"G$rW`9w&nhg@IxNڲĖBCe'x=~@eny!ܙXSFMCS5 L*d|^15:gGLY<}jWJfLWWGYTZ*V¤L#튻 EQ[#ҶlKc甬kqknM-EZiC4'tVviGHWޣT #Z&W:Ppq\ή[/C֜iwmj3k:u+e Unz>FkB&ہYޕ~KX6_j8LSǵsMny}*k)2>kHH Vd bn5 lT3ck[ )2JصcW= }kz;QD%F՝xܚ\$/5c6ܛd\3KC7jZY7-UbY#cI4 ֩I& n[:{֒Cõ1ּ7E8ص+wu;=܊̤1_5$6sX5QH.:dniXUUy[Bn+h0IS֤T+jbsXsWR:.RǨ=j]!^DU+ulƇT[QVG+Xuc׊ВUiWZM)}͞: ͞nx5dYc#Q9yRrkڳ]1,uZEkVk|vR[&dњ늁֯:Vȡ  Uɣ앪 *JEƓQS۽C!Q"oM2Tlƣ5V&JiҢjeUORy4+ e!g⛾¹.ZB>+ ލآ¹#0晟~) qN¸wSfCS +LoRZcSD5 EPM*~.3LSMhǯJb"Ҿ+.:SM"*B)Me4ҌQn0S[T'nyDFzJn* SȤmo4f”{16ъwz*J ;ސ ~Rъw4{"$€"?2M I?MUԾI]^bu3(@"ԯ̯kj%~WoC.)F]J0`mlf5r#9_IMȰ `¸p$ R}@ w[x_,Wٞ Wm Bތvj(I&)6(:}v(4hojZ1@ĤNJ/?Zu&((4Qր>7R@ ֌ө(Q)HJ^J_Ê9 :o/;A bwҐ+S^4?4WH¤Vw֐sR@hϽIIOQB-J%VSU}cҥZ{T*X2*x֡QRPZ--JmaEAdV#"Z dLƵn[jZٖaYI1I[;"qSYit6:p'30+i8O )-X_iX׊ᔜ;#U!/5$ڦ3V|96sHܸՏfͨ'Ȓ훽"c[*i9i}XK`+uZ(qAYMhZlwdle݊صP u 9pW47 Ҩ^py]]{fk֤̍ҷ?(f-iXl7~I<"85nmkin1Rn;6\ۤͺTT*|-65e%>4} :go6mkvvnRMҩi 3|k3{wپV5pfNkhHIJjXk6FcVF|;%YSξ ct?5fqfG7yZǺZoXֺi#*F+Q},ֳ;kBј5A+df>q=I%S[fT*&ځz|R[#"ڶԱ+-Ff1G{Քs޹AtAj}^ҭޣ,P=3VcG#Esyq͸.Zl*.-zt֥{WM4!ֻ[FN'/4j+OjΚoj茌%HzY"[3[4fMRGޫVUFlPHrHyFL֣5;-FVAS H0TITl+}*05j6W>ozdvE&zoޠQ`w4&™L 3H[4nCniLBhW 1EZm:ci($f=i1ODl1IM$oSMinDGޚVlTHʹmR6xHF)›N/4mɠ]mH8Z6bQN.w-ZN͹p=Kj*b\HoW"ϓ2cs_Ti>]BpyH}s>m?WHq%܍I:쁜~'aIk}NI2c}=zgL:2}_^ XߑoŶ~;-RtC 1־hKZr@%Yp8Ey xsŞ(}r;ߜHެ+ټ!Þⶱ$|+cp8=+zYzA.[;C5 ce֭ @I}k珉ܧ4[*Lrz5Zn\|S8kyoINEn˞dp}5j2|Grx%σ ,3<+$SpASVᎤ/l|˯ ݹ|>{^UXb)wLJFnVh?zq>u~ڥlYq( xC-I$h8aҮ=l&iR=Qxd2\ʰjω6pdG+mBb6jrή5eS/CԶ%`zV*9$`U{8l^9cEU[;AE_2H놑ҵ-mc5Bcm `i骄s5inE+yl[ sDZ:k}if @~L~^Zq5ҨjјjR&ޤKu2`p%0*x|vf4OV[jlFM|EP_$EXYI=z G^1}^xn2\{.dr:޾&e_X< MQ<Ohljm;C'8I&޴mAW)mj]nmӨ"&GRbI E?m&(J16@6iz z1Oj(mFӶKҁaIh RvXhfbҏiʹ4.Ԁ"(&P)aR⟁HJ1Lzu2t57aPJ%\"SR/RPc5u"4N^EE՘PGJa_,})3HqZ6RX[6v#+R:c KV2)az֌xAqmq5__Y:k괗9[6FĚ^MX_檵nV-=Ya=hI$U؎kbU؆1TmZen;UUSS`u7"RKr\ojt/V6FNWfVRamI6-N9rAyYntD}q V\|in>cgnbDoi '1鬟稍Vo&&YJ՟eEk5&nMMc^9$ΧMm;Oǩsq6tk.fj`Yw ɧdVl #{չugNخ>;-Cr]O1P%J_# iuji".Vhڒ9+˹{&.nk,呙6@5Y+թj?=5rK"0>JA֥i3ޡfHj}RHjۚ=F-2G֫)i84 nh+PG4g p(ӊP(VnҺ+;ª}1].)~gWEĐkx{ cN,纉OH=wkTzN{pmtEuݻ7 pakvI/mnzVGHIwO?[xl ^xC;`Ĺ ڽdOk#FtxL+ͪrV;q O4+݌ս a~HE#Evmec8+Dp HɹGA]>tV,>iؖ?O hڼkqctT˞Pu#)|1>x]>%/g<;oFԟOC G ?xwK9mZ+ַqg+zz1x9{f84~%bv#+ýkޱ-jɃf)+t?W4Af=54g(|$(>Y+3_*⏁ӯͩiQ_CqkOFn+ֽoy^[ַ1ڞ sRP;DrI=3_fD7d* -=vk0f}{Mo[lC+Hs =Z Xk>nI03MW;p*X^0inǂ+{MHQȮrGI>mQ Ggt0}li6 ʹZҵbݘܨ=f[#˓#Ւt1F$j1ۏֈ8qh0k.9*SV!:dz,AqgۿjZS9 ,ھɷ[lR^65k,r)Rf2XYߣHn Z#xWjZP9)Es5$%>qpBbZJ?Z^ь `7 `RIKI@&9(LR@ĥR!)1wOz(E.Z\Ph~h-~7jv)((nѶ((btTr)hRfiBӀOM>ꒇOr`ة221Hi2 0554qT2*Ǻ8W`݊ͳDEj6椂=jZonkX8l+JB)QZم bk6h⧍F9VtEk[.TWējV[jHxi#j G׊3&\TLvHj!Z;֣e$ HԌS$n3IOMcHMiFǥ)n(Nj6@j;QEQ!R)jF5TmBM9=ih#Q9@q@nm?ZfئhnyhUJLwL{S4e;,MƧĎRy6,jvHWF>W5/:C9nMLI|~q/.HbCgii͔,Kp^6=FC#Z+vجrUHsa]Uri3VFO[W1*jֵ[DZ7<8c^%YkS#J൭#vH;krrzQ c}}a"HK#A'PTj͍ͼ&P@dC6BxXguk#Ct7i*ic ⵚ> VC# =(֤*{~Prkz_ {uBeգw*Jض=fe@V}$߰YTm|ⴭ}Ec)F7 ?Jӷ8}F piHF[8K{p% *_3ms6ذZ{LPkJ%߽O-hyIxOzΒޫr}jr/uL}ifMiClϸBQNjx"unU#V#j͚"՘H[dnw5k[B=5ms%Ԑ(C\Z{m5giYy讓O\+pGe6lMs>Ji:T֦ĚNMf^Ijܲ|ƳoL9jnas]]ÚQЈtuRAnLu.<Ϋ7&,ɪr7tE3UZ&,愸j]kk\-/}E.\7_7ZԵe(FFnSźq0j{GASpMPVu2TNyTcZ\ WtD3S zw&2Tlj=eUplTMO;NŪ!jf ֢f5+TOVcwb0d䚫rȜԋpGz<(cMnޤ[O}iE1odǿ52]nS5"aFnz=i2HꬑjH D5HgTڵC։э$>^Hqڵ$&R1q23PJԒU+D(2lD։b aSYjd<6XP))=( @ 5HSS@;OeTHi)ԛzySPN NJwץЦ4ѶN ZJweplڇۭu&)=ĶE;JNDX23Ѝ⻟«u\4|J~-9cޙ=at^jR=61助') e-#ՁfOqtF$U_M­aTvFFyHc%M R0CV-4ČkN''QSRԁ,[5i&0?]O16@=mfŘdڏ}kGI#~xW@֐] h _1x %莒1HXfsEmB1 ޴aG5G-3Vp *ݳ(.9ӄ1忥eiJl2HͮO7qXF=}+wI_55hiD'$`Bp~u}o(vT^aX&6W%gMc'#Һ+)>Q\tJ਎l>CXZkS+VnMeކ|Ƴjk>nJ5EM RȪ|C7ֶuҵmɚۭ99ָNJrq#{ۣYs7=jLj5JUlFLplf1`^b Ͷf櫔ΖpV@{htz.&CS9ֻ6T'NMTI2Y-kN52Һba#6UUl 2s-tDSwR Z?}I~VɉdjC!3QaQIҥcQZ *R*6DWUC!O2Nܝn=Ew4jeޤc.Q~pyԂzQ cUaOJ\V^Ju5"kA=!E]6h֎ex*C)6Ֆ)Uk_jbdy6Rt-75+-o˚n:T(1 ʝ@&)sڜ((gRJ bQNBv! m{Ӎg4hZ0)HޝG4P1)ih1Zf;֝S6RI wEծ?j6RndYcqفTԚMY]j-|mM7^e/"O+Z<qJdz GA;\=y+YI+=1 1=i aϸbݪ"gw恘--niKn#v^¤ ^HV ®Z?R`׎my(j̓8`@1?cWQ͡9PqƵ4/=iFe>B9 wOT Qݫ^B>OZ1OJwv *>gj";dڰt{u"K{cnT;=Giv+ h*42Ոy;Xֈda>SU!hv68kU+Xϛkjj+Got%#GҾ\i :k˛b/fA%a>479Fz׶x夠=)@Q@ƚJ~(!P!))bRHbJZ1@F? v)(RqK(? BB(fPqGjuhS@gJ()qFDafM`+ ݵsM iɵ*^k+v3TdKQ9܉Ѿ`kVͺsX8ZMҔIҺ 9>Q\śr+~ѾZ਎3`?Xzu557^k8-M&0'oj֦3|q2aB–]0fݍ3]5q#ֺ-6sԉ97 eLܚzez(LGޫHoΫպ0lfT'nF5NS&L͊Uٻ6Y[Un}#̩#iAH#FYp"b}.[\l5:h9/Z$H˙sT^2Uɚ"9W+50=jw ]٨7Roa\f)CMF. 2HdUڬPD0CS,DM7u=ҨE&woJ,+Ɵ\[ޝ՛𧉽sNYug )\2P,Jø.i%Wx*oB¬GPf2m]ɱ@1mFUr }Ld,ZH|OCTIZLSڒݴҤ~)-oM;uZ #yO2NHhJNmQSm%'hνhJRbi{PFEzR) ;Pmm;P1R L> 쮼Ebֳ[M'O8rG ?ǨAʋDF N?3i2jbǷ`:ё:UrsRY UMV3qP s#M*99~&hActZiӎlqހ-㡭->hzɍZwNpݩM3Jc*eΛnvO|dw=몕YsԬi-_÷EA̵E!trki^&U㼶c?2Xv5Cf/\TJIYR54^HN.ƥ Po NVj~d~_$!χu e|αCx'8FKvL7>&i>]1[SQƖS^JUj4d׉sE}cSo7?ZNdbd~y)9;݉ץiqKF:bB9P!ΎR?JM 1"wbIҖ)ʌR(KE7m.)qE3NiأRmQJF=izQmbmbn(&(7w$ gjHl |µہXvZYIEmȭi8YmI; emNNu_嬽I SI= +5JG&nEKIuW-d"$ȭ>sc?9t*2m[k3fmVvR\}#bF,FI[i[#6V֪HfCU$52c yV3z9WsS1ĥ#ef2Fݚ]2Uj,̙pj޴کJ3䪬*UktbZ[=⬁۱FQ1iW&:*=ޔXWXmKCL.0׽O֣aTK+*3VT,HDTQQ# 4֨7Q-@gCEdIҝt _2UA%8IJsɦCR`MaK26ZT>iZejI\5eFT"SL!CMJi6ԅiOHҾS֖P!(K\P1M5)de-;mR(eLPPE-tt? ,G5=Uވi9;-̍NHiYܜQk9|QG2֖XQX?ZM'~[tdO6\fSt<ů"sHq=EeO}- W^hgu% 4ݻa\׉s_pXJح{#갹u6];y(ՕKe==4A&\ap ħsPE(bQKFiQ@IuhݴmbطNwV@L/ΞTSƝjSy!8.aዊ 0H` Ce$*H% {:-fh/4cO falLn<iCVISOvQUk jnA$V9a5zD!4~4,YyC;1i|Jc=HH֕ʱkV#5WiBR,ƥSVU^ӊ0ǥdS-*6)qQFrzY.{T5 AVQ/;T8,TL/JՆYޕfi3QM%ZD\|Q3nrz֖!`jEPji0ET5,Z ^+6kRVɵ ϵUj4:.fz˞\RϖLg#9HGzfꅜ_歬esJݾaַjŁZ8d7[6|,{y1\SG\Y55m_qZIaݶZH|tWlQ&WjΕs6+s]G<~jaY[X^ESBL,n:sZ ۗ=k+b97/Zu:!#uss!TId25TSLVB{V2!sg52dnj=y$5V=d"'0zX㓥YZI1ެG6*JR4̊RL⟻uETd^ -i2I>iLFEa"vVZ"[#&@7H D0-q5&dܓu-Ի 57R5qD+ZjQ$ ݵ+-1"jJqKsJS NhSA昮?w:kQZ}Dz҆bJNJ\u.sQnqwQS6ԔLV!d2Zb+2=j2ҭ2ej$4LS6 4xe">)vӱړ?1 n)EaMA鸧FCB1Hc1KpZ1@bW](0]'K^L pՏ9HS\vEb7mt~s/]t]*ʸ=󯢼%:Wb;]oj ɶCvN=6|'cHtl+vnk/Iw=y֭Iw/ +Y#Iiۡ8| 2u[ά̗l[j̖!á^@&15jD\v5,1H͍F5aO@&) aR0n8QkAԯn4+pEjCxS$scWFk> K N eǶ=|A lT; Dsnlv#ږxVOݰt=*ƟnP0ژ.6ֽsE5hǍl8zj^CMY.f&r?ޫHnqg|2>$Mq0KZgʼzi>pi" şC־ߌSp˵Aw+.x|4v721wtI?_oКT[qng#]c]|ApWLOJ[bOz{ӑib.h۵j[?JƷnEj0Ȭ$nY"~j܊օWhB5a[W+R%uٞ7Z˒NqɐLZ)ɫ3>j]FcwR *f[,E9[Qrr+nnY脍VMVnZ?J&!Uj괕1dT R5 }jVD2jtzMZ#; 0*J;FlR,X.jG.; jʎcZ`{n%JjA9eYW5FD6k9-Wpy/UdLYMU µF,߭4R0 4 #b R34saZeaLlsy$aS-4":B)촕DmIk/9I*)uLCM N/xyC7Sh+NQdӷQafϽ.J@KE3w㨤)֘ M+N ]S60 ۚM>޾½1@_jdiHE&ڡ J)bƷJ;SE0| }l|AȵI7Ct+1]ÏĭHcBn"}s\ҕ7흢uaR5WoKcm|7W\X+6m Jf?2L(jS9>iҪg30j[2W7s؁n&Ld2/ھWYw*$=P QUO|Q`xfg*nb1Fp Utp0G X 84m8XDjQV-TaḥhAqۆc7C*r+` ❅s'l}*ݬ}{Vzi,Ikv܋E%e ֭.lnWmsVt8>B1[62dv ?Zٹbb3B)W[hP øZݲ>VM!ּ?59% q62f= ׳k9yy2=q\%ż6 +Fޣ*\KL$>Kx8iIn8w#Ve2υ;#7ٰ=ÿ5sf۸gu\xCT#ql˦is,M4l$)fֹjVtc224|ֿ"tB+N;U>}MOM'o"py9h?C\h0xŝ9aӬ^_S 6F|sZz6^=,ݹ GLZ4Eu,{BgmO%|N0<2ڭukIkOj]r1y=S:]%o")^}_;jRX]%¶~G& Q>\IhuWv6$ӵcJC |/`Y͙m {}E}Sab+k$j<J3]S/xTuu-}~SR~ iRci⧚JbI@ J}%!E/ғBRuQACqF67@ #ږ)1@ ۞S@j\`RKNi7bFgjQNe"hmxp 8yai[7=BL[9Wi c@wxlc0Rw<{2zC)_zuR Tr*h8eО ܎+F9c(Ⲓ7/AH֓DŎCrݫ厽MTVڢ޲z"vul6kH28e>{;"zPPt<԰ҹH̬`V"jy>[ gv0qڤfzR'g8~UO`a֙"`{uVjXUX-HN8VMMrSRf]DS;֌짽TeNN}ts8]lbwN6ӗ5 LZT"E@ܪA2eiFjfV&ڙ,m%)b34CJ,SL<Mm1ԆjDnm97 1Nq)h1 Fx⍾@⒔P!sKAFi77{QaR}'-u.}(S}*JJ#MRn(\6)sژ!ii}hhh-B+2k۹(Ts^ᯆO;dCkiٵoh1x88TzwpuqR5~'O-YH˻}*Qu.vv>&]aq<#kI&oAK=`)`k|}zNO?]L> ^m{ Hi.ЬyS&ǧs&+>ˈ-\I|h\+F? T:N¹ >b.I#kc^5|}REڝM27eVK az"RRG,9v=S*,2)2Gk6]k֡è_Zɔ[ht_/G-{hcpNUWN2 ߗOwj;A2| |i؜?jrڷᑮZŤc|c/ \Pi b䍒_J<;Tk]Bnb|x} rx^-\\yo_h{`n6lm#$k #rk8i&gΣ](:.|>no E6dv&7 A+Et1f>Al;TDAA8P߮9Uj{I%k"Bx5hؒCձ&t۠W8i0wyFr=| o;GoM8fI ŔǞP;Fr2?+v/GQ-{ Ҫa㯅~ }tɨٳZB7D:} rU*ByNT5f7SJdI!))آI@ KINGҊubMhAFz})ځ*aGZu0NF(4P?:P(vFJTz\FEPT9857MbhR99 oSgjd{G?o",9_:Ց!ێESQmzH,j繧0i7"0zUu+*Wa3e(FHюp8NoYdS*VV6ٺU`ȦG*ldTI6w,Uo(oh}ӁPZw*qQ0+ןZz94%I7ޚn)*H% Q=BO&Uⴲͷ &*&E&£hr*y#oh4dk!Ÿ[G#bK(☖rFWQsvHڦU%bHU{U(QF[h8!ĵ ^\mq36^+ N:7,Qۭ\PŒJ{]R1l]$x2MK1ZVQZa#x6Z01Yvִbjo]*7k8K2o;&f; `34{fm m1 E:!RmIRъ6^(sIKP1sOŠZhIE ~TS? aIO#=+k |a =*[:c՘֦R4F.RUقTw 9xY?#ڮoh~x>dHUAoG]ŷ\%+?v;R5a|7;Q0ھ}>'waOY0nٞwOW[tF qqH1,Is/i^Zv3jsSu%:r)ǖ |kqp":{{{xv0e[MQB*uI>)w9RJTMjen9&)m#Q*v{1lOcZYƱ,(8Q]rn\(JS륶 ksX?ocNrH4$*5HSɭM!CZ>BܮEBK0$^r+LV}[kc2#owQa6vے*Vm֭zUYQ@o1jp9jP*pEZ0Ne=wRĤzqI- `a\XMt֔J' :8ݬ)<9^cSƥO $sX c,Lʹ)Q '#X~ SZе TbgƢjiВH?ij6,徹{ۋ{FXF y}/a]E,ysW=OZ[gJ7rZݬp~ܬm~ks [+ = feOQ5mm, ''MụFXcݲF@s>y v09Fx qd4t2۴"Om U ?ͺOKKz1XzWbܹk^S eq$ ҽ >.W+X-,BxῈ.WMQ& +)Z-mq]Be ּOU}0xy>O1_]!/v>_:wgǔ?|:7~p~bXU7t|Js.Y1'S1V@)h1 O"𢝎(RK@Qv6QwILBbR9)6SQm.K&QO'N1@ ;A):Ӷ(RP+fi7b1HbJWc`U$~jZԬ\g4 fPՍGU&E;5*o"#X{R ӊi#ݻaDqLSMX8VHn*a8څ dW+*ySㄯzR6 zѨY5zs[Qb\FiN8Wo- *Vl x5oFj:5'ͣNdu6Z|96pZL(&ğTKi >iw]J#I#rYI*9UJ&wV)\X}/|}}, ?D@ >Msz<9Jcc‡9]072qRo:X[&I>G^&m< Ms 6嵐Iє۳bǨvs£c NesXt`߱[+oj(^'ӊ9xb۝c[uUɱҿRͰn<"iv%v\h<1Ⱦ܅ t- ڍ2Iq^T"V5%t˺EVmn&A6,c1Vޟ+pb{Rjj[j%VqYR4KJ:9]C7҃گCcfqWe\ua٩}MhùDF^J ddž1ɒ #>nzUGf&%~`&G1Ғ|5a\TT29O⤷Ā~XR5~+ RO``#8_~V5ErTӪ0+ KWK?<|} }:>ZDph&# `d.͌ D1G$*I$ H>DŽtۍU5cjI?R̺3p(`g[0[M'R,'pڃ8dмygOG:khќ*npZxm+ B1ǩ[QWG-Edo[?"3p;9+4l@4Xmh c o2ǵ͸Fx+WR)KCu9+SxSU".½~3`F2&>6V5y,j<[Z ՟ "qX-k^3vc4ru[s̸@s5kES%q젅$p&7nCƴlCqE#BF^jݕ\!!m0T%d^UյR0[9GpkaX#k4I.e`G6qx~]*WͰ[G$U,7|c)B+fJ8=<„+P+RIe/#LCqE>E IO E7h@QN m>nLtPvN4ғn=I7mE;m.(-P!6{RP3}h(q"A4\[J\{hMVZXjG5HWx8w.6vҌT̪G:6-Q+g0'V{\gOo!Z4cd9~"~UeF` ;Pp8^D])7QNm4g# ։nY*9kg^P:[2AMU[_1pp 2-&X8j_$\4ԓ[ZqĒG6~3ZaKo i͡&cئmb+c)⠚գ*(^G5:C,oqZvh8ك{V3Sm3V=+ J\qQ\Bn;UYJN];xT.WҵV+WDY(R\Y:W tBu޲]q9dVv$9d"쉪5+J6*UcPs֜N¹~ +FNc9I2FfE2Fj8iǚ V=j+Hȭ%@ƥsB͎2cZf3Tfi4֪$D+TMTdmL4MH rL+Oz[ԩ%MLQӷTثqUZJJ&SujUdSZ#W`yJLaZD}8R7L^c?JLn~ڀn)OE7m6)O4glbS%;Lz)ƛ IJ(45)6&)2SQN4ԘLcO'׽y)ZzU!( EZs猝ϭ4nkLr/~ ʾGZ4H˛3Y*Q=?%ï7]b|oҽ-!|CFUZ]ҭawtslM5gֱYxq5k{]6kv, /S^ϡnm'TC ~oj<7{2+z:GkӔWv~}NHeuK.L$ֶ1,1CC2;~"]400'8+o|QjP ֧uqYI}H5O#/I/ҏ~XV:YO-ʼl>➰m1_~ 4ۏwoO˵wߋ4ߴ+gʦK4Дo4>Y!庳)sP1YC1l|][ec+$YpNIֵWExŚuRV'j]Ϧ/Jx? $7\ p@4mĖv+j[.Mџz=|>j>gvLDʬs-'^o˩kr`Tz]gk?LmW =lRwwML4//ڲP,m n\G`+XC %ue dA^aGm,u]NJEU%)h KK{KkQI!eOHWm#_Q~˚ou]ZhHu 1XU 7}u7_mmzitD P&/WAl]ffH}X_\&G'X}[#CKh"xG@<xҟ5!, ]^8Z<O֤ӣ1ΠGwPFL8ÑRV29}AUR8-Ne3kr.]Ң3) ɼЏto8!\6(M5u!׽Iwgy7OQY~c9_c]<+u31o^?}j+^5.rY\ rxDkur=7Tͤ=לm?lkxЧٙ~T7(r?AWɕ6]ZUќ08F; &J}pʹbEFyъ7m&v=)E7IF;P1m?hϭ>&MhSQ4S4ҴbGF(\`#_qR?)|ĪIV#ze)#>YkS$i%\aR)W=QbncGVDt 9Sb|j[|ji9)cܧEu-7$|­7ʥW3ϵfͯcn9 j+z% +n;uYţ+r)#:t8jԟQf9X--ɚVxFuZ[ ZRqUr9lDXUi#eSR}\yRj8R '4aܑczxM=WXj7ZGKv9L݇ӊaW<ا[x1CF[LёڙJ][`RGҬIƂ(qۚcyY)Mp*Mk2qPIjhd#M$ Qy)ɻE%okP|\݄ڣkCc͸L:2i󾤸.jQ,zU׊!FOJȡ%~:H{RACT37j^VP:޴=k',r5DƤz26SR5FjXR4:25\ZV#~EŚIV7qYɺh0v}ڝU榉eWPIV$[#&ERv)5d ;Mc&DǚFY,aj>~jCS3u+uOWy h&Ϊ,0jMcks9H$^dl "L šW=VD`ъwJ(5Ҥjf(hjn=6M"Fm;c43?Hm4Mn{S~ t)V\'?|I׏kb0_*Pv|F_܎Qmq#fªȬ-s+:=C횅6v=o_-D ,?|fZ^a3[Vs?SlG6 ہշx=ϯ@/H![p6963/*zԱۉ. U#ޘhvBF;qy/]u4CqR;¾cuyN&Q6!)g +cTq;=yړ0M+T!\4Po֝'H94SVCi3SM{Қ(0h;PPPxRe-.9m/J(n m&)}h@ SQ3Ohi ?b{Q/'jJs~QޗLSi f)--07jJu.)2@ O›ޝF!JhGzQIƗ?j@ Gz~1Hc P?J]FcqF)i(Rm(g~6qMF`m2J}?}בX\u?fi-iB=nɍI?P~9⽶ols&q3FX'v}M,=ڲs 9 {ZMLd m)d3>Rt5m|2 Ui@xn$v[E,?Vu[ܠuzjd#"#TLcl֡nF$}n}l3Sn.,"upA=SFGqZC9ڣae͊fmb;N}+мr.4!4]4dFHhx5 s˂=htDUx5Ŵk ڴ&P?b0kPR"$fXH#^.E(Jd:*Z {Qp]ozZ$>IXSeWo֑\T Z'ҩH"UT쥽Bք SdRiǥ?mQljrʠ e Vf{r{ N J2e*ȓƸyyjFj5q)P_CUWQZLhqS2 ^j IRCj6B=b/LhkZ*r~uf&b˃85[)[5dUfIhWbj:JFWt%2n74NaLa1 MHB"jN)ިIM4`ӰݻJ) Z~Tb+S ;4@P㚲 /͚A qL+Ji欑sHEIcu!})E Ҁq֓Oj4/iRZ3+NA@m4b@bS kPSM9iIǽh;Sq@^Ԝ0#ANf)(zRuOIm&)#iqN+!iM.Z2;mo:PbO4JZv]DSҟ}(RbC"ێRciP))ݴ6x9mm6o?@ M}*LR@ Lb>#H?yq]7Չ#n\X~xIվ薒š 3o?=6ҽ6dsMb&fPt ooҵ͟X FjEt Ԟ$h*v?+dF$5[[-Ju_MmЮ}1]'S3_%b|FTsIoQ:)@1J$Dca t`{UXUxj/ zН"8_Tl9FʟfEb?TU,1ֺ 5NKZ6?h~LUwf,Gm"@9QM#+ҡӠ:}1nhVEdoQ&xO> ֠[nɺ&m@<58J#38dVJ>vҘ /?~~2׵|F5RiVC+~H%׌mZܯ W IƯWٞ&&t!mJ+` jЇ,j)B1)VAMpiaSwZ$XT.M14f>Ʒ :UAL*jL+5]8vVD8rRHֽ֤[֪FM>Q>٭5'4"ھ|v2@zgjElsWYRdXJsBZE*kyľ9ʊQ4eǞj;Չq&׊G$FQ=1ZNV3ojN)\RdQof7%ZUXڦV&ReڤATY5jTޠ~Л+5D3-Z1ޛ IJAڒMM!RS#L#֤aM*#oΛ);sLcRtHq4Q@;>3!R@\CQLJmEcuSTIF{Իx!-%0niS3)O4 ihLm m; @3oOi1@KK↧m7G IŸIHdtc5&(L)1RRm:f1ISFjamE&ړmv#E?mnR*VKv(@ۊA)11 ߧK *(6P@ w`ѷm!'~iF\xSEMjZZ ׵٤bQKG^hR{Gt LX`Vkzf߹[w_;7hdWF(r ' KvaUpNN &Dew~Fc5bXxoyr,e㜞*n?hU1ނ@L_y}<~qR_yh{oRmL<cdCZ$ER[ )D.JnV=qʅJ_hhT]|A ٸ5V?ȹ9FZRBjj.>Y,1Th_2TQ`TX|)ثn-1$xGcPe^iden&OV0 <OE$/$@&;ؐ׵O hwM#;Ako~'w H1a@5xT]7I?oMз _sѥkY^OU1Y:/_sKN}gҍRtCpGj)hCh;Q@ 6qFui:S3.)أm7m&)qK(;bLwch?m&u eiԜ WK"Ӱs2/q=8+*J_%jE硡ADZ"^jR1SYRcEkE4^Uń3 +n]jݩfp84s!rȤw6)rBaԥ}(<{RbS) .)ؤbbn3FSъcS⒟I@ B)آ i>ҀF^sO٠J 1 o7=)Իh?7;R`BcRm46z]h/zLP26\RN4~ Lbo=r(΍A N1Ka&3HPGJ#gh'wX@KkBgXxk~y&0k%Dt50}pћA3ңƝ,\>]1$K%NtsR'[7ԋom>xn?J}%7`ӱE6v8 mihb F)qG1M48怸S%Q6)qEm< @hN%&)1NsvO0jhzԫ o4-Mr\ۑWm۹q+.9 sKE;Uۇ6K5NFjKRqCI$Adw Zm^*œ[Iօ1*;F9cH GmDmZ\2H(ܤ܂1L &ڬ0ڧ=9͚i mTm67֯!=Z-5!>bٹE3G<+6h J3y]RCw7ϔXgG^*ʷ56^d,byӼR2ufi3gT{qRi\۳R`D{mR dr*h1攣q} ·adұp7R6qz}I3QI"Ҝe=VlFDW{u[Iϔ>JaZ(RhRfǕƬЌc5N=5l0E a3 Xn$U:5 &FF=֚ ,VdQNW)59CT2Tr5-E94PKc2E 0ROanI5M Ni)4bNLj`3!ڗ{QH> aIOSp֊wzOLKG ?u4Ҙ7&~(0aڛT⛴zVS(֗m#aFi9 4\R1I4Kڃ@LR#/@ Sҁ; ZEZ{ LP!d杷Z aZLSFdI?m!_za?֛ԄzӽhqIIfޞb ҜьP1QKq8^)M BuFLQNE-RbJhҗh4S~'Hpsڗ #m((a!?ih?rHߝ7iE>SF@ I⒁F?*\R)iqZn))P!h1\1I)ؤhbs; fʓoz{QJhNi;mmm--W=ۊv(b(RP|zi2udY:ןsU\jEL+VZrSCw^/Z5jo%[t,[gJXr֬Ao.3Q\[ Qhѭuػ l Z {qYGI jчRN854[2DUqHsNd^+G}+S{'4yȤ8r}܋M]wڑ(uiAjo-{kTҸڤB*^$s+u84ʹv=6ya Y4kh5vda5o62L,`,?ybb9NY+ ɵy#BV -5G6-4Jm' &d=&#=iv2O5f7 }6LI>lTP1Jn>^y5)eM7<ݩ2(\%{gg+y:RE)3b;zdG#z'ԋFB0}iXwAC"S$DM[;})T+vU(zЂ2*W;aC*&\qRxS^aP5$goJΘֵ능0Қ=I#Hʚ$+TՑ^Em*Gq[G2INj#mGfQKh~au_3y2 ®EXٗ ͱr=i5 8½$sU<ZOj7+?QJ*6Lգ;dQɨۊ"ZZ) 9 Za@b4CPZBiINCJ=)ƓSsE;HRm=h)6Ⓤ3m#SRb\ojJ}%1 IZ@7SѶ5 B COIqGӾ~1o5&Jȶ ԧ夠# ԆG֚˃ҥ#7r0fv)q@Sm!1I}%2}&(QցMm%?)qF)!2:UAS~ji.ۊ95ufH"2['sQi~0;ӈ2)1LCqHE?im&)iHi)}Ju4ǽ>iSI43wێ5Mݧ4ae46!{QRb?mi@(sHVUP;l4iRJ~)"šqNѶ i~inM.`&(m(!>P6v(2LP1hP(OF=hފv1@\M%KpmDj=FkLI<Ԫ7Z6pjy'W>`;_`kF&>VDsMh_jlcrL`dh_6bFH\ +JXc'(vcWB~EFy#e-:K ȧEq.[J|gVҵVf/1"h AjҫL¡!IxޘaҤ0^RcgRB6)afFE6I0YqV3RL<vڭaV!cr"卽qR&3abe`rsS#_heVgԒ!ȢeVS0ɷnojZt68վPV|ՓB,-:`H8"vwHQI284wJ,ܔ84>cj̊NqTe_/k,3s?fyݓIpUBAds]q&`R RYMZ26Q֙>b HE?hmb6S(h#bG;5&)̿-oJJ~3AZGڐ-?m.S瞔?I@3S1@ :tNIE;by1bSJs )ԔRRQN.(OqN@^)n SH´ڐIC@Mm"fۊ9SQOǥ6KE7iԸbWwz6ѴԻGUR~%&;2<u;@ƕҎݿiؤ"HTE3m=أސ)Rnz)’In(bI@ o1OIF)أmF)m!%~QUl׀{ '$U9vʱǥjn-*IIPfPIv7  NN{"lG;3kG!%&}_%Jj!GdfAQM!u?-[HӌT G57H6gyW$u9Q`(āVNYjKO+CuՑPZ~*&*GJU[r(IvZ5*)jrR'XzqT<Ҳ*4#=*B{S{UrlVUd5,1h~Z7P1TW7S65#%sRQFT KA1zjPpk&lYwNjn6u{ҴhJpxm8;~*Թ7dPd .'lPUIjdd{y$D#=*vAO1^GJժ1mR{[Fyժt2U$˞ZWsrigo>ZI%(c S+pV*vI;7jdtO$!FE1`2E:92O;r8R cU:'ڞ;#4c܀Y˂siq CP3tML#153m\1#ǚkk9W&1ڦҜނЬWaM\k' BzQ́@iQjFd3o4mؐ`uȤ0hYGN*<dez(5Z)U1N@mm;? u'JoJLS2Q2v(7ҒF)buc))s@(M1@ RSȤǵB)ؤbm;mqIuhP>qCR 1iqKJBMFh1ҤGan(u7!ƓJLS@s֝F7m.)vъLRm4) `bu7m1Rc?b⍾))֍PvtiRc`7nLSF޴f޴TRP1h?m:S@mA2=kdԱ'O*)9of+t95Fђevj&*MҦV ZrB=I+*)<9 *:b\v*ԼSIXr.zHWލiԄBs֜1R0v/LPŸF)\SƒK w kGJ0C!ǨJL\U#n_֛#&zS_Qarĵ:ccXn LfbJ Q,piہQqH q֘sUa\{1QgxMwLEj¨nUy楖㊽oYɌfG6:IŚ#pPu&J6i]1)*ȼiaT0+c"]޵ {6޼PJ[yHٌOi;I#,"(ȣpG^I8|$03nQMnlw#݁Q(I# "II'-Ų[d8u$yp:uۚ8's>LqMEUb2=t#gu,/j]MsV_i> 0t=sRǪ6ផ@jMM\lޕTdGb9V4lncQȍI3Z-A7mݚH25]A ֕6k)E-&eԾf9M+fhbd4h0(fSf;j+7xNZSwV 0}i$9WsN}j˫lA*-H/apwΣt8DWh%2=ܓ#pj5cU+fʑMIu$ 7odOSZ.;'qKi>jqoҚ^̇- Q'5[7cXn`zSe긧mrɫ3Ӷj[{x\O9]ksiyݣU)2t_ʣv/r/2,I$;qF.SLfI2[ktG#FrUzEh[LSK7#XKt8enmNa+L+P-1Rmhjuъ-:q@ &}fZLPG"SҚgQfJ6өJGd`{R֦!&}&Lhc%w%KKF3@ѷ4 mb6mQΌPQbLcnOOFJf)4i n)i})(S1@ N KjGLTx(Q)ih j^ݼP6)=vڀ"/Zv%ЏJZv)q@ jpi%!ii cSOHGzM鉌KŸ=)1HC8R*/ZwۚZ~(Hc?m8Ԁn?:M3m6c2viv1ozv>aoZv 13c?hyhhրR3@}i >)vo^UEKB1LJ8Rn &"Iiz򢹤f:9j߫ws>YV5jftBV]N;u`Êj^VRcxOsR*scLX5y1*~fT9Kۚk8!XU i_׽ICHڞngZbZ97 sM }i#b LjpP:PM4Zg ԛALtn3Ou*Es$e(5ޝi$RzmژȷQeD;[=껩X5-NBv~<&i-;훻W~sS9&#f=֣aVH)ҩHsQ%u784l7+C3/SK-ǽSe>Ry#]j-o9`*6l)v2}̿|jZU/bt 7fu(KcP{"*+~ԉpWt{3ql&Mk|pݎjؼH8MG̤gˤ˷;N+6h[WI6mQe.qFbydt֌#cUݗ' =g"˟j4QVfH1IRcڏ/|^<nLR&(ȫQYqfʬЭf^y^Tz旳[-4F'}7I%2vnU%→AʵTPTC0&Tޫ}k/ jo)Mj&V#=)E {j G SVk|{Tr=*\LeeW2d. 7|Und SQIW5\˸%wSN9ϕ)l_S{Y Ey9 ZqYF|R)Sos ^qQsݑUxP?wҚ:~fM&*ƒS19.d#\w8|}8+)1qLRmO֘ Ei@cqF)Z6m>@ MEFIHi1@ 8LRS11QF(ʹ@ qF8Q@Rb1@ Fޝvc)1N3m&oތvMҌS!i1Rvm!򴘦!9(ic8(c IRW> f=zR'OzOjv)(qIP!.NKҪ_7^}ÌA\E,-7R6.F7gV}xYeQ\]区}A:u\&c]Q:f+g^O8Zi8ԻªMw_um[˘l|0SjEKy:,&DS@uڟ$ffj9PQd4 O_ὒ8M{"w xW9]╷3#W9iͺd{RsO)=Ge-V0mN-}# &6qK\Qҁۚ]m.)h@Sm--Quhmb@ EqmbhRbS@?PqV/ަ/.5NEn42pj.a<ۜMgupƟ4{S_KɹTc1nz.t橙99q? Ptl5"= Se[R f!z<63YJ+'.ڕ&j`?JTgkݲX>IvUxeIZ؇f㑗UClPy\i7 ˵IYaܚ;Ú=rmăhjBfpjoVV-y=j85|Vc@3$io<=wnaܗY:sMf4ݡpn ?o4hiA4c-#sL'iGz\Q(a(1Ro)MҨcڟ2B61V.A3UvIRml_[Way)_fi+UUPp+vZ#޲4+5PF85nN{}1P9gXK)9fw]&Qrq@EjEqUfE< zE{վԓ^LIP8Ekvx5&+M,`pqZN}T98p1?QWL;ǥFw1 \˸_`,Jʘ+85*O!hrsVVBǗee#SyrVVȭ9L\̽xwEhWXiHxBbd|瑾n2i>>9`6ЅL>/}1AjU%rlQsJiث1c|nƑh*G֦B[BM1LTl=jI 'yKOi3)RAj@Wލm~\QIqW)AHWӭ&d%:i91(.((5#)hRm⒁ &ILN1F~(恌۶;o(^楤 QOP1JMT)64A"~i1@ @&)i)6Rf;bԁx⑅FI&޴6уOہIE;nJP6mR}(@&~0 oFڗoi\D.g^ kX8cUmxYmKHs7r|aVƬ6>#xKF1ҫ~k̗R Vw_R. au6a&Mcf_?7kJxƵ?\(JUx{&udpQw6p3MZ4]kDe\KXS#ھgX5/~+U+Ss eIy?ϳ(Z38fpybkSF֞̆-Z&f,6aǥZk6b>_:?UTgאnr6xjg{VS-^cZn&ЩufFat Z=IcU$k\ZikN;Mk59r)E%sڜ ictZEs5&"mSڢ; ɱ952\G Mhu9姣485pjgQךC39CBwCpiH SvܙQHVFRĀ{^96SKo: VV5y5Y Ij)u.@FHZD8KG] ֢EEw{5eM1h⽋~i.޵Qd'C+wQs\@iű]zI 9:䊓:UC*mn+m9֨ fjLZw=GJ %j=ңESaZD eRm{}C2?*;n3C.>k{SH⛂O7io;i ({P#S=F8mӱhh\SABm5ԟz "aMeij!& Jڜ# @}i[իuN~GiC5Dn 0~ʎoQ qg\f7/"֏P0hT j n\Zg)ﰶVI)?`r?=eFs~&c#'1HQ֕+(uCf۴W r85e&s֓C[&PG.1 7&Hһ(U9555VD ֠X^G5%OQDsd gOl;Wl$FچG+k7G< j*6&g*hdHwkF݌k+5vEWW+31.FsM͹RIrYi|隰6JWErN[[d~9Lw<3$ir޵jM=cVxS?)0q1VOh6$oq{捣5&+LVML~tsS=jB4 $sI)A_jb"FRyfTB:<ƥ+F.2yOҍt*O/wjO,ԀfQړ(>m(Lq@ !ZM0Rv6€SI@)1Rbm3m'Z~FoI&LPv<3I(AbB&bkiHN׎]?y*x,,]ʰpᇛg/x_Q>Qգ`{C#==4ym*nJnL>YGB[gLgRXMG}v&5s\H͗ghsІ(Xe%UN̏¶eFIɮGQ-T B|fe tSNSӧR X말V&qPVisKT6JWg:jPZ3})EWQ4zM4b k?]MKda'ҸmHTV VQNksU\.vc8wK䪮*-a*}-+$h͵c=)Au=Zm _us_Z*'*rI~p n"V:ŭ6项j r tzINLZLk;mrl') l Md,^G>Ûe ]:N_odPjXi%[rE +"٫9,xe5:V6y D2{ZyVe<:_#7aP䖓_ =jWt/gUñi#s-ԟƴQE OSL?v1ڽ NkNd9jZzk"!WVS+E&&a\lCNyBJ.URjEJږ3pwܣ.kVS"_>Fv_乲irT$w3<&YWÖ^_COQO_J|ݴwR~ JCNo4S]?ÿa,p;~5ZRoDmFTo1e}-7iz$^Ah4u 56+}8}VxWbF+opܐj~W9o[SvD򼎎)uoءM.OԑWd;rHq\+wmJ(`v=OJ+/u+#SXʪSc=YiqEz'661NŠv9BbKJb~)(jJfQ^A\VVI3z)̫ab((i`<4zS|ڮS*敢M$Wx*hݜln1I+t+r}M^zN uTҋ &ku#i\Աju+B%,~_Jntpjʣ*=i^Ll$U'cٛuV`:ⵉʶ f=9LX('7mM3o4(KMؠDtj]oLV:iqKNnzѷBRmm G2eMFZo4S ͼ:MIjR;RbԊ1o0EUґڧ2/Xu(5lTH/bKgj/x5a]1H拱<6Htf}GhFQ7#z8qLc1E*/SmKʸ#mLCi? ,*UifR){͍RSF(zֆV0.sCTI8xbJE:𘪘:ѯEĵ xMi3tZEy7]>t˧A:Ƹ{1A}kƅ\-yP|l ubi<661Gz6ZZm5&H1˷>/ #{u\pxޏ?>ga-f4Wڟ[?#EVϯJgڒe!~wgzvcs^<ȻgNA?2ZܧrTL% EjcԱ5N:,S_|s{Ou|ZJk&qhirFxz\|#8Ska`J]}.OzOGwLo~HOhKq6mrFrOiIqQUi;4V3 OIҪql4r.~tqdH >FfhR))Ty[8ʪeu^{?Ԋypv61 ]ZݒQoekvuyp_Ȑ)N+渆ݥW8f1DƸWR.3\΋qˋ,Ԟ{{M_Phcf&x%/v!VޝZQiƟ_m~F,=oҠacb*LWZ/lSt5)Qv)+CvNcv)I0Xsޤ&fE=4d\J1I-GHE)_F׊oԎjy1^ZgCzr4qTHR4'H8?ZQ3u.yy` 79wG41n⛺v4;Ԇ6:TS-F܇kzRr= SvK,BRґKnGPj4r19nEGj3gJZY7FoCPs)ۈ(sG;'[wY}*XX)8M)&Ƚ`o{[pQIiO1 KHkWV=msZAL6\dKHOsQM>V!ysM Ҧ[p!GqON[H9 g3J&7FȽN)sF/Lb9AIǩY VmO5hD3QLҢ22uɦoJC؉i{SbJd=]LP OM ʹi{'Zi1zV"i41L=SъGmHG%RcڀQ&3ړ"=mғQ6Ѷ!dhHknÖ"۫ulՕ{ƕWx~]mo*)ٹ F̽#ښ.(]I8NFRx6;Khy,fUjFFw`5wк_5=}OV"^éīç|u-1Y6?XzIczz@GZ-x tq eso:j 8,g?'P޿OҺ |-=%R=O\tV7M .@4^(Ttl"; G'ֹ6!#,cSgM ?$3Bw#xWaEQ"+]>ǁ+/*'._s .+KK :}*g9jorcnr@5ZtPۺ?Z-cD`]1$]4aJ7=q^WYV_Տ0RQtjrFQ jmtz/`2 },ŠM1嵝'ъ~:R0^t5 Hı9k Ԛ>.]Igp#(`WU^\=8w9Rԩ~Ǔku#_Ir1;jgpfM6sE~YvV;(t1zmZ0- e3W%,Q)GYK~g1^ & ?%0P:R1HZos@_Z"қ/sN1hz;i#1ռEeж񎔞Y⥤(Fy"xFj4kZM}QQ)cZUտUi 6qI8^_~cV Ҙ:vqTdcVFdH_i7e:rEڗV**\Rs㰨;c֞oZMj;$oJ6F(ݴw6@ HӖ=:,CqՕA(TѶK$ejEbiʽ3]7teڡ2SVqE {s0ݪΧ4n4O-M *!<|sZ)8+2{z7ҟ֗ qE$ x)3xn#JlqF.g`G4ի bqMvbӹ*LS 4m?HcUiH)‚ m1MLۓLR0w%M)1Ei^ijJ(bZ~(zj\RmbmIAZb#(m3m7mK62-}MKhSv GJ6`m6N(EoM+SA!@vƐj.[MO֥G֋vS*XZl̇[T䑉5j˱q//>ԑGgַKp3M[A{Fަ I#r.0kx)fDr1թ. 暭 uLVv] m$'LHj̖C~-Zd;E֔6[K4Ζ63"lzXW 5-KCQA?Jϴh+ٌ5UO;DH:TtvU"yW܃Rd|Q4 L)_QmZ.ǵ v)y M/$aiW-qGۜS>#rB K']o5^;)j;9~_Ƴ6}F:9FFYg0N|9CkLkˑ޳O۔~/ScQ˱~{MfM|$n2*U_@r*냞Ƶg)I"if>$p?Gs$ѱ&JգCۧ ޛ5mxIQ93lT/6m>=Ynjt~=y0G_7fffE4n?j4'Xj3y#d&gʌtTݤ#rʼn{&e}5+mN.1=)s[6ڸqA}9_v͚HmMۊЂ-Ԑ28?tB^)v%'Dw7?xwZO mW q8V\|VuÁF~իFFU&FLG$zOW|D8p+|c?7<~JHǓg'}C:UL9LmYkLUT9$^^,)UؐAB}7@ynJ]N#.U)\3noVAIB&90UԡZM+/mCZ>>t=b`6N:m|EbiJgV<%xW]w(ٙW\GVz@AeGq^ZUqkȼaI^I'5f?<5YQL3xjB3@E.M+Ru@b1E2&R(N.7w)6Ԍ)1@ E>ozn)6Ԁ1 ]QhN9z6mjMbXoZ6Mb<4Rm8LݻZw}&Qjzv&!)i6wIIdcR7gm捽 _Ɠcކ(6+T` E;hSK+WRIR4,6H74.WNdSLXցٗ,y&xUa$t$ +{s\/v*fƼ?k !OWZfVJN)#+BFlɵGjE!J]fgsYngbcvrJc6#Q3w5m,]Gҵ\FveE13rsVKpx⋡rT[nqK\$@tbhXAN=sQKV((d_G0Jf"N VUIjZ>Kܯ:->#_u_,e)Vj)%N~+#eշ̵f /?qfZb2 I=|̬.v\z2x^2xa^}?v,~REzNږg2i2=+.X?Z} ߻=A,lBKXv\AT韨].7n'ڝƉEjgF5V?gQ׾iUV:n5g%γǪiʻV_}m]V>zQBy( o!*kY Zo%5ǨZĹzq=MhZp~P2V5,vg隙FFW:;l)F = Ikxu$qdҍIpT5ix=LĞwt|Ãzؒ6Wf緵W˸<+$⬝K{gw9%Ewv:CzuďPy=f5g|正6jRK{\ Ŗzf.*Oκ R^hnWS=s4ٕ^gE9.[u*FO>z &Ӟ3,,#ڣasQ"Jm>!3ܷUs1*#U'ƥŨԩdԋ kW՘o@ދHo|G:4P}qČǠ=O"lw55)R{k'Qw5Tc"@y4{?JlG6¡ILG)s\[ n#C0wb"U،.79ҘEk>nY|/j]s)>k>byYSˣi[?G;|R1Nr֗i*NiQmͿ9G4iiq)wm֊( -EmQ\$"Hx*JzU5YxdѺl[5D񦵊.@82($wH0d@=}{Q1UjO?WST$$ǵ\yR%ʺ1GRrѶ^*f})$-CWN~6#7 6X4քUF))IB6MXa>1-R2ƹĒI$r1HN^7)5IّqCZ\5gr˒OY;rgpi̊)rߍG)\8o?ɸҲb)sjі','R'6VOU#eRkJERkU*r]yo6%9݁TQ#|犸*UrG?7R'kE,s$N5U2~||܊UHU'>IcFG=R֛iwTF)M1]RmBjni6z6'94 O׾KC0r>U<\Cufek0\u_y;X|2x^^xDH Kڼ $lM=[Eue<i=կןFk>gnzv-| K۰̛~as4bҲ|Ly@@Yrc*zixW-. jMP2G^u9l{gWYݕY1޽NE"Ugp1ϱt0ZN𴱔J[$-X`fڗNSXʼ#Ӧx[k,2RR6k8^=ԃom"J)9ZQ${ԣGF Ә~o# .z PRhf@ߡ#YS`;{WV׹-xw8YgU;4xKkZJ?!+gH\nF pG]ִX6WGzY^Wn=~|2 2AAWoVdujޚ :w O۽s-EuSXr$S۴ƾ ^.H*v+k9ҧAٔ/$esکv}v8稬t6F2!c1SG @9|W7n*(';@LF7av^kFT*Erl `*xu rs4\:sn5͆lju,1Us.B-_b1nU6ݞ~l昷L*>hn Hpj T?dT*- ww"s*e"0Tt(SOҥS9m׾thr;jݿ 5N)%9歪^Sd>?1A$>rӜ9m)In7N*9M/mX̒sLSy5ٍx$PrE jUU#PQG銧,ujeظnN$dUEH849'{ KyڜmzSZҥrvq@^bn|QӶzrlD#9 jh׹^.LP; CZ,Z9VCmOfRFVZTf3ګVъғm2H KqP:bv֤Ӛ/.V,,=je+bY= CFE?.VYqN[G)\ 7 rxsLC7K)}銻Y1ݢ𛡧yýW}~Z˕s2C7#L*,u֣%ޚAx4JR9m'44]܆LqRU&Ȏiq?mfd[}(}*]mD(SEv*=Gb=SSԅR+'jnZ!1*?,TTjf`})RT̞ئ쪸E*]*{SXozM6h+JD9o4vSOFP(8)0ݴmJi+NCi1O"iQjuҴib4i,Di6ڤ4j#Mj],GFS6{*Lz m,GeK;ivԴhvړYKSRmC("94m[hHPtjVڀ"F*Vқf)6ԛ Jn)1Nǵ3m&}f6柊LP!:z00:4|4|Q@ SpYpEMc`PInڒ0I]اj5cN?HjF qj5b[ 8Vs|U'NEZhQ>ƘeO/`˅'ޚUGNh QքtE6BH׳~t$ݝ@56+GxS }*Eڛ7ܑݛ&1Sdȼǚ ̟O…bhsyZ?@ipZ?hҐ27/ҟ7<3t9g1V&G橺c]m%պ\(Cm=Gr|H~쮶fLSP^m>Jc\J~(oRÌ|w^𬇙{۷XԒo0UI18r[qy.3ւŁ;V1P3$ -\aC4~jFGHn)߀: 4cJ;ޜ-?J tݪC'րrnIϾ1Z:oU `d nqSٛZ#-\EI(E=BCk C3W ?ѓVK4(-~B*R]GyYF4.LJi[?zTkC1tS y&֒wt@ܶjՈwq3nbMfY|SYtBJua޼TBqޠS3B)XTyU)_jEөTDb)O&=j֗#Ҋ66bJbbc>- oz6ԛ1HvPzӄ`{h$&=Lk?Jo㚙[?Bѕ*,FG51=ћ!4Ux=)bS҆SSmHVbIvDtv#((XcЁJ*m;ooښs .`em*‹5ҪfR2mSe+GQS;`ݨYi6֏. .ڳ_ qإ)e 5jy,u0og[IԤmg:t~yUOTC!~SI-?؝ gj[[r^ԛswZ-!XNBÁ遊+n8ez@9*+Sp 47tgMz|@5 |>Ҽ3F:JO>9 u*OPzZ ʞ0zW1W$q*#W׃ν t8.POݒ: D1P?IЊv`!9c>O}n>ʣ˳`/q%5 ansdx9r0}62зzʪzRj8Ikc{sgܷ3? x<mHO9rLcb?ZQ$ՙLgR#UeVdgU3i'&? _Z#ylIݪv1ߵD[@<=pUOA֫ye~|OUf^WҁQ"zsNC#vv4>p}MQ s3֧q5sݾH`(6iȅpÎ9ɨdvAqWZ= u&[Ab瓁+FjȤ.V'}͉(贈K`>5{OuSǍ*1\q_Ʒ^t=$FCEmU: as] (e۞+ERK/=p[JKGcjR=F}v/W)VʴL 3YxsW) bt KiVrv.8n:!ܵv=7oSj,DϽ!q\ΣgZB%C}iE쪣Un~g5ƜvqN-MI޼ӕvq^h8hR`~RF=)hP)sBzCg"n(d QSwMiOJCy'4SŠ6Iho&ړ4#})i+˦j6拊/**KÔhۓRj\Qqj]1IWGjiQvJ)Iڙ i*zO!X Rm<*]hvЪj^({Qv]#i6Rbm;枠.sNH‘:JLd[M&Ojh1xqKF')#ӊ6t{CSvTOK"T{qQԅE!ZwmImSVb~6q&:Tɱ(N.a {ivӎhvF)bm&ړbG4mьv#ij]hъ&ڝ2m?nhh ⍴mhargg3})ϻY.e|(mjiF2R[7|CnXSKWe–8Cv$Ui rͷU;Ȋ?g@dlT{#~5+1*ǽGp`RcqV2T7@QSBlX׸*DϸV:TŲWXΌ}ɩuj2+NsQ"р_{E~3zE=m⑾QҵWMwDkV?Pv*4qͳ&-u@ثg50AeTm}0r+qXG};q2V%xcmw@OI՞Ťc_GIv R8"/4ۇ] x=ҿ9Ň;%;a__lWFc߽Dd%3P²y*V:'T{v8Jo M!kcd¶t}P& =khToF_[6QV=?W4eN;,p{0xX*ѕL愯9 gK3Jm$,%Vi!R*qz3iқ\O,ζYrT7ZrXV[3RKS׼;n,|^3/\i2$+)x9hթ%9{Z:TOڙ{TkkO^^Gsۅfn۰:פx:,y/.kvV1_֣R:QSATzиc@W{V\猚ZP96zQHXgy;LmGR 1M7:'7&o\ڬBʹ֩#*xw'4~NFx'ԂO:=QұPz90ӚGj988}k. 6 z7z Fj|+B]E e}+3(zS~T1}ۻK] >W_MY&ME 4,zS`m Siv"E=j`(LV#۷4v.JAb-/zm,DcJ~n!ZPaE M2&SIۏz6pZvJm.)jMh̚]4h6/Jhl2R 1hd/jTz֚o4+ڰR5JiVܯ=jUHJPA2֛Mhf-'2qw)mZ/ʜpd/9`ބU).p}J~_4>i1cNp4O9>eRFV00}$1?CYjm˦&OaV˜ f zcFlW(FrQ> h-^O+Z< ϘB6,@t:څje*\Q)+Q=E_hGS_)pǩnxeR'~2-S9N.7E L迺cXzW05nO}x~ rPx[?|>u*չo UWx/Z1wqkE859.#PtOs'*_PQ5s.ةMK\}v|Wc͢! 3a)l?Z`id(^x\M G&Q ⼓Ɵ gOR}+6A y<Tz8,el|^WF|ywo!Y#2w6둒[OnIyJ*K{ԛ&XY\a-gF:fm{Gap:5k0R(ڂRdkωt=A&BMr1J+FT$+e8F\dg~EVXY@~*!CЊ/þ"cNk2X:OslX)Jk˚]E}vъV n7--7>Ի-%` 1Qw`hNhKK@ zR4cڗ(^b m>{S K=qFEOŒS@mv6iqNi6hH֖`sOF=R❷.n m/4~hb 7rm%!Yw}TXQaݒ4cab\]nr)(R\V!I76.hivr&IQq1E;h!1 m7h IM,bm?b /4QD 6P"!MNV+>mKZLsSˢ *M#M+(<i&yb=}*Mh}*]iD~]*M}(&ڛbzM>vӸmR;&ڗojM{}hRb\DxnizޕEڤFڍyj:TZã!AT ?,N֣8+桚"ɏ䑹ɨ;vҳ%i`* F9ǯSKQ;Pߝ91qO91RYMk369 U1sIS%XcTfIS /RyJ>B5w&cNHWsAObA1bTs(&5fIV&TQJ[84ʶO9F(\:5p# 5eax'hqeXOWI?ZFJ-9Bd0U=K}}?7>}*hĭ;-+hFW84mtZL.=(h25<|II8 Hp`֋G10,}Mg<jLaaq{TM 8LjX՘?ҝ&ɘ[y+JqEeԎGsf nحEX-jƲ/O"tgmalIttgȣ ;ul՘BTQIѩldRFS,l0v cHclm✷-#BOSHs’(5$I v$I9SZo"Ba5ZZEP),o?J)zIJpg4:Mϩ4} woja 9xVi6:hޱF5ftP<=ERxMLsqݶ彷k֓8#6a凪԰hǩwx&WrVbXFGCF.sS7T. @\S7z7n,M}/8O~__(^.5-x澙V)rU}KYB|sɻjLS}+7v jSNێ+XIdg(H$s9Sǵu ׇl 2E(Iqe oZ9R9Sh8M]3 [VݳkO÷$lLgBx"G֭4p#>Hs(!-&,|f5\culEIҍi9⦛ޙ$-pWj6>*>£*#R)vŠ\V8bSRj.RFiE;mph;{P1\S6qJqPIjv( "4O\W)""YRM\,DJۊ$v_;J|j;ѻڞJhceM:ZP74d>O0}*זzqN.B})Dmگ}E׵(-< װ7T=Caϥ]XN8Z'b`fhRGҴ|hM.q3;>˭OR}Q͙{ivVj&%e"Qտ<\1V +Lw+"EG1ӶJ6=)*)ZQ/G͢ XaZ ]Rab=T@*)ivpJؤ+ELRSiq@RT}(Xm.ڶ g :Q>Ri6IzQp!C-HJRmIRm%(R{Qp" OZ.;m4m{QJw lSyfm -&*]iV#jMpM.xҴ (Oh+0BLVZ6ԅ}6M6ѷځf܊M&Mm(bzQq'Kܫ v(ZU/\өnsɥd>bo;sM2FsR,vK7RaNiV<ԟf>?ZHO%/4֏o@ž2ܚj)c֓) 1r6S6?*Ԫޠ CbNޙZQ"r)|QR8#PTj&[y#R,$[؊Epy0K\W3O"edi$[֓*E͂Jlnnݓ횆I%r8V*pYH3} ܾށޤiS'V^Y]X.`wÕi_;oFҴ&Dyk1ۆ~TvbaAIIܜVEECf K=kc?tpƒ;R͗洗MUdڬ-Q>ΖipsV]-c>ݖ*yQ- #/rÞ*f"Zlڮ(5vԞxl`ޅWJjHF5&@#&b=WO N k4_ЪU#FXz 3 /9ǂ~&s 0#= C7J( `R3A!^YC[I Â+篈 _KYI=}Y EgpV+wVEyY8z|Ko=|,]~"OV*G5unh5:+5]d泋qSg(bKgGӮ*[6ӓힵqGͻP/J(ձvG5+(4*ۊEKkǥ__$MQyj#{ŗ##qd,Ҭf zbZ"pB+bПzj6piԝ٣a^WLE5rO >5O3<^^Yg2_e1喓_vi.xz; TCIZyO%fiGNܓq$EL9iWCz[ڟ4f# U)ۨHc)S*xnRՆzQuKc=ԫ"ji=wbE_'ޯO3Fo썊G~g4}V)|O^̠ϥhytX>C?g)SbaVrZv3КC!kaϲ/j4sUvK+uF^ێ_/ȌN1MkYCX";'#+JS|p}rєc>olVA>\2ZMQcOfʛ7e[? m>ar2Mc>[5\?ޔ6SmiE¤6{QrH%i|{TNV9R?YM.M\y*?Ji6ӸXҙSyB:S6*v҃.Rj6ՖOj.Rű9J| Ts2WrލҬ6vJ|bsK;AdR)M21Z[[)Q)I}jo[үʛiv՟[0Y_mÚM+mjBmVRm6Rb\mqFil1NUF)gGJqcSv]B4R'h3tay9e)i-DݞԔ#)VPOV_ҢajVdBM͎i6֤}ۊbR-v?ҌQD[HMY#ڌR+n"=)FxPƍ.m&Bҗ%KKLC(qNP!ToSWsFOF)\v+Ѵ;;M&Rn@XnE.QFLBSJRH֛ڋ]Yn.:N*>e5ƻ=+߉Zׇ*n╙ѲXWYktze>Ff܁Q8թ0S^]a"wH,;^n@4&SWG=iUc<Q43Da_)io"0BjVg|UY6;Oz?/u!Ww=)D՞oI?kL+R?'9ZY˄ž1[sΓw$C swyQqvg𚒺#LgKpʫ3mUZrp>SY"qq ;dwK33 ;!(sY` zSyn|}Z)dpv5xg7:I=Gf 5eC֔JѝJq }ZhZin󖃭O,}k7(uBB\ +\7)*U7gn a:s1kLSknW(3]Di}9lf57SLW#A;š_,4Y)\nڑr)Yi\,ҭ8F xR)&FAtmb=dHdZpN SdZl04W⠡hK.(%7Π.J GyX\ĠӸ1ifC;ѴUҭ5<|ȟ`Fڋ NZ,t9S(Ln4[z(aҝoZ]❴Q.RN۞61N vRiANaw.cݜRl"ԗJrCI+ im@sIbfHQn4i9RP:3JOFjFEOSsj?0вJ,.bNSMzO;8RyúGnQړxnn{b\vԻWڢRbĸT^fދ0a'ҝ?Z5 <(8?S8v+"hW)ަEdG䯥' o=)-IM;֑OjIh(O1zc0PO-OjO(SH{Qh=mԞ+Pv7ԬƜIDjPU;5=G;VcDZui*4ƟS;1s"Bتjj>ƎV>h(ܾL˸cL} |Y1_J.r˛?*6 `f}ӥ>;~XkOM67T, ?5:-b_fT.fX87JrJ|ҐQ4Qa1Zo z5c%v7Z ڜ_iHX #(bis.;V3֗4囁G;RyT斃&Y~T tJRX53yb&HcVJssw?IJ$NOsW#+zHjcjxUbbSni ׎[unbm{W Zm \eLϦ4}J=^JWWxOa<{*x#ֽ T3a_֩)z??"2׹/ H/pM5s7fH3Dȧ526;'ߚ<; eփ ^j[}oU|ϱq{KȔc9%=ep>v2?4k'h6RVd>G.?C_?A2)zm X^*-\r}|kGZ:O}VOO %F-|P<[}N+'t+-c+*sЏQ\ez _J./Q9(@nYFs*&WRn ɝ1,*{yLcEP 9m摢5ٖ,2qJwz՘ 9c%r鏠S-XǵTf w;{ ]`Ӳ}iT; yU%-+QIKa)vөi\chNFQՀ(M1hV6 Wiz:nS3hb(XgGRG~>I‚4y~s)收)pP4øRݎN? V6KP}3Kұ\إLU>}i.]i~cHaS|js3Q !H#֤ ;p=݋y&5c6E,"+mXIO)_mhGԾW4s)Wm&ڷ,9j֏ԹIo̵ws"y@m^/7Ÿ2#dSM;y>dnYzV`qN\+F?:-OJw۷4dUFͩՅ>d+ٚMhXQpBV'i꾣w1F*?V*\ri*IuJ9Smx^Jj9ʘVZ~Y\ǚO.}dѶ_JwG2+*m=۽(4s!ԚvVů#[c9Y m^gBa`zRyl;QK 84q;HIK3&SzFaڙnyas2Cp})h)7&LS3.)XKv;>, W[КQbad H;;ҁԬ;`ɞ*jڞ b M% Pv=[5"B)Yv)Fуڧ;xU{?$gH3WKҟ3Te7f Ms{8ٿ 4fEgZցGݹsAQDZEJFW֯ OJ9'b٧տ9Z*A`ޔm+ڋ[SFOҜ$Qv+"Qk)9+2}CV7cS**RWEY.OZc7]Jy Nbq֡aLLwBl%Z5')V$' ~+VDd&җ^آ,mFjvzS6!p(jY=h斣Q&M/K@qѻm5 B֐7 O24+޸U늌TCn1ڐ\U I9E˾w;E10*sV֩;*8"x]U*ffG<6.* kdg/ڇjIG*fZ`pHnieii6K“iTvѴҎTm<]`Bvrc>4 2!6/k3$H12E{?'Iaq>fs95GJum&[!2c8qkF~ &Th;[ڣ_njNqڙ&7|ޠLvJUM3j`icPirmx,_^+!fRp9^*v=@e<8*ԍ {zE0OJy$uR!n8 {qIĩHܜi.>'3i˗^PjЬ0'q^ PXc?m>E1L_G5^v|k?yv}]mO1_wsJQՆ\w+4:KIn@'4`ԼR(N)]/4Ip/i\ָI/om0ޟ3'=h9?w4;E}Mgp=⋊Qz=)RI}92•heқϥ0 nu]1iǜѴgp̛M/zvO+! P`_AN }i7s֋n=)fSRo4吚.ȃi>ʞg'1QO㸥aEX`Jui£ҏ,zsNQFhhMKGր(hⓏZ-7w'Lu8nR ap )w M n( ޢx`&)3pI0aGJ,.fL$(o^;SL{Q>b08jIOݨ8~'ѴzSHVqҩ7͂9ݦJ[-з%^TVi3@Jv o«Q$zQp"2#ӊ_-Gj9TR,>՟/S6CE3O=)oCKQH#uG e/uF+ yo/iy fG<+󜯚+^3<ۖZN#y:qUNշ}fRN$[[;E|+G葑]aq֖h7qR4ESOEZGTSF$M.i[I!pTskfœd c=*І?'Ԅm; Zm^Pl*kp>¯ ??Bx'b4RcK1<3SvG'*lѦСrbLZE<6kivwSP0%/-7n\/49 %(a:SBviwS tdѺ4_,R+R恑™TfXn)=(jo)\=j_(QZw'mO}(M;yt_OF..R,ѰԸ4SC>(=),CEMRm\V!)Wyo4E- 7RѳҜĢhϽ&RmCqAQ@ Imh O46,b,PQ&*_/ݴFjb:)3KRъ\P0Gz_8l54 1EQH7m7iWdMsKfPѸmƜV*sڛaq#1c֛ȩ9l"$)IfacڬNbLPSc֛jFJ?JhdR)4U^%V+ڝzhQOz#6{RgڑjP+ϵ&hܞPQKܾJ1I}iwQL3sM2#ZK3L3ڤOНY_,d**we\9HqڍN1MަN: '1ڝ4@w=|Pyg4-OA^DrP{Ң_he+PɺoM,pjlfE9=d hi ֆRsօLӿZqRm"ȏ֚^.O.$;wzE@"$sSy~+2>i&HPqYlԏyBاoBZ;ms@XsRnHݚ84!EJ%)SIbUG4¢Yx7izmqXm&X;4ڳN89JImFֽA#7JsBW4ͤUhFG87qң @L08&2"vgkzjlֶpsIuV5!t7RTjFwN-[N%F9;=+~3_˸\i-׈F!OJFT*ʜaF5cF4|unV#^Wj2ܜ:5s*TQ&[JJ8zZ&$tbo-4Kj}I&j߽Q=s_5x?g2!}/ ck~G̾O{Xo?0rFoIh3SoV<=i}q_QϐQEo$qTR gi\|@S-ge?<ŨDE\04RU^|zmZb\Ƨ'x9;wy/c~,|7f"EsG?^3y Szz^)I2 |[f-uĘt<-T_׺%d߼}EC@ݷ&-jǷ5dXF8n@U䞤TX:[gJ\rlJ@QP{yy^Ojljlɻ}+N v36WnЧHudy>eHYqܯGSDpޗi_\Si3J(%Q֖֊J1J)hiv1QKIJ(gRsA#Kf) (`)i)) J&?b XO|Iz}/zW "1(z~KӸX@<2i|O,;<,~sKՅ}iv/8JAdFRQӸFJ(e:JCvlS6T};B⟴vъ.JʼrqS7 Erǰ5ퟭ)# w="%?K/zMF@h;}K IQ BQ}Q1JqND#GjL.(r(Ryx횟gڝ6D)LijI\bIΝ) ~1N]bm&K/8r4jNh isE2Hv"JTSsjmheM m@ g+F)aQM)6+)C8Rq@4qsDFnZko6\kB,tE}.]K '9W#Kn;R3Y|qҾ4y6vyX*0y/QFH `E4]6Szw]&4R*zgx4M3kN%$*ӍHh}k)su25Ï6x-_BYC}k"IN[Ng_w{%D'%zu8) 8R(1 c*(Ҙk5v-jW>OU&e&;^+/ZZ1$R :{ΚONqfjԢ<qIa$&8"aߚŞ\$M|/O\&FͳL^?ղ|cZ_mm8(#Ү4;IU+jL7=;R !!qS7d3TKۛ?[YN^w7S֦"5&ԆCӖn^,_zfŘ2yүrБG4ܓKx,u-% pZ-PsLM5"uIKL KQ7RQQK@ (HQLQ@ (J` HiRb\R %/4%/"ZJZZJ\( ԙJ]QPԴ ! E%P+E.QFE.FEpKIRnu'QKGQPFlӱF)3IOF`2@f)( ˣi9Hv ''hrgMO,Svъim;P*]y~\,C(S;mR K5O(H|1MzvrVvȤ))^T74sbnf*ZktMP!hj_d[ii}h6b6Q҃ޘ41\ ?`QS0* +u0:ѴzSހh /n'No8o)+mu*HzھR 93_BS_Q+'J_enzXC.svj yZhmǎ)OQCژE(+n8~@͕5=ъ@GA'ޜt)x_Ok28rr }9QOH(to_a^WϚp)oQX7ZOO~~X JLS( +IS@ (w!i6OE` _8`bmF=|Ē>JK'KDGs,41$UeXlDTvI{GjΗRH.>V]o¿7hV-7nmHt*&P#3x1xf})}`- endstream endobj 42 0 obj << /Type /ExtGState /BM /Normal /CA 0.3 >> endobj 43 0 obj << /Type /ExtGState /BM /Normal /ca 0.3 >> endobj 44 0 obj << /Type /ExtGState /BM /Normal /CA 1 >> endobj 45 0 obj << /Type /ExtGState /BM /Normal /ca 1 >> endobj 46 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Annots [ 49 0 R ] /Contents 47 0 R >> endobj 47 0 obj << /Filter /FlateDecode /Length 1680 >> stream xXmo6_1puhzõfn^phJTIڎCٱ)Hj $ Y= ' zydi@4i o") `yx{7 7߭UF7=\L^>˗̲p.j'$2)\<Z,,?=<Z'$ʁ̆7;p ̪mG s!e 8=ȧ0H@} aA9 z·,q65#X5f-Lxbܒ,m9M2 JP✄ԇҳ|2{>\ (f F0K۷bY̞ sk!SǨ;~s 'ޘOEc,gKQJ.i%WV^^H0<=8aXތp>l-N'9CS`Z3>4[iS8ּ Z> scc,?̵ܻ)}_ 2vU E U}X4&J1+ )ԪĴjIOuga\ n[rg[>d8%o"߄^Q0gr JeZPÓu} |ktSeHf>2{$)0|xh]؟~hB'_5Q'_ɾr7r_"YWy/Ҝυi \_s5֥u/DQaknV6Jc;`T!p]V/D#%Qre<"I{t;5#ob낭^ksu%,bUϹ6ćdAb؉oARGnTs%klZuK$,^ėzx!Kb[gzM¼L&1JOyw:f]* sZ5g1 1&cZQq/]Ď/q2}~9EIPcJ㌄[K0_IxC$8#{3{7szū8HQWybL#_ys5W?NOx1NmH\x#֢9v);ZœQJ,6\-),&N<I[?ŬaA`qsqKNIE ީߣ[&sNS8=vSuk1يd|yҸ'uOO&|tx {B1cГ!OJ <<ӷy SL? +kwJ. !u8j<}?s7 endstream endobj 48 0 obj << /Type /Font /Subtype /Type1 /Name /F6 /BaseFont /Courier /Encoding /WinAnsiEncoding >> endobj 49 0 obj << /Type /Annot /Subtype /Link /A 50 0 R /Border [0 0 0] /H /I /Rect [ 35.0000 123.8355 425.1680 136.0455 ] >> endobj 50 0 obj << /Type /Action /S /URI /URI (https://www.rdocumentation.org/packages/base/versions/3.5.2/topics/file.choose) >> endobj 51 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 52 0 R >> endobj 52 0 obj << /Filter /FlateDecode /Length 2015 >> stream xXrF}Wtwi7TVlJ(VmEYcxK} @ FR]$b{ц\zOlu\ץZxF|Å\:ৈ<(oF\ dmR]vNDk냏OsV\}>5]Y2տ(0]ӿ^Rÿ\<'oF;DLxrZ)YG#6 b{FUKyl:{O>ocbtV*Tu< m_j~P1\njs-?#66hbKkCHX bJe s?_8`ȈhFug oN.yB!AxaQa$T -C')Zc5}#l΃j7ku%!yFnlj2pQPga=ZQYx_SJ rNK;"al;2㪂F)rnT^DX۲4aTwC?V|d*|J4ioÍivQHW+BFjͶ7ob>Q T^xJIXS(DGV[Bc%ˤж7)"•>b q.@/ 9SMUml ?HӢ`$j^h\x1өR#lCwRx` ̦%x;ɲ0=ڤq[lbu·>sƥ``Wn\۪O=됴a _lL}o^Iw:R@5SRci( @ocUuGxdކ[u8p0yn-U~_C7\o7Qo}v1}~(8:QmÔ+[s &1'4|/ 3:~(x:]܅?S]SL[fHA^]'~)NGzG%^RΒ땪F03.t%g3=o 3seW206srad=jݻUifHRtY-ͥ,IW uGK~i%EPary-Y]p*˕˂ogJn ͏9>K'#{Ŀ=^Tt.m @ ?u endstream endobj 53 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 54 0 R >> endobj 54 0 obj << /Filter /FlateDecode /Length 1508 >> stream xWmo6[ 0E ˇMtm&!Zm62Qtg~6`Igs{$05ޔ; V`Q;ujmle6n+D&JI@s)#qS>\n=B~:~$If\is6܇m.UOOlԏ̃;W>FL'fv;矏QF"雉F^A&}GFPePOjFp #YR pX&$P@ +YC11F([͠}D a&Ih\y>8$aCǷYJv?V+vm3U%o/ Mŧm )h}qwc> $Q ٳg_= If[G#Uc݇0lU[7RTzEh|xHm-x ro#(6E>{Qn ZxYd!ֳIQ#٫Cr]k֑46ͩ٨%Qcwڄ}D*Fؗ- RA6a0gF\خ*Wm|v4ܱنeX-wzҦ]f8-a") U)M^ F[F؉til03Gp1DOtsBRt~1:(ɖ .V=H#ƙǃC>5bNqūY-} nă`1*Z h\9V\DKUmG'犝j+E$dl Xc˷aylcpݛV^#WRkMr:.7R7O/Q^Eqk~4R4L ?s՚~ȐmJV;F_|!x*Ĕ;fjEBqp҃AX0i a%ys޻ãΟٻӳx8x<"=#kn8Y3NO.WJ3L| `aEUV9Pfo,qst|qs- q9i o'D2.,=l%r vWꮞ-=8hvV=emyAlYْ| rTKØ&p j)t]FdOM=׮#8[NV5pFy'8 sUk;=~C7W endstream endobj 55 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 56 0 R >> endobj 56 0 obj << /Filter /FlateDecode /Length 1559 >> stream xWmo6_qh4F^,0qRm&-Z-5JT~>8¬b"xsBCgtMtɖǡg5:c=ϡaB'!zg;zVWY*I Uf:m,SGb!kUM^xBh$L.cدG6So޳9MMv'rY|q`Sx}F+u.'y+qMgq9cf"dr8ط8̵o= ]/m!rzA/F R,Kեv3 Hy:F[?tMڈ~k8A(fe_4V7®B k qYԳ,Fh,3/x)XD㶥H0bYp)jJʣOUp<9v{hԣgtJ%ػKYg:I74D F F32fWR+!p|tts PL1x3k <{ ȴcbޝ_{oGy3Y1fڣLj2@͖8U# ×I[&9^#svZ)h*,qwf/kYV :wYQ_4k>oMfco46.ߡA |[Sߥ=|Q\l^4͛|VBR;c:?_њu8HF WYFRaFk}|~)D:ADtê)PP&Ia| 2\ ;ESKWP2ˬ@S(<_ 'T>Y'rKM;jM2{̺Djqlp_Ƌ8W3 sI) 1)/-},3C$>J^qKr.q(͎R1-ZeG1*[x[y.iKN)aA(sS<3/O3tRQtTL*6i_}Q endstream endobj 57 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 58 0 R >> endobj 58 0 obj << /Filter /FlateDecode /Length 2331 >> stream xXksH_q+35$SdŮO 0)LQmm7%jcf۲mv}ъ|zF!9=KtKxÎO ={~8auK!X)1i%|Z%8ZE%*S)E*T{á׻GZ]$JfdX2 a\UTGzLN!Mjz' -IA.QjЩ~ѕl).[T3D }*S0*ZS(إҠ`Jʴb ifaM(OUBLHelͶy~I^ۀBŋB_J x!^uѲHsC3x{ܮtM3~{"Nʚ?kۺI7(Z_ ZB#;LjNծEz셽wNyH%,R I9/Tx>C ?d+"д-lfq, åG6"ش_aԣW:^YT1V{B(jQCuia>z!*PzRRQMMtp]j]IYrֹ ڕV0 !4`f H.+i>WeU"KĕX]TGk*m411%[Y[.îwʏt>4*M*:9ra"Cdɑ(,2#`Kwe +Dw䔘Yս(1A[FGxlFӪeM4uq˵ۏvɥZB̖\7S)3VWv:4h%0#W2eeHY{rl%. TE$I]KFC]A}m8r> hD8<1\Tz]T8.!P )ȅ\ILݞknť[ >+ګ5ٻWZzsW`0{upy \3Run3#[G\g^Fu0_5Fȭ.Vw5`D[~?@E (^¶0u= mPHC'N7 :\׺>N@dw;5|{ƥnh{]?槞;/l0KY]/ܭ1xvf;<#Ioo[E#JWWWޯ=yy~yi﷗_60(HRIDT&^z5°WY"s5:>ڳ׃hoRq#KTfzM'F%؊yIT}:$Ɗ1 6vxO$?xM #6N'BNꥀmxQO4/;o-k՛GwCuӻ,k7\m&7m4+mkr?p@NhCGl7+X|RWfA a/<R&JfRS }5i3v#Ok-Ԓb# xJV-(S%rsc'R@=4Qlw•i4/@ʣ*7I6S|#y/l֫2F II%&ULTRBƼfLj)ͅuReǁcY"q)}pSus[ƁiWd]ln@I.|֔ endstream endobj 59 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 60 0 R >> endobj 60 0 obj << /Filter /FlateDecode /Length 1880 >> stream xX{s۸ߟbGrKAs؎3ϱ}t""!6I0dY\>{-+54w ߾%,plJ)l~a3# | W#p= ._n ]mR$$Wq^e.DG6n~L7*[)!㓼gJ\XC]y=@H SyƳXDmbϟ\}pfJs:vo;jtpcyy : s|3BocģD. pˣxnoPjlcdoccsc$]Æë)!qm<̧ǒ;n5CtIU]ţh>a!`Ey[`|RoգgY^MX WEK,i͹cq fjtXǟm 6u˼ZŎ0Bps=|lM/{ҬEԮ&wmc x},Mb% ޾Qc[gݍ}SOUmy>a@9V(8#\Hڨe90B~m#( rjY8{z`F{JC%+ƊiPʚi&[4BYӱI@ɏ?^_䧳gGqX9Q \oϜ:r%  '.L̯{o7M_k~.<;= l\N DIds6oK/ހ4PmLLjH^\ɹ*HVUZ=)Qw$%V V(abgMc)cX> endobj 62 0 obj << /Filter /FlateDecode /Length 1745 >> stream xXkoF_qWP|Zl@j'uЦNQF1"G4#‡@{ϐG[`k"9>іzCD8Vs!f,Ht*"c_ݏIiSSz;QӒghóO|%.hX~ofRrQK=ҫ(A`k8Z4'Y(0 TZ@]M5 *5'Au[Ԏf3vM!k Q[9HtSjN 4)zy./_*'[\ KE[7Q-We/zdy̷ >WlRIl}~N/k+&RKhR\um^fqlӶh\݆г523K,;C5"&"ʎ6Z A ݪ$U")!sc|y;B7o{wNYQx?ux3XЩkzaƝByA. 'Dj +;;5f@,}_Y`j9a ApYSC IM ֆDMFe2e[f,lHȪ7HpkݰnxxDŽJq4θxoo h'$60f#fot6tfV>*lm m.s dfo2Oug]=+.#6cMߋYEoH?}EɆ=j1Kҋ,^ mDÌnh Ķ?.Wfu# 8eԷGx`rZl0 N:!0T؟a`+k?m8 arUX{=7`kƌY˕X Q V+s1]tSsq\Ev9\X#eƪtN4O7 #c Mw*]7Hp 9ˎZĽ|7N(j4:QSr=M~9%DTAO320<SieYU ]4/tmN^rd\A8ɞ|cSZ(BǣO/}?O%.Ck̬!ua~'ϏAwA.ݱo|f~z؏oy{}׈lcѕBR8U?YpU1݆܄V8lD'J*^|if~wKCٚ.obg-8<a5b> ._piUg;{)^aSCL=Ȼ`h>h[jN{cN]<- LAF$EUSm%@Q%ԲQZuUKB@, Ic̩ LGb 2[ȦhwV;:L; \Y)HRA!+V?JY'/p l)qrXB 4ߜ5ƙO*#@( ?_te Gqk<„Nxϵ7M\ҝV:3=x{ endstream endobj 63 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 64 0 R >> endobj 64 0 obj << /Filter /FlateDecode /Length 1685 >> stream xX[o6~n~Y eXzImzs qmk%WcCvDE~CX,%YnX̲,_MK,v-t" ax](- zBҘ'uYʳB {S ZF Ya.Lu(ɭ Gn q"3*O\yYO:6GӴ! R1拼2+L, (45Pb)fqX)+rF592͟dQU5DVL^Ejd1ض/{#7MX-6Wd gvqS.&0Y,c^,o؃x͇&9V+l9%>:T?WU._U$Y/r&+uR4Iu|{6l?a[ߤ ]>=L׬W3ݡdn"apJ$no鈍<E3fG$ݫ]%3⎕gƕM4^n#oV, TpV辥-|/^ 6aQz'G껎!<+[<FDEE=)@lo'HB\ hbHgUsY*F=&":e3C9@EY_3k4K -7ñ:`tQ葷Rer:9I쫤!e },;QɬԯCTTJK+Bʢ)zqRΐ+k>ʅU:2)m2524;<0y̍ c#,(;@` endstream endobj 65 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 66 0 R >> endobj 66 0 obj << /Filter /FlateDecode /Length 1807 >> stream xWrF}WtePUH:hKLT[ fUo3EP4tԅptO_NY,Y>}Crd1˲Oa`k$U@<#xJx'+ (EݔSS֏?ݐY(nTgYMOҺ.~q$YR\i3eRZTWg'OF>!pS""ibAyR;'VRyE<+RN2e*76CwGrUokU#Cq=|8`jxi'-}f,Eo4kQÚ?}V/074iE_T[)Z5F6pg؞Uko)t"7#mצ0~}鄠܃& ɚ$NPJUҬ[\/ ]s7$3"JU/̚,l4l}||s}c.2>]ڥʳ5KCTh%_,RENxFfq{=L}.2e:&t{Jdf8.wLp6Ev8Tݒ 2N6B+s-*D,gk9o޺ q*$3HT_+oz=]cn2Z=7|RKj]N7 ǡ ^f8Q*1q-Z fA}C|x?I [- 9֕4maYL7hxIWw쎮w44 MƦ810+I9s)b}#Lƶ0T/~)*N >i+ˌ!M ~Vjb2OPC;vi=fL]D2 TV(95"b A=M5׋vJeʪGӦpw\Ѽs"F/RvAMt ^V>CNe&5-9+[&+fTg9pkTO-JL >ħj)Z]MAgcJ4 I!!uE0hȏ|D+YgWBzp F 3|ko_ߎ&߇o~&c_GW;pd(gZyF:OE"E~j署n:2FQY[mWe|)*vL_yK ʛAᆬ G!]pq=l6KқW./Qަyn vaՍv9՞,{ro;t 7h:mɭt"kVyPr@a]pu[R"zxR6W[^)E!nbTW s 5ـ *a$](MZhI.p+ys4k3>} 0D0{GJv7ͬ':TD.Jer\љj)%\RL4۳*K*V P,NX`SPOͧƧ\2[M1Q=WĮa9$ΏJByN*9 VP& endstream endobj 67 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 68 0 R >> endobj 68 0 obj << /Filter /FlateDecode /Length 1811 >> stream xXko_18MM*ز@KFokr%mJ2|X߳JlqqʀIQsfvfBZMgܤe6/o'(tg$ӫ!^>= &|~?`@Wр?ȸuOWw4O ng|^dn RMQO\^Xoo\IEF&Pw!S%t7>ͳ<#ucz$Ol>=lrI:yQ9~Sr䘪Z\\] #ߊ"=!BFs.yj^jSLR T@R<62ּJJQjF79uƄ;#خ!F"c+!es Eeu0ɂ YGnApFW4=()&4oᩥ&:|?1)-F WW퓿ebˉ:in@7w)u8gcRyF=u`[nqkM V dys[e ,/B"Z}7Jk 6w͚v9w:¶-P\2oo@7~C:!PK`Ub3X ;pb%wb =yl9l3 &4zfZ]ߋ!f*;Tkjޖ^P,Qu쒇RE57e_+H[͟k@bk]jH4'^SYOwU?={( - ,sx() e53u/p,x# gq9ӣyPٌe=-1ĮuQadx>gߋw8?v-+JQ u(U<%L]ӊu_w&з<rF[Dnxej 6P˕գqY=_U%gΡ8w6[^ߦ$aD#X]:Y_֏~D'g~ÃCJ_]}58Qm䯿?=pK7^mdQHcqMS6y{+1p1;8o-۷Pj-)B>LV89 UʠqP*[# J!j6Ҋ%C33тŪ5NTf׸ǟZf> endobj 70 0 obj << /Filter /FlateDecode /Length 1993 >> stream xX[o8~ϯ f᰺KmI]$i;]y-fG$oߏ|Ʉ Z`VIl!ύΡN, 'HnZE?~]Lb׀7[28$ߍnOd 'ݐZN߸`$2!i}Jz˔ s32Y5UNfy&\ؤոRcK/HgAiUgTdi V;\2e;6> :.WLdjKLK:Nd^:BTHDD阭yܘ&Z{usУahVvF.%g,=&:inزQ ቺZxhRYZi,)14p\i WC1D~xN˅Ȍ1yU: X:77DJ)N ﰨ.Nه]P kp m` aqܥB⑝&} g5NC)KhKrWQ`+,`IIK3HluvS2j ^y k/н*҃a6Γ`@)+228d!OKk} endstream endobj 71 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 72 0 R >> endobj 72 0 obj << /Filter /FlateDecode /Length 2083 >> stream xXr}Wt/p>d-V.ŖeyU[@pHb..&Ysz@R5T\K0>}"5p1;mt^tO^n#Ϧ \ωDoh*i5<% %̚ZIAtK39ORUժ6YҮ"ݿcHI*6Z|?%(+gY K.eM n[Y0jzݑqj*'P|kq}DzТ1i]&Yh n,ǠX-5E G#)զkFX#A\=Z͠ͅ묑5ZIUeNX3Wr2\gv9vMNuh F򶽯crDE&&lɰNrBǢZ urBΫYhWlpcYی]Vg``Q*7EBcm"׃_*dd1jXMG"tC#~:mc7Ep"3L)mbBWj7LyU#m2laԽ]}E^*iZ C*Y?ܿra0n^MPȒ {cWIvG³}%=PiSKYCع\ɤEVe&eoѬ4IupObL%'T$]w<REDM]Er N{EYͤRVM<;~2ݦyJҤ8}JUHKʺLv~-*5Ԭr.e+Z&U_Ӫ@~ki.uֹC% H~Ǟ'kw}XnB]ݗ7֏HzW-*/#@]U?@2 endstream endobj 73 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 74 0 R >> endobj 74 0 obj << /Filter /FlateDecode /Length 1802 >> stream xX]S8}Wh}.[aۦ,RȖ>8Բ!ٙ߾G\ !vd\]sgQ!ׄ|MgQ˲HǫME 9~QO 'O2DuJ8Mds3t槇3!a۶ۧncj^DfQO}]mٰkBvjSR/0|D$I~) (ci".FA }~T8N:; o\ߙJiS1W+-2YFx{9qը`eXƊ6K…J˕I>~ u"$apc^Kü4Q& V:uN3(6g5&</u[]J|Etq1+@y|pڇ"YuXF_9HeAHUJA,"ιL΅3P[\̶F}m؎cR<fL1/G;30?,GzE7:譝K^ߦa=w2⯁y`yw&<ΠfMA,"nрj6TkURH7 QFUqjXSj=lE {k/ ս6-^==)0t+W6dX1L$TwNyń:!j2CqbƛW58...kQm‹HF h6tm٭Fk |˫&aBXR|Zs %#TKO3+jpj]IQNED=3ct`d HKDzQ5͆wA\;12q 4ǎ2,J^ک PKz{@OlK3ڨ$"{:@M DX)R6í^b$fGߕ5M`1Q]>eN<]&`2pq-][ެYU>ަEߥ.n\&wd5 >|Ma .y?A*ӧnJ$l!eU{6N;@8dܴ\-E=w134^mτS9e]Kja(Fe;h@\ C;enKlk}txqpb?{{z6h\Zȩv䴑zR%L+WKtrםv ]ԛ{VYvw@k~(n~ont8J6!ԬԱ\Ȇ\m KDVoXTcpA|*5B(!'q8vxاHM1OŌ,,[)\$PԤYL-WYU)9uyGiAWEz@LVL.bUT\lHopbK˔!vcZ\f"6S3<^,V`T,xqUی't21]EUԓ0ݞ=sjH^Jz#JfP''& endstream endobj 75 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 76 0 R >> endobj 76 0 obj << /Filter /FlateDecode /Length 1790 >> stream xX[o6~ϯ8$Hl&vRD[EoCv3X#~߹!!;7|H8ѻ xA}LR \~7p1qi Oh8 PbÈFv;3U4|DO\,I"6!QdɪbZQc|n8\@xvl_Ӏ{DdBCB%炿*0WWJ*݃Y]UVʠbE?Vt=h;ZsTLi`yRZD.R@lU*^bNoJ8iIƓO-ЊJf\u uD*œJ4 0D^8vNNa4 CD̖e3<=qB[2˭4Sh\ACG60]%jSgrppq>q[9z9fF+^K(ND,k偳͵46n3c8d<@ N;z>Iq0yJVKd-Е+D[@1)"wuDٲbԢ^b -EX!m~1l8(^tSt. [$`ihIZZ, h70=5(iY-憇)L+/pڶ#{]/;ƻaOC\Mrx'w׫bzc4m3i 0OLo>EhZg ^ʂvk|y2uKd7NƻBqLtK,zW:%Jr-+Yav [ " ݣ Ky55fq5K(R+ܿhIk$G M$7$#c2ebd⹶M)#= f C4!i.F ݺo` \樃^p 1 ja|=p.6Y,q/;#vd;i3'("b;._>j ~}MFߏ '&Oᮁ\C58v> endobj 78 0 obj << /Filter /FlateDecode /Length 1500 >> stream xXkOHίHaGVC[R hKvdxױ@jq2cj=s>'[ zODn9qZ^0pYs?zDtcZ8{~ڹ{}6Q/^+n9xܸ`~h՛p2өMN<gC;xIS\x*j ~݆7p,.v~)&Z6 M qmN.K P0&lSlμcßA@TnCpStAC;NorR=~Zչ_ <C֔MŎG<0|!5>sCP(.JPLpxi-xf\\wblċo<)R&0_\}pyRiVR6K9}hɘ"#cdLd<R1t;GםQ,AvuOq]aҁr+U-\Ry9cRJQUmNM<īY}a}KK.%b^ۡ!d[cYB/'8O!Wi7 {. }l1~-^3>OQ_ wjfB.0,eU>ʱB7Z[ɅǷg-yy\v,,ue)=U9,t7Apsu6M(eZ&B39LL'ϕQL` dOTHCJfF5RTwiqY nZ|UQԖi-[D+> endobj 80 0 obj << /Filter /FlateDecode /Length 2623 >> stream xYksJ_  J-[IH81$ٻ[%+$42!}O$F.#i3}Ahӆ􎮉n4FAhqp2fKtڦk6h69!Q'=ǧ;ODL.N/Nit ['.t^;LawW i6=p֜ZbeB1VO1+'S;\e^a‰\/Xw^@*񊦇 o<')dHyP0'<{$BΝ0'FO٦ X:ɑ"wZ)ұ4YXh۽.5VM"BwfòZV{D|ܘ|vL5l-YRKw;%tqD:}{<u`_ъY g QQ^QO@LʾU?pukYzpur,Ś[|(Y݊+Bz"@TIbg1 jUd0aMt(huZikDIYėWUd2th x UVTr[Ϛ>(R DO2ӴBRG )+_4y?Jbz$1UeT=KN4YȋExbddf댕~vjfdYWpV)qK.yEIԡ z3Du:7 ݯtssϵUpuk0Q3da!BY{Տy~K`N2J@e&2"8؊!D~67xcJTuGȆyVWVG*L(aiPI%5F!?x{D`&*Gἂ&UJ0ӊߌq܁έ/Oj>4ƏHrhj`|2 pw70fQfL \Y8Qg* `f gyVFe]92IȣN1p9P Ĵ/3ڋ&@DE8]LxD %@}Cxc"@PB$wgE05,BP%^)͓`&QH%zPK/8[ 4x&Z\#N8LRl9UE]NΎA=(Hq: HpUoڎn2Aɭ^R3zfKS-)&ߥ{i4yF>0Ol!O&BOLcmâ뽎u"Xȥve0]'IjXjNt+e]JC^GZ <{1+rvxu]t&0݈qi(\/}&ƀMCrcn=~~Jtqj7aC?:LWlnu* ~ocGfK|p" |>ƓVwZNjߍef>H7[,K ;3œJIm&zuen ܹEi9NMF=IJec!'zYX9+e IѲXϾZj87[&'^> 7J|htT~SؚE|AR'8|XF|Mf&V=\2;|w;eh?δ8?G) tYU`>5=|YV(fud1^sW ԹtZ=XuGs+|ޝnWp;7V-S?A7 iFaQ3Zh?t1Y⬨mVwZx;-;?~ "uML$oÊݰ?l^ 'Odp5ݸG&6lfEM3/oHL ($먃pNw+"UP& XA~;w"6*߷"V̹\t #$y-(٣mf~^f+:v,<@lvNӶ&}mwi݆ћI5?7~/Y';aoY궏zְz,|TlYgv.N -g8"lU<7kD}?62Uv (lɡMrپL\a0=P~8VEZm)xl mg~vx7g0SMOo>vQn2ݘ+B楳^o0%."`?2]П/PEބ;e(Bw^ endstream endobj 81 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 82 0 R >> endobj 82 0 obj << /Filter /FlateDecode /Length 2154 >> stream xX[s۸~8T[=c댛8N$RNd3)8߹|8ynBk}%zs=ϣO1?:Q/i⻃УєNL\ψ 4@C0u``>ʺ!*oiC|_9}3a&L2)y|6 z|wXYB]ӿLѢ{CI.YpZղᢨM وb}VMi6>v ``&9(VZR=#&WIRAY$!JD V:#ϛZHfi䦩MsTF%lV*fId쭳Ȉnh\sCi5+l5G|ALR>?>ҊlSTsOY, j Qϊٌ ^\2% $E80Ԇ, H bfڇs!-> `I&Sb$H,9D3NSQM5\z&^elo˩ 5]?MT`d s(8RS>cm YElS>+⨥Vs +vYL߱Woqm/`, beWl v&'x+'΁EY̗JzѪY_+IeʷYZվTf mFF 7 4PGjŸ/qwJ^"#?N6 {Yk?DI.g{B͋FKϊaPΟk -Y$jBC\{ Eh}U5!Y!mji`M v)͓nk i>a'i6PUo2>F*0>jޯcEUBʃw/f`Z!% 2tcdt)hF :߮>ƾ;Vs } hzl$L0 |`mNeHiUWUP]]2wvyء޸_qjp6gVU%RAO*BΨbq^ݪ .MPLSq:+PowƊ1'WjgZp(_3\: SUÞe3)[##kpzio"Sljmu+rΞ" CbY4IojWS3mc*XX}SGFG ,uZ0?4GNN愎N [Ez0٨nFSRÃW O RdzdYb0[)*5" hb}]5Ҩv?hqۦ{|3O^W!$yVRx(w^zVE>-)h)۽* ƥ~nhPSef=Y2+sXLh-8k };ԧ SK%^t^}&< "0 褻tKuIQ`Os^~V?ۇ8Зo{ڲ}߿hڹI”tpT z tz NTٱDIP"{~ CD\q MV5%F Y+9]JY+LJȒ,_eXbTŭBYfCf| I[eS4픻tսQyH(*ւ*eb`)JwNҗ [H]~^peQSIr`RY`Fo%C&%WrTӹ~ ZF|B  8I*y!Vn>9uA endstream endobj 83 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 84 0 R >> endobj 84 0 obj << /Filter /FlateDecode /Length 1728 >> stream xX]S8}W]aɟLBtXAL`b%qة@<;}|Q@h1-ֹg`ݒA ``a9i7Y4[`h. Dy8)}3ÛE_Pŋ+꽣&fW<# E@Rkma[om-lW4B%j_܋ "n0yGcx̀6dfN]!d n-ZG#\&/A`){ei7P>Tӡ΂k1[{LB0mEM/G0&CO'?(y.0Q2i$i*p7Ff/u@w&A "[ՎGOf5` Z,W{~'v;; mXk" 'h*o ,;65uTvQC%Q}+Tmj(Bues//@lG8[LN04Nd6%N>g8cڌz! R,$^V+gjMqkXfត}m0Q޳TgMtȺdv'0_EP T 1 oW`odmUԑNm n)L$+m@k#BUuWDgķ]Xk\dF(ԻA2Xu`P{P1-:=P&N7&Hj"But޾:=?uFfp5f U]+I{ , 2JrtCv jkA1A~Ƨ>a'@"q2tb/s b X.*E,e ڱae%)Y~Ucxu 4m?Lݩv2wV^bk?՗wރluwV`x[C SSxXImGY%FZH_G?aQ߷M3O`I/-X N'KH/1^B?sҋ;3cJ/{.Pzq=]5ix`߷;J/n`2wjzPy6mӑ6 6޺'Q߷g5hAF-[ C ,Zsqq޼?9[ǟz_peBH&R(̒k,2H 3ǒt&Q`f1TRJELQr̲%ey2ߟ2N :o& l=|ߢiżxl4aץd#}LKRcZZեj-Z,ÓsNL]j~nct(#[|u-BL2siVY$L.|#xd,4,J%]P\o S Jxm5z,TN50r?Σ;LqBQ(\K%(Nd1ג44@w,|HFݸ:ʲr&-EA1 fT|0NB;O!%XXIdr(e"iQ$(ܿU>~HǀI<0x/,<҄g!Jz8$|@$?]l endstream endobj 85 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 86 0 R >> endobj 86 0 obj << /Filter /FlateDecode /Length 1840 >> stream xXrF}WtUY)KVbYRS5$$,\h\D1=e bJ 8st`.ȠtM' à|~,\ -F!gDׇDwqV~kZ7gA0>5Cfzc,Jb|JY zNUX8N82HZg+*w;8~aJ9><cpGsD)Mf!/HaꢔyFEG-E.V?h!s=l <,N61>LBzzWR R~EzY2؝ {6b1 ,T'f<:.gV@Sd*{I^0i}Lj`LD,ODk`Ƈ5GE5ˢ,ˬ mfC{fT&Qq}R>\SMr]%%Tɰ2@mJr (`جA ]Ax3yR!X<ل>Ԡ%q [¿$q;!avBaPO! [*d!e%" ES}g, RQ~$P_?xvהjTS4GP6Bmqth!ږw^Kj?nKkVϳ:rWۦbw,ۈ{ðzY^[֪g Rzbg%I Uw%[Z(zW"rL5$u>~PJ"w8q3 y\o70 t JsoWQP  zTѕ]iT5>'и5D;k0`o%!I@AQMfyh!mFL(EJ\8i]FɲԝU{W,ԅatMХPOlT|Εvӿ{3,tචKxUv)H5!-{浠iM[s2;|7 6q7ʌ;m Pƶ5רEۢ|bT`|Aos IHB^hPR^ݪ4!(l%ge^C>%VZ GWb. c u5 wۜ9S|3`05O(}H 9ø?ͷ=Y돯ԩ MAb/ߞ> ~97%1[ Td[B* º`؏PWfYb57ȜEIT,nez2JF!f>`?6u54hGwXDz9 6͐hY̶]> endobj 88 0 obj << /Filter /FlateDecode /Length 1939 >> stream xXkoJ_J֙qպmmj9\\xW}_ -C"'hA}D?O,fY刜=uF1] S7$&Uɿڦs9ݟɟe]d8thj7޼?;Av4pqA[4Y@RKAa* fa>tٿ:rI:L4:~Y"A>)yZT_ t6EE6= kS'?q?q{S4\]m6ggv`x|U>"DVVĢne"N\/p?9e+Ȕ*lIk1IY͙Z8qo֎ǙӠRTuC;n %WD,25y BWEwS1z\M=L--#mp%bj#R[i5TR2^/bg_wv$kM1q fGE>f=Rm赶za7qX-3E*{KJY Ka) c1 ! >9UNܵQ5<9,u&J̈́;񛐞| 0\U& sGxPgS2>0 õ#9>Dveq1ñB>Hɶ26iنޑȿW1Upe0}&c}؇ ئ9a[@~=pk_dXv԰yd+@5B0wvҝ5ΪK 4~u-/%B\s+~8 ?.7ÏaW["BaH.R:eW7n*k\LiZ2 /V/Tղ1Fcd-/"/t>$1-J[~`nVҵz ӵ(buqqa4 V.,EEjYbj}G:jR )nzQŸcG(-F*۪ۼfE'AnzaRZ2+X\r"D$Rz*B*ˋE*g|)(j.܅a&T^&yNwE:|B^ endstream endobj 89 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 90 0 R >> endobj 90 0 obj << /Filter /FlateDecode /Length 2709 >> stream xYmSί:m$FHkYS|; .BHLs;ZۺW/^0n>gW 0=9{z˶"AӆFHe|߈̇4y"MQGG\-U'ݞQpB$>4 QH QZlhXf}C`.఺p<yΖp2gԏp/2<0~`/v\)JZ%eνAGb)Փ4IIYZ>zHg"Q&Y:>^Wؐu۩ľ*2m`0npz@NuIZY %GicpkmTeq%͘[%wa /# O5-*{6fLZȶJܽZt-F{g=f*.7)Tnq:hz %X\O4`yK,*Y`E2f$JӵiCzxYȩSu4N=TΏUI׈8uLnj<&E4F3@|sʌqATlh٠5|cFU5!ΛUj(}c9U43y5ٹ/O$; gݘ:w'UrA(|_g;=\U7&ֺyvy>8èfQW?tnlu76#A7W3PJvYZ&A=F;g9ڄme\a$4u LeF2wN|KlZ&j8U(_x1~? xF,cF ;9Q &I,2*x' \`xɉ2&J6Vk 3lɌeZӸi3X $i ¼K[J(orQa9zakЁ#^xױ;-k8Re"VQWF1<@Vi`U-xUe^kb)DZ%Qt(K?K Y:XI8 l(g;tf҉5pڦc2oL D<q $s?4,UZ͂Nlvr-B"i+eRaYwTB?a"O$+DkPDAΊ4eS\РugZzJk`}O4 6G0Il D18cn-ku{K[]1Q"S SOTo0d(sEG&KCN)Mx{U "!wZuJB-8Bfi'LQ/@S+e!q-1WHWra4WT75ס4nj|"΍WN_R2,nT^e3 R?.J: &2,ӱ\~ 6Z䈾_UxCH;2`N-!0pV3L/ <ˇowI 6 ݾ\c@R^Q-.8]((aṖ\,=@"l\5"lks4_h#cw-_D#tO#͢zMܺ6:)頽[Ik?=99~weᦵb%SQlRjyz-P$AUYJ<ڢQՂuqyHP:7GsT~uӓ_u:]Vg`Iv{ >2p8uQC^r] v63Mv\3z5vzז5>os[X^߫otFup}pə"i yD!(+3>-L,l& ?Aoc|◹`Yȏs-AX9եQ-#%hVhPR)=tEXetN+7azԣk?0&QR}')- endstream endobj 91 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 92 0 R >> endobj 92 0 obj << /Filter /FlateDecode /Length 1778 >> stream xX]o۸}ϯ:ie-{ۺIx7Xlh[Dwv"t*@$Q9̜тzKla={9$?loe=ߡaFo"r= џD_<(yוZ-Rӧ-`AlW@N-]Rsv)x-2zkXig+܍΄N;Y^ 3`#cx=+Ts9˃]F.-U']k5Jgn0SY{ ʄz>q}ЬѧFհ8M<HT<z,aM.sڕwHIAcCDϪ 6K"K4k IЋ루i'Ld=B% /zV~Q"E"/+a27">VI Cyc%1D %^%1B;$xkIQCwca_[*-A@| וD*[D>$NC1@G`TOlԗ*b c or|-F#3u=KQJwe{TH+e6jYf紐zظ=tvn]*WԄ%yQ<3L< 5c,l'8 1V$WTٕ [ص|LkCpZ@ zpX\f99{|>GZ\<ç[E+ŸF V.lgُ6>nپߧ7w}2&nx9/;7'g48>Ggj889>/=>7 g磓S{A]Q)JeF,W/l6?h^q-&MdF62wOlD|YYSa g蛙HD5J]]`٧#QY0i*̩P^<_lڔעbB"_ /43gouC=)XMmG2ݮ6=tZˊOC[gQm)ݥS#  S^" (!$\n3^Vh:#kj1JR߈0 @VJm2ȡgY[xKmT5}lu&boܙy%4L0vZonur^ x4R!t>)U~i\! \̄2SEVQr"zW]$B\+ȦmS2CҦW@u6Or؏LB;ȥ UL׀:R` endstream endobj 93 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 94 0 R >> endobj 94 0 obj << /Filter /FlateDecode /Length 2250 >> stream xY[SH~W![[%OBpR8jjFjJd%a<;1&Zs?ٳVd{w =۲mv񄼠yBz6MR:zZO~;xu~^Nԟ2Ө?]}^\Gf2"vFZ?DyVR)*Si.n$\KIy+\Z#l5r}+̼F0W"j.RQ EJ~xK\dMZ4KZd.5%HK0qQXe U|]fժ[QʆэЙYkCkCdei:$dӰ۵BLwY#Vv^ő庱R^cf [CbVͯkqgf0(21'Ű%Wt25NɼIеˤ. 4F.R2 >Dzh wڡWAje!٢EuWzJsmE&Dҵ @^u]&W/GҶ/UYIx!D9֚CQC ,/23:9+2@R"o.p]P"XDYEZ6ň- 1Ka>k-B>%SU$hHzj)#Yf"doTq{ ri)dK_|6Ϣ^=ɢ֙Tč=uVL=e*bu`LC,MFEroˆC͘~qi>r=/< bZq ,k{ڌˀZ9EQ ʆ1Oi,r8  +M LHQ=hvԴ^ (sz^`<}06{tXAOэ cIYl4A-qGƱxx:[-gMCv|g7yOUo;6P# } DN ndEAl3 >|Εe ;(삏a׉,ʬZ7 ֨5|w 8a"?~BEBӺhC:+pdMeH3KhuO" '=Ujf>=Q"–oCNFA msG,Dz5eQEaCT/(Ɩҳ>Z䫘zZS+ϱX1ES aVHH>Ѧ}3ub+4ʼʸ+F{' cu-ZvAa{90F5bu(aUB>aɤ05Egi*nڼ)DsQSd;W:S0wo}Ԣ,m dUÌ[*]=r}wat=+ M{8G*p~pb©x><:hT.MǘB8& Y5͘5gYe nրAxlsmT;?\(RhwV`W Fwe ā3 UvMya;!MNԀۋRG_٠0[l]v{OR])o*ҵDUi`HM)Ϯ|q,iE]V0*9ri~^ӉR,UZz+{^(?l׵)YYD'j#a=8ah^~Dg~{Gcf%?]~0G,Em^L;=K.[pYaKC`(Kn61pvg%]R$Wst<-\ h92gbl;D-JW%LeZU.Sxy2GcE5m'3Mhb\8ޫ( Tt&@N-s_v endstream endobj 95 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 96 0 R >> endobj 96 0 obj << /Filter /FlateDecode /Length 1521 >> stream xXS813AXgn.8:~)}Pl%VqI "m3$k~]y'14K O|߇_=yч j' It1PF|>ɪ6,Ʉg7|$jWRz_IRSUʁzUqKb6`<Ԫd8`pnFiBKi뽜.n'+f߁L=/f zg7BWֵ.fS+A;ΪboqLhcJT@G'enn,ZMKzm|$xx| 6.IEn !B(HHȒ-B9ښ˵R(TȌXB=hvD(y=o%-KL8v*%IkՂ$EQyVBL0S \yq.@%H8n_e#:*aЅNm6PBw9[cdDA]ARZ].퍴54³m{>]zq݋KO0H\jJo?\<Io K]c0ہ+gshsblG c&6MCHU qXL'E~` Qp%d Xk܂@B/ W-&=PVؒWwqdKzA[ I-Uc-܋=>`qrJ^rwm*0ϸ|J p-x>Kb,GÃe.>_I̯ EuSm 2 OVHW9,.qD\T4/'†=vBrX8;{X|6뺻EcG$H_]^:"u6 kz徾"9ߝ>VD!J+Jb/Evh'~|H)VU;ۮO/gN^E^_]cD9S;\* kf iM!6q im0.Lă/Jd[#;{5/!]⒒C6ó[K7!cD-aI@0FK >}:e/piK㩱{/emi9pQM靗KMgMJf]!6pӲ7ېHzj (8Ƃb"9&{׬L9)/\+Dk3HuOr,:mnḿP4i4LsA0;+or=ø4$4[pReTQ` ĬYA |)p> endobj 98 0 obj << /Filter /FlateDecode /Length 1528 >> stream xko6{~A,@= 7KѦm6ꠠ-b#E9(َYI䬘 e2Tφ.!/n`]OoLǝ=dCzh F0kȅwVvmzVf٫ʱ]mWplm5+f> B,!V $K&Kjˬ'TEh+k$+r+/$Qdb󉤲w6 n@|*kq&f%"ej[EwIt3 A < b{q^d=V.<~l[ފB182zݧFmvXٱ~Ȳ/~OW>ѽtHl,, T!zY}("~d,| 7 D=oEĢ(9M_va5 LLByUX?:6H6#9/ћ!*ۮdfUb|QnlRI:w'5IQ-#;HSoFޣ#9نNXfʌ6S܋Il$GG޲gB$WOKFZ״*REok'3ƶݲ]K~lt~vo/wc7 ^'Q7v/ n䚬N,B^59CQ+DKTFdQ-$ x Άhazdպc-kz 0KX%,SV#G } ppn9h ~F> endobj 100 0 obj << /Filter /FlateDecode /Length 1482 >> stream xWmsFίء_pNҙ8qbR'ҙFtN$@%Slvۗk̥;2}$A2aT}7!YN>\,drc4LRzzHeim.wlEd5VF/1qQ>wj(jw}v7[DL2%u1dw]xr3Z0U^ (W@yWB+y|w 2,`cfIsyKѝkeھ$s"WI?sz*,<~ĸPi`xvٝЫ F &<7HuB] ɰIhN?Jlܶ#61}TM|L )= :sdq%X OP`H䶨 ~% l r8nh9&rVhLgn86\rKjC*F4pוX7[Jf{#>'ZVE,ZP9 z+ٰ\ %^pw0^LTF&sqV g{DӤC6|?Irܦh[9r+QG?5K[3Ԅ"5bz*Ċ0;,ƝZc|pZ2(gN?ʉ?$| detfVA\}ӆ"h94y8B==i1xR 4@tː}I49G 6i`0T}pYkHs9;qUVtWD6މlHǛa[볋pk|p;^_.UZ,UDf*I%cxAIaqQR4YAQ)Xjh%MXR[6}})tM'6 5IXn}iwԊrh]|f hIzClmtXKѡg1vA::2&ӿ\BV.6}^.fѮ,\nbnot)n$qbɒѓ\21˰tMq,G(=LjF3$Nhr!B=ACD5%Z~~,,чg,wf)&3(*S810DЬITށ2}eB $A\ܚSVetz% S*P˜&$ NVKn&Ӎ.$ 2JifbXēdS1XX`=N"CN>~&{ M6|.:^%3tD`uHH2{7aH endstream endobj 101 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 102 0 R >> endobj 102 0 obj << /Filter /FlateDecode /Length 1420 >> stream xWms8ίҙNŖ_\?\$/) jM%[@E40m}ϳn dxr9CI~8|J>|9LëWнN/0~ !R'aB2 o3 Ѿ͂$J\w{]hZ}Gw][ ~Nl4!mUwLuå\/38 I@LH}LItJҤFU+T?3ǨVO6 4>YYx9K?`ѕbЮ D٘Ə1y=5$"~³щ0Ӄt DlNK<;̘FsNr{=2^hJ?64u,ex Wl+\x?z˦+&q{ӻ[? z`q!LSx.!Ӣ*=`W@Z KY@n1azņX\XO!BА 60ae RR(bRir;1إN=7LKJ TeՂ`(Bچ82P/zOh[y] 0jmWbdWɚ:`b'OM:48fssoC|,%mȿ5ŀjI[+Z"B9aZógU}Jcm~+ =DNjbV_T |C >&kJki=LiV c3H'&2[rnܑ-$m25}jCdJ6)(s[;sСC`ajC6nk33H{D_<<x)[n81 wBw%>~m ޞ5h858 >&FP,' H"HBUS ^ΰ( ZeV7PP)zC`o 4,JÔ* W kv#2ZI{w3w{[]R=-tp>8A\!h&p$ c4^\0WJr@` f#r]#fVܵ綐ۗ*xtl]tրb;bKi^5P'H˵^a.T&83m {BJ]`+:3Ʒ@J>Y*~+[,!' |4}#= Qy >^A줷Ղ%\WE>gyP`$@I endstream endobj 103 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 104 0 R >> endobj 104 0 obj << /Filter /FlateDecode /Length 1414 >> stream xWmoHίѓ lԞtM_|ok{$AU߬!(i3;v,-X.!XIJ,/)8n{6  1x`SsτE /u+e*r /ahnYZjE=܏/T3PE'ܿkM峐Iy#ߤ: L ə}f5~ Ol8 \Nnن>2jXzM6HKQQ7ˮUu-BvFuˮc$O˵,&gP ̤.a*]Áe!QF̴*^7_ehm1!6emr1 O|35sDS{.+`&7F(o:eK V_;_zͩXqq.K ViUZ+,I D; P.(<G|k&~Mb gIֈ:^FՂKv*XY6b:!5 (?ў"O-"UCt?J*/j2wU >eYB^[b9hS,UYTSsqkJU@ɳe*J9h1>>N7N1;6b,X -'gS,յgWjUG5ljZzM`߷UZ@Q.{&b q*_=(Ð1% Nh,T~;f0 md_3Cst:aQ;5nbM?vV]Է VeYm!gJS|!{Pp:LCX {\@, ]홶)<՝+@1 n!?SyX {ڀ2s-L'Zbg 4xY797/[ZU,j}!ʲOkAdk=`ֳT-9f)ǒk2CX)7X? |^&%Qi\ByʹZr]T+:~m*b$G*^c3kOzĈЧڗX ^9\tY*<.f+' endstream endobj 105 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 106 0 R >> endobj 106 0 obj << /Filter /FlateDecode /Length 1534 >> stream xXmo6_qpVދfֺMw-іZIt%*7l}GoE X2Żw#p +k| b&`9k2`W. x;kM%,4H3ic8=^g6](mjuI1\&a?dWox~ 5*~˺,y&L9BA@\v!*fLLE  -@r _ݰ8y6<.K+@ 't_jV4-FaQi*f8Bvh> Mhv9:&6:We2)XWK Ju8u$_.t}1,j;nnW} >xsm8R̉`ҦCSZ;F+@hDE-QLeu)@չ7v5u6at%F8h+Ii3H9x&vٱn H}^ ._]{db P2ˁ{Pge?r[n~i!=uЛqs+EeF ek5>eQ1ޟPqFD""jbƦ<ڰ0{wK]FXHa5 Pf̙| pkN3kwLlѾ-;\8?*ƪ8Ċgmi>hJ^b)3YkU8  彲Luul\byHyFua Oڅx|֨] ZCHmR{P֣pm!rSu0mb]ڽ<(5 㐛=`~@f>wA#NsJ2ueRJJt`"-e麝堑X@N:E6={QG4x8hsBMl9 BH7BqU#[̴Pp M5(l zyyI^;{;60{fv3S7p3ך}Mi%^D\ eA5ǚU1,R. LZ;0PeW΋r /MT.0Y?/>=x)Wds,IskLkۃ"ӳ 敺Suo9W/$aw궋z`tXYwWX[Mmٜeyr-@MBW4 ay.c]U!VoR2! nNN ΖCX]q%*3X˲Oi·f>H<@MꗚיLesb5r^i#imcZ0*eSi_.DTm+Ǘ /7$"+nZ9> endobj 108 0 obj << /Filter /FlateDecode /Length 1564 >> stream xXmSFίᓙ1K ICЄ4|8gK, V;os,L,)t{˞#Nɞ4Mk:{5$.n\,OᄞqH7SpJQ'XGy=.,\LB'i>)ۀl>=?$vsS)&QvR 1|%o^]?٨/txNY猀) ʓ> ݒKciBd \1Zs>QVXu+/bn+^F+W8nE% %Z~td5T_ k ݢ IBcg3C_B赼-{6iP QIB^<^ãFM[Gl9*L TIZ>oVREp~DFgkXbHE |QRFt*| KqQERCߒB:x6T*7h[Lכ$%\*XX7?O?C(l^vxqfL1By2Z:mpcn#˝KšzN5rTO&=ñ>:lM}0lfZyYx:B]=s=Nc0ة64m/9: QVa R~wv0?<~dޞ +X4i8̒1"ᘌd HKAdOD)dT挆x^H/3IcAYoE/"Ns:&J=J1-^cfO#N.'{ R1-?-]r5e9 {vr,S{,_/}mzqt[+4|^ݷZ$9qWy%KY(35RA7cԎ* ok.e@LsS%7$&(bKr?M1q(KTE0  Qp3-''>A~,{e$CF9Wݬkd@C] Qj.D c$֜~[P] ҍ.AM28 )X̧I*8sEb!OD>~埒gK e@zÂ&+j*N1]&tn$@^} endstream endobj 109 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 110 0 R >> endobj 110 0 obj << /Filter /FlateDecode /Length 1465 >> stream xWms8ίءs7dJTI~i:Ӥ$G'צ L/䃰5Es/V6Rl'91<}ӪE Kn&jQB)l:H`QD ޏ;SOBZf?e!78"̼f770x.ʃ@&x ÎJeȱn*Hafh'xj nk{Ntةy?<~)fX3*Nu>nD]S| O2Bq߫#6#wU(&ՠx3ţ(EoERD1@ uN f8r .w*anQ _zr-^-oBg*:D3qׅ"ڻFɍ&*|=Ek K!,SK ~](0OS H'h#Z](S)a OXH_X0xD:we'N)&DxTdPkak(j'@Jk*mu8eFq>O OBy\ꁚ_0Ɩ[7"V?%4/R<%,͛>OņNs8o`3d8 qVob v$5пn#atIa$ʚEq0=@ =YX̚v&g֮v}Y9z2M͓ZagxYVCYMkjUZӷ痽C2?  3w(LG ~,f׌ RVʚzdO\>H.R]v2 AO%l!\,Ҩp_$^"0 f\HB[6LqLV-> endobj 112 0 obj << /Filter /FlateDecode /Length 1477 >> stream xXoHb$Ғ^rjNj4G'w*/؍mЩ[ @ a{흷xwoߴߞnd)XL%{Ӓ2.TYA}D(,){H/'4%D\˂2gR\!|d541]:֒-#j}z>--Gc;׎Oabyɢa\+vnˇC uԗ렻ܳd/u!w-6L*JP YM#MP?)ݎ=$XF'EZTps9DBD"e}bGyH"S8b E?R+IzGA" )J2͌ $6J=7$e\NBɨG(37e! 5{pg$ *eYgqKܔ8a;eIXPq#Q$|r?aZ^"]ƫ4Id!O"(_\m=qY|zyavﯾ?2u4, Q2 ĕ~ endstream endobj 113 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 114 0 R >> endobj 114 0 obj << /Filter /FlateDecode /Length 1515 >> stream xXmo6_qP0AV^-M]dmx hҢKѱ;ʊ.ZwX_{ycZ.` .\.Il~XđG ?cm?G)#6Eװr.?%`AI\HՓ'c!΋ |^:^w Ϟ{nqE u7dL}TtT>jg8$^}}aDIL?̋aڨ͋! yQ~'"+A#^'|A`90'$UG " ?@LRc6wOޣYO i:ɰ=j}r.#mkB_38Wו|nzi1I5,ge:d3(e4r|cc؏|RgL ʥ2*8+ iX11ӏ'6A ^A^RS8=|9^C7!peQZ0]1/5rV[yU5)EF*=G4:¹Dp ՛fMpE&˦|V.JXa&*"y&1[0!fP)](vw1K6iݐ@; Vo1Fwi/^%tU ZgVɶj \1=6`RrQmCCVLύaǭ/Bw"+>e"][,՘$wlRŻη{HLnA&=bwg{{ʘExө~憜x\zoWW]xF,0SW#Hγ#<yrKSZ-8Ջ6y@A#ܬ p^afzġ얗ā^B3*gBZxc0o / .3x܏ln9~@dtyA 'O …LJi1~=)L:V{{CL׾{A}̓(hJ,] ?db@J2 @qb,tudN ,gz S 9n 7B ,GԾ I/H1`u!9J܂ endstream endobj 115 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 116 0 R >> endobj 116 0 obj << /Filter /FlateDecode /Length 1357 >> stream xW[o6~8p^Af(C'Kk.ꢠ%V+.E%5P/[Cu+Oz^'ϸI{PJֽ9xAc)\ބ2A-WDu-b8 0BxllPf1ZTJx.` BY]Cd+<ٵ!kvqq\jE0#Xl$FꝬPT!hVz [-ީYQ\glr#a*d$\4rP,PA64s7bm_ՠ H r#0ȷkJL57\ZBq4R92荀BLA C aQč<&^bP:L&̋6'̊pq` /$fv&#UJU:`@Gd>(]h̓JgƏHЈNFwP.?Ze_,F 8m֥r*8yX.sKNF|l.dڠBo%tJ\:V&&V|aGO?Csz|}֯/MmXBZe. \[((Y 긔: ׀R+yڑ0;J|_ ̡a00BM Itc:;Vsy&ZV-#9킍Qn@O{ÿ?=aO)01غ?l_ҦdtңM6@vΩmǭP:([abrOރ UŏW%j N8ۏg,ǨwǠ'1?Wa0> w!JpBOvcxģ>^y]t5L\z^Bb Suf+us"ԭT X endstream endobj 117 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 118 0 R >> endobj 118 0 obj << /Filter /FlateDecode /Length 1848 >> stream xXn6 I25Rxiˆ(hȢFQqa{=evmʰ%<.޳h@";B!ݳeYdWN/ص0%'?v(';ZKnؔף嵐u;"W2NN93>eST%H˷Ǐߓ+r:ԋL‹|,\ܝAT*%^1i^aSsU88Z1~{9Xa!a^}Ǵ;fZeUleQhD{q40*O)5>u(D3J &2W2!nG5WCѨQIS&û#r! <84ڦޏF%O&j^{pyoQhΧ؟f+T +䘬՚B86M4*%%Y7*Q*^*,>Km (V]6ejV %LP9"JW.` }r}AyQDed6ɠ791yJDN\$H Kn 86 Mm6bc֟ Lr܈:[^˄U.谒yVܥ)@d;"篼L!yL6L ٝ`ۥnł8Zռ `:jʆ#u3~=^yC÷[v3qˉ^2gP`I!jN@RyUqUejQ*vS> |5L'BΘ2 C+,$HqѨ'mmfR)p:O85ٽXyci _٥n,52 ɉ3/"G[M!\!3Ϩ_@8%_zER^'2oxK%*I!Ts0r$? K2c&s. h9!MyK׃˃mQյ=J{ߪaَtD1J}uB+Mji$6, 4jIk Tu,@/[J-h8>ŵozݬ)Sr4Rn ڜ zhi,T (eQ$Œ2Rx^uْ"I=gry--q"fj ZoJ1Gd@>~f# 蠏p& P:8IDɸL[z)8$t endstream endobj 119 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Annots [ 121 0 R 123 0 R ] /Contents 120 0 R >> endobj 120 0 obj << /Filter /FlateDecode /Length 1166 >> stream xWmo6_qȇa(Y.P mIEQ Djdxއe[Rb:iQ:^Zaܢ:nuEm]!ZtkOFf2kU׹\_M|'vոsy O"tl'$ X+5ƅ̓4Yy_N\ܢ~ʓAIEٺ-ZvQ a,+ZK~y6z0piF|f'>7Dm=K_ug??Ñ$cE.;GeV5 jyx#۹چ?υQǠm[zNv ؟ ap"cC.s 9'o Fp*wu~x}W>y)50]V/+)\N~b]o%'<5>*n!\a (/V}!]Sy1[( ,j$YKJ;LtNC\BmNh ^ƣO38] LyvY-Qj,ZMd*XDĽ}/s O0Qv z0^roKD|es8isKq6"r{p Lƃ#<$aX54Q BVǼ*|> ]ZL"c-& pAE߮i׊]lJDk q0v B.16F&[<0( Uȴ3 [b9*,S re[4k0+TVwvޢLjDvl5ǿ#dxM :R` } )v\lccb߫Sm1H^a,ѠWQN,X.ו26uS$֮.WL&!'s|TS|SEjֶ%M~=< [{oIgj.nU6 4yo[%q. endstream endobj 121 0 obj << /Type /Annot /Subtype /Link /A 122 0 R /Border [0 0 0] /H /I /Rect [ 113.0240 541.5464 463.8560 553.7564 ] >> endobj 122 0 obj << /Type /Action /S /URI /URI (https://stackoverflow.com/questions/tagged/r?sort=newest&pageSize=50) >> endobj 123 0 obj << /Type /Annot /Subtype /Link /A 124 0 R /Border [0 0 0] /H /I /Rect [ 113.0240 512.2424 225.7400 524.4524 ] >> endobj 124 0 obj << /Type /Action /S /URI /URI (https://github.com/trending/r) >> endobj xref 0 125 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000750 00000 n 0000000787 00000 n 0000000936 00000 n 0000001114 00000 n 0000003800 00000 n 0000003909 00000 n 0000004017 00000 n 0000004125 00000 n 0000004238 00000 n 0000004349 00000 n 0000004378 00000 n 0000004505 00000 n 0000004606 00000 n 0000004893 00000 n 0000006158 00000 n 0000006743 00000 n 0000006871 00000 n 0000006972 00000 n 0000007100 00000 n 0000007192 00000 n 0000007320 00000 n 0000007417 00000 n 0000007545 00000 n 0000007663 00000 n 0000008202 00000 n 0000008288 00000 n 0000008416 00000 n 0000008516 00000 n 0000009256 00000 n 0000080881 00000 n 0000081008 00000 n 0000081133 00000 n 0000081261 00000 n 0000081342 00000 n 0000081803 00000 n 0000081889 00000 n 0000082017 00000 n 0000082130 00000 n 0000218481 00000 n 0000218540 00000 n 0000218599 00000 n 0000218656 00000 n 0000218713 00000 n 0000218837 00000 n 0000220591 00000 n 0000220697 00000 n 0000220824 00000 n 0000220954 00000 n 0000221059 00000 n 0000223148 00000 n 0000223253 00000 n 0000224835 00000 n 0000224940 00000 n 0000226573 00000 n 0000226678 00000 n 0000229083 00000 n 0000229188 00000 n 0000231142 00000 n 0000231247 00000 n 0000233066 00000 n 0000233171 00000 n 0000234930 00000 n 0000235035 00000 n 0000236916 00000 n 0000237021 00000 n 0000238906 00000 n 0000239011 00000 n 0000241078 00000 n 0000241183 00000 n 0000243340 00000 n 0000243445 00000 n 0000245321 00000 n 0000245426 00000 n 0000247290 00000 n 0000247395 00000 n 0000248969 00000 n 0000249074 00000 n 0000251771 00000 n 0000251876 00000 n 0000254104 00000 n 0000254209 00000 n 0000256011 00000 n 0000256116 00000 n 0000258030 00000 n 0000258135 00000 n 0000260148 00000 n 0000260253 00000 n 0000263036 00000 n 0000263141 00000 n 0000264993 00000 n 0000265098 00000 n 0000267422 00000 n 0000267527 00000 n 0000269122 00000 n 0000269227 00000 n 0000270829 00000 n 0000270935 00000 n 0000272492 00000 n 0000272599 00000 n 0000274094 00000 n 0000274201 00000 n 0000275690 00000 n 0000275797 00000 n 0000277406 00000 n 0000277513 00000 n 0000279152 00000 n 0000279259 00000 n 0000280799 00000 n 0000280906 00000 n 0000282458 00000 n 0000282565 00000 n 0000284155 00000 n 0000284262 00000 n 0000285694 00000 n 0000285801 00000 n 0000287724 00000 n 0000287859 00000 n 0000289100 00000 n 0000289230 00000 n 0000289351 00000 n 0000289481 00000 n trailer << /Size 125 /Root 1 0 R /Info 5 0 R /ID[<28d94d8f7728644b7718e9cfc2817742><28d94d8f7728644b7718e9cfc2817742>] >> startxref 289563 %%EOF R code compilation | Cognitive-Liberty.online

Further Links: https://psilocybin-research.com http://entheogen-science.de
R-code.ml

A compilation of code snippets, scripts, packages, instructions, lectures, & more…

Keywords: Statistical computingOpen-source softwareBayesian analysisMarkov chain Monte Carlo methodsData visualisationLogical inferenceHypothesis testingDeductive reasoningAbductionCredibility intervalsProbability theoryDecision algorithmsNew statisticsReplication crisisCreative statistics

Download R code compilation as ZIP-archive
Search R documentation

Add R code to this repository

Leave a Reply

Your email address will not be published. Required fields are marked *

89 − 85 =

Frequentist inference
Fixed-effects ANOVAGeneral linear models: mixing continuous and categorical covariatesOutput plot as PDFSimple linear regressionSkewness & Kurtosis
data(ToothGrowth)

## Example plot from ?ToothGrowth

coplot(len ~ dose | supp, data = ToothGrowth, panel = panel.smooth,
       xlab = "ToothGrowth data: length vs dose, given type of supplement")
## Treat dose as a factor
ToothGrowth$dose = factor(ToothGrowth$dose)
levels(ToothGrowth$dose) = c("Low", "Medium", "High")

summary(aov(len ~ supp*dose, data=ToothGrowth))


#install.packages("xtable")
library(xtable)
xtable(x, caption = NULL, label = NULL, align = NULL, digits = NULL,
       display = NULL, auto = FALSE, ...)

print(xtable(d), type="html")
print(xtable(d), type="latex") # anova table to latex
#https://cran.r-project.org/web/packages/xtable/index.html
#https://rmarkdown.rstudio.com/

data(ToothGrowth)

# model log2 of dose instead of dose directly
ToothGrowth$dose = log2(ToothGrowth$dose)

# Classical analysis for comparison
lmToothGrowth <- lm(len ~ supp + dose + supp:dose, data=ToothGrowth)
summary(lmToothGrowth)
x<- (1:5)
y<- (1:111)
pdf(file=file.choose())
hist(x)
plot(x, type='o')
dev.off()

Notes
file.choose() is a very handy command which saves the work associated with defining absolute and relative paths which can be quite cumbersome.
list.files for non-interactive selection.
choose.files for selecting multiple files interactively.
More
www.rdocumentation.org/packages/base/versions/3.5.2/topics/file.choose

# http://wiki.math.yorku.ca/index.php/VR4:_Chapter_1_summary
x <- seq( 1, 20, 0.5)   # sequence from 1 to 20 by 0.5
x                       # print it
w <- 1 + x/2            # a weight vector
y <- x + w*rnorm(x)     # generate y with standard deviations
                          #    equal to w
 
dum <- data.frame( x, y, w )     # make a data frame of 3 columns
dum                     # typing it's name shows the object
rm( x, y, w )           # remove the original variables


fm <- lm ( y ~ x, data = dum)   # fit a simple linear regression (between x and y)
summary( fm )                   # and look at the analysis



fm1 <- lm( y ~ x, data = dum, weight = 1/w^2 )  # a weighted regression  
summary(fm1)
 
lrf <- loess( y ~ x, dum)    # a smooth regression curve using a
                               #   modern local regression function
attach( dum )                # make the columns in the data frame visible
                               #   as variables (Note: before this command, typing x and
                               #   y would yield errors)
plot( x, y)                  # a standard scatterplot to which we will
                               #   fit regression curves 
lines( spline( x, fitted (lrf)), col = 2)  # add in the local regression using spline
                                             #  interpolation between calculated
                                             #  points
abline(0, 1, lty = 3, col = 3)    # add in the true regression line (lty=3: read line type=dotted;
                                    #   col=3: read colour=green; type "?par" for details)
abline(fm, col = 4)               # add in the unweighted regression line
abline(fm1, lty = 4, col = 5)     # add in the weighted regression line
plot( fitted(fm), resid(fm),
       xlab = "Fitted Values",
       ylab = "Residuals")          # a standard regression diagnostic plot
                                    # to check for heteroscedasticity.
                                    # The data were generated from a
                                    # heteroscedastic process. Can you see
                                    # it from this plot?
qqnorm( resid(fm) )               # Normal scores to check for skewness,
                                    #   kurtosis and outliers.  How would you
                                    #   expect heteroscedasticity to show up?
search()                          # Have a look at the search path
detach()                          # Remove the data frame from the search path
search()                          # Have another look. How did it change?
rm(fm, fm1, lrf, dum)             # Clean up (this is not that important in R 
                                    #    for reasons we will understand later)



library(rgl)
rgl.open()
rgl.bg(col='white')
x <- sort(rnorm(1000))
y <- rnorm(1000)
z1 <- atan2(x,y)
z <- rnorm(1000) + atan2(x, y)
plot3d(x, y, z1, col = rainbow(1000), size = 2)
bbox3d()
skew(x, na.rm = TRUE)
kurtosi(x, na.rm = TRUE)

#x A data.frame or matrix
#na.rm how to treat missing data

## The function is currently defined as
function (x, na.rm = TRUE) 
{
    if (length(dim(x)) == 0) {
        if (na.rm) {
            x <- x[!is.na(x)]
        			}
        
        mx <- mean(x)
         sdx <- sd(x,na.rm=na.rm)
        kurt <- sum((x - mx)^4)/(length(x) * sd(x)^4)  -3
        } else {
    
    kurt <- rep(NA,dim(x)[2])
    mx <- colMeans(x,na.rm=na.rm)
     sdx <- sd(x,na.rm=na.rm)
    for (i in 1:dim(x)[2]) {
    kurt[i] <- sum((x[,i] - mx[i])^4,  na.rm = na.rm)/((length(x[,i]) - sum(is.na(x[,i]))) * sdx[i]^4)  -3
            }
    }
    return(kurt)
  }
Bayes Factor analysis
ttestBF function (one sample) BFmcmc functionttestBF function (two sample)Bayesian meta analysisBayes factor robustness analysis, one-sidedAnimating Robustness-Check of Bayes Factor PriorsSkewness & KurtosisanovaBF function
#https://richarddmorey.github.io/BayesFactor/
bf = ttestBF(x = diffScores)
## Equivalently:
## bf = ttestBF(x = sleep$extra[1:10],y=sleep$extra[11:20], paired=TRUE)
bf

Comment

ttestBF function, which performs the “JZS” t test described by Rouder, Speckman, Sun, Morey, and Iverson (2009).

#https://richarddmorey.github.io/BayesFactor/
chains2 = recompute(chains, iterations = 10000)
plot(chains2[,1:2])

Comment
The posterior function returns a object of type BFmcmc, which inherits the methods of the mcmc class from the coda package.

#https://richarddmorey.github.io/BayesFactor/
## Compute Bayes factor
bf = ttestBF(formula = weight ~ feed, data = chickwts)
bf
###
chains = posterior(bf, iterations = 10000)
plot(chains[,2])
#https://richarddmorey.github.io/BayesFactor/
## Bem's t statistics from four selected experiments
t = c(-.15, 2.39, 2.42, 2.43)
N = c(100, 150, 97, 99)
###
## Do analysis again, without nullInterval restriction
bf = meta.ttestBF(t=t, n1=N, rscale=1)

## Obtain posterior samples
chains = posterior(bf, iterations = 10000)
plot(chains)

Comment
ttestBF function, which performs the “JZS” t test described by Rouder, Speckman, Sun, Morey, and Iverson (2009).

## This source code is licensed under the FreeBSD license
## (c) 2013 Felix Schönbrodt

#' @title Plots a comparison of a sequence of priors for t test Bayes factors
#'
#' @details
#'
#'
#' @param ts A vector of t values
#' @param ns A vector of corresponding sample sizes
#' @param rs The sequence of rs that should be tested. r should run up to 2 (higher values are implausible; E.-J. Wagenmakers, personal communication, Aug 22, 2013)
#' @param labels Names for the studies (displayed in the facet headings)
#' @param dots Values of r's which should be marked with a red dot
#' @param plot If TRUE, a ggplot is returned. If false, a data frame with the computed Bayes factors is returned
#' @param sides If set to "two" (default), a two-sided Bayes factor is computed. If set to "one", a one-sided Bayes factor is computed. In this case, it is assumed that positive t values correspond to results in the predicted direction and negative t values to results in the unpredicted direction. For details, see Wagenmakers, E. J., & Morey, R. D. (2013). Simple relation between one-sided and two-sided Bayesian point-null hypothesis tests.
#' @param nrow Number of rows of the faceted plot.
#' @param forH1 Defines the direction of the BF. If forH1 is TRUE, BF > 1 speak in favor of H1 (i.e., the quotient is defined as H1/H0). If forH1 is FALSE, it's the reverse direction.
#'
#' @references
#'
#' Rouder, J. N., Speckman, P. L., Sun, D., Morey, R. D., & Iverson, G. (2009). Bayesian t-tests for accepting and rejecting the null hypothesis. Psychonomic Bulletin and Review, 16, 225-237.
#' Wagenmakers, E.-J., & Morey, R. D. (2013). Simple relation between one-sided and two-sided Bayesian point-null hypothesis tests. Manuscript submitted for publication
#' Wagenmakers, E.-J., Wetzels, R., Borsboom, D., Kievit, R. & van der Maas, H. L. J. (2011). Yes, psychologists must change the way they analyze their data: Clarifications for Bem, Utts, & Johnson (2011)

BFrobustplot <- function(
    ts, ns, rs=seq(0, 2, length.out=200), dots=1, plot=TRUE,
    labels=c(), sides="two", nrow=2, xticks=3, forH1=TRUE)
{
    library(BayesFactor)
   
    # compute one-sided p-values from ts and ns
    ps <- pt(ts, df=ns-1, lower.tail = FALSE)   # one-sided test
   
    # add the dots location to the sequences of r's
    rs <- c(rs, dots)
       
    res <- data.frame()
    for (r in rs) {
       
        # first: calculate two-sided BF
        B_e0 <- c()
        for (i in 1:length(ts))
            B_e0 <- c(B_e0, exp(ttest.tstat(t = ts[i], n1 = ns[i], rscale=r)$bf))
   
        # second: calculate one-sided BF
        B_r0 <- c() for (i in 1:length(ts)) { if (ts[i] > 0) {
                # correct direction
                B_r0 <- c(B_r0, (2 - 2*ps[i])*B_e0[i])
            } else {
                # wrong direction
                B_r0 <- c(B_r0, (1 - ps[i])*2*B_e0[i])
            }
        }
   
        res0 <- data.frame(t=ts, n=ns, BF_two=B_e0, BF_one=B_r0, r=r) if (length(labels) > 0) {
            res0$labels <- labels
            res0$heading <- factor(1:length(labels), labels=paste0(labels, "\n(t = ", ts, ", df = ", ns-1, ")"), ordered=TRUE)
        } else {
            res0$heading <- factor(1:length(ts), labels=paste0("t = ", ts, ", df = ", ns-1), ordered=TRUE)
        }
        res <- rbind(res, res0)
    }
   
    # define the measure to be plotted: one- or two-sided?
    res$BF <- res[, paste0("BF_", sides)]

   
    # Flip BF if requested
    if (forH1 == FALSE) {
        res$BF <- 1/res$BF
    }
       
   
    if (plot==TRUE) {
        library(ggplot2)
        p1 <- ggplot(res, aes(x=r, y=log(BF))) + geom_line() + facet_wrap(~heading, nrow=nrow) + theme_bw() + ylab("log(BF)")
        p1 <- p1 + geom_hline(yintercept=c(c(-log(c(30, 10, 3)), log(c(3, 10, 30)))), linetype="dotted", color="darkgrey")
        p1 <- p1 + geom_hline(yintercept=log(1), linetype="dashed", color="darkgreen")
   
        # add the dots
        p1 <- p1 + geom_point(data=res[res$r %in% dots,], aes(x=r, y=log(BF)), color="red", size=2)
   
        # add annotation
        p1 <- p1 + annotate("text", x=max(rs)*1.8, y=-2.85, label=paste0("Strong~H[", ifelse(forH1==TRUE,0,1), "]"), hjust=1, vjust=.5, size=3, color="black", parse=TRUE)
        p1 <- p1 + annotate("text", x=max(rs)*1.8, y=-1.7 , label=paste0("Moderate~H[", ifelse(forH1==TRUE,0,1), "]"), hjust=1, vjust=.5, size=3, color="black", parse=TRUE)
        p1 <- p1 + annotate("text", x=max(rs)*1.8, y=-.55 , label=paste0("Anectodal~H[", ifelse(forH1==TRUE,0,1), "]"), hjust=1, vjust=.5, size=3, color="black", parse=TRUE)
        p1 <- p1 + annotate("text", x=max(rs)*1.8, y=2.86 , label=paste0("Strong~H[", ifelse(forH1==TRUE,1,0), "]"), hjust=1, vjust=.5, size=3, color="black", parse=TRUE)
        p1 <- p1 + annotate("text", x=max(rs)*1.8, y=1.7  , label=paste0("Moderate~H[", ifelse(forH1==TRUE,1,0), "]"), hjust=1, vjust=.5, size=3, color="black", parse=TRUE)
        p1 <- p1 + annotate("text", x=max(rs)*1.8, y=.55  , label=paste0("Anectodal~H[", ifelse(forH1==TRUE,1,0), "]"), hjust=1, vjust=.5, vjust=.5, size=3, color="black", parse=TRUE)
       
        # set scale ticks
        p1 <- p1 + scale_y_continuous(breaks=c(c(-log(c(30, 10, 3)), 0, log(c(3, 10, 30)))), labels=c("-log(30)", "-log(10)", "-log(3)", "log(1)", "log(3)", "log(10)", "log(30)"))
        p1 <- p1 + scale_x_continuous(breaks=seq(min(rs), max(rs), length.out=xticks))

        return(p1)
    } else {
        return(res)
    }
}

References
Rouder, J. N., Speckman, P. L., Sun, D., Morey, R. D., & Iverson, G. (2009). Bayesian t-tests for accepting and rejecting the null hypothesis. Psychonomic Bulletin and Review, 16, 225-237

#https://jimgrange.wordpress.com/2015/11/27/animating-robustness-check-of-bayes-factor-priors/
### plots of prior robustness check

# gif created from PNG plots using http://gifmaker.me/

# clear R's memory
rm(list = ls())

# load the Bayes factor package
library(BayesFactor)

# set working directory (will be used to save files here, so make sure
# this is where you want to save your plots!)
setwd <- "D:/Work//Blog_YouTube code//Blog/Prior Robust Visualisation/plots"

#------------------------------------------------------------------------------
### declare some variables for the analysis

# what is the t-value for the data?
tVal <- 3.098

# how many points in the prior should be explored?
nPoints <- 1000

# what Cauchy rates should be explored?
cauchyRates <- seq(from = 0.01, to = 1.5, length.out = nPoints)

# what effect sizes should be plotted?
effSize <- seq(from = -2, to = 2, length.out = nPoints)

# get the Bayes factor for each prior value
bayesFactors <- sapply(cauchyRates, function(x) 
  exp(ttest.tstat(t = tVal, n1 = 76, rscale = x)[['bf']]))
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
### do the plotting

# how many plots do we want to produce?
nPlots <- 50
plotWidth <- round(seq(from = 1, to = nPoints, length.out = nPlots), 0)

# loop over each plot
for(i in plotWidth){

  # set up the file
  currFile <- paste(getwd(), "/plot_", i, ".png", sep = "")
  
  # initiate the png file
  png(file = currFile, width = 1200, height = 1000, res = 200)
  
  # change the plotting window so plots appear side-by-side
  par(mfrow = c(1, 2))
    
  #----
  # do the prior density plot
  d <- dcauchy(effSize, scale = cauchyRates[i]) 
  plot(effSize, d, type = "l", ylim = c(0, 5), xlim = c(-2, 2), 
       ylab = "Density", xlab = "Effect Size (d)", lwd = 2, col = "gray48", 
       main = paste("Rate (r) = ", round(cauchyRates[i], 3), sep = ""))
  
  #-----
  # do the Bayes factor plot
  plot(cauchyRates, bayesFactors, type = "l", lwd = 2, col = "gray48", 
       ylim = c(0, max(bayesFactors)), xaxt = "n", 
                xlab = "Cauchy Prior Width (r)", ylab = "Bayes Factor (10)")
  abline(h = 0, lwd = 1)
  abline(h = 6, col = "black", lty = 2, lwd = 2)
  axis(1, at = seq(0, 1.5, 0.25))
    
  # add the BF at the default Cauchy point
  points(0.707, 9.97, col = "black", cex = 1.5, pch = 21, bg = "red")
    
  # add the BF for the Cauchy prior currently being plotted
  points(cauchyRates[i], bayesFactors[i], col = "black", pch = 21, cex = 1.3, 
         bg = "cyan")
    
  # add legend
  legend(x = 0.25, y = 3, legend = c("r = 0.707", paste("r = ", 
                                                      round(cauchyRates[i], 3), 
                                                            sep = "")),
         pch = c(21, 21), lty = c(NA, NA), lwd = c(NA, NA), pt.cex = c(1, 1),
         col = c("black", "black"), pt.bg = c("red", "cyan"), bty = "n")

  # save the current plot
  dev.off()
  
}
#------------------------------------------------------------------------------

skew(x, na.rm = TRUE)
kurtosi(x, na.rm = TRUE)

#x A data.frame or matrix
#na.rm how to treat missing data

## The function is currently defined as
function (x, na.rm = TRUE) 
{
    if (length(dim(x)) == 0) {
        if (na.rm) {
            x <- x[!is.na(x)]
        			}
        
        mx <- mean(x)
         sdx <- sd(x,na.rm=na.rm)
        kurt <- sum((x - mx)^4)/(length(x) * sd(x)^4)  -3
        } else {
    
    kurt <- rep(NA,dim(x)[2])
    mx <- colMeans(x,na.rm=na.rm)
     sdx <- sd(x,na.rm=na.rm)
    for (i in 1:dim(x)[2]) {
    kurt[i] <- sum((x[,i] - mx[i])^4,  na.rm = na.rm)/((length(x[,i]) - sum(is.na(x[,i]))) * sdx[i]^4)  -3
            }
    }
    return(kurt)
  }
#https://richarddmorey.github.io/BayesFactor/
data(ToothGrowth)

## Example plot from ?ToothGrowth

coplot(len ~ dose | supp, data = ToothGrowth, panel = panel.smooth,
       xlab = "ToothGrowth data: length vs dose, given type of supplement")
bf = anovaBF(len ~ supp*dose, data=ToothGrowth)
bf
plot(bf[3:4] / bf[2])

#reduce number of comparisons (alpha inflation)
bf = anovaBF(len ~ supp*dose, data=ToothGrowth, whichModels="top")
bf
bfMainEffects = lmBF(len ~ supp + dose, data = ToothGrowth)
bfInteraction = lmBF(len ~ supp + dose + supp:dose, data = ToothGrowth)
## Compare the two models
bf = bfInteraction / bfMainEffects
bf
##
newbf = recompute(bf, iterations = 500000)
newbf

# posterior function
## Sample from the posterior of the full model
chains = posterior(bfInteraction, iterations = 10000)
## 1:13 are the only "interesting" parameters
summary(chains[,1:13])
#lot posterior of selected effects
plot(chains[,4:6])

Comment
Reduce number of comparisons by specifyig the xact model of interest a priori.

Markov chain Monte Carlo methods
MCMC 1GBEST RBEST - Bayesian MCMC power analysis
# MODIFIED FROM BEST.R FOR ONE GROUP INSTEAD OF TWO.
# Version of Dec 02, 2015.
# John K. Kruschke  
# johnkruschke@gmail.com
# http://www.indiana.edu/~kruschke/BEST/
#
# This program is believed to be free of errors, but it comes with no guarantee! 
# The user bears all responsibility for interpreting the results. 
# Please check the webpage above for updates or corrections.
#
### ***************************************************************
### ******** SEE FILE BEST1Gexample.R FOR INSTRUCTIONS ************
### ***************************************************************

source("openGraphSaveGraph.R") # graphics functions for Windows, Mac OS, Linux

BEST1Gmcmc = function( y , numSavedSteps=100000, thinSteps=1, showMCMC=FALSE) { 
  # This function generates an MCMC sample from the posterior distribution.
  # Description of arguments:
  # showMCMC is a flag for displaying diagnostic graphs of the chains.
  #    If F (the default), no chain graphs are displayed. If T, they are.
  
  require(rjags)

  #------------------------------------------------------------------------------
  # THE MODEL.
  modelString = "
  model {
    for ( i in 1:Ntotal ) {
      y[i] ~ dt( mu , tau , nu )
    }
    mu ~ dnorm( muM , muP )
    tau <- 1/pow( sigma , 2 )
    sigma ~ dunif( sigmaLow , sigmaHigh )
    nu ~ dexp(1/30)
}
  " # close quote for modelString
  # Write out modelString to a text file
  writeLines( modelString , con="BESTmodel.txt" )
  
  #------------------------------------------------------------------------------
  # THE DATA.
  # Load the data:
  Ntotal = length(y)
  # Specify the data in a list, for later shipment to JAGS:
  dataList = list(
    y = y ,
    Ntotal = Ntotal ,
    muM = mean(y) ,
    muP = 0.000001 * 1/sd(y)^2 ,
    sigmaLow = sd(y) / 1000 ,
    sigmaHigh = sd(y) * 1000 
  )
  
  #------------------------------------------------------------------------------
  # INTIALIZE THE CHAINS.
  # Initial values of MCMC chains based on data:
  mu = mean(y) 
  sigma = sd(y) 
  # Regarding initial values in next line: (1) sigma will tend to be too big if 
  # the data have outliers, and (2) nu starts at 5 as a moderate value. These
  # initial values keep the burn-in period moderate.
  initsList = list( mu = mu , sigma = sigma , nu = 5 )
  
  #------------------------------------------------------------------------------
  # RUN THE CHAINS

  parameters = c( "mu" , "sigma" , "nu" )     # The parameters to be monitored
  adaptSteps = 500               # Number of steps to "tune" the samplers
  burnInSteps = 1000
  nChains = 3 
  nIter = ceiling( ( numSavedSteps * thinSteps ) / nChains )
  # Create, initialize, and adapt the model:
  jagsModel = jags.model( "BESTmodel.txt" , data=dataList , inits=initsList , 
                          n.chains=nChains , n.adapt=adaptSteps )
  # Burn-in:
  cat( "Burning in the MCMC chain...\n" )
  update( jagsModel , n.iter=burnInSteps )
  # The saved MCMC chain:
  cat( "Sampling final MCMC chain...\n" )
  codaSamples = coda.samples( jagsModel , variable.names=parameters , 
                              n.iter=nIter , thin=thinSteps )
  # resulting codaSamples object has these indices: 
  #   codaSamples[[ chainIdx ]][ stepIdx , paramIdx ]
  
  #------------------------------------------------------------------------------
  # EXAMINE THE RESULTS
  if ( showMCMC ) {
    openGraph(width=7,height=7)
    autocorr.plot( codaSamples[[1]] , ask=FALSE )
    show( gelman.diag( codaSamples ) )
    effectiveChainLength = effectiveSize( codaSamples ) 
    show( effectiveChainLength )
  }

  # Convert coda-object codaSamples to matrix object for easier handling.
  # But note that this concatenates the different chains into one long chain.
  # Result is mcmcChain[ stepIdx , paramIdx ]
  mcmcChain = as.matrix( codaSamples )
  return( mcmcChain )

} # end function BESTmcmc

#==============================================================================

BEST1Gplot = function( y , mcmcChain , compValm=0.0 , ROPEm=NULL , 
                       compValsd=NULL , ROPEsd=NULL , 
                       ROPEeff=NULL , showCurve=FALSE , pairsPlot=FALSE ) {
  # This function plots the posterior distribution (and data).
  # Description of arguments:
  # y is the data vector.
  # mcmcChain is a list of the type returned by function BEST1G.
  # compValm is hypothesized mean for comparing with estimated mean.
  # ROPEm is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the mean.
  # ROPEsd is a two element vector, such as c(14,16), specifying the limit
  #   of the ROPE on the difference of standard deviations.
  # ROPEeff is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the effect size.
  # showCurve is TRUE or FALSE and indicates whether the posterior should
  #   be displayed as a histogram (by default) or by an approximate curve.
  # pairsPlot is TRUE or FALSE and indicates whether scatterplots of pairs
  #   of parameters should be displayed.
  mu = mcmcChain[,"mu"]
  sigma = mcmcChain[,"sigma"]
  nu = mcmcChain[,"nu"]
  
  if ( pairsPlot ) {
    # Plot the parameters pairwise, to see correlations:
    openGraph(width=7,height=7)
    nPtToPlot = 1000
    plotIdx = floor(seq(1,length(mu),by=length(mu)/nPtToPlot))
    panel.cor = function(x, y, digits=2, prefix="", cex.cor, ...) {
      usr = par("usr"); on.exit(par(usr))
      par(usr = c(0, 1, 0, 1))
      r = (cor(x, y))
      txt = format(c(r, 0.123456789), digits=digits)[1]
      txt = paste(prefix, txt, sep="")
      if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
      text(0.5, 0.5, txt, cex=1.25 ) # was cex=cex.cor*r
    }
    pairs( cbind( mu , sigma , log10(nu) )[plotIdx,] ,
           labels=c( expression(mu) ,  
                     expression(sigma) , 
                     expression(log10(nu)) ) , 
           lower.panel=panel.cor , col="skyblue" )
  }

  # Define matrix for storing summary info:
  summaryInfo = NULL
  
  source("plotPost.R")
  # Set up window and layout:
  openGraph(width=6.0,height=5.0)
  layout( matrix( c(3,3,4,4,5,5, 1,1,1,1,2,2) , nrow=6, ncol=2 , byrow=FALSE ) )
  par( mar=c(3.5,3.5,2.5,0.5) , mgp=c(2.25,0.7,0) )
  
  # Select thinned steps in chain for plotting of posterior predictive curves:
  chainLength = NROW( mcmcChain )
  nCurvesToPlot = 30
  stepIdxVec = seq( 1 , chainLength , floor(chainLength/nCurvesToPlot) )
  xRange = range( y )
  xLim = c( xRange[1]-0.1*(xRange[2]-xRange[1]) , 
            xRange[2]+0.1*(xRange[2]-xRange[1]) )
  xVec = seq( xLim[1] , xLim[2] , length=200 )
  maxY = max( dt( 0 , df=max(nu[stepIdxVec]) ) / min(sigma[stepIdxVec]) )
  # Plot data y and smattering of posterior predictive curves:
  stepIdx = 1
  plot( xVec , dt( (xVec-mu[stepIdxVec[stepIdx]])/sigma[stepIdxVec[stepIdx]] , 
                   df=nu[stepIdxVec[stepIdx]] )/sigma[stepIdxVec[stepIdx]] , 
        ylim=c(0,maxY) , cex.lab=1.75 ,
        type="l" , col="skyblue" , lwd=1 , xlab="y" , ylab="p(y)" , 
        main="Data w. Post. Pred." )
  for ( stepIdx in 2:length(stepIdxVec) ) {
    lines(xVec, dt( (xVec-mu[stepIdxVec[stepIdx]])/sigma[stepIdxVec[stepIdx]] , 
                    df=nu[stepIdxVec[stepIdx]] )/sigma[stepIdxVec[stepIdx]] , 
          type="l" , col="skyblue" , lwd=1 )
  }
  histBinWd = median(sigma)/2
  histCenter = mean(mu)
  histBreaks = sort( c( seq( histCenter-histBinWd/2 , min(xVec)-histBinWd/2 ,
                             -histBinWd ),
                        seq( histCenter+histBinWd/2 , max(xVec)+histBinWd/2 ,
                             histBinWd ) , xLim ) )
  histInfo = hist( y , plot=FALSE , breaks=histBreaks )
  yPlotVec = histInfo$density 
  yPlotVec[ yPlotVec==0.0 ] = NA
  xPlotVec = histInfo$mids
  xPlotVec[ yPlotVec==0.0 ] = NA
  points( xPlotVec , yPlotVec , type="h" , lwd=3 , col="red" )
  text( max(xVec) , maxY , bquote(N==.(length(y))) , adj=c(1.1,1.1) )
  
  # Plot posterior distribution of parameter nu:
  paramInfo = plotPost( log10(nu) , col="skyblue" , # breaks=30 ,
                       showCurve=showCurve ,
                       xlab=bquote("log10("*nu*")") , cex.lab = 1.75 , showMode=TRUE ,
                       main="Normality" ) #  (<0.7 suggests kurtosis)
  summaryInfo = rbind( summaryInfo , paramInfo )
  rownames(summaryInfo)[NROW(summaryInfo)] = "log10(nu)"
  
  # Plot posterior distribution of parameters mu1, mu2, and their difference:
  xlim = range( c( mu , compValm ) )
  paramInfo = plotPost( mu ,  xlim=xlim , cex.lab = 1.75 , ROPE=ROPEm ,
                       showCurve=showCurve , compVal = compValm ,
                       xlab=bquote(mu) , main=paste("Mean") , 
                       col="skyblue" )
  summaryInfo = rbind( summaryInfo , paramInfo )
  rownames(summaryInfo)[NROW(summaryInfo)] = "mu"
  
  # Plot posterior distribution of sigma:
  xlim=range( sigma )
  paramInfo = plotPost( sigma ,  xlim=xlim , cex.lab = 1.75 , ROPE=ROPEsd ,
                       showCurve=showCurve , compVal=compValsd ,
                       xlab=bquote(sigma) , main=paste("Std. Dev.") , 
                       col="skyblue" , showMode=TRUE )
  summaryInfo = rbind( summaryInfo , paramInfo )
  rownames(summaryInfo)[NROW(summaryInfo)] = "sigma"
  
  # Plot of estimated effect size:
  effectSize = ( mu - compValm ) / sigma
  paramInfo = plotPost( effectSize , compVal=0 ,  ROPE=ROPEeff ,
                       showCurve=showCurve ,
                       xlab=bquote( (mu-.(compValm)) / sigma ),
                       showMode=TRUE , cex.lab=1.75 , main="Effect Size" , col="skyblue" )
  summaryInfo = rbind( summaryInfo , paramInfo )
  rownames(summaryInfo)[NROW(summaryInfo)] = "effSz"
  
  return( summaryInfo )

  } # end of function BEST1Gplot

#==============================================================================


# MODIFIED 2015 DEC 02.
# John K. Kruschke  
# johnkruschke@gmail.com
# http://www.indiana.edu/~kruschke/BEST/
#
# This program is believed to be free of errors, but it comes with no guarantee! 
# The user bears all responsibility for interpreting the results. 
# Please check the webpage above for updates or corrections.
#
### ***************************************************************
### ******** SEE FILE BESTexample.R FOR INSTRUCTIONS **************
### ***************************************************************

# Load various essential functions:
source("DBDA2E-utilities.R") 

BESTmcmc = function( y1 , y2 , 
                     priorOnly=FALSE , showMCMC=FALSE ,
                     numSavedSteps=20000 , thinSteps=1 ,
                     mu1PriorMean = mean(c(y1,y2)) ,
                     mu1PriorSD = sd(c(y1,y2))*5 ,
                     mu2PriorMean = mean(c(y1,y2)) ,
                     mu2PriorSD = sd(c(y1,y2))*5 ,
                     sigma1PriorMode = sd(c(y1,y2)) ,
                     sigma1PriorSD = sd(c(y1,y2))*5 ,
                     sigma2PriorMode = sd(c(y1,y2)) ,
                     sigma2PriorSD = sd(c(y1,y2))*5 ,
                     nuPriorMean = 30 ,
                     nuPriorSD = 30 ,
                     runjagsMethod=runjagsMethodDefault , 
                     nChains=nChainsDefault ) { 
  # This function generates an MCMC sample from the posterior distribution.
  # Description of arguments:
  # showMCMC is a flag for displaying diagnostic graphs of the chains.
  #    If F (the default), no chain graphs are displayed. If T, they are.
  
  #------------------------------------------------------------------------------
  # THE DATA.
  # Load the data:
  y = c( y1 , y2 ) # combine data into one vector
  x = c( rep(1,length(y1)) , rep(2,length(y2)) ) # create group membership code
  Ntotal = length(y)
  # Specify the data and prior constants in a list, for later shipment to JAGS:
  if ( priorOnly ) {
    dataList = list(
      #  y = y ,
      x = x ,
      Ntotal = Ntotal ,
      mu1PriorMean = mu1PriorMean ,
      mu1PriorSD = mu1PriorSD ,
      mu2PriorMean = mu2PriorMean ,
      mu2PriorSD = mu2PriorSD ,
      Sh1 = gammaShRaFromModeSD( mode=sigma1PriorMode , 
                                 sd=sigma1PriorSD )$shape ,
      Ra1 = gammaShRaFromModeSD( mode=sigma1PriorMode , 
                                 sd=sigma1PriorSD )$rate ,
      Sh2 = gammaShRaFromModeSD( mode=sigma2PriorMode , 
                                 sd=sigma2PriorSD )$shape ,
      Ra2 = gammaShRaFromModeSD( mode=sigma2PriorMode , 
                                 sd=sigma2PriorSD )$rate ,
      ShNu = gammaShRaFromMeanSD( mean=nuPriorMean , sd=nuPriorSD )$shape ,
      RaNu = gammaShRaFromMeanSD( mean=nuPriorMean , sd=nuPriorSD )$rate
    )
  } else {
    dataList = list(
      y = y ,
      x = x ,
      Ntotal = Ntotal ,
      mu1PriorMean = mu1PriorMean ,
      mu1PriorSD = mu1PriorSD ,
      mu2PriorMean = mu2PriorMean ,
      mu2PriorSD = mu2PriorSD ,
      Sh1 = gammaShRaFromModeSD( mode=sigma1PriorMode , 
                                 sd=sigma1PriorSD )$shape ,
      Ra1 = gammaShRaFromModeSD( mode=sigma1PriorMode , 
                                 sd=sigma1PriorSD )$rate ,
      Sh2 = gammaShRaFromModeSD( mode=sigma2PriorMode , 
                                 sd=sigma2PriorSD )$shape ,
      Ra2 = gammaShRaFromModeSD( mode=sigma2PriorMode , 
                                 sd=sigma2PriorSD )$rate ,
      ShNu = gammaShRaFromMeanSD( mean=nuPriorMean , sd=nuPriorSD )$shape ,
      RaNu = gammaShRaFromMeanSD( mean=nuPriorMean , sd=nuPriorSD )$rate
    )
  }
  
  #----------------------------------------------------------------------------
  # THE MODEL.
  modelString = "
  model {
    for ( i in 1:Ntotal ) {
      y[i] ~ dt( mu[x[i]] , 1/sigma[x[i]]^2 , nu )
    }
    mu[1] ~ dnorm( mu1PriorMean , 1/mu1PriorSD^2 )  # prior for mu[1]
    sigma[1] ~ dgamma( Sh1 , Ra1 )     # prior for sigma[1]
    mu[2] ~ dnorm( mu2PriorMean , 1/mu2PriorSD^2 )  # prior for mu[2]
    sigma[2] ~ dgamma( Sh2 , Ra2 )     # prior for sigma[2]
    nu ~ dgamma( ShNu , RaNu ) # prior for nu
  }
  " # close quote for modelString
  # Write out modelString to a text file
  writeLines( modelString , con="BESTmodel.txt" )
  
  #------------------------------------------------------------------------------
  # INTIALIZE THE CHAINS.
  # Initial values of MCMC chains based on data:
  mu = c( mean(y1) , mean(y2) )
  sigma = c( sd(y1) , sd(y2) )
  # Regarding initial values in next line: (1) sigma will tend to be too big if 
  # the data have outliers, and (2) nu starts at 5 as a moderate value. These
  # initial values keep the burn-in period moderate.
  initsList = list( mu = mu , sigma = sigma , nu = 5 )
  
  #------------------------------------------------------------------------------
  # RUN THE CHAINS
  
  parameters = c( "mu" , "sigma" , "nu" )     # The parameters to be monitored
  adaptSteps = 500               # Number of steps to "tune" the samplers
  burnInSteps = 1000
  
  runJagsOut <- run.jags( method=runjagsMethod , model="BESTmodel.txt" , monitor=parameters , data=dataList , inits=initsList , n.chains=nChains , adapt=adaptSteps , burnin=burnInSteps , sample=ceiling(numSavedSteps/nChains) , thin=thinSteps , summarise=FALSE , plots=FALSE ) codaSamples = as.mcmc.list( runJagsOut ) # resulting codaSamples object has these indices: # codaSamples[[ chainIdx ]][ stepIdx , paramIdx ] ## Original version, using rjags: # nChains = 3 # nIter = ceiling( ( numSavedSteps * thinSteps ) / nChains ) # # Create, initialize, and adapt the model: # jagsModel = jags.model( "BESTmodel.txt" , data=dataList , inits=initsList , # n.chains=nChains , n.adapt=adaptSteps ) # # Burn-in: # cat( "Burning in the MCMC chain...\n" ) # update( jagsModel , n.iter=burnInSteps ) # # The saved MCMC chain: # cat( "Sampling final MCMC chain...\n" ) # codaSamples = coda.samples( jagsModel , variable.names=parameters , # n.iter=nIter , thin=thinSteps ) #------------------------------------------------------------------------------ # EXAMINE THE RESULTS if ( showMCMC ) { for ( paramName in varnames(codaSamples) ) { diagMCMC( codaSamples , parName=paramName ) } } # Convert coda-object codaSamples to matrix object for easier handling. # But note that this concatenates the different chains into one long chain. # Result is mcmcChain[ stepIdx , paramIdx ] mcmcChain = as.matrix( codaSamples ) return( mcmcChain ) } # end function BESTmcmc #============================================================================== BESTsummary = function( y1 , y2 , mcmcChain ) { #source("HDIofMCMC.R") # in DBDA2E-utilities.R mcmcSummary = function( paramSampleVec , compVal=NULL ) { meanParam = mean( paramSampleVec ) medianParam = median( paramSampleVec ) dres = density( paramSampleVec ) modeParam = dres$x[which.max(dres$y)] hdiLim = HDIofMCMC( paramSampleVec ) if ( !is.null(compVal) ) { pcgtCompVal = ( 100 * sum( paramSampleVec > compVal ) 
                      / length( paramSampleVec ) )
    } else {
      pcgtCompVal=NA
    }
    return( c( meanParam , medianParam , modeParam , hdiLim , pcgtCompVal ) )
  }
  # Define matrix for storing summary info:
  summaryInfo = matrix( 0 , nrow=9 , ncol=6 , dimnames=list(
    PARAMETER=c( "mu1" , "mu2" , "muDiff" , "sigma1" , "sigma2" , "sigmaDiff" ,
                 "nu" , "nuLog10" , "effSz" ),
    SUMMARY.INFO=c( "mean" , "median" , "mode" , "HDIlow" , "HDIhigh" ,
                    "pcgtZero" ) 
  ) )
  summaryInfo[ "mu1" , ] = mcmcSummary( mcmcChain[,"mu[1]"] )
  summaryInfo[ "mu2" , ] = mcmcSummary( mcmcChain[,"mu[2]"] )
  summaryInfo[ "muDiff" , ] = mcmcSummary( mcmcChain[,"mu[1]"]
                                           - mcmcChain[,"mu[2]"] , 
                                           compVal=0 )
  summaryInfo[ "sigma1" , ] = mcmcSummary( mcmcChain[,"sigma[1]"] )
  summaryInfo[ "sigma2" , ] = mcmcSummary( mcmcChain[,"sigma[2]"] )
  summaryInfo[ "sigmaDiff" , ] = mcmcSummary( mcmcChain[,"sigma[1]"]
                                              - mcmcChain[,"sigma[2]"] , 
                                              compVal=0 )
  summaryInfo[ "nu" , ] = mcmcSummary( mcmcChain[,"nu"] )
  summaryInfo[ "nuLog10" , ] = mcmcSummary( log10(mcmcChain[,"nu"]) )
  
  N1 = length(y1)
  N2 = length(y2)
  effSzChain = ( ( mcmcChain[,"mu[1]"] - mcmcChain[,"mu[2]"] ) 
                 / sqrt( ( mcmcChain[,"sigma[1]"]^2 
                           + mcmcChain[,"sigma[2]"]^2 ) / 2 ) ) 
  summaryInfo[ "effSz" , ] = mcmcSummary( effSzChain , compVal=0 )
  # Or, use sample-size weighted version:
  # effSz = ( mu1 - mu2 ) / sqrt( ( sigma1^2 *(N1-1) + sigma2^2 *(N2-1) ) 
  #                               / (N1+N2-2) )
  # Be sure also to change plot label in BESTplot function, below.
  return( summaryInfo )
}

#==============================================================================

BESTplot = function( y1 , y2 , mcmcChain , ROPEm=NULL , ROPEsd=NULL , 
                     ROPEeff=NULL , showCurve=FALSE , pairsPlot=FALSE ) {
  # This function plots the posterior distribution (and data).
  # Description of arguments:
  # y1 and y2 are the data vectors.
  # mcmcChain is a list of the type returned by function BTT.
  # ROPEm is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the difference of means.
  # ROPEsd is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the difference of standard deviations.
  # ROPEeff is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the effect size.
  # showCurve is TRUE or FALSE and indicates whether the posterior should
  #   be displayed as a histogram (by default) or by an approximate curve.
  # pairsPlot is TRUE or FALSE and indicates whether scatterplots of pairs
  #   of parameters should be displayed.
  mu1 = mcmcChain[,"mu[1]"]
  mu2 = mcmcChain[,"mu[2]"]
  sigma1 = mcmcChain[,"sigma[1]"]
  sigma2 = mcmcChain[,"sigma[2]"]
  nu = mcmcChain[,"nu"]
  if ( pairsPlot ) {
    # Plot the parameters pairwise, to see correlations:
    openGraph(width=7,height=7)
    nPtToPlot = 1000
    plotIdx = floor(seq(1,length(mu1),by=length(mu1)/nPtToPlot))
    panel.cor = function(x, y, digits=2, prefix="", cex.cor, ...) {
      usr = par("usr"); on.exit(par(usr))
      par(usr = c(0, 1, 0, 1))
      r = (cor(x, y))
      txt = format(c(r, 0.123456789), digits=digits)[1]
      txt = paste(prefix, txt, sep="")
      if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
      text(0.5, 0.5, txt, cex=1.25 ) # was cex=cex.cor*r
    }
    pairs( cbind( mu1 , mu2 , sigma1 , sigma2 , log10(nu) )[plotIdx,] ,
           labels=c( expression(mu[1]) , expression(mu[2]) , 
                     expression(sigma[1]) , expression(sigma[2]) , 
                     expression(log10(nu)) ) , 
           lower.panel=panel.cor , col="skyblue" )
  }
  # source("plotPost.R") # in DBDA2E-utilities.R
  # Set up window and layout:
  openGraph(width=6.0,height=8.0)
  layout( matrix( c(4,5,7,8,3,1,2,6,9,10) , nrow=5, byrow=FALSE ) )
  par( mar=c(3.5,3.5,2.5,0.5) , mgp=c(2.25,0.7,0) )
  
  # Select thinned steps in chain for plotting of posterior predictive curves:
  chainLength = NROW( mcmcChain )
  nCurvesToPlot = 30
  stepIdxVec = seq( 1 , chainLength , floor(chainLength/nCurvesToPlot) )
  xRange = range( c(y1,y2) )
  if ( isTRUE( all.equal( xRange[2] , xRange[1] ) ) ) {
    meanSigma = mean( c(sigma1,sigma2) )
    xRange = xRange + c( -meanSigma , meanSigma )
  }
  xLim = c( xRange[1]-0.1*(xRange[2]-xRange[1]) , 
            xRange[2]+0.1*(xRange[2]-xRange[1]) )
  xVec = seq( xLim[1] , xLim[2] , length=200 )
  maxY = max( dt( 0 , df=max(nu[stepIdxVec]) ) /
                min(c(sigma1[stepIdxVec],sigma2[stepIdxVec])) )
  # Plot data y1 and smattering of posterior predictive curves:
  stepIdx = 1
  plot( xVec , dt( (xVec-mu1[stepIdxVec[stepIdx]])/sigma1[stepIdxVec[stepIdx]] , 
                   df=nu[stepIdxVec[stepIdx]] )/sigma1[stepIdxVec[stepIdx]] , 
        ylim=c(0,maxY) , cex.lab=1.75 ,
        type="l" , col="skyblue" , lwd=1 , xlab="y" , ylab="p(y)" , 
        main="Data Group 1 w. Post. Pred." )
  for ( stepIdx in 2:length(stepIdxVec) ) {
    lines(xVec, dt( (xVec-mu1[stepIdxVec[stepIdx]])/sigma1[stepIdxVec[stepIdx]] , 
                    df=nu[stepIdxVec[stepIdx]] )/sigma1[stepIdxVec[stepIdx]] , 
          type="l" , col="skyblue" , lwd=1 )
  }
  histBinWd = median(sigma1)/2
  histCenter = mean(mu1)
  histBreaks = sort( c( seq( histCenter-histBinWd/2 , min(xVec)-histBinWd/2 ,
                             -histBinWd ),
                        seq( histCenter+histBinWd/2 , max(xVec)+histBinWd/2 ,
                             histBinWd ) , xLim ) )
  histInfo = hist( y1 , plot=FALSE , breaks=histBreaks )
  yPlotVec = histInfo$density 
  yPlotVec[ yPlotVec==0.0 ] = NA
  xPlotVec = histInfo$mids
  xPlotVec[ yPlotVec==0.0 ] = NA
  points( xPlotVec , yPlotVec , type="h" , lwd=3 , col="red" )
  text( max(xVec) , maxY , bquote(N[1]==.(length(y1))) , adj=c(1.1,1.1) )
  # Plot data y2 and smattering of posterior predictive curves:
  stepIdx = 1
  plot( xVec , dt( (xVec-mu2[stepIdxVec[stepIdx]])/sigma2[stepIdxVec[stepIdx]] , 
                   df=nu[stepIdxVec[stepIdx]] )/sigma2[stepIdxVec[stepIdx]] , 
        ylim=c(0,maxY) , cex.lab=1.75 , 
        type="l" , col="skyblue" , lwd=1 , xlab="y" , ylab="p(y)" , 
        main="Data Group 2 w. Post. Pred." )
  for ( stepIdx in 2:length(stepIdxVec) ) {
    lines(xVec, dt( (xVec-mu2[stepIdxVec[stepIdx]])/sigma2[stepIdxVec[stepIdx]] , 
                    df=nu[stepIdxVec[stepIdx]] )/sigma2[stepIdxVec[stepIdx]] , 
          type="l" , col="skyblue" , lwd=1 )
  }
  histBinWd = median(sigma2)/2
  histCenter = mean(mu2)
  histBreaks = sort( c( seq( histCenter-histBinWd/2 , min(xVec)-histBinWd/2 ,
                             -histBinWd ),
                        seq( histCenter+histBinWd/2 , max(xVec)+histBinWd/2 ,
                             histBinWd ) , xLim ) )
  histInfo = hist( y2 , plot=FALSE , breaks=histBreaks )
  yPlotVec = histInfo$density 
  yPlotVec[ yPlotVec==0.0 ] = NA
  xPlotVec = histInfo$mids
  xPlotVec[ yPlotVec==0.0 ] = NA
  points( xPlotVec , yPlotVec , type="h" , lwd=3 , col="red" )
  text( max(xVec) , maxY , bquote(N[2]==.(length(y2))) , adj=c(1.1,1.1) )
  
  # Plot posterior distribution of parameter nu:
  histInfo = plotPost( log10(nu) , col="skyblue" , # breaks=30 ,
                       showCurve=showCurve ,
                       xlab=bquote("log10("*nu*")") , cex.lab = 1.75 , 
                       cenTend=c("mode","median","mean")[1] ,
                       main="Normality" ) #  (<0.7 suggests kurtosis)
  
  # Plot posterior distribution of parameters mu1, mu2, and their difference:
  xlim = range( c( mu1 , mu2 ) )
  histInfo = plotPost( mu1 ,  xlim=xlim , cex.lab = 1.75 ,
                       showCurve=showCurve ,
                       xlab=bquote(mu[1]) , main=paste("Group",1,"Mean") , 
                       col="skyblue" )
  histInfo = plotPost( mu2 ,  xlim=xlim , cex.lab = 1.75 ,
                       showCurve=showCurve ,
                       xlab=bquote(mu[2]) , main=paste("Group",2,"Mean") , 
                       col="skyblue" )
  histInfo = plotPost( mu1-mu2 , compVal=0 ,  showCurve=showCurve ,
                       xlab=bquote(mu[1] - mu[2]) , cex.lab = 1.75 , ROPE=ROPEm ,
                       main="Difference of Means" , col="skyblue" )
  
  # Plot posterior distribution of param's sigma1, sigma2, and their difference:
  xlim=range( c( sigma1 , sigma2 ) )
  histInfo = plotPost( sigma1 ,  xlim=xlim , cex.lab = 1.75 ,
                       showCurve=showCurve ,
                       xlab=bquote(sigma[1]) , main=paste("Group",1,"Std. Dev.") , 
                       col="skyblue" , cenTend=c("mode","median","mean")[1] )
  histInfo = plotPost( sigma2 ,  xlim=xlim , cex.lab = 1.75 ,
                       showCurve=showCurve ,
                       xlab=bquote(sigma[2]) , main=paste("Group",2,"Std. Dev.") , 
                       col="skyblue" , cenTend=c("mode","median","mean")[1] )
  histInfo = plotPost( sigma1-sigma2 , 
                       compVal=0 ,  showCurve=showCurve ,
                       xlab=bquote(sigma[1] - sigma[2]) , cex.lab = 1.75 , 
                       ROPE=ROPEsd ,
                       main="Difference of Std. Dev.s" , col="skyblue" , 
                       cenTend=c("mode","median","mean")[1] )
  
  # Plot of estimated effect size. Effect size is d-sub-a from 
  # Macmillan & Creelman, 1991; Simpson & Fitter, 1973; Swets, 1986a, 1986b.
  effectSize = ( mu1 - mu2 ) / sqrt( ( sigma1^2 + sigma2^2 ) / 2 )
  histInfo = plotPost( effectSize , compVal=0 ,  ROPE=ROPEeff ,
                       showCurve=showCurve ,
                       xlab=bquote( (mu[1]-mu[2])
                                    /sqrt((sigma[1]^2 +sigma[2]^2 )/2 ) ),
                       cenTend=c("mode","median","mean")[1] , cex.lab=1.0 , main="Effect Size" , 
                       col="skyblue" )
  # Or use sample-size weighted version:
  # Hedges 1981; Wetzels, Raaijmakers, Jakab & Wagenmakers 2009.
  # N1 = length(y1)
  # N2 = length(y2)
  # effectSize = ( mu1 - mu2 ) / sqrt( ( sigma1^2 *(N1-1) + sigma2^2 *(N2-1) )
  #                                    / (N1+N2-2) )
  # Be sure also to change BESTsummary function, above.
  # histInfo = plotPost( effectSize , compVal=0 ,  ROPE=ROPEeff ,
  #          showCurve=showCurve ,
  #          xlab=bquote( (mu[1]-mu[2])
  #          /sqrt((sigma[1]^2 *(N[1]-1)+sigma[2]^2 *(N[2]-1))/(N[1]+N[2]-2)) ),
  #          cenTend=c("mode","median","mean")[1] , cex.lab=1.0 , main="Effect Size" , col="skyblue" )
  return( BESTsummary( y1 , y2 , mcmcChain ) )
} # end of function BESTplot

#==============================================================================

BESTpower = function( mcmcChain , N1 , N2 , ROPEm , ROPEsd , ROPEeff ,
                      maxHDIWm , maxHDIWsd , maxHDIWeff , nRep=200 ,
                      mcmcLength=10000 , saveName="BESTpower.Rdata" ,
                      showFirstNrep=0 ) {
  # This function estimates power.
  # Description of arguments:
  # mcmcChain is a matrix of the type returned by function BESTmcmc.
  # N1 and N2 are sample sizes for the two groups.
  # ROPEm is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the difference of means.
  # ROPEsd is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the difference of standard deviations.
  # ROPEeff is a two element vector, such as c(-1,1), specifying the limit
  #   of the ROPE on the effect size.
  # maxHDIWm is the maximum desired width of the 95% HDI on the difference 
  #   of means.
  # maxHDIWsd is the maximum desired width of the 95% HDI on the difference 
  #   of standard deviations.
  # maxHDIWeff is the maximum desired width of the 95% HDI on the effect size.
  # nRep is the number of simulated experiments used to estimate the power.
  #source("HDIofMCMC.R") # in DBDA2E-utilities.R
  #source("HDIofICDF.R") # in DBDA2E-utilities.R
  chainLength = NROW( mcmcChain )
  # Select thinned steps in chain for posterior predictions:
  stepIdxVec = seq( 1 , chainLength , floor(chainLength/nRep) )
  goalTally = list( HDIm.gt.ROPE = c(0) ,
                    HDIm.lt.ROPE = c(0) ,
                    HDIm.in.ROPE = c(0) ,
                    HDIm.wd.max = c(0) ,
                    HDIsd.gt.ROPE = c(0) ,
                    HDIsd.lt.ROPE = c(0) ,
                    HDIsd.in.ROPE = c(0) ,
                    HDIsd.wd.max = c(0) ,
                    HDIeff.gt.ROPE = c(0) ,
                    HDIeff.lt.ROPE = c(0) ,
                    HDIeff.in.ROPE = c(0) ,
                    HDIeff.wd.max = c(0) )
  power     = list( HDIm.gt.ROPE = c(0,0,0) ,
                    HDIm.lt.ROPE = c(0,0,0) ,
                    HDIm.in.ROPE = c(0,0,0) ,
                    HDIm.wd.max = c(0,0,0) ,
                    HDIsd.gt.ROPE = c(0,0,0) ,
                    HDIsd.lt.ROPE = c(0,0,0) ,
                    HDIsd.in.ROPE = c(0,0,0) ,
                    HDIsd.wd.max = c(0,0,0) ,
                    HDIeff.gt.ROPE = c(0,0,0) ,
                    HDIeff.lt.ROPE = c(0,0,0) ,
                    HDIeff.in.ROPE = c(0,0,0) ,
                    HDIeff.wd.max = c(0,0,0) )
  nSim = 0
  for ( stepIdx in stepIdxVec ) {
    nSim = nSim + 1
    cat( "\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n" )
    cat( paste( "Power computation: Simulated Experiment" , nSim , "of" , 
                length(stepIdxVec) , ":\n\n" ) )
    # Get parameter values for this simulation:
    mu1Val = mcmcChain[stepIdx,"mu[1]"]
    mu2Val = mcmcChain[stepIdx,"mu[2]"]
    sigma1Val = mcmcChain[stepIdx,"sigma[1]"]
    sigma2Val = mcmcChain[stepIdx,"sigma[2]"]
    nuVal = mcmcChain[stepIdx,"nu"]
    # Generate simulated data:
    y1 = rt( N1 , df=nuVal ) * sigma1Val + mu1Val    
    y2 = rt( N2 , df=nuVal ) * sigma2Val + mu2Val    
    # Get posterior for simulated data:
    simChain = BESTmcmc( y1, y2, numSavedSteps=mcmcLength, thinSteps=1, 
                         showMCMC=FALSE )
    if (nSim <= showFirstNrep ) { BESTplot( y1, y2, simChain, ROPEm=ROPEm, ROPEsd=ROPEsd, ROPEeff=ROPEeff ) } # Assess which goals were achieved and tally them: HDIm = HDIofMCMC( simChain[,"mu[1]"] - simChain[,"mu[2]"] ) if ( HDIm[1] > ROPEm[2] ) { 
      goalTally$HDIm.gt.ROPE = goalTally$HDIm.gt.ROPE + 1 }
    if ( HDIm[2] < ROPEm[1] ) { goalTally$HDIm.lt.ROPE = goalTally$HDIm.lt.ROPE + 1 } if ( HDIm[1] > ROPEm[1] &  HDIm[2] < ROPEm[2] ) { 
      goalTally$HDIm.in.ROPE = goalTally$HDIm.in.ROPE + 1 } 
    if ( HDIm[2] - HDIm[1] < maxHDIWm ) { goalTally$HDIm.wd.max = goalTally$HDIm.wd.max + 1 } HDIsd = HDIofMCMC( simChain[,"sigma[1]"] - simChain[,"sigma[2]"] ) if ( HDIsd[1] > ROPEsd[2] ) { 
      goalTally$HDIsd.gt.ROPE = goalTally$HDIsd.gt.ROPE + 1 }
    if ( HDIsd[2] < ROPEsd[1] ) { goalTally$HDIsd.lt.ROPE = goalTally$HDIsd.lt.ROPE + 1 } if ( HDIsd[1] > ROPEsd[1] &  HDIsd[2] < ROPEsd[2] ) { 
      goalTally$HDIsd.in.ROPE = goalTally$HDIsd.in.ROPE + 1 } 
    if ( HDIsd[2] - HDIsd[1] < maxHDIWsd ) { goalTally$HDIsd.wd.max = goalTally$HDIsd.wd.max + 1 } HDIeff = HDIofMCMC( ( simChain[,"mu[1]"] - simChain[,"mu[2]"] ) / sqrt( ( simChain[,"sigma[1]"]^2 + simChain[,"sigma[2]"]^2 ) / 2 ) ) if ( HDIeff[1] > ROPEeff[2] ) { 
      goalTally$HDIeff.gt.ROPE = goalTally$HDIeff.gt.ROPE + 1 }
    if ( HDIeff[2] < ROPEeff[1] ) { goalTally$HDIeff.lt.ROPE = goalTally$HDIeff.lt.ROPE + 1 } if ( HDIeff[1] > ROPEeff[1] &  HDIeff[2] < ROPEeff[2] ) { 
      goalTally$HDIeff.in.ROPE = goalTally$HDIeff.in.ROPE + 1 } 
    if ( HDIeff[2] - HDIeff[1] < maxHDIWeff ) { goalTally$HDIeff.wd.max = goalTally$HDIeff.wd.max + 1 } for ( i in 1:length(goalTally) ) { s1 = 1 + goalTally[[i]] s2 = 1 + ( nSim - goalTally[[i]] ) power[[i]][1] = s1/(s1+s2) power[[i]][2:3] = HDIofICDF( qbeta , shape1=s1 , shape2=s2 ) } cat( "\nAfter ", nSim , " Simulated Experiments, Power Is: \n( mean, HDI_low, HDI_high )\n" ) for ( i in 1:length(power) ) { cat( names(power[i]) , round(power[[i]],3) , "\n" ) } save( nSim , power , file=saveName ) } return( power ) } # end of function BESTpower #============================================================================== makeData = function( mu1 , sd1 , mu2 , sd2 , nPerGrp , pcntOut=0 , sdOutMult=2.0 , rnd.seed=NULL ) { # Auxilliary function for generating random values from a # mixture of normal distibutions. if(!is.null(rnd.seed)){set.seed(rnd.seed)} # Set seed for random values. nOut = ceiling(nPerGrp*pcntOut/100) # Number of outliers. nIn = nPerGrp - nOut # Number from main distribution. if ( pcntOut > 100 | pcntOut < 0 ) { stop("pcntOut must be between 0 and 100.") } if ( pcntOut > 0 & pcntOut < 1 ) { warning("pcntOut is specified as percentage 0-100, not proportion 0-1.") } if ( pcntOut > 50 ) {
    warning("pcntOut indicates more than 50% outliers; did you intend this?")
  }
  if ( nOut < 2 & pcntOut > 0 ) {
    stop("Combination of nPerGrp and pcntOut yields too few outliers.")
  }
  if ( nIn < 2 ) { stop("Too few non-outliers.") } sdN = function( x ) { sqrt( mean( (x-mean(x))^2 ) ) } # genDat = function( mu , sigma , Nin , Nout , sigmaOutMult=sdOutMult ) { y = rnorm(n=Nin) # Random values in main distribution. y = ((y-mean(y))/sdN(y))*sigma + mu # Translate to exactly realize desired. yOut = NULL if ( Nout > 0 ) {
      yOut = rnorm(n=Nout)                 # Random values for outliers
      yOut=((yOut-mean(yOut))/sdN(yOut))*(sigma*sdOutMult)+mu # Realize exactly.
    }
    y = c(y,yOut)                      # Concatenate main with outliers.
    return(y)
  }
  y1 = genDat( mu=mu1 , sigma=sd1 , Nin=nIn , Nout=nOut )
  y2 = genDat( mu=mu2 , sigma=sd2 , Nin=nIn , Nout=nOut )
  #
  # Set up window and layout:
  openGraph(width=7,height=7) # Plot the data.
  layout(matrix(1:2,nrow=2))
  histInfo = hist( y1 , main="Simulated Data" , col="pink2" , border="white" , 
                   xlim=range(c(y1,y2)) , breaks=30 , prob=TRUE )
  text( max(c(y1,y2)) , max(histInfo$density) , 
        bquote(N==.(nPerGrp)) , adj=c(1,1) )
  xlow=min(histInfo$breaks)
  xhi=max(histInfo$breaks)
  xcomb=seq(xlow,xhi,length=1001)
  lines( xcomb , dnorm(xcomb,mean=mu1,sd=sd1)*nIn/(nIn+nOut) +
           dnorm(xcomb,mean=mu1,sd=sd1*sdOutMult)*nOut/(nIn+nOut) , lwd=3 )
  lines( xcomb , dnorm(xcomb,mean=mu1,sd=sd1)*nIn/(nIn+nOut) , 
         lty="dashed" , col="green", lwd=3)
  lines( xcomb , dnorm(xcomb,mean=mu1,sd=sd1*sdOutMult)*nOut/(nIn+nOut) , 
         lty="dashed" , col="red", lwd=3)
  histInfo = hist( y2 , main="" , col="pink2" , border="white" , 
                   xlim=range(c(y1,y2)) , breaks=30 , prob=TRUE )
  text( max(c(y1,y2)) , max(histInfo$density) , 
        bquote(N==.(nPerGrp)) , adj=c(1,1) )
  xlow=min(histInfo$breaks)
  xhi=max(histInfo$breaks)
  xcomb=seq(xlow,xhi,length=1001)
  lines( xcomb , dnorm(xcomb,mean=mu2,sd=sd2)*nIn/(nIn+nOut) +
           dnorm(xcomb,mean=mu2,sd=sd2*sdOutMult)*nOut/(nIn+nOut) , lwd=3)
  lines( xcomb , dnorm(xcomb,mean=mu2,sd=sd2)*nIn/(nIn+nOut) , 
         lty="dashed" , col="green", lwd=3)
  lines( xcomb , dnorm(xcomb,mean=mu2,sd=sd2*sdOutMult)*nOut/(nIn+nOut) , 
         lty="dashed" , col="red", lwd=3)
  #
  return( list( y1=y1 , y2=y2 ) )
}

#==============================================================================

# Version of May 26, 2012. Re-checked on 2015 May 08.
# John K. Kruschke  
# johnkruschke@gmail.com
# http://www.indiana.edu/~kruschke/BEST/
#
# This program is believed to be free of errors, but it comes with no guarantee! 
# The user bears all responsibility for interpreting the results. 
# Please check the webpage above for updates or corrections.
#
### ***************************************************************
### ******** SEE FILE BESTexample.R FOR INSTRUCTIONS **************
### ***************************************************************

# OPTIONAL: Clear R's memory and graphics:
rm(list=ls())  # Careful! This clears all of R's memory!
graphics.off() # This closes all of R's graphics windows.

# Get the functions loaded into R's working memory:
source("BEST.R")

#-------------------------------------------------------------------------------
# RETROSPECTIVE POWER ANALYSIS.
# !! This section assumes you have already run BESTexample.R !!
# Re-load the saved data and MCMC chain from the previously conducted 
# Bayesian analysis. This re-loads the variables y1, y2, mcmcChain, etc.
load( "BESTexampleMCMC.Rdata" )
power = BESTpower( mcmcChain , N1=length(y1) , N2=length(y2) , 
                  ROPEm=c(-0.1,0.1) , ROPEsd=c(-0.1,0.1) , ROPEeff=c(-0.1,0.1) , 
                  maxHDIWm=2.0 , maxHDIWsd=2.0 , maxHDIWeff=0.2 , nRep=1000 ,
                  mcmcLength=10000 , saveName = "BESTexampleRetroPower.Rdata" ) 

#-------------------------------------------------------------------------------
# PROSPECTIVE POWER ANALYSIS, using fictitious strong data.
# Generate large fictitious data set that expresses hypothesis:
prospectData = makeData( mu1=108, sd1=17, mu2=100, sd2=15, nPerGrp=1000, 
                         pcntOut=10, sdOutMult=2.0, rnd.seed=NULL )
y1pro = prospectData$y1 # Merely renames simulated data for convenience below.
y2pro = prospectData$y2 # Merely renames simulated data for convenience below.
# Generate Bayesian posterior distribution from fictitious data:
# (uses fewer than usual MCMC steps because it only needs nRep credible 
# parameter combinations, not a high-resolution representation)
mcmcChainPro = BESTmcmc( y1pro , y2pro , numSavedSteps=2000 )  
postInfoPro = BESTplot( y1pro , y2pro , mcmcChainPro , pairsPlot=TRUE )  
save( y1pro, y2pro, mcmcChainPro, postInfoPro, 
      file="BESTexampleProPowerMCMC.Rdata" )
# Now compute the prospective power for planned sample sizes:
N1plan = N2plan = 50 # specify planned sample size
powerPro = BESTpower( mcmcChainPro , N1=N1plan , N2=N2plan , showFirstNrep=5 ,
                   ROPEm=c(-1.5,1.5) , ROPEsd=c(-0.0,0.0) , ROPEeff=c(-0.0,0.0) , 
                   maxHDIWm=15.0 , maxHDIWsd=10.0 , maxHDIWeff=1.0 , nRep=1000 ,
                   mcmcLength=10000 , saveName = "BESTexampleProPower.Rdata" ) 

#-------------------------------------------------------------------------------


Various plots
BeanplotsDensity and Rug plotDirac function - Interdisciplinarity versus OverspecialisationGoogle TrendsJASP prior & posterior plot
#https://cran.r-project.org/web/packages/beanplot/beanplot.pdf
par( mfrow = c( 1, 4 ) )
with(dataexp2, beanplot(v00, ylim = c(0,10), col="lightgray", main = "v00", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp2, beanplot(v01, ylim = c(0,10), col="lightgray", main = "v01", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp2, beanplot(v10, ylim = c(0,10), col="darkgray", main = "v10", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp2, beanplot(v11, ylim = c(0,10), col="darkgray", main = "v11", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))


#with ylim and titles
with(dataexp2, beanplot(v00, ylab = "VAS Brightness rating", xlab = "beanplot showing distribution and mean", 
ylim = c(0,10), col="darkgray", main = "v00", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, 
overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))




install.packages ("beanplot")
library("beanplot")
par( mfrow = c( 1, 2 ) )
with(dataexp2, beanplot(v00, col="darkgray", main = "v00", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp2, beanplot(v01, col="darkgray", main = "v01", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
par( mfrow = c( 1, 2 ) )
with(dataexp2, beanplot(v10, col="darkgray", main = "v10", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp2, beanplot(v11, col="darkgray", main = "v11", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))

stripchart(variable ~ factor, vertical=TRUE, method="stack", 
  ylab="variable", data=StackedData)
  
#two sided
with(dataexp1, beanplot(v00, v10, col="darkgray", main = "v00 vs. v10", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "both", jitter = NULL, beanlinewd = 2))

#verticalpar( mfrow = c( 2, 1 ) )
install.packages ("beanplot")
library("beanplot")
par( mfrow = c( 2, 1 ) ) # layout matrix

with(dataexp1, beanplot(v00, v10, main = "v00 vs. v10", kernel = "gaussian", cut = 3, col = list("black", c("grey", "white")), xlab="VAS",
cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = T, side = "both", jitter = NULL, beanlinewd = 2))

with(dataexp1, beanplot(v01, v11, main = "v01 vs. v11", kernel = "gaussian", cut = 3, col = list("black", c("grey", "white")), xlab="VAS",
cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = T, side = "both", jitter = NULL, beanlinewd = 2))


#exp1
dataexp1 <- 
  read.table("http://www.irrational-decisions.com/phd-thesis/dataexp1.csv",
   header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
   
par( mfrow = c( 1, 2) )
with(dataexp1, beanplot(v00, ylim = c(0,7), col="lightgray", main = "v00", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp1, beanplot(v10, ylim = c(0,7), col="lightgray", main = "v01", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))

par( mfrow = c( 1, 2) )
with(dataexp1, beanplot(v01, ylim = c(3,10), col="darkgray", main = "v10", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))
with(dataexp1, beanplot(v11, ylim = c(3,10), col="darkgray", main = "v11", kernel = "gaussian", cut = 3, cutmin = -Inf, cutmax = Inf, overallline = "mean", horizontal = FALSE, side = "no", jitter = NULL, beanlinewd = 2))


#histogram and rug plot

plot(density(dataexp2$v00))
rug(dataexp2$v00, col=2, lwd=3.5)

##############

library(MASS)
plot(density(dataexp2$v00, bw=5)) 
rug(dataexp2$v00+ rnorm(length(dataexp2$v00), sd=5), col=2, lwd=3.5)

x = c(5)
y   = c(9)
plot(x,y,type="h",xlim=c(0,10),ylim=c(0,10),lwd=2,col="blue",ylab="knowledge", xlab="diversity")

install.packages("gtrendsR")
library(gtrendsR)
gtrends(c("bayesian inference", "p-value"), time = "all") # since 2004

res <- gtrends(c("Bayesian inference", "Markov Chain Monte Carlo", "ANOVA"), geo = c("US", "GB", "DE", "CA",))

res <- gtrends("Markov Chain Monte Carlo", geo = c("US", "GB", "DE"))

plot(res)

#get vars

length(res)
str(res)
res$interest_over_time
ff<-res$interest_over_time

scatterplot(ff$hits~ff$date| geo, reg.line=FALSE, smooth=FALSE, spread=FALSE, boxplots=FALSE, span=0.5, ellipse=FALSE, levels=c(.5, .9), by.groups=TRUE, data=ff)

res2 <- gtrends(c("p-value", "bayes factor"))

library(plotrix)

.likelihoodShiftedT <- function(par, data) {
    
    -sum(log(dt((data - par[1])/par[2], par[3])/par[2]))
    
}

.dposteriorShiftedT <- function(x, parameters, oneSided) { # function that returns the posterior density if (oneSided == FALSE) { dt((x - parameters[1])/parameters[2], parameters[3])/parameters[2] } else if (oneSided == "right") { ifelse(x >= 0, (dt((x - parameters[1])/parameters[2], parameters[3])/parameters[2])/pt((0 - 
            parameters[1])/parameters[2], parameters[3], lower.tail = FALSE), 
            0)
        
    } else if (oneSided == "left") {
        
        ifelse(x <= 0, (dt((x - parameters[1])/parameters[2], parameters[3])/parameters[2])/pt((0 - 
            parameters[1])/parameters[2], parameters[3], lower.tail = TRUE), 
            0)
        
    }
    
}

.dprior <- function(x, r, oneSided = oneSided) {
    
    # function that returns the prior density
    
    if (oneSided == "right") {
        
        y <- ifelse(x < 0, 0, 2/(pi * r * (1 + (x/r)^2)))
        return(y)
    }
    
    if (oneSided == "left") {
        
        y <- ifelse(x > 0, 0, 2/(pi * r * (1 + (x/r)^2)))
        return(y)
    } else {
        
        return(1/(pi * r * (1 + (x/r)^2)))
    }
}

.plotPosterior.ttest <- function(x = NULL, y = NULL, paired = FALSE, oneSided = FALSE, 
    BF, BFH1H0 = TRUE, iterations = 10000, rscale = "medium", lwd = 2, 
    cexPoints = 1.5, cexAxis = 1.2, cexYlab = 1.5, cexXlab = 1.5, cexTextBF = 1.4, 
    cexCI = 1.1, cexLegend = 1.2, lwdAxis = 1.2, addInformation = TRUE, 
    dontPlotData = FALSE) {
    
    if (addInformation) {
        
        par(mar = c(5.6, 5, 7, 4) + 0.1, las = 1)
        
    } else {
        
        par(mar = c(5.6, 5, 4, 4) + 0.1, las = 1)
    }
    
    if (dontPlotData) {
        
        plot(1, type = "n", xlim = 0:1, ylim = 0:1, bty = "n", axes = FALSE, 
            xlab = "", ylab = "")
        
        axis(1, at = 0:1, labels = FALSE, cex.axis = cexAxis, lwd = lwdAxis, 
            xlab = "")
        axis(2, at = 0:1, labels = FALSE, cex.axis = cexAxis, lwd = lwdAxis, 
            ylab = "")
        
        mtext(text = "Density", side = 2, las = 0, cex = cexYlab, line = 3.25)
        mtext(expression(paste("Effect size", ~delta)), side = 1, cex = cexXlab, 
            line = 2.5)
        
        return()
    }
    
    if (rscale == "medium") {
        r <- sqrt(2)/2
    }
    if (rscale == "wide") {
        r <- 1
    }
    if (rscale == "ultrawide") {
        r <- sqrt(2)
    }
    if (mode(rscale) == "numeric") {
        r <- rscale
    }
    
    if (oneSided == FALSE) {
        nullInterval <- NULL
    }
    if (oneSided == "right") {
        nullInterval <- c(0, Inf)
    }
    if (oneSided == "left") {
        nullInterval <- c(-Inf, 0)
    }
    
    # sample from delta posterior
    samples <- BayesFactor::ttestBF(x = x, y = y, paired = paired, posterior = TRUE, 
        iterations = iterations, rscale = r)
    
    delta <- samples[, "delta"]
    
    # fit shifted t distribution
    if (is.null(y)) {
        
        deltaHat <- mean(x)/sd(x)
        N <- length(x)
        df <- N - 1
        sigmaStart <- 1/N
        
    } else if (paired) {
        
        deltaHat <- mean(x - y)/sd(x - y)
        N <- length(x)
        df <- N - 1
        sigmaStart <- 1/N
        
    } else if (!is.null(y) && !paired) {
        
        N1 <- length(x)
        N2 <- length(y)
        sdPooled <- sqrt(((N1 - 1) * var(x) + (N2 - 1) * var(y))/(N1 + 
            N2))
        deltaHat <- (mean(x) - mean(y))/sdPooled
        df <- N1 + N2 - 2
        sigmaStart <- sqrt(N1 * N2/(N1 + N2))
    }
    
    if (sigmaStart < 0.01) 
        sigmaStart <- 0.01
    
    parameters <- try(silent = TRUE, expr = optim(par = c(deltaHat, sigmaStart, 
        df), fn = .likelihoodShiftedT, data = delta, method = "BFGS")$par)
    
    if (class(parameters) == "try-error") {
        
        parameters <- try(silent = TRUE, expr = optim(par = c(deltaHat, 
            sigmaStart, df), fn = .likelihoodShiftedT, data = delta, method = "Nelder-Mead")$par)
    }
    
    if (BFH1H0) {
        
        BF10 <- BF
        BF01 <- 1/BF10
        
    } else {
        
        BF01 <- BF
        BF10 <- 1/BF01
    }
    
    
    # set limits plot
    xlim <- vector("numeric", 2)
    
    if (oneSided == FALSE) {
        
        xlim[1] <- min(-2, quantile(delta, probs = 0.01)[[1]])
        xlim[2] <- max(2, quantile(delta, probs = 0.99)[[1]])
        
        if (length(x) < 10) {
            
            if (addInformation) {
                
                stretch <- 1.52
            } else {
                
                stretch <- 1.4
            }
            
        } else {
            
            stretch <- 1.2 } } if (oneSided == "right") { # if (length(delta[delta >= 0]) < 10) return('Plotting is not
        # possible: To few posterior samples in tested interval')
        
        xlim[1] <- min(-2, quantile(delta[delta >= 0], probs = 0.01)[[1]])
        xlim[2] <- max(2, quantile(delta[delta >= 0], probs = 0.99)[[1]])
        
        if (any(is.na(xlim))) {
            
            xlim[1] <- min(-2, .qShiftedT(0.01, parameters, oneSided = "right"))
            xlim[2] <- max(2, .qShiftedT(0.99, parameters, oneSided = "right"))
            
        }
        
        stretch <- 1.32
    }
    
    if (oneSided == "left") {
        
        # if (length(delta[delta <= 0]) < 10) return('Plotting is not
        # possible: To few posterior samples in tested interval')
        
        xlim[1] <- min(-2, quantile(delta[delta <= 0], probs = 0.01)[[1]])
        xlim[2] <- max(2, quantile(delta[delta <= 0], probs = 0.99)[[1]])
        
        if (any(is.na(xlim))) {
            
            xlim[1] <- min(-2, .qShiftedT(0.01, parameters, oneSided = "left"))
            xlim[2] <- max(2, .qShiftedT(0.99, parameters, oneSided = "left"))
            
        }
        
        stretch <- 1.32
    }
    
    xticks <- pretty(xlim)
    
    ylim <- vector("numeric", 2)
    
    ylim[1] <- 0
    dmax <- optimize(function(x) .dposteriorShiftedT(x, parameters = parameters, 
        oneSided = oneSided), interval = range(xticks), maximum = TRUE)$objective
    ylim[2] <- max(stretch * .dprior(0, r, oneSided = oneSided), stretch * 
        dmax)  # get maximum density
    
    # calculate position of 'nice' tick marks and create labels
    yticks <- pretty(ylim)
    xlabels <- formatC(xticks, 1, format = "f")
    ylabels <- formatC(yticks, 1, format = "f")
    
    # compute 95% credible interval & median:
    if (oneSided == FALSE) {
        
        CIlow <- quantile(delta, probs = 0.025)[[1]]
        CIhigh <- quantile(delta, probs = 0.975)[[1]]
        medianPosterior <- median(delta)
        
        if (any(is.na(c(CIlow, CIhigh, medianPosterior)))) {
            
            CIlow <- .qShiftedT(0.025, parameters, oneSided = FALSE)
            CIhigh <- .qShiftedT(0.975, parameters, oneSided = FALSE)
            medianPosterior <- .qShiftedT(0.5, parameters, oneSided = FALSE)
        }
    }
    
    if (oneSided == "right") {
        
        CIlow <- quantile(delta[delta >= 0], probs = 0.025)[[1]]
        CIhigh <- quantile(delta[delta >= 0], probs = 0.975)[[1]]
        medianPosterior <- median(delta[delta >= 0])
        
        if (any(is.na(c(CIlow, CIhigh, medianPosterior)))) {
            
            CIlow <- .qShiftedT(0.025, parameters, oneSided = "right")
            CIhigh <- .qShiftedT(0.975, parameters, oneSided = "right")
            medianPosterior <- .qShiftedT(0.5, parameters, oneSided = "right")
        }
    }
    
    if (oneSided == "left") {
        
        CIlow <- quantile(delta[delta <= 0], probs = 0.025)[[1]]
        CIhigh <- quantile(delta[delta <= 0], probs = 0.975)[[1]]
        medianPosterior <- median(delta[delta <= 0])
        
        if (any(is.na(c(CIlow, CIhigh, medianPosterior)))) {
            
            CIlow <- .qShiftedT(0.025, parameters, oneSided = "left")
            CIhigh <- .qShiftedT(0.975, parameters, oneSided = "left")
            medianPosterior <- .qShiftedT(0.5, parameters, oneSided = "left")
        }
        
    }
    
    posteriorLine <- .dposteriorShiftedT(x = seq(min(xticks), max(xticks), 
        length.out = 1000), parameters = parameters, oneSided = oneSided)
    
    xlim <- c(min(CIlow, range(xticks)[1]), max(range(xticks)[2], CIhigh)) plot(1, 1, xlim = xlim, ylim = range(yticks), ylab = "", xlab = "", type = "n", axes = FALSE) lines(seq(min(xticks), max(xticks), length.out = 1000), posteriorLine, lwd = lwd) lines(seq(min(xticks), max(xticks), length.out = 1000), .dprior(seq(min(xticks), max(xticks), length.out = 1000), r = r, oneSided = oneSided), lwd = lwd, lty = 3) axis(1, at = xticks, labels = xlabels, cex.axis = cexAxis, lwd = lwdAxis) axis(2, at = yticks, labels = ylabels, , cex.axis = cexAxis, lwd = lwdAxis) if (nchar(ylabels[length(ylabels)]) > 4) {
        
        mtext(text = "Density", side = 2, las = 0, cex = cexYlab, line = 4)
        
    } else if (nchar(ylabels[length(ylabels)]) == 4) {
        
        mtext(text = "Density", side = 2, las = 0, cex = cexYlab, line = 3.25)
        
    } else if (nchar(ylabels[length(ylabels)]) < 4) {
        
        mtext(text = "Density", side = 2, las = 0, cex = cexYlab, line = 2.85)
        
    }
    
    mtext(expression(paste("Effect size", ~delta)), side = 1, cex = cexXlab, 
        line = 2.5)
    
    points(0, .dprior(0, r, oneSided = oneSided), col = "black", pch = 21, 
        bg = "grey", cex = cexPoints)
    
    if (oneSided == FALSE) {
        
        heightPosteriorAtZero <- .dposteriorShiftedT(0, parameters = parameters, 
            oneSided = oneSided)
        
    } else if (oneSided == "right") {
        
        posteriorLineLargerZero <- posteriorLine[posteriorLine > 0]
        heightPosteriorAtZero <- posteriorLineLargerZero[1]
        
    } else if (oneSided == "left") {
        
        posteriorLineLargerZero <- posteriorLine[posteriorLine > 0]
        heightPosteriorAtZero <- posteriorLineLargerZero[length(posteriorLineLargerZero)]
    }
    
    points(0, heightPosteriorAtZero, col = "black", pch = 21, bg = "grey", 
        cex = cexPoints)
    
    ### 95% credible interval
    
    # enable plotting in margin
    par(xpd = TRUE)
    
    yCI <- grconvertY(dmax, "user", "ndc") + 0.04
    yCI <- grconvertY(yCI, "ndc", "user")
    
    arrows(CIlow, yCI, CIhigh, yCI, angle = 90, code = 3, length = 0.1, 
        lwd = lwd)
    
    medianText <- formatC(medianPosterior, digits = 3, format = "f")
    
    if (addInformation) {
        
        # display BF10 value
        offsetTopPart <- 0.06
        
        yy <- grconvertY(0.75 + offsetTopPart, "ndc", "user")
        yy2 <- grconvertY(0.806 + offsetTopPart, "ndc", "user")
        
        xx <- min(xticks) if (BF10 >= 1000000 | BF01 >= 1000000) {
            
            BF10t <- formatC(BF10, 3, format = "e")
            BF01t <- formatC(BF01, 3, format = "e")
        }
        
        if (BF10 < 1000000 & BF01 < 1000000) {
            
            BF10t <- formatC(BF10, 3, format = "f")
            BF01t <- formatC(BF01, 3, format = "f")
        }
        
        if (oneSided == FALSE) {
            
            text(xx, yy2, bquote(BF[10] == .(BF10t)), cex = cexTextBF, 
                pos = 4)
            text(xx, yy, bquote(BF[0][1] == .(BF01t)), cex = cexTextBF, 
                pos = 4)
        }
        
        if (oneSided == "right") {
            
            text(xx, yy2, bquote(BF["+"][0] == .(BF10t)), cex = cexTextBF, 
                pos = 4)
            text(xx, yy, bquote(BF[0]["+"] == .(BF01t)), cex = cexTextBF, 
                pos = 4)
        }
        
        if (oneSided == "left") {
            
            text(xx, yy2, bquote(BF["-"][0] == .(BF10t)), cex = cexTextBF, 
                pos = 4)
            text(xx, yy, bquote(BF[0]["-"] == .(BF01t)), cex = cexTextBF, 
                pos = 4)
        }
        
        yy <- grconvertY(0.756 + offsetTopPart, "ndc", "user")
        yy2 <- grconvertY(0.812 + offsetTopPart, "ndc", "user")
        
        CIText <- paste("95% CI: [", bquote(.(formatC(CIlow, 3, format = "f"))), 
            ", ", bquote(.(formatC(CIhigh, 3, format = "f"))), "]", sep = "")
        medianLegendText <- paste("median =", medianText)
        
        text(max(xticks), yy2, medianLegendText, cex = 1.1, pos = 2)
        text(max(xticks), yy, CIText, cex = 1.1, pos = 2)
        
        # probability wheel
        if (max(nchar(BF10t), nchar(BF01t)) <= 4) {
            xx <- grconvertX(0.44, "ndc", "user")
        }
        
        if (max(nchar(BF10t), nchar(BF01t)) == 5) {
            xx <- grconvertX(0.44 + 0.001 * 5, "ndc", "user")
        }
        
        if (max(nchar(BF10t), nchar(BF01t)) == 6) {
            xx <- grconvertX(0.44 + 0.001 * 6, "ndc", "user")
        }
        
        if (max(nchar(BF10t), nchar(BF01t)) == 7) {
            xx <- grconvertX(0.44 + 0.002 * max(nchar(BF10t), nchar(BF01t)), 
                "ndc", "user")
        }
        
        if (max(nchar(BF10t), nchar(BF01t)) == 8) {
            xx <- grconvertX(0.44 + 0.003 * max(nchar(BF10t), nchar(BF01t)), "ndc", "user") } if (max(nchar(BF10t), nchar(BF01t)) > 8) {
            xx <- grconvertX(0.44 + 0.005 * max(nchar(BF10t), nchar(BF01t)), 
                "ndc", "user")
        }
        
        yy <- grconvertY(0.788 + offsetTopPart, "ndc", "user")
        
        # make sure that colored area is centered
        radius <- 0.06 * diff(range(xticks))
        A <- radius^2 * pi
        alpha <- 2/(BF01 + 1) * A/radius^2
        startpos <- pi/2 - alpha/2
        
        # draw probability wheel
        plotrix::floating.pie(xx, yy, c(BF10, 1), radius = radius, col = c("darkred", 
            "white"), lwd = 2, startpos = startpos)
        
        yy <- grconvertY(0.865 + offsetTopPart, "ndc", "user")
        yy2 <- grconvertY(0.708 + offsetTopPart, "ndc", "user")
        
        if (oneSided == FALSE) {
            
            text(xx, yy, "data|H1", cex = cexCI)
            text(xx, yy2, "data|H0", cex = cexCI)
        }
        
        if (oneSided == "right") {
            
            text(xx, yy, "data|H+", cex = cexCI)
            text(xx, yy2, "data|H0", cex = cexCI)
        }
        
        if (oneSided == "left") {
            
            text(xx, yy, "data|H-", cex = cexCI)
            text(xx, yy2, "data|H0", cex = cexCI)
        }
        
        # add legend
        CIText <- paste("95% CI: [", bquote(.(formatC(CIlow, 3, format = "f"))), 
            " ; ", bquote(.(formatC(CIhigh, 3, format = "f"))), "]", sep = "")
        
        medianLegendText <- paste("median =", medianText)
    }
    
    mostPosterior <- mean(delta > mean(range(xticks)))
    
    if (mostPosterior >= 0.5) {
        
        legendPosition <- min(xticks)
        legend(legendPosition, max(yticks), legend = c("Posterior", "Prior"), 
            lty = c(1, 3), bty = "n", lwd = c(lwd, lwd), cex = cexLegend, 
            xjust = 0, yjust = 1, x.intersp = 0.6, seg.len = 1.2)
    } else {
        
        legendPosition <- max(xticks)
        legend(legendPosition, max(yticks), legend = c("Posterior", "Prior"), 
            lty = c(1, 3), bty = "n", lwd = c(lwd, lwd), cex = cexLegend, 
            xjust = 1, yjust = 1, x.intersp = 0.6, seg.len = 1.2)
    }
}

### generate data ###

set.seed(1)
x <- rnorm(30, 0.15)

### calculate Bayes factor ###

library(BayesFactor)
BF <- extractBF(ttestBF(x, rscale = "medium"), onlybf = TRUE)

### plot ###

.plotPosterior.ttest(x = x, rscale = "medium", BF = BF)

Simulations
#monte carlo t test simulation


#install.packages("MonteCarlo")
library(MonteCarlo)



# Define function that generates data and applies the method of interest

ttest<-function(n,loc,scale){
  
  # generate sample:
    sample<-rnorm(n, loc, scale)
  
  # calculate test statistic:
    stat<-sqrt(n)*mean(sample)/sd(sample)
  
  # get test decision:
    decision<-abs(stat)>1.96
  
  # return result:
    return(list("decision"=decision))
}

# define parameter grid:

  n_grid<-c(50,100,250,500)
  loc_grid<-seq(0,1,0.2)
  scale_grid<-c(1,2)

# collect parameter grids in list:
  param_list=list("n"=n_grid, "loc"=loc_grid, "scale"=scale_grid)

# run simulation:

  MC_result<-MonteCarlo(func=ttest, nrep=1000, param_list=param_list)

  summary(MC_result)

R to WordPress
#install.packages("RWordPress", repos="http://www.omegahat.org/R", build=TRUE)
library(RWordPress)
options(WordPressLogin=c(user="password"),
        WordPressURL="http://your_wp_installation.org/xmlrpc.php")
#[code lang='r']
#...
#[/code]
knit_hooks$set(output=function(x, options) paste("\\[code\\]\n", x, "\\[/code\\]\n", sep=""))
knit_hooks$set(source=function(x, options) paste("\\[code lang='r'\\]\n", x, "\\[/code\\]\n", sep=""))

knit2wp <- function(file) {
    require(XML)
    content <- readLines(file)
    content <- htmlTreeParse(content, trim=FALSE)

    ## WP will add the h1 header later based on the title, so delete here
    content$children$html$children$body$children$h1 <- NULL
    content <- paste(capture.output(print(content$children$html$children$body,
                                          indent=FALSE, tagSeparator="")),
                     collapse="\n")
    content <- gsub("<?.body>", "", content)         # remove body tag
    
    ## enclose code snippets in SyntaxHighlighter format
    content <- gsub("<?pre><code class=\"r\">", "\\[code lang='r'\\]\\\n",
                    content)
    content <- gsub("<?pre><code class=\"no-highlight\">", "\\[code\\]\\\n",
                    content)
    content <- gsub("<?pre><code>", "\\[code\\]\\\n", content)
    content <- gsub("<?/code></pre>", "\\[/code\\]\\\n", content)
    return(content)
}

newPost(content=list(description=knit2wp('rerWorkflow.html'),
                     title='Workflow: Post R markdown to WordPress',
                     categories=c('R')),
        publish=FALSE)

postID <- 99                    # post id returned by newPost()
editPost(postID,
         content=list(description=knit2wp('rerWorkflow.html'),
                      title='Workflow: Post R markdown to WordPress',
                      categories=c('R')),
         publish=FALSE)


 

Shiny Apps
Exploring the diagnosticity of the p-valueP-value distribution and power curves for an independent two-tailed t-testBIC approximation for ANOVA designsWhen does a significant p-value indicate a true effect?




RGL

Scatterplot3d

Rcmdr

Video lectures
Packages/Libraries



Ask/answer questions on StackOverflow
Trending on GitHub
External URL: github.com/trending/r
                                                                                                                                                     
                                                                 _/_/_/                                          _/                                _/
 _/      _/      _/  _/      _/      _/  _/      _/      _/     _/    _/                _/_/_/    _/_/      _/_/_/    _/_/        _/_/_/  _/_/    _/ 
_/      _/      _/  _/      _/      _/  _/      _/      _/     _/_/_/    _/_/_/_/_/  _/        _/    _/  _/    _/  _/_/_/_/      _/    _/    _/  _/  
 _/  _/  _/  _/      _/  _/  _/  _/      _/  _/  _/  _/       _/    _/              _/        _/    _/  _/    _/  _/            _/    _/    _/  _/   
  _/      _/          _/      _/          _/      _/     _/  _/    _/                _/_/_/    _/_/      _/_/_/    _/_/_/  _/  _/    _/    _/  _/    
                                                                                                                                                     
                                                                                                                                                     

Top