From 5f5bf63b2e3cc03774e32327d1cf28bb5d1ffcbe Mon Sep 17 00:00:00 2001 From: dramanica Date: Thu, 7 Dec 2023 17:41:17 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20EvolEcol?= =?UTF-8?q?Group/geograph@f31e3559e227b494ec4099d2de93204a715611ba=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- articles/geograph.html | 5 ----- pkgdown.yml | 2 +- reference/connectivity-2.png | Bin 140451 -> 140194 bytes reference/findLand-1.png | Bin 116851 -> 116848 bytes reference/findLand.html | 18 +++++++++--------- search.json | 2 +- 6 files changed, 11 insertions(+), 16 deletions(-) diff --git a/articles/geograph.html b/articles/geograph.html index 2df8d67..b29e921 100644 --- a/articles/geograph.html +++ b/articles/geograph.html @@ -115,10 +115,6 @@

First steps

Installing the package

- -
-

Installing geoGraph -

All the following instructions should be entered from a new R session to avoid errors due to installing attached packages.

devtools is also needed to install geoGraph:

@@ -607,7 +603,6 @@

Plotting gData objectsreturn(res) } - plot(cities, reset = TRUE) par(xpd = TRUE) text(getCoords(cities) + -.5, rownames(getData(cities))) diff --git a/pkgdown.yml b/pkgdown.yml index 0fc80ce..e833167 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -3,5 +3,5 @@ pkgdown: 2.0.7 pkgdown_sha: ~ articles: geograph: geograph.html -last_built: 2023-12-07T17:18Z +last_built: 2023-12-07T17:40Z diff --git a/reference/connectivity-2.png b/reference/connectivity-2.png index 85e136b60d30c6a4246b3e8185d5eea030f9ce85..ee5e0b5967b1f7560e49a9f2496c07efa45f9cc6 100644 GIT binary patch literal 140194 zcmeFYi8qvO{69XP6p5&WB1x1bOUN2Z#MsHcW*gb}eHjsoA|uOKBTE`fWf=@cNh&iY z`#P3n8OunP!8Cj?J3$ z0y!EAfgEvUJO*AF&n)@{ejIbu(NqUN!N1)*7&!QG+*ivo00Oy?c=(?#b#C1S0^x%| z)o+`G=B*IJLTy~bDC<*EJu73Y^2ZIev|>KJbE$oVNT@2RD-jmfxi66TTur;?JKC@r zVk=x`Zq4+9Qp)Z1azM<>5${ZwBfIkG^!bKcvCc}#)~DagK5^0+QXFrZQZ11__v~)2 zn2udr;c}k~L4kk^gO!{c#Re2o)BaxG|9<=575Lv3_}>-y|J@3t@L4Y(|9jWIEn}?_ zl=yn9RXl847m99*@PZAWLyX~9GV!@`@OE4zOZjn#e8Q<;{~W&G_YpG-OVsT?6vz29 z8om8!Z{psxh~9CCZ{G2t@W1bX@YLW|Dg~LXzi~kzR{YaP5C3fX%Wh%kF?FN5MeySM zo%R!lFSe%zbf_s2Y1<1blqOZXs;>}8iYk4};jbV(mm;=TnzZ|d7eF;va)hzR&FF7jE~-@DP|p_712zhz-z@p=)6DcLo9w4XdV zIZ3Jf@xnKji-)J>3vS=(;U()-lHDMbdYwx8RZ<+iHwq|5lo0rfQy9h2yP`RnR)k>DUuNaF??t7 z$5wiLmW*b&{YzPzYQ{!CC0V=XJ<+({{P5w!Xa9bZ(T5WddCxm{?!@JgF-kQ;Np=lE z%R|;?Zrbv6?8%+Jv!9=xK^UKSrc-Ln-J`f%8HJJ&0~g6i_C9jth^iZ`6&Bo3A`W%c z3h(5nU|wUf2OB7Qjk5SUL91?-^)Tn!#}7w#q!Df^q1*PS(XaV&`*;; zRNG?i3e-!;RGWwd6-JPoE`zJe;|pG!B$CNBNyQKDvC*fh8*L7XSvUN7P_=Lrf^sN3 z+kwp)Elu>LOl1UOOYRBg{~#M=$ylNWCpXIET1o9m`X>DWv=vv?anlNu0^Wp~o#vor zGIl!l#G6jX^`qqdp!)rgPx**&*nHy)r->U13cD@nwyi3U_w%1{(6t3E5ueGHUCl@M z_9uxkoDkoUgoK2B?LH+=E-4j7#panm8-zleDutO(k}@)zF3_4hA1r2V^1Vy%(-0O)s)q&X^xafe5dHhA| zIky>lNqPC5f264?C2t3#r7^zXb$c7|x_mHo6w_Xgj2UyKYV`19ishBZmru{%H6}`9=pbQZf=jW zj~b->e}BDN82I5Rr%7%|BL*x@mbN=#&fnhtf!(v}ruiH_2QISJw~>MZUcu8(c0%8n zp=#BLut9fIhLbpJ&zqjG5De9jKW(R7Fw5rmwDG*J(BT8r?;BqjrIEp&P35g{IwIf9 z270C0Co&OZ&#uusi0JVgv5~G-CDyt1GvJ<@ru(TgpFG(%gxkN}x0ir-LQD=G?raYk zF`jbpaVmnOq@xK>SH{sbE?RUD%{Zj*He7~iZg!h(K-81_ji;u7tp`kr7*$(h-@EyB zKozsmqf|5678M}?1x1)TK|7Mn^V?5)e3h&KRnU{zj=t3w4P}^!Dl9?mQK@TgE&X`8 zsl3oX>s=eTZF9%7(l&Gl`PGP@43?WbK-jt5OAZ<$$P~x$ChKl*s42`3n z!D;1^=1n$crN(I((Ioys_Zz0D0F}L|!Qo+wd3W?L!I658;bbB$_XM->(c8cB^m1j1 zaDf!o=|wfLRV}WgC&N7&YHK$#$diBD>l$dUh4lrTDR4~4nw>dnF!~B(Y;CbnvmA3r zjrUj`2|gTdC%+E{4pEr2692i8nh7>5b5-99$bG1HGpTHIWMo7bVN7l_N1T50=>2GA zAE^$fJLhkC=FFL7Q{sL*@xZu`G7%-k7#or0yK@~nPTkw%s1j;j|I8hbo}O;rNcBNo zdUUeGcc=xoG8CzD@I#QtdK~S;df3LYz&*gAJ_EW+aV8?BJ_KL+VxhiIpB`Pgx=j4? z4Y3a%AYUPY;AUiYjYIB1I4y}2w3A9c#)LP6OXdw;)7xug ziZZQ7qeU~cg)_7(tg42ny$KGlb+23w8Q$4xEEWoHL(*ymke02sYFE;Yq>v`{R;H!K z6_hvmB-e3qlI00JC4t-9!oI>}^7{4b>-u<`j57&E{!KQ@G2TqZ9y(EC4L(!6EX>S# zrKE2&7Z8(Igw4gXOvSSVp%*S(_~tC76W$_}WKv}YURoxEBw(o6X6i-IEmqq?o!(h6 zzY+>x))iboF+n@Gt|Fa|5oNvuwqqAl{6}-as7_oPg0R5(rY&mkbXoI@>yVTqe_=s; zUz9f`|xrY=ayey(UXH*z* zQem3-&PlV(48@W&TKUQU%7}7RSR@;Lt@qW_#|2LxudlDij}?4%mQhf!WR-m-^bKkp z5fRZX%K(b#{Kbn|C7K@fV^k~r*4}cBYL!*hKB)h&+%juZnFtxXn!RJO}Enxy6f~jC*s=JG6nyY)^)^1}I!3_WWyZxg}oYYR7jw`OZ>dGs||A<{1Tsz^MxiTN}q?W2Q9Q z!FNu8J1m-6wVTy9Onx_03zey(1o0~J3kZ+c-;MDhjsZS}+y8>|eq8*(o{he6wAPi7 z^-=QXC=u=fTl|X9m#xhrY#0W7{7#4>2VD5-{64Z*gHvqp+(st4r8IE0et2?`?DG`e z>ELJ+b)GW*tYe_`8?1IqQZ9)fi98>7H^jWc1ndTNWxgA=_HCPeI+Po#W<`df5%pFy zZv3@OMf>hYLP=mzD?t5*w|l_st(NjSBv%TK_hfX>EoF529ZdK)RXR&4co^01$e-9T zfF8_|r*zBvr`%6Eg#3#E;EQDJW#Low568yF=6N)YTm2i&P+%xMaCa9WuTj(Q-Mgm% z-RctONEQx(&$Ln|BYvNA%{%4RT)xgj-uIP4+WhvQpB}l(Y6sTq{<+}Qv3fjFwTPsX z!cB9kFbStNEfio%1ZU}ZFy3vu^PikjmABpX?7iXdk@=OR$-2VpwPwnVYkm~fXV%=; zrcXiFR+g7BZGN-u?d>pWOw{~*J|bF(bP}p6Q+siKW4CJoIh!a*dtcJCdoo+Q^aUQ4 zp9Q*i#E!f@t4KFW-nko?W5+I;{{4B$l zCOH{yZ~{@a4*;V39%ZQNW|2`MF{-GfTaZ>bDD_5?}uOt^Q zw(RfkuQezu&XDa9ftfNFrW?>`k9SGqBRe~xk+`H1xNI#&!w4WNG}5vV7JU#H z60$685cVyvD~K|7hgG@G!`b=g6n;eqw!IpuVsH2R41+K3(q9mt>Gt5kA_?&u)-X!E z7)+7y9(_N@eTacY%Pp>X`%+E_)MFxYk)7~h?eJ$Mu62#$dWZx8T94F8)3i-JsGO-t zhJj7+s0)KNZqAmx|L!R7tV75_Gm>a1lF{b7JC~K(rS#trjy5~7*{&yWdWl4`{QRO2 zw2|cx-f=!Udncr+o+^cf{R=NGt`&fCNgDvg1gnqr4PjwrMOjtJPIx9WRSYi(}fGx+54Hm!o9y8dqVtm4{j={^T&c< zt4NyG>(nPed<5fimG)@!~Gxvj7or0cyJyVOjm25PRDdQta+_qQmPzMO*Ad zw5Mm~oC^(f3Z$;Ac~Oc^b1$(5539A0#(UUFH-E92yh=))=Ekg_3QTXR$-6t8P*Yun9qY4+%6?NVbWMiOirX;rn|3s!(QwiGRGT94%;NeJX4 zwMz#E2XA=b78f4`Snx!A!nFZht1`5-p4|DPU!Yap7*DhpBV`FxR8{FAbz%C2GiDs} z!THER>ip*k+A57kGlv=%8ID{bn z!Etc2Pr_?vvN7;hi);Hf>>B0B(f$b<_Flz6mi@uruxhZynPYEZum4-mb}uwB^RRbj zY)*tFM7~9%DHQVn{j1GtMZRezSvujpxI#q9*7EQ$%3}6tvjDzgpE>rv+1o251_W;i zWi5Nu7B(a%yhfHVUp^>2$Spwu7cAxe?j`-}HHA>ItnTyY&ZU)T^@#$=Z_fvlbO7cv0r+5QxomANOOOUtDa4jqTx;tk60$Y{9UY$A-m`_0tD~s% zm9A(3STF_y|4Izm1{2gbzWmrUFEsEHsu8K6M=kvOv2y|Ny%Sk($ucc zUa+C}7vjpWn)Zl+Qj%f7*MkM`%I}`N)U7lC_v+M&e%;hF?=EQFbp2IQP*8B^WLT~h z-2iUo>hIk@2ePT69LWX&lo0J^V`KEDbHqd4D*;+vK8#sYM1XmF6P!u~wwkCu6{Js( zkrfyW^?BjiuV23^WtsI-qn1HuvD^Q2#^7eH87j)APt-M7PwN}Bzo;40jXSAiV_!Yr zz=HoM3A#B`?5*2uGG@@>uEvN$wcqrHoB{;E0J3c@b!gest+at3wxgsdg^Up_^3u#(44=5%62taOZZyLM$dF! zKu?$vyM|A;!q7cI{F`Gbaf6pTi3B)c8(0#Vkp9Abu{$@pOQvD&wTXxoHkx)S*Ps?K zyYM-Gc8#QBEppp5AqE3F`5O}vH-CR)*brxegT0ed%8u)O!1{7PYfAx4T#q5;Pc7YB zc9XxVRJ+lAU*BH=u(HfgYrE@ZMgYOlV?X7W@cuZ&ScxYs1j>S)4h`M)%k_) zm8=0(im$p+3HY77P<77eHVe0Gq!5`w8I&Bj1SN#ssi~{^`oq-Eyw&ULetNpPUx;vL z*uf>z7NUS-jkUwD$;R7EtL?OVeNIAR;#m!&Rt6vbG($Fez*14EfU|BzV>V2Cf&&AE z(!W-YOr+E`Ci*nlWFiMeqwtmQSiT;CZBIn1VBum5O!vd99s1R_kPP*RU%Z3G$ApM(#PuI?Zvm8G4tN|q;DN5D6wcSL8TIfh zehtRSHt#dIkLRufZ0hU6#)8;yLx|b&|DKlMF$M++san(xxt}x#c8!`zAS1UtdE4OZ%rDLo?MZv-SrIzH$5SRGu zM!w->u3x_dU5nc6)r4Oo%~tVt;k<(=;qBvGWZ4E5tx{uv&6XAy4FP8w8L?2tRSvo{ zb-d+`0UC;)zJ7z}tNSoTQc1di9>t}~47H`o{jqlhEojS0|G^#%UFGv!T#s`i>dTCU z0b8vKyLH|^MZyh>IWV@jpMuMvkDcS<8u5eyp@FlMG+c~AdEghK>xBN!U}SA8VE>$s z($WCN#yeOXFvU(kK8D2yNYz?T(1N8gwtW{yJ+}*zCE7xNJk|r+`t75CTgrWo5VS$$ zk26n1Yg*n11&o{p&rTe%c@gnKzxr7IpwcNl zxGf-~awEi(DWHFBZEjxM-O*I*SXLHsOT++5iz5;wYo!J9g-JJ|Fc@H@wQa7?0qR`3 zU0qVsM7{9 zA>VpTeIsbWrD^5onnlg2GWo!TEOopJ5xM1ZPNoF z!BNi!-ly9AbV~yRCOpk{hZ5NK+|BLw_FGtFl$G)OFnb;?@xFjM@sndEB#0d2KR}F; zu<+XjctFN{gG^dp9%r8t;z%wGq6~imyWs`c2bnU3mj#pfSEsP>-eJL$!Q6McoWLvv zjN>_mz+@K3X9z?Zpue%v169-7|FN=)3a@#--1!@|7$VIZ8j@?-Ni>kFy(d@|K;eZh z3*?KCv|3-MYBk&T-GOZn??y&1GG1V47x@o0odNd9*04R?j9p`)i5fASHai=d1p$5eYkSa@Wg6rPOJlTEY=FOYst#Qa!=|aK* z{^ll~!vACebaUg1%A&TM=KU31q>wHb0|Y-QKc4+&0Ijt;{^`=pl4O<*a>3}`^dW2ei30E<-CGsa*JCe>EY3Ah1ta^p4|5WulAlk;R%saitr z=mH=DcuxDs^+%ZT`eC~Wm=tm%OTYZ8rl#hUD5)M%Fty}oUL5rC-vKHp>`z$`NQc&# zp{Aa1)|t)5@qORhT4r6&&Yl8Y8@L~WdJM~?Kr18m8{2%DNMWSz8*rUR#sDJ$5XuEz z^7x|C$w=ulI0rgzA!MFz)&mDE^RSG>0KK*=Gc{T z0oiY$+8Pez^g7+#L(#aHkFo8-lzyo(0B`srOK4veY&$6AAY4!uEZ> z7aB+l^GZ*%XpOA(;o(iR*m zW@ul&XtfpsTf`l7B9RQMhpzJ0E$#MyqJg$AlA*mJwnXoA3SH2n;3O(BPL@d zdEBs5Nyo|eTwvDst)2Vu4D)|Q#urSU2n%PU_sKHJ z+yscqZx|S$9o%x>*Pz;3#z5~(G^+})G((v_OGyzQdOu?XEtITfl`)_30>f^k(Qj5& zr}^5+$sb7?P=AU!P)y+!>nebZtA${18#|3zrf;5w-a(MB*G32sF8~`Fzk(GIw2lw) z^BDya_1bmJb9Mfro}QkgoW|DG@^3v?Trj6+raP9~Y9zd)2rbmYh^e{o$yOhQmD$P! zph5!uJp4pl<5j7w@3fBN+c^>fFDQ||k$*HpP??XkzhfXBajTC8AmKxy zB;LlA_uVI}zob9#?bnkl#ZrlDW<4s@6%Slxjh{Wx;z28e`*2TOCeIKlKnGxfy`Q1qUt?%^GZeQ;7%h#=A;8BBhv8*d7pGoUtzAhYE0-a@E6Va zX0I~_gDovB8S|%o|Mkn)#&)*?j9GN&EKq%PCTOh)@yxO#FF^wVDy_ndRc)YR6g?2%LnSKmcWuZy{^7~kK8bWPHEq0mVNZ@ zj&Uk058;2hzY#ER8mUe?T;ZuDh0p6YJ%-CUPf{B(@W!T~kGi6dRivq+P;Q*=VZSOh z1{AIT=g*RfC?7U@0%2jp2`K)5kdn*?BS5k!yHnvQivnikRaV(ExX;OEo%TlThxSWt zZNTWm9E^vj=QZ-Bn>rKZnFqmm9Xph<|4ecBa8yWQbC-d2={d1{jEBGf`?f`7-RATC z2W%Qfv`-z8SJi$raQn>#|Dl*={667kr2Gdj$y@^#qRWr4{2#$rArK2CNCtwX%^1uw zT?kKj*BbKkx5b?`o!3c|5~N!4emo$~8Gng0$9bD;96os@4Ce5$gCVfDx^v?hXL&M; zOl;*N?eQ@dERn4Ry)p)1u+%216L~)y39J>rza~7p1}jis)~q~Fw!cgG>q0f4Bo+qt_wl`BF=7L6_L(8>v~`_pq+EF zYNB<0fA)#`j};y9rk@`|?-Ut+(Gk(=r+JQ#kDpB_63Ivc9J!R_yYpAvCIJM_yW-J?zv2!p=PQBS_#Mrz^y5)e?4f-`NK+Qcz>YueD|NVSf}4;jsdf=x7yNH zIRLF5iiy6Q2}J-sm{;OISY_wsRZ=4DDy@ca0M`zJ(tR*uEs_!VYdZGQJ{@#6N9Fdt zEZr-EL}F{*SHk0t$;Q))ZGgLul$4Q<_P1TH)fzk8*mNQA(6!0d%fLHKJ$CFES*Esj zmXNw5{c>-^%ma zBJ^q{H840B%qS87JkRL58%vBr;1wlV+6D;*>uSau6=o>F!vQ$-0w#PQlvQ>mx=IGk zB-{3B0_Tle*g%7xDVmEP0zLi=qRyMx?2=e7+S@IAvID3NWo2bRb>oaAYbM`IL@#0u z@>Qo-v%{18OViE#?w&|4)|#E2-AZzkz9*h#Jyh(fiSm?HLRA6b^>Aorb#Gziw%JnP zJ&KBo9Dgi5?0m&f>TvH3ZEG!EuMLm)HGHTc-+Fx1%=!*Pd;@|&}ZHUxUXsDxxLS!6pr3fl6$w397g9GEHmg#%(uI4Z56W?WUg< zI(&8Z?=8#%AF;l^z7sI-k)b^or0KXWf4}N5v(s)gJ!I{J2M*A|8)U0Ve``nE8u=n{ z-J|aJDjk8O=*Ue)2K-3Vn-n4y&;JrQnec-* z_gS*u4YO0Sbr*NqkgcC^;(-*=lB=8zR^E;0?fu0_m#ftB|F7u`ETocMspUeTVG|IW zN2ICmFh1vi8jJ+Ja1g8i3F2EZrhRq!qms%SAJ0E8@A^}Q(dBPe71s*vRoy?@LbtxH z^D%N%St(Bf(c_`A}gE@lxExGHr_|qDTYid$`IlBZ!0PeSNii?YL1)@b* z2wcCvIu0>808E-SkLwbU_A!9Xu>7PN0hgTMsCFE=H_&t?10intup?>|SB-PaQ^uoV)=HT@R;O#XvI=*?X3x5q()t@2m1U5%@f#RGC-Gr6L^+>M6WwK ze|7%-{7u-azu5zK;I2~p8{0<{SQ3Z3!hk^P7*&Swpd&HOQSHE*GW86_% zQ6UV_-;j@-gw~LS9*=4vDC0N=R@nrs3-m;$A4n?zJ^n1IHo3kxl>cQ_)oSA+Izm9E zK>~UueQ9OI#-DBS5Ae_2*wC()ho%;azynP@hyopWs>O@@$7Cl=)^)x0+yUSRaOHgc zLX!#;eU^@2|AeS^;Pitj>4HR+fcIZOo~ih_G-ib8GXWwS!>nO_?M5k6NszbyfTS2L zK`5yjQCID-u@5Y_36S3j^0*iKE8AH^?f^xtIix4 zf7^70L^zbgDF7Rfo!4V&fBM(L1*Tb>RaLct!0D?{Fdhk+?C^X+VZ`PL&bHuRe@>9} zwJobJ@QWo%4_k#_p^@9H`(g?_KZMkj5VZG-%c#Hip9us71p(^U!=x#ikpz0V)iH%p zPcuLjk`pReqC%F#!^1gP(g0gruqnv@SE~^d{BaafEM$BbU89n+?Ei zSJEpAaqi5oSwF1hj2bjkm$@5=POybWz>#~TY9C>)3JMaH-C%$P8~paU!h_nuGeQy% z{o_dJl*ux|Bx@4^;!;PC+{|kPru-Isg66|{F8B_R?zL@VlV`t!+Dt9uyd1W4^G-At zm|1Zsg{zSMhu)y^f-E2&QQ#+(+Djzbu3;5!+$aSyJ8&R@69E{CPtOh*7HfVAg`r0L z(kKZFXV{^d=-veTo5vW8u>EY>*%x?!SU#(i9sriZ0UMy^z+s}a|Lp10*EZt)?oJ@D zVG8zD?c_xr<rd5o>d&0#<8vyL7!4 zf4f73NLMcmbi zd{H}RvCO{^Dfr9UvmF}mUl6rC4$L8ta}*A-|0R8i@gJbrRqjySi@Hw4-U1~FAelKR zI&;>psIb}edsW$%w5{YLOXp0XHIFZ<0+-}s2M)OVvwVNd0orF3pmk{9G`N2QDF5va zhl$m2kmZR7rq0Y{YeYXGdb?I9`Dw>-ki3ZmrkVy~o|aXOq%DZ(AMfIlwqBt(R?Nk> z-RjQ}g_sfaa;{FVE-mHAy#%PuEJqyE2IT#|2_5vTN-nrEfGfblWuHBdcXf1BJIpM> zYJniJ^}Nm$!mg19P-i`WP2m~qYV+2H!dczmtIFb+q5+|&S$+{j6SjtrYuef9iRhWX z`rWKr@vcuc6Trm7X<*mXw<6h31i_~pH*T1!TC$_Vp8(nR&{qdii=Ey$Pu}OjeUD4~ zHWt-8VW0=fGPFDa7yu+LK`3Bqk*pZ{>ptyM955Ve!J=s5JO_vu{V1BTd|W}4e!+Ya z+4b0M-?EZQOse+z{Buf6t3|acrc#=Xn#0V zRx|bU#KZ>#lYL8Alg7WEDlW2qCiF3_fAgxo0#>T)6C4w zo;PaITIbUOu}Ec`Dzl3{&Qh$crFeKOg5r zILu9symjcf*aTvf+h2zXCL$T4g$I8YRNKq~I(mJEt8L+{npN2NFLRBwm0JuCiC7#buEF<2aq3~Vrp`2L$2 z3r!FQO>_gRH4fW9GmJpmHivD@=Ytl{lMAM9lzWv~L|Tb#$iY7FG1u&t6=oLYR z|B-$>v9AZx@8B8v(PMsz9@@Vu3|cPh@;hKXMD?O~e%jv4Zh0=Omsrp0-n{c_GDS4~ z>%g6#8XSXv?4jk_2xOFIUymena+Zz%@vDDQ?}6x}Z}tT7a86#$Y5UZ+9xx~vbr_O{ ze{qq9q?CO4@L@P-RMqXu;*%ySCurdNE42h(uPB4OFNYW=9i&FDl1O@(HVINtYilcO z<%hbIFd(L#CGWdKYx;FlC+;o}Rpky|d3k9hO1IBdz&1>%%eE>8Z3)_ydBX)aP>3Md zqZ}B=mu-4MM312dNYJ2R>O`*qDsH(ddfwXPt>pN(5wuU?gzfThjp`+oc5Y{lrnz~R zF|hff@K<@ycdAZ-rrVMt`r7Xy1}IFIhuVs-=RG@^jKr8e$OSnWS}%9!Rl3=?XfqV> z{r%g{97)5dveAEthEfGrLnt&vLG~`SwLH)N8`jqM!_f`OpLV0rWNe0q zz#EXO8G(lw;_u0fs|iZv##y)9Y%Qa>hMZBAkb|*#e6DKu@hf$Q2SR$loVLy3CV$>P z%%Rsv*6!+bNrF`7#56foY{Q!>7}aPZLc`Bx*{j$Iu}9zQtAQ#8yi@ud6#(Gx8~RF7 zF>jq-u9vdao>PrgK<-{LJr73S6ZPUrS9GsGDy)?B=4<1UxJoe3=IOEv1v~ybW)J6| z2%TgH&S##+_q%uRF10$CE3!!lvbz5|r?mB8__@0SbXl|T6`u9ypmOwB(uG-zpXBow zE|{{>drV$!zFwD6x6&Y6Z>4w0&L=yboq&lOu5)AR0Ifk8q~88FA$uGKk`Nbw+jHXC zlj22}!xJ$s_49Q+osRF68Dq=UjRpb$r5&$n`Tgxxap|K&EA!9Wk`M{W6(eYfN3-US z`%O0cn=VLI5T z015zv#ZI1;xp}ivyYxM5a9%V0Z~W8J=fwAkEX=!_P3?v{`S1Ieqx_a5WRQxI9ud>W zTQ_^AdJkOJdS(SgyCWVR6j1W+l{b*9$uP)hNH)oGguU2^=O`!t-S!Iafov|P$L447 zW!Jld2Dq=wg%AGxOkb;gzYN9pTql-W@skjr!&hAbGoy%5tfX}7Q25Zoz7dW0O*0Bj zBEPXKSX<~XBvmMyZf)xZ1#PX}T-(T7|LBpm^6t|&6Z=&ZDjpf;&iyixF0v4bt$DGx z4pS<%?W49vuAw8&oQgUczUiEEzNB({H7VlbEIwQQCki!x{OV>_1Vysw0!7k#E$!=503L4ZVh zHjGdCbzL|&98^Om*^aBZ!F-3V-Y%=jrW!JR4z`~Gl9`$um?7|^3(^8FLSHUM(@8qM zvtW;@n%l3bFkxB`1vPtpEQL4W5@^3=M_;$Cy|TD=_edI3{6DdLw?r~xT`apfxR&17 zcKHFu%tlX_)XDGoZX{$xqfSEx+aGpSv#?D~NHz0`_&VfEgZ6Jqy; z8P7%jC&tHQy<-;paHBAK0ij%Gq3rmM3w&iOoG-30xckT21hvOo3lZ54*__hL(@POzw!J*M{eQC8s7jE{5@TV3)5jaDlfjOFj3B$` zCU2?Bg%!x{Y@@NQ4hMc999+T{Ly$|O(;~l8Gr>V1-?YMQRc=3iQ+W2@Zm~heMA0o{SlfUMo>g+=F8_~QpSGrc8N5BiFL8)l_xt%SU0d(skNp1=aIYPkZL4p z&+%R3&mw}h!?>)?utvRAevo92F%uB-j5v!n3US)4*iETVWFGHSSgQ zV{n|dOqD`ADG$1z1)4_Bj2d<@F3k2s>t_YPg7Fvu4*kMx}8gSXd+U7jWGKt z3rXb)@oH;(+FrWXiF1}Zx8-=@+_~Fa34FzO)IXt#!Q;@jHTc7i#FMeZS0bk0 zRdGlLFG#FzJxzKux63>YPDFx*jGvY7ZGUN8LErs8^TsV*fEqP`Fy%G=R+6wGsiLAH zW-{pDL%Y>Bw=!!Z#D3n23G!gEsPcsxSZEN*&+M}Q3epbK)acE%q657p(clbYfU1x1 zSUFvI{y$lOu7_?p{dR?!eSS{XMI-83_&8UHyu)U(OGMpPtYJ7eK zVyB^AlM`8h0fliJLP>B4t#RO@K<(O5C3R+pd<`rBOg!YRf}Pz+epRlm>7Xr>4{6 zCBRM_8OBNwXSzIvVXwfs>XUaqN`CtF>uuW}TTH6-2E*e;&!|hMia__aN{)N-M}Zf&~Z9N?Eu!Amk_7Xfqv&uLwbJD~?F_%VgEn$5&4a@^5Z$$38xv;2KuInQxd~ zbv~>pu+)`}zIo}U`wc1cEl;q1z{2ihn$j+fb$rJNS@!lF>+KWM+WgAgA^E+(zyE#L zRK${4=+CEc&&H<^$(S>V_6effL)LZ~u@d`(9FrQ1`X)`1nIgHt>qdHe^QY3k z{fx1f14yDr)HjbqTuI%VvK!6&jVz$^=4`6~N&vD%;iwJ9n6iqm1HTLtgCIQod*@^N zkzuGdl{78Be0{lz1mvNdeJ4i(SPutd16@tvSeg<~m%^F$d*J9;%YL(sIOP%q&NO`v zl3O-uW^OY?nX9{Y0*RZjt~3XU>f&+Fb{YID_d7=7S>Vf+SrGs&gxUB>R@TeRcPujF z`4|Ce2MR>F7kW6#-E}sMm#6FD8dZ7{Uh8XUK1eEPbl|#+Hr3XMTjl7c&|W82KEiCs zfs9N%W<9iJ&UBag^X%2AqpbPslwZ%R+V1k@QCCbGcQl7Pn8xmqXbgqKoiRmBf@?fApwH^;zv*X|6i1B2j=j2N8yCiMT zIIRX*7^qr>@`p3FcR;pJ_p;z3*KH0|L|tBwssFJ2vy#mqc?!;vpONnSEiLOZ7}C8I z?!#H<$Q~+O`h9S)e(}xlp0?Em|0OfJd)8b$RmK(UTL*(LjC*BaM3n!Pa5l@R1Dgv= zm}(^_!>SI4?)TqEM-^)7hZq*|WSyF$uj4;wy5Pr#z@4x&9o=c0`pq;jSlOoCT3+sI zIer}{D9OWI4rjDC?X|wi-5`fuK(J|EX6|sS>Aq)z4C?|1VX*a1Q6BM||3M_Rx^7B%be6+ zqein!5fYHEZe=44{_#~8*4U!UIf;+uYj;LHuBEdn_o*Qn8k)NgW?GM>7Wp?$&B z#YZGVjVs|kY@|WCN?R^X3(VDGW4Fm*1oBnz3B5Ptx6~z>k2H97$lw(U(`%sur?mu5 z_v$ehWZ#~R6 z#9C_7vFx0ld2&7UX7oA8@lej&|JWTO2gXb4){h(-b%eJV6kq25XaJVvGU$i;mx@D{ zP9PQD#OB7*u|HWX$Nf>jy|*?(!(Z1J<_Z7ow+@?3YD-f>1}J zRD&EgpB{O=dB5>h5$YBone3;RpZi?;&}WdcE55&6iOmfTducNP?^*b6sc`D*(`%kW zXQZ7XBX2U@*b3a9JO5AF3pEf(V%J?VG=sAzYlIds^vk?5w4G>DG(KOd814h#&uwtNdy|8e6c zz$=SEP8IsjjPI;Y8Qqyy+6~_fj4-d?gC-yQZ!N|T55t~nf1)n)0e6%?N0QlTXUwC9 zMt5o*oDs>mmZ1&5qmDf`9Sykz(NIr9Ud`T(hD=>9R)G|La2|0V557}lL>$gSz7pG$ zc7VyJoYBJ+rdC&1mzid6nSOTQ;z#O!lw_8aj-2v&EfZwRnKIkHadV`h_2qtEvny&= zzSeC2^Q<2@C< ztZpb*@rzIE@eavw71Ej0Wp4busS<7yv-Q={Y((8S-gq|1DcU#SN&0wG6wRb7{_obn zgY9DO+Ds;6)*66r8o|=B6VM^4GSlqMmE37@04(%=5Lo7dfbp@LeeJ%H_9dk5-8j3* zDNX*gY>rA3l&OixS+0bKJw5vLw`2U9n7jOz#)V9tJYbbxbDA%bWKMixZ2fp~zJgMU z;tLWiSqSU@Xf{PT1psjSXb|xMn_g>tohuhNcP@weaH8M;pi1z$V6K6OehWS7vAcV|2%#AR5yah_SAA1FF4;;e7~PUOCW8h^E%JNjkQ@|wWI68 z%gXJzEV|ItHeGWi+3R=JS*14OAd?H!Xms^rZqj4kzK&s=;Z87U>0}bT@ME%zz9D5y zI<03LR2K6qq;@;0SJ@b!&UdsyAj~G;&VG8j(~_8JnR#|g>Dc%0M;ffE8f2!Ax}U{w zWlY`@v$@F4og6#4cgc5ec|h5J8DtW=hwrgnD?1Sj0esv@CjptD#B}MCG2%ad!1(T( zchg*^clZ0A`}1cWe}TbH+^QsBJ~=G~i#~G7QgH>vdOgVEu6lpMbGly{#^zERLrp`) z)CmCW)QVolb#^^oWR%AGOMTj)oA`t)yZ{ou_HZhQswF#cwPig{dF1c~!c#g>g==w2 zNcvtpqE656{(ArHvL=nM83;OVM|J=|R?uSoug85d0%xd{Aw8@ezdZRBkKCeZ z!rCZjk~`UwJBx1_nrkjaHv(B$Wjg=FoivNA?WoN z+<^r+f$THBjVyB`JI+%-O8!Y+2FC&1qH@2+?13|kMI1Qsfy?TfJkmZ#e1F?8EZ;X| zm}tHz9`pLDPc75r%#6b$hsU~CYD;L!g{0Pt6i-_Exf=Lfh-yj!r>sU5FU$x94~!Gnt=4%T~mED@=}p#>Hf03cjk6#6Ln$i?!D^E^#T=u@+xaww-k z^!vX=5LEeGiW2#Y32HF;g)!%;-p=&1<>iFHmdVf6=<4PBD3$3x(~5gXREQFXsnSFk zfvtDJW|)>3(lUGD%-%R4Wi3biw_p$-b0b@5K$~_K1{&_Qk2isgLg~6WAgelE!y|U=+VbU0htu9`e5b zj#r6v^3O0*j^9wiY&_>Sk3_`pD0#{PcEGoCjp}QQE-GKu{Q&sn;?k1U*$-qj5}Wmb zwJu9k(09zhfw|+{uc(W!UcG|EfVQ*B$EGH8m2T|^v|aS?6nm6?>M$V^A$p2t0Ld-4 zGf-z4|Gga7y=x}2#EZGjrViIX{+XBV7YPhF341tgOE0%eO8S&hf5JPt$DHk9AEMp^ zp6dSnAAcV^dz6TXLb69FTc?ywvI*r_8HH?4WgI24S17Wwvdb={awG{ME14%Fd;4F< z{rUd>J-Q!{`@SEA^M1d^bv@U`U{zw3*|xc|X}Y)}5#z&ZnGkpPdyM9@dr|2d^Mpq? zF<0P(inaEya<@F*>*O`~O>wB&Sj(KcZ1u~eq(%-i@}jQJ-%@cp)Z{E&$h!aUbh-{b zDKBQ9)9Kh7#ELWa#zA-F!it%)&tn`k)B&U6i#y%Z6?Yb!IGXc7(%T>vTBFI6*_GLW zk4CPNAWSE%r#!lEVPi5_@Q-FxSpXzS9!Lwm``s@OS{cF|1n&d`;2 z7EwBne=z*)*-M=~@K`&|3(6@#3TWYh>76|lbM$3XZ-qX!>LYb4EVn zjeobP-hSi40rZK@&f5};-uDYX#`TdPsxc$pFN;6RZY|!czTp5~6QWZln6+8+!PzB+ zx&@CP!8+(S!Ze3XfcjoYU2QF3Yt+284^w7AaI+^VbyH&PpK!;;xj9QktT5HX{2Sy_ z>Vy4e7|uykQ*dLgKOvz$YxL-J7I0g8vFV7kJL*w)8AAZ zUA?l0MyYsOyPp{|{O_kPfGa>9AMl9YNxLTmT5cD4>K7Qtx@NTJvy??jcV($j_;uh@ zc*zn}lzAyzT!=pRksfKLu<^)Z8bG%8bK(K#=$?-^plVs#v=FUHz{%(|6g#G_(0hBC zQ#Od)46p5+S;|xLaqY`aNRg0{VGXSt9v&9T;(n8y3DBb=ck%`5-Sa0$@_HOwZ6yk( zEGJh#A0JM$ILIW#*{!X<&^Wn2SS>O-q=vijS@+2Qer#YjH*Anh62`UuUY>`GJNo$? zWOV5)K~$%7(HkT_;%S{xH9iAUsdqY;1TjHUOzBUy_DWjv*ABFis&B>F*`$cx*`uC6 z%}`^gnWCm~3(`(lZiHHQPJ1)#bzO!RJ?6`4m9+q!!s~?hl4y6H&O2w>&4rzdD=LF> z`_ChIRKkVDgyn=s$0c{f6St2Te5K%2uBN+dy!}NqzGRT$;VEigub-olBQDTY_5Mzv z?mi)T+vVT?4{Q}Mc*|eB2rK?Q9)iGIkb{sq>CXLCX{61qt_{368mnzJb>egiQzae!NCb{?kWL8t#yF-sL2smA&46{$7Ck zeCscWcgiOk2=$k&ZVnIi_VTHAoyaXb-*I>_W6h8mIh_vD5!+qzfLlZ1G5AJK0#20}za-b65djc`x-K4vOvM$;*-{@fontD3)DS{)fs=iaUu=0tNA1 zd@KUDK-041(GICzCjnr~d{?US01ljJR^OAvPrrA*~s@klwTN4OIty%m1}cj=MH2X70(#tt}O*lwb2Pg>3>k3)y;So4qXKJM8459>Hec z^My9yaCLQKfX7tq6OWV)vGI|?as#aE_S}2Kx2wwEGAoeFZ|3DImmxRgO#+TyYNe*; z&cL!sT|Zx|SxhJ9z#o_gN~XYpjX;*FH?qgW#-~f`7HY!>8yfxayZQ*7f0GwZ1KkbB z@yp;hTvn5{q6oU>G3%{d#>*Su$*{mF+cB7XiW!xyUx*^&TSyhQ6mEPMn~|6JebZ90 zA$7e-<>;t6O|#0ZHFd$zk`htq7NARn{sW3DcOP+QP7~6n zGK>eCf)6NV-9~m9T&yx29zo8W)$8~{@-a`O_F{B6L>+nj`4kgf6!KV&r|%)0@bVt- zei3jpwk_hWjq8KX!6OUj&$r-%HPOb}@8CE;Pm88$VT7gy%BUJ~Hv1`2%YPbZT>FHk zQohE|R8QlP&3N=*S z4LHcg(@;j|#J`zv@piLOcUqX^KX>{jB$0={K(z?!H1v&nc%w+d_)?VdVZq z!}Gs)NvQu!h(i;cX{WGBIt{<1wc)En3kCQ)m^-+}UBs3g3~HB>FZ?3MMl0=aPMj<@ zi)PH)gBEhpTH|eDAzR=m(3(HSODM+($TFUja_RlR2TMeMC#)@>A?f(VtJ=7CGt=>l zJ5&!}6gv-W_tbO_-t;Eumd3f)wBe{`Jx>5)uBY)JCA+_^C7j{b?c2BKO5jF4!7p+m zgi&N;b0Ru(%y&d6#g`Nt*wWIn@wu9?W(WBf{8CMKqFSms<=jt!Ti*E2=d4zZrR57H zHJ1GiNVB(D8C%)CzW_K_7|byva2f4@2_~(9{gnxeYt!DkRo9A=?Amhed#B5YH|Zud z(=eSii&XG&tbxYm2B$Ujwm9v3e0RI8zY*(`w)}fK40l;<3uec$es8SmIAyEJlN7dw ze3pvDPQChAGjHGMexZ8zPpwR`)=d9JcuPEye$Q?f7^(s2Z^Jh8_iz0BNVOuHQ!o~t5e!6Se^kv;j5#!Px5447)@de z<5{%qi&5tel)jZZHA=$vElDuv4Qz+u5<=s~?1RJeLkQqQjZer+T^aft@LoC-CL~l(qq<0@Xt# zRPE(_u~G8rsty9!)R0wX@{7v$|5| zB5Fwnqr?idmNZscO8FAno4K1b*Kyr1W8*p^!*u!4584)!@&`_MPVG`kt6y9vquZ1I z?1$#d0za9KhI0A)^&6a3F)>VV#2B9AE56< zr`(bg;&1j&wEH4a0-a}P+SGw>qO>-P`1?oah4SsG;|g6nqSzKh=ez11$oPmluPycZ zjycun#<(w+MStkDuf9K3i}i~F|JA*jzqL3 zpu9>_T}KBI1UHia8`Ghw*t`aeN286S0$IAKe6dpMsraB6X4}-o%lyi*`_9p-ivqy@KM*wiPzuP zoL?|Xbqmx&hlB_Z=)l(g!iOql%;KA(_MY~SG%+XsRKb8|dCOvJ7`rbZL7(v6F2l86 z`NPgE^JPHo1rI@h+m#$cWo$7*&(y7GUVSHq(QPlKtBY*wUD?M!_ud(UF|-TqDWgZj zN0fw&htRu4oZUWb(yAO)EL<}c9 zNwU;GZx!w!#_MO|7M?ku%qpTTd>WH$?$+QXCDlaPyc2=b>Ou3yAWWcM1c>Cu`ExlZ z9-8GG1tJ(hqkvt#${$BJo^0S`g>n&Qy#(-afgy<=$7`9pYGpbeM!3w90_{d7h7QVQfU~qhO zZSCZpmhaF~7m4dCt{K*w2rE&K)w9$43a9Jb^x2-xGq!(gRped=0w5>0kFp4-?Ak@% z4;H8cEl~ObS!bI>Il7^L_Gp$>{&#QVA~Luj_0D2b0QAd|ypABCxf_RD-;wXMkpO#n zwa>j1W>nph|9o~gAg8VX?YR|SsDa;2V_u-<3Hhd@ytg{{?VFx5)9`0}p7y)#cKk1~ z@rAiId_1I(kiKvZBcQCwfT_r!i6095v-$G+lk~22{wM8&4dF5#c$7qI(=0OyS=><%{C%kigpq=C6*QkB&hqpf z!lji*rFuYu=FQmctY7$ZfP?IP(;di;E4W{(4eihuqK3tjEo_m(efG~~23T7RaCZn* zd05*1Bi?(+rUI6m<)B9={$F4VDeKW$< zUSdIG*g@N(qO02_T*GWT8B0C#|I`6g-3IVQ(TK75N)Dn!?*8RZCf%cza}hSX?Hobe zjW-htC0jqD^jD2Rq3h9vob^;(#LO@<((vQvlLfa6Q0a|sWNQHA?&>&jDlwF6d75~H zCp_~`PaSlYP1g}~?k%~+>h3n${?DSTg)V7PaSc z6zD(r4O}YJfC^og7|H0y{{?V+$iNAG_j%ZPP zfPdJl{j?7?34|K}^oRqHw9ACm;RSxE{b9J;$?FP~$^>8ckA$bqSM0a`gmnman8k|M zWK76GJKXd7bG(7L_Vo{zWp`FT6V)$oOK95fj@61XN01Q(O?w(`b2o~Oz;T(KNY-Il zRrpjO_%S#4&U{M$F^(1noqC#~jG*>drIL{WefI}RHUFmtxS8`64f+XQi~|91uGEWUVyBfJ`n z`f7q+N2G#Dny;zMAD{QU7-+cXR-~fZ=2<$u!|fK4ij1obxR3{D;1Xl7x4k**z1BMf)l6?V4<)c zQ#z^ar)0IAJ^JC2eE^fzQ;u>S#a)f(2XWq9Yk^%MDWC_|FEGp!`A}P~RsHeFeMxN= z(2&C0h6_)BD9q@_{l|Sv3S!jWUW62*EcXR*!@K@jXIjLqQ**gKO^L6_NwF~fgW6#a zK({2OZZ{G(s)yE>{;Rz0Ordwfwb?G85bYBtzPy2I#qk}b58`OHup}EUl$%nf><94x zL8gWWDF=v(Q^}C{$^?3K5xv?B;ykyTkE>{iI}rCNLPcb^DAP&@4OcadYrA+{r*h}- zkeDY+*%OTs-9LJ+%D4Z1HLmHt9Fz3ujptBL3OhVVu!~R^L{I^Ok)Uzy>?xy2P}afk zvN8#ujN>j7y8LnTR;eZ=e(eA%i7{E1$5SIP_q zgfLK%w#A$aVy+hd{(86K4XXMT|8NFw5S)zCkIik{+&KgbTj2V*%iDL9_+j6b_}^pe zJ0}hb6HKmH(7z{`z``(MJeA$h`f=QhFh)mmr2ze-xU|NF1L#$^MuFi==wL9WzE{tg zE+H<{)@6{OWFqc@OeuKUoTE?;B(6#LKeo@x^O-9DRWq^xffv~ui5dkC$q9@?H~8Zs zs+W^A_(E*Xb`6|YVW0x)3bxDS`@mX11)2T7B0hg#l}a}>X5Sc7w_VtKt~!rSu{ zh#b5ueKNwuX>}=dUValW;zo$L1aj6nZs0>2s{Uj%!Lt9nW&h#W?#*;{0%A7g+1eogbz@7E9p@yhlEfTBld!yTZHT#2ipKlze z4jrKPr)d7HGOzuZc-_JiJwsbQz)48OeZg?s5rz#A(v5EamrurhcDx)j}k1?<3C!OepZiU z3Yi{C+DMq7pfRpaFJ*!^{nAeBT!Pcq=e(FzhJR`psuF!Qw|{q@i{I;hywA0&zyMjL z<7??St2B70ifcaul!B?H>`@lsgG=ieiijC+$ksW+6qthIp zX#d~Qh^Q||T+9Z(yejlQ?7N(C3w9vVhU@h|Skn;crB-aK_;y{PkT1IGsAuzuFdmSN z0&vI{HjPSVT>|8+7XbMsK z1gGsrT&`nQcJ{5_&>sZUb)5f>l7z@Fa;M%9f0Hg2_&$_E|)yly*+u8@)Zna5eal0>*9K!qiSg$=Bk}w%`k^KipvW z-W|veTM^vTmtr26m}U@sslsdN@jiR*+t+q)w|L*(era6esxPE>i0wZ8FbrVhk?=lo z#b1S>{H?Q6?27BJF#WMthi6~<+J2jFQ6!H0`W^>17`_qs<-XEA9P>iCvSGtZ{f)oN~Y)zg|r5p@{ej+xCSgly?L+# zh=M9w7ktQYUhcd<-*2%}&(&Owj{b~rQ7-ww)dI@ax)SHw5{@bZo~$svBpjFBlogUk zrplQ9OgO1S-|gm5HQ(Q39BC=-5n`gYMAQet!oIw*__5?IAdrKNOdzV*E{>%j_so_V#P4#G`dj- zaAkqv;}2Fn(yHiFS@~nyR4OD^Wmg#WFOjZ*(n{(!a&hDDz%5t6*4#RNA6DQ-Fq^;@ z+AJse?C-Olm5QF{ZKuxuO8D}z*RiFw(u1ytQ$G4uA1@p@xrM$$3Dlqz=WKUmvlew? zSM~OmMVdDPXXbuFJJ%%TaiTdC5iL@VnXMJQ_wIRPCIf8SF7D0~B@OF?Ky5DnfpEBh z59Pvjral3^H;fZdf75p1F>HbCbkmG?j&g|=KEvv%8b82yyBQ738b8;aEXx&_dfj^t zoL(dAW6a&{e7_Fu1j!4j&L!+$r&ruCQ>CFc4zr2Ig~y03CQ)P>>+XHb@AIcn5WT7? z^zU8mA;?C$eGpW)>i&JBDsyoML_ALhzh7ItfkGnCB!{XdSj+f}-<%btv@2%2NHMNd z!Iu4PKNu5I4rrV8$?LD%RSZyLzbHg|p#qLI8!tBQxcb}L{s!LiL~{i49kD_o&~A3S ztiF)395z451G$KNM%&=&MW5Ex_jvezg~6(gL*kJPFwnv+P%^WNBg}>qI`c{VE(S^C zSI#(<#c;b~ptQxabbqheG=OBaQG==7rX` zN4b40WY`tN86T{8zT}^NLS&=8y)~;caG<1zGXDLF!e*nGKs75Cmt{l`6|zA}Mgw!V z9!Fx|7|~H7e&Lh$O&JgmvGdlFs8FadU?Eb~VmGXbPTp(4KmQllG*I`#LvJVN%6~F|B6%1&Bf)U;;_9@DOUI&FK9!*cG}e$Z42B3E zuILW2@C+)w$1RG? ze=!5&`%+TG%z5N18gwMl7>g0n|U4t5<#ZF#p7z?(f9U?|H<q(qfV&5oCk0TM@|s@en8P#cuJ)%zEOQ3n=Ip zA#V6?SEAOPy>amX!47~2O}zeoPER0<7xx!GzfWJy^0ipi7=DmA9ov9>j2nTak0);k zv%jZXt_lo>k>Wym%^YOwC@9%X-URrRf~pr zt(wuG9l?z0^wRi23TwD4N!_Px7weS%o~H#w`^r1~oik&Wpbx&>A!6L@FYTEC3J3r- zwf*|Ykh$Q~J}&{jHAH+SI7VkmR*$QD1`i@+qKpks#w)T6WPm6fSgq-#z%R|J` zpdh{y!|1H@QV+x<`Zv-I&Qbf>Ij?OSH5Hy`eF8Fc#|Klj$HHt@1EtpdFW>x%rxVfh z)C|A(PQjTYTyXz5Qy@5?qr`d#%_pbQ+!i9+Yy(vp&**okksv6h(6wMng!dv-vuS?l z2Ybnt6tpJ=Hg|FY80E`8ona%_n(KU)SyU>2X;Ay*Q9ncgdu z{)m|p$ZEN>_3*HCV;v_7pX8!e%0H`$1iuiI)vmA$ZLm!bhWAz+l4mrFdNCV<=^L0%=aGkb7Ss?1M6HK4|GhJHNkf_u5S zUKq{$GdR^f;{JrGa3vTIn{5S*Anv?Ugl2CRr@de?5^WO;(j80q!KC9x!a=2 zjm=#2^;|AZG|)kJOc~n2z#M9L<+5kK5Gu^1YqdH+Ma@e8`skNSe$Q%j7|HYxHVWi5 zk@(~-BP5fUzd0H;kbnzP4os_GxPISnT)n;MAlRYgl@D|qE6>#K8cRI{mtKjmPZ^lDG186(o2B2_r z*oX}=@tO<2TDOoNIe<<~rY7jEi~Qyw~sF+)b4B%HDieZ6EUi zim7yikgzae4kHD`xNN6%H^8kx@T2!@`yOMg1IEn@W5uQ7-3e#nM!tcLX02L8tH>0H z;ijk*Wd`e(KbKKb2PdV1eE@IH8E_Rc3Kz%>D6fF2AXLo~QYW+H{p^4X^EQ7gT&9(r zvc5PPtccY`ee2P+Kr$oRC%EMyNhN)~Sf_{&;QWhU#Ulj}&l6z}JTDHHC(@{AH@e++ zb1OBRroMaBNb}Rq*g)_jQi0*V)moa2?eotMR^`p>v#KIeB$SlsyH=oCf|h@<;gwf( z3Y>19F>DAHM^Qd-r=(Mp#Ti@g!EDO~SPICaK3Kl6nQ3q0_WxTp>eTU}H5JV5tFD-l z(Bpvj0ss-HQBW%0p;TSFnR@r$rweKA7Q2oAYc| z>%9veC8W5SA|qk6a4GnIGN`Smg~RIuM;il^Y8)=u(hb2`d<4DftTLap4S;22bTp_m z&^OA3^aC07gAFWk30mRr))ZwxqymJ1xPn3?{3*C@*;~$o)#>8J$Hf0Umw;(WVZEIb zUaw3DWJJV!9;;C=S!}cvn}0iz=U+ss@>0)X#VN#ydr5NTDMXQ`$iBC{U;^{u77V#jIN)LaCU*Son2Kr_Z5sO3<3jFRLg=$@; z?#ETQ$;qAl`@E@DYL9SGIA^emTr1KCL_J(81+R_d&U;vWesmv@eU~9XHNeRR#^hm5 zX4@-Jkywbz?l!(?sod@WDw9x)IK2d-40L2C&dz`bgPt&fHPdruyW;uWh`UeHW0fh) zre(S|{rR*n8yA=BOj9xCm6}VRl@z8WF7N2k7?lTsA;4iQ$%Os;tTe#f|M4csE7bE2 z{DD6VWa}dN**kLVaqm^AvM^=MR$d#(RZ!u`f^zYoMoW{KK*rQ?n=3s1&0iX(4%iWk z#0*(%%6;UG!CaqF$u;5Vt$>>>F#$K9T&@E=R}pDS?V1iwPf?~Dd!#Z?_R?i&-trfx zCsG#s$brYxZub>6c9BF*nd%{(SMN0Kn5-V5B8UzvyWPmW5y%ZZ6SZre;ra;G7&Bt7 z*mYf#@e?_^6@SMsqn~k!N&o0NKXXLlTEo|Po%EIDh3}3XP0zf}us(rKNSqc9%4Zrm z|7|$X#q|}{1~FjWs%@^>(mlf(<4lF$=yp#cqV^d0c#U^t{M}O$`T9^fKla~c1mo+Q zE_X0>F~z6JKzo25J5Vc8=Ew-2dQi#skRsV27Q%HR^0avL`KDp;8*Fb=SRvw01v zChdQ#R}n$$6o`&Y~-97vWmeR7f>>!RRvtkO6YN` zw}=W~g2vwF>%x+AVq0p{?$hbs_n|U=f}2r9|6pj=(}1E9icelD5;9dJ=csVU2Zh0F zokP*lJ2Lwo6LeI94sR_&S*C)7{u!ide9d!3SA;q!Yy+Z8Zlahr{i0QR9HTof?$#5O8$EY5Y$V=!QNT07x6tgN4 z1U1YI2tOD<1FD}X$Gmh*M$q!3E%k4A|EH*0Oe`&@WFyP(Sj=@jW<9B{~#rF~DS(gl6 zRFlhdMW2QVDR*|(x?j_DLa<4gOz9Qe6+9=MMc<{~% zVJ?2Go}cl4nd76#uA>~$kT*<(WgeN>w6yYDEd40WDh&9NwdmjQJ@9^u_??+~g&Pnp zrDo3b*iLW5V{sf--jksQuCndozutaom4Hb7@A{Dd1{*5FFjY!8Ne$20+`df)Nm0Pm z<~qvkjL(qx=nD0V_T@raKByUr7@DV3w)7EY+bJ=r6`?b~EbCxu+JffWy8A9LJgM;% z)i#_?a%i+JW49=B9R9z|*_{1$t$ytcm9O-4bSGtp0>!1Y=Nl}I6*sKGblOKNdtR@< zOFmuaGz=QpbU&UypG?B4aG(Mzh(K;2HGr}@_xDuR`5vX&T0)8cc3C@@KPgrjrAOjU z)*Q^#U5s8mi-7*nwhRZW5sb{l+kn7*(G8f{f2n)im)09O@BeDzC{C}I3Wj} zs5(H&pn~~e$@|cN`q1o@T~}vrWp9l8Jnm#Y#a-zuX#4b8Z2%9y$g9zXA3Wq&3We`m;={?e@?zcK(C@OLDxa}$w(&DIE<1~7wC=qd^^qfH2NvX zapZC-vru5V5|9Gwgy3Q^5ts7s4M0->C@;vL2WA)Np0~th7Xz z2ZsReKiteGiyJNgfus z&Z_;c)o8?oOzFk1ksW8}a5QHuWyvDtB5@~}yi~GOSg-!{z63cNYb9O2;2gN@m6s$u zT;-X$IDI|jwLhV6*3(ITLt$E4|EIHJW>+ zk{(OE_EcZF0}_bi0*a@I{cYtj%>FSf&Bp;dU6|N$SFYWn%r=z4dc$EzxMPmOodY|W zn)@K-J>EWih`~P8pdv(|Prw5g$EXfbfia&UTU!E=;N4ce{?LgBGWJQv1b}_noBiGP z#6M-rLzVHlq?{ZM23A1D{Fl-G3}`vU#gP}=W`hF*f{%WfU6re8ubww^4&!Nh4#Lxh z&c~WsV#|@oZ8-rX%XOqD)SPE#8YUaN{`9F95#24mD!6t`yQhTYjdkTbdbM$~BZ+&N z{m;K52u_ia0_sj!y9eapi0yW66aTovx9B@^ z4dQa{!7x>=FCN|(P3rC!mkSHEt98+3Qk?5<*{CMZYh7^BQ`! z1*jjDxDPBn&(8R?MNaMnx#$i0+zk3~d{QESrMVquTFUp)6Bk_ag|7-L`0s%m!!;kE zNRspjytyBUj5K-9et#PGPcG5!a#E#mBn}OBgk?>7*EsDeK+@A zY}m-SlR72I>!$?4;Z4@>A4+twahIH;`r0S$;`sKcccs|I{P$%nP6cg^Ih$jqr2o%i zBl8X6XXZ=gEjeaa*(iB;(L{wkjDyBDWzC7M6{Cvzu>aEnIFasNxi+&v`X&k|gZhT@ zB%Q%b=^$M!-Px*)3e~Vy?87OZMLe>@&Uu*huT}eYrno9}aTMBDI)Gzdt}k~7DyA+D z_9w}vXWk28Ud1%r*UVvt2Ll-s#aaCud)RBv|?(DKU7A9vAb8JpaI!81{GAUBkoFeC%yAWYYaq_(e7-V zEWt5$_6!U}fQ)L#5=8axp&H)MSZ0AgaEWs)IaLo+xatBQ&*2`TqiP3{+q0 zHII#*g1<5!dBDifOv(3-Xw<@C{KpqZv#Rs~VuBZR?EG*U~kBXAFC^8-|vSh(5yak|G<( zTYG4GqCb5XK0GZRCpE6-U|{a7Hd=sO^;>n%_eZC|V^qp_U%jNfcd=uL_*rV-~N3+O@VOs^h>_`?kb9ZN3Hn zBx1%KzdLw8aQ@vwEx|TLYs#eGEBbU6m{#SG@ktZjK}ZM+bxc*hS>@DwOPk*N<1=Gx zi3zzVDWjX599T_s=DX!DLI+irH}4REGKoEt#2nJ((s(nHQ|4!n8Zqe$=oSBVQZFHZ zuc-gEx4gW(`NjACr_TTL{_)@kOS0^nB2+i-v`s4ip)|3%F>t3D@3FnT9i{5^x z+9j9*Ap2M6FU5h^y7?}rPlhoEZ%I5r$|}W=JzpzanAX`18c!N$6AP&6``LUUx`9PA za}K5ICrR2nH|M_TcrM`s$m`zYk3+mq3~|nTVB6zk;R^rCj=}p2O9`IYX_PQ}lK+y` zAZe>H8Ymtr>`?O7bZYJ%Kj4c4uS_^kUR!$1o@XH%y?%Kn9K9-Cn7i{0rJY+Ht$zpIGGQrgB3eB=d@+@;cg90+s}m~8%)JdQ*4Ir&$m9z zb@ga|5P2FZP@F=dKaulZ;t*;!^NLtq^{_JzEDh3V40Otj--l zNrxKT_JW{j7={4ARrLGY?OZ-b)-hb19{yi4!nG#fQd~JhpG2sIkuYlw8Nsu@Bblk} z*WrtKaY+R;H{X=-nD^p;- zkxb5gtohB*hm8mru9_3E4#~R1s<6?`b?R926q?jt`=~Q1$%5J!CZ>nt8ZFNr{YtvD zo=b5b2eStB``4<_Atfce0q~0Y**|3qb&fr`l@oHu$yD9@cehrWEDH=*A^4FG;fB=~JLZDj zMmfh^ebq$1$X0cxh37hok-UgENL}1v z36eQtJ^{qOxQEC9p;k2BU_@{QE#m%?Fe3@nB?$JcMla$tUQo&qU_6YQ#(mV4} zw2>2aR@p6>kmD=Et9#cejY4qaKYS+c<{3K_Hl!j!0h zFkB8Na)>-*?oJd`yC`4ur2RWk(N3{M zi7*hI<{w|432N;=BGm0=sSXF?%q=PHUpsqx>nR1)p=x^sW?X(tc@ZQE-*;nadCh*} zh0hV}4MYRIngO%mVJdnP`I702LGK;+%!#!<9O{SJg?J4P4?is zv^G{8Q5x^{+*k)Y}qO}4;K(t$wUZJpVl&WuxsO7Do&Ti`N@1J%|UH8L?lAI+m z37K=&CvUESVbpG5VwPZ1%!`K%mP?I`P2R09Z4uEEwMag{>zViRRjC)OJ?;nbWXw0( z6mv%Gu>KPq!MoNA+ z@+ccN&>lb$A7187G4Pp4vvp zUzx_ec7_c^#WVNo(MvM7^sP%tG%Yr=cneL}zEPuSoKxWaAz#V8PeE{|W>t9j1q5r# zRXlUYoR_DSfKF}lp6^e_^N6xQRy1I3|N7&*^l}~dq5CmLC6il=GWp``gJ-tY2{-eu zaQwL;#vGy2?R%gtW7r}NzYxq<#%|r9)okw0 zci`>OWZ|^c01n&&p2RKmswr}u6wc)RWO0gqK0=UG%js~vvv(Jp*_`xcSHnvHAs``#k6g*#^KD>ocGt<*!(e2I& zgb5pBSxR)yf9LXlzaTsI^MS`w>tA_^jPecz5Uyo{@*S-W2qoMVoWAl*E)LZ&{Xn1JIe{`<5u)U53yexj_n2PPEl1Ri1 zOF%>tm~O+iX!+LN#^&5DR|shEmXIo?{FX!TGg0-vy1|!aHu=(_@wOz~rM`M~nJ}eu zW^qxSkqiQ{;=apQt^ZuN5cb9NzB=ia3vtO+^^{VqTh?b@4D?&JI+BKdlF*bdMcHhwmRKLE_~%_G7HXu z1SaY%R$}ufryyihw1m1-AxyZ731Y!|Tp1FB1`j|n%Vo4+C=BW@REfHhO_w<*iYXDl zU@FY|9?$)G@?I0_jbqUschKgzLyp0gAeQfRjl>FcQ~`)vS}iWk9>y*YLTi1Hk)lk4 z&FVf2f^)-3ZPHtN^q|v{OhF$iH?Ih@#<94GfHL3*b3Gc(ptLzQp-o?a+27q7BI;Z( z85;Aqp>8A3<=~g&rM}ib#0^eykCPHKhe3ijW-cH#q?xS+V-PQF@lNr7Q2ps_DW3cL(l(XtoLN%R1(X(nc+-7`X*wp&T4t-C_FWeRy9 zSJ2Q;Js1=(D}*uV+X+%%A~&zo3MtClA(Zwf6nQ|0|g!(1P^aM zuH}*A*XDNZJ-6O&2Qhmn|2j-g+ez3*{7R>w0`t$)_g zxSWLv#G%fC3ZV{_SI<0zygW=}2u>8v8_@0QGIi@9$`HdU)X&1?oO*x6q+@^(dko}> zMn|kV%0+pyGTcw43Rh(81GwZQB&2q$ih{XQA}h7lj`BUjq~rcO=(1FKYu{JT!)$Cg z%M6%Cc>nYyImq>U9YoH(i4lX7o4eTJ-S?CkCE^-lEEa_z0}=>b7!b%(Bu0&~Ag*6A z6;%%e!Q;}j2!rioa7wuZzo8%r>W429f00||)6x{i*s;HHkOs5cp@=77l!5X=`X{^q ziBE%_sWHGL3k`S$n}YgW$DX;mWgv=UVP|BLzfP!&{gu8CN6DX(T*q(Hbh(Ziz4xCS z36GUrVF1=LXymUC|94`rHu%V<3AI5_rhNrqve4e^zv_i<@R`3E0vh z=V`N%0dwWh|9FVjzL(ZEr4~K`@HY<}3?<5ud&q)!pR263apni?>UcQ*+Zh@r#JNgx<;Z z+iX`%E|?Ua;q3C9eKfnH1V<=e070l7BEepz8cRd^FO->p?!w)@^N^fIv|TSPUVpd$ zdyb})4&mA|7=%^AGUi94=z=Ki58%! z>&%*2j-Hn4P|1O&W!kqQWeen$$XNXL9&Sbl6J(sm@7;9^L(}|k-1+($W>xqteIkKu zlopM)p0at=hbF+{0l5ep8ynVOPOWR@zIo!BGr|GMS)YlYV_GlTi%?v1g=2XC-sG1A zdZ{L;UgwcUAZ3AfO3nq96WB!aFa7-Rs)QI9L8&2_oGVD4uYPTxfP2fm2#CkW>+tAVXtg z%dhHS7v#jHXz@>y**($I=zVRb*u^oBcOZ(?Aa5Vx7Rp?PBClj0N0}TMYsls-k*-|i zM~IO=j|!qj%Zs)&3i=VbBwQk?9HmM?yk$rJ`h_Mi*G`2> z-2=G;(&%<4meUxS(G6$Kv6g8yIob*?CY}>dHOgy3#ibx&5>}0+_wDi;5*1QCp|(D0 zI!KG@+qQ09-1H}2h3BCmcbSS=PCFGp%CprN2lgKw4vsll7JvtR{;`r zbKwbE{ut_p$@KTSgPYll+OU~gBhtQC`QUtJ*LgOzDr$u3py<2{SRS=;z>4y~&7$AH z7K_O=BqWo^B0>Kiqrc5~_yk3|bY-0HmtO0&Ax^|urwGAwhkA<5MTRJhvx-&gKhQPM&UP;Bs)90)XskG7Z-Phovc)#$Sxk}EGH{iEUD!@IVLAv*SlZ8 z38Wf3BIRE#o-G1TuBpM9ErY`GKHi8wu0{^O*9BzSLq{kNn`dMsy!>SKYa)|J(Icw( zAcM?t1}!1(SdU7#p=0zMER74@gDS0v$s78Gh;fB~N>GG@iW(%n@eKGyaEB8z^Id|VMTBUsuJ#h~ThXU{S<=;RHSoB|Ch*ro`^iej_D zXqGlIpl@^ESMU9wR_ZWk8Q&TItAU3!2Ko4_MTSkCma8E<UNK@=1PFp{jormCtt%BnvkeO=B8VgamSu*v7r1i=N1d{Ge`nWIN!zD5|7`luJ?O*?VlF%b4 zOjt{*tLaMBMg5l&{L;=$1TMOtT~KO%RxOgGU=&sukJGxjXqZgd=X{_nOR4`>)qU*{G3pP_KDcLHnY@bxF-SBEn z!?sD%3Q=0Z!N6c9g!quKDaFH74UTU(GvR$)){EK*8kBBeJ=}+Fn zk{2?&n1~*8zA@p=XfOj_Oa-<@koIM^6H|Q=v4YPRl4MQ~@+U<3QSH!pn`@vsZ@ih? z;p2In3>C?gFDcn2(b6jGDb$gE9F7wE30zt3F%{=y5lGEi$3 zQ`5n}=AKBpWFy8*l`Bz3ER(Dkm&p+QW=;{#8wiQvI^t|2LJK1=XvQXYHjFT&*obL= z!a&8;rGl@0knGD~NU8oH`4l1s9tZ6m5;bq7Huy{{6|P@cc__ z+se?-3n?c|`>%JjXwrrq9xI`4Y{l;dpdKQUSE~q4_(pl6R#=sH! zoP5((lmy1%;GWh`7gimPQ|-qm#q?zBr~ZhU_(fq&8+HznK&KZtnX_Kjf1{nTV4d~Z z(l6lVuVAW`=~uE=0V~|Z*iQtAOhp_740D?_ENNT%Io-_x%jD-S*KijJz+iz7B1Wep zV-KGe+(jBI7Hk2#%9;L}x*5%K%4Cb52N-KhdPslfV7(gy+6oLGN6E%^k8j`2$x9xp z)uNCt1Q5Xm8Z$cLB$ZDRfwKD7%k0~qkwib%h3kj~-A%B;C0VX6-RP2Ckkd^N-}WYH zW>36nR=u>V3l%jzxwBt(ffK9B#l(CTwpn_nqB+kA%PFlPdy*}222pHLIX5NwQ?LYd zlvVr_?{{Qc+sD`stPLPSrDXqBpJh;%IrO0sO2_<24xiX;pb?%AexR4ZdRq8x3}h#- zliUqLI3S)uyXG`gh4>r_E1$gGin;UsvI5k(lx%^)Pp>|=#YzV8KbPMS@4S!ZPzfzz zXEWZVjJvbmdCDn^pBDTdfd`c~eVpSn)vJnU4xd#KFty>*$y1Wk=g;c7i228ZOcC{V z3gaI;%I-w#O4j`g*WbRIP3hlHuc4=#lOD2D4-aJ>N#ik2<$=5={L+(2knnOUqQ)Wm zwf4H``gKG&`d!ELb-pSWv%Ww0AQpy~E%=a=5)rsfo{5*)dcOZsqpP zeJdh3o~;vJ@XF>(-OWzN(M(RRWB2zZ+v0A2;%@L9ufHZMm9as;;o)=CK&s`a6GSG@ zLIcN3*dh#-Y*g6$y$P~J(vPl4B6{u5@98&B3lhOM1GYsB!^2_UbL7tIOWsfFU++9^_HOd2P^8d(dN(K78as_{2D4Dp{ErKuCMTPFOCk(7P0?Ap zi6edU1L7S4TypG2 zmkY0&(W;XOH5e14VJHIeeXl!+aln42e6FTuu{kt-y;M5ZYbws;BP>yG|FC5ozkFX< z?T9$LydQ3|c94dvryZMem7j~bg-dwnvtaH99g+*qQ34Uk+Hgwo2{)RRK@C#WJ{gN| z8T@_f{HASp)zV$NDZ0UgchkS$1=c^psmZxH4jRG&ztmKDW~0Qs_5kDx?I%pOBN9EI z6aZ$e)+`{+Q0EOR+Ws?VCo2ebpD^!9pEgbK=0qP-HU8zVbV`wb+vz@|E#?%?8%7|j z1lr5YLZ6&^$6}MH7ME;5QbN;s9*HR)l?I7VvL1KeL`*9fbU$h}7f;D12vuI?Pg=cL zxu~o(7i-7ecG>X8`q1@PrQ)khS5EEy;1TlH!s~k?zbOB2^QZd#g-EQPMB=VOSn=a> zi*8xaY#I2|E&hGWJRDwQxhF@s?M0|wi8AHP2eVl2EblU`DW-5)>aHl$fqNfy6jg_Cg(k%-XZ`uOH-Lk@2&cKQXWkX)A)E$vzJwPuX zS0CQ}*F3@9+0RKMkf!1Lw zoF<}i`Az()!WM+^5JoQ|__E6HYenZdC+>$`D%wBSCR=*g09yphRKOOW6V?ddW!>;u z>l(NX!6oq{;4MScy?%S@Qk&O^9>xW!Wp7qXJ%(_TTFcyijB65~4-5o6Os1<8_)4w> zKeURa-P_(4>E|&9r?T9s1ILMb1@nP5jz6ebSE1Gt@YcoGM&W#j{f>uSd%!W9$P-Z) z+}vURj$oIRm+(Pep9%i*FXzc<$Uk4;Nd>^Y< z1zONx;7|KXO2%==i)2e(aosom`;0c=%3N(KlU#d0x&K4a?gdo-O%<39^tx$I?cYIk ziD(LZ_%nbkD~x#VulGAZ<&VZ)I;rz3O#_o7wU!4v`DAkIhN8I|qIvApFy`v6yi1A@ zOg*yt1?!WA0P(54o9#cgJc{gawrv;N%lriXJ3o@K-liwOcqQ$#mjx@ds_NxpQgQ8# zvclXk@*ZQ4y_jk#9cZ6z)LwjaMK3gFqUTxCYftM-Krbooxry4zG@6yi*1G|Y9SS71 z)^lHdhFH*{9E~-1op<9)9;(K*%c8~koMrVj;nxNIIC#xMgEs9?;4k<%YTz!S{`VmM zDQY;_dF+&8MfANHU;b9>2*o-t%TC5{PSm&{sF34^Ni+WT?#|9PK5+f|K+JFQCOVgK zp44;Dapkd5yi$rVvd0>B9m1G!1;zQWGWK3|!ds@R9F>?LS z-ix-;yTa3ZCyET&y?6cTf++;3_geS>nc114J&U~JY2+N;L<8LSdtsAgiu#faN&0K&K7sga-$u$0*Uysy_CBp9}dH1Bp1_ukcoZ@zws=lOT8cdU&bQQAbN zG-C$p_RC7 zz`rr#`TpYU?RgMogm^kW8RQ@eB5h3C_Yl^FqrK0?<^IRGDLERP8mK~QwjQzR)s~<} zXc+yrHF;X1b}gmzN+14hBRFjS3BMF0wH6Jl$fGzaztPP@QfrB@z@X6v097n2cQZ%@V%S3)3r37#@2Ds+463aGH!6~awOsAY3!74)XWg9_Dg=>y(A4w28XHCSr4U@=}h{sGVdgp zOaZ8sWd~DL*UR>{LeIEswG0^lizpf|fn5%8XV2EUrwHM4P53xa83wTElq6|9e&*MA z&~Fzamta}uaRVEY0zqiJsv~w0QNtLN*VQXCk6KY++=iPuqmvhjoAHymcsmBrTC^vSq2;UYOm~=W|aE{kip2f>t{RSaXDsQtLf!~xQ!dQMCA>M zq>nu&(ImZb)C5F(eXBBRhNmfky5BOe(4RoQ99XiiE)hTV4R1xXd;pypG4qdK5b z26>=T^K~`#GQpT3en2)rT%0%05_gI5|NoT3L2F-M#!T!z#huVAaghcm44mUYB?e0% zblb`5D^WM<67BI{)*p9Hk)O9^JBFipsy&&@SmPZV4G=?gwcFeF@gw6so722P{0W+^ z_<@E{wIu&9ryiVlS@|d9Zgx;_<0hw(yt?w?pTVd`OM3MeMF=pHNCbXnlD|Wi(b-+D zCBI0On{)%mpqq&@nq@;(pA3Vn~oc}Ww~L&kg0d1>%AvW4G!o9z@!;s^CraC9?~zDomZsqk+ag*1P; z%u$7}x*?Hidq4*Xtj2HVzFi2&PZlJiKtAO#@H^BKr}9_yZswwo_{B8yg3XWo>2+A^T)NIFqjp z`Or-J!0{TaaE$V33N{1*p#W3V7{{`eLc5lKe3T=Z!v8D8PT-p42WUYXu^)VO@t8YA z`N4{G8W=DisV-`kqJb_p!lbn#6&w-4H{rExxD;D(u_>97jMS7WgJiT^!!G3vMZ;k9 zOd&iKL_zW|FNJ!*THzamiZ+R90wJd?@ZK;tvJ4buDResdE2hS7e2_4M1*vt&2Yz%z z7P!YnyuQD9En!P3eljfnZkEz>}66pLbu2UOZ1J{d3Yx@W12wzx^}K)yUZMC0hA#Eob4}onM*ugum1b=hc1;54;+oNotk9z zp&$U238YFixx-rvC)4i{n)J|VuT=W=D+<%4zH)r#eA#Et{t@}_jepr$pEJNtbt3Ap zSH^x#d2mND+D}=cefZ)D+G}eBsaXfB@xx3E?~Ag{dtRGoy_QbV<*8^|jN-vm?R1zN z=AScG^(9Uby1&5?Cs+AYU?~jkQlb>2lN-o*Ur@>6oC71QB6q8c9tEk!f@>Izzi*4Z zmATu1Y6j4ibKS@0krta!TfP?0c6-JMo3YaFPJtYeS+G~8NZ@HYAXH&2<-Tg_9#(x zXT)#`R^Z?P^V*3WS}~8-V1Fr_6&N>SiQVeV}BG{3w_)r++VGJZ?>tHQ@+eS_jf7yXk!T=Bs`2*1e<-F zL;kJxlrbVf?nx6Cp1{6KpvP8%kdLIXf|p{7v5OOxLTxP?cFjMnvg|+=wkc1wX|9ip zXPX=m!I3cdG0om%<<6p{<1<3oiwCwV{aTA+Gi_;k7rlvXYl^!lklys) zTMdIZS_@I8+?M^ag%xG#$pn+C<~3!+^dtUM)BXh}T9c?&+h?3kyq#-s{mkv=>0E!D ze4ot%ybd^ufGbM1Wx?f}Qx4gREhb(arz-^>wvNkK^mqPKUMfVek>R~zv+bu* z>}ztDD7@?wRA06>x9y#|VfRmUMOf|MHK_&JFXm>@LFl25wnRW`LUi(sOba<4wZZ|u zppTb9yADN6D1f^(4meDOu?`AOmJu{^C(w4Do>F>^B)J+t!~-yWS5~If5V5&DENe~L7T`jq!vCZaX>8gl%%=h z&zP+4 z;OhYA&N=Fr;m*P$`SK>1_}49hEyHDMR*Bl@xJz7|oO{^J30HxRcPRXx8^ZNeo3!2j z-S1AO^QwzV+ie3rKNLj*es8XhH@t1p@hUj4z0|Vf+Kv@~vRdpRIT4!WI8(0WB zt78(S)+iD15T)-5g}!meyDOEQ+nPyg?K;Bg!FG%gG|1ST&|UwCOW0LmW+O7DisjGe zkXoNPR`n+v^0rgJOaSGpHP$gDA|{3w*w)hLCzFq^5NS>NuE=D6bc8BNAKfgwk^NMI zV@gG8vLs?3cI^~p_~SENleD~8;YlYxs49HHAtOdIjS zBy95PZqFxP5REC0Zjzv8k3Hc&ebz`KF|}gSjE2=jBmufVHA`up-*+G1uMNede5- ze0u)n@i3xaqm!N~VyRz8AWSC@zh{Z0{|ioU;(HqX!$Nt1e#7681jUfy4~rVO(Geip zd=X>fWB>1W!8{_YoU3&5s1X68y>{>6Az1V+$|*^7nLjrIO&wDdMRk#8ciEs|EvQ^R zbUgRAhy>Qgh0NvP2A{(VCN)v~tfWL?D{;FS!Dk6dNrKb2o)CmGAIWIR7tYACt+c^x ziB|kbjlfPL4`zcyfs6*Iv%kY%#Qaqwx5&EkJv}I>XTeZ1ygMz_P1BAs<0-&HoH>J{ zU!@a3==ZK>k`I~c93>F4ZO+;>4 zu)>V+Y$wwbH`9Hbx@7$&iR^UMYf%!`#Vzt*AydMJF^e1(UuhUWEZ;TYoAQxYmf*`~ zCsf}OA4YJZg}Y1ktQa4b`{)qqYK??{<*sAd>pR_Tj)RzhG62xCP&#>f|+wDkZ87G`M&6e zp}~}~b#+tsV&I6nz+YHF+#+9EG(&N!z>!diLHqGOtiec5(DYf;KUju#N5?1OFn?~T6Tcc zld-N_-QrM(wJ}w{yB18HSaXc>0!@l;h%Wt%d<6>`2xA%E8DflTF)a3@*Qn*CAO;Iz zAQ-%=Mu`CPj4?{~tV~xCZl(};qaW&jdX=HKnc+(5em?DQ)i%>^ftUh8K$s{f`z~Kp z*UK|qwD=%ZbcQq!{NcMRnSzjLqg2t7HrUN(v!{+^$0zC{8mw^ zN30BTEd}^+@?bRxJA3FMU}OO3Av9DCU<3z;oU0y{rS>wEKu>=D5ZPKKu(jwLVR6}e z3Fxs6l_C2(7Ae_vcX5_q@sdFFs4kk5kut(vgn!6TtZvy*Yi9u>c#g)}?(Y+^YTTzz zJPK9$=xzqIg}<`;=%$-)6HhkhPP}p&jGx$t&uWTNyH}V-@iM#@c!I_K( z-7mqH#hi2!bN>i+K!sOgDUQTLAU}cNa3Gt&WOmfCYQ1k}(t@uN0x2U-D{#UV`n{d= zH3AKrsqrOZZPs@^d0Pvxt_U0LtQvYP;Fm$bjk$rRML#Gwq!%w=K07 z*Prm=B9a{#o*H22h(0_|R*IS_fNC-QHD-n2e-S6EpE@HKa!&Ie!vrcLke2UbpaH)v z!-U-wWjY#DhG;z*GuGiUz}T}z2uuq_*-fo%{TdxppEbnP$r5Tz+eUi#e2LJ@qB%IU z1a{oC|Fc?WJD~6|3gh=SMn*>Jg(787!(GcWeX9y$5<^wfwS0Yj-)k~v6iT51&g7ha zAR#RS@gIHs>Bs|mbj(e&JSh2}Y)iEuo{ln%srg~$4u%8Wu$XY&{h}pdV=D9@pasl_ z;=prE-J8C{l-vEPvaKu7Y3oCwYNaM^zmxXy|K#;zNlsQoT8!WtE|F%P&L3cT9`%$% zrE`~VbhEq!b&a!Xy87V0(uq)RANyB6Lxi>Xq)Ktq10^*|l_X0NYoLw({qrL&Gx&U_ z;XuXl&NX$+XqmW+gM4aT@lUUEC9F`#I~wFiJqFioKO_%=N4F0-us{djrdwAva9xD! zN1FewMUBaIpoPHoaS3|>8p{9$W^3g?x3=XF_v9T4;eOGa7q%Yow4Ojb*j;!~g9D9E zTG((n--W?-_kM3QV)A%kgEVX&=so1Aj4!}+$encgz{_X5BQsVtrBZw@l*lu=ij(x? z0%8A8z}L<{H=2eEjq09t!?b@mG+B^B9H-oQ{kS?m>f$1I)~!1{@{$(R{R$sgR-yS* z|FzK6!E3jZ}M&>B66{LUaJ z%Y<6^KzR%yK|ZUOyJf+OJt_O=3wrRMxxn;aXRHHMg^kOvU{Agx}0I68*c-k0KcV2ZQ91z`@hOup-)wUFo=7kM?JR zt=KlJDLF3aFMS|gJ7!5<6q$AR_w!}Bg1QMoj&Qy=(QBhb zehm4={JtbxGtG2rd(5-XYBXc`GXj(84mQ|K=A2Xh%kL7{mZIFq@{OsAjy$N5tfLm5 z5B1N~NV#Qm@7f@`>`WFjcu4xK--af_R}P)#(}q9P#;DlbEUT^m<~np~{-_aNeu*Gy zY2K{d$)Ow)^@km}faEE%e$-L=Rc^T*#WeBfFZA$g7b_fK!*ST1%a-#6Zd)G`(`Ni237zuyD!-NS5LAk1Mk2lK9nDV2ZP^-u z4+YJkxM@ivQGTKIiPPqH&|zng+|IJ-9sdGg^B%L+CmN5+@pp+VF{lAHt<5NQd$VT* z8nNd_ycspSySr+m^L~R|XyGUdpnTu*jTq`KRD_*@f4;s}vH}Nmf{r1oP5mRUzO1Pz*V7P4feEj&S z+_F2*5+1!PP&4WA4y{=XFpGaxP_(#uJ+!E(uVb99wEe{(imG*PoQ0HnFuSnua~*R) zyZ7SlZ`-O3YR}MmKi*tSwHHd9-VgYCsy!KvHW+NjznE4Yojw^T!BX0E@84PD$BqHp z`wW6rN;NE0WNKBK$>`f@2ed4Eb0&}hswJF~bS(^ky{g*mqTI2N@N71#@HIi@w%o?cAUZ1S zXvxC;kAsCQ1|CUQbiMYchg_9yUbSmlO^P};pF`a~MjQ|#G`2T;7J)IEkZ;6O=%szT z3BWNr0A~)YP&=Pta)x!k0%t;gi+}E!jja#6|5~`)MC+!n@ueh#xi|hH%8A2`d z1R%Gi7RC@0`lky#ymb1!JU|vSt%hcSM2^;gLYn%Q&yX7*vd>?6Dy#3}vGMg1&+S5b_G`ltEc z5{iQzpv?DMY0@uO$nQUx`X1F_XM=@0%uFTucpUmipnuCf)}fGQnbg*#kS+$;P5H}5 zua`!%#b?0NzxW--h(h|rP=!AB;5w4tGDhEQqu2dBuUqaNZ!qo1!S^#OuHBk5Q7Xqe z@|xR&r(g5k#ujR(%D>N(3EKRdy0V)X#p9`*&EfnadHpe?toeCD0YH3 zY*RaZFE3tCNEaC-yjn5_)kOud+d-CtlX$f7W<5>htZ%e`@aH@&RN#em;{2x|z*$^B z{u!$06#KUB2@SkUySclD}9HQ%FEYvG0%}>yKJ<^-r~X;R=+}a z7rF*7h}=(d3fb8F5A8in0+as-)T}z`T875)!mQYL(~P0_v+X*if-6=wjUQ%L z?Df&$_x@B=R0O(kbq2jEKVS>fC^Z$Q6Jfq>^__ZRRqcT1#gE-pn<0JSnEr)rg#^y( zGWom4=Ohv}4Gic2Uk>}o=S+P5@jg0u%>qZ;uhy!1Gt zCq{I97_-2@nh_v=uL9++12?0Fyda_3sNeua_mwMGqWPKE9*klkZ-I}Q>g$&C+uC0A z-Qem1`ipK^-A*taA)ya1WbzbwE3dV}BbN>yB!}b#+YoV}&lYMj8Z({}|CD;LMMiT! z{k+vY<$c}bj$dAoHK(RFbAj>2URrnK*owY|#ml!6jJC9K4Pa5q)`WkFn7||WDl~xu zfr#!>-RS%DYd=6g_Xt^Bn4iC)kC{e9Bmo&O zpZ%qK69IO|YGa>mrd*0a<#eOaF2w+Ph9D`npvnn_M{r|^ySNK&wRBP3-`UH{?MyeH zyPO@}$NtmRBqEnmn(piTl|2m#!}IU}Rvrugc!em4qLB_aQ}$fIN~GQryJ`P~=|J#$DO098ko7#N3-FaK@^KF^;DK6LxVy6M*vhZ)kv zbdF38+(DXfASDXrK=pPwAv`!Z$enjnd9ACw-%_a&<_D2Y^%J%dAikOT`&U%hSHHUj zMsxzyqRhtvTTw$B5CcUbzZCC474>51Do)xS1_9fziAydj&KhTcWWz>dqJ)udOU{P; zRbW8DxrZziXuRRib0a8MPqpnYlzB*%MfERkvxU4{Z5APuX)fY7@%vNXpfn}*<|l+@ z8VikdHmrS9V!CGGZESVgE+rN$4?}?{pK8%>F{uz!EAhzeE1`rseOMgJ(9B|TZ zKi#5yW!J#}2&;P!q>MdUxH@08ttkU16{qOHx@l%|Q#Z`M)bzzr z!!nIGu>FB0NlRm*LM6>1jh0EKff28xeHbRL>}(+dT1WRa#;fK(?C_Uw!|w30te#t0 zJ^IL?STO{Df!Q7JvslZFfU-UjW-8#&{0R?Dw_$U1b$x4S4+IDfa~Hp~%3C1PQ-Wtw z8~+y8#7vIv?h?@roAdA7hU8DZyrf2KeG(xJKXTL1cJQfHeJ$Q;Cq2Z_dZbbJl5y}im<+sCM&9%O0mr9VSlW>NDNQvv&o`dpu?e_Qn0hLe;*jYIm((B&95ud zX~l3RKMf9;RxB((TvDZ{Aob~2Ow$1^kZC$7^u2EEr(Zjuxtd) zjwO}#Nrw19Q)=n!ABrB;*Q>()Acg)9+JNuj|L|}<7L;Oe*+S8r4obi0xeePNdk@r8 zNMpi32CKHr{J_?K`HsIC$vh2@Yo5eHC@X{tatmd25Vas|hzWfc7j$_$8qv+EGI!Nq z5wY#1Qbac2TGhu>#V@b{Np`u(^O{o|?|tO|cEi#)ll%`IhhQBKzfJ*H41Ffmv2ZA) zBG=ZyN#F}5PHZ)90inSz*1~~vu?+A9xF@o_uaZcrZQze4M7)LQ%h{#SE-WliHAWIW zPe0Va-vMJ4P!IkI=>p_DFOL#D&pth+6 zT#Otm;CYbL4hc$-xRxh7K$S`W=^gf`DGlP6Co`S zuKlMu9Ya1JKaC%pcsuBgZW26sAlef3%;471$&cGik5>cpH3$%D^8JJdFuU+5PjJ0p zUu@Sm=1b^2yujowf}w(6nr~Ant|||{y@IAGjUU$XGBhMW)Q643Qn8mptbuiUgI*wW z_vea*o5;xT!yD4`mvH%Dq6`Rf(Hw1{m9GUWOc#G9i;SqEqoZ$+dk-3)-wWCnjui9_ zCZDTWF33tJnHWg-g0V5~za1g&qK;5p<^MgY`u^K&YP00ZF86RVm_MhrpO0d>(j?H`yNt}O(oExoACB6?V$WX%e84hKE9fsLqiY2}`@nCg)MJ$l$@n({3!m0u7)q{C8Ng%*Z z`~RU@e%kvB9%AEY)!4_B?FaIh{o>r0$b<39RfmosW99;S2Q z|E&(Lyn=3pI`8Ti(&fKT`=cwFlahG^Q4KG0C>n{Zt);qb!It+k@feW;C?y{b#rQX1 z?!&)mEk%*l^OgsXih)osFFKty16gf3-vuc&-1h{r4YYl0ago)!NToYOe5zWY_~8Xy zm4kc3y(4Yy)w?!qhoA7QyK0e;bkY3#)}Nx$%^oX7wUJhXAI2sr(Qg$CZbU4Fs`b;+ zwsyfW-aZ?rEiidjiW(lrAXPd9uz{BZkoNK1%Ud7GSSOK5XRbDTdInz~p9&&~;c~Ip z(8v9qs+M@zYFpJ`AB(#T6|DKQ^8{Wq(Pq;rwTmgxwP(&iZI4}?O`-COA*HnMXQdZ} zeN2l$Rne{`YN!10_K~SOBw4=<*ZfICSI`KTDmbob>Y!zWu zp(hj$F?atqHfT9QoY{`S?jWi8+O%R8$%nUdS4 zmtM?PFAhb`h+*rQ!%0d(Qlj|s8-U?fL|ab0^dD{mHzu}U)>PV!v+W|ip{eKtc#ZRMJj^4~0#IN&}JM(%bF0QwX- zi@fa7akeCqv-K44e{SDv3hA8x?j40oz@n!COW{r84}IRl)OT6M-syG2?E}zB(Od*k z?a4;y6)@j^vsIjP>HiLnkc^T%K&FuXiops)(w<>=;t*#sJ9-I=>61V{7PN0{P5ccJVhK++mOMek)GSFqg z;YY=_Usbxw2VHv3KD2sxXS^P0fs4sKr6DG5ZxllMF2aKY8+1I zjq&P5Eu^+>RDvWJBS#i~4q9qRU*%2xs^Jo?Cqz;x2TZTRW+oN@V5$l~JxTACNvjeE zf;I@SLrMI~``FFrPFl2Hm)iBr4e6KO^vC}8C>{U1Zv0UD>gu)GE#c0X-js_j3zc@F z9&xi4d@XkfAg>0_%mw8A)Q|}4P0mpFbMykn6t+^$@Hq=lpFSO{zai~9WJxjRhTjuK za*%Lib{IAAbbtTe89bEg#Qb{=_~?FHkoF?@pQzZH^<6;vi6zSlK@lhkxgoCCfehVT z{@A0s(4uBz<*JyR>kv-Noi887O!e`d_z}=S20!1$TMTG| zhie?WG6G}0o8WpxC+j6-tBso#A7|Seq9Da?@Odi!`}JX$=04q3K1S(hbJc{w?3^9fhqJ)7IaKl;Cq361blvf!-Y^m`k#epu6EBu8;o6UC9s5*nPm1w;K5M zE9eG!JzftoQBOzM+#njG!iES+DfFFTqd}c`6z%UhL#M#LGnP)`sSi`o!HV*MD;5kR zY(%P*nt;h^4Wg0`fR8?}CdONfPufP&j!&=_7`1lqI?Gt>7%4$1qTbRL+)MXR(hCXWLXER zdL~}S&DG5<*yD6a?9Y424d*Z(;_*7xQ<;{&$tMY~C?mj3)hlB3N;PzLYj^Tefrdba zk!reR z5op9)PvszQom^Z3?K5Ikh6rh~cM8|_?JNukJpEmwpz4P<#uhTk^W>f{-G(Y<)(jvB zuL&MKB=_wkQCR-JyPOnikBV4*$Fzqn!zihD6K(!n>E|`SA-fQJ+Bp_SPxasn(}>_l zrQ2KKD?xaOpoZ8s82jRN*mN#f#(>WiIDP>yS?l5@OY^S-4w>-w-OZ}+{N*>FTZ`p9 zd+)zKs9P2!iGZSS%l-6t$v{C0gIWH_w~u$m70Rbk^BzHt_~38Ker7EEDWhe5aLSsG z<$;I^>NZTuB3ZAV=Lf}tnp7yO=jCtDEeG%#y6Fz?kzWxF5OvRN@M_?G>g!y%Pd~0O z4_|;l;kqR90{x{o-O0&m+b>=-r4p{01ER);*!M%B=M$s=@9}WhKL_MKEq16w!TNj6Giu=rC&#eDROGrpKmCyK{#(HQ2vawW= zm98QWXXlhYk~)VJ?ncRkQQ~XIC2i>f7;0b7S$P^Q`FC#&*iL;n2dzIxQi!#;i_4sc3)|{rSW~XZG)vVtdGk(~d7Dj^3~J|Cf=-x_$$9W?}DI*q_TGvN01|#w!OGH&-_g ztThjBiHCRx-&{?HsJ;tT=bI_m8-akG04>R#KP(k)4bjOQgqt@}ryB`}|pg)oThawFeCB&_Cwx>rv7+1fVN$ zN^CwU6W2|k>?HWI#!S%cD)Iaj%PlQssJcPB9mI{_gB>eaB^31SOaZQHAxBYzuYj>7 z^kic_SW{$ixPN#pwHTdm{U4%s_Rh(6qUD9x)bP%8kRb3#LY8l#0)I=K90REcj-5|)I4-{kZYiV>l8E95OTwn?HG#TY@XQt zB-OPE3ut|^VY}YZHWZ07&u4gqn7lPzNwui)*(YsG{WNgXK!J0SZ7C$FN*f~)rVf@_ zux0lr-Y;eJVln0=D_nmt*IyjEN*WS<*6!!Kn+7mtf}3UyKq}CKZrzfz%a@N8V;HE&deSr~XPOnumeH7g7| zt6{=eOHIr*;76t-e)n)`c2nT0_FHT-LXEu9iU|B?s?I_ZP-gi-rVU#{pZRIa+O00* z0+Zm6x=5X@-ze+B7Cf%1+WhQ%D&XS)O`Kqg(H)OUS8G8B^XDH8}Xg7m2Xm# z)0L)ZZNI<}=Iw1k_lkr+p^;=Dul!P)cb{47%3@Ao;ezE*g@N7F9MN8R-_AU=Ztw@L z2l!VF>1xFS7DF8Bg?%C1=I|?i9bfC-Vr<}4IFuk^F=!Fj=nSlRO_yK}hIqQEY+x)e z$JLM_zUbR&I7X!C-zJ#3QLu1)sw>vcbJDS8WXf!B{@8NqP8;`wzvoLo6qBu2b?2;0 zbG4n5Pvw#y>wG7Eaq-(Z9nmARTL!f*UC6{6doallX?_c=vGa6_79i$$ds&1P2CZLt zz{Cy5dCq))Jq_@MuS#c4F!afpChFfv2}gy#F&wHMkK*R9+mgiKb6o`Y#SZ!WwHwz$ ze3s*yG7In6fHOzeU#bS78~vv@n~Zh%pxdFRxLO~{^@wDwB-Ca~6QMnoMe9;X$Jm8V zn_i$JCEg{N>Uw5e9Dq_S9=1elkxj<1f7xaK;cFkBX}>gwtp(urqGspj1lv#DPm=io z%5FZP8A!~chGp>BMMP5ZlRJ+G+=%1r@5`SlBtC<_K5Jt>D3I;bfclU2S^7*sS z9a|k+Rz;;eo3((3K!FxU7qB!q)Dc}*2y3`GRY@Wh_EEq9WOY+-ggrO6mw46=DDGFP z{nMAVPt+5Wke1&6y}xC==HMw%?=i5EwOibDKDN%+Ji+oB&0k^yD%{iCdr`(F?Ynv6 zkdj~8bfu>{41n#RTyK+HNk^s1yE#KkwT6tCR|V(#dj82?5(HA6{VAb>2g!Nw->qd%%1G{aZF`l{%m2{E~pseL&GLVOni%pDu-VNxi!=K~4CdT$svyD?=v>an3K z%Ed!oFVg0UY9!8FPa|)efJ98{2O6)lB5dB;PlXbf^hnV_BALI%31S(0H?gCkF$UZV z`&p0>)2hM@oe6_d)A>ChAmDM_w{6D(al#&_p($hR+Jz`{8rmjMH)Kl0LhvdKw#f2C zUteEG0Y_odU%=UV0a@8aTI@;(-W)UEu9MT^6nCN7*j4Hr1>csY-^(S_bNkaH4}*nA z(X;y!p+ZsAhpT6VITMo~7cF({q*kv0RS{G3H

IUz#51-O3Mjla8p%*&EB9l#ojLMHV)kWktNn#)3FXdHR${yU*JemO)xy%H*9@*-zwR5G+qBP!{PJq! z@(zW?=Tz^*v@Q^hOg(WMN|atx!S8*6f)~=TdEFeIjIGo97dFHJRdm9tMU}PDw%^+q3kEd z%(XCu_@HyG#_WyZm^-*+tK-&03^pI{k%4FFWPNf9wLul0W?kBP8*}bagGJ)-j`6IAz9B!%A#En{8ZGjHDZKe42~r&~ z(w&z6u#Hf)i9F+s@^56#UE=`_z5lJbrSiT_aOi6>hJB@<{DuWrfZG9A*dyfePg=XhHsK~uX+;q~=0;WQNY3*?a%-NjU??U!&t9N=!8Byg?#!7(tRi<}vJ+UqI=B={@@4cRxpq_BsM%KQ;&IEvz|OTYquHwnSj9PE?kF<6 z{DjXT5mBpx_7v<(`$MEBEzwEIfS16|MB$Q z@l^Kz{}(cnnVHHsm7R60l95g+5y?uj9eeM6D&rVYWE_eR6-71~M_I{{B%{p8C|TM2 z_d4C5@9%!}&%GYyoa=hOU$5shLmy?nba4)JD-8$k(Z)tWV$>DEB;~z#L%MS80Hy7` zGu~9=e^Xvkvh?jj6jR6n7_W>e<5V_uNTy-Ne_eK#;sz6Hy3%R)`F?vn*Y21Ay*#i9 z0M+H^=Q{*2NC)Y!JfM|w9{2{~z^!l-H{0+vRn7%s_oyPx$}U;K=DpKb`fB~QPp?5p zQb?T%_?|P6S3)RRdHIxm?cHz_AZi8C1Ial2yw#Kf72RgLTbsuiaZji6`xn07`4tjI zhmS@|PwmDhZrCBvR#Uvbwl)$%mJ}t?+o!-awZ(*UYOCIQGojcCg6+K@j;-G3;H9{B zA}8T+cMx*mk>1ef&uWQ3InacY{zCt`f14lt4~ESn1yit!Abbdp`Vf@yeue~c$(wa` zz+|+^F&dII$yg^e3)ZPS?Os9!D&sg_yeL0Na}TgiQr#7&-SbUSdfYr8CM0L?U&{Sr z?#9`kp*#@S%_vOWlWP{%`lH{nwgiNxzg&yK1 zraHFhZSV8vBq08b=zSKoXMY>6J$s)?PBsGM1AI;PO`kqK(gW?zWZx0kS-v^<6~CCL zSd>F;P3fQ9v?~L=iKy?iJEK@zQB__(q?e2ngyHTKxzwV=b~PdG7es{z{1wq5V^xp? z@_iSXN8CXNJuMbJLxu7FisOFm<2RSXUdD*N0sr(O#``pDh4k{>lEdW}Li{Mk{30!P zcpHzv3^}pnS;!(?8-DeEwX>g6Xvv=*;k2e$4xQh(qGQ*07aRgiu@Xj%CMl=dhXsBu zQXG3VO5OG$Tf~c#lTn)Y&5BWOFgb_-tn3rPWSHZlYXscD_? z!`B0>Y+Gg(ke}s!tg1CvG5Zk5zwa{hb{}?e)9goqO6XDgu@|RSprIn8^ZoKUxF^EZ z1rFSMXL%5kEHzXFk#o#rW=Mj}GDxGq+H)0oTvTC5(8?cTYshi*yDG(9=K#x`j1Jg> z%@ywqOQaXHfdL?+cXX5(hZoO#lvh!Sq+x7WALdo`X};XeoK^-8`5h=M@b&r$g210_ zkomcOxEn+<6!3dPj%SbTr1E+Enag_xVBEs9!iAlz_dAwkTI5ZEG)aN5f}zQn-XdrY z#a`BO+;8Z5RlxF;xmcdz#vntJFrTSy*-hg3Zylt8`Dqj$ynA9e*uK<4Lh4sOWeAk_ zg+}<)=t;2C-{0Q%@?7X}@4ZmTGNr zvu2*tZS8mwZE^_ylKW65k$0@y=g()mDA zU4R^Dvbi~_BHktchGqzXK$~{v-n%uW?c4ps^?*6d$H&LpMq1Wo;vWO_5c2x3FHArQ zu-;unEYh)?Wi)6={$!f%pAF!J$o`ttB|u@|2`ios7=&}PD%W#>&{gSj!)aF#wUq)| zn@D-cCT-~JGYl%&Q=X!HU7<80dIXhT+Q;$BdkcJQ9d~krq_9JAUWQ3f%M=;!jxT+N_HEV0VjWGgeDq^80`HvTD`Be zciD5DnptvF&^N1c^Tix3+wF~CF$v>ygG8phX*V|~a^eClI#*w`<&j=LsO0{ zyVlJ|mAmedfqn#sMjl_Uc}vncpn+nAysryL=3mJR%EiR&ioM5rzmt%Wb1O$4 zbkzSCr1XOfp&Kw(P~$xHqVV!?x8DCAA&6zmd$a~SZqPKCVE4n{37`Vma0?WQeB7qj z_@Xg3n?D&Q_-v@$k>H@2*|V=#-^0^~L0zv<6cxj3=>0<|6J056USAmS+3Ie;ZEn6I z@<(ZsSA2LsUi6aO@`g|j9Ex~*MmW=4%KNz3t{=yFW;ye*?wUC5-huJv_=Sv6P%YQN z^LYvY)Nhan%B3+fih<8|nxg!P``EIYm)CL+5EA>**=HDX{Xfcf?w{=o0YSH^CT2lj z^R>-X8O0yLoCS)3a$t+7AXdYSe(W5!;Q_&XK1`l_A*4BMuHU3-xz2OE>aQ5?B6J@> zh77U>IbiOJ=bV$%S*+HQPS65gV08fX{T)de;SnoX-6Cv~X9zad;}w_m@ZDh9e+~+^ z*A=ehh7?#IL7!q8y6uYSP$@F2)zE+SxlLvTi@)@a#jcm6cP|vO6uQ^aU9J(+^G5T zuOmvJdFX`G9uQsl>kN$b_Mqsw{@RDVk&W#pjY#ulI7K_4?i0CIGz5tlE>2Fh4p5Ex z4n(1h{AL05|I&)Tg!x5+y%JXqZJPc!%U`vUZB^sTH%jsAxu7iWC3oe{G$YsnJP~&t(Sq{u%ISu;ec8 zHR(SRxdbNNupNkAC8pw482JrLoTBk6;H)FM4pzP+?LwB%>MGp#uautwraLrJ?SYN-c zX<$nz%$ivj^J{57eL0KK;!UaTD+ZIE&nnA|XrnbMT2|!`q+3*X8rLE0Rg5Fo0M$NB zaDadam@1xm-V#j?$ z^>H1Cy4IQh(^a55O5@?Y1jGjB1rDSkt78&0!gFvQt1vL#Y)5;=hGhV@r7NsomPSqX zEd}s`>I1$Ut)64@5J>^!Y5uNSJt#T&{N9R1Oy^**2d~YBa%4L2gh(X*YWA4FBUX6K zV9w$7!*-jUpYv3A)c9-2V@d@?DHGxdVd@w$_-8c;Js^4qv*vJtFmf$3w}EC_?X_-8K1nED0vU3#oq}fFt#!GQ>3yg=D0R&m4u*pUMfb zL7MY}=xab^BcPS<@KN_Mn;L&z;6l`5SxQ(dP`XV;WslFAzMW>HOXYE5zwH9dB2bL` zHKssmU-dN7047kW5r&F*XVBn^X8BjfH@plvj3h7ckt@ zqXz=KXH9YWjv#Y_8$Ki}|s$(wBrO~TLQc-*8{G5*GU)gc74a;V=&wHgXc zpU5$3lRSZkW5(rOP*piN7ROraP3h0uIC|f6*#+U{N41b*@PQQGHAS^v01j&8i~M8* zO>PmjyAmR!%?7W^#4v_Vn&}q|oq9a~X&PIc2je%}ht>FTaBWT@9AToBT{^!MNJ}N0!lR6S-GQ3TQT|0fp-N`r7~vlolC_ z%Tv5~yyxF4>^C|U#>N!YQK%m&+HOQ;JXh?#M1-z$ebI_6LKuL??<^J-U{&u*h%A6RwtxMhS2U{OZX5~-^!vtWk+CO%@Tsb~12;4J}zdoTj8FL%C zh?v7Gngz*Svt_+85d?ArY!H4%6tSb+K%@Q2%gdb;4=j_woN2~5rofRAgM`ipj418z zOslSo->Uo*h;5+0Aa>)@1q@mL@E=x=^V|l4lCGmPvc7n;tLNijP$n$^njnt*cI!Nq zBHb8*UbwC~Of{wf_OLKd;%+nf$@{7Iaz!rh>mc$JtiRiS@>z;M^su`>s!eHCkWE&1qPGqJ%QJ0nxA z9`NIR1U#Nru4Gkh^LKo+F>m8-%nCR&H!*V7fh*k_udPb_nbE}1pFX6WdLShYQD1uF z98{n`wst&1{l^K!_5IlL4}>+3aE9(Fh1v<4?Qw~dDB(Qa67};`&?fu4B_97#>^fP} z?4-G!SX*=m?6jiEk*n3mYmVZ~DF#|eL=!Nj@$HC?uC4i21aJN=1I!yoFu#Pkh}ue; z4hRD#+6{b#S|^$Q&lYijWxa}x6%Mt?*UhZz$5gK@Udt@ECkv{=(|94Sp6OO z(V-@(kIA*9oxPS=uCVRT*%!hrrY3>-oZPEh@;Ci1uYVInRxcrIm*@)Up*D~Zzi1FJ zzSFQd!Zj~?#s781&VHF$MzMuB3(Gr1`}DUARMC>?-}O_4mZprWsGP7FU&4jp#aV7WiHz%u??JRHC-c|a3pDw7B>FJ9qvEokI$%?fu@GshV=QHg0 z+ML)>*f+i9e?| zIYCsw?Zk;r|icpZFJqhh7v5f znVm=KHd8BI_6JH|?T2m;j%F5J)B=5m(h;>D#o8yeAZRG7sj1PwpEe~$)%XUjO$v_K z4?#WT?%Vc#)&Howa@&O)D~eJVW)~GQuIK~Kg00`W#fu7{@PvZpNpy;gC0*kf&vE7+RPUH4jD@YAz@KvnZ&xt?t{`n|0joz z5y|_6o%)-ohXq$nn5}A)37zCXloLs?K#`q@Gz47QO(iN;@CFY;Pp*t;h|$$EHwFWMJ~8w9V7Vh@Lp- zXc?p_SN#(cIkwr{G)$OKl!y-*`c~%rO=g6)=nxs(i z6PUD`c)Xb=#!h~V!w|9YMr3X} zGiW{#5u&))?u%6^&?7Cd9bur+c|rN9cb#9b#2JQ2*Z;DL}lR~DL7^!;b;O+`KO6N#!J)!(xZO3(iLX)&F^Y4@2B zF(N*kXtCF;p*^x$F3!%uBUz#1&CboFAUqvhpajw(s2W3yaPE=?be8`1kI8bZ8~P*Awb#M71#s0YiU|)nw`YW+ztVsSbVAdAo5n=xW|O zgK5ab1CQSpRq(U@B1JPz5#toAAP>=raKFuUM-2f5p)s)qI;`3}c1H5{rcRK8ZGlo*5ZvM> zch#%vpI%ktbOmJJfB+n^Nz3Gh=zH?X1rab|cP&47 zA->XHT)5jQw!;Cv21cvBs7qKwNP|6-L@*y${L}zel!ccy1L>CkBmZcT7Lbg5BTGiy zQS0chIhM4z6wokv1U1LBcT6t>BsEFQh8cKkEAULo+56`V)Y}UC8xQ_$9kSc(d0o9& za4O^ku3U1%?T`%xUVVz>RbSd_%$SdBxItJLxgg|l`>PFK5U9+=7@7utNan4XkK$hh%ZLH0T~t)Gvri(C1-^Ye;G`)j z@hG*#-y{`(V2oe-?n16!ftJf1U0bn8vx8{o&xbTt@6($4{_0tX(er)h;94lP` z;c<0QEo_c9gKHPtZN3~`W(rT+Y@i%l-D3`|`20CK?l@@&Vs?YnQl_(nVI~yk1Q(o` z5%o?Qe%^LUa;u;53KamNM4-pEyUANz?#Qo$fB-y~h7LmTC2^-bhEA6~r=wt3x^84d z+atT1`H~-^6h3)@ifMrwVx123$U^qW$BtF8#M)Cx7Q+F`s;f%5zoAGcLrzL+k%*tM z=H_{8pDy^%=FveBEcx*AF`%l=VX-KL%+R?;%)B3{a$?iI9l(Kj9=Ru!4>U>sF9kx_ zxh|#OC$nCqy=W-Qs;4Xx9s7YMQtQ+&hIOX}h?vz*=Yn&>>h8ZGJxBDBp1B1UIEv$b zd}s35!Pi7?EwK=x5j(ov){xACP6g5C4b5b>x*zV`CQe}itC}d2gKB{inNP_oLDvD# zE-EAx#A$ovw8sPxxCJr4!2<+w!rWkRJ`+IuJaA z(ipyqwEUab?1v;_DYaLHXFZ1$Jbghk-^Fe88LS zgg2M_$Dw z0N@I%(VkNT&EhHSNI7t`Q9=*22=V|FG?SPSUF(V=AVpI}Wv&}`8)B&ZFMvog1WJs~ zeDfJzr>f>{e0iZ3ivYJ(v1%ko?{f{9xGd_$?xnS(udDn3iVruHFgmj_Uq#xQY`uV^&zhG61F1_8Pd7W8MAnT_)FXG!$fyEse8={m-e)Bi96)R}wiHlm1IGZGs$d1vAlPxGw8s2=HVqD1Hii61KM~G_)?C ztf|Z}wgZc{^W{gXELi&^6Cd75A-eNDN?*C=pkD0U_SS51SEju<8eW?IJY=3)>U-K) zm@9~PoPAEDt3tmIZ@KvFFd{+yz+y`EaCiSL6BFKyPi@C}GQAXVy)sXN9Ko{)&lK@^ z(|KeT6a@=~9>%sW^?xTIhGctySlMp-+#Xcbs6uW5fHg$(WjjDTRRB?h)){m$4e)gs8PXX|mcak#N2D@an0shjRnW^%4EeF0osO^|uK0({wPzay${{1>_(4heh z{!g+7MQ~?|Mrx_cm{nC4zzwgWGS2f}Y|oP|MR|Guo6@r4ncp(|VVMO*D$l1$Cx2Y# zSN|Y=MbRkY;>kDfnIAfbciH`g;@SP7B^jgl3>vw#>6XF}rlX}!RV?E> zkQ%eqwH-uye;-WD+GfR7!X{AilYRd_@-!81hMnTa8UE~ees$9V+F}j4_JlJ1Q8UY% zl@w{J?^!giKMHena!OKIOd>%P%aqizTlCC;KVpqzql~k$#X|T_eaeMJuUd{ zMEWyO`5J~sJJ~zj`3_8_M9od#1QdkjSPu&LP25Injje751N>-#1uyTz%lW7NrfQ=e zemzIh0u%C!TjloGOQqhWJc3@cBS=bu%ukpHdzi-Twu78+_w$MQ>+V4w(+!i$Pw5z&w>_gCMomGr?eku=1 zjbLO2kCYyB-;WQ{%YGaeH!F)~+cjH+zNt#Qoyk!_$XXc$x!rG0yLh5W>YCjYIUhep zyN~|;A47;39m?{WdAnx{YnVtu!QLZ+QJj3=Zg9;SOTCY^62pBvl6TX@QseY8tYnrJ z7EjZToQ6EF9%_+A&6A1glhHz%_KTar{k|X_MV?j^7CQCAd&8jJ(*Qu!IHqDE!&Pdz z#M<`J{ReZ365hANCg*Dx_NF1)RvRfsHqL8kM0q`J%a8zOdt#%Os86uRG8GiWZ{E!O zFdZVEws{d*fUg9tGjpPK?cTz>zJQ}F%yl#g6Kz9#xl3!)5*il*N2-~?u@_4)M$As; z7(h&tL0`2HzGznUev8#GvL_q)L5Pr3owuxx{8iRMDYv7wpxEu=aj6!n|J-Rb1v zfD)dPtAY_-l*Yp0#=i|Y5Cpv+`iyJHv*WY?aWqT;-6fDSP1rn$+R7}NCBRp!0j-z^ za3Oz6*e~8GD9|E-6k_rk{`-}FVnmYo3R*yiE+^Xwnb3WQfbr_a`QV!s&8?BHF-OuH4p z$BZdYA;3jYCPL7PuNB+!9{bTU+PdsD`bEiEF1FufFaC*k#$s_sL&7(zs~W*`x(RwH z6Xr4Nw?*qIO7rcF6H9g2!Af?Hd;wR(F*+%nD&@?{97b49G=t4fZAY=(jh+cayeMq& zGX_W(g)Y!Ne)t&%q@J{M6x&c$U%z{VIJ$oX+J=y{fFn3B!sZODfS1T@PB;q}3+qm( zD(E@!F9w2rPo^hnG&)6CI-bx;nqE7OCb)%sd`b>MzGr(ACdg7k9tK4)yu2(4hkX(m z@tMY~JiH#clfue3)p`5WGn=kjW&dk%Qh?#u8NABMA!0^4Aizn4t*+TB1I8cCmH)KoQk9FqT}B8&7-`b$9No5dH;$aP*-Y zL+yuQ9ZW{r8CnZ!+!$R{0C%H^n#u{Ip7Jlw3o~HuP=%WJvg3`c+d=pJLq9DnEq-x| z8t#9P8MUsu=jGo_a+blS3yv=-!uwlM@v-~z$-`XVY+S}K-!X#Y@7OO3ab#@@ zBHEY>^tEo>Hx^$zf{Y%=rc#eBV7v=itkA5xM>ZXq4mFm6ZtPHG(~qVoB`lZ+i93Hg zm~d2@esIPw2G+NHF<3Wm^U%DQ(FM^O`zjA6bbMf^{A4pVyO=UM&x>vF1^jLwJtFSh zzE=XveIXLJ5-@0JWaKvl;UlFd{$#N;G*v$!xY7Pq*igx04kdE|qwiPHQS(d?u-n{-OHZ8#5*DRjSte6Xe zSjyEg1_u81W*fmOit$ur&sFQu4hSSQ)lwW+)p`ZeLfa-HpT z@XUzcSe9Qf=R4Dm>IC%hZ?%3bi$C@`rbym7fjemv zftx?)xlyrMNGHVim|IP`LE={_Imyc3R9;f!PareXs2BZOpK?@OU)0o3RysRd*8@1K zN^gnOB+6nqfaL%8I<)Zy{TTrmfdX00Wf-i0+|jSX+fI=H5Y%7kDF;E0$Y3S248z1P z_)|i`!kSWthYD6@pq>C@Y$%a0J)fM%z?+a7bLw?LK~7E05t6C1A{e27EFN3lRKv7r zv9Hr$&na-YR(|vcjHRf08-lPlTPPal9GY@2#;)lrMG`1k42~|0vXp@LCXG^?kN>+Uh$ffXfl|&F9D-cqO_&|TqTHZ?dt+}h}IMf zc=Vp>wPbCWAx7j=F8`(L4^+7E{GLiJ?_lD~SeL;QTl0szFDWeFkdY(zd!*oFDkZ4} z`Y&JS5W= z6tK)HeBC1$DGvTOQryEg!vrypEdF@dDz$vPB6FCm zDpq8@eFd}si6rpUzsy~h)dkYOY(<9k*(a}K=czxNn(PUM3v>9f(nrLEy1J%Z5pkt; zue$10<1W;XVPDw{)7i0rGpk!BMPj@QZCu-gNAYZ4MiP?At{z;XX?cZ- z#lXNEJ0(PM%*ek%$JYfc-Q8v%clX1d0^0(gpDa~f0)eRF?F^nGRi67$_2TOLn99q= zv#=(dg+(2tOD_syA|oS3!d$+Y51m;s?lgpD$VOCv+KhZl3deXRvy6KqQH*8VH2}Eg zX|~ClkxxJVoUX&&jtKpOtjjd_&O^pG_(|dHx_Di1SoMok+zCR!2^>@q(fH8%*8f1_ zYU_#*+ow+jE>?=hc=EsyL-_FuitcILRne*z+^rXp2DfyqlMDd^B=DmKR#oTq+QrJu zo=A=Wjvw#-5?|kWgJ4HKk@!G~w_!b*E6x{_6AXg3eu~G)7)&A>gUgIRqkyXAb&6>F_c>Hfp&`8Q`}XaJNKnlQ6IslmwLG(i^n8xO z;>b(@s2EIsN)FqlPsNpq=(1DuCeT*8fB<_TwW~-VW67{ z7)Jy*Rj445E`#P|YJO4fp@9|PNFSjIxC@ojMd@EvI}Fb>Hv?zLH&Z1_1Z1+S>+SIn z=1Dd7`G<@Qo({4Rl0rTnB%e!{PYykgEVqAfc_ha@myBlArfu#y%U=aAAK<`{G=$}J zSfi!<@#wYr`&V~b1_EbjPVUyic5pg~)B0EbRo3{f4vK1M%-K_d)M`Ul64f+H{yje z%Fqm$SMd7^V$~aez0_Qs);(_3q4NtG$CroR5tAtw4tTtd8xlRT9@s@% zE;yEMv%e_`#+RSejqZwd=A&18WMl8I!<_5wOUEz<;FBGMW}1D^8iPl3ml0N2O2}+- zW9fz(J0l8NcyC$JSz|GEPzoX2sVDY|`PbXfgrHaUvVokeoyHk=0d5C@;g>UI@PKOB z{z{Ty|d#`v3B4(8c?KZmOeA6u5 zP$jpY<=86t@atJP+AWdikc~2&q3(Wnh|*VjIr(i- zo1+VB@ng^Y4eCl5C|nn)Kcu|8T8)LHwft|eN_&q%GRkkDwGwr;T&h| zE+kSopVsEA20?|ZjJ8*l?aeaC@>0^T?kp(yKB*FYDc6pzn+y5ce5{10`u;q4-#`Ez zeqf~BO)`+@twms>{k3D!H`{ZOqWS}eqA@b{4~b_1Vv?bcU>Me6?XEy}AQq}BJ%7_f zyC+2?##0W5rT`^L=sKeqdjq5Xt;EPg4jSC$d9H*Ct26cZ^# zj$q&0Bgo<*)K)~%Y_XAuY_!eC_oS6s^ZmE)N?+YXOb7v-I74Kfh%DYjU|cq+vSU@} zPin8ed4GP20=t*jHND*$F#V+8ymO-f2Ei=s)Izeg^rx?ft9O5TX&mo)keOf*MuZPj zsRtwkMUo4*VPi9>n0Oe+hZTh7-)ahy4^as8Y{Q0CXC?_t77Ha%PbZ>l64<(jNkfc{ ztm@B>^6>2GiF6!kl9I5Q8a$)}i6_de%7CHllD!Pqkm{w@qr0F~xQRqXs%NL0Ag^TA z=>SRPQfs)AnGvDtieLI_SvCHv$t~h(6{qR+ie#I}U<3Z`pP_aJBNU;JrJL5M$TZ+q z#YEc24-9Z)p^i{AN%4TA7(z4x9yZHr!+#N?GWrW)k~pqfekCHKBwdrE_T7HJ4ZfC) zuy6-jXBUW`l-B(hi(_CwzCVAd6bgSVM(W;^B$eWqha$MlstePXX5TgxfpU`3z<}*mmFuwV z<5dHoN`-M3lzF@2IQ{MfSB8MZQ84LUW20L47yG*Y*5}is@!E%6zuRpWwVtltpXvHB z)D}jO@Su+wU_Y6E6YAwlYII8ysIwQZvxhfX!gd1v5*QQ(45c)G$FB&pQ?fFetaeR$ zg4Qf=(jyF&Q<21xQ8eq(By~<5?*tQ0Lfbts(X^l4p?F7XxrEBIV){$@RU5N{hS5h~ z;ntXfg7=kk=b!Z7mX_vbct5*(m+)iBU+`=7eL}2l$9%4h zz(@6l-(y0M?jGtbcvCv=A`k#Qpn-+F`u9-n=$7gCC0=J@WI{4Zca7u0Y^j&~(A8A! z-IbO*a;ZvqTPeYyZoQJBrdmtd$3^|k*z{|SJ zhAXi7^%g!|;FTZ(QFKZQM@!i3(-rn^J2U+_smKI(xSe7AzQV|x^z?Kyiz!2_@0=yg zc?{7K1lf%)12l16AK%R(lHtO8P{0YL-$f5ukUF}tRM_*!u$2(x9$nw=&q>wUU7tGY%*WUd8I(c4$D2MA`s?EvCc@J>AkD9#p; zknMv)kNJ!5-FN^-^i|lS*zhx?>}~wa565O%)_KsLUFwldIEDJA{|Z-7Ku&rzd<-TK z0gQ(k2(wlH%=-4b9qpM2Hfq9(-yReGFI}gh0=57mC%V4F(%eBKcxC5oyRTsz6v>*HBm55-Yjc1fpo_$c~4TD?Pu=9ont2Bd^3AFAkf7h5aCNz|&&R1i zrZ2smi&=Rwp_uS-^v=>d5=^&*$=}$~L}UEAYN+y;hWg7}zS+_t+;zS$#HSOHsAHaZ zB@N?GBxXnu%>+0u%o`vZKO-gi_B|l`RH(-esfEr@gQ9KrG|i&EoV5}Q^jV7{wy3pp zt`(7k7N6?nrIw!xHWlGbJ5Po$jko?@-sBHgGdJf8XUR2@8*s#uCQK%{Prz`O6!DLt zusLw7jbLCRdNiR8DnMnho6a|Gu$fv`7Z-O8?^Lzpuh4lU zYCO~n=BVGaZ!!pcZ0hHLubxOX^}OO(&UH013O|BGn)5%_x?96}!0WWFa+}sAnC|4| znG|%=v@yi_-@nhg06%-QkaZ9P7o`T(1~bZ0AmizczLH3!+7VS&NXX&fe@#n2vUp`ghg_fdVmC?}6?}kU$L#PIx zYZgD6YJM-B(3^NH2*{3yTAVi~j0~XwrJ!-B#>;&6*RLbxE_EaLN|)N>yhz#IB(B^@0d-{J}TY>li%%IZM3e-r9D_2eDJQ?5p4IqmHw(AuqmEAnvkPaJpG z-K&7=P?3hn#)nI&vjY=L#~46ZX-e0TX zx`-2sh9wW(9Qq^{4F!wE=xQ4(0n&oOU(~?P`Umz@ZKXBRx{~Mi;aE)5+T*xXyItFX zUEa2Ymf|P3QpoI=jpDx%@Z<^I#fv*ExGaRb1d4z@j$sw6lbYW%ejYv6cE%0tVM%?w z^)RPMpaFfB$Ev&^&b)l`<9GYl`a`x;S?T!!$)vud%lWj_0@cNfGew??=!Zn)jaSX% zw$fMW>}n@ZOaxw6ke81?8;}1EP6KHtXxllr{#lAR%Ejy)dXH#HXGS5ujPd-V->Bua*(JyTJAp6IeqKZ{#UzK@U*VW}qG34GM zj83aS?f_svx!8%rtp5S)|CTb|1Uq7AmS#E|SA>~%4@i<}qnnb3O+CZ7v;A7D(?35c z-|e~ldf=Y&>L9I4|6}CZ$XY;n8LhU-WAg0A`ESWcybk3puY@&^so6hkw*v*BuNB=` ztGnXP5>?GXz!HpLza_Bb+`+>TqK$Bg#FXA8gdKSL>B*zoqy^m^p4&eQ zG)LhpA=nHPkKl@CyDsK-LxPOaaLe25n;wbZLCy{JzZ}!#ljcKOv9xv>g<1>s2D<8 zMyO95HV|U#D2*94H~QQs%Ltw@Qv;9CLe_<#zZ$T;Pz`+BVAnbwJ=M%=T)ylaURu_1 zyaC=t2K7(J$dA>5Gy+2tH=_I8fd`T*vW4l7wVglvL?R_K*{1ZI1}628z!t~FZ+Wv@ zVzhzt#^RM+5qcjEJF|061*`DER9R={)>6tF&I0Ito_aB|h(>M26wTIi98`zbJYQse z*e?sVZ)eIkC%G9?Lb|WXNQ1XRR8P6a{m1)2?Vk8!leS9$G0L%B59myZ(tTs?PuCdi zH>gXrX!H0CX>}-dSTLU+4mH|2P4e@l7m%2lnei`ATsSWy?MmETyK#=UD+^cm;MXeD zt!>A4-V=*pA?M|!*fM4)|5@K=Wr`Bx)PXe>0_O7_tg&NPPbU6V$MBifcuuvHW4&d?DC25GRvlVtwetc=e{l2@|shq2@2F+r+g5al!D*NV)e&9BcUr=yMb6Nle z*%$Y}uVkAF$J~V^A4p(?+gM957pZ+bpSBOt-9X@28l8#qOv}8D(g9=B4^_S z#+wbdpHc8l3O;(QC3hrOV>>d1UjBjkS_OJ%K92P7+G*-%HefeC@yk2C&aAlH@r5Of z?xPEmw^vNTp}9SH#%n50aB=VHm+>M??%1@=^GFmtA29xrsh0hx)K&%tv4j+mjSQF; zeoaWm?=h$WDC1w2xL_#?3d_iQT0N#1jK<+^b;Jula~2lg0$*nYOhfzM2L{rp#++PT zi_%Zs%@GE<(12a7SUI-rCYUX>3WODEOdCEFCAMgkY5$)Vpfd&@qGzW6n@6Y5AZ^LA zoaBLx3TdDiTLr*hp|#W!99AOeut@yg07x3(qt^_2RssQS{u-nG{ZapPWm`FJH|0V; z;&y%xO)rD;7G4sh3_p{E#8A3rv&&MBnM0EH$VJQ#0Rqp0-PAhO0NedbZbs~r>*{o| z_yepkVut4k-^GtW_)dsJIWZL;@keY;QV?2rkpv<`N7?8O+{l#au7_QSO zjQ2&+u& zT)|&)j=M1XM&4>3IW#7L`i_jPzb)$8xQ1IF338KqaxDuP!ypUDB53cKdC#hf4LJ3N zH`Zc1c{-%xg3Z{K8>E+}}kP2Y* zuKaiKBaj540Ajq}TPYld?59X10qq`nh!z&WHZU|QQ5>Uf)W8rStG-aO_D|^_?kH*m zMnH%^utO+GJ3nAVD?SqGaT<3ks>6&!{jo_PRZ6=JFk_BZe;v{VVLuix96*0M;9gcx zU@j@UsCWnhWk#r;DxNSRQ=S~kyC8Ca*jblB_*S4%`+Z0k$@DP^jfSt~4-Bo8tjZ_C z{Uh<2)GV}%Iv++&PhZ*#ycFT}cAx&|(VV(Qk|fY|DBLu-0NiZ76v?M`#P56S=w$`G z{V%BtgwUf@PkqjfOW^d5M%p345qL9TQ9^?AB}!$`!#@4DUqf3r z%^N(yh^0FkOuF_AH3<@{B|c^95iINa0)JRp)q|t(hFqM}PD}vy!eTUzBBx@*$pK%B zFnhXpc7JCBUqXKod6J=iMoXp&y5TbhcApEm23g`a04p(GCzCb;&8(2cJ1RYrI5g;5 z``WChJQVr48W`J94=e3(dj6B(k$~w{=ICFFsK5g_z7K=4`aypQ9g`2PJ(vEO-$=Qr zgfJqU6loLl{3vKYTA}B4(3=n3PENteK;AitL7@3*NK&&CQuNhl_mk#`Gn{JQTcqM} zEaNgr8*4Y^Pqfc8l`aK)?FWGRw=SvJ4XzDJfbri7YL@D+!s0xm?)eYruwdk(C9AlUD4srWsf8lO0PSe1kOV&!gp66odxapwv}mrfyHU$8ys53K4rb1tGEUp!qaR}e z2<5=%GgIxS4!4)*eby>_LLh2mmZRq31p$Nxcg3H9#5B0-5fE z6nU2oz+HOx-P4uH*V1VLx@E$sv#(7?{=!$FjLy1^&rRD@%$zN;y*Xb2ImxaPUN6`p z3CSS5$rKIur$vKz;1p?3)sctzd`g*nKpT^c!5eiNvvQt4OTa)>wspb-mP(XkzmKwfUkRCr z&|{yJq(^~QZg;G44uUGN!zg>~Yv@9iN$Bcv2@6_%w7Dl#p(77m{{FKk3E7;lqb zzSzCvXmhgJYdvmS5iWUy6u@EWaDD{^Cgl%BcNrBw*J!t!=04hvp84Hw{~?H6eO(r;=O)cZ-iv34o0ZM&3+N+h+kGD z$Q-r@m+BM+pFbr_w<&VN@zd0o&!2Ii-6dxQLq;Mv`R?%o%aA7L#F?Iv@xzc5Kpv4s ztPV#h6~Vs;2;=jpK(eM~SEe$+V+O&g!blP&r3mA)c+*ina#XM$fCr7Ff%G`Gm8QWN;ngsm84+AqO)^= zk>=iw5!%w9k?yU2l&P1o&?x@(pg=<-DeL^ZiF1%J$ITFbl>ySr$cQpd4E9YbP;e1X zyEVII&u(QP4Ze^wV|JA8z*+W-HF|U*oMQ6a)_>xQPt?( z4S$caE3?0U!__l7uG%uJcdpa$a;f0M*->$I8bKrqPRP3`U z{ZlK-;tt!?+bPuUC(xtikN{GawwVdUj#gAl)k`gh3%We#mBltzvS`(8v3l&M90u1U zCF>U7D<^S870qJBIcr%P$-_!D^@u>_b%_Kcz2IY#q~LMI$R~K#10yi2cUn%F=UQ}v zI8v+>e+>hF05~!;Is?--&l(sM$F^8WQu?Rk<} zNNKad!))*H@_S%s+;nID^Tn~!;>ML{F@wNQEdDva{$r(cwE6MIU(riK55EfbOt{{L zGneUc$N{K3GIhG!4}Z6AFA0+%{n#abNqXR&LAP!N&oewr8XyCJK8ecgi_v@w&*6M# zMczOK93TI}U@QP@CzIN(L|on6B%!Mw43H{q=~|k#j6wAyAs+|wW%3<3sUf$)Ah`(+ zSlfJnt@W{?l#PtYlw*1%ykam4@IB!FZ6=0)QDDn~X?|O@&-ZuXY6^!D6l49MuOln% zL&7gMN!4MzC2_?R8#=&Mq0I{men$zRk`c(Xg zGND8pWnJ_bB6O|O2(Z~nUVmc?OUMiVwIIb~m*C@i`JxVKq)pp&L~Z#JboglVFC|qt z!qL<{G!zHk6hv75SF%2DPf~MMO0d_1>ep7$U)iK+tFGru4$FGA(*5(B6euVYsCw?OVc-x!%niwD) zwZDY3+;bJg(*f^A-eMfmVLQMoL_QR*7kLoJ2Tb1oW9mJ?ss7*p@z=34LiP@sSvgiA zqeGIF2$2zvm5_vtPLYvSAr3M#q6pdRR7N;L5=DrNl9j#x_j!N5zw7#6m-lsvEAPC< z{k-qT{TP!n=nf#q9~>6*K85p)CBmTydJiVTG~t)uc@FI)CB-1W_tY5_Ko=d5i}gaU zDt0;@gX%qa)J+%CQE2JPm2iXLM7|p=Q`&NHmw}Liu%>IUN%~k0ywxzms-+dELx^k% zGUF_dcc8q7)rF2-DP4L&89{nshr9Y!r?_}bIy``z&@W6M_^PnbDr0qa^k!J9tL)HHoc9IHhA~Lin^a$n+ApDua+`+ z)UcbtLCXa*cucG-iY;Lk08$C-aRGi2D=WuS zXix)(9>EQO@(z2JO;Z?`lix>8k9M@TN2)!;qUxo)ce=tE&jbbw5V%LGXTg_gYyZH# z1I^M2jbBRSNdK2Fx0%rbrNxp8hQ2)O_wioVKq>nu;Z98e5cMwohX4Wep-4*iV4c_Y_MYjUObB$X#LK84AP4KVG8{l0xy6&DB+qyo2kb8YKeb)(TFDBj9o z9gcG@%$h3lrLWIqj~_fqha%iLm_v#{nZfuWI_L6z5Jy4q0QK@6!~k;-; zriX_|avmPPrf_@eFn%}TQb*%qbXJatkJ&?^r)FeAI}>oPyh`ryUgpBT1BNnI3UXT& zrL8JjQ4_!C=TH9d`{4u(fA53s*(C+~DFY;nd>L>`-M@bwN0fk@3dhNbMY6zj(nx1? zRrmYtjtVIVdYPHQ%B`Y9TMk*ovVtpE{l%W}soo)0NX@HjM?FL`#d0;I?3x>A;GVd1 ze2^Ra0b4akq+7qHfzH0vISzJqyD(`0#|fB8g5k6i-u^8GZhZ=`hsB@bFRBl|Bf@XF zWn%7UqwOl0d<)GFY`)|w(M2*a8Xoy74Jv5}dq09V(7mgB<*|wQFWN@2n*h08mP{=e z_$`a10;n0zR9ZXIOPo#q|4m#8NN|^eAxyQv$lct147N$Ylt`RDb5F$8!vl>Py%G?6 z1idt1R`U$FLh)0zp*U(}v_LLX)`mO?shK#$u>EJ+PK#mtAAI4yLh*~Ti9^jv@O$q0;}0#Y(2 z(C;TF_JH|u@8WuZ8fR%;S`2GIM?2e{NT(&>p??D0r{&drJ^HhU$dn^6G0))UFNr^t zeSAFESOzRJo=H9w!3%-UC=L1^wI=oB-dexzh{!uKo7=&{*vWeS+|tza9xP+g{l`P| zl*|lwYqh;WtRihY2AHnh#_j}LE}Zb!9_6ahBam}p`tcUdSd*gC zwEsmWhVQPOLi~^QQvuM(v*7n1BK+J)790>fiE1Fi;Rj0u5N}*Ku2Du0Bapv;24H{6 zzt0`SU*X8H-0FB>mlHI0S8jTiqLubp%jbAUyB#LhOX)F+Psz_?0U01w=3^ItRL}^U z^{SK8yv(5@q(c0^Q$5fdJon2L3A*&i%GJ+e?i=rc6TvoU5Pu zX57za8Dp7ZS^fiWlyhsro#*yC*ykPkuS~W@GgDvC)wz^(czuR>P(`rSAK|ro_qc%X zKhime@VKT2JF_6(U{lu18SI0BvE-w?tiXr3oZlKyi7= z-ch_QSjdnq5_keD!j2NQ+bCoxeVuTl^or`%tGm3TCkvB~bq4%z$!?YkE9x?bnVbW6 zeXx1Uu$SAKq?2uYqdA}etDjuwFsESPi$+A8QeE0H7*Jy;d|;z-`@Yi3V(bdh^rs^D zR^d|$W0jxbYn)Rjg!^FL6F?4JK4JxMvd)#?gi#ntfx-KiU6uUAa5}<@nw6eB(C9z> zA*g~>%dcu6YS-S>Y&SOyfB*Hbm!Ns`Byz(i(90;EY<;1eWHmhlA&xMux&0yF%~rVPZ=*ictk_;JC8&0~TSx ztE=_|@HBCQA7=YWA#-v7R9+qjfmfaYkAV25@tdT);uPZM z>S_X$pQV67eol^7XaM75$TzCfj`B*7$Bcu**ATR_Tb^wX(vAa)d>(oBvKRt63$(^B z3sS)5=#5o9W)0ksvdql=eBE5OT@~tyJw~uo89P7W-F6i=f5nnupI0PA!_20`mh#l- z&t>-tyq0)YbOtCs$i>4VfQng~;-9t~AlDVX5<(ApXG>hi zAC?BrulyRhIqVW-d`@{$V@EQ0VufeIC&ErV{U~53uv&yGaTLOoOpIf}RIO}C)tR04 z#Ia7Iqr2?_Xe*r_J?)-063y*%b$tKR8`yyqpfKwj9hDM$It61TTyiLWVqoySah|2P z*y#7-&p{_}OR9s1+e5>sLcU_EpWzLqPJ(NQe^o2&W`M6S)%3kv{!89P40?cN%DP)-w#h4n=|LZ94b-gnoEdRs*{+P`*TSuUJ^#PCrBi z21V$%=8Jd5X-7q}=>)!f`t|Z)yIgDnDDN=8;5>%8zJeI4aZ3GyTHS<&@S-uro!s3% z29=%Z7)eg^>6c(r1?xrNAAvXwUjA=@{lMP3gfAD~4*HmkpBLb8qP)a9{kXinHn$bi zIDkC{?%FLaEvX`)ruSyS5yfSkhkun-j(t%ie``w>&63+Cs^-WUaxlILVF98iY1I|IbsuYb5VcXQY&DIS4ro zY0CQf#k}9vG--a)&O*v9BSLy#nfs|xtURMIT=?fqlmnz;m>gv|{Iuy-|VI-cuA>NG299SnI`b+}gjA4IkDUOv|-KiUrAW1;?bn*nMr9%&oo zzj*Sb#ks1}@mZ$k>pqAWM|BTsnE_e7zqdpPRdP7jH69jZw8eRF_lsYE!>4lr&R>Ox z-%f~*Zf|ri>q4RY#lyjd8H2uU=j77>hGl9G&niwNq(&CJv$=z^^XQRFF)V8MQsX}arf>W#-@3Lbo}#;w{}n| zMF2VUCxa<%MEy~&l=Dol+-eWfd=7J14|ZsDPE%!_4xpkNq7{sHo+%@%WguMDxfE{) zr>(`wev!~KEVK^~C?@JIMf|!k()`+V#efw%Mq@AF(9h-JSEuv;bN(d-CSG99sE@?M(H~4GLg)4US3}1j_S

TVReI_j^^dzG^N6MPOl1}CCn-3c+U!AdkzgIy}XtCwkX?9{Pgt6%jKR?13I`I4L zyhkdtcE$h*4<`CfK@;djwiVhImafGcvethMsW0a1xa|nu@894=h=H|XULR#M1=y6H znMrlbe5reb`XfMb@yU;(MIJ1TL&x{`Tgv9z8WZl`dE3UgWBqlQw?IrH;nNtiyXQhG zJx8(z6c+fZJq4f?yh-R-^8S0&t0O(mIH7j@pXkb;2XQL5MyL^cuqOBCo&8RJcUBRy zc6Y#T1jvXBAC5)8Yib4(7Phs@QK&X9g*Ful&7I%LYO?jpb4wc{MKDW-9_YV1S882% zE8mQ-8!{wxF&8~YGT$6-805>SQq$eNGTHWxC-TPYb5($$;DaO=8gPRF z4+0S(uhl(L6u>~liHby^G=t&z5boZ+&Arun!S7%H9~YoEudJ*rRSPh-<dvXuAzlDiEkghm0VNK$+LMWMl)cbZ-go zSS_S*D0f^h@4>8z9B(=9oQ7Sw^s)8_Fzad%0!*@=*M>CoF^5M8FoKYIbK`Qot-rse zB{TqPxQQA?{X&ag+=%-)wp{5LAFa$*88nX%tjZO?2T|)8$_M^-K_sD|o8bT)FV@6h z@_!5qN+=b3fhqh0&ymvFbiv$ixJo=Q0U2U4x~IRAr2?|N7kbYp*a788sCdOw%)UkM z0BR8ZcPZB2(FTuMvg*iS4BWl3sS=vexUlN_k@xDuBKH^|XaZu2c=dFUXcFv?xf)5Y zwIFQ$IPlxY5RhH9e|oMO$;WXtGP38aPur6lN^}FGHAf-Bb+bc>$q>v8BwzwM2!f4<7p(D*Z_^t)Doo2EP`u>vKEFnPB-C% z5GVzSskhV(2Y%mv$@T$szgO=PR+75iKMm74oIUz(c2x_Cyx&=K^TNhkw_)~gp`Ykp zTm}8EB)Dk(KBg_ziLKPRZz`X93^khqNbi@B3OH<(gmzBgOy?h)(nZe8Hg8Sd@6tJg zwyJRI+(o1;Sam`p#G-nOJFLEE!C>c-m{!U$lg(?b+e8ON$ESKHg!AU>xnkO$l4y#5z_b!zQO}Y57ROao z@RO+K)E?|*2scFRsnJ=xB=ZZo(_QX|_j;`d=WlP`ID-1NDRsiZ0%f&E%dK_d;^qlW zR^`@p+Ph2UWf~pV%6M!`X>Hl!9{(<7V$GY-QFuiAhz2W+a|?U7x}ar$;Gbul1r(Jy=p zvRpI+q)1PqzrR0+{jkj0YRNz}QMQOuc|6!x1x9YF36%kbA#=(vTwt$K0-hs0#Jw=> zob0x8Et5?Fq%^4_YXKA=S!DLm+b(&T|ENT%+}G3`FBFZeBHX{!rohES$9woM-FvUw zEA5X-fg-eU;G$)!zqY;}_ubYouisUaR(jc8fxG9IH>-&RUu@fT*i~rLKzDdNt9SQd zcj)!DGwip0O2jr>6=FvmF2zS%U%0iDN6Rqd=zuM@uB{WN$pj z(Rc4>uUzl=$wPHbqi_ksyZi4Uf(TLoQH_*jifv{hOu@vcBlO34=B!yoA`gn-lVJ>o z{Gg#$hGXC{$I8nS&yDO1F|+8^AE08efEefT55)6i%dMMNlWJ$RgO)cP@8MFo`6Ku~ z=9Vv6O5F_=i60}Gk*I&$s_=hJBIByt`*CWv6!T5x%!&o@0Hf(pXNz?pxzTK&ylt$=CQIS{e#3n8Fl8e)1vnSGX%{?ptm zw&|Curegj=^%wO6FGIc#U^>t57WTUq(D5Phw|EP)^aR5pYWi;tfZd>S13!b)KtF&a zv_5iBaD-rZN&fBU%Po1U2);XsOQ=&09n3sC&j0wo28whX42 zx1?{ZCP#NSttU)uu4jE1YctBF7+&`B*W;lHt`gJA zqNl!)KeLw$5JX2pNKcVG06$5`z_~CzmaNYh#}~!)zJy?EZV4h@lM!%Nom;ozblVdK z87gTOPwiXDoKgV>)q;!PWto&qGAYnmXkttlWEI)8bC`e@&^0X&yYF=uc)SZ(|Mz&G zcms`*DM%DX*kx?C%7~4<=d#?=;8_QEK_dN-ADnRe(;qdgo9?d1!1SU76O{Jg$)bhX6;Y5Z z8|xQ(5sl6a5MXcg=Gr)Mhj8jq>VQ8PcV)+eH%oQqqGiQ$_EfL&J5^%9h zWKzyg&#Dg}Xtou6@Vl1O?QFbkkz2++#emt4FF9m+lG0ytLmLe20n>~6*pPYj)#G6S z+J|Hi7pjqS8g$N_^mmuewdJ;seY-)YbOnr|;o>y*y2)wTktz!L|6Ot)@MGYY%+HwT zkfAzC(LF5>mPMW;p+1{n{Hyxh=+GX}ZZF|nY_@6fU#~y%iS{!gt=CAdo&Q>I4k!rb zV<48(X6PZ)BtMpvI~5Psx_*~g>vi+E)U!l$$5;MV%HB^}E=xwoFs$4ORZ;M|LyB}t_pa0D;#l)!KB;ho zd3|?C{WyVL5{wx zOY@uN)`Ab!qaN5J^t;~f3n)%zKZlhQC<4p}3gY$hD3G4Cx3|AMdLgf$H{12T1?j4$ zx_|wGMP?anEW}wGQPtdUcP&`@8}M})jDPXNV&5f$jWl7Q-e*GGad+P@YJw{)6xdfM zQ}I!ASCOj|gRTV{=h41NcxhOO5_I&vQ#*@dtKZ2-02{nM{?K`>F>pLospH3 z7Nx<#+T?IdO+CPC(Ak&U$wBj}xDxoB7ODpA!w3F7cdiYcynN>xN89yF$&Ry8b6s>Y zwe~k8yD5BEdz2%i=VY+W6q+xf-a=-dq9-luNq)6SrIkxJ(8=^n{w?5j*(^7Fr)E4f z$hXeMmc}eRM5LIxUm1q}Dl#RASl{$+t|f;h%<2u6;@zMt)No0(O97=wGc2GH+$evs zqWseQ@M!QhPt7(uh~WdLA5}|Q#^pgy^y&WWXL6PPcAT#&;@<^KPBg5Lj{snF-Mp7vq#Le~c0?3!P>(kdWtb@blY0{Zm}3e#xPVExC?No@iz`m@ z-%fuNw55Q7CY%P zx>-|xI;H!^nMLIyE=6J^T~Sm#+}SWAOL48w8aX#PBP_HOE{i>9?Hc!2X?JwY0lvTO zhBpw+#IQT+cd2(jF*8H+;1Z|o36|xaBZ%aZ;kB3~<$s#h{B`_{e5)T0I%w`pHM6ul zyb+*m6!h;$;;|atJpBIuJ!tm>)ItpbWvdB$H?f*>?T*!~CHF%x{al0GlQjG`Rkr*a zvrO+w)U<42g^?Nl=W#>5OxQB;-|o}W$h?X7;f^cN00g81?Tg@MwO+O+yDFT?FOQ>~ zCbwmiu15v;D)jK!3^m2!dnH+E-3R!E>eKOPV7+cYos)b(F_9-l+}pQ{g>m@Ep-V^|cW< zDar2dLOS?0@nz$|AgfBDr4SR)3g9hJyW@zn5^IyF+9qkHi+<}Z*cfK{@w zddPPKtLyKt3@0gc>V_p$qAb{rv0amS^UIf#Pd|ShbmUNFXGSogZvCSYZ{_T|E0G_4 z$-zS*jXVmke(hzyt3qWGK!E8%n~O~dK^qyTUX~GAmINZWN&jLQ*C#$~L`aM1WOp z1dp#TaZir38SPpoemy00?O6<|Y-ZDaGugwv`j)R6?Y$f>;+XynMgOMeBlb_^_C^08T7rlDM ze921xH;v#4Bqi#_eEriX_yqp}b6W^UsU1a03?@U5Hvt(i!N4W`VPWQ7NqXeGK*(*M z7oLn1pMS5FW8Si8YDRm6CM~_b+p`w?<2TN|cE&3fC|-@aUZJ48*RYPo51+7fmM&>| z?XB|nNL_JxrflN))bFVS#u4NF{x==AjjIbP2mLjHO)6hvqL|`zUB0|1(na$ZZ(OM{ z@Z&{uh4>G^o9?C!^8v}ZVB55dm06lPJM;Yz62OCd@%^hDJ*dHq(j$}ZTQRu5Sz4NW z)%bJod3uSJ54CnG%x2xd1DO&lopdFE`z zjCeWEoJ2Jq!D)!pAoj}43)q>I)NM$BreV&hs|)XExR+;N*h%E?i8J>II3;S3 ztMDLz{)g_iy^O_0i^suw1%$7TV+m1MX$rBl)_sY*Uo&j|H#A@ zA$Pv_EtW79uzW4E)98?k?LZX1g5&6JfsE8OHsuf1g5fgXxLG++HAo_`Bg>8c!W#Q{v9FSfvl5?Z?F90{uh5Su(JsU0hAp+K+Xl(P3rZKy~lP_#;b=O z!=50u;^#eF69KNr#aJfoY%@u4i3`j!SKwaf4suthWR_lz7f^prdetvu%s)0h!UIje zG;KxT*SozN_J>k1rjyY=)Yf3Ehufof!gSzOG=L)@DC(`#eSl9;q@PlSQBK6H^?M~> zht;11^W=9&1PMf#rK&x_$zM+*9SM%Y55X*Cd_*wxv4QA$0UT6j1@K@T$TTW!xroV< zOz9r5o#>fe{nIjJ98uc{+J%O|jE2+&;wfsm4Dx4fRMhY_5jOY6q-| zU!51|+;>(a5!eq5T$NJmI}-T;KF#zDgE?ewZaHntP}$4rP|@wxqzuA4cEC;1?K6D8 zS!;-Tl*VXom*We=b*r5AKd@_oRs_;(XUNL_DOpT;#_6If`^n(I?l%wu{P8?jMEN7U z#p!t8h^sf#L}3F24g9eHI`F6@?olCLKr?h?_lFhCPGF{lS&d_M^;uUK=-~rVqodO3 z%GA<-*=mKT+Hhmj}P?`^W z4D^MAN|Z*B-+XfFc7csdN#srwMj_|h3G<-L68!c_Vg@2PR0s1a?9Mm{bi_S4o}MkZ z3t$h9F<)yZLT>Wk%Y!*xVdl?n4xZ;kN>MXI|PSy?A?Jy01xd;5U*U^|msc6s+)gu`2K%K5hfI1O3*20@-ME5$gmkDQH0 zX-gtyZicVZuZc5`{p7Ta=q7>?%7Dwc_^okrd0lA`6S_<&*BtTy6Fc8hhP~UgyYtQY z$5eO8pyG>G zo5d!LU~4dvNf`P3`JV}xNGahGHrCg3%6(jwdHkMJ5&-;20V`gs7W;P(WRWclOqWwC zw!SYqiF3)OxivLIhu>Ogva1>zc00nHWq`qXA;z;_3)8{i(ttvU!FwkjqNN>XG?@E4 z!C?2QbAd;MZro3sp>=sPJQqB{5E!7p!1E$$Zob6nNAcfD7@V8RK8P@mMMWkwa|Ins zKw47=R0Rsv_Ky;OtNWOh7cCu{451|Q#YVqZtG_Z#5Kv?;+6&81LcbS=fssC*JwOqz z0$I7#d>qpJiFgtB$ON*FV6&zk6AsfqgAi)3(M(Gi#wj{cA55!S^l|XSpRP=VxI37q~D~KTlGXfalZQb zxCNx1yCv*Lc~S%UaV}BfIX66BB%OP7TpQ*-6wJ|3mAt$l5nc&rjFrcGBB5qd>>vK1 zQ;CZk`mspgIgB0b!45+@MN)p9|GuOdjz2v8SqZbY<&1N2+;t_WTdZ8ZgEw~IiZcG zI>e!61Il7?r&CLBj)^!dX_LCAwJ5JmPnR5nv{;rv$r6jWcXSWQV7LdWmy3%SF#b1A zUV$r7HOI{k#~uDSM9Ih_Efks&4#$s0|D8%y(H!010qpv)sjA9+Cw@f<(IA&3uewhz zBauH_InOidhuRWk4iUy1G-q@=Wm0&r9RzHBa)PiR=*GKR9T7V^sxZ5+-x>jDEGJcJ za8rQ1m5%5fwl|U_0=PBAs!VccVizt8PMPi~^Hus;Zs~g$KyuD3MQe z6lAc4%u15qw2>(kO>iyIOf>wFJ3~J{Z*X6^LHh1XtHQlv7TnYnI*~%C~OA0 zUa@)$sy!&H@6OmCG8KV6#_sjH()l9|VQ
xYbP`l99h@b#A;I&hL84al%PnMUn!o3XkYiIrqxXS5=cC?HyAx=nEe31k=E=7#m6|{;dqf$m@E0TME@vuY*sK- z9F8OU54idI^QTrvkQ)>@5?V?>!QEY9ms{mdbXNetu%VURX6HZ~T*%?;2sHuM(c35;`1ngk-i z>K>bTWh0YUS?Me8!%?L6YS*v{K;ZlH_aAU`f<9i-xLE~v&zE=h_w6$wFlclb`b2T} zymCI++b%)b=#tW_vP^x3e0U*wjkMWZUk^<5AP=z1G2yHq>EVRcm#X@6qcX=Cj;J|R z1h!CWNF-VEg`y|iu8_zA&j;w5?oQWrJ=Hbjk7v({{3RyU{l~?$-hHq*65_P5V{Js+ zx*GPhCdHP z9+lvUk>O0f0bt|!+XQ-3$%BtvxSx5K`LL6?Ug z96)POB7f~2QKMSw->=g*xB`&Ua35zF}PemHwC6b=*``NeYg z+&D+$!-_1u3zYo5u%H7C0=yjMmTSfV-;e_e!u6RU66tUIYDU@X*9+c)t^1hUBDgmd zrf|zPF{DuGOWXRz(ZwW{^~KxE(MaJ1iF*X1?RPomQ#d1`G&-}2Cim&U)2#Z#*qMZz z-`~0&s&c}1wwkl`w zq^{ygBDONqFAQq(*c_KHsWu~^;h0svIl4s-vxQJ@B0iAKq}-|K*$9~?7vVf9QqHy0 zxvF7D0%;`HTra2TfHW)PWBpf=d#3ME%z+0Erd>mFtFt8?hhG85u>C+RfnKe^9KYt2 z*EMXGSZDh3MC$1amuCZ;;AO)SP~I1wYlYG-3(azCze$^5J`B-Q~xQMkZ^_I6Tz; znTIs1X*@jCH+r;x?IeSO5}qdG9BC>G9`2qffcTCQ9|A8 zH944Tkvb6iGeTr&yN|?lKT*8yWwcH9zrG(Za6mWnZE!2?qLDZ;_Ez2B-ceez)I|OK z&@t%bI9h5UqAx{XqJ~EBfNVku+ngD7)(GQ)WONg|@u#2n&O$09o(Ig^KM9)WK|rIc zo12@@wM`~$r~r=t-t0!SZpcg*Sh~o-YTnCU*D-I$Se*3_$~Lel>s9-iKcQ{JtlIUj z);#BjZSuI-AU{tNV~3JU;-f>dW%rILWqor6*^DGJh#G#n03OgaW#6TEPXV&W|Q>H8yA&)_$g7ZA;*j&f~gB7^Z5<|lv^$H+^2 zWowQS2H~+;;*^L`^!WOg6jM$y;ZMlU(&_1(U4@@=W%lkPd;;SPHAk<9-fk86(Ayi#k(n7J`&UyS^+f%3 z<4I$>1G>$ut=FB5mT1YO+LBTTiDQD_$<^JRG~=W;bt($8&{Kh)~dsmwx8 zNx#9lw>nS|`VHhbY`pK2Pw+T?6Jw>lb|m|qf+2`;|BH!1WgB3IiWgG11u(Y@THdwd z=uee7n8@S*j@J52>BLW|L7F8=IRZ)P`@t5Kbb|nM!QbRY)KmvgxhbIe1Y2Jt|A@i# zxGiF;Wzq5hpCMXEB}%rn75$ zC&)yMSo#amc%lTt|HSm*`ud+iV@8%wcaW6R@#vfl*3$VMo})h?~lb{IGBl z^Mk17mUu6ID&V~;`kp<|mx4s6ThquNfMZCqRQC=wDKne5*O(PaJ+XLgnN3C4r!Pbx zWKh-zv-?fu)zn}jTPcI(gJL2ujNFe3HOABwXF=xPjm5F1-4M)e6Tkh|<}j{^9W^Ln zsgouOX;xbD__ru0Dr@jA8z2TVlcK2w^It8^&w~dhv=oYUXJ0Pi3a`f5h>VPcf%-u>atIyTg85a_I4 zwYI*eZYFH}5b!kYS?W0pN_nBuc`#ch?d>>Aua42j7TU!U|0>oy&Sb$@BLI(W><+Zr z;^oxV!{(bO>gO~0?{tVU?mTA?DC8RCXE`pUpfH#7-6;p-huF3-4*mrqfPw5=0;x3} zpobz(42Dj8s@39aP#}z#zR)nAMu6~{3H{G0^gSb*eoIexvlF=rxRIxwFX#}k2g<4h zBHKvRoLcr|P|+&^g?&LG_3MMMwSt&TYUCb*gY@)M_YU?>M$JW-zDxpVAnZZ3w zkUpCYVVAP>X23y3TX#YPv;WC?rHKM+ZN?Ve6>*2RgXQ*q?&86FVnaC7l0a9CZ6232 zJggLg7;(J8%~k2Mti%4fIbu7bQ5`%zN@<-saS!oa;HErwOOOKEphC%4R!~6y{pAFW z*Bf&g=qBC&ht`-u`!QbhU0@B_I*kK;c%+8o9eM9-{?SZAPOz1@dj-S; zErcYsNI-Eat#``B%A!<^X<)N3R%UkT@;i&J{V!(iIsLq@W|aL9{!lozIcBQa4JOsPwIT*2Gv}xWEAK)pO znbCAr^temcbTKDhBuzsmNhrL3-`*Wnd#t+Dh=#^&^UMdiOgnIMDeVv8P9wh$PXZZf zr!V}>SzSE8v9o$X39&*T%4iG|53;vO!4G^#5#6dd>@65;ZQ0B2-TJNR#jDoedi@j= z^S^C100>_sfvn*&-!s_fQjl<$H1f=>{l6{@)t>jraQ~`blcZAiGi5IFcxhs=&c%z} z8=X-wrn_gi45fMi?~Hh^UK?s+)1*L10eolFS!qKk2n|tl&DYCax0)Fr^Q}iorG{z0 z4au5fMyR}hjroesGPvr-xo=Dt=H-1Tk?ETni3VZLQEeLN`;+uV*4EZYj;6&QKD#QA z_gQGg>G~2(*lx8%=~vH7-`AY*jh{MkW8{DhM|t200`dPSR8(kLN^dY*6=k4p+lfc@3gQlj> za?C%+1U3=1T}~w;^twuW@;A^i5qnSMei4cE8_9+(Yh#{Hg zy7H?>7jFEhUyp!Dk(ZU9&RndK9AiwiB7G@9i1vGR)BM_ivA{}03H}V2M;MDHej}Us zb*oNIRCf61a&%20N)w2aV$Y3Qi~^V92Xh_dV19+t01mZ!`hjO~A(9%Y+vCx5uiLJl z%Enka-!nN0P|~KUO8n}u>t@-GsD@3*zN|@ShBPZ}q>`edy0s_wnU@ele=&NF8-XkV z!@Dvp+ESHL^Iia`4#5sf$vtP2@V??zYSO>T(s|gCNQBQ>=pUVU2o(^_KI`}ieg`2B z6@31YFLl`U?vkBY?>%rrB9~6{oL@M7@7UNwtlCz(c716H<=7Fx`f*X&d;cH;sfwdQ z7v1yU9Yg1Rd+T=jt%>-T*H^2Guc?ooLW2-?D%w?$dH*!tU=bi>wrWo=ishX@r2-IE zBZXZgdjlgJkdYv!_3!E%=(^%y>ZV7J_xJTJ&p|e+G4~(A8W@cRwWGjQz=&FoIv_uX zo>}5hTRE|FPk{L~IcXL1&A5?8dlZ@Y=^pKIRP(D`tj*=i19XldwbfGd_SgesL~+50 z5$Wxz6WA0u^!)WcxqVhUE%oqyzRLbf{}0|S&*EMiPn^C1?kxi3%T=9fhaeLI>|h5K zV<@x(<_@aQ@Z$w-G5wd>h~sr3yBlS+f@!GZthCc4x92ukNtPKt)XV2m3{%qiE&vBQ z1V*L>ZVToL4=RCL7?Ak?96XXkY=4Ity@$6*4NUi&DJRCE&cFu}U|Ta-ix3)IK#YIM z>JPjP@J`%&SwTKwgebqZs>IHRwn!i#wmXRmxTV&?DMn4s<|D`+qoof4xj2}iB&NBD zjbP*(~po2hAE8(MF@hCR4yY}{K|%=O#?Q{e%~+F{{O8p-u)GcPuje!)T~;7X21uRkOod0f=o*2HHl+V!+2fW; z?=fIv0nG#u>Yd6V*8=AHhd_D3myd?-E>I_TPfHi6?R`URDVF7Njws^mn;Y^tYsBV= zJ^%8fi7sLEMZYic6N zuTD+pbrUlO-{VA8n-D3Xolba^4{Rk-R^6Ve(YByMjCi#T7tvc4V4oo;Ty8#(s|bf66$$8(hPeM>9fv=f;?Q zBc211uE>Z^yfJ$1xwJfSWj_*lo{K}uSNm;4ID)fi&%O*jt6MRzhl zJY^}7KPvYgJ8li3PrG7go_!;b#Fp&ZYP9wr3)O|r%)Ur8+F3mjp?K0B`@P<8-ey3d zfkXPLS*3wBbgNoe8M5p;-`V)ueeW&N8=1<6t3MOXRb zbk7g|?a7ib!0()_3ZFl@Be!iiKaQux(z z;6?2{y(rU}u(5|mbyt)+%q)?yos5O{YAF$0M*0&%p`9c;e>c?mvXuG8Jh=gD4L@f&b_=;yN9ZS(Ts5QQsC+~tcB z_mCHvc?Mv*hObBgH5m$4Q_ro`qxB?!7g1KMo%fRM>I9$0j(btRE0%Y#z#&Uh>KUBOTDJG&A9<_%h-DMZpLW`C5X{(NkNmA)j5I#G{p-?h zL;QntC=+SXyrg{;bBLP?;JUD!tt9_1{7M4xx<12$;(gXT+vHK7reIcdSW-G^&YTO` z7wXSc;5B3?c$Jiez+|sM`S=d6OQ=#h-`kgQ$5dY=38nXB9+}v5jCQE6gocR+LSW;g zZUQs4AC}cE_JxZt^;yZhA55uuy=$&kPUA9w#LYNoD-9~|Nu0SXyb(Y}Z2r6S1f(Y6 z_ykHE?DJ=Q`doL}#eZ7FX(h|P@*DxrD_F&r&KtQpw&9In|CeJjH_KOQ@~!Wkec$St zA+Eg3k+Q#aVj2J-!jJ$AtS%fVSAMN-d!bZ#i|D^6r>a_3@+OB&bL#9(zTM0d`y+CP zpm;H0C2F_Nr|)Rv%9t0>LaF1Y*1Fl3)m6gqhLExfs0lrlhfo@K#C;Ie0;~!xnWlbV zvs)VEV*d2uueWWpy9k%@R!)=f%|wQt(XI(gsRH@)N5OjL#`m|s{aEnK=P@JayJ)Y^ zEU@?;SbcQJ8=hG{l5qVQfq19r1vLC=;CFEvnxS$?jMLx-gP z-(-eA^|q?2iJRc5nJ*FN{z!?N|Lji3e(N=jd~e2s<_X=5JBR0+oF#=n+FdE+&lMws z+XC**0|VrUSe)OX_02jFW+1vB&z*wcbbJsJ+j;)xTZNf;?m;Cu;`Tpj$nC~O*{2nV z5seGAfo;aQugUwpY8e6U-Tbkmpyv*v;gr69Z)RFbHJtb*K68YAEv#rbiH>h{{ztw{9h5sX=)hn6_2DMLUtYz?I(4}N<97fwUB+^fBM z;auvro?t64Hj_M?S=06LP*(I@Jt=*}hgzK?#V$0^0w#1STrU9c=R$P#X)aANBXX-k z$T-D@=kScmQK$#DZ=^gz6@3GA%fS|C7T^Tgt8eVzS*LFMfj<+>7ZT3&IEv+S0}2{w z)AnlYpCYC95LI*wE!+4u4LUNq2$dW(;RWF6dHAbsd)uoPG=im$GZu`g6blsIc}f4; zNvj~`FLkB0laIy>M14=;#-Ydh;P>N#fD4e^nV13H1?~w+2%9GQNhNA!POznwg?c;; zh^0|%jP1+|E{-de5;S#7D$nu2FC8%+HlMQhtdVO1LI^mAjxR}a(z|=P#bMKO%d+8h zY}dpXYC1Cw!`8DPBn!XW;V`sxc5O-S9NBt#yP(c!w9JuJ^?(ehGh+a*9{AJmX42X( z5DZMrl`Ol5()C0{Inpl2!Z7hGB=~*08X(Nr z4#`Y^rLC)NB*JTXG*@whGRz@w+MSmx(}2BB8f<(xtz$AAI1@i>dOdp+9KK$-2wC(r zNN?;W26I~!m!{ASrrVkRqBu@mn`zf7Dpq{?3Qu`eymCZw;j#!(DoXr3=Jb%C?|seV z)-ox+5e|R(7wfNEeZ`x0)i7P+WYe%klIM5q<04r9+|_8sP*2~g%kj^gd0SnrkE9pN zT0V2ulQ6cQ`Rjc>3;U;Biu9JS<7&227>nf3K*xF%8%l>mM;6_5BU`>8*eV87t}t=W zL$Gz}MN$Lw|C_O0Go-Nr^EMpMU_VYj(kXN-dacqU)ssv%vDM3XMzSvVI#Ej zMQ=7MDt2mL$NA$0i3|FHD#2MkudP7+e-4f=YYgVFlQ@eMkuUpW4|X8eM@$Ost#oT| zrDO9ZaGs@^_sIx^m~irmG_WFww~kfAsoZ(NP<%F}iYXvPVyUb6ho;7o^*#TcC!()` zTn&sV!i@E~9(_aBA+oIsjl?T7s3AYWa0ERI*VqfcZ9xn!JSHyPeODU1aPhL=1!A5% zl;)|I&Nl}pZ6m9Ujf5Mqo z&6UoBzS)5@kDK!tT`OIgwwKeKtyKZN;MKItl>wU^$!&c@L)1d`1*N5nqfqoul4L8( z-n*o+%ggF(B@z$Y0zlP?u}~aC55k3`g`kv&dY#LDdg>a)Da+2kIOVS(6EuNU3;vR@ za%+k`DfVouYC`L&geFSgJF-`RLiIT5ALW2TFXty0B@i3%9yM+tvVV{}o=?Hd7k7j; z0A&xWwgyzNt5B~`_8V|g8ovp5_z12SQK3sN@L<%JXsLy-Miwa5b9Fc(@%%SoSLXiI z;SM#B6e2?i}_2Y>;#YUVN{Kqt6Ztdjwz<^8lFv98 z4^C#PZOE*B)nH*@ol4<->(VLGv1ECqyP{g&R~el}XU1Q2F6Z&4rXl8FbE+x0rwt)c zzQIRz*?dba*`3Kxva_zl_I$mtL!*$0bG8!Gmq<8~%Y=@6$mD=MYT?PKjl3uFQoT`q zq8EG*9z;jk*DskdYgk1YE`y01?(Y9Y{ll4HzTM|O&7kxR*i>E96)CS}^XUn*A7sKc zrP$MNF<)xRg1aAlR-=Sstb>v3pkk-@+yP@*=-xS|WQ;ouyK<{V9m{Dig`emJ+^g)m za?WMNU15M{zlX$mV(+d;I3aGY^OIZ{PoIt?aVzHH1)>QG}4j zk~OktUk2H;?;~Nz5(-0zLLrJGTa+XWl922vifkcd`(4xL`y9XH=z0F>s843@`@Njk zdA`mo6Hf#S`6C&_rg@dFTVdZXri}Sj%5B}dW*oEv=_aVG*E+lkiiR6t2YBMY#N*{b zWdZBsI_-17T|wTxyj;ig5cH1p2i~7jyf6D#k`z^%o667UH@NAHh3R`;U+bG@vuVum zM&IvAqrFWZtnxj4gYLjs8*z>dJPR=*Mvvmpd>1^&XK0~@q$5j&uRgMlq;K5-F;^V) zCHiNdyNKbSuj!0{DJ)m$9}f>JimCWk@$a7^FAQ+7JiN1W_%%h2=XOY$m`^RNIyt>aU#)Va&99vxs10p2?PG1hd#p={5H~uBG`f znGb9H2wb%?Jz-+pjyX%u$AI0Z$DR0oJ>+uq6%%QCri8)AEJ z(alTY+{v@Jc*02_QEOtBj~B5$l6|%ck4y|r#zkJ8GhH`iySCP#HaGuW>7Nnk0g2b) zZ(^Rl9?>(QdCCq8!#XwXBiMZ`T>An97h%&>rm#DMyNC#Zc^+IBN0F{aPBP@d?cKps z7Xc&5!P`N`dyz>pc8hKW4pqrCQjH~29&mUuS59a1E zb)Wr$S2yxRuq(UMQ5fZF4(7%qn$HW82l9jE)Oy!>?tum6gzhgkwQy(Iorgw``^dLE zKzpQW{a$8O-=$u;;3Zg;0X-PLymNSXAK@|`Q9V=k>q+RD$j2Z9cBtX|$mRK3Ymj`( z6;@oS)o{c|-+QHCmC4m9HX?oK^Mvg+;w~8iC=NjZSK}l0kBw;nzHu6{&6&@Z&FQ>} z|6E>ZRJ+tTvqq@n3|Daw|@#k#% z7v&xWzkk|cYSGx08I7;h5zd%2f&wk#6v?p%E|qYa)={#zhO2a`-_}A55I(U5G#prf z{LV^~tbGhDoiNajzVmz6;aRXau5M`MNs?B*)xM;$x?9wM@b^+{33hlKf!aUU%m?K3 zk3PN%$BNhAJ%dnU;)BPh;sfp_SjX=>yx%w!bSn0z=|s(6I;{KIHIEJ{I+&L{usRKu z5iq2K>pDb&jz2LYWo)n8=@Lkr?FEusANW#7aF4sL3?93@eUdv)dVcmAxX33YYFhjO z>co7wLF)VZ#=emSgGnWrCP3v(Jq^qYN7HSANO{tDt^ z;^Z;4AR4)U}4CP;BHz zYXC)!4}IIpzKzMuv%S@pb(e6s!yIz=)REx@SDQ1kMtxe~ovE{_a|kHFMPNaPoa(E{ zP?KB9S?MG3ioM}-a8=%^Ksz1I+Fum@G?$93bj{tbQFb{5(=yV{a49z@=Xr1y7l%Sj z&@Pc!O7dH~!|=cH^2RA+=lELB&2A~MHdStZP#n9MG9xeMSUmX~^eTPhtuwEe35tgo zk$r898R(41BP7eMKQF%(Kk?p&xAf=lZplrCd*Ic8?%G!3A#{xnh5;%4yPOKzirl8i zzOL}v5yTd3_8`N)lXI}cg7Jz1r-vB^cTs_Mao`Ul*JSM1rxFXi*a^z}pv^<*!+I-c{qj$~(aSmFbZz5Q-K1*8+DhbR(}iH9RS(K; zYXTR)Sm{v=>WXGM4^o(S5+})-IMjkSJELo9UTB24m>$$d!kjCElwjJtnfE~xpdpYI zIFIbd;%mu+nOh+RZ~|!&DvE&%;k5#AG`i>boD7Qt;Y7TKcdamREb7fhaA0r5M0HFk z$JYw$;X>(6?Nohdva`97b%zv)NwAQJdM_51dCBJVlTs58sBGYqegZ!qH+G*FckZI+ zOy4^yvEoFCx?Pr(v;A`dr(M6~ipG`FoIC-M*=8=^6So;w2u&gcT^sp(?}O*^g5qHN zoM= zr@;Y|WQ@T~7>fl=JLNT67H=HJv5;vYF_DD9V6WOF0R%YN+JWwHV@N7k=Vurt7Rvoq za%c}ZJi2%OQ$)shS1+&p+Ma+jj+!QXAP#{k?JBTx!G4&uM2e2Sj} zGava>5Rlbz1%JB(D+Qi6fj(ZG~Z()1{xtZv@;9LAfO(wJ^s#&%#@xfnESIqN3H| z)hL9WGcFo~GQ1M~*0y%3Vd*tXzt-xXQE!#^wTq1M#`&8abyk~0;p6$Qbpy9wM%nC+ zP%&2R70<}`!QYp!D?D!5A!ABPG5 z{1wL4FrG0_Sk!_GIz1#-P0774UTmvaW#bp0x75L8qg~$fGW5{BwGELUFBdv9z(WeI z{2MlNT{yEg^MW`gc+=Gm7Mn_PAF0c3me3V8C7th~wWVY8$t8CkR5eTtFmWR)+QGoN*7-^?JzNLxiR! zVFWV&5-0!wMCetXjP%XINA7_0*b3@V6v{?&`_uJHhmZCfeCpG`kJHQ?yD^tKLU$=Y za)*;_`6^hoy8VW4{GT!vN-YtH{33r!-)aDI%z<8@6;Ke*r{d2doR5T+P{mEb(2-%F zXDTtcGhv1_T{*QDHcN9HqC=2+aA}tse8f*h+|7q!hJfz+wnTTRAo}2_>g6+z|I}`d zID2B5$M|bkZ|}`_M`}R7mfs!phnpPG1QG>5e#%KnVbD71Vsbqm`7cJ^uz$ zl8?^D@p>mzwOD=b@IxZ60o=`$6mT>#k35CTzVne)Z44Yen~OrSbg+pGBd5uy&g4G# zH&KZ}Ybd(c}SIaRb(_6V&Iqj0*am$SonJ1x)(Bn-*7#nB4ug9jUx6RKICDe&y0&bKhE6?{;3+89hb! z+NM&nV_-cy+!{pYiusnPQWSl!NVM{pvh5;mHWxGiEV*dPcCDTL;Lf@lRkE7WGiP}s z&*|%7l`wU~4__=_;4YxJI8LtU7if?0CqKW2a={^-1aqETu5!WAPAjM`fub7IJ7IqO1(2RoD@x*JqEcqC9kh#c*l{jt*H7;>8gnd znEeudZX@5+)vUvv@#WkA;lYw&3aGYy-8r zANI%E$G4MbRZ7$7SrH>@bs$%~`Nw zW&6kyze3$z?I2Zs8cBgQ9h}HKTg25tG za<}>CL%z-inbJS^In4T@%PhD}-ZY3;HOW{nXA7lk6h1%pT%dLO0iWO!8QP@x6#LTK z^F`GsMG!O9qeXfN!^my`D(&-eZtK9nKrzU-f@#x?;^k4*=f6WBD*}}ga1l_&s7ylb zMx)D@qvWE0+0lNw=5JuyY^{#TItp0j2gRRJ2)StJ$W_Dx5oTVbUQt0J3q=zFy+4ka zk_~d`@9gZv^7V)#wdl1TnBu4Qt-JrOhW}VDS(8hJBmPGYv@F;vUX}Kkd=(K}B+7`G zpBWfbdvSv>zA2cfr^blLYhe!Yb)19$Cs^QL0h{v@GDL95optD=yn6*VtoKBmHmNn4{sCLT*}3ZOspHZvycU(px^a;zwx5JJVASD+;nn7sBu`se)o7j29j z*$Rb^4yBITI{{g}(d$2pvtB6;&Pnb`h9NgOiu5j?_!`kpocsk3gmLpsnih8~fO=C| z`di3VWw~QZ+(7p#aeGrOv05M9H+K;n9Tn{`=DOWCH!aTqPMJ5;PaFGW^#BZ3^yu}TSBRMXpMS%c&@uC3r%1M;v&+}S_tZyBjT?)a{KC8(=#3I>?9Ad5C zAJ*7u(Z$@(6SL{2S{@E2yeo330GO>jua{P;Lx(T0r!V(Pn1d;sD8W zxu-9Has642Fn5NoZBD*70VW@b$!Y^gD52iK@Qw}EhJ4CTbR=*qTp1d)LVQ)$XdbCG z1@U%Rn^)e%FTp+Gn%=-^hgnHP-ssmFb|BHW-NV5mQ~Zx*=J(S|x*BhvU=JB?*VOs) zX5FT%G z-XhJ4I@A* zujCXJrgGe~`g#Jp|FTF_JbU}9sB^OZO`tgZG&bpM z{1e(!qb|{p;@DQSls5s8%0y(bltoOt{ftkXiolUc~qh9W3^!#XXlsIS6 z(1`|GDCYs2(izMNoNJM2_=WPj!eOh%_ThCftCTDWi)@q1gtp=RwO++4pvo%Ze?WK_ zdq3OLeY95mqki$vWVakn7!N*i+CPRqNXIvjtrxj2)=;*WxQL-`8PC}<^x0vdN?OcKxc5}| z-EcWRx-oW_eEA1mtj)W{(p>?0?G1^)nV+OzPNh!9zu9P6)}tPfP3xPBJws@;He`j2 zb6kU|7WX02QRZFqgG)l`4SsNG#`x8b9Yb<@r<#pq*}#{1R-2{#z~PviMdnp%ZOj#R zit;leEHNSKhH!v^xjbp%>%n#l*UUK2fm#IbVGO}V_h|)In(P?GR3G9sB)eGh(_9!) zh5KL_5=Cpw(R;pUUM8o+^X2+Sor2unZKPEyDI#Ns!}F{;n2%C$rC}u73PP4{`c$5xG3k8A zBiHz%ynKOE-B5wI<0pK^XIPsJcaVF)YB&e%oy1HgE^K5h-jt#}?5faF->RQ)l%a|3 zynAhdxEm_LezmG>{vz{^VDD@ugU2I744M}G0N$Y7o=l6^TB$ad&H#ZtV%Ff6KD?7NkamF=Pl)=us_z^5 zkrHPpHBm0;6X(^J7p(i_7XJHn77$-R7XwYTvZ~1ZQmrS?W8<#mOH&(Te6+{U(lIbJ z)KWveh>3tm_+S(L6nV7jh`S?Jt|kMo44rhZcE>ifrwOnsZ#hv)mt#JK6g|uy#MvQ@x4H0nl=?#sv&~)e|zpJgtmXO~1R=pWB90K~>i~VtI5? zuo(3en>?~#+uS^!{c{an!`MDtnv%|S-R!40`Bd)AnahNQ!}f7_ObPKA^Z4cEmv9ay z!99&lJgI!>nE754MW7JnM}zXI>FZ~iM;h`M#3)|&``+s%S*-eI&I1&l(JqhaW7GHk zuM;SnmKB{m&%&O@V<&b)^ad!=@nknieR+&<*pcn|PTUo5lNthbox??37y#X)&m22q zf!%yxv?~;AL(ys$a==bo_SIXMJ3$*~JcaO^@0j?@EuI{WG~OJMcR!d^tyB9DU`eZIdfB#l6K~56BX^+gL8RhW$+rTY=^^D3!s<4#p5&V z7lFpUlwBcM4Gl-&8eIe1n*z#`>R30?6Z2dcUbg`D0=kV?(P4W>V^b%LtJ9kgGfu!^ zGhCT*v{uvULE@#7jz;2h2^|h)XZ|ITqN*N;nI{ssVMJonDYNmypofqQA*t@+-U);nH%h37&+Ref)$;JW zDKq{7{{BiP+gos$y@G_3iJBH9iByE-Dh-mW8+LWA#%@V075vjA?dWK4{sc7sV2Nm# zDR!cZxDfq&RzI;QiOJ6yYaYN`?Xw)$a?$o1fq7@Y=^L47#n)fWwiOqh(nAgB8xiYa zlIL!|wi6{2G3UrOq+4CI?4Z&9k}IA@t6xOj{0Mx`KLu4T0WsYe zk2k#bmWuQPUnS$TVJzNm)uj_NHc^*g_iMLKW0U9_X`+}jn&HVKc%zCuMFZ#cztl#I zgSRd}J5b6I29ba1+T`O1a%8T8MYf*cb~h+K2+)J1L>SpGsug-DbVII%g@qN?)LfCK zb9^=dnZ!Vv%u|yvD`jwlA;CTUsDl zoI-n(Jx#$Yh}2{|bH0lwY==Vi za9oUBqw!D3la9Ap&K7XpApSb5Ss7@}?BL~GKzDzOE4AGLy`?R5mv=DYEW_1E8XLFm zi-UV2Dx1eCX_D*ipR-oV^uMCdP2#(z2_Ab%vvMaofk*gm0z#%{Z}!K0OB0}zNLyF-J_S9;ef0V zi?@;-)@b3!zf(h&F#QJ`TJW^t+m*3_5g`eX6nVwa>WrMGX8N-o4wFVdqY5W1>?|~e zn_MVM=zIZ5!s-pNfXt_1ZUt(dY*1;z9!+o%o`D`UCfpLVQXi&tGM$nQ`SH@*{vfgO zozm=jsY-NhmSm+NCcPg%m57M;qSJZYxZR(0QYrxD8XK=W%1 zQA)Fu&z7GmUiRN03pb@KRa#@Nh+I_qpp@b9d%MYf&#e1hbox8Zvlh9^YYW#Pn~lAj zemJNf!}IV`VzBVuB=WTJ+tn?VL2Z8y)Ua(-GkD+c*t{6rd&P1@Q7tA(l|E z)ZF%%2MCS-AjDLJ?G|`1!9bB@b5T6)6Qq3g$)6?>a>;ldX4f9QuYykFzXJ)DEu3-F z6e~6zzREh7@>AVvK>dTb#Chb^GF*N!>l}!J?m$v1mPJSyw^1eq)B~@Jvi)>VxXa2= z{HcyUJ|8w-Y;1=^jqCiXUxL5FqNh}rbyKh}%sLuzMijE$)ne+~XVndR5h=B)=7as6 z7Z7Y+L{h-%pV)|gUo?GYhNkIO{Lm*+?oRXInn9T3L5T$Z{T}(dx*8hlTeY8yeiG`) ze1wj=nUChi#`PuIjkKDSnHug;*vMlE5fKZ&UA6CcH6L*iaN$oSVn!O8K zf+l6p1h*WJ+7t0sg>QWC9YYt;O&!9lv*J1sCnV{b#t(T0@D&0ZUzYpHEjw;#-}Ap$ z;+E}AYnkaB5`jOUyTAOQ@S-#_Nw#vb|IU*ejnvfCugn&=;j?U^p0ZLmeE3qatwLdi z;g>QhVS38lWV7mr;*nd2h6m-vI$iPaTvBFq%kPcn4#L+>`|NU>b}vtZH!1&IBRAVBw>D2lS19hmxgC$9$!_lr4o>W{jD4Tr(N z5B*(IHNPxn(rw9J2HV-)mr!h%?K#(MBq_rz){;H4@y(c(s;mqYiWoc~ly0Ve7eiE< zca|FaMw&wWHqxMjNya|z*QOLzR1093zAtr-$` zyFXS=eB7KPQ+i8uLv=Ctvw--y?+e#{{1;#7J$9Nkpip0SK3AJGB7%TcUP2^W`jW;MPQcIy9g-a!plB2A?j_q_5;H2I?0by z&s{$!g$C><)DWiAe9OBEZQI$3OD_d;`sNO5K2h=Z z+`zwjOSG;09L|BBEEDbOMgqyqsi%O@W_q+=8_w4Y3(FyWVShUk<`{|L*RNawpN^^S z*X$7DFZ6({w33pQ@H%<>$8WLUzKs~XYQPyA)Wl_x}98k2Lg8yD>;(`@i4uSmh zzNE6|R`Kl0So+QfIBO?Im@Bg^>=tykiWlw@*lf4Da-8oEc^!;N_jG865t0`D*AL~H~@4u-w3f2H8G;) zY=oh&b7Fz?lG1B@#N8|EhC|3pFJ;;M3@t3VbmYBqM^u87aIxGsf&X~{;It0al*m-? zh4#-E!iQx&-vnMtf2a08(c4LlRPGY0#2@6|2AO%{=R9(@@!NXHB%C+33QS!Eg;@e$m{ZIV!YOJ|&3E07HM1Pn@Yn+BYb$eLzooC}sOw=K+l;k`z`%fpxa!xtQ z3_XGC1s=zmSOQRG#C7L8vnL_P|NB7LO^dg>Um%1%rZ9`S=d`B#wKJ?PffMBuW%q}M zhC-y3)3t=VF;BF=sl6Zj|DymgMc}V^Sq#k~_ij1_4%s8@x1gT=@U+k1!&9B||883` zR;NYIZZP*ZK>PRoeBZ%bKzq{TyidQqKycOn7GeM|`V0(-@(JFQ2l<*4W{OmbJnx(1snKo|UkT*`*(gn22jflre%)YaZ$A&|b)Mw|76`5{EH(FWdt1MR z5oqg`3(ove)kljXVOIew3^3|{G^D5%9#aaxfPp)(`kQjYFCJRl3HhHhwgN_nr8z_U z$JskiwObfOQg`o6%8Spj7I3&(qbwf57{?kzjbm21_3Zg`G$BkYI_U5F?>^8Yz&0Q& zDOh9>Tz4{&yr3^$_1H0yw*#ssCjZgZK}3FCyU31|BNDFB9Ib+?hS?|emKOL7dOpbZ zL>Rz94*p$m0l7URZ>F;SEn^-W1F7&b-wotn!-KEZ8SdGdBel)>gkcJK`qo%t5?ni$ z;RX_}Yj{UMY7Nr#wmBc}1+GlJ*2Mp~+27kn6rfu1MJXI<&1k5Ms?Ir(Lo*^7-Jx8I zXt9ZII7{5sP9WMs=;7c*cx}R?2sIG`3hLGVZT?R^e$UD44|N7p>_1yw=N#0kN4zZ{ViN_qow8UxvnlXOfqje|L$OC;Gu0%nj;J8y?Ln=KeWcnazW{;m$BN%R}JD=w*y=6QMAN&y_Z(gdWyF%)s-~f4UUm2ko)CM~X`f9#3jFYP(Sk*)T*j^#}bxNcDpJ(S?ZQ2BkD8~i6?%&-5Ieu0$# zXntK;U_wS)-EhJxvEKlL$DqJ-3QIm*X}}|A$_|xhCs~pS^%dHxhOC=9MgsoUz%2{n z(SnLTI4vU3Lt8*$$AxUGq{~v$y^G#*bmaFFt>wr}kDuM@Q1TKBu9={S#_^`=u*<^S z)|QBnt%y#Q#hv;iE^;?I}>-$qCP_1dKMvyZYp9s+y*c&uw}u| zGSK^LAyp|pKBbv`To15_Ws4opsyyFa>Wg4%7!RhWh8~CVzoN;0@4; z*S}kK7#$6)nt)d#>oP0PGl=D>u=Gz>T&-Igvg|;c*h*)Qi(Uwn))ycvPqb4fx@H{`i*R^2b~Cot zWBiw(R5*)#t4vMqx z84VWgM3l`S_GBj{vOvvH;?H_h>GZnBhmHa2qi=!|0bCI3Rw%!rJhqg17GVn>FYR{^ ztRj^VXHfL`LKG9^DfX6GGXL*u+b!9yfwTGN!%&&dPs~`Iec(|wNQl$Th$WmP=;ni5 z6GYffh7%1`So`wU`RCw!b%c(#{P^|DcnBnGAx=65YoFItT&r6Ur}DmRvN29<%E8-^ zuecz6iYaTm)y~~E6VKf;s95(jV0g`A##%fGPdaheU_}CjI1`eo5EW{$x85SVcSN^O zutuaoKt*wt#fR1J?JM<*9n-ri5r=5xW_N~aJxLoxttS%PQ@iL_=Q&zinkfx+QVRuS z;h}fNqh8pz#SyC1^B$1CK2dc;Sh;}YCb;&P&)LmJxy&vm7VXL*PpaLr<-`Yb_m<=t;4u7hUkY6S%ilgN>MM_T zlQi#P%86#5qv1Obrr~PrDfkCSH?K5(62900UPy~80v`2YinHWr(ZqB7< zI@j-sA@zuS!EL>vlK-l~vq`!0)o|qlVRb{WiuDn9$SRPjzc>?A?qCuF`T@{H6+hJH z6QW>|FxdB3N*x4E8UrW^1?C9K6NP-OWbnBt-<9YBR|Xo%jsAL2OR}yB_njg@(q!bm-nVy&aom}XkgNNp|A;$i$3*ASdudKJ(+wU zZ03@KVkH`HrIH@-b!?M^Lz#`u2nd=B@dA-sqlUY@WC*}P;DY=2(-ng!WGlYNT<9NC zZ_;ppXyRA>F>xL|awYdO%*35!yr?b7TC1`oEUxF9-#*!#uah03h(yV9=NWoiB|J>; zr?g3U$Q%;7-M2cG6U85J(AgKs$z$^?dytd2;{wDTv!O*40JS=4W*;xZ%^9AwOwTn_ zwv&lpErrS2SBb8*f&fF7)q~#)nocF%1)WTKmHz+X`OO^}V@7HhGi?(J#2x$(`6Fd#6|Vtmth=&lC%{@0)WP)k zcW8K9Q{+5(*0PH!c%E(dyNm3Ny?EOwuZr=8cXe~{Yg1$3;ymR_v9H5U>$_wg??>uN z$#{ECcLEgT>8Y-M5zf&hBNdYK8e2>~g;tPRg3BkPz}g*txF&pBa8Sr&-+x#+JZ4;3 z_;qcuo_+5IKGOVmr!}1&TOzG$NB1wzP7f42FI+19{QR2R(zM>izTTRgsche83rhYR z^r^7M_fNj$5OJmjn#odTwBS>g!e0X>7!{UZZng9y^<@*2I!4Ij!2MKkmbIa>yCipw z>E95sLK7Z3`XfL9WI*_WCL`)p?rNV(#GuYYFHA25X#nVrFp_8AuB#Abv(fq*T_kG$ z+?5%+QawjWYn+Yop^nh8rSZl|iu+{{!6xoj8K~^78$eF#yllTY)VbOYZ{(6$NhvAO z4agR{<>X4sTRy(yYAGba_YQv~W#&#o!(DvzRhVt(ZXXdi^-OJfZM)=d|6Q7-?b1_x z16zAsej9C*WhDZHGpBtUCKBs?0N;L8MCy$Q)M<77KY0W>kB_Gian+! z{`$kg967J*ODAn(;^OCr29XB-Hbs@Av?Decqf5t_Zb#U`SmIw1F5&12!%ep3S}=G| zdchisA>jgLu|o-36e}E}+mFa`56pkquCvBDNTRYmFSvX2pv*bRtDq+LQJGlvTy3dI=}2 zcvQ09#=E`~-qs@sx_rylP<4uxS>uYcZ=z^DUlXC<;hTR?HSR}74WFjqM;K8^t@R=I zL~BEKUtGX2#TObyuZb=)YYM2)s?BUza$6>CgVJ2eC~14l`-6_!c!oHAax~=&)}$BAQLvd# z#_M0Cr?f#eu&Ih9+H?)d!$?{ZtC*tk5Nx|`$b`+a5IOW@H!+CBz<2BLwc%Vi$9>`L z$AD%D9xRm30@&hc!l&~(vv%Pek>h_}R7->vu)Y3i5W(BQs}z)^sXa@hcK_(eHwX@v zmGx?sG+?TkF0;1xd;^0XH2y9Pdv(46fh=qL=X^tokGxWGeT>;Jcxf{ny?Te>JaX^; zr-yUys?R*mJ-@NCa<#=0O5|}M$h36W+?vZ8dTaFDo+<$O!)X1Z{CUn@z37% z(T~;(m^z>k=44ZQe||b`fea^Aj~cUnkKvK?`cu>8hn(Z_k&u~xRruh+ zOce>-5C*4{9U0u~GK0%%TgzvUI@~Z_?%VTOF&XpQba7^UVbr=(xJZDEQ|Cyi6Ks&FDbJ#G zLH}=?UNJyCj995)fbRHrq4x}`-udO$rpjC2DjS@Z7Zmm5{u_W4y1?tl3kLG7?mu(1|-j<$?ZaCbwfmZTX|Kvy=?l3ldJ3d z7h(zR4l+BJQ3P_-LjOYa7rYcFXe=vVizbUCf79_^Yl_wH{AOsv2LE^%+El8;YFb%N ze-~5zAzP&;2tJw1U~Q3Et4FLRAI7YTybIUumBYQB(!sl!_D169fnxeWmOj(@h0Gci zXw4l@;QZcCvW}uL>-2UvxkH#*!*m=zKD5I^-Jn7|L4|(G`k#X(WF+>S-P!4+y$2_X z&I-fy0!(XaK09dU7o^F3U0q#chZGtT3DSr+xfF8WHr!>F3^gCb>w>689b@7QhB$J( z_7HD|!_2$nmUmi;H>fVj5Ilfuqm(Owo%jgA1yr$YL0?qo@@7H8*Mrg|UEvs*sBo2) zoxM4HY9-VUbAO+!>CjB$yD=5ca4rj5l^e0MkQ^kq!J#86s%0miB~ulI{NLu8R0w^u zstQvmS&Q3F)Q^N_uW^CSQ*9PI$}!(5L_SH&bm|^g@@s!%t&o>F9FXu(Lw0G<7L`VX zzvx^V-qOS*pj}OePvwdys)H!^_AUF&o$Dk!Z7z^Qwglit6^EaAPozNjKgceMgOQ;* zg|j1>S^4KSH?j@(ZVzZL&S(6KnaKNl(?J=w@hBSN|{vd8y8)8@CfxYYYi0fl&EcSnfHDnmfs~n-JtN?40OPK+ML?&6 z#F^EYBGG^r_U!pB=XbQL`O>x!1OPJvl2}meDl4XrBsg))c6}Xlbqa6Z8c8Tny&!OU zG#}1F=S9M~m-hz(%w?aK==Wd3a`$84`T$myG1RAH|#xI-XnceRCVCHHauGU?Aikm;2kX88~k zWg-iZ0;WP2WzZjgJ|Cqw!{5Yw(|^Mg@LS53iO_f=vH^rQ5MTKhL7BFho}6Gf9ylI#uA1mV-0*J}6gNJlVSzSnf;=136y z`5mO<(9>+f03@b<%J(vYVQoJPF9BeQl^(dMuHkB$Hzvx;>!eBjiWLw0z3K zxOw+l%DbXz$5qSSXNH?Q6^D!JozEn>dQIPsEzKH_iRm$DHAcH~*~HG+C<+wr7KO%B z-~S=b&}1{DC?KvWlx~R%ui)9JSub^rlvf*LlR6jtBJADu7~??n@M zVu`S$N>WZZ7fT+mjwcHT)q)ZHUQvg9UIZ&K>usS#x;)(hYet2B@cWCk5|sQ z)%I>OFRO!Jq3Np|U!%@Ok~R02j(JL+{(I^Vzpwa2^(L)+(dN2>hS@_W14_LCZqwW8 zTC+zTR-1=5Qxbk(TN89#T25Auy^(pNuk3*QffJT#xji)OuZ|Ec72(DS7!oHLnQc!N z2`vHN?(SVqNq(za0|kHOSx?(ubwD)#+)H37XerB_9?Ao?xq9Q}CyeKi{p=OoSE2uk z-|&K6LnHr>^K zSo+W2&#qVG^5qcSXFQ{K5one|M=vPxcYs0l!^e+bJ$*iP5mg|76!sL%Z(CeZX@0EJ z&Eo7DP_GEU2=Jf7h+=-9uN`%m`N@WIKB0hFh5RL$76Syq1_R1QPBVuQ8M={Hf7<6I zc8>2>+m3#FLf@W1(sRB;Dd&Pu4>e~$in#2DP?KiPR>Dg(G?v^gHajK{_cnqYnTMYM zCf-2Xpd|-opH#$@W!0LUe)l_C?kk~q^Zw|j>@EQ-an6T4<<~hD)_(T4)huW@<<&dT zprcwq4{hhp+jqJzadBN86`D>sgK)DAj^-hiihQZq4u2LXP$Q3<8#9<>j9Lkw8+6}SbCPUoIMvHrzlMfKm$Bx%Xy2BSNni?9(P zxfdA!`RUz!XOiXOD56ylp`#9|et>WW`>kZccP@jfw_nE1?3@)Ay~OY1Cc^ud2Ikg! zt`?YeS4+vt3Wa~Xj#RoqiSjF`lQKQN%caWS3QZi(VWP7mY#3QZArn)_f0$XCmtnXf zA#rj!9^CH=c~HS=lJFw~)b0@EAjs5Utd+ELka8YZqpwG;UJDjJ+bF&XvcdtIiuXj* zId4u4N>Qxs;NJ$3oTeko;~Gz~j~)gDpRtTL8&*s@chTS>JmseQHs0$$zfhtXfIg}Q zhGjr&{By!U-#z?-@02@Pdxtu~iT9>=%lj{oNv0QBB5ws>=f+KU$^D{ z*gnEby93%@ArCBG@SJZj=%5J0TG7yWuAB3Jv+`wXA8DK);T+O>YLj0F0d*4e@6px; zZR{($*4VGvfQW#r8jxdp6{UTHgU#`cVTAhT2M-*Bz)#fE3)uo?bxgs%uWe^kX__`l zGRcoILmCFcK)1X$3jnam2r1UdD>cWs@fYJ6npsrK-~02^rY?^ij;^Cow!69cy8^tf z*3wVDY;zaZ=QxG___M|JndMxGDWFp2+?6sqq0G5He+8mRg1_>G(qna%3*t!?tOM5f zSss-^yTF&H1zB>u;ff6Jf*ipqqw(u%e-uhTct0WluPt-+pGEWIPydk@=Sk|lY=YAS z>YsPpUVD6|#VcpFbXxj~Xvj@SG=TY}eza+)Nw0|#27d$t3aO%@z*mX*va&?1X;7fQ zzb-2|tr0u7}(4JnLeFf+j8*-}^=LHa{LgARAT$mYzy#qw0 zH`&UpQQO(A@K;kfs_oLtZ2*`$(R***2QbA+3cJWTE2 z7Z5R8S_D#N?0kGKCpM*1LH_Xq@Xq|0eNdO!H{w*~9S_dP7tQ%AHU4UmW(sBQACuwj z_oGfZ@00J5bIyP{(BX~y`P`nfci8S=WD5SfH#5cAKLS>e>a&wf$V)B{wf8GBX}Ypl zn?rVa!KYg$8Lfw<(|*0I*OubMfZLq8S)g@pfv-=ROrM3s~;ryDC7^R zR!>L|9&M9?6dzUV7J1c-yqebH2q1F|UN|Z!D&7Ui3$))*PLv(SrerjzSY@Ofdg7c4d)j7=E8eQ4y$}L~=))z>I-M!_Vp&kP%ZuTV+p1iu_u1_Yb zENlf>ho3;4tbF=pw_+MENXF4|tlR0`; zhCm03A;~3R;ovn+4_==0+dRQYsZXNseMba&<>3 zTntpOeTk>@zw>rKmJ;2zkkioH5`2rs0r9A7mehL``O}Bfu-}W#%yzAbllV1Zv&CeE9BIqjx%sMa8Sih4+fR zkI%|703=|1#?T#2a60Zg>RI<9r(`<>nZf2s)yQ4_lY4i^8&XCvnrgA1eF~pW@}NZb zbx)5Qucwk^mDX&$oewR<#=H^J4_%5eU+aqf;q`^$O80%z0v2Z$BNept`UStF(sg2# z-Ef+<^Jtu!*>$WWACi6WgTj0Ub|)BI zzICWpP@@a&B>v9}fFij4YkU_5$No#m06Lw#<;j9B(7=?pf75aLdfI6&gje^Ttrs#sQQDfUSM6OEUSZ+;jPtnom>3mj_Vplwdoz@J*jqs(LueT z66vw=Pf;+_1w%qWiUx|n_x4^t1dU*fTwGjSGFKLG9-F|F=QLF5MEO>pb2NG4$H0fhW0?$IsuF&|%@1;9`dyz_M9(^LSL(?w zm>sUqbbehe;k`C`M39^7S`KuiPn}gF&aD;M*RqD4ppOq1(H1(&fd$WYE%{68R(;gp zA^11vfxV)#NVF$qW|yvA!(D~q+cAGsaMug6sSe0;Jjxs##)F&yeK4;WRT(MC;d?Y1 zv&Ko)TveEt?^Pk*-CXe}5fz6&*EUmSXGeMdTb1KIM{i|sPdmxDA)gP~wRnyi0Nx|~ zphPdX;^Sl$U@tY0aIw4EgF?5|2V`Ay;_RdjW8<7HmgYi0K_iZ>oXALzjU6s%c-|`O zK9}g6lAY!#l>YegH9MN_YKXcOmR+;B=+OB_hz-u(ReRhFXBWjrU;X)hinKzh`p)Lx zdr&6!W?JgwPg$rcy-5k4MF4x54GpUwtM+N<#7ejepsw$<;9dfEP;;%YHX(9>1B*i_Cd-t&%GYRVCFsjr*z=&@V) z4XbL92Nl>ElVgd8$H0{dvJi0R{|5B7*U#;gv}rg^Ar97<&hMVYKQ;&~_bmPVfP0z? z{B>{I(CMGIt5wTe&I6i?iYCz7e@Q# zbZoG}F9RdRCfvo=Y%dD8*8Z z$MuvaGzK0c=UQqWhBuu+rW{X1F;;E%+zjeN&NTv>j#6zNk>$WNTi1$^qkiQWVAHNh@2s&Azh5RNI3-iZ9IEVrjj=bEnbf%Ln5@(D)5LvkKESS;Gqb4cxJYs;R9W+8%Xau<&B>-PiY~ z7QUcHz^>$)22F`52TdA_jw|rFR}BIn+EIhL&b03`>3_Anj*5i?JaBVOEZB=FO??({ zla~sjVZOc6xfCmdmm$i>Y!aWAcgAX>Tl(-XD80J`-#?}B1)@sSjZ_JqvZ_S^pciyb z_FIDfqb#SDca4a#)1y;Vw__;gmz|&ASWrK2T)3aqdS4YoM|C@Tr!HR!_KKJ;uu={# z2NuYVzF7ZFOMok!@xiwJ%(Ryz~06fCLJmzoyn{)3LiUEIWEt^l-=S75P&DSI*WCJI$c>w zryODKwnP)F$TfUwBc&*+_-69~F+>Pn&v<<0NUxCR`wPxz(3b&~7zX4j{!Q%GxO3`? z!VASvWDnw=N`nVINmIzrdyBkekGa5gmJ*vrJI}Mfv_0>t>^$eJjygNk4 zPkn-|ONTc`?K*ilq6SQ6D%P(@#C)HMpF^u|8QQMKWmS0Y9=|1YB^Tw8Z-q z>!}`x^xZLuPVOL%XMSI=b+}ng#`0k3MW{87qmace$W{L-R)tLlmOm$f&hXKa5On@t zS5W@E7M#xle$?i}mv*xhQm+o20E;CGZK0b`O$)gqH_UmTT>+$f8lhD^AQ>F~`#POY z`qIoVn8iN(@7P!9onO7~O#33swdHKTqsXz`-u^ZtnXJbbJi3Ik7yW`g>cHdjgS4J! zS<`k%Wv~Z+LL$c!suniaE@$MVSN=)uYB_EKp#oY)@NC7fssMZ!n73B%Cm9pvWYl*$5*{B5<_S-p$9SW~f8r%n# z_H|xqcYUUyGVZ;NZm z82b4&6J31AqJ}}C?QzT^1yKHIh=4y}IJRe$aEcL6)2+~>ovo25>7LW1qhFu6GP^Tw zINVD$ylDv65d{KcbLgF<$bL9n|6%5c^B}oC-{?zVuqU@yV6d6t6|9Ns0WjdiusvQ5 zJJmZp;mkJiuhC~V{Oh|h-!u_ACk4EddLz1CJaeaDnii9TgRbQWyNOJavJQ!c=5Whb zb@mm2+0~iX0ZD5rF|#QCV1q;Iv#3VS*4p9`31yQnxLklcMN(bQq@ELuCkgPR_92T6 zgT;W}OH^^!P)>&c4&4rW8fc0V?4&&kAaZ1)qo8Fw6p$t3SSKz_C-8Vkq($dZIvPI? zTNA!AIFC)Cz+^0PByAz$FTMed6H@{iNHk@vIWJ`$1p*-daxc!UdKow})N>dQ`dpUK z_&bUNY

=nF%@593f(18`v=IZRRhZ1HV#Od2;Q;Q^ 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 Dmcv8J diff --git a/reference/findLand-1.png b/reference/findLand-1.png index ed4d91f9b14584f044260141acedd542f541fbbd..2b7134b1844277d58abbaac6e86c78af2f07bae2 100644 GIT binary patch literal 116848 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


NI;-kNhORKF&5ZTqkH%=X3!7+pV5LNsy5{ zY)!KBW`ZN2V7wOQH9VNPBd7O ze#p-HHun7MZbV^HX``K6MRkQB(X4hYqiQPrUj~KC9qYor!V$!>HCvB^h;))L6@xNm za`$9B6CLbUu|uo!pfwn?dQ3qRgXvX{E-}<&hfes^{eIL3u6pQFFkC7Buc<)BqUQoM zRNI|W*<>NN8lKylkAS)rAR8#N-ZI~17!7dc6MWGa-3s@GX4=b_hhq(I$lvGJ;;%n6 z#TSV~hT{z~MFFV47Cz;No25aiacg(mbEzBg)B~7{nxZ}a?MB}nssbvVuZ;i=S_wWtTm`IX_wmO4Ue zI#8-!x4jIcT) z;BEPlbf<3DabQh_cuC{Tq%zY1@OTashtM|otxHs?6QKNG%AmOUf=k+O-M?krmznwY z?O$?>Rk4NrHND3&f#y)R)2L|P2THmrsIF*Gk|?GUa9+@z7Me|{smWacTJ|Xy?M_|# zUD5}T3@Fms6RWDD2^!#5Q<=ZGoiKevo0X#Cr;C>E>Nx>a56D8e1FJQ zktet)0(9@WePy}nz;_^cf;tblFD{2oi;JF@9W(*UZZZVn6YxO^(3Y{c@HWXwWj8k8 z-+D}#x!@$U#`!??#*10Kj>u4}1hZeu`u28r=Z^eQmTs=o;|*a1s_NUM+Y`TaL#999 z#!0zjC!|Nc6f0;D^h-bn#xGgCCm;FH?{LTL)tE}hBXg)Hwi6T}q2oZ3sYlTW{a=L( zS6@(xYE5oF_Q@OD){t!H`E=O)K&1F)ByT`|sA(Iy2=Yy`+cO(ya>%65;AC=hy1zi9DOX#dT2uwhm)T@EKXeBDeU z3*M00IiKOviJO@y)339h0IbHhGn#r6OD>e)E{Q)e>yOP^xZR%MQfQtZoH%j?R0F8d zzk&Josw)5E6`W;POi+NFz(s5rTSiTWMYl&*Mby^1_W82yX-<-q4sNIBm9&v~52^Ja zJCYLIiBRN#?ia}aWN(rPT##%_Y^>zlePnLs85{Z5i;n?Cg^;_ah&2+0C}$dGISf2e zEGPi5c2^79CE<)ZXUNymj9MWJrHC8y*C+EIuikSJ*=Sp!hvoP>>&9YoG~^Zm z^5E5RFwHp7ZN_pdO}nd1f6RH|y9U=7@cL?B@-^Z}tmOVTXhA%Iuzh{sv>vo9D(5$7 zJ>b!${z+p;mVC=h+iLRW7In_7e~pt>AAZnj5P7deoKmKYuGJL`StCG_Zxi?##_ee^ zkG2Hn)Bj^|aX)!8A#wWC)8o#!Cdy9pFh-1VgGrwOljCtRs}3MbYJacQTk276g%L;6 z-&U}ST1QydhE3404{7B_0XryzFi(&0QMfRD$r?Rc9AWkv`VOw=KwCfzxZs}%P0ru0`(?`4N>zuc{g;7E#|J2<*T+^&Pr$L`6c1y_Ej#mM>55@jzQMziTjJ4H z(8p*=%d23a0pwb`Sb{m!86~(w z_)pO2L!G5PzVl~X3_ppg|MZF0v|oL^^*P>a_xC$;M1tIshfH4_puB~KGl?BLE1=tO z4^uII0>dWa|gOqhXJtH8c z`e(Zv2z3dtFez`WaP)bz(OEMx;h!Y1Yd+iqlb~RRppjJAe>x@QwNA`Atel2M=lUq) zC+=WanRj8kwuV{X;4uB=(^tvs@c>xpB8(J7)pt?at_NJeLi!yg7xV#CDw<}I%3+6i z@34~pq`-n%WM+c~Obyw5cW(`&E=B){!nej;&Gb6v*K;}Q=rM;xjRa6jxF(lB%Dp(M1h0_xkqy;4-Ws5w=+P)DIWs@xg2J~w!O!+miUrR)k z`S;D%XOX??-h1JT+fcfKq%X_p-e51qRl~CW*@hK0ZmTDH88`8j=XPj>(eOv*5==l@ z5C8NU)x68_x|!80HRkk9MLLI+d)D9miIh_GvEykk6B4|2zsluuVmbOfg81vxC|v+v zhamfP`jm+rLj}On5CK61b|AQNAena?`r-l(a3NyRVCaIWQ2`;yYJEuYAR8eklakFTieYxHoYT&lfS!jtE*lQ)}c zALS#5w~hQ%gs4&0yRq|=kXowIm6ik(xUlOa(XFSKGZh-W0uG-4Ih3fH^rQO}-sZ(p z&)d?C#O1=>sNvSC9Fpd1g%(7+uRp(Va)t`QKUWSdSY`|aBf}@rr-4LFq-ruzgjMT8 zT#5*43mC`ScID8WA@d-{ocRbw-}@VaS7E4{Xq1E^6|^ztS+qz45+*P^K4 z6)oGSk$=Jo@F(skG}B|(x{zwVsYNvyZUUPYoElu*lP;H$$g2Qt;s8vl@O{5c{I~2x zZzZy1fnJUVc0QuQCL5|r*ZT3s#mH!H(+tDqi zP8dBw{=_&SG9IKsFHBi>Ek%6>g28~82(&lG1yvNOldsJ46&mz&^5ClLy~pTu4^@7s zo@@pcMAFj_GV7P(v2tR0DuDtFnRrujxhA|5=kD^R_g(`xlwlnLHN44kA_4=x;x*>X z;0!8SxuL=8GjZLxS9WgWq!tGLoVUMs?_ZeMGg%ZRC&Tqr|H~p5O?urO;4TZ(#>Hh@ z$laO!cQaJh|4$1r3k3(v*AnGtb7bv)K#3e4wLo^BPx{d0gRrZw&ADQ8j#Rc74yOo> z<_f3P%V1-7Exrc=PqnV|pezNIxe6anyL*Nj`uSSF+Vl z7gj88+COwRYSWB$^R3)O56A{Bpb<`n?Wqa!o4@sJmeIp87q8Uomtj`0U+vevX9k%u zvt9gDD3ElbMuP&Ef(1KX*DXI#k_$w$Km_f+QaK)HA`K%hzP~d(J!4hI*;{$Fx8p*= zml)=j1nVH_UG<2O!uMkaXbMtkjDBd2I6x}!gAZJ;Hq4SeshtCUQ#xIrW9GoWBt^Hi z2xqi*8uObcePp`|AOLM)`c-yC7;$*MChbe#2lpi&M@P#2kuYcXChHcr|kccl;mn14GCTu9SG&eyj z?hzQa`BF`U5dZ)V#;{6F+K02H1IxeY9|X#K{q%V8Sen3;&5|o(#h{YHguuurVLry( zum{0~G4RV$AqrmW)l4BL+s|CP2ggJy51xg5CJYg2d?CTo-QB(SZI{fY8Kx!Vjoi{M zbjIh|KPw~61JZu3B#nmmBAd4QCUuTGs=jpIyGqVxkR89F5nnVMB6VzC-fHQ!w!IJcHMyUOLJ;2wupw?qGCZ+W%K(`1{QU{evUia-Aw$UX=}bnt-K*3F1H_%bcE>-9;^Xc$NKRPDLT!?o4(B zSV?XuM5QrPSzcw{lVuoN>DGfep$3)rY|mc9j_eS0)P6a`cpMJN8W&&Rtt|Ai4>I`R zb3Tj<@ZP_-C)E_nQB8jK;u95l_B3agFr?D7{OqnW$=RdXTU5!vRF|e#1y8lWZRb=G zd89rb)BJ9xhxoYrn0%`%oPj>Iidi24KrersYjEWQnCrvKIHlNkDz)UdpgN5FNY={; z41m3mBwjIFxe#fj2yU{0dYC|`>G4uWa;HUnyIh67y@=jd#@f6Ay)bn5ItL=^K*LUM z{0v##j-)Q6AY5NQqWwD`I?#7$N^tYiteeGh6VmO4&D<+?tedKm!d`$^W<%4kT0p>F zV{YXC-pIN<&o43C`~*72{GW-qICD|GV(DEUkvJv^D5|B)ht_v<_**x#32IIiq?nkP zeBDAtT&)21Oav`h1$h0q+aucoQ4TJCy9yWgZn#aylsiW(0yoDs4P={(+~Bg%p*ia^ zGFl3)mKQ}Rv5y={7iYe{By62tCtpN$@3x-x{wn5#+Y}VDqYoT!g0Q|aTh553=gZ;b8; zKrdHh2(N>9b0YKzFi_djkFZ#G75-veuD3~X52pBOmN=ZD{QmRs z!@^hga=i$>d>Ubb`9;I>UInk9sxl@ActcDl3bE?A+Fq#fdwWlT#?P3-GDAAI!XPu) zrpV{V-*>p=G}dBJ#-9RJ|1a^8sUwVTC620lKBXf~Q{ES$Qid3P-SzZVjdR+E)rX!{ z{ACi{FWT;OmOoQsIKS$v?p`&N(e_S|+v+bg6c2d}O=iuEq4*9hp^-^Ob5})^QxIfq zijKD4Hs%Be=gxBRM7tV{>h4uTuQt?C=6W+^f#vCW$mkaC5Y<%Si8mOLprgB&=zDkf zkJL;^wKsy<&daj9LKM*!x4W)06sHnn>40PWcH=F_Smt4Jv^>%2F{G0sbe4W-YRQqEdtiGW46BuRj zSX^wjI#wHmag|`rA&}l}LKc$u)wg}B;eJjWZtQng!D;LQsW#|z8RC8Yd`oVvi{)WQup!A24AGP(DXjuB&TKlB^RGqE-1 zi{ofETXo<~LCkD44U$c^59KKj2s=V}X3F|Yr-zIHLivMU9(dF|Z>9aaAbYEv+_p+l zFGngBq*_YP)(}Jg8FmnljgXiord9`M9;1ybb)TZx;KtwWTG7CX9k~F5ewFYYqX94* zPVw?@*n?0)A-mc2ZWU4Bm+>}6x0tVM<(IGxh)R_!&RogLK`(1tb?|5VwpL80Zhr)c zGJn5=SCL`wInk_G8ON>v0L}VDwSR66iE6Wab;Kc1vgpkGrpV`Knt|=Zmj?fOXjr7a^BL zMV{m;7ECEitc~lkv$-g|$AE3#%jnn7FqA=-aF(u`xO7dIEO1JoeK^imiMUYJ+hUrL z0lLw4t-3-l7q*qr#W?G;SSWukUuFLCh%|i2(j03+n~oYyLIiN-`=U~63;nS9fN}O~ zI}z_rP5Hexz;B%lK;7hi^VbcjW3v3bJ>sd7vN1wvGs8JUiahV>cekDG-Ha57V)_M@ zT}DA!Rm(8ShgckbIGS<8%%j%<-H^xH?;)6zU50wnPzprn(>Am3NP@)A!T&9ddkfjFZW0`koKZ^>NDGb3wcem&$yr9ID33Z;fsoiRR&RU^ zF?Z+j8liSE!UQ@*Z8G8C64Vauq8wOQp%jOdKw)^(;lR-a8IAlDSqj5rH^T&cr+C^6 z|Gt}n@BXg8VK;kgAM=J{^baBseBvXUz53`yEGSnftr&;`X_(m)v=kkkEfwEc>ibb@ zZ1oA*d&{6^)6NY6b2p;J(MNV?Ztio9We+ zo0*^NxC>w<|0`dJ3J}%J4~<&7YsBiE#r!%vNFeM0`Myh!Y#^iPdLlbcEb^V35hhXl(K|h6~}u zGU=!X^c%iN=45q%DZ`fpBki7K--h<|Y=NK{!p_-mZt(G({xJjeO0A^=GIZFqYrr`t|)Yfj+(MGJX8R-m0=&0=ecXJ8o684+)Coj4T*kkSWmq~X&3 z-FVHk1lqgX(S>$0SFvEhvn49o?#n|?ujs#A{)LMxnfk5FgrNd=67BGz2dypLuXR94 zhk5=n_!taijl^lazaW{Zk0nFq?`B@!ILywttOgs4_biJRb`j9l%XJHtvz5B7vBLcx zX;7=sv7Vu=Kg!D+3>^hw+Ql30g(~yq?8zR1HFGb+0lLd0~f@ zn$E3C4nuZap?f0?5Kh0@BYj5!V>*+)_2`=Eyc1G)676i%JBfOSY`n@IK7p2@aB*^n zio@5VKn^CIh{+kkLZSD z$4=WF6z&D&wntFkP;>AB#HXTg(3T5cUf#TZD_^HAAu!%lxD3DU)E&;Zt(yIX?<29j zl(I5t4`c=E({-?9-(P5R3YyI=i{7pclEV*WtDHoiNFVWv=`(+I1usWE4*8-)HrzHzTS#XQujCr_}vuv#@+nSZ@E2OrqGFj}W?%!l-JtkixH}4NV&Ls2ec&&F%;lir{X7O5 zq`WN?>^T0ID3eopmU2K!E%LL2*i*_RCGyg*V!5r-v%3rbHOsD)s2p}9Hi!>8#I-&3 z_`R(G;{i-l=)5`F>QYXP_XP}h-#=Gp97&a!yp&u{@Zque{^A6ONGuwNLNU3&k zFMh8&X!xO}fWigpgz{EJ2(dX~bmrvrM94Dgu6A!F{LL_UX|VZy zHjy;n(k`w|RqEIpp!QmKg-^M-)`$bPMdTI_7w)*y`lrnttD~RXR>)LS_INDZICo~&phVj*I6QxX z>(6(HdE?nzLaawoTluk5FAOq`bM;@aSY1@xU>(I@A(qr%Rz7$^I9`5;hFrPh-82KN zHVYLjO6nwk|6%+ycC3L;!Vi9@1K$(C%OPGnmBDCk{u5rHko-5bZVFsIa_LewO zcScilKkv?KbCbN;x7amx{^*-Ri^7$tJ4cv78ND z4>h{2FW|CvwCY&AAZ0@k^Z5@o9%W?#nkW>R=Vfqw}r z81`T>2)(R`-IXGh);ULQ%HhqqLtnQfIF>rr@z?9CcLg8NAG*6IPo>|K1Qr5-TR37c zZr=T$7f+yKgJ6pU`9ZQQ>b$mBnYrY~3hQkm$Kr@UoB(7@YhTeg%P8T;37pk`1+k-i zwm8}FN(qUPZ%L*Zy^3}d!0Vutnd={AZ*e1$)bFJ3YhFgVSg}yOB1ECYq~iHt$cX83 z^;rx@MDBHo1>1j`V8qsI(ma}>iGFr%iwe&y%zy3S1S$lXBOAoi{KMA01vnfK^T^ij zFC85n_Gp5gvh2a#T^wGXr#ex&aHD&%%;zgr%P5sktE(kR$%vzc8}<^sja7$F@cJ#| z>(x7|TW!}7Uj5bmkN4jFe!8$hF#)YO3u8uW@u(dbGR_t%UE@D&bbH&jc;X1H~io?0B0u3~%xqv_z~lh~`T&n+27Yx!6kTU) z%=x?uGyC2=ziDMF<#yqqB;0h3u#va|XUH4MQM!wIYxgw$qsEAZe=q|kUhGzf7W-f% zF$hLct29Tz%nibl=vw^G@J~toQuU7)k0KVlm|0z{oTjFrUJgNBfljfBE!x z4Cc4JR$c4R*TbE%3_@u5w-;R;Zqc_d1I_pFm}SN<&R5y4Za1*&sB#NTAjo9+@JA6E z&cN?ei>-rbH{els&l<`(pNg{%Fu+3A`2x6_gM#-+&QN$CVbTXG$nJX-FWRl4X(!}0 zn#W-0&2b0`-;X&}jK|S8$yPIIapK?I+cCR@QNzwh5NJmClji~(RSal@dAj8lCCR}8~e-eKXiTH-!%EIVxef08hgCoSyj}iiesayX? zwV|f+X<^D4GWoOybt$S$$q*@0~)bjKp0n zg}cT7bHe=N^Ouy-TMwD$A6ZRUy{nC;{Q(u(!%SM>I$p>jo6VDkZsC3>PNt=(r`=!b zKMe!3b^y;{6(F$zO6TCVKL|5RQjWT*-$A4_2`i~Q#!QTi<0)dpm#8+dLPI3%Qk%fbEWqvioVJK4; zY&GNcmaG|lC(v9r!XVY}24Y6&|HspJ$5Z*g|KA50WoydF$tYwUD?6PMi4wA9gzTBk zX>nAj$jBy{hwRNMNpgylkga4yR>U91av#LG%Leq3=&%2U1KAA!d;%3At57k3&LZUJn}al=Wi&+-RdJ>#l=7w5~p?F z?AN%2HGK=j=+vL`UpkPfJV)RT=vw%XztEu269I!g7I&-SorKcF=1x$?)uT-JM#*4^ zgCerC3Httiav{w=?v~`;iiik$!1RC`^jLziReyyEv54_DOX^GU9sUiwY#0b=aQA!g zIuPp&g>3Qd`Sw!a^nhB4J?aTw=K-_1XVCm(;37xmw*F|T$qM3dc<>k&RXekr|`zmc6wv>DM6hqCS5I@w(@LV<*W~l4r zxGF$ibCOTg%uuhT=QnC#8>`>Uu8<#oNQgEIoUI_-a@D|kCxc$dmCk+c`R8c%XT|x` z9wRlGj^?1=lxK#*6~p3f2=8D3=BAKSAYwi=I3|ydliy;*XY6bpI!lzX7VKj_nU}jn7g5%4fo@-*UaP2Hn8+s?UD7 zUvb63vrZZ)E}BkbPjV^UH<1_n!J+iOZs7ed>J)$$Syx;pa21~+`{>|Y2`9r}5BA+~|rzR%jw?-a58uCK45qVcm zO|f_wxM#QpUCvz##R~e$Rk>Cjzmn@_9Ov_SrPp#^2p;F0e77UdETR2A+p$EEqB2J~ zG{XQ-fiBa3!$uMgX+UbcW#wD$&Zyf?BClp@O zMAnRvc~}{~FGJ+9kuCUDUJq$2Pz9T)Ni5(!+=#6f}nU)AyO$3K@Ax`~z5I2-pk zxmN$64Qc1gSmPPuiqE(ALjY4eaZ5o5iT8L_yE&Zi_AF zT)XlVA7%pe4*!t@RnJD8r9RS7p_dm#foy6R9$v&A|4w<J4}lfs{K04YJLk!j5?fQ6=)Z2fYec&JZ5JGK-AwrwM|sK>g|8eqnGvnJu12<`JWo%cc;Z*GwWYLcgnj z2;6SHy$=FG;&&(BA(GO{m8%)#pw^(%1=Y{+Z7_X0SNe>Ne6c*xQM!=-|F{6Fu5QpD z+vIPwIhdCJdFId{S}1>aepCL=pQ9`i&Q$OwrtkhPnC_0Z2)M2IJ0T3XKH%y4eKi=& zQoZG|1)q-I2el}iq1CGN2Z79`;X+Wiw3k^nskzqloSQ3DXX|fZDJ}-Gk-?UH~G%*|;8* z+UzZh6Cg-~?0EF;C&>Mljkncq&h7eLubS4;1WA)#K_io!QZ9}#4O4LLjmONe@~JVK zSbFL3alw=a8Wi$=;L)%=`Y3?dfd=wum{4KQt$UF@da%<86uo$;;lojwUIEM#ool_+ z*0v{@BKPG_`iozdO0`-^XjKwK7R1$>rk^=r^bCN(4#uG$+J@9KaNxEk=o=Bnx++E4 zk{D99@Y3}6(xg9ZiQ-_tJWv@4cVNr5UPO;x>=ZXIuSUjId`ts$KSQo#0HMPpsVV>I z2R|CNJ&SL7Y)C^4;nLo~H;g?Sw6+jRRZWGMCU(9)$X)%I`6^6!l{P0hJ^!0e2=^#; zv8S|984--PfPFL{ngM&EnM5&r@CP$#YiH*_)wc5ht0oR=;Uon&e2W#MmPRyNG0tEc z7{X4}VT%Yf;&3^9j+Nrt46S_reztSjdhpUzkVb1A{SPTEz+%OWTmxBYv|nAz1VTYf z10X7tg#iGwC4RTX3DI{Ci|s=?G$mp)e#w71)fsvPKz5#>tSeS;xM3(mczEVM-C@Mi z{BN#t)L+qPcUe_pfkAeLo0(h+SR_n;V~)chGUmYRExevHpfnuP;g^jpqVp-_|^#}pb zqL-c7zTL~*R|t3G!X#bT5F0^pWR*O#!b!e=`7W%tmNS{c zS}IqE(tWYlXQaw|6QDba=UYRh07wu%FJnYYaeXt+{N{ zxX#a~*A3uZ3bDXU6!=WgVN@o->A8oq4?x#(`Cvw9bAfV1!o&MwCKi8!KFTTD#`rMY zKXkdMZ9}mG+qDsRorn=2_rgA?MlcwtUaY+1>DMj zLLQui^lhfm=y;1e`Psz$jWcW!pZt{&73BE#9TQo^6f1?OBP@vDFQSXCU(+7FN?#aq zk-pct9rzo(`-Cq00v)H(=M*l=!kG%ee>5%Vb`<*Yw33TLt8{ac=8Q*J(=AKB{1Ow$ z1J)>=DP+$5pLylcfA8lIg?POLduT62)l0VO$g=~wJ}F(?vegB2s<$^D?@jo=0ye8e(;LWd{y`HCEx#g7}v^w;C zv9gM97qsF7FF{GyxcFKwV?9PS@uqD~$7(RtU4$M!*!oOyQ)=`ofZrq(csZN>)3_8& zAD~fDQW5}RKVXw!N1xvq84|5?%}3Xpb5K^^IWi2mYqSXP(I1>NHhnlB%%Zy+Ibsw$ zxDWT!xADGx{bJ_^lLM$8F@O$qMurv1=!#Otp_5}OUWuug3hyR9pf zEfAEm$6;yxm61SXfA<5brpQ}m6y;9(Svz+W7f)RcX$~Erj@;S=*?PnEp(xoVZ9xnN z&D*lfrEAaQ9F&0y?3Y?K9zJEhCKpOQLlc@c^m|ljWZN}po8V?Xnfql>?ct6%B>jYg zUk90z+?(WXWcn56J03oCQ=B(f`N~5pd_Y5EuHKO;As?tTFsq1sjBvQJ2db4*LA0a1 zIQ_jFk3QbY-%wwsvjzep=>K#GhMSByT@cYOP%w4Z%(q`(E(SND(V#JgN$%{4hdl;+ zW+MQpLnjAAys6l;o9imVmb)98#h8umVyb*1?R={uAeCT7=2|s_|9G6c)jxHnwxigv zKvdlPR@|*wTEN2L83U)!A29Ag_#>tJf18v$xiDfTj#QRS=N9I&Ug-r(mD4-m$9KF4yM2!3j(j%5KJo;WmM(U}AF8>WP0;e&b6fm^_PNejdmIP>9bk?{I+(Rl|czds>;T>ca zx*}ow$q4gsy;k<$Lr5soXdn6>tbBm2038C{xByDR0Co`cybG^)OCikIRq9%oN!{O1 zB9n+xdj2&}fby~TWAQy^B}Pxe3-g2lL8Z|BZ>8Sf`A8p-GiBPRvb)8UHpmUn;V3Fy zPUu*>q0ekZZzb}FcEQ+&5vZ3|Pc#)o`+=Fx1N8I5LcUAudlmi49PK$A_f-5P1~cC!2cLf5!ekg!T1c=;N!+`KtOyezBms^wbws9UXV?Z zpv-oy)kBPSVfgJV*VOqLXqrKdDeX#5&xhe3E~#dCr6+ogd@DX>SvaRQ=wyU2L0R0j zYbTF?tnU+83vduOQN*LoG~$Fy%Z&=Esw@VeD+V?O(Dqx+d-u9nVCq+EC=~ccI1t`k z0H!2a6OeyyqKN(q0pVd-E|C7azQxe=3Y0IfvP7=3t1teDE)=6t>s9;e&w7L;ZG}JvqEAcz4IC*`xY^w!IKN6+A+I zPffr91su>aXa1|9Gb^-omb3?QLj>E@53|@fvT(z%q77Tqd^E>vPP-{{E z^Qu($NeNE(@`aWrrqO($-~L#6l=55%y=!XVg%r_lyci^ZNs|QhHGN?A-ICIOK?;UT zoiAD0K*=fpY|5Vp7QbJu2>5>4of+L7n&`D}IqqM~efd_2)DCH(Dm-9nts&Ov*UWO` z_`%>fFqVP4*hZU~$ZRl#QX1^thBmZm|L72T7BIY0$%%FJ-!3GzApZzZDvrZ28zK{ZAme#RQb4x%6Qc_puVag7ZrV#7gVEr7W#sz0KaxxR9W+IYeKhBX7l1IZ>pf7Z znwzhy^wvP-44TQH!PecT#%!3AP9qH1nb!=0ygQY5lsTP`rsxRf7x8NEJf?>x%~V>{ z3faoSZ(Rcv{O#zzqM1f@12@y6Y-+ZZh>tQ5R91WXx4bNdLi=!-x}vLVDUP0}Jz@VG zk^BG-+!_YQh0$(}kU+Ex30se{6CdpH++d;+LjG_LrtWcP`(EDdiJbHYWB}P9plC%j zZjV8(x3bu?@@35Q_Y#}?Z8@+e^MW_#tsgfBeOn||%6X?v0|EM`9-fX>j z5|fyg79ID8`_MCyg6?UdUO}z?C;tQdw*(g!^wztzSh0#FGFW7g2D)kR6yyPNj8gUesYq))FoXtp9{ z6M!dfh`2?4F^!|}_j4b;G#t6vGCSJw_WHL^zi2eS2O6wop*>k(slSx3z>*H;up9gmzLZ=UA4AOz~S_nVd66s`Uej|b&0_Vdu%0a)Fw{y7H2Vi4KL>#E^FSH)cH(-VK zFnv~jSj@;6tYG<(Q6OAU=HgVf&{C|~(XeZtRiJwL2l$7_h{8kdqz94{o8)=ev33hL z(Q^2-Gu%Ufh;P92xH8P5xGI+&IxKWrhtN^B6lS(_3Mne%K0wZe+yJFfO@meZ$6N4N za3GCBXjQ{*-h%1)-Ws_r4rB|B05P))j;4YqlDk#|cRn1oQU1vmz19N(+;QeJjn}lb zwYPrkY;USM8u!rPZXCDyG7p4yZ-vL~KG!m@8R#mgmF=mYknLT?_R_HF^kmBBIaT^@ zV3-LKLNls}%w6q{7Q1mladZZ8L`G}pvOu zzNKk&f}u4CQEI0$AE#2^EXLP!68E*6>tbPSt(;Pp*V-R$W7@p{t+s_27IB`itEv^gercr`ycvU?Nuw?MlIhUr&2G+1dV$ht8@`>SbuH( zk*r+=)Wfs4EZ!;vrXfChZ$I6&wl=^B+nr?>}MmJ^m*=$%Vr*IUywU* zT&T&-|3`;&m;%-4sq4kPLfBuu;BScRkvGil_&e_fPf+0$;c&I6Y$SiZC`Vc2K*?iP zyPZu<$Q*uo`A!@Yt{CNKQcm%vi*HZyJS)eIFbga;T}_vJ`ae<%Xtndu z?5p0er%Y1m)Ag>TeA<7YzxuC6_B%)evv=Tb%Qj%@9g8 z>O%gzwkJa3uG+lXog0qfYBjzS?wZa-kC3QNQC&j4L6ojwLA3?G&~b+v;xBY$sb>%; z+n#bBz1UsmQb%?33P(Kx$M_<7bLeXtS@>wHM_i>^z!}_?_|bg}OF8}xRjBRIa5$x5 z4i4iZnCWkWFzKDd6W#mU^>ifE8W&DCZ(0cUoI8Pp}9=BvQN`5|rf+U3W4gMA#g!jTkFie+)@HdkEg7i{?+Mkf8og86109y)v& zG?SMfdq{K95Szf)XZ8BbA$}Jz^xr!M!L|810jYGbv@!UNRs48=TQcjM;(8Fzp8g}( z&C%4L7--9ZD)m4(yKOKuLm~7Ho=z*k!mz!!9Hf}D!va?`9Lw-VRKzjjDf7KiRoJZ; zCxWc#Jyb%-3G8XVcfzliG8xuAV(Fu1?^zqto?th5Q!?%YT((CyGx^>%P@&PB zjxc=sd9%`3(p^3HtlCi>n;G(Ov2<0S!B=ivPtU~iKu2){S}G&IgR}Z0vIfb~Mje$5VVQIUXITL>sIQUvunXZ*s$NO@kkA3T&Uy1YeYZ4ZZAQ8uu1<7N z`!VAXrcXBvjztv;$?S)+k0z?+AD-xI^Rp{j2fP@+pMkX5ScDigvNA+|}w zoP5uv&vLu5k`vZ!{wQ2&{ulg5(T#>j_E{s%62Kiup&Jb{P__hK#j_=Y6)I#gMg+v4 z6op}$tWu?e(H?WwVG4Tf%LXg6XwM&>@fw=Xa#xG+L9S42#lJsM%!*A0oop-h_sAXT z1zn0B)WP00gOlQJOTJkcH72hJxZRv8bXQO`FCfwT;&`_-ywSjYOP%~bjUlsub9%TE z?n3jI#*=7qxNsw;ziohFl9_MW@-DDPkJ5OjeYTY5xY|qM8QjzKQ1UiRdr{ac6pGQe7%0y3;)vYD0UD`orEukccy>DJyBmx&&|r6q97pt51KuaoPgP5c;m5-8qWkgmr4QzuD@Ml8 z&hr{{WIxxb?MeaeWAgmu^)zos3cqvrBw6)0{1c943N zrh%19y0wIWtwPiZ`t*vBFP)v89SU5TMtlj0Fm>l)y_wmVsN}7AqWzDvHE<9;v`)he zmTQ1#U3yD`8|8ivX9SjNXlN*fSyS{nW+Nn;jVuB=-I_ULCJgWkgd(Pt%Let&U8aI? zqCSsg-3p~Sh&d}rSnonQySrsvsv)ifP$E!AfVeDC`(5SiZHA!}^rVi$?vqF(YSh(E zMd!2+6$avfjHGG3FS_KKaM z$VZV{DyIge8aUgEwwutYvDg2^i8XEgor9@yOYQWEw^zz7WAa<*Nn{V*@TFQ4=4^Wr zPrW9MC?0;Ck&~klFnNZ<#Ob;fx4|cYm^O%bcOaa@ZW4xN8F*t5sbFP+8j*kD_|C4b z`><~V=q@a=2_q%-w>%>wW5idXa$M*1im_d)^#nWTtS=Aaz0rU0KNAx_MCMXi%vs@kIZVNjL@_xJlEn1S9ZlGc7(~91uAUvfMj~`Z>9#_0I%C z^B2ZmpD~jeaNms&8c{9v2g#FL+qmbP^>!%!{tbxQ&W{Z^`^HV&ZmA)U-hKiIUP|<% zA$B{|Y(pKSRgvtuUXu|^g5fTOWOzF=HgUb_h2BiUx_I!2?nYy@XANVvzOvbA{~Bd=3>1&w?Ms6o!q3gk%~a?GSW`Q!J=6RvoSj+xI^WIi zug3E_>qb01oR}oWj-}dIy-8&465M%na0gP`t%vs4`iLNd!}Wi%`f}E;sM(nEhVelL zD;T+~EA}9bL{dB(c|>B#5DBG9XC4hrT&L5@PQjdPKGgUPTQF{-CakD3GcynO*H5>Swst6TsWdR$ zul5-GutAzk5^we3K}q<1y!+Vy*s)`0@8d0UVig`HrtKfSgRW&K{ySq@sZ9X?3v zTT+MBgsR*oE!_r}_CW0l3tFK;(j#$3`CRkd)M&NeAw+E~uX@k|=iNy)%S%w_Ro;FSsnI z>F?vDxy$btpBU%zb_gQiF`+b(C_R^Wt?bPG!>Oq}tj~@;I@Ho_!Y%eb!-0UaT=S~an+`>|M*hnA2xH*WQy0w)Q;m9i-PfG^lGC9=Nf<$28dVk@q%>YGuArq0 zM?hwO>iGY00c=Ga&x_$(*^jfOYk)DavxMfD%C7NcA_iOjIMLTmD$!DgWqLbEW!D+Wk*3Q41_>Fo5qf#)1qCx| z;(Yz@SA!2ezQ7-&`Cr(z1Y;nwoUnN+JI*$-Kyx|ilR4jEYE0EXYC5)Uam+ldZEm;@ z*Bc98jK}l)-iWem+5(I;%vOqF&y0GEwDnLuW5Jo=qlP`!B}V5^_~sHnI{?Ug;R)?+ zrhM-+WA=&;A2vyVJwh4qg<0&f5;{N(S8OQ!qM~Sq7V@*GBKbrN>_T4pKXDnjBpAc} z*cbukJL7o(z~KvhKel+gYZjGWTwFX$Hw|mV;(<9WtC9c*0+HIL#B? zewC}_6j+aFWj|jx|Cg{%cs_XO0H`x$F-w>idcDqlrQ+k@fu(n(lh|c2CjhfmID8@FmI)3+nsfS0;%#Pp z@AYCXitiaQxx9gyM2PO(o8!b1wJda1#Yn0q&&#~;cAqLl2h3F99l#jiqaT1la3ei3P20-2 zF}pzlmQgljK4JVvFRD5be-I;r=A?5sWu<9?!ab8J`!MJu{QOx&Y@gbqAD6PSGF3&y_xU8oW*S$4;PJ0qqFAl_o+@8}Vxf+|K%v{63?2zRh`{$Y znUZ_v@Z)P#VBJs8OvY#Gt@{LNYi-CC@=zD(@NL=H%QkF1t5Vibda@o13eI z2U!JB1vRYvPyEULe+oYrK!*>=deBI;@Ez1QR1lc1h5iKC`;4!IQVApIj*cK}R_z8p z$OuF8f=|=-tXpeOv1OI(HG=^$7ay?QOk=zH?Ch1=rtzHG9K%v$T#$alXu6 zd#S|AepP8P_0~QpbBde=Pqu`Sock9B7 zI?`58g;Q^cKg>0U?Nt0dJ*B2Ql0MsIyEL;yE-kR7NkJQcd~V3O^p_t&@DAdgmvXc9 z@&q*BIT6Mu#U~EZoRfaaf+Vc_VwZi;wMAxPBh}EF^@s3?F;kPYL6_{%UaAA&3)BcO zvjU4>IT$$O5ed+dBT=c@3Wt%KCI?`9Y+XV>vU&(te#;mRUMP&0m%?6_K$mu#TCiDy z1_OJM>)AZi3)YCZAQ~|DIH2oqJJff8Zv_W&jNnSL7sdc3Ws8T%O$t)vq#pT)_&rJF zrS3eB6{3>A<`fLJ%`^y%2qsSO9os=>Ky~tyL+aki{QrgAA5NU9)sS2|i)5uh&Vhjgc2UnW+wbPZ$wXM%rS?RDP>T__LRghMuakJz5k=NM z$V)dWkM94z!HJ2fc&$}aP;dZB6R<`$k}$34-zz?*Q0bikF}kGQEWb~V~Y-X z`M-rOVeu{2Wa&VJ@dVbZ=}BT83K-6-En|yrw+WjOQ`YIvSY3~8J-kyz$BJj?xzd^# z3aiMo*WprDV3%Vc!N*%+C=T@1YEQ?TeyWk?Ph(WON(+-9CU8-?*QZ#QpM7^J|3*Xp z_a6(`O=IMB%5Ccj%;%=Sz`&f9#uTR{sezT(OwFDbuyB>H-7}yxud&ssBL8}9i+`^= z@i_6gJ#Q{CVuWi|VZsE!)3we0Xm#|nr@x9=GsphxT#!1>t6mt6}fA9oejpl6hQ`y|4Q%&k}pcWnTsAG6uhpk(X(wwC8jZsp0e8k zbF$rGvy0oG`%*=KbZB(i2ZbB^>;vBq*sU3GzwuSi){|^_R$z71br_DT^3$_IDc)aM zaap*Fr74N4c?U7UXqN$%SNr9!za8ig)x$$=1!Nyqx8Hcn!61aOSryO^A(-uok8yI= zmUMYMTDP+EG+zy(u(ROHc@GX@-buzxrA;ncPKvZ1Q*iLYS;K$lA!~c;-t*)AWTy5s zVTC~}FGr&6tBLB-=+@n8yU#B*NXs^ShG@IS`*`55T@_YVNl(J>kUf$`P&dJVyoBkv zEY1D<_cw#ZvcC;^12wJtXxy~57i+TD|ZRSj)ZtxB^3KCbZYbn27u9R*jXn$=H zon294Q5&=OeG?q;8R7liB*Gl0w;#R`t<&I3a?WX}ICjG@3z;))%2mPrJ){<~(imk1HNt~zuvWHIj*`-U?H|R^8HSa<8;``?mJFPUDbMAZ? z)tJO+0kjkYd-lP5Cx}y1xnc+RM;e{zZ5!2LYgAZxc=!5bS_hqC3rKy_ zu3+Pn=C4Gnb;X_IdI|gz*y%%$?5&_o7|ERUUkDyq7L&O#Z#8iPCcGWL#$pfhg(H11 zMw zC2*FQB^M+lwffTsAou5NU)(IIOFRM6S|O>W6F7F{3YL@j3RKX{&7H3Q79y#MFJ+uw z-SfI@5|bTf>}V?dB2%mHwImV`AsPqd+=hd8)hz>ouc-^rk6~GCzw-$GltLopM|BPj zac?Il9)tSUX#!Jfp>dgAh86x0N&nYty*%Ua*%!c0c0A8CYKrx~%}OH&BcV@+-iO+k z<^jL60kT-sL3SC_3;b7#QH;9U+GbwE{*$xU^%_*0o0}csXAO|Wot+(reeW`s{~q3) z^ydN1Tluv5>4y;G*L>!ok^28{3#>I^;dvbiLJ-grg>V=Wg2!(SRR~oB1JkWwzk^iQ>{# zGKWxR?@6kE=H_-LK13d$DO35)2M3R?wcV-g&fZ?RGiS&AQ~N3@sVD&3!O{BKUKoGr zd0hd}kfa;Z!A$VyqCBuy%gveuYGzPtH$@NE>GvNyL)b&vAV`7*yDaX&Z2qKm3_v@p zqp6Iep8$slhfdu-Xk>Q_s6!Z;v`O=(knLwAE;<}gb*LPY6Q-f1?NT%jh8*8X{-xP0! zU`S(_X&;xWt*y-*fKLehHduu+6J+3z0T`HN3%9GTqB^?>wmn^yg(!f0`KMIezEtn< z#;~lz^$^jx#%ykbIV{k~+O8jVnj(qo(#STVqn@P|5Sz$*GSj)lXiEfbazHwN5tGOW zV9Ym`8WRE#RE3Z==*;HZCzp8Z;VV>;gE7KMHUIFYGXg#KJBe71&;ze3F4mYu>7*jh zm5!(v29-9RhlrJdnxf4cl;psSrl!y@;}2i&&XM+8AVBVypesEBo+dv87|igpkoPMt zkU0Yr(8k6FA}#E18u%9KxiLC`6>_0pzLXl+&oqi5)o(+@$;P_U^V2RsugN0?VGx-c z?U8W1<)JyA#Z{s?iIx+dHA9qnQi1+n6_xxEqU7hgIAqI5EPgX2TwS>kYH2jpnkrrG zh;u`OsefuX{fPJoS%C;GD9Dk~H}c;8)7KdvF?Ys_4I!<(rP`KYBB;9(xeUDvi8N`x6E zvu!p4s}A?I5g54V=~E#RORWH#`ckWvt-RYb@7+FuaYNofhuQ~__Ze=+)i)QhO$ja| zwt`)jfwCq}5?Fl!F~@iq7Tvp?!aYd4bA7 z?r5WgrWzZchSuNt66Gwznu0x>cXh6U-2m!atazV})JX*AHs z_J8t7?(`Xo$1KUDP7*-5hG3HR$1U1D{M6wx(70My_T{DQL#A?0RaLj>!*~Ii2{(duw5UllfnPtAUa=#?rc6J|LfSf>{jDKtjHIATEG?uj6IKj zrk1UT!dzB2qxUd+u8V?Z@bWvKA)7>SEKQ|kiQNaW9uFsHKzefqL&-0*-fc;YYE@O$ zjks{0Ody27{yv|(0NDXIyfXvCF0d4hNED}Gjcy&2Qgb&;&<5r}Ua!Ah$j03{m;|3`3$h6O zF#zZ5{jk;}G|WTOcYm3(yzzl#1Zz#W-^0OHZUg9bvm?kBiWthw#Pl#F>M~yE=ENqV zRHc`9DRZ6`Vg+*94-kW~ZLpithdknF>M8j{%6>R z+DWP>Gj$cCu2ZmyXEU{+frGTy>y&r}p!5$^W)BgSpjn4+1Qg?hio$d@buPobfg)V8 z*N0$N+^EyKc+QRo{6?=Mf(WC;lKp{)_s+g)u&NQVe_*7Il_rtImz0W&^@ZE?m;GP% zWyRv}Abx;p+N4A}hd@3fgoj+x`yruU+zZ!5ruQ@B=tbltwj2YlX84gC9`5Bm+Snr~ z`Tc4y@H~h+3u18UAmm+%@00jIvb33SqNAe=P0|(|X(5TD5IdD)L|9M7{`m1@aADz1 zk4aM){;9Sg@O#v-wH^!GnMlVs8;F&Sriz>_-tSl)@F*;vHCe zePEQUVkL9h&0VmO_!BV!K>x$U86=hYgmP4P8NKB>`5y3{;XJHE8GAjBf-HZYYGJ-?@E7%(CAwDIX~cGvIddhq!y^p-EbFALEYVS0{LE(24uv$Njv znM|<62L{UelL2{o`L#%$R(|HFnOei6VNPe-|Ds|^C(1!el@Izs7gA7@-n6sb@V5c`242bQ&9xuDDTHS_}Llu*uA6v!y$AzGQq4w4pcIo^uMgHziT{Oe%=Ig+9M`T z-oCz<0}t@UF=#G`C37jm7{l&iF6V08BMDJ~wZ&&6YtBG(L@OOr2a75|f9N>Qv3^Hj zJ0{Mb*^0c6)$24FKziiFHyz;LW;#Tq1F(7n{iqRwX@Mag@2Au_a-V%<^|St>agOEz zk7`dYdoZv$ZMT!&v+*5p0Z0sJFMWNc%{&s&IWX#-^qi{2)*=kz&EEH@=RoE#Z)iI3M3JX_-;6Q>ZuHHt|YNC2iLftw3I?ucDd~ zL`y8a^4E5A6URIBN7Mu~FjEkiuF4;KtJ-^suxz{v`^Gp7Mw^XHpsXf8!o(NSLE=3V z-wsAIrG16v{>CS+pD{1)6@b;(|4zpKKaWI;rhpHuWETQpuSQ)_pcDMr&e74)qC53G z7}d92+Q9vX1ps7Vw%JOYJ=^zE^cYA3oq7sU7!7J66Bd2bn3~s<13}Ef+7+LIzB$Uo z3^p{G5G;b;%-_Jj_~MZ)&cwoESqek+B=u3M(Fa!YfYQT!0jPJy^y{n}!iQqpugN7! zBJ(w1h}~5G)wCKS)9ordNcD~}tKpC&HSwqJGPdr@c#hFA(88x`Vy_Lv+o9zyVl5?m z6L$zm0Pdmz!DV1msrT;lFzf?;;fJaqZ` z^CHpmCi6~RT^-BjgY@}LIQZ$C9b|vqz)vYhjVblOUGZ4Y(Zy-p0uDl7U*DW&_Hg)_ z#EzAog3Cw<+z+bU`!92$+e@Keu|)g~mo|g*odTh)`lmNB8JY{S%@U(zW0cAl67(P= zW@5gDO62>2KjJrOJ37xa+B@sm(iOw*<>N6w5X&==lt#C?ESh`uMS9 z{<3ThN%%_Ss+x_4)Sl!6G=2~Se=7TML+GoS+R#s=I#eO}{q%d^>^ja&EHxRnAE^BO zRxv#`KoSlR!uRj}Lbo-A|Gd;ZbDby!C_}6BEv!0QWvFD6;@&ecwrnETWs_2jTL$)xUcfHT!m`F5epp$e^?ZvIIL9W;)aE!6 zI!U^*I_qW33cm&ou zt%IH*1EwD3FWLqMLoZ)=nXSSra z>j~b9wr)Dxj0q}&Y_=ChHLPAffYhPhZ78ge!&?C^;YrF)R++_@X$! zHTh!L@;d&GJJ+Ns^gWD7GpU}ktJKTG8rTwoOFy@WHg%iux_`9Ffw=-K==)!f(;{xr zCZ&G4SSkJTe)1Q9a_$@rEAUKQ{sE=*cEjZ7No9;`UUNpo{Z$5Z!2Zrlh+SFV{f#Pn4mM~L1#WL?_oivu4$!wCUwYa0&4^8 z7-nSutwfEP*-)@XH~vh6f!8NqXi?s$Pnz-ne`u5dGRR>kZ=!;FJ(4efW(U}@r-6sq zqBe$fFp?7dC7{Y(@svZ{;jYoE(f~?dD%I$z(Z%sEE!J#p zww@*hVLFn*LcsiT3jO>PKMYH--C0{_bx}}M&TS$Vl*tDoOzbC`Z0!P78jdzgm>Dt* zgDeWzrwW4;*X%;V$K)SwpV3trWMpF629J@hME{)mO^x1}6$3f#dG~Hl&(-fbANZJ| ztUK?(IdBeJHg|p>B^EU+=JteC7H`?&QJlC*oKM~@H>RG&X24@Bnt|nxp(?K zlHJ6li_|mT93#G1swv*DTv zQbR>VFubUn2yT5pGEa;1QyO0UCu-uPUtn;(+o1>uJ>r7w5iDswJ;odef8oAYSD~dovx#gZ`@&&Y0FA|F#Lh9&r01I$t#xI=SW=H( zP&=vl(;tk8D&W)+KvFvcb`#GFYqvN859&s+wdC_UL=8KV>VMP9_^@?}QMvxNQc>1x z8eyvmi>#GZ!lv*Lty%QxxSplp-w6?{;fc+*LJ$?KK|l{iU4D?`RC0Gbn~Pq zKyi@3ut(5152W_wlyJjILojr5X@w}y7d;z5JGueThn^|5(XmFl^omU5LiY);c>Jpi z&HK9sE8!4?ZCA0?1b5?nYw(ChwjKzIfwQ#ywZZiCiYl^0B&`A+zN3d=$~$Yj1u-tX za14DcE&K^7K_2bSgkmTzs))Sc;m3sOUt*oPl^_&`4HV!gk4!i#Hp{NTKzy#!3>Z#y zgcVCx^5a-N7?=U;03T3zq(Hxja^Tkm3=29Y<6U@AprF($%>`nm>y1jzMqz%}xOfYj1*#9Dcq&uYTq=_MyAx=5OD@exx8fOP-*{11i_VTwD=Z{X2$;7}MNa;YfI zISH4)wVHx}?m%xUfq}v29&MGRSGjYanTZZ|-JwunZ7}YPX-N4?6G^U*u)Zch$KE2r zSY|TQZ09%ZXxA?-xx}H!^~eZm^(g9t1!N2$b_bA9meE_U4^bnm*~C~WLUS}{v8_^Gpqf?l>0)LJ+bOb9(MNmj^+)dVE+ zk|1qvTttNXz*W4#uZ(b>zndEyA+028l5>Bv_IWH!Y8Vue(V2Rp_tRT#T(60SrE&+D z+?6r0Q{gs|AYeg=Cw>BJ_o_E?{t10=tj>c+VhGLXt;YGwydRr!>q%7ZPC{d>2dZv& zy(UxGE9ihe(g1#HGX;N}k5XVDDi<2PQo`-hyiktA59EtEkA}CL>Wh6E{hmlmphVA8drnw?HF69vKNGj+X@o z2TMf!fQ5wDO7xMFf`k@a07t=TWak-vBO*6GQPR0bMjvvP4lI~?6ZF~4FTqoQ`4#pgBf9^+}71e-B$%RIP4Mc zA5A+s4a?zz4S&Ow?^!8TSqj^Hlm@rYxBKvDbrmJKxxELnDvb+L4Lf{KTS;q9Smlj_ zv8_T$aq+yf-424|&<=di*w|P(uT-T?ONWz0(n?%5%V0F@ALuy(UEuTeWcOoST=jPo zH^G;B_%c?P0@ov*)Hn5DSese2-`9qjo>&)MyqWE+~2|8fEL#$fiP{30>h2F_{N1Qt=hp;e0=J(*dCyg~|d zv6DeSC@8Tm0gK`>uqd5jNZ5qrOm4>6r>x}Ts1q@5*v-f1SV6-c-1udzCi7e)!Jv*f z_M%>p&v~O?5PDR-yr@D2Mb_&tocp6tM(&mY5C`b^Ur~_WL^tvfClT9;+O%VzZVGde zbgY+tf^3B)+!?KJp=q~8}@@)aRaJ!(u}k*g;eI!!I7U}~I@T(Lq?;;VL0 z)|>?PVwOO}ae)QWo4z=#y=%5X3D1-Naic^qp@j9+UHZ`&h#bhI{706BgfcOi~EFVdI)$JCpL zL)o|gCOa&v&<)7sULqpV33oisOS+v3ooO>2ebf|3)lH#iu9ct*Jb;@~na2 zbPBaoTP!0U!CnYacpEVJ#c}j9cDC1&E_*p_fwcw*^1gKxac&(#WzVbf4ir)MROokR z)D|FfV}c-y8A^j<8T1u6L!FS=>m`nsa7RJroLGOYug2AxL6!ptu8h5@t~dr_S%}qk z!j@w&0XZcON3xvcd<3*zQ=@MrP<>+DF~X0|N?N_`XAwQn%nllz-laZBM9|y-^T7EG z)3p$-KidlXKzsranVG@)eZmp4*Sq1KoFP-b)h-?+NRL$Yj*YSA90YVC$2dAMqtf)% z=xLnifYpT)If8xyvuyYN41+>XCgr@aHJx)t^7&&NaG}E2d9$^rRA$7(@V5(McO)y! zPrwO?Vk(LH39OPyu&`Dm7SLil68h0d^1=V-_+pV8vrd1O3HqBw zHC?YHf3L6WZUbWli6|_%f4j)}O~YT+HBGB82mUC4T14vy*&2Os4$z4}$er63>^Xb= z9e_Yj+MNTJjeD&iedg`PU(3RKu!8_+_qf#rxbOZo+bVCi)7!%WDR zQCr#L_8Vd#2BAfJJ-gV0WC`OTbO(-zs#D5r?7cM)r$+001{)wxsT{^5)*jx^c*{gf zeV(Hj*kApw&)qfN4`2~wAwl#`zsqG%G-1_Xd+~#@ymm;i8Vc(^Lj(CA%FN?#ECLo- zm;*bI#zx~pdw5=;5XcLWp}Q%G71F~^!C=!Crf_dq%ECuwb3$&_5PY9-hgY~*yn}I4 zj^w8Cy+)9{qMz^Be|E@kj1yX}kqll~RO8xCQMDp{M(oy!T$imtS>^oN%vH+_;5@|1 z*?I0!PMB!N2!NY$5X24hoe8W$gi4(6vnl1KpT2GgNDn*~7Z!?X&jQPudrb-*Z#?(? z`_OFA6X)W77p7)e@dD@SpoX&d9%A>nn1yk5XX!yZ{uA<&{wc)jGl(9@vON;^^T&^% zIc;}dn?c)d$`U4vpOJw@A0Cu?6q^u9n3IQhyt0BAmI0HHa zh~(Ir^%>(H0YVcUM48Qqw|#D=n4idL%&AgL611M1aD7}=oC#> zNZb;Q1)K~(JstS`hdNhdFE}jG-{e9s&@D@WW$iLe9cKv?efj1X-%=#Z(gu30{)(_% z{1XifK;v;%4=tNPKhmuZWApYd^Z6o19}Y~qQMG%M5)%!eBD4qt1H)G5bez&xBf!t?zUnhgESr{SGe}R)(_Ex1`YI+2KyKhHnO>7 z$DfNngf?BIly=!1$_{IxjenN!XuuUpmS59O9s-05Ewi`v# zGQiC{)pSs2^0q9t=O+3g+OB_HAWakQocB*N9lL&)(Pz1kvyosLZ9UF{aS zTOtA0!?HWvud17G1>^c9m3nFi3_++&8$dYvK{_^*OJ z2At`g-m5YI`C&ViKnqwoAUXM5xE4G|5*i0Vizl7J zUBv^FH&%64kZ$=vo0mVjcXTQ{lD#nMpA1M5>BeMD^}hI|!3`~dDHtKT@bCP$F0j+( zWrVB`O)U^b|4mpWjC_U4;GdH0aA`XqO)p2AZS^O59EV%-6_^!0f4Jj#lFehvbvf(g zEkoxt-QY<7H zpdfO@|My0I<-75Q*fSQm-yCgTjdcf?>@`!k#;Q}_ICWS;z7^2j>nOw2mo-5QSS-A< z)X1MwKfBw*%kn-bYQ!4s2PGxaAfRlKJHl1ZESgsc2b-B@rjXluxFHft8|Z_4GPtgJ zZMG|2&l7lmd&JpnWV|MGRxOe^ehw$sI(gbF#ej0OF^Xr4{|lBLwWc1MEUk&!$!hzRoQI* zg;pUWt;6wWkB|&7B!jN`t8!ra0nIgG0~>;LMv}4%CWnGdQ|QVL-Ej)qrx>sshq{?F zUu%teK-t&>a%A(yfj)ujGjW`~WmwN@NoI&y2KC^zYq6G(aTO9wca*9nYM2pFW+?$A z$Be3PHZ5zN@`9M4?;Uj%+0_dBOSs=(jn)#ougj?=Z&C09m!_wJHRD1ilrq<*aK952 z@720Ng;sExMg4xVSoxR{RdNXCQT-pFi&5FTkYEhADpg#%1Fd*_Nu<(aS?O>S4R&qF z*_E>@S$n|R4PT(QYH6VZ^*~x$grjBOe$)d?{I#FWt9)UJxCk5ut%28!gViqq%uzbT zez&73?Y4ch)PGx^3z4C@sNBN|xuI#gI4wHu&cofaAi@vxv)!=5A0VC>4wpBHfzT^5 zr4&fqCB%jW=~QGK%+6T?%ow=Yc9FxWABNz7h2o}w;6upTgb$n1_V2t$E+T5kdI|Q2l<_6W1ZYDn^1mm*v@)%*znOR*` zmbVh{JtpwU%7ZzGjGd^Zn6-`a4ay1O{6WYf~Hq$LL;OD zMCIq_lPhmzuQ%>a;w{Is=Vhk)R1e)_&%(lZU3KwWOsJ_bAf zBjtzKc1kAw%kDS9=Of9@+qVxu-3&0N8_8QafV7H{40P4ffPTI7_9~vf4|EP3jbh zl+62sJ19dre*Cy&yr1#_uEjRN+md|0MZnz^UEvH^kbgJLdiqn>KfWhd{a{5O_>+V4 zJ=XJLQWyi&Te0~__=y}hLB_&Ster_=zo}|^qOjZHPpa(kGw(ALwtr{RlO6EJ z`U!xtd<8skL()tDY%(xpb0B**h5a*QrIxPl!@8AM{`LWps#$AMCdD&S?P=FRu{%?) za2^I{+o3*19E1+g7ApV`@_-}*wN!6Ggd{|;j-E@DWoc3dtmh(s^GgHCtT$<&0Y)pv z%7M26h!TKL%2pNNO6Z~DtYyOsPbSwwCekXyAXI3qv58S4=NBT4;yd>Rgic@tvxh!L z5PoTc;H}|Grr*=Z{KvgkO;R8XMGz{Uase5X!-6Lqj?Ju`*C1|$)d+N$F~8o;epGc= z7L2=K{VsRbi(Ni*+xPzLtxI>3NPBtBUjWQ>yMFx}3x4+yK?bG#p~@Xz>}Pd#+y8N7 z&6M9Es@6UOv5mm&ymP&brP-)G=+}=0hFM7`c_!Zi3fc=(%T3-wH2*OKaiCs_YJD&@ z>{@Eb*^4DOTl}owZ1h|=5oB0ChY6xbr#B{-Nik9k$}E1yI9EBsDgf>4wjX&Rv#z$T z&icuRHrhZ1terMa$aA&h0*%DA_g13dA)~&(0KXyZtlz13j*d7mLxp_kzbdjCZ$=&? zzR}K2x8DE`fT{=AjST}CbrVBaqtsV9ViaIBu4r~n-Vc6aP${;-z-C)AznekSWO$lM zx&Ttu?fMyGR_oNxZ|$N}(dKp`|J!wPVZR0pY13Lgj2D~9gG<;c^_&NiLjtjp%E4fyDWj~Z#pQ&jH-5N zOHTkKA4B|=GVel`*&1$Q!_ElDLmMl6!)pEpBPVtHy#kVLu&o~@&Pj+w)l>)`^nE)Q z#j1=Sl=hvtHCt4z_3Kwsw(r}0=LP!1Bkg&Q2asxR4%!C%HMw`1L#HBozBX~bHWRgs zf7+`SaPmM;+P=0`X8QrTW2+X)Q6a5(>CxZGUBveMa zb`HZ&ZbFDrS_{;F@KNVn2L(tpoQ30_Sg4BITJlB$1v)zz5}um{O+eEN9$ zB|zGjV5CbSg;|si)^z}!cT*c7fBSab^`px{?JKSgA%K#KGFnwuJgzC>cbe%VbS<6l zyuN;lw6$*`a2Kd=QL!8wBxEJ9e(LV+BsKg)yqB+ce;T`vfaLd=(h(MwDdz)EBcBEb z8S#pYSA?;9TOijcj#*Lt2d%O+ckF82b`lh|yqvK&tFbXYTo^<;L_YF$KepwtJfCTD zva`UM>xtI=&0jgVF5SH!y)UIj_dyCT*IjoFM?$ zK1Jl$R`9pw=$h86ybK`mz1{5h_QBhR4a{C&rj8Z2NaiN)laXf4NVX~sS4R)JW9eAd z>_}B{v$#TvpaaCd&%C+IXxB{X)=@j^9Z!7sJpP&vF_sd%kI>fr(v?{CM3H_nVv{z? z{s^f4I$Bk*dRe^KJ$tV3Hhi)EYUS7 z;)3W`s*)N3sQJe)XZe(CjF{S+^8>|$0k;KQ4=qeWj((dYqciOBR-sy# znig9GF3q;nAZcVLk03VRw|9%uL%^^Bbq|$RCM~v44`Xj`E`M?Kc`mgNW8g7#r(Mdr zR_&q6MZ+c4U@4|Mt6f@q!BUGZ@){8UD;|a}$fHPZL_i_EESKfc2yIYt$8-Fv3Og&t zio}`4StkO>nxzYB@orN_>}e+S7)!Iof9zI;{qa*Pq4@D(*RRqDI2bi<8>uZ+D4i4Q zh8`AGtT$IXzFdDYWF4Y#I$vJ}Nyi=^`5fd_>*u$OdEqrZbKoa|>{2_pz+8}|pp1K9 znY1d-)nvPjA2)-@gC^tdi5S^cw4vYaeZq8aWle8&W?KAM0mKA^aD3z?l>4B!%o&s4 zas_*524{!)Vs*>U2CecNK_7`(IQRlVq3@b}OAYHOlGTRVR6(=KZ1_O$AWa}(Kex4b zqQ0E7=Y7n6=S8u!IuNo9!;9mP%WUGK(E0X;Jl`erTlif-Jo;xd!x{&t?Qh7Z94ML3 zcuxVcUHIw3>&uSKeQHUfPueZhUyGkMjjj>LJC%VRjlDNMmE+E3X*IMhOc%a;S!|8_ zVFT%aH@G8$-LACX1;z}k_m;;$VW3y<^=n|L#@iT9Eh|2iqA8@;!vx(bv#?na$)uzi zhqaZRnL@~2P@`)QU5Ah<7eul$xB@}GE}pO-2_E%IGp7Mt?mC2Rtk$g8tqoW|Squ7m z(wk@Di7;9<5kd=i+ zG-)eVheCfn$)uAYb=SgGXP2Gc&HqKY%k@)txq|O!VC%lgThHfIw>#Ri z)bS3i2 zA{TA^0o-RD;p2YGxyE9$K6~Cp+MD7%{+%=4D!lI=Y zP9R>n`|ve?z^wSGTj91JWtuj>#tiDHtu@iyG%6peFwT$X_BTs5E6j-)QTtl*xewk; zcghY1qXUG)FLlxuXJOeSa8Mm6H`Flt=wZE`L29B@TF>f3P4xhp+6SnXZY!^60rC+`-m913e~GpS*AcQT&K1tMFjG*wxBQG^HLTxxLN< zm_H9np;bczS7Wowi?)S&j>qlCBs+dsR<~zeeaAVmW#snfof1BHb5WwSW^C>OL|~i@?x{#)i=oAo5n$kQ0bQ<%C}uP2a~#yXjnhmkW1Arqb(fTx za{tBATNC=40Wv)*gZ29sS|4gYZMX;#noc$bKOB=)IBu(L)%Qw0I;-8uHF$U5Q*)w% z;R9|sz`&XfV9$MykIwQPaUQR#d1G;U*^nKot!(2}Ok69whwTcPGj}!a2`=ss7kI#~GOj`#{%xQ@&Kc zJij~8tO!)C-QAYjA8*&aLbXCN(3^j+Jdrdh!UGQtJVdYxay zEF{j}+K&694d<36%&^VLmGsSdue8Xu>r z6xWin{gH3WS(-OJ#iq|8c&SrWlCJGJpFhwW;EHc4E{MU6xC2`EiFcGtW5;prZ4I%5 z`>p0|MI7FCi(YPd68}pm+W83wcb?<#PzQx~$0J^w>2LW7xBMNupYemCWd6!qia9iH z$s2;j#1>zwA`XH*0PCUsAilLwTn#RIaFtfygQr>^n?-*mRyX@QN9Nwn?6yX?1S(J+ zyTN%$3%!Q*Ih<_!+9Kxp0fFSO)O$jj1=k>ZAB?#&-*?}GDbZA|;4WN4j`v6tbQNlk z+tPh052B;@9bX)u-rik>DqpZe`skPdhuh%PopG*N)`MnQ03Vu6)TEh2iA`sNoe7?T zS8>)-B_~&_;6j?<2mi#)q0H-%a0m2Jb2Y2%d1YuIytjKbL@PhFREo`5|9ILxoG&W^ zD%c%iKq-y{#ie%UTAg_90}K;m;YlbgJB?^r$IkxX0?pJxY#58Pk_2_W#qU1}$E{XTFh*4&!Q~8i7Gq&lZ;p%ZjlWy{IpQ74( ziWa;9b%@cA(ExRVL_Y&KGeAT))bTQsU6zH`o);g}p-}u`}L=PxR2d03JveS(~H&WJ;M5f#qF0|bD zxc$1R7?gbr!*4yk4SuemhilISVD{-ZP)?T!%ZF38W^!lj5l#p z@(DE^l%*k<{z`j2o-3vY(7rxEK9_sLp*f1x%lz^ak``k{H)9`v;o)fu2;7Q>(kzHL zm;YgL0e8Xb*PFVtP$7H>+a%}LVOSMJie6f zW-U9$d*fC{-fpO%^6uu8=Z}y7#qH|?`=Bb}Hj0uwUEC|l)$s~)A%W?_f}qoA>tPRd zu+UZuRDk!>Z_9lr=?K%22m(9Ce{oFtR(Hlx zLFT?2qdr^HlV`584$k`}xPJc6I0Fmd%wD2r1^iv4A-0Ovve(JHoWV`3NE`4@^K1gj z+Ricr1yYRxZkD4L-zN`{4IAdZ-Ni6Pu*U(|!FY;2O-@DS7Vh1W!%B$Oco7;AiJsGX zD;vCYNvJ{(WMNCd((}L>=$#{1IcP4OG~d4T@QRMYl^>I+%@^(?dkJTc{n6;YErUR$ z+T7BGXfjd)!6$`ghs}BMjZcV1%y+caJ}F4(hy&`80Pt4;W zZu7bw2>Lw_(!BU*XTJ<p ze7#_!y-?gv<(@VBUmxhm@8k2$3XkEpQ92;OLrV zF>Uc5O@o@ajs$$m6UB$1z0pJ@W%RQ#S$(i$+KMRl+aW2|GCLU2zW68PRUk~ z>Fw(2*W?Vj>C)uj#ZRJUp>|Wx5ZU-Sw7QM^t&5oO$+cnxN@^zWFpHRbK5r8NnD5p} zg6KZs-xDwKm*KbpeE|F?)`D!6uE2Mz5$?b20!M>*k5_2JJ)$Bf8p@Sm3w1i^osey= za?ASPGU&CrY!A(K;$DNalLb3kh{VS;jpqLuLmY8S>)02Evd!)>fhW4zq{Aas8p!3z zfa$$NN5gXEcWMYPl+b+WWNW_YE@Y9I)0Ag+FNQE);_$IZ3%tqk?P?n9y71iB{@+ji zW7&B!;BEMg6m}iz83@&(?J0c~!0!W4xHg-Pvtkev|2*C#<+!25 zECYdUsOoPCC@B-XT;x;eeVDYRNl+wsBPSljGF0``=`|mqGukLmaPt41J%(4$g97X1 z+-QLLqicX!x_96(&C8wXAswdw8$>8OG{}a^!_^~bLpdLM_W+2lhZCS?O4%ILJE}AR z-It`3WJI#cNn0JTug3r;phc#L(k@t_@B_ye`-n9GV*rtD=V_$T$U2rOio~m>&xEIN zefu+CDuXC9YImET?2IhnzB=RFc#Zd6Jbh6=^e}_U7_4=D@>E{K)Yy6Wh05P=-;Ti% z3=W*oIC(xpbITDI0(@XaXdqS=;q(U-K5bJxEG$gxALCD_-ko|SRGnUIIvR8^Y%~Bg zhjOE9kU#JSr}!7YFc{lXt>Nr-H~!!X>jV$cc}D46cJFVFdnl?|SPT=%P6Hyy4SW)T@W9- z1vfT-&`F^*$P>9rAnG?RmCx4(fM66QS#xSE2&aE&TJ^lxgw|g#%pYNFW?t5*uZMb# zKd=>jy%=W+-z6jmLJImT<;|(HVwXw>vs+IfCUl>_pHRwk$tZNd;|m5{6jLwd3I4*efO*#>%LB4Rm$u>VID&Z*m6W2`ew`!H5voGrRr#?2ADb_i)c;;C zYW(5A^73-WKO_RXislK)y+NJJxc zp2t5$*%QHxupN4AQ=-?rb0s(1yRE+)cTgqhvccKHew|7ydi0suzVBQddZ)8{wSkGi z$csKXcZ?%?&hJIpiLwBVwmVXZP{vYLRyG%sa;}GZAopuC*HfVr{j{JT`J(z_O0AJG z-#JfBY@q2->fJFhb>=5m0s8ut2VFJGa+qPH;(WrCq3r+%B{<^sd8z>E(P#G*k>~ML z{)0D)U1zk5Vk4bo2f=J5^B;Q@_&VQiSz}yeS1pY{OvP(I)12^%V22_9=SNwdE*l+v z;E3QUhf6SlY1Cva!=rAYica;f60i<1M8h}G63}T1gY?1fBRMOEX zJ6`#-3X^pr5rU|3Zx?-8nzf;8B1rSf1leI0 zFXzoV?|yAF7C{mm4_v*EwHT|u7{N{ro676+*+1<|W)S8A| z@1VCJNL#Y*MZs}?{0+q%2{g8mg<1wz#o2ynZsLobOFJB8Z<_nBqBB>#4U9{X*3}-i zX&+v_r3&uFFtxFyZq$DnFl9xt^81=Ry-B@>zATAM$tb4i-Z&xA)5_xoD2>;eB*Tf(bq9 zc$0SL9s8Nv;Z<|VRIK9V#XHx7PmRewcyY(MIP}0l@reNGM2>6EK$i39b|ByZ9N4Kt z4cL$wA`^^O^CJ6mq1JX)9a$L6?K&gQZ%Mu0Bf0<0`dmPUCs7-Bl^>nm`BT5z#cykn zEjv=x0kP&&4ERPq=L?dTMMi_Pr#r+3qs6gl&-S(drR;1_CwZr!&O>><&be|R@uS06 zAvmaqvH=5(?couJiz<_cdmRMGZH9gIsw~Z^$y;pvu~EamcZiJ?iV>)2U>fvur<9+< zbkg#~LBHCsRt77f$1`YrvVg3AgN$1o;8rIq6f!1E~;j z@gd7=rs8Xl0c5YHp_VB-L8p&2eiy3-cCoX6h6u*}1T!?UlUdCj$*}1i7I9opzb{UKC?D2A#|Ca_l;15n*(@EX#59 zIYbznN1QW7tRvX1leZ4ycYif(jBkq^E`R9{d}rLztlNl%zD-QFw`ae5v6}yFRR2w> zabD=@c+qQ}=2EG8oco%T;y$wy$F*t*?7;||N54KPx|as{I5nLboq2!YVuSLhSR(A# z1D~>9=$0Q;T`~I~@9}qmx;JUO1#iFdLPcL!qA_>0vl`;Z)yNNyu+J{m&9d;P2g@VY zXUppHN@(e;Kqk51o%dm$#OpJ1=)cJ%Ar2k&gLH51Qg*^}Z#3Q^Wg6h(j%4XQ4LKDm zN>EGQdI*~OOzsecl<}znYfnRHzBrHKHU6;YIFrdNJkB(E8AhcyhepRDNKo!vFlsLI z%Dpa+ &)m0{T!52Q;b4bj@09}yJEx<}d)#_w{W8={G@(??}&Em|;99yH%$lXx@L zjS7BKwZK@bA#LdSrFJnCuW9|)<1z0pE+#htjFDqlqfd zcOHGQ2_0Oj)8}ugNEaPdQ2ObX*9Y`VjvOzzEC4I)-A4DipJLycra~Y^izC24w4Y+P zVVaafXjcUs4w6}M^6KY9%K)rFuY>%iSN1_Big#{)ets*a9}wjf_rEPw3!>{E9iVWe z^y&;7?THuL27M3GuKS$fg~40rSx-5d^@qZX&w{|9)wh`gx3*fRp=sy|dq!LG)?<)s z!cU6_+q4>x0l@02>XCAzfrif5-Q(lu2g4A%&Q(ppsf%I?eF>!Rii|nS6 z0$}n9U=r4J99jRmfQI+FbqMm3o_W{ofJF>OQVp5qfqB2Rsmq1Ji&p~1{D$B>5+Fp) z-dY3a)N4THor<;`XP~;9{ZhOrpWUVjCchTEAqfiBtapwmfy4_wE|WdRVlxTNuA@h? zE|mQGPu?|Vf|hVyZm7@UOPLYO9q^+%@Pp*hiN-f?kUnORLJ@l1y4KeyYiXk$=|M$CZ(7VAR zI+rzdSZ*_B-Qk;-U9AKCMN0fHEyKQ@AJpsJHjxL8^hA2$mJ11+pF1`iOQnCXarEA= zJ*T>&&VyauPOd>Jx_v;i1a%j5%l!CIFF>Y*D%r42_lRBB@b;Di=*x#cu;$v-rVH33 zujvS#lvyYk0$La5TMx*<0zHq-XV&B`6s9(l6m|}`LA#j=iP>Wx8!ov79fph$i$=Ud zO2SU0?$Y=30C5%G{okz@c?hVeR3*=N3wDiI>vtLI4*a!{+6@BN7?hn zc*o~|)V%zTJL-!Ur9Ot}A8F6j=A{c;(|kA7bgkqxiok#_4>G^vCp@=JRU)X%gL0ON zk%8MzvinH6{~a5s;LyBJ+K^o(AsE!DGe4fD7jB;rZowmu$Pm8PxTM^54^gY-njlynF_p-y~x;R--1rs7-(akO;|BUp#E-gy`= z$Kj#Tor=vBeQ3pGy7k8RgTkXnKn~$`|F?JCfr>^^WH%a89V;S-;dB52>zQNnsh!Ro z`z9ygHKGUp{n0DySd_a`3CL{@?oZx_*DdV7Z#Jn0A-=Qhz4J(#11|$rSn&MvblaGV zrrel))j=Sf;0p%*ul%Zu)56`WT_6a33)9rvaji!XhAa;&E9A*_PHeI*{+n|h*ezvxm4zEa|grw*>q(hX}Kr!`<$PI5q7C>V&05YdpYJrrpUkm8II1_46?XB?_t>(SYI^SWCKDg9IMOm&Dn zX)mP>RPE`q`x*Js`d_T9sumqGzJIbBcU@o1P&ndv&dw=#=Xdqh_dww&2Lq~S^jv8q zbu(1YGCr*z4VP%4T@%}+C?ZYtJdJ}DVRipZnQrn1XYbTyGb$WGB@pOe(vvMA&>0qu z%O6HzX|i(Ose}7{`o7jP{1}8p$Pxkyh@73n;BtJipZ2L#3-|uWGhqQI%9I5;6%PyJ zOmF2H(EQkibGW|-i=FCucDi>d%APWO*5vY={Lj^!x4C!%osN#nl8Ca(%AePkTsq4l zsnp&7;kpDPG4Df2zKDJ94MDHoBAW_I@C{%pf}&1`@Hs0v5@#LY1=&}JeVGTGwByeW zR_%?n+OfB?EWbB4vagiF7bgMICjz3Ul!cTGR|`Odr2c8)q>KDK2^0(vGNr{h`5nNk zjSZQYYhfx(ca8`)U!~cUCB#Aa6R1B&2CTYfy=?<7>RV#6@=$>^gf_7DbM|jQj&t&* zi-!w>Tft*UeR@sIjKyJ4&9dMW%_eO*BI`8NEC@El2CnDtkZ07mG`0Mt z84z7q10;gHggC84%zmDeZ#&qy6xQ>qC?LJ^ka)snw2<%8zjmc8ceC;oduh|7ox0iRxDixO#$e%weJ$rLRp!4Lyu7@i zWXDyI1B*zfnNZERHE^;Ff#fBmEYu}f8Ob%UiR1dz5_t8hw&Sm9R6VF&wgJ0PfYY(DMni+XMn6Cly>is$_e+6c6MX5m_Xa!CKAh7h>%mjO{9ttYkEWz|K z9CLA10kqCf;336{Jc<65Pz7b*|I-3|@VR^})=J&xL>WtahwWfGhjA^8^-G++kVJR| z|L}vKIW0!D%1lT>;vGGYjqEwxapa4^&~Qqn9=!K}^IbQ-nC12l!)bkX`rcQ=W2lNL z22hMb9Es^Mh>d6lxinZ(Bft#laPuZRU?eI^j zpbCJ#fT4gBix3_jeqz|EhI`7OuLTf{-=R=t+3nW=oN5ru|3-xmFNL&U{6dFUS)a3Y zgGQqhDW{lLx>qcslySeUCj(fclT|`{5BEDkP#7So`Es^zD4CF=G^p~fj^ID=&A=$? z8mj*VD3R?PZA2i3fU;xK=9LD6(r=HrOWBs5Ou~Y!M`~{_iomZE4Etb?gsEkPUWSdV zguJHg6jAG2f>bg*VgETM+;SM_D@=&LZwzy13@#Fsp7hiD1(5~t!%Ls@B}OB8=f$*I zDUaNfiM-?!Xm^@nkJ9N6^=Yif-LR|H>kA`;4F_~n{36{)paDh{DXcpC%+fMGHDKyp z?4$Sj+^>@l!E*(5_ANkq0rGUI*z67E;)>E%aA?<(aK|eQDzNGbPXobQQYP=I8fU>* zT?L6Ev%*Wh&@uYm{rCME>a-1U0xKV27z`DM0%r&}Cf(xcd3b#;euRd=HYo*toGE3| z7xL=<^dY#eYJ7S05hgOF=}1-#5`20eBkthzy>nujtrT)t|nm`Ks5s zo}N5WI>+hq@DOosznG&K)14>Q#RCPIp7Ii>)l*Q;=DCJOM!L5uyxROh0tETGACw1a z3x4S;U|^z$PyN$Up>E%lGb0efy+!Omy9B*PL``}zv12;# ztk@EVPB1^&kP^&={(Bq^4cY4W@h-}AP(vsgs*$LDr{x8@Rqjdz-{TtnKUCf_;m!j;((&VjQ(4lRAHKS7@g&y2jcZuVS zSF4n{JNckF7R-YX@{8dJU~LAm{3*@MHh{G%m}(5bQ7nc&4-YC#18r_+p6d3^|33td z(@6P?5fXL^=LyTj$<-%-NMDdj(4RAOK?OKFr6lTzt# zu7D9)VursNmQ8Rg=C~rkT*)g97XCnc!e7$w^Y<|cvR?|L=b8}6vrEAFLUiAf>9%i{ zSYsaDNiFbO z**T2~!q>lPk-um0N%no!LNC1Bjj~L4_SQr8Ho;Q?-#~n+OUN@-@$+J6x>H&NSnWk( z@x@0YUZb?rNkYt%bO=B6r_P{|OsK5;QO|u@$k)3ii5_#GSepU#t z*fez#uAS=hSvZfIf+VzKtA=f|hbU!6v*~DsHaf6YxI$FvX?$oX6hUOXz%O8O zsK?y%_#+tjtXxh8aKTj?t4j;YR^qk-pP}co{|QnILEEEH6P?f>`nhT$v(PSr-SdgD z2kV{5eSQ2#*n7h`dRc#L{6ErUo;dfqYf55!{{Zigzp^aZO&zB}^+jLhej7<62|{IZ zC_Yq};DiK5#lI>w&L^)@laU-%wDK3fA4YF=!4#f^Oe%Nj_2&O~aU}oOcqFkDI33t1 z(}TxjP})ph)4)My)>CzeofT}@y)>fP&K>3TMg^3Bk;oG#2#*W9QKg%)f6x!Y=moCo zbG@&Ru!rWc}zlWY-m0&4X7h(8lTT_yr2$>FKQImxH#w_jul$(smcG_LhKoACn5$S~=OK!2H} zB1B)K(6(a`2^eKBX&sv7JxUV@=BhA|A#jrm3I02VV65})JBN7-*Yq)uDk~|-Tmm5{ z7J%&T%yR}@I-@+@=k3HI*bDfC>96u4Rc=Gx`v?~(M*%| ze)-J0*=hq!^(P(*C+K%tP6PQ|8}o1D&4o1IU2W0bt2E>$)az8DN3I!tdUcS!VTG?v*<2+8&lLO=S?7|d)A-7q>7Vh;zZR*wg{zB0~N2PVL7X|!f_ zJhFj5qrkJH9_sr}|zFY`y>3wwdJF)y%!%CUCjZUIcp{a^(O**|`8#&sGXgynfD} zW$X%*@Gg>^qQIT{UJ!p{o%+vPmu zhY-e=wKWUJH%Ih|30|`2%!m^lDECl1;39#~FU*d~i-FLGN<&Sy8|yP`rxP37C;@V- z0TJvI)R3aR;)?C{L~DVHvE~gXU zXPou;zLteF5S_jzP^n%Xxj4~oxO-}LT}FFEWyD$DNC0}tp7zQ6UWTg$^iIc-tGrQG zzehzPKF`!H20&bP8^B)+{W?o!k@K}GV$;AvU)fJSsAC{@oN<|dq>Abu7e_qPzw^3y zRrflB?365T2q}c{J9ku(aW+c~G^Fu*+~`6FFGdkfL+wGD9LC=3 zhcrTl!O>6_;g)_Rv`5UV81;fL>Jq^xhfzX{%&idEXB zCu{_G!SADt@=D>%{$_TnYiNe+9?{5bL_jl`7cLnn2RWDJEh!Q5?#yfB{NGIvr-GTt zBQTJ_7lN~_PWM7-|4s)4@(#ui6mpO)SZ}I=Ko62D5S)LrvqLXYdr${xmSb`Ru0^LI z6|Ipr(f}U9$peCp=keWFXZYdQ@y8IJ__Bu{%KlepnnbhChx_Zk;BZlkYX}30*5Si? zf82G5Sd_X%Mt^~(1hlhVDb*tl7vvYah~)fw!P?wI;}G}s6&Zr2eM>&EHkmQ{NkIYu zbV*qiCx$M88%9U8%T+!_p`#Nh&$OlOfM+2qvnXia@IZO7=Q z}7q79TrP!+b<#PyO$ z*)Jk*82XE#UgLfb!P6DuqjLBxY|>DPNi*pcWe-@Qwh|xdE=YR81-a%5g=@8A0&%)N zl3$g(?jnL^z=#}oas=OsSa0PUiV)n~dp99nD3rgpD)XlzlVVut*62P}S2L7m_Qq6P!SngupkmzbqhiyQ>24#m%%Lca z2UE&R5PN}bV1uy+^j6V+n%E|I#_Knzfn|@@HdFkXVVn@+r+cG>sACfJ&(stlx}>dX zxSl3ZPi>^_&f`jnOLb7RXsI>wf%H1rz}!!gYXkD6rAP)YE3VNk{AvZ6d3_TTO>SI5 zDO+F<>D77f9c=C@zyJSl*$K%3TysDYCTvwq?ZtgnUZ0MsN$2htzM3NP@q5Jw{p*-N z7;ICEydlIg3#$+EeDx*%C@*0GGm`dV5h4nhUDmk+_H*{e!t>00IB&kTMwVrdEc+l& zwtOGK)JG1vi;OcJxsf6Q+UW<5Q@C)(1`D&N`Ce1soTng z69wwpxMe!`NT4I8mW_qj@|NJ~|F!0vK^h51d2|<#WIc8tVSAwl{tGtp)a6ExQ7J7U z@!XD$5RjDPu9ZeY922Apb2m(s5$}tbIFu}HV;g7n4Iqx;yRVg6p*dPC$3>j)@?}r} z0{xuykUE-xHKR}dr#AvK8t9iU-Sh01)U%}GvY>5t9Q4`s8_zKL=qAzWh+a502ijKaEX)cUHTFtbcBEwEc_Q8Ps8-PR_H7 z7yvHxPXrQ)8TKRV^{n@S@csDR^zaVmif%|ni$HN{wfpuIb8sjvIa6*`6jA3u0Dg&J z@6CFq^S7w>egKZRpTGkpC!W$bmQTVUX@bN@JNrO?TV;N%i~O;iQB{zPSLU1Y?Ff}wb$98{ebxiC0{6bebrTI|Lpb) z6*;s$fFomq5Ao^G=*M%ilj`7yO97ntFj$ICBStg?8)=^C8mvMGsXc^??hX3Mdr--M z`W!+JTcw`b(4?QMgD2&G@ieb&BzdF4-4tU0&4+*GtXQ|A;VM*uNw4&Txa?Ss+6vUz z7^&z9zMsh%pK0tAN#V zA3j};U1f~Z+TARre9D9krsGu+1HmB27?4$qM=SZO{lB-Ipiveyzr|)TEc902((i*t z4Knh*Kla~A@t*yG4`?{WP6z)>@7j}H>jCE=&X9iU0l|{afS+I(HoReKQbDZ;q^{GW zKu7+z89j0DwZO#AC&Wx4!d$ zsIqx${qN4K*2L1S@l?{*b>S9W{5aE9MB6)RL@9c%xXL}u^BipkW1H75135u^dnf-F zgfHlsW>cCyiO%KjBmG>5=Jxls%Z5Vlf;rR51EWyy0|dI|8-4NQ#^rVpwedJ!V!TI*u6Iu%@1fcBjSH?g0gW>X>e8LVL2CQ zig@8gw*CKT`Uen3`h$eK|-XZ z1QnGbMnI5Oq$HK@?-}p^Tg!FUy60S#nZ5VBpXZkZhxaSm5Hrc%D|4rzl?czkGr{?^ zf|x+1(g}9|hd`hg^%d;ebQtO6lEkPN#;xSG84Af?F-`_uA#@)IMosUBzEj1Aos(*u z&5RA>B#=p( zUa$~*O`M@M?UtF**oJeYoq|HYAH>%=Xp7if!HHC?_@XMh=A_SZ>HoK~Cl;3r=SoMT zXM!{gQKfqaDsLeWZ0P}<_px)KmfLallHm~!!#8P%+y##0)cT{D{A33*}YW*;W`D>*0v999nIM9 z);?pu7x2jR<`Mk51H^UA9Gr?Ph$3a_0@Ii*OSM~aWyUeh7|8$v{~* z<*XN|1zRbWKf|M0aWU`CcZ#?74@$Q|J_G0%PakLM5n!|L4itX$qR)ZF==$9&SHTcy zP%-j;DRqf6cGj}tt8mn_r%#?g6%ttIgBfNrD!S_B{1@Hf=BM*RzCPPq?8OX#b~iV# zPFX11d^ho+N~Zx8n@+;N+V?vt$QE^7YK2WDAO|Qoo*!3DR-WimmVhc; z#=h}kw8wZe3U>V{l6CLw4SS02wToA`0{H-a10Dh?oAGk zuW$aVj1C6-{3-Nez_1CdHsLpM_lUrI*HZ_g*_jEj98u$E>I*&|cK-4d<-vr_P{(;# zZDvL7W`Y=aN1|R7(~BK5O;U9xKlpcj1f3$ zBW=Gk*b{^cC&IN(dls?;JfeDZeTo$y1xKt96hKsMeoea-8g2c2>V)*6XYi1de#YN^ zu8DgrE8lZHirkf^e0T1$h`1Nmaf*c%9Jn&-qW`nj`=@7BE}$L-=)_*B@It-4H+Zy2 zW3L|cbxT;s6;zY5t^k7brltgJKzeplW3WFzCUhAkyqy2G6>YQo(MsnJ{ZH$3+rq_h zpdbKJ*@(dS$i*9ovd0EE3`IrPSV}a-N4v$*SHMMwkO>!;E3UNQ9w6PT8<#JZ*&agp zc)|Gq3hKw`b|SjkmFUSmvBw^(S-sNn++An=a)PRv z#v>pl3V?1O3DmL^DE52rs2b$tIuy{q>q&F{uyspwTnz9!n<`gjkA=$q0*Kj#XWKq7 zaJRL6#CQH9w|k%<9x7NNfbrrT(S2xuqm))YqGD+GMEAwC;(6F{Yt*;qz>xqeo^@w` z?yR_Fzs_Y5A1nznSiawhdb|DXN>@EC9?BnGAxlQSu21GEd4B&)CXGD`MGIz$lh>iU zLsN|5R8(N;+0=!6CCU*&bm+{p27R3+nRZ&NK;mcq3|-AWssBYYCg0-qw#)cNWn%r#rCY%`O?Wm`ok{@ zjC3u*qighMrPO}mG#t;m%6qGZ`TCzz3kZiov&W;}W<@OfMQBtWJI9qNXNSSzr!uYMM>bj>q6>Z{2M!@ajP`;N<$laEFe98^_?J^rkc~~ z-P3doblo5`d3GaX<;Q20ot2R-w<8o~uP7kNy$Pa5d5~(b;u*gA{!s7)EIKe6zYe`F zz&Q2P*~BOZL$Yuk+J7W>aQhogzolnf-`Lmz6Cz3bi1rccQAz*YV?-`}uBV*bY)>so z16%|shE%lupxCS))qFYSPd+hrY3Cq1UYOT?@cG}0^p2BYE3o4v1;Ummak=$_wTh8E z%2jpVRHK1*u%rGQ@JS$ig%cAr{i+y1`EvVicW^ZT9%`I&FZ_6jrv2tx{kkJf1x=Ad%itVwR#?)TiHJ z(+K$pU5kG`WYWC5KnbxDfjMB}Pl8D2uIZGuUDC^|cnn1p^HJl+r}eC394XuGK>zC= zk{Ru^vIukha zPtVB7{nCh{bd{M4nnuC8#a_y;R*L2g1Lwq%ggQn1yJ31Jfk((CJpJ*GCzGS;$R+g6 zyQqWZZ~8|PUh@*4;044|PEdu#Db8c~*IgQJ7ccDX31p<*j`R0V=`G&a*;;j|%YWkK zZ(b-jePL-wVISzXYdb*;Mm7Eh=0lL9_1dVzE|+agT3Y(`TGfdQY_PSfA}=b(g6S-h z#Em8|oIf9RG4DP^2U<$>&;3|s*gN1i%CZRiSAxJrw*g{V!BKi=$R+CUoU(MK4=uX| zY(P}^U-4eoC~^0e<ZsUJ1M#~GT|I24=-tSXTNfEatfKv=?u~Qe-4Bz_Lh97{ zSl(W3yCxPP^GA@){i)r0y?i+a#EsA&549dWPpCZ${=XK0@Lfod8Q;IXF#*4Cujoh! znA+v>P2equ5jRM(K$2Q|0wO$+ak!%)-RdjAlFZN9%rWPfhN`mO5q*$P7RgXZ`Bs3J zV`XJUjuiA!rlV~ME=zA(B-{vL>y>PdGM!Fwb#b~j<{qgAfQ2tf6D%YlX!WgCP(DgQ4(VhGDMc2jH=Vm6^Up7*8yYySR zQG1laR0Y@cM|=&t))4#Nfw?eirjO|3KTrwsu&b*}If@{8EH^7IE^eF{TD~S62dn)~KlU01P4xonD{ z@bO3O6|;s!S7;Gg|5agp2T8T+8tz;>Xo&~=*_~RxbX!FMc6RgT^Zr)sxzmEnCA?T) zYSkI}R00#9f^WgJAID+R5u_2O7%GpTUuCr2mi!8aW0+#JGHvA<~G$Wu4dYybD2P zn&*5|L(3*%nF_4Y|Luv~<03EXZ%ZgHRk)69?Dd=%)cOO;bwFtR6w?IE&I;-y*Ab<5 zVuE1q0&dkAX+kY?cdZ1wrcJ$uA`V|Q#}r$8DEek5K*;C5y2x4(qAbQr*QuYtD+BT{ z$usa;AZ-0XF3R(&-ArD%aR=9_aK(j?;EcK9}hB;?VWZ4pP+^_|}}wjb1jn1fdY%1(+6q zshK7!6g~YSz2b(L%AEh4+LZx+B(zFStWAybw>>1!Va>_#+{}X_IVW*@r}%knY$& z^ey(2Urv?oCbIN&GB7 z+By)rLV_FmZ?J?1Pl68c@~QlXreaeR9;;g&0PCJvIp0keY3Us6USTEMQi@o*r%h?D zFOKXugJTBSWx`*JASkgTN3E8ejPfBECNmn`Juu2`H|{B%vDvP4O6wXBUUDL54V9uG zu=*r6;%5TWBLnS-&`sk?Nn86XdU{b=yu4327`x|a|AZWi?(8^kA(T-TSdrDBPnVa+ z%gsq;cjn&Hp{L})R`^9#dnN2O>rdEWW*x#{Q zm~IM&)&ai{Y$iPB3H>$egU&3UZ~kqO$POz4f0ogQ!j?k^z0o_BlwT zHZvZJnI-A+xz1ML90l=HOD|kStDbZhOEchxM+T`>G1fz%Pg`F0D2+PqqJ|r{k{5(~ zv^!;>YR}ZZ5!;-IpL&0uFX0%(-4CX5Gq#_G8^GRl0avSDW~^16c)c>jg1f22xG13! za@+NcgH2Rkn+A$v8|a%Qkes_6M7<+Nj~=X>XTCKQwW1rpN0`sR%o4Uz;wPT@^ck5L z`754Oo#8O&R#T>0F8dHq>c_9${?o_pv&}`~`*Mh%^-+am&rcK*Vk*q)_DwYfro7+e z)T;zSDawNlpR+y<<)^6x0?2y#bGwFp#)2flq-L6&v!P8sYGtJzDo;STVtrcl`r&KI zgedbH?TA+P?5!o#GB7M&lK2qnWwZRJb36MPNGFY)`!iiVJ?G2M$B@*UQ`~TeH&u@| z88ktx!xkpLHwE>qVRS@oM9qSxVn3J(PmAI?ncJ$0A^(&3N@GmuFewpv#*9zh>H_9% z?EC&RXftuBhqQ~2L}psZ2+u^x$QM4c7m_SK{=3ks;nLxtjP>Pl>us4*s<92Qp>CdcELHpFndPeh4DC?fH3)JX z^sX`MidA#R-uGFEZa#%>DYvs1P15F|7*NMaQXztJ>{R!4x0KlT2+{FJBJV&f>y4<= z+NrcoZ6{i?1s#l*{)kFVU(+yM_q}u)Tkmz`vBoLLJO(ZIl^)Bhmxek%Uj_^otgcXp za~|wBAVY%nrRy-W;t9xHJ&Ltr=4aw}!MYqeGImbKvkQoykcPo&_dW3hlooTYj=KDI z&Ya?vW+U`&{_xA(ALfT*g_L&J0a+lP|H%qe zz&#?D!L;OQ#gU|aLUc8l5IsfMx`yz@6xh;@hYRJf%Y%PZH0c4mcd$B6&-CR;>s?3J zLN?U#=oxC_E++!z6D!bSzI>n-@PbAaLRP$d)U+^EdSivgG7!6@{;m9#GR?9*A_C(| z*YtT;=O7GKYI?ebm-G&6;2js2`3oury&3800pfV51vMju{VO**^_TeVx`PnPFr-xD z!@0MQ5>4lq%6U}pRpP`sa&0afam~fQUS|MD{76b;CG0W!FQ4^V6-0~zI1izsNPhYsyFav9P+v*Mh()v=JcaqA5AxFjre$}_in zK+z`PoHn(BvZNcIMR@Xi#qh9B7Q{G;ZBw1X8dM4cGz-0)g;e(^+7gbTL*wr;z#f&P z{buuS-UpiOTFf0Q@^o8g{>uoaWI3w~RbQr$4^@pZjF+Oq)gns_(=#(KVyO6Y-9fSa zqU6>toJ6g-Rk`-^mIuFsonOwgKYsoLPdKFTHr(Y6hT@H(dt&HNc(8gI3C`hsfD0b1G z=Q9@kd9OUo@j!{|8Ey8&#@rq2-^ZV=r(XqA8gv-6989cx9>RCW8ku+>#*%60+1YUM zi*JjcHJ-aS5yE<)8aHy=^)Yyq_rv_q($zA8zlyA~8{b9#mQsXnva z6mz!G**YE&m>CZjvb(ZVCYcU4f08L2^( zI*9!c(xV5!%-cH;qUc(Zr(mkgE16qFT}3?P(lV=m&?Gvgfzcs|bSPV$wNldY#kXI= zk0l;5gU7icxVY4PXnhv)T(=`619NT+t;1WBm$-W++st)tCs_Dv$;s7^Fqw38h<`g1 zl1fn4!)YQsnmvOKwD=x`len8xX_(b z?^08YE4PM)W-kY{a}WdB@j{eZDBq`z1{T-F&$j(ONunG3KxMJ#+4NQ7srOr!LhDk= z)SfvV{vc~|f<`TMR>Y@^_hxEOQ7n!BsFUD|i>x|H?{1B7FQE;eOq`Db!e-9Jn!{LrlXE1+JCXM z8pXyIWvNz$a$u&i4G!ib*1Lt?5{f;97$HrFN0?Juf9Z!aChx1~RR;EP&tKcxKrB;QY2~@v#D>WHgZU6SZGFPY}egfy7 zNn@K{u(b%PN2Tt(oI`435LRqW3FS-S^er7#BE30W?w@~u1H?=?ztY|A>3ACTFG8-OvhrAPCWUmn%^rm|^46^W`uS6&z5MJ!%Ag0^3u4-FQ0WbhNs(7szjzj3=Vzv zSdEC*TPDA%o_sV>f^2Jbb=V!iBal;?J9=rITr7QoC-LO(+5pjt0V&u42f5&8h)?Kg zyiG!CAlz)+=f+f7d1CbbbL-NOO$X&2GuH-n-&DV6(T_UpvG81mTo(UN^Q5gwX;ck8 z0*9YG(&*VPUj1y+Z&VTqX9?a5&@41p=V|-?grb!FP{n^x%LtHz6y6z9Kvdr_nqp|U z1iAXAor6lOUlrw!d025kpo-|c9B~&rwlNk|*aj(=lpfsDS^X~;E|`0NB8mw5dwIP% z^ZVuqyph(2s`kFB-_r>vr$wyaCLT6#B-*@`3HB%RGEI}R}^nGM&58QcHwnvnDcy++) zv$J_}1Qab02!yM@&N5I!C_M>-5zhv1CcM?}N5iGhb-kj5Pq6atGfFyp@YfYa%B%Ll zGTp3tYgF}dNb_5;TFkEn2ieExZ0#J0HH;i4ZGS<05A;!@>Ad1Z%;S=$gcG^2VoRvb z(88JiP3qw_1Qy~b>6Hjbdxz%xOEtqc1c*^r5yt$&29!{RD@pYD!r>dMDDl zV~{JUscHT4h+~d;ok0GcpH)A#^b6GU7&Me1sA8a-Q#y6)GL&B$2(#{c=6$?5w0;9s ze;gg!b}GM9`R=bz7jRx*-Lglo_8mCLX&IXGCEtp9G^FWeFdldBZLy5A8tp4TGGE(F z)Snb@mSTWU4!5!$oEzZj+59sh)_BhJ#p76zt?Bt&*p~2+xha&AV23{(AKp18qnPi;@g-RGx4rZtkO2L zB}ir&qn1)T|Vzy)^rhGCn3YR7pL<#7S;j>tYJaHuqrNKtoh z3(hq!zGyKRLJhRaDQS5)$w4i7TJQm_>Qx???XT@j03w%&s;6|kmnC-Mm4Zv5V&@u({T6z%B0wd5n zQl;;ezhpe$a`;>1BEI*6$e^|sCcN@k)^Sw~dqgy6F~0-?Iqo~iz%}Ol;%5IVqW@fc zj32D5*j^2N&t;i5UXJ@f>}Meb%Ouua1_PBNL>Q0Rtk~*;h9DInlWW9!`es;_z5?R7 zpSM=M2r|(hO2`Ik6E_OnqeRGB zOm`O2G-3*xR|7+xDthAMTGg}Q;|N9#RdwB(QbanB<;Enr*n>{M++GP2bkvbKq~X43 zQf-T|h7Xn4y~SAbgjvb16;LmvUSQB%^s**hcMH&^>E3+^uYB)a9jcs5@1MB!X{d+t zKYK_Fr&2XN2X|W+as^=dn`a2t%nm)^eZThd*{`bQQ-c034b~=&OFIzp?%mLHgBB9B z!QLZDQ^wC{zC-2i4esYZ6KyDdDA5D#ZlQrMk$*J}-b6PA=^89|_5!oRB9P(uf`d7N ziosJ-dJvIk`|n{AN9vY3Qi3e&BeQ@G1HvWpLEHZ0{QN6+{}46YG#edtTh&540mAte z&feV&!>y9L0XFozpk2Wrb*l(@1$zxnP{8PZOEY}Vf`T+1s{*IU>uxf;?zJc=bv$M$9e`9+I3joAY6m5&N2I-@bKDr7ObjDs3(}e5;*NizN-mz8AtcKAP)ew~yPM=v)PO88%~H%JHyl0)LkE%c(Wr}DS`!%R&7H{yJsIEhxX zX(0n?V3V4~vq?#NX~cCCqMLrFBY{lKZ*jwl@6PsHP9$reV8&knAQW)=hhB1Vpx-F% zPlTXFU_Xlij(FZbaX9<~KvI_wU56<WMdT^ zwUKsS3c=E#rp!foRs!~K63=ttClZatDs(w>O!|oCXVQ!xzrXQ+NXD5%<5$|tal>ph zPaG@#!HzG+PKk}MY5sc8`18#kc8jP?4NAN;;mX+HDB2x9dkE^ZBL-|8o16A|m~x)>C( zB76iReh%zXK#>_BOIE*YnfVlITD?a~QL^dLYB|8@9+$R3kLQ7Q67iw@kHS>ON*qlA z9R*+#hD5VWbOF$|W^ItgP+XNW>1W*=waI}L#PcbpQ7>;Gqq*we2WxKF+fNkzNBUlrk|hV05_y&q z>T=rDKcLS-5^#aB`-j+ zKg3`$R72b%!i{$;2Qq%O=77%U{It-n^_Zho-{@iVb70FU@h zokGtc(mg=D?sD4i2OudGBOCh{^ZuL_^jH05Pf?}<$)eBN=^lDnZ5Sb)=NKp<($4bL zX=zyYVdV#-D+9g_p;tWa&2g!Mt9b2MDlDYu(%DMCN#q_xf>(vOi?-hnoGY0q4hdlz zpCeide zKM~$nFDGR%R59yUelhkP_`S%(DsG%D{2cs)%I^EW)gkWUL?0Uc?pmae=ryzizdAx0azt=DZa;jD3~kn5Y)2|aTodiIc ztzAh>yV@rcDJLgKE_-qLpCR;Go$^<|oFb}xxcS(zq|rrqdyPU7!+|6|9VW2GqApMH z^JITFZ~Wf57g{zt6Srg>mEdA|$b!a->J1O%!a1ecz4&A=zK;oy!`Z(L3ioj zEu=5D5ZhwVpbc_nw<8<@97CwmA7)T^$voG~FFQR`Wp3qE+_YrdzkJHRF^-^|551qw zQB`Wo&-h=_`tR46P2)n#_~7Y-k|RWj&S7;}^#IV6@`Wei`)cs|_(!9O#ZuBTnS!Tr zp0WMrnR3rMy1}oHtdIjO+!9-sQ8w5TD4LDrR0QC(KcpH-P`^(pi;Zj{+Kqn}%(=#h z*xi)ED!#oc99T=Q&VEh+s38t4saE@?n6v}Ij~46aSoPt+b>|NevP`xiNC<#OW`@@P zC^v)bgT?VtzbB%Fuatb_^W9b~F7mJRDRFz@BEz-aSW2;Z4(~n|aVFC;u+c74db z%ktj$TPtvgM-ZBvIB8(f>@WUO^>1knR#l8&PeF>MLF|1KOnCe-#CbaSW^SBA^wi$S&E+6fb2|nv zS-;N4Ygn`#{@) zg;V~N(l*LUO2I}$bA!ZsW|f&kys;m2zvpAweDeT+$S~A^R$yS{l;hhbs*##-g8Rwb zER=7+YR%f9f+bN?vdxc5ffD1Y- ze!m_jq(kS}X%0igSNbQ! z_4CMieUd%cT{-HxyLspJ%77Y(CjO(Bs2RsLE@gEQrzvaD&6iVwhW~R60=Ao8Jlz(S zRxa+Du%J(iWjd;~%PZ)=d%d)kSW3A}Bj|q^ubzCXp*Hd0ymS|Gs>t7LUb=9s9Y9A* ziMcN}kn4KzN^v;G(Zx)%TpL1p!0b9dKOg$R21CW$Q}=-``#d;Opp07TKcm?C%xM91 zXaYq|^Gf|#+CN?`u~5S<8I_Ry65JSD2K?j8vEIO!K+8xjJAAD5J>yv)B8L zJ?<+#yYkt!(NG}&IOdn!jkJ@1c8A-Kv#o&DJa7+QVLnjlvI!E}M|~m?p?vcu6)bYF zNbBIv!&1CbPtF?10FYnkh%sGy)W1zdF^kY;qMZR>i(h8{Ys1RPFnaqEpE_tHIeG-D z3l_;5A7%W}GO=6Giu1o*0BO(BjlH3XKfZ+MFDW*`TfOlAc?PaZU}vXgJDI`3C7O{L z8_nd6*0*58QGq+i&)U#Z-1*M=tS(8d7Me8fXqXMHSYC^_w*X8l%vo2$ZJuAz^N!hg zh603tU~pj_U85-{lMbh%XY}p&p=Z~jv!er^xefnMFo9Nh8-WVhxQOzC-r?|j3SH{? z`ewExfDh*P7;ZAAu`x$S<*=7nmI%%5M6Z>O^GzV8 zyFMj~HHvZUl+g(w)5vwFp-fT}Zh}BA>86V!YaJjjg**FSliSh%Zd(hsba!K}^z`mO zbsqySzy)Y08aYMo`i%eita}VtJTRbCqj(!G4*4zZZHy_SkiOe%8na&8YRC&()#b}Q zGSfk0V|Hm%2^+u>l5<+iI%GOLp*4aZ)Y9@nV2H#x_}2(%((K!7dcTV=Vs zG#L^}D{wpAr0`fPa1xw%exJ!S$H?64L+xRNLx{_eH8Fl%6@hqGsGQG-w9hV7GdQu2 z0Ybh)_6Mn_ZV4cNGpB=eMAjg*IROC*(Ek{oxgub-Dk@eaUj+yGuQcO_1?zs187{`= ztT~XmB(p1f&y1Pxc|gvQsbV{^p8_2=usTqe;iZH7TK?Su<}mPwEeAP})x|te&<-P% zEb@nkEu0-5+F?#0#~&|i*%@TFnps%I{%9)7pmn4dcCEch4)3W)zinxjmOXI|Ug=<0 zgHbmN8K53Ngsk>`rL{$b0=e?+HzMu8v_^20P;Ibo+ug0-e~ro>aFnqgTljs&9*7mM z$NIlpiM!#x3gGGhi}rw=4o(uJ2w54asaHXVw-|r(%mts>{1oH02_aA>NHI)+e#TL7 zn+CpMT@EfUdUNq!Xx+cVyM}?w!8fAGI zcYtLC0avU%YL^)SROFdK1E^bAr1eDe!NB&NkBhxnJI=U?RuyTxv$_Qta~dEr$vPp} z2*Tp8klW-3$>v}*96aVzoD)TSxV7ac8y{vU+UKomGQh*5=+BBkdvKlY{SuBP=!+79 zoho<|h_)P+a|#OeQ}Ohw1L(n1F7p3tg(&Y&$efPwW5c^3ZYPf4bp0P~CsGS_GAl53 z`aIQVM8>X99i{L^2BpzZ zbEb%Sf01f2kApqzYc1YZP`Csy_7dxaOQzATLkY0x@#0psE4;O^ByRW*QF00&ZKp<% zQDpqdr$7J7ROz)}di)sWv| z=|^szCQlljP-pw{rHGU?Fly5)f`93PA|_;0Gcv3^EGmk$MA*zvqB^#S*Q<^}8lAV5 zY&?tGE|$DMM;s6x=Hue*7l-!qZJ5*;>zMGoO@jR!$y zOI6X#9_UjbH>%j)2j?lfd~ORoE0QDgZB*pyO!LUnkiGbP;Rp~bE40f1Xm)mATz z4sAM?JNC7DcB95AEjE+mRMLZWA;yL&V^5|&Xt1oEd4pShovgQb4{^w=MXk!djK`ik z-0%bZYB0hDDDtQd81g6w^QdB?Kb=}-th4yfQX-6yBDU*PjgnzFMnpmO6p-f?1!ZEF z)y`M*leJ8jGyuBUyrRKml#1$&=zm77?_U6s~I9 z0ay1g!|FzGuyw#S-oo_PeD4udM{-~3DOtlo-ky5zDX{6=&P5so#LoC`r_$f3u-%c61@*pq?Y#6 z`XAGS;dFUfs-U0%;&@_yt{{-z*?(o+b4N1d~$Y zxv-P;5o-M`{Q!aXLfOI!pP+x6e%nWw@)9pOMf?_UWj`v}onxuy4tdL0K{>k1gP)eT z`>E;liUlzJP1uIlhN2C8%~9L=6dJTem0~L6vbw^$%!T3)x)lLOBN893AJJ6cv+=%F z$Il>0T9kTyiN*gNc?|o>C;kzdQQ6#O9bcyq?9%K9{)o5)k!3GX{LYV_`;ug0y=8@r z^(g~MaL#^Fco8-pQ?ZjAuFa63&)Q5m68s~1X-OUs2r=mKCUhOkHNhpo(GLQdIdkmw zj;@IuT4uq3gFOUan<4)vT`^$1M1bgoiKcVMd0`Q(Z@?!=544F*{4fF+k)9aX1}hxL zP|+(3b_7^vl^hnVQ%~3zW8?B=kRUH>RXW=`; z>ocCY(ZK9E{p`(RX)PNdAa?CsSYGg4hbi)XRr&WeKn{fbxv@b7SB2-lDcg{HffX0Q z*QNJi;*TcFwJ|rhS?aWkExHk$$uh+wU92iJ7TPtJi`A6Gnirp>DD5_?a8-j$fv|4C zC%{fRpm0cy<1yhaKbo6Hngd_pa8vLxn!3Xg8OmlMtk!o{Eo8cyz_SIz4L53DUz@CD zh^}$&os(TsTr%TdynWrkKz5^HDdIJ*Y$!WtD8=Gu3H>-TqyqSSXt&w_Tg%7nYHJ4t ztU(May$badw%1>_?awpm5mkDh%WFLH%#Ozlt^pEu-`5yU|N& zgsFqnGe~R$Zr5(W2H54Ug;0JM1^ss*2#JKv>m4x#nHdtT42I8_T5t$r6bM@&u{&>* zMR*BHIU+HHYMdGeh*-6q2yv+KFWYgxKo8PRBC`VC)n8+y@~dsoxIHtT148XjP>sZRH+o5d)V3#?qb5JkdqZ z4MpRyqz{kNA>s$Rpw^4?`F0#a)*aw+q~te-zUtC`Xe%uL?qXv|{Oy5Lfm+iz$cHCO z#g;C(9s&;K%O3@1F~~@8?b&Y;0Myc&HU~N_R?20(AQ>l?)zAVKNW#U&O&*WNQz17mN=`2c6iz%|ow{ z6LKI^k7$cv4}~*+0D7HBL>z;YE0PlV(M9U#ro)3F$ebJ=K+fuBywF6i#_@=J56*So zr=%4_+)?i}-9>oXNGyMCu%srp)j6maZ2mHNHw2u_6pyIV=&?7D|L+oTG>g7q_iWt z6>DGY%lKb0F5D2$I+1hqsy3jMxyD78*h={Uyaeg4sfo)_=joLWL}GRtlM|d1+~U3t z%I|l|eXr-qF*{Tj8F@y2Xf5Rd_oU6KDDp-nk>_6FZZjgjJp zaqhywLH;y!pm)JCvw$dB6&p7_>#)~@NF7Oti%z>ftbI6&a0JGXm3nF$;w}aOSqBFg zh`|3d=06s+VRb5*NeEuEkc;UA;K0Nk@nxWgz6u6#H5Vo6mrB43m};DB&sWfV{nEAS zp?h$+(AY;ldmG`_T`mOZnxNL97P;*6V{d~NFySA%mo)yYa)dAP?{SCnzv3=7+$zmE zu{d?N)}V@Wr;)ks4$VD5D0cL&y zCL_`XBXZ!_#?k)r;Z2INs!M}JYL4+wA2=la4}Qc-ew?S~c(uJ%O$RYffO)+tgcc42 zoEr`XFMIER-dGE_bKib)Q5(+it@ASff^0#n3J@wBa;>l$%ZxidB`DWHwubufZ*=eK?B_ha_in*yR~BPu7;Lf^zta3kPYJfCBgumQi=+tKAuX)&|we%NoXa2OJ=oi z%pmCX+*f^3_{r{{o|L5<*du5Wz%<$s8F)*2x3`YMuD}20vSf%rS+?4$a?A`yIvu%k zyRf<%*}NK{ap$F>c?##SddRA#hx8GJ)%78c;r;Y>iB`Rk4WIsr6IE2;U@8}bCX1R9 zde{phwdfp!?IBpS&bZO3YaXOr4dXcgI4MdrYQ}M(@_fY8brK@8i z59~Ov9SjEKZGd)X3}~(%g|3}HAZAV&@te+&hsQLAAo)hD$idDT`!q-yCAc&|8S+n2hL&YI4zbuT5)$6>JLXa=z_&7t$57c#V94Y2**hcN{rN00 z?`5SA6!A9!5r9H~@-GI}6wdJSf-Zqz&e#v%eyt340r>!E)k2~%?Q#L^sg!VHjc~O{ zA~FaM)$*U6rKW?}Q;tp5_{wUttr)7{)u@nYo5it&`5bkaAv`-(AtCCl;*#;jSU^eY zoCQSx`0@b7lcY^uY2Lw~d;aK!yU$VMA#OAD8>b?{+0SiMjhO(` zp0yuL9!-a;q*dN*7Y(&9mRV36;`ZqBBV>+RA6Ml)c1FZ3A;5@qJ zu;W;;VySMvzThIAqGp#F3?T5|1IOCByRVi;oj_Y~{W~2_14=&(TYfAGmc|prX9%V$ zAWIwZvf=>jhHKoLP1*)Eeqx&wUS`lW40)E~)8A#3l}kU2?4n1YDZ4y zV)>27CN=F3hOzb!>$~wgRHqxuvK=2eGUGN!U>jnU{O!ZTr3MPE= zZ(DTqTNMX8p9{kI+2A0Ukr7Vp`E)#}E@i@$5e^F|P1SkQNy}k%KR$UtSxai=6w0*y zWl3M~Po!~db{|5Zg`j8Pu`#W>CdmBf>YUkqt@;^1jKI);>03*IAbV`Yes`#pFks*s zrN{og8MQaF%U;4)1b|~sWpsTCwcXwk1`Q2N_}aKKO4iX|BbcrEGy*6MT2PK20V!gO zq04x9>dS)@f}D}3yBBUifJ=z{_x3xlBENtCuG}%b;tq~raTe*Eu^;wE^KVi0NV7VL zL4HRVpMWhBEPV{)OnhC*&OPL^afXy(jyE5kCQF^|ADhb$=~z$vo;K zQ?|KRg@K1p9hv30F!7&JIgo)Y zx-=c6H0|b7X4A+7%~m`DDJppPK@JSR`Zb2Bksg`WX@JAu0ksdpY7>ePD!bxOJBFM< z^rJsm{WCg2%$mk9TNUfzPsl=8-P>v~F0uoIi-CbbYF1WCWkQ+ABRXqUOfsW%6JPTf zg;3#b=mwj~kpJ{^;bphd?Z@}t>H)lvwR-o;sas^hf#5a+9xFaTA4Ux?NLD0xwEeYM z7&E1;=i{A^s6d)#?{+^yDA?{I_9GBsd13PP;3-xF!1ZL^oJhFY$vMv${Go;Fx6it( zDq+)xoVLI*oALWED5bnpBAn8mxQVZ_`CALD(AyQ|6>I&^1CXG349y*8EnWAI2nOMS z*V>w5S1kLGSQ#UXfiPfzM(3vb%#PCUHUHEba1m)fT3;Qo{I{#Nf0TOImF?7nWcxkl z*lD-DMer*_)x{S0(sBP2Nm!CFmjKkdjj>w-|x# z?gqZD>rzq-<0mfjtbe(sd~`(~b@dFv@++kLk%XDZ=n}T3R(Q!}{4m`fr zrJ#GbIu9xJoV>hAwTayvpTsUfygqT`NiqYNpT{zPEa{GoI4j*jaTay?+r_$eg}}{aPQ1@y(gpl(25kn+1VFDNV?ZYA zElzJpQZiF67oA|*If>E(-31Kp@W*Co9dCJ%I0?Gfqs3Ek`n1bI$Qbn_P(ItDnqjW+ z7q#a7hpa)R!RM)rZWA8)dkn;fAjDv-md1u#-&vg@X)J+7$&X#GM-6jMn)q;b)(OlB zBfK@73qKd{cB_?iMv}%#`xP$7Ho&|C(x3blTn_lIAHdW%(mi*_#s1fCel!K>_x&?B zyb)$0LHPcmWf|)31U#-g^sdx1q~+qYKx6!fLQ?E~xfqCK;0b|s5CZ5Pg1U+Uv6)>P z7`)&yjt76gbui3M2bXXTlpRe$av8}QYj~DRYl|Ddt&mMd{9Ba5K5N_VioPDa^omlq zjGF%z`s6tZeA(Ee9<6R%f;6Q3HEJX$#X|Cf73gB<*s(ql!N>R#$RX(F#a}A52Fjss zaE=MH+1Qj_2eGSV`WVLtCZI|A(0@{OKnvbKOFKDhEFQNHRzb}LTg$)YzdE~+9Raoh zkge5K8S>%^e@a+%OMiD3vtm?CWRUxD9GMRo+ZdwvqsnpV|K!H`UvM+Q;mmE_=3GP3*vzR^7?vMe!Svb05U#G9%I+76C6a)wlw>+ z_)=7~kL<41Ih5RS$-po-owL;Ae9Z$$$n@N)gujozb0CEIH)fs7qrc+KL03o zuhPg7?}{dUxIb)jONFEtW|H|A+`pr2M7%dX#`)e!CBTgiIk5UNuIF^g@>HgL!v)V4Vr64D1-@87@w`&HbZ0X1efE-15?SIHJeInILYr{WWh4_CR`ym;z=!9%cH zB=NIYJGWcyj9c`*AJyDI>))-dcg#-L|NT__Noeqv;E$XWyVV9P%Z7=cCPF1W|NNA$tE0K|^f zLYvbyIY<{URY5}#f1lAIWqs|D;kiGrs3;l%qT=Md=&3#-)XVB8-$Lwq80qek-=$t` z?93d<5CcQti=Lme!mDQo<+KZ*Q{~idIdWdCae|)O4+jP_T!5ZfN&+klN8kI2Ki&&7 z56v~96QD6O53*aOq$CEnM9~e|A<80vya{grm}0XyTx)>xO=v8x+}uEU4GW$SgwVD{ z29Gd8R@Rd5j^KiZ59Q`K++cTLA*%bkgc)>UPbH9bW($z|mqyt0lH1$6EZMNy`(R71 z^&cy&oI)5Q5+%!A1L~lcmC=^2**d#cs{0$)g8V{g_8lHgy>SR7buOv@`$gyFD~wd! zl!+#pYqo>(9m19v0%VKDZ)vPmw1%rMl^x7@Z=9V_?BT^^|3k5H*wRjr*>_LW0M&+3kT|B=$1m5++QPAl#qZJri!Ugj~;!s)UWge z=&w>AJ-rBBxjsJ7EyEO~E6F<6M$9)AyZ79bpETFuvhq~})Q;fTt-Rsop4MU$YJGN+9DHRo0=tYto{cb{=X^k>$MscF}~ z?lk{~MqBmEIBUB%ci~NrG_Nn*QU~VY|Fi%@0GO)ID8f+<0<3==UCy)@Z(zQ9ac*_x z(f--#nTfn=REKw@Q<~yyiNnSphled^lG4GuG92hsj5`Racv0n)HfKFjpCpiLGCx>3 z7ipbvL;B5yJ}yV&Zpo+VmOcMU_-POUZ(yADsAAY!Qk^7|Byg2iV|Ic^e<_S2a zoMkwBUP-A@V8Wc4tb3A%_MSQ8tJXY@bh4l*fPHY40-7ufoYwawYPzj>+71cj0m+$@ zU>a*?zyArS0$l0GY7!9m8Ro;hM~-}7W%1ZEqs7oD-*#VvZ5~1Q4CL402CmHLJSdhD z!iKM@n9xDg%2}(oUXwXY?mdETtJ851>KF~7EFe*TSN^Iy!DvR2_z)Cn-K`-FD~GD+ zpgkA(Z{CZFFFaPYVxM`=B{x?Rqi6@GbRUcCO^L5n__OwNs5 ztx+&~;4$=TRTjTQxygqO3IIXgJ&wo*I}j4>;3{kmo8;i!i$LArz^RfK?)(3>Jnz$hj3E<`{;2oNBY zyW)HA%>4)M%>CheCUeHIgk*pAUh7%U^Q^Uz7uPlS*(_QyCCwL$3Nx(A^6>4z_&5F| ze=d~t>f1f031bfoTO5!K``XiMOUKLSRVCT9#h%S36OCMe_8@Vj5RFvl!~In;JUv@S+)v)_ZG^^ZKFg zewHK;SGyO4vVv3mwWynK9kQ#`N{A+9`8;6jgxR0Garz(2z`W|^F0|$q54kwB3dZ~W zr4e^#)1W#WjyT>0(pcL&s)u7U!Gxik&)E z`6=i4^&>40jQdK!h=KSi0{%LoMfo@)N5 z>}S}R(=LEb8&bFAXe*+03zQy%F=qe;;YKMCsmB?r@02{k_Uz9MJ=cExJ6EhhpdU1j zZPBQbMrZ@uMX ztl9Qc$E1Rg9c4AOD8O@&ANHNpt_(e(IPN}IDfQaGoa@a>*2$yHhD8%+Jm8AtL;yf= zL5ozJ0=6&rOr9885#6?BN=_sl`nzsvx7eGikGHe;rv}o^Cn8jYir$_7@nX z-z(^aS1h$+bGx=_(%n70vbX4F=cSJ$cEzo}Ejn%_vU$49FA3B!B9Z8<6eyd{rN~j; zu;<(JgIqg|Sn>N7Fm$<@R!y}tS@S~Cvm9sRI(M}@cg1GfMEqk*1mvKQf@->ma*C%o z{rkI?5~Y9ZgK`(;$5-)Y-}@soc7~mEbD!MevP_{^x zJr;<;i}7veu=AEN-9w5eMXQEfs9wQU`4q|zub(=5BBasS(WN|lmATQcnlBb2xG@W* zlpPW5{6S&=6y&t)s!z?twUK=VFB;wsQsPcy0^F>v$5RG}M_~MUfNAI8q@ocCovGb$ zpy%P`o_VjZU$GI?hQnG(8;C#7HvCFDRK#;ApIa4XMnoe+ym07b`FYDCLm9Z{^~UHd z59{?M^nzEF;p$({x-RZ#xp(p8p_exfvF)A0ef1E$)Fz@-P8Q|z8+=nS8!+@ntLiFa_N+x0<|DWsHR_BqtDck7(p7UQUhd9oiCWlihdS z?cFm+~s`P&|Dn`K$cf z8Z;QGfRnMvx!bo^!cL%G2o+joY`4ybNvlj)^NTkn95%s@BKbJO8gn`ptzGcH2sGZ_ zt1E>*glzBtyOiaAcgT2D(GHe>7^dCEo&M44j@_MffnF#U@s;d zI@qlbuNwcGcH5oL)l|&0b6_9|G^$YYCcFjwvlYI?E#ImQ?YdFv=}R#A4%j&o+WCFK zbKVBsX3qR)Zw`*R?xZl<>-w)P66MgIw*Q%tV`AA@j%K zNI?>1ClWcGjt{Vh%|<@FyhIQM+E`24vepmE(?Co7)noD$GzQiZl1 zUH|X_#S{6Zfd#$dkazkg=W?;e#f0Jci5$kzAag{Xk(J47%49h6)PMPjx?0FZjh-SXNZ3Ml1!ZzQAn6% zVGlhggt+SSBl^~9cfRI>2M-#qa!Xm(ZgKgK?v~F9E#fTPe@_NIO5S(<&cncg-$ya+ zbzh5qp~$pwWYZ6v3ryyUQCkmITVKi4ieG=M%qHOT^DX*>`tA@nElHWIHisLr&m#ps z4ByBjT`r;2!f&6%*Z$pEhH_%R{$cJj=IZ2<@peGqVEaClp4R4Pji<}LB8h;HMI{ZQ zTXB0UG6YSGjo0^KI2ujG%xZjAr{GYlAhwh0<-K%l}sm=9CyP%h)X+2nOtw4x#*M-^jgP_ERqq^y~^4A|}P z!1M=uSH%*C-u`qd){X0d^Z>CCmQ!3@9R6Rs2rKI9yQPe)x_-pL#l^*G$emA5KD8=Z zh9gX)aFGAT3d0{#k0kwhijF|?uzPcV0%@&?v=$H1AAWTfB}rsY8o`EdR6KwFJc{qDgS+tvjX?KPkF%{4otctqI2)SA zAFM|~XF68mw9uBF&BFe7JF_E@QP>*3mUt6vok8be=seii*a!~1)@(+gqS5GqRoSM5 zU6W2%X$gs~5erwaviL9Zpeh*)Ro-<=m@jB-zGdBx0V;KnI5W|cd%x}rH*NR!l}Sc` zK4DzrW9PV=B8lG+5BUzrg-*G9WrO$PY+>5}`@0tzs~<|;4q?*HKVS&kMPieLRcM=g z?VkBA!c`8hFDM~m4&MIy<8QpU=_@L*eFo7#i~7AXkFo_nV++3SzI8-BI*)WZs#&(_ zC)}S~73sWOE*&a_BV7!P(t?i4!|7CL*6lvXp637M=0nwNyJdqj1^jlO|puV0~Pg zT=c5|2=^UutWpcpPb+YaRE=&gz&!T?Q*2#N3RPB6SSR*K-wza~U5_%iYKb;Ay*h~- zxg}iVR>g1=QL`Ji$qHfcx_%{)XKmC1Eq(7pv3i+$@o z!7xzz7W3lJh3nzFXR2Y@RbsMc3XHM4?~XFE{)|?C+Bv)#1K@4m(O~}@4XGoT@b8J2 z?9cZ+O_Vtu(LL`qg%c3*;rv%zo+|6*>UDo0;$a!Xsi5kmC|8+i#W9X55hKNX8-n=D z(&G?`Mj)U!O(GALiXoS(eCzg`jt$tn17;Ch2n=7|seaH6a4*Ua7q)8yQU>Do~usxi;qL~y}s#CA=wDM2u9 z;BJ za3K1)c%Kbhd2~!SHa6Zj##+9iZoEg@iI8biR8@LKE~KJC{AD*d^jy9K`YpVswwa3s zU-K-Tkz6)MbgDT!5t+kUyT~=Tk#@dwdASJNz1G9rSbf){7#ae=nLf%i*hm%L7Hmo= z#@mF45J`m@Ih(97&$a*I#kQifv#l?pjIpWq;kfTjtMUp8_vJ3SKTCsnC&w6k(|=4o z8ghD^wm>iHD#wj|*Uw;ykY1W5SK~ij-)GhT*S{uI+3`;@5=laPvWI79onXumx?0RM zDT{B80B13GbP=m8peJ&u{6$Suf{=S7zwb+HMNc!O{xhzRdMAl1ib{_Ae~+k+=pYaZ zwiw>6HX;cg?<1o9(^|7mSdBKoa~_EmdMKYSXvS;O8gzH7#ZosWq3K}l^Km_8JED2g z!_C#P;KOnLqjfGs$=Ehq&L^(Va(#cXyylIV8^DJKYkFJFR9*saTI^93K2BR=EOHui zi)SdMg>^R>Kk|O{%E&&fv#{eu=SJHn_9mhj?P&QzecHmDxly@z9n>@W>;wG&>QTl! zXw~mr%S`<(;(M-ccog?{!|ulmf1jP5?H;WLT5j#1A^vqOq4KcAlj?Bu?e|jo^Ut~< z(w$6|#$vHfQ2E5S-BOVlVu|$B<08|#9ppkM-QxM3iIOZN1qN;^@_UzD4?IC==+pCj z#Z~r_!vayCFYsjS*@t15T|<;*?yA*7fT!ZzZJ%~-S^{YeNn{VH8>IVpbad#yuuiox zF?!9@7Y0~9)A1sveHb$F;?=QnXZO|Fp1LzLzTwExb2IxEw$ALo3($8g1N zVR5Whccdx6eh(TOhFaIfB({&a=@_nka^9QKAaB=iC3B~4R4kb5l08lL=;m=mbIetj z;Xa;hIi0YggM+K0OUioI+@~TI&165>2>u)VYsu|(%UF%S1kWCX7wjjxD0cpERjT&qJv8)&LZO6OEjk`ro>+5}V@34A@#f7~y#_3OmGz6ajO_@PFv@`Bb)_gQw~4jUX{ z{VT|7_S%rGdwK7*I9pA8M$6_f@#>}xj_tITbzDX7$ELKiVZjMX5gIoLR7V+Z2SvV9 zQz3{qd{Q_&1p+l^*d=#x{$eD?v&x*Mx-ZB?4q6xt3sKw{Vto?rD zKg+{s<#fcZ?(TFkGuAWd# zb1cdH=UIjxFDBrT+TvpLEdiVtUYJ@e!SF&AkSMCX+>;fIEUz)6svfQ^<-NM;BoZl& z@Y4>QZ-Y_}{zha6q*)Y@KyOqrOQ;!iZ zp*Ft;bb^`{aT|vcj9)p6^48qcMOhqSg@|`cN%>a{KTDNm=jQHqAU8%;;Kg`B?UbY| z&w`(LC*-oA`_&UCxm3tidUNF17Bnw6hJ`3-x{g=I679p0aN&p3=*qNnH?Qqky8)ZE z{0wJH50f|@`Tnv01hUnk$_c8<{}qbN>a+ef^H@%;&OeZRKJ@W)d*a0Eq!YgL@uA`@ zqg+Q%&wKD?934?4bVMWP*opT>xu-c_HoB{zj=4d-Qy*Rh8BB{v+BGu}p21$$m2HAC z_c`Ak?)3hC?bg9_xmt}(OD%u0G_klaRS6sNFXo2yzP)LIX+J2eGrv2upd^bUh&La7 z@iyoTkYX1#|8Czj>TDg$M{2-|nwBO;X`F*XTu5g0;pM0Y@9Jx{@Hc}$UhAYh+>vN2 zsjfDA9o?TJ5i)mW;nZ!2e-N<-=GWTm>a4u}v3>_PYss0-c~wDvf)6gSpC$WWqz33g z+X0sFvgTf>5ZkA#z*3EnnG8p&iRVCqfq7w2`s&kOg)Ft&KrpOm;>Ho~%dO%|;;0)H zHEdpj5CWa5hIf=O?V~^)J(n>*)Gxzf8=iQjf-$^B%kZhOV0~h*)Nr2cLCnj8|MOtF zUCPQ>y?tv&?#lSNxJ34f>PCEb5O&VFEz4&Cfx5g5djQ#riQE%o%w{?~AK zOB-B8uU~Nb5-6qbVScktuh|PghGUOGwt`*n&WH8%^lUcJNRU+Ci?DhDxNDO#pn#g& zQ#OBEt)obpEYHVz^2PYGZF93TK(?BGd9B-Z*D>h}ty<`Jq0$(#m7DgqhRwSG@bV;O zAhm?TMj1$3xPL;uY`Ddts435PtGLN_p>k|tYild6e%{6n=w7I{`5Ny$GsS1+6iLL8 zN?Y>bj8X=23Kq633ZNiY_2h-sb>|ZYL?S7vBgv;z8^wD4KPS@r^P#V86Pa=BOhJjj zHLt4uEnc4-FXNQQ0@&O(p%{MfvTb(u{a1pDZ}*K)N0V#%Pav#1bA@~SM(tTXM7Wfh zc0ZSEdU)Wk^7-Ya1pZ(Ge0{mo&aDof&-zL zN{W%ITas^~ZN05g-BBh7-ZdDjTwAcuB2saX|De8{eS8HdK=^fN+D{n#Bx2^TkAmNr z^{P^@hoayDV3N0|BYwK!A6J<-x>uVYZ#H+P2LQPMC-nQZFX*eDRr)7#;0D+lOQ=;~ zB#&;k;gB6v^ij=*5kuif0RGn8E(av`irvEt!#2cI)UYPpth!>Da2OqCWMmXN>|2~5 z^UVJDDEm_$QhE70P=*D!uNWn2$MEF1Fm|ominN12*6(B4Y)a4rzUqULqD*T~eQ4Ud zmM@Kh#(bfE%fcc1l#_rL{eEwVO5Goy8c$(@F;~l{ZR$zFT!M6=&|G3g`AI} zRM`k`-K{7gExpMtE**CMCJ6)NlCpreFeKY@U5mY29jTByG?8X{a}eU4+<)TtQ?@z(#~J>Dn^LKUbS#LD1^{0XuWwNsA>#i@}=qT zw*(Ind}eb5%P1E36YI5s8HvxN_Rq5T#hAK?IQJX)9yz|)u?JBmVqxG!+%BY1$-Ai# zLoMNSdTaU=B1Pk0n_@jM+Ac)@XUJ(kyzr{C?6)iUfWJFI`1*8NA)f)$-* zvifHm@YP$p7xcC^<^k@>xy$)OewMMLBdJ({TAU6k$kifb<-kLTMlP~+6R0PvE~cHo zVs!9reS}#g|`TI-{X^NrJ6eGhVU{+xnYpjBqd{Z?B z7^h3V6~mD6GJw^tZALRlO$lUPj4FWK>=zB=g7fl-s{X2x)qJ}ntd{oS8=|ODi25S; zM7C$GWQ@yu28VN@Za55Op%eEDr?NqI-2La{ZpN&p87aZZO$mv4@|P1m%Yox54rJ$( zj3>^WvV9}N0W_GNjU;{PN#3|y`J~jLnZ$6It)|^|k1^up`WZQHj_yS|OiIf! z{)}v@hLO)6i&tjd-`KD|*<+<)R`F=6v37CPmbh(#vd-+0!H5sl$ivGbAtt0+u^j=ZTfCuuTXgH*nj#U zLBZkCyfS7CVJURd7%FJEu=m}|y;i9ZPA`x>?&bCvMt{_LN?$uVw(qIoL*NLM2vibH zIgkj9i?dBbT-($Q=gRRbiLR{PTtKD#!0o(*j$a>ZYwJ0SEq-Hc$Ld@!)W80BI{Bp% zsRoW zpp25?{wY(Oi%ectPIXe8xv38vte*|3^Kf$88}Eoq!w;sc0|_j?5RM@qFDv)D8)xkM zuxoVxKCpIvqrH$(^bb=@j{-1nwl8Hv^xeN-U{OOxGZsbL&b-zXQPQ`e14G39@;8&cZl_KuG2 zQl)`scf6W;!bwE^1>5iq7e{}VSsWqgj3Pe7p|*bGpZ~`TfEUg`+I_t2_)yAYvIWOGkDKVZPP)FulCQ{cqYG-&R8jDY^P zE^=;z%gXobMpOT?VY~jHPtDhxcP^eDfHF!&(yxLI55@G|i~PpLck0nhc02%-C$Ff< z35loM|`NcloD!Q56F&#(y zLyA3vn8?8fVG)pdwyKAtBHu+a&3RX}-USx*lqM5D7~u$dl5d_6vSEe*Y@mP6si=zX zUiS5Ob)VuZk`OO?JNzkE+~ayZSJ}lj*@$LLqr39G{4aEW(x5ZJwEhD4#6l4+(3a69 z0hx;I@68+h(aQ2mWqIYcW72|gb8YV&$O$9aYu}fW3ilvf1}7#a<^ZZ%7(DLQaUI$d zoB`~u7Q4G3eZ+S$hTXmDRXEaK*x6)8EfO5n@Osf;9bMB6=opBIYBteik&3;#SR#zu z32D=QNJ0ZhfI|vM1mH0=O?R`Gxchd>^;pUD;rFPu+AhORmc?Fn59IBYE3qgT{SCUD z{?Wcwe@i9|kN8DrWM>5kao)lUH?nkiB|e#Yl-O==^#UyT@U$n&y=V-WWcgRa2Zz7s zz3|+a*VGEU@C9ARr1xDjOpZ~ZdbHyZYS@0zrK;U;^!^dnMkKCmF!R6OWX@6b?>d5GdUlU03Mgo}bISC~#GAee1}{|QfdO3#Ptz~s@A7c4;U5cK zSuq0Q>0)eJ@oxZR%484Qze|D9hb8d-H@(`wiCaEd2LLO;J!LYm^`%tjNyUw2W$B`| zPclQuZ$D4%xywQ-<=C%C}qLN$5d*}RC+ryPnaPJ;R;Nu=M{dyh*Ou% zOrFYc=y|5h2E(U>t6K_syWA9kVFBvC$__3&7J&tn)3FVQaby=+W z?rk~l?-VL-X+*uW>z6ypbJ({A`{ap%S{Z^bk9VJ!ccm^2&CBlUmq$KWUd|sWXyYX0 z?X6A*(w-j)?=tVj$Z86mXJ&`v4({%SHpJ~YAR|9ec5J-^xL^FixekMK6$fUduAp6C ztlcC~qj)idS8~!bgOEi=rt_jf|2>H*YiuSW^!WIcMP~fVb{yPKgd+JAXIj z-kSiR?FQ#hkq^Y@+{#jU8a(Fp)Xv0+H3ZORB#`_mVC5^Rtb8wwf)AwI?Y{1={*()$ z`%3(Nel?7csk0|;U&Rw9OGj?%m&{SBTbm5gqh7muc_ck<%oQ9#4Q?ksp8ox32Ow#~RIqD#^05SH~GBRZH!a=+wAN%Z11vHtG&WCb9WZDUNd7r^BWSy41i$)Hzwdt zr?=*EhJ7g&s44SHMVIxC2%CeJyG0&q=LSgBx!b3R!k^;eVp+%DT%NUd@(s#k!X}O3%tvSh?`|I`!|4;65)rypXyUX}kD7lsMrnr0t}M|tQ0jMj z<)1(DR4+?zH^qX~HzAssOBtvu`|#m6Awqk|-vcJ>c#8Nxp8V&y3!Hf28EdEp&Cb2$ zl}9PIE|gDlLeK*WmP`W>{W@zVA9`Hlo~>y6Kfq`gzACaD91z7y#kJW&TN@;r7me6Kb#8O#5so1h#?G?0J5Xd!%FTn1Tvr{ zPEMH$J32asJRLi5xnJy~eAhXv!&avrzQ(Q}W(tN(FAASWQ$lZ*%RoMxC4s8mz>f)s z2CchR7a}oSTN@>$wGJ*Rv-MwK;E9~xGj_AwYkt6c3K!7GZ5Ttj)T!&?*4w|}Iaz94 zH5Ps_D^ep}=+&_o*58-Px@K;pM>VPh_lzi$!zBBGssy2Z-TZ_)M46V6cG??6eK?>Z zD8NDc)KlAj96dF!$x`0P&PRX=GH2wY%$2gfJKUAf1W`K2?qTgBFc`3I5U1^mm0~58 z|2Qik^1(%+7x|y1+Y%*DVTFslpbmZU=S%%zS8eu#)n|a4CJ5X%KOeAZu;f-M{q6=<4HJ`b__UobXUSYj6o6hssi65_hto zY&+>y)pNf4_P)hu_J?Mj01}j`zSj;(>k^zuv$K>7WLnOD@G#U-f==E9PN{EK1){=y z>Y%RpXx8f>4fIof{zZ-(a8987SY?n`?xZMcyrSYj*2ld4xgQSageQd0cd3UE9F;O-!PNNrUtL8;lC8u*Z|mm7uImorN*oU;2c3 z4+9>A!v7F!|C)*^D9qrJ*xCJ4$YE!J>BKra6W`tV>hiQ!?W6#qVP^n9y zg}G+#U9&qLk~d=P#FJgd=UlB{eSpw}orxc-Ou)l6ds+7pV33-Q^PzoNYUy$D@v*l3hf=i^Q^4bulm*9Nu(r2~ zj>LpB={DALZ&ZNcg^zW9FMzye#-*o;x1hjWLa`v~4|qa_GRC}6UG3G%4R<~@Q-i{L zy|E_~lq+ay=Yl^qg|8^; zZHYjiXJS&OK}g=vjfo&Jsq$pu5Rjok_2+(3#`nwlah}lw@dT{vA`Wx2PhIQv``XFhY(Uf{*Do zKR{|0QSqM0BjX74Fqr!+5jh#X$S9=ZEMYs10(YQm5WNh5?9&rvRhV)>_h0zNt~$Ov z)i(MAH&S=GshR@7j{ssAblSFGzI9a!P_>gqWqs1|7jHrK)UkEaVcW}mWQMz=f2eN> zluby-2aqfR>I!5ydR)q)d=wS4AQJ*r(;ZZAvsZ0Mm5zS>dG08p^m@pP!RBaHgq2aA z!vh-}cKUoM`y-=@lRaP~LZ(Z8A3OkD$4p!hUFy}fxW0$Q6ixKu^(x8ndOIM4 zVLt%C1;(C&22n;`|K>DZ_20?zCwh@-@7CWS5LRl;{oei$be+A)n!(_!!PW)bHB+mR z)CF}3GOCzk4bPV^UqXdD)Yiv>=b^DCaP>p;$jsxNFyyo?69(POx!cmDJPqPX`uA6I z!#TB3%PR}O)_ZuM)C3D}2CtLN?nhtc_BbhcjzW0Nk zukKcp%bz1K;qVY(88e34DnSzhhauq77jL1>+mqluHWHu6Q4+6Idf~hOFVlf4x-buC1TFWcHpSdtYXdvu@T#+lzsdqs|gO&t9>kZ={ zemX6lI-0TiAGGq1tW_!`dn)m9iV)fDpVWd7^{#8?#396iPuKB46hrQoG>1f|-9wLL zR-NGAp=}L(mK;Joc(xDW_TSHX7DNKLv$y$Cj&ZiWNqt^d_(f1cSZ9K5Kb?6ok>!oC5&>J4KN!6+sd!S zz4al?+V!yq&krfg@nT0Du40{ogXu9nl?~fN;$lUkkiFdLnVIZV!k637QPW7nKDfSO z+(Pryn#pXqoOo7;W{9Z2{vZohj0YgtB(^tS66NC+XRE-GP>BNQm7BWRot-cE>4*X& z0O%6|)@MZ$Rhi+se1Z@>?a2hN>ZJTtRAGmUF->D^*8-^o`V|~m1T^Lk3f>Wu74N?r#l=DWioXU)UH5@nZT5-?TLv8pe7VBalowzq(be- zWH|QlC{pwG{`v}(nDVoc;}4}xJ+UP8(H|trh|HW{(dWH`8HN3z09Ov@cgn?*j3Bh4 zjsY+Mv<6&Yx_}TTp7hu5ie8W3FXRl4Y`Ff3Yk|A3;O<4xA0Su49)mL1SR3j-W)eDa~spWWa^<^e$oFWirBbPkUOtj_6i zkgJT>?BmSk#G0Q$*4^u>HA$&k84FwesrTk-snTCfaocmNIc0U`=~QL=<~b%iHlBp# zt1vC~PRfGLV09B7roPgovrisOx^<(Y$1)BD{pTQC$;^+k?kTM=GV&h zQYgJ0-rF?(crXx99nbj^?rc#3Fnr1W>k!3xPrajUIBpPTS&n#iPb#(oE=SmX@dYoN zg1yPwToX(HBl6l^5oKoO6ilg9J#@(rm~{$5<4HDUKrLn^Aw$m;tLDD5wLu=zj$4Eh zvz9`uPK{pC!Dpcp<26O#4QfVC*tJ06Q#yA1LxY8cv~*i+o@3eIFAhc9+0>2jk>B*) z+V;y=5luAOW{TyGtw_goWUn5R;x~@fv?Ygyf_X3YZG}FKq)Y|`U&iX#ATv}N>2ib> zgd*-_XjM4cH|&__@>YVQAx$`vRC*qX#Fu#_q-}GV0b8cA7@l zF?0rOh&rJeb}%%d45FvuCnI@QmG$&bMAwAzGX+r{LvSGjm)PC#5gAXd0C-|c%)Hxh zVP#Wr^Q^quQV4(G?z*>s{Lar?0XCzHz35yx$Ra4&*oxVr<}NunpaW)7t=xvJj^>EV zI)(tzL9w4&?)0fI1BYE`nyJNqADF?n6`c!5T!sS-u%Wb!)fdk@%!9_O+~vcA&wLvi z8j>7lL%gy3zuk8A?KtMXgh`}onm#op0(s6PbXiJ8oNx#rxHwz&;qKN&Zz~ZIwDiY2 z8LQkFre!5W^aJ1?Cii!&f21!t#6V7=z4UYI(G{P~>BXG|bLmSy3m&V{-gS&?3!~`V z%uJF0QBRl_R8vBl*{6u05~)5WWS@S`-Y+ae_JB>-=x+9g%Ba=M#6!X-xZ2BxmGwU~ z2;)LrK3nh0=o5qpuf*&5Xp{*y1dAy&&ztf@Y0l><|z$_Iw5EKMYY) z)-R{+KU^MC949zkj*Zn^ z7MtyMq4>6HaX#kwpWpC2ug9zYQubC`uBsPtF4u+09zYz!i^-{~l!BrgnwFzJ3U%wR z6`lwU(2o#|&_rQ~-or5Zw{Dw2ucopWOZZZ!HKbmC+}Hnf+vs8}==WjMFn-i^u&qL! zJzjnx>9merG8JbbVNf0pbFlU!2trqF1BzqDegH$+BBRrFH+{)C)pwG2wdinwTl1W9 zK=3h6#>aiP^!5VTLo|X{*q95{(_@rayGJ~=_)rN;lsa*zYnhHfz!i`1sV+&Q@F#<~ z6(jywfXu$1Z?O&6BFk}T<3Gn9j7Hj(`FuA$ec*+)v7ExER=5&x-swdtTGES)&(I{! z(b-w2N>VpqbBD2-M-H^;(DQd{TO@3ix^^8OUE*g~`fLc#Er(yJ)5nnV(MrY>GXB-q z_VA-wBPk%llIh#ziag#ix!?GkJ<@*HaVH$tx2S&%!xewx3&5%Dq&=0goKl7g!1hSU zdz*0ad38jZJ?$HgBpHFUGIiE%3y97XB@YcyTmEM|{-4m^EcHqa{&|rwaDS!L5wD0k zaH(3k%MXk9yx(EeZQl3UVT@!K3vT@T#d0fc6K(;kUC&aO(V~7uW&d*Zc-=I)6gRdY z%(OVm{()g*$N3Qm6evhK5y${g{|e<<_DJijrde*Btoc14kK^URpsI*!JI@5a#f+{w zSFw43dP1Q3ex(duXer_6>I3obwXo9JKagU!`%^p>2N?kjuPwzsK)xLvs)=rW{?~oG z9~q!$KpEOdhMm^q6pO!bs~w#ST$ZhgQMIm_j^^!e^Yk1^znTUUz zmCTv?u;X)IQ+FIy7z%+Nv(;{%_X;+1QVsg%XUPk-zRh!$51VTq$(v@bS|y9q#sa88 zIuPK&mLY0eHB4|){%5k4rVPv(*E7HPsrj9#d@qj^>MsS1AIs}zt|GGAWKxGhkS3wR zI$ddnv2w#JvY~0mkNzGui#)rZ1rUR3L1YN1v0JW85&3ia9z?qkSYHsg0RVFKQYZqD zPbg^Fw{8>dfh*~zK~*spn_sE=e$KjdpeR4NVnVAwT0+>EA^*=ffd<%Gi}$=|Jc`|KcTo`9Ah9(g;N4Utoc*fBWR;+n0os>fdukYX0s7lM#7Y*>waxSW3Ap z@*IG!GyuuEfD@C9&iLBb6`Oe0|J;tHY^03#uhK`JM9;C)z}s2Mh=>*MS|Rv2W-;PeWnq& zM`fQ+u|yX$MNf|A18~gIFdGC@J{T#Rg^onnYhNyS<44$oa7$49#D?H|2l#f|mFYU@ z7BKD&Z}qPmKa09mR90w|TXSBg>wy_7&b{-do{HyWoAUO`+3+7cusDuMns{K_GI?~t zu=y5V!Z5jEHS|{>)BYkbEDh?``|2QH-C-x0j#zt`JP#m`X;j$=0hteIrplTalC$~r zqJv!0Urj!Q``rn({bN|b&0oF_FKj|Bg(eDAiFzATH7~ghArOk1%s9jT2|Wi)PQbO! zvMQP~8B)3F6@Oj~{9qemN*(ZTBoI);niBltlSjRoWosaitG`UKSSab>QOYa|lsj+7 zSKsvBqPWfnBy!cQyRoIOj^)ptw=C#Aus|@d=5~T=2VYWDWYAqXT!3&TPz`k&`7rIZ zHo*XXm=OYs87P)`YGVHASekg7_m4sPQeT_4lKJMQD3SDS_~(YIN#)J7tOeBcDLy6w zi#*2MA(XbpweUXwEBECWC3+ZM=8^nhLg{Fj{=I;sIaFBn}L0GS&?tOO3AEMm4{eZE?pt zzKR}7r7II_7d&6e#`W~{Jm9Tqd-!>#*Fg@x88|6G?}w;PAF7vVlZE0#h9i5#+dL~z zd?}h*v8+5wr`|oG4p{8`@T;sGDC|#{>DW2K%{V~Z2n~8E@&P8-j`jTwng~McVr}K1 z8|kSE*|5e!>?-}AFGYFAPpys~M7X_9Ah94y!6jrIn&yx{x~Mitt9FfEiNNo`dXdX0 z8h9I`zgZ^;;e!h(`KEW@9e&{^PB#~VOIjG{!aDz@iAKwj`DLbrejl8V!FUVTa9k~E z%@FjYSQ0aT|#xy6@R1>a2KyK*!c) z-QU_GYaRb6jQaBap8uA8fCjc8VD;HZAkbE{WA4)f5uvkcBw^^kP_829ok zGD~(U!0rbi2VPLv03nlUpj5p?@HJ~eR|phsakl^KySSwyj8H5LN4i3f%1~9L51$whY?B0i z-e+X`?aBu3<3DfHIkYxfd0M#;Q3HRj}a|_dES^?izp^#L|K%$Tdj-Gwef9_)1fblYq}g!WT~eR*E6@D_jLGIQlXd zBh+$BU1fLtW!an5d%2s7yAzi0=tc1-sZ+Ro#mKVoUYar(VFCX@BY}d#EjRirpx`*> zAy%8(st)Py!-NB0;TXVFrKmF!jMEg65wnwA%z}x78cq}mjT3z6J_#`UM6Vp!U zS^#b>^``#HkAQFx28={%uIO})g8ph^W+nlW%8B8JFp!F-yt^Tc3V?>ZU3D@o%dR;^ zm+IXhqaA^CNnT_J$}TtUybt&gOVC7BZ$-X!Euvy}ygGi<(52T4`ZO747PW3a zd021FT|F(o`2%ZFJhc_9`ja<8qu^k}?|yt7%s~|cqHIy{xA{Z@PgHY+3`ZT9x-)v5 zw&QiPX|o_>mNb2|`sPYP3&wy6V)q^}83by@frj5RcEuYn@z7Uc36h9~1geP}LxekW zSD<7nIzIU!K^Q5@VY%F`5HRTxBz&OD%ePUG!^uurs?o!vjYtkyTN)R)DEuL{$k>St zO9u6jWX)X)AIAwScI$6d_P5aeLGzlzE-Oc6tahG;%tnXV1p^%;6bHHYAWApU{UJK3 z{nhY0WLpr4Xpe-s4eR<*dl3KUzyGrW|7QjMzgmH@UDv~$2bk~9x*h23z4!mCpYwm- e_y0F5a6J9ix!S*6o?c;oB9yxB&HTTug8nZ8W=-k< literal 116851 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%0DW};4oulW-n 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

26m_4bdb?67l(H2=agRsdQKhFPQvGvf_ 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 diff --git a/reference/findLand.html b/reference/findLand.html index 3fb3dbe..9091f21 100644 --- a/reference/findLand.html +++ b/reference/findLand.html @@ -134,10 +134,10 @@

Examples#> === gGraph object === #> #> @coords: spatial coordinates of 1000 nodes -#> lon lat -#> 1 110.07364 -33.47530 -#> 2 42.32957 44.88287 -#> 3 10.97741 83.96436 +#> lon lat +#> 1 54.79348 -12.81500 +#> 2 61.47979 -59.72746 +#> 3 45.04736 -59.53353 #> ... #> #> @nodes.attr: 0 nodes attributes @@ -158,16 +158,16 @@

Examples#> === gGraph object === #> #> @coords: spatial coordinates of 1000 nodes -#> lon lat -#> 1 110.07364 -33.47530 -#> 2 42.32957 44.88287 -#> 3 10.97741 83.96436 +#> lon lat +#> 1 54.79348 -12.81500 +#> 2 61.47979 -59.72746 +#> 3 45.04736 -59.53353 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea -#> 2 land +#> 2 sea #> 3 sea #> ... #> diff --git a/search.json b/search.json index 73c7a4b..853abeb 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"/articles/geograph.html","id":"geograph-walking-through-the-geographic-space-using-graphs-","dir":"Articles","previous_headings":"","what":"geoGraph: walking through the geographic space using graphs.","title":"An introduction to geoGraph","text":"document describes geoGraph package R software. geoGraph aims implementing graph approaches geographic data. geoGraph, given geographic area modelled fine regular grid, vertice set spatial coordinates set attributes, can instance habitat descriptors, presence/abundance given species. ‘Travelling’ within geographic area can easily modelled moving connected vertices. cost moving one vertex another can defined according attribute values, allows instance define friction routes based habitat. geoGraph harnesses full power graph algorithms implemented R graph RBGL (R Boost Graph Library) packages. particular, RBGL interface R comprehensive Boost Graph Library C++, provides fast efficient implementations wide range graph algorithms. defined frictions entire geographic area, can easily, instance, find least costs path one location another, find parsimonious way connecting set locations. Interfacing spatial data graphs can complicated task. purpose geoGraph provide tools achieve simplify ‘preliminary’ step. achieved defining new classes objects essentially geo-referenced graphs node attributes (gGraph objects), interfaced spatial data (gData objects). vignette, show install geoGraph, construct handle gGraph/gData objects, illustrate basic features graph algorithms.","code":""},{"path":[]},{"path":[]},{"path":"/articles/geograph.html","id":"installing-geograph","dir":"Articles","previous_headings":"First steps","what":"Installing geoGraph","title":"An introduction to geoGraph","text":"following instructions entered new R session avoid errors due installing attached packages. devtools also needed install geoGraph: , install geoGraph, simply type: installed, package can loaded using: error regarding missing packages, may need install manually packages graph RBGL Bioconductor: attempt reinstall geoGraph GitHub.","code":"install.packages(\"devtools\") library(devtools) install_github(\"thibautjombart/geoGraph\") library(\"geoGraph\") install.packages(\"BiocManager\") BiocManager::install(c(\"graph\", \"RBGL\"))"},{"path":"/articles/geograph.html","id":"data-representation","dir":"Articles","previous_headings":"First steps","what":"Data representation","title":"An introduction to geoGraph","text":"Data representation refers way given type data handled computer program. Two types objects used geoGraph: gGraph, gData objects. objects defined formal (S4) classes often methods similar generic function (e.g. getNodes defined objects). Essentially, gGraph objects contain underlying layers informations, including spatial grid possibly node attributes, covering area interest. gData sets locations (like sampled sites, instance) interfaced gGraph object, allow manipulations finding paths grid pairs locations.","code":""},{"path":"/articles/geograph.html","id":"ggraph-objects","dir":"Articles","previous_headings":"First steps > Data representation","what":"gGraph objects","title":"An introduction to geoGraph","text":"definition formal class gGraph can obtained using: new empty object can obtained using constructor: documentation ?gGraph explains basics object’s content. nutshell, objects spatial grids nodes segments connecting neighbouring nodes, additional informations nodes graph . coords matrix longitudes latitudes nodes. nodes.attr data.frame storing attributes nodes, habitat descriptors; row corresponds node grid, column corresponds variable. meta list containing miscellanous informations graph . contraint applying components list, typical components $costs $colors recognised certain functions. instance, can specify plotting rules representing given node attribute given color defining component $colors. Similarly, can associate costs given node attribute defining component $costs. example can found already existing gGraph objects. instance, worldgraph.10k graph world approximately 10,000 nodes, -land connectivity (\\textit{.e.travelling seas). ```{r } worldgraph.10k worldgraph.10k@meta ``` Lastly, thegraphcomponent agraphNEL` object, standard class graphs graph RBGL packages. object contains information connections nodes, weights (costs) connections. Four main gGraph provided geoGraph: rawgraph.10k, rawgraph.40k, worldgraph.10k, worldgraph.40k. datasets available using command data. grid used datasets best geometric approximation regular grid surface sphere. One advantage working grids use projection geographic coordinates, usual issue regular GIS. difference rawgraphs worldgraphs first entirely connected, second connections occur land. Numbers 10k' and40k’ indicate grids consist roughly 10,000 40,000 nodes. illustrative purposes, often use 10k grids, since less heavy handle. large-scale applications, 40k versions provide sufficient resolution. New gGraph can constructed using constructor (new(...)), topic documented vignette.","code":"getClass(\"gGraph\") ## Class \"gGraph\" [package \"geoGraph\"] ## ## Slots: ## ## Name: coords nodes.attr meta graph ## Class: matrix data.frame list graphNEL new(\"gGraph\") ## ## === gGraph object === ## ## @coords: spatial coordinates of 0 nodes ## lon lat ## ## @nodes.attr: 0 nodes attributes ## data frame with 0 columns and 0 rows ## ## @meta: list of meta information with 0 items ## ## @graph: ## A graphNEL graph with undirected edges ## Number of Nodes = 0 ## Number of Edges = 0"},{"path":"/articles/geograph.html","id":"gdata-objects","dir":"Articles","previous_headings":"First steps > Data representation","what":"gData objects","title":"An introduction to geoGraph","text":"gData essentially sets locations interfaced gGraph object. operation, location assigned closest node grid gGraph, allowing travelling locations using grid. , instance possible find shortest path two locations various types habitats. Like gGraph, content formal class gData can obtained using: new empty object can obtained using constructor: , description content objects can found documentation (?gData). coords matrix xy (longitude/latitude) coordinates row location. nodes.id vector characters giving name vertices matching locations; defined automatically creating new gData, using function closestNode. data slot storing data associated locations; can type object, data.frame cover requirements storing data. Note object subsettable (.e. [ operator defined), data can subsetted subsetting gData object. Lastly, slot gGraph.name contains name gGraph object gData interfaced. Contrary gGraph objects, gData objects frequently constructed user. next sections, illustrate can build use gData objects set locations.","code":"getClass(\"gData\") ## Class \"gData\" [package \"geoGraph\"] ## ## Slots: ## ## Name: coords nodes.id data gGraph.name ## Class: matrix character ANY character new(\"gData\") ## ## === gData object === ## ## @coords: spatial coordinates of 0 nodes ## lon lat ## ## @nodes.id: nodes identifiers ## character(0) ## ## @data: data ## NULL ## ## Associated gGraph:"},{"path":"/articles/geograph.html","id":"using-geograph","dir":"Articles","previous_headings":"","what":"Using geoGraph","title":"An introduction to geoGraph","text":"overview material implemented package summarized package’s manpage, accessible via: html version manpage may preferred browse easily content geoGraph; accessible typing: revert help back text mode, simply type: following, go various tasks can achieve using geoGraph.","code":"?geoGraph help(\"geoGraph\", package = \"geoGraph\", html = TRUE) options(htmlhelp = FALSE)"},{"path":"/articles/geograph.html","id":"importing-geographic-data","dir":"Articles","previous_headings":"Using geoGraph","what":"Importing geographic data","title":"An introduction to geoGraph","text":"GeoGraphic data consist set locations, possibly accompanied additional information. instance, one may want study migrations amongst set biological populations known geographic coordinates. geoGraph, geographic data stored gData objects. objects match locations closest nodes grid (gGraph object), store additional data needed. toy example, let us consider four locations: Bordeaux (France), London (UK), Malaga (Spain), Zagreb (Croatia). Since working crude grid (10,000 nodes), locations need exact. enter longitudes latitudes (order, , xy coordinates) cities decimal degrees, well approximate population sizes: load gGraph object contains grid support data: (use worldgraph.40k better resolution). figure, node represented color depending habitat type, either ‘sea’ (blue) ‘land’ (green). going interface cities data grid; , create gData object using new (see ?gData object): figure illustrates matching original locations (black crosses) nodes grid (red circles). can see, issue occured Bordeaux, assigned node sea (blue). Locations can re-assigned nodes restrictions node attribute values using closestNode; instance, constrain matching nodes habitat value (defined node attribute worldgraph.10k) equalling land (green points): Now, cities assigned land' node grid (, better accuracy gained 40k finer grids - use 10k illustrative purposes ). Content ofcitiescan accessed via various accessors (see?gData`). instance, can retrieve original locations, assigned nodes, stored data using: can also get coordinates matching nodes (, red circle previous figure) using: interestingly, can now retrieve geographic information contained underlying grid (, gGraph object) node attributes: example, information stored worldgraph.10k rather crude: habitat distinguishes land sea. However, complex habitat information incorporated, instance GIS shapefiles (see dedicated section ).","code":"Bordeaux <- c(-1, 45) London <- c(0, 51) Malaga <- c(-4, 37) Zagreb <- c(16, 46) cities.dat <- rbind.data.frame(Bordeaux, London, Malaga, Zagreb) colnames(cities.dat) <- c(\"lon\", \"lat\") cities.dat$pop <- c(1e6, 13e6, 5e5, 1.2e6) row.names(cities.dat) <- c(\"Bordeaux\", \"London\", \"Malaga\", \"Zagreb\") cities.dat ## lon lat pop ## Bordeaux -1 45 1.0e+06 ## London 0 51 1.3e+07 ## Malaga -4 37 5.0e+05 ## Zagreb 16 46 1.2e+06 worldgraph.10k ## ## === gGraph object === ## ## @coords: spatial coordinates of 10242 nodes ## lon lat ## 1 -180.00 90.00 ## 2 144.00 -90.00 ## 3 -33.78 27.19 ## ... ## ## @nodes.attr: 1 nodes attributes ## habitat ## 1 sea ## 2 sea ## 3 sea ## ... ## ## @meta: list of meta information with 2 items ## [1] \"$colors\" \"$costs\" ## ## @graph: ## A graphNEL graph with undirected edges ## Number of Nodes = 10242 ## Number of Edges = 6954 plot(worldgraph.10k) cities <- new(\"gData\", coords = cities.dat[, 1:2], data = cities.dat[, 3, drop = FALSE], gGraph.name = \"worldgraph.10k\") cities ## ## === gData object === ## ## @coords: spatial coordinates of 4 nodes ## lon lat ## 1 -1 45 ## 2 0 51 ## 3 -4 37 ## ... ## ## @nodes.id: nodes identifiers ## 1 2 3 ## \"5774\" \"6413\" \"4815\" ## ... ## ## @data: 4 data ## pop ## Bordeaux 1.0e+06 ## London 1.3e+07 ## Malaga 5.0e+05 ## ... ## ## Associated gGraph: worldgraph.10k plot(cities, type = \"both\", reset = TRUE) plotEdges(worldgraph.10k) cities <- closestNode(cities, attr.name = \"habitat\", attr.value = \"land\") plot(cities, type = \"both\", reset = TRUE) plotEdges(worldgraph.10k) getCoords(cities) ## lon lat ## 5775 -1 45 ## 6413 0 51 ## 4815 -4 37 ## 7699 16 46 getNodes(cities) ## 5774 6413 4815 7699 ## \"5775\" \"6413\" \"4815\" \"7699\" getData(cities) ## pop ## Bordeaux 1.0e+06 ## London 1.3e+07 ## Malaga 5.0e+05 ## Zagreb 1.2e+06 getCoords(cities, original = FALSE) ## lon lat ## 5775 1.002e-05 43.73 ## 6413 1.002e-05 51.38 ## 4815 -3.788e+00 37.75 ## 7699 1.548e+01 46.74 getNodesAttr(cities) ## habitat ## 5775 land ## 6413 land ## 4815 land ## 7699 land"},{"path":"/articles/geograph.html","id":"visualizing-data","dir":"Articles","previous_headings":"Using geoGraph","what":"Visualizing data","title":"An introduction to geoGraph","text":"essential aspect spatial analysis lies visualizing data. geoGraph, spatial grids (gGraph) spatial data (gData) can plotted browsed using variety functions.","code":""},{"path":"/articles/geograph.html","id":"plotting-ggraph-objects","dir":"Articles","previous_headings":"Using geoGraph > Visualizing data","what":"Plotting gGraph objects","title":"An introduction to geoGraph","text":"Displaying gGraph object done plot points functions. first opens new plotting region, second draws current plotting region; functions otherwise similar arguments (see ?plot.gGraph). default, plotting gGraph displays grid nodes overlaying shapefile (default, landmasses). Edges can plotted time (argument edges), added afterwards using plotEdges. gGraph object possesses adequately formed meta$colors component, colors nodes chosen according node attributes color scheme specified meta$colors. Alternatively, color nodes can specified via col argument plot/points. example using worldgraph.10k: may worth noting plotting gGraph objects involves plotting fairly large number points edges. graphical devices, resulting plotting can slow. instance, one may want disable cairo linux: graphical device yields better graphics Xlib, expense increase computational time. switch Xlib, type: revert cairo, type:","code":"worldgraph.10k@meta$colors ## habitat color ## 1 sea blue ## 2 land green ## 3 mountain brown ## 4 landbridge light green ## 5 oceanic crossing light blue ## 6 deselected land lightgray head(getNodesAttr(worldgraph.10k)) ## habitat ## 1 sea ## 2 sea ## 3 sea ## 4 sea ## 5 sea ## 6 sea table(getNodesAttr(worldgraph.10k)) ## habitat ## deselected land land sea ## 290 2632 7320 plot(worldgraph.10k, reset = TRUE) title(\"Default plotting of worldgraph.10k\") X11.options(type = \"Xlib\") X11.options(type = \"cairo\")"},{"path":"/articles/geograph.html","id":"zooming-in-and-out-sliding-etc-","dir":"Articles","previous_headings":"Using geoGraph > Visualizing data","what":"Zooming in and out, sliding, etc.","title":"An introduction to geoGraph","text":"practice, often useful able peer specific regions, generally navigate inside graphical representation data. , can use interactive functions geo.zoomin, geo.zoomout, geo.slide, geo.back, geo.bookmark, geo.goto. zoom slide functions require left-click graphics zoom , zoom , slide adjacent areas; cases, right click ends function. Also note geo.zoomin can accept argument specifying rectangular region, adapted function fit best square area similar position centre, zoom area (see ?geo.zoomin). geo.bookmark geo.goto respectively set go bookmark, .e. tagged area. useful one switch distant areas repeatedly. examples based previous plotting worldgraph.10k: Zooming : Zooming : Sliding east: One important thing makes plotting gGraph objects different plotting R geoGraph keeps changes made plotting area memory. allows undo one several moves using geo.back. Moreover, even graphical device killed, plotting gGraph use old parameters default. disable behavior, set argument reset=TRUE calling upon plot. Technically, ‘plotting memory’ implemented storing plotting information environment defined hidden environment geoGraph:::.geoGraphEnv: can inspect individual variables within environment: However, recommended modify objects directly, unless really know . case, plotting gGraph object argument reset=TRUE remove previous plotting history undo possible wrong manipulations.","code":"geo.zoomin() geo.zoomout() geo.slide() ls(env = geoGraph:::.geoGraphEnv) ## [1] \"bookmarks\" \"last.plot\" \"last.plot.param\" \"last.points\" ## [5] \"psize\" \"sticky.points\" \"usr\" \"zoom.log\" get(\"last.plot.param\", envir = geoGraph:::.geoGraphEnv) ## $psize ## [1] 0.5 ## ## $pch ## [1] 19"},{"path":"/articles/geograph.html","id":"plotting-gdata-objects","dir":"Articles","previous_headings":"Using geoGraph > Visualizing data","what":"Plotting gData objects","title":"An introduction to geoGraph","text":"gData objects default plotted overlaying corresponding gGraph. instance, using cities example : Note argument reset=TRUE, tells plotting function adapt plotting area geographic extent dataset. plot additional information, can useful extract spatial coordinates data. achieved getCoords. method takes extra argument original, TRUE original spatial coordinates seeked, FALSE coordinates nodes grid. can use represent, instance, population sizes different cities:","code":"plot(cities, reset = TRUE) text(getCoords(cities), rownames(getData(cities))) transp <- function(col, alpha = .5) { res <- apply(col2rgb(col), 2, function(c) rgb(c[1] / 255, c[2] / 255, c[3] / 255, alpha)) return(res) } plot(cities, reset = TRUE) par(xpd = TRUE) text(getCoords(cities) + -.5, rownames(getData(cities))) symbols(getCoords(cities)[, 1], getCoords(cities)[, 2], circ = sqrt(unlist(getData(cities))), inch = .2, bg = transp(\"red\"), add = TRUE)"},{"path":"/articles/geograph.html","id":"editing-ggraphs","dir":"Articles","previous_headings":"Using geoGraph","what":"Editing gGraphs","title":"An introduction to geoGraph","text":"Editing graphs essential task geoGraph. available gGraph objects provide basis work (see ?worldgraph.10k), one may want adapt graph specific case. instance, connectivity defined according biological knowledge organism study. gGraph can modified different ways: changing connectivity, costs edges, attribute values.","code":""},{"path":"/articles/geograph.html","id":"changing-the-global-connectivity-of-a-ggraph","dir":"Articles","previous_headings":"Using geoGraph > Editing gGraphs","what":"Changing the global connectivity of a gGraph","title":"An introduction to geoGraph","text":"two main ways changing connectivity gGraph, match two different objectives. first approach perform global systematic changes connectivity graph. Typically, one want remove connections given type landscape, uncrossable organism study. Let’s assume interested saltwater fishes. model fish dispersal, define graph connects nodes overlaying sea. load gGraph object rawgraph.10k, zoom smaller area (Madagascar) illustrate changes connectivity: shall set bookmark area, case want get back place later : now want remove sea-sea connections. , easiest approach ) define costs edges based habitat, land given large costs ii) remove edges large costs. Costs given node attribute (, habitat') indicated themeta$costs` slot: just changed costs associated habitat type, change yet effective edges nodes. use setCosts set cost edge average costs nodes: new graph, represent edges width inversely proportional associated cost; , bold lines easy travelling light edges/dotted lines costly mouvement. enough yet, since travelling land still possible. However, can tell geoGraph remove edges associated strong cost, defined given threshold (using dropDeadEdges). , sea-sea connections shall retained, , edges cost 1. : newGraph contains connections sea. Note , although restrained plotting area Madagascar, change effective everywhere. instance, travelling nort-west Australian coasts:","code":"geo.zoomin(c(35, 54, -26, -10)) plotEdges(rawgraph.10k) geo.bookmark(\"madagascar\") ## ## Bookmark ' madagascar 'saved. rawgraph.10k@meta$costs ## habitat cost ## 1 sea 100 ## 2 land 1 ## 3 mountain 10 ## 4 landbridge 5 ## 5 oceanic crossing 20 ## 6 deselected land 100 newGraph <- rawgraph.10k newGraph@meta$costs[2:6, 2] <- 100 newGraph@meta$costs[1, 2] <- 1 newGraph@meta$costs ## habitat cost ## 1 sea 1 ## 2 land 100 ## 3 mountain 100 ## 4 landbridge 100 ## 5 oceanic crossing 100 ## 6 deselected land 100 newGraph <- setCosts(newGraph, attr.name = \"habitat\") plot(newGraph, edge = TRUE) newGraph <- dropDeadEdges(newGraph, thres = 1.1) plot(newGraph, edge = TRUE) geo.zoomin(c(110, 130, -27, -12)) geo.bookmark(\"australia\") ## ## Bookmark ' australia 'saved."},{"path":"/articles/geograph.html","id":"changing-local-properties-of-a-ggraph","dir":"Articles","previous_headings":"Using geoGraph > Editing gGraphs","what":"Changing local properties of a gGraph","title":"An introduction to geoGraph","text":"second approach changing gGraph refine graph hand, adding removing locally connections, altering attributes nodes. can necessary connect components islands main landmasses, correct erroneous data. Adding removing edges grid gGraph can achieved geo.add.edges geo.remove.edges, respectively. functions interactive, require user select individual nodes rectangular area edges added removed. See ?geo.add.edges information functions. instance, can remove odd connections previous graph, near Australian coasts (note save changes using <-): img adding connections within area entire graph, node addition based another gGraph,.e. connections existing another gGraph serving reference can added current gGraph. graphs based 10k 40k grids, raw graphs provided geoGraph used, (rawgraph.10k, rawgraph.40k), since fully connected. addition changing grid connectivity, may also want modify attributes specific nodes. done interactively, using function geo.change.attr. instance, , define new value shalowwater (plotted light blue) attribute habitat, selecting affected nodes using ‘area’ mode first, refining changes using ‘point’ mode: , note changes made graph save object (using <-) effective.","code":"geo.goto(\"australia\") newGraph <- geo.remove.edges(newGraph) plot(newGraph, edge = TRUE) temp <- geo.change.attr(newGraph, mode = \"area\", attr.name = \"habitat\", attr.value = \"shallowwater\", newCol = \"deepskyblue\") temp <- geo.change.attr(temp, attr.name = \"habitat\", attr.value = \"shallowwater\", newCol = \"deepskyblue\") newGraph <- temp newGraph@meta$colors ## habitat color ## 1 sea blue ## 2 land green ## 3 mountain brown ## 4 landbridge light green ## 5 oceanic crossing light blue ## 6 deselected land lightgray ## 7 shallowwater deepskyblue plot(newGraph, edge = TRUE)"},{"path":"/articles/geograph.html","id":"extracting-information-from-gis-shapefiles","dir":"Articles","previous_headings":"Using geoGraph","what":"Extracting information from GIS shapefiles","title":"An introduction to geoGraph","text":"important feature geoGraph serving interface geographic information system (GIS) layers geographic data. currently implemented, geoGraph can extract information shapefiles Arc GIS (http://www.esri.com/software/arcgis/index.html) format, using function extractFromLayer. , illustrate procedure using shapefile world-countries.shp provided package. geoGraph still relies SpatialPolygonDataFrame objects sp package. move sf objects planned, moment use sf::st_read() read GIS shapefile sf object, cast SpatialPolygonDataFrame sf::as_Spatial(): summary world.countries shows data (attributes) stored layer. Let us assume interested retrieving continent country information worldgraph.10k object. Note extractFromLayer can extract information types objects gGraph (see ?extractFromLayer) new object newGraph gGraph now includes, node grid, corresponding continent country retrieved GIS layer. can use newly acquired information plotting newGraph, defining new color rules: information turn used define costs travelling grid. instance, one import habitat descriptors GIS, use values formulate habitat model, derive costs dispersal grid. soon GIS layer extracted gGraph, information becomes also available gData interfaced object. instance, can re-use cities example defined previous section, interface newGraph retrieve continent country information cities dataset:","code":"library(sf) ## Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is TRUE world.countries <- sf::st_read(system.file(\"files/shapefiles/world-countries.shp\", package = \"geoGraph\")) ## Reading layer `world-countries' from data source ## `/home/runner/work/_temp/Library/geoGraph/files/shapefiles/world-countries.shp' ## using driver `ESRI Shapefile' ## Simple feature collection with 239 features and 8 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: -180 ymin: -89.9 xmax: 181.8 ymax: 84.93 ## CRS: NA world.countries <- sf::as_Spatial(world.countries) class(world.countries) ## [1] \"SpatialPolygonsDataFrame\" ## attr(,\"package\") ## [1] \"sp\" summary(world.countries) ## Length Class Mode ## 239 SpatialPolygonsDataFrame S4 summary(getNodesAttr(worldgraph.10k)) ## habitat ## deselected land: 290 ## land :2632 ## sea :7320 newGraph <- extractFromLayer(worldgraph.10k, layer = world.countries, attr = c(\"CONTINENT\", \"NAME\")) summary(getNodesAttr(newGraph)) ## habitat CONTINENT NAME ## deselected land: 290 Length:10242 Length:10242 ## land :2632 Class :character Class :character ## sea :7320 Mode :character Mode :character temp <- unique(getNodesAttr(newGraph)$\"NAME\") col <- c(\"transparent\", rainbow(length(temp) - 1)) colMat <- data.frame(NAME = temp, color = col) head(colMat) ## NAME color ## 1 transparent ## 2 Antartica #FF0000 ## 3 Saudi Arabia #FF0B00 ## 4 Yemen #FF1500 ## 5 Somalia #FF2000 ## 6 China #FF2B00 tail(colMat) ## NAME color ## 140 Latvia #FF0040 ## 141 Belarus #FF0035 ## 142 Eritrea #FF002A ## 143 Djibouti #FF0020 ## 144 East Timor #FF0015 ## 145 Jordan #FF000B plot(newGraph, col.rules = colMat, reset = TRUE) cities.dat ## lon lat pop ## Bordeaux -1 45 1.0e+06 ## London 0 51 1.3e+07 ## Malaga -4 37 5.0e+05 ## Zagreb 16 46 1.2e+06 cities <- new(\"gData\", coords = cities.dat[, 1:2], data = cities.dat[, 3, drop = FALSE], gGraph.name = \"newGraph\") cities <- closestNode(cities, attr.name = \"habitat\", attr.value = \"land\") getData(cities) ## pop ## Bordeaux 1.0e+06 ## London 1.3e+07 ## Malaga 5.0e+05 ## Zagreb 1.2e+06 getNodesAttr(cities) ## habitat CONTINENT NAME ## 5775 land Europe France, Metropolitan ## 6413 land Europe United Kingdom ## 4815 land Europe Spain ## 7699 land Europe Austria"},{"path":"/articles/geograph.html","id":"finding-least-cost-paths","dir":"Articles","previous_headings":"Using geoGraph","what":"Finding least-cost paths","title":"An introduction to geoGraph","text":"One useful applications geoGraph research least-cost paths couples locations. can achieved using functions dijkstraFrom dijkstraBetween gData object contains locations interest. functions return least-cost paths format gPath. dijkstraFrom compute paths given node grid locations gData, dijkstraBetween computes paths pairs locations gData. , detail example documentation functions, uses famous dataset native Human populations, HGDP: Populations dataset shown red circles, underlying grid (worldgraph.40k) represented colors depending habitat (blue: sea; green: land; pink: coasts). Population genetics predicts genetic diversity within populations decay populations located away geographic origin species. , verify relationship theoretical origin Addis abeba, Ethiopia. shall seek paths landmasses HGDP populations. First, check populations connected grid using isConnected: Note practice, may often want assess graphically connectivity underlying grid, especially locations gData connected. can done using connectivityPlot, methods gGraph gData, represents different connected components using different colors. instance, worldgraph.10k: Since locations hgdp connected, can proceed . set costs edges gGraph grid. , can choose ) strictly uniform costs (using dropCosts) ii) distance-based costs – roughly uniform – (using setDistCosts) iii) attribute-driven costs (using setCosts). shall first illustrate strictly uniform costs. setting gGraph uniform costs, use dijkstraFrom find shortest paths Addis abeba populations hgdp: object paths contains identified paths, stored list class gPath (see ?gPath). Paths can plotted easily: graph, path plotted different color, several paths overlap several places. can extract distances origin' usinggPath2dist, examine relationship genetic diversity within populations (stored inhgdp`) distance origin: Alternatively, can use costs based habitat. toy example, consider coasts four times favourable dispersal rest landmasses. define new costs, compute plot corresponding shortest paths: new paths slightly different previous ones. can examine new relationship genetic distance: course, distinction coasts inner landmasses somewhat poor description habitat. practice, complex habitat models can used simply.","code":"hgdp ## ## === gData object === ## ## @coords: spatial coordinates of 52 nodes ## lon lat ## 1 -3 59 ## 2 39 44 ## 3 40 61 ## ... ## ## @nodes.id: nodes identifiers ## 28179 11012 22532 ## \"26898\" \"11652\" \"22532\" ## ... ## ## @data: 52 data ## Population Region Label n Latitude Longitude Genetic.Div ## 1 Orcadian EUROPE 1 15 59 -3 0.7259 ## 2 Adygei EUROPE 2 17 44 39 0.7298 ## 3 Russian EUROPE 3 25 61 40 0.7320 ## ... ## ## Associated gGraph: worldgraph.40k plot(hgdp, reset = TRUE) isConnected(hgdp) ## [1] TRUE connectivityPlot(worldgraph.10k, edges = TRUE, seed = 1) geo.zoomin(c(90, 150, 18, -25)) title(\"Different connected components\\n in worldgraph.10k\") myGraph <- dropCosts(worldgraph.40k) hgdp@gGraph.name <- \"myGraph\" addis <- cbind(38, 9) ori <- closestNode(myGraph, addis) paths <- dijkstraFrom(hgdp, ori) ## Loading required package: RBGL addis <- as.vector(addis) plot(myGraph, col = NA, reset = TRUE) plot(paths) points(addis[1], addis[2], pch = \"x\", cex = 2) text(addis[1] + 35, addis[2], \"Addis abeba\", cex = .8, font = 2) points(hgdp, col.node = \"black\") div <- getData(hgdp)$\"Genetic.Div\" dgeo.unif <- gPath2dist(paths, res.type = \"vector\") plot(div ~ dgeo.unif, xlab = \"GeoGraphic distance (arbitrary units)\", ylab = \"Genetic diversity\") lm.unif <- lm(div ~ dgeo.unif) abline(lm.unif, col = \"red\") summary(lm.unif) ## ## Call: ## lm(formula = div ~ dgeo.unif) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.07327 -0.00660 0.00074 0.01015 0.05449 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 7.70e-01 4.58e-03 168.2 <2e-16 *** ## dgeo.unif -8.39e-04 5.31e-05 -15.8 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.0185 on 50 degrees of freedom ## Multiple R-squared: 0.833, Adjusted R-squared: 0.83 ## F-statistic: 250 on 1 and 50 DF, p-value: <2e-16 title(\"Genetic diversity vs geographic distance \\n uniform costs \") myGraph@meta$costs[7, ] <- c(\"coast\", 0.25) myGraph@meta$costs ## habitat cost ## 1 sea 100 ## 2 land 1 ## 3 mountain 10 ## 4 landbridge 5 ## 5 oceanic crossing 20 ## 6 deselected land 100 ## 7 coast 0.25 myGraph <- setCosts(myGraph, attr.name = \"habitat\") paths.2 <- dijkstraFrom(hgdp, ori) plot(newGraph, col = NA, reset = TRUE) plot(paths.2) points(addis[1], addis[2], pch = \"x\", cex = 2) text(addis[1] + 35, addis[2], \"Addis abeba\", cex = .8, font = 2) points(hgdp, col.node = \"black\") dgeo.hab <- gPath2dist(paths.2, res.type = \"vector\") plot(div ~ dgeo.hab, xlab = \"GeoGraphic distance (arbitrary units)\", ylab = \"Genetic diversity\") lm.hab <- lm(div ~ dgeo.hab) abline(lm.hab, col = \"red\") summary(lm.hab) ## ## Call: ## lm(formula = div ~ dgeo.hab) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.11183 -0.00976 0.00133 0.01216 0.06413 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 0.770137 0.007174 107.36 < 2e-16 *** ## dgeo.hab -0.001421 0.000145 -9.79 3.2e-13 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.0265 on 50 degrees of freedom ## Multiple R-squared: 0.657, Adjusted R-squared: 0.651 ## F-statistic: 95.9 on 1 and 50 DF, p-value: 3.21e-13 title(\"Genetic diversity vs geographic distance \\n habitat costs \")"},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Andrea Manica. Maintainer.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"c, person)) (2023). geoGraph: Walking geographic space using graphs. R package version 1.1.1.9001.","code":"@Manual{, title = {geoGraph: Walking through the geographic space using graphs}, author = {{c} and {person))}}, year = {2023}, note = {R package version 1.1.1.9001}, }"},{"path":"/index.html","id":"geograph","dir":"","previous_headings":"","what":"Walking through the geographic space using graphs","title":"Walking through the geographic space using graphs","text":"geoGraph aims implementing graph approaches geographic data. geoGraph, given geographic area modelled fine regular grid, vertice set spatial coordinates set attributes, can instance habitat descriptors, presence/abundance given species. ‘Travelling’ within geographic area can easily modelled moving connected vertices. cost moving one vertex another can defined according attribute values, allows instance define friction routes based habitat. geoGraph harnesses full power graph algorithms implemented R graph RBGL (R Boost Graph Library) packages. particular, RBGL interface R comprehensive Boost Graph Library C++, provides fast efficient implementations wide range graph algorithms. defined frictions entire geographic area, can easily, instance, find least costs path one location another, find parsimonious way connecting set locations. Interfacing spatial data graphs can complicated task. purpose geoGraph provide tools achieve simplify ‘preliminary’ step. achieved defining new classes objects essentially geo-referenced graphs node attributes (gGraph objects), interfaced spatial data (gData objects).","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Walking through the geographic space using graphs","text":"can install development version geoGraph GitHub :","code":"install.packages(\"devtools\") devtools::install_github(\"thibautjombart/geoGraph\")"},{"path":"/index.html","id":"how-the-package-works","dir":"","previous_headings":"","what":"How the package works","title":"Walking through the geographic space using graphs","text":"detailed introduction functionalities geoGraph found overview article website.","code":""},{"path":"/reference/auxiliary.html","id":null,"dir":"Reference","previous_headings":"","what":"Auxiliary methods for geoGraph — auxiliary","title":"Auxiliary methods for geoGraph — auxiliary","text":"methods low-level functions called procedures geoGraph. can, however, useful . Note unlike functions geoGraph, functions generally test validity provided arguments (speed purposes).","code":""},{"path":"/reference/auxiliary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Auxiliary methods for geoGraph — auxiliary","text":"","code":"hasCosts(x) geo.segments( x0, y0, x1, y1, col = graphics::par(\"fg\"), lty = graphics::par(\"lty\"), lwd = graphics::par(\"lwd\"), ... )"},{"path":"/reference/auxiliary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Auxiliary methods for geoGraph — auxiliary","text":"x valid gGraph. x0, y0 coordinates points draw. x1, y1 coordinates points draw. col character string integer indicating color segments. lty character string integer indicating type line. lwd integer indicating line width. ... graphical parameters ('par') passed segments function.","code":""},{"path":"/reference/auxiliary.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Auxiliary methods for geoGraph — auxiliary","text":"hasCost, logical value returned. geo.segments returns NULL.","code":""},{"path":"/reference/auxiliary.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Auxiliary methods for geoGraph — auxiliary","text":"hasCosts: tests whether gGraph costs associated edges. geo.segments: substitute segments correctly draws segments locations distant 90 degrees longitude. rebuild: development.","code":""},{"path":"/reference/auxiliary.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Auxiliary methods for geoGraph — auxiliary","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/auxiliary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Auxiliary methods for geoGraph — auxiliary","text":"","code":"hasCosts(worldgraph.10k) #> [1] FALSE"},{"path":"/reference/buffer.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute buffers around locations for gGraph and gData objects — buffer","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"generic function buffer finds buffers around specified locations gGraph gData object. Different format output available.","code":""},{"path":"/reference/buffer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"","code":"# S4 method for gGraph buffer(x, nodes, d, res.type = c(\"nodes\", \"gGraph\"), ...) # S4 method for gData buffer(x, d, res.type = c(\"nodes\", \"gData\", \"gGraph\"), ...)"},{"path":"/reference/buffer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"x valid gGraph gData object. nodes character vector identifying nodes aournd buffers computed. d radius buffer, km. res.type type result returned (see section value. ... arguments passed specific methods.","code":""},{"path":"/reference/buffer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"output depends value argument res.type: nodes: vector characters identifying nodes buffers. gGraph: gGraph object new attribute \"buffer\" (TRUE: within buffers; FALSE: outside buffers), new color rules attribute @meta$buf.colors. gData: gData object including nodes buffers.","code":""},{"path":"/reference/buffer.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"computed buffers sets nodes lying within given distance specified locations. nodes buffer need connected location surround.","code":""},{"path":"/reference/buffer.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/buffer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"","code":"#### gGraph example #### ## zoom in to an area plot(worldgraph.10k, reset = TRUE) geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) ## identify one node oneNodeXY <- c(getCoords(worldgraph.10k)[9299, 1], getCoords(worldgraph.10k)[9299, 2]) points(oneNodeXY[1], oneNodeXY[2], col = \"red\") ## find some buffers buffer(worldgraph.10k, \"9299\", 100) # nothing around 100km #> [1] \"9299\" buffer(worldgraph.10k, \"9299\", 500) #> [1] \"9299\" \"8979\" \"9619\" \"9300\" \"9298\" \"8978\" \"9620\" \"8980\" \"8658\" \"9618\" #> [11] \"9940\" \"9301\" \"9621\" \"9297\" \"8977\" \"8657\" \"9941\" buf500km <- buffer(worldgraph.10k, \"9299\", 500, res = \"gGraph\") plot(buf500km, col.rules = buf500km@meta$buf.colors) buf1000km <- buffer(worldgraph.10k, \"9299\", 1000, res = \"gGraph\") plot(buf1000km, col.rules = buf1000km@meta$buf.colors) #### gData example #### x <- hgdp[27:30] # retain a subset of hgdp plot(x, reset = TRUE, col.g = \"lightgrey\", pch.node = 20) buf.200 <- buffer(x, 200, res = \"gData\") buf.400 <- buffer(x, 400, res = \"gData\") buf.600 <- buffer(x, 600, res = \"gData\") buf.1000 <- buffer(x, 1000, res = \"gData\") points(buf.1000, col.node = \"black\") points(buf.600, col.node = \"yellow\") points(buf.400, col.node = \"gold\") points(buf.200, col.node = \"orange\") title(\"Different buffers for a gData \\n(100km, 200km, 500km)\")"},{"path":"/reference/closestNode.html","id":null,"dir":"Reference","previous_headings":"","what":"Find the closest node to a given location — closestNode","title":"Find the closest node to a given location — closestNode","text":"function closestNode searches closest node gGraph gData object given location. possible restrain research given values node attribute. instance, one can search closest node land given location.","code":""},{"path":"/reference/closestNode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find the closest node to a given location — closestNode","text":"","code":"closestNode(x, ...) # S4 method for gGraph closestNode(x, loc, zoneSize = 5, attr.name = NULL, attr.values = NULL) # S4 method for gData closestNode(x, zoneSize = 5, attr.name = NULL, attr.values = NULL)"},{"path":"/reference/closestNode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find the closest node to a given location — closestNode","text":"x valid gGraph gData object. latter case, gGraph gData linked current environment. ... arguments passed specific methods. loc locations, specified list two components indicating longitude latitude locations. Alternatively, can data.frame matrix longitude latitude columns, order. Note locator() can used specify interactively locations. zoneSize numeric value indicating size zone (latitude/longitude units) closest node searched . Note matters speed purpose: closest node found inside given zone, zone expanded nodes found. attr.name optional name node attribute. See details. attr.values optional vector giving values attr.names. See details.","code":""},{"path":"/reference/closestNode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find the closest node to a given location — closestNode","text":"x gGraph object: vector node names. x gData object: gData object matching nodes stored @nodes.id slot. Note previous content @nodes.id erased.","code":""},{"path":"/reference/closestNode.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find the closest node to a given location — closestNode","text":"function also used match locations gData object nodes gGraph object linked. creating gData object, gGraph.name argument provided, locations matched gGraph object automatically, internal call closestNode. Note, however, possible specify node attributes (attr.names attr.values) way.","code":""},{"path":"/reference/closestNode.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Find the closest node to a given location — closestNode","text":"closestNode(gGraph): Method gGraph closestNode(gData): Method gData","code":""},{"path":[]},{"path":"/reference/closestNode.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Find the closest node to a given location — closestNode","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/closestNode.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Find the closest node to a given location — closestNode","text":"","code":"if (FALSE) { ## interactive example ## plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## click some locations myNodes <- closestNode(worldgraph.10k, locator(), attr.name = \"habitat\", attr.value = \"land\") myNodes ## here are the closestNodes points(getCoords(worldgraph.10k)[myNodes, ], col = \"red\") } ## example with a gData object ## myLoc <- list(x = c(3, -8, 11, 28), y = c(50, 57, 71, 67)) # some locations obj <- new(\"gData\", coords = myLoc) # new gData object obj #> #> === gData object === #> #> @coords: spatial coordinates of 4 nodes #> lon lat #> 1 3 50 #> 2 -8 57 #> 3 11 71 #> ... #> #> @nodes.id: nodes identifiers #> character(0) #> #> @data: data #> NULL #> ... #> #> Associated gGraph: obj@gGraph.name <- \"worldgraph.10k\" # this could be done when creating obj obj <- closestNode(obj, attr.name = \"habitat\", attr.value = \"land\") ## plot the result (original location -> assigned node) plot(obj, method = \"both\", reset = TRUE) #> Warning: \"method\" is not a graphical parameter title(\"'x'=location, 'o'=assigned node\")"},{"path":"/reference/combineCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Combine the costs of two gGraph objects — combineCosts","title":"Combine the costs of two gGraph objects — combineCosts","text":"function combineCosts combines edge costs two gGraph objects. first object used temlate generate objects combined costs. Two two gGraph objects must edges.","code":""},{"path":"/reference/combineCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combine the costs of two gGraph objects — combineCosts","text":"","code":"combineCosts(x1, x2, method = c(\"sum\", \"product\", \"function\"), FUN = NULL, ...)"},{"path":"/reference/combineCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combine the costs of two gGraph objects — combineCosts","text":"x1 firt gGraph (used template build combined gGraph) x2 second gGraph costs combined method character string indicating method used combined edge cost two gGraph. Currently available options 'sum', 'prod' 'function', combined costs computed sum, product custom function (defined FUN) costs nodes. FUN function used compute cost two nodes (needed method=\"function\"). ... additional parameters passed FUN.","code":""},{"path":"/reference/combineCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combine the costs of two gGraph objects — combineCosts","text":"gGraph object newly defined costs, basedd combination two gGraph objects, used weightings edges.","code":""},{"path":"/reference/combineCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Combine the costs of two gGraph objects — combineCosts","text":"Note costs inversely proportional connectivity edges: larger cost associated edge, lower connectivity two concerned nodes. Also note 'costs' defined geoGraph equivalent 'weights' defined graph RBGL packages.","code":""},{"path":"/reference/combineCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combine the costs of two gGraph objects — combineCosts","text":"","code":"data(\"worldgraph.40k\") # new graph with custom cost function exp.cost <- function(x1, x2, cost.coeff) { exp(-abs(x1 - x2) * cost.coeff) } # create a set of node costs worldgraph.40k@nodes.attr$meanProd<-runif(n=40962) new_costs_graph <- setCosts( worldgraph.40k, node.values = worldgraph.40k@nodes.attr$meanProd, method = \"function\", FUN = exp.cost, cost.coeff = 0.5 ) # combine costs from the original graph with the new costs combine_costs_graph<- combineCosts(worldgraph.40k, new_costs_graph, method=\"sum\")"},{"path":"/reference/connectivity.html","id":null,"dir":"Reference","previous_headings":"","what":"Check connectivity of a gGraph object — connectivity","title":"Check connectivity of a gGraph object — connectivity","text":"functions areNeighbours, areConnected method isConnected test connectivity different ways.","code":""},{"path":"/reference/connectivity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check connectivity of a gGraph object — connectivity","text":"","code":"areNeighbours(V1, V2, graph) areConnected(x, nodes) # S4 method for gData isConnected(object, ...) isReachable(x, loc) connectivityPlot(x, ...) # S4 method for gGraph connectivityPlot(x, ..., seed = NULL) # S4 method for gData connectivityPlot(x, col.gGraph = 0, ..., seed = NULL)"},{"path":"/reference/connectivity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check connectivity of a gGraph object — connectivity","text":"V1 vector node names V2 vector node names graph valid graphNEL object. x valid gGraph object. nodes vector node names object valid gData object. ... arguments passed methods. loc location, specified list two components giving respectively longitude latitude. Alternatively, can matrix-like object one row two columns. seed optional integer giving seed used randomizing colors. One given seed always give set colors. NULL default, meaning colors randomized time plot drawn. col.gGraph character string number indicating color nodes used plotting gGraph object. Defaults '0', meaning nodes invisible.","code":""},{"path":"/reference/connectivity.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check connectivity of a gGraph object — connectivity","text":"areNeighbours: vector logical, one value couple nodes. areConnected: single logical value, TRUE nodes form connected set. isConnected: single logical value, TRUE nodes object form connected set.","code":""},{"path":"/reference/connectivity.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check connectivity of a gGraph object — connectivity","text":"areNeighbours: tests connectivity couples nodes object inheriting graph class (like graphNEL object). areConnected: tests set nodes form connected set gGraph object. isConnected: tests nodes gData object form connected set. Note method gData, generic defined graph package. isReachable: tests one location (actually, closest node ) reachable set nodes gData object. connectivityPlot: plots connected sets gGraph gData object different colors. connectivityPlot, isolated nodes (.e. belonging connected set size > 1) plotted light grey.","code":""},{"path":"/reference/connectivity.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Check connectivity of a gGraph object — connectivity","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/connectivity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check connectivity of a gGraph object — connectivity","text":"","code":"connectivityPlot(rawgraph.10k) connectivityPlot(worldgraph.10k)"},{"path":"/reference/dijkstra-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Shortest path using Dijkstra algorithm — dijkstra-methods","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"methods dijkstraFrom dijkstraBetween wrappers procedures implemented RBGL package, designed gGraph gData object.","code":""},{"path":"/reference/dijkstra-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"","code":"dijkstraBetween(x, ...) # S4 method for gGraph dijkstraBetween(x, from, to) # S4 method for gData dijkstraBetween(x) dijkstraFrom(x, ...) # S4 method for gGraph dijkstraFrom(x, start) # S4 method for gData dijkstraFrom(x, start) # S3 method for gPath plot(x, col = \"rainbow\", lwd = 3, ...) gPath2dist(m, diag = FALSE, upper = FALSE, res.type = c(\"dist\", \"vector\"))"},{"path":"/reference/dijkstra-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"x gGraph gData object. plotting method gPath objects, gPath object. ... arguments passed segments method. vector character strings giving node names. vector character strings giving node names. start character string naming 'source' node. col character string indicating color palette colors used plotting edges. lwd numeric value indicating width edges. m gPath object obtained dijkstraBetween. diag, upper unused parameters added consistency .dist. res.type character string indicating type result returned: dist object ('dist'), vector distances ('vector'). Note 'dist' required pairwise data, output dijkstraBetween (opposed dijkstraFrom).","code":""},{"path":"/reference/dijkstra-methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"\"gPath\" object. basically outputs RBGL's sp.function (see ?sp.), class attribute set \"gPath\", additional slot 'xy' containing geographic coordinates nodes involved paths.","code":""},{"path":"/reference/dijkstra-methods.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"dijkstraFrom finds minimum costs paths nodes given 'source' node. dijkstraBetween finds minimum costs paths possible pairs nodes given two sets nodes. functions return objects S3 class \"gPath\". objects can plotted using plot.gPath. gPath2dist extracts pairwise distances gPath returned dijkstraBetween returns dist object. Note gPath contain pairwise information, warning issued, resulting output likely meaningless. 'dijkstraBetween', paths seeked possible pairs nodes '' ''.","code":""},{"path":"/reference/dijkstra-methods.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/dijkstra-methods.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"","code":"if (FALSE) { ## plotting world <- worldgraph.40k par(mar = rep(.1, 4)) plot(world, reset = TRUE) ## check connectivity isConnected(hgdp) # must be ok ## Lowest cost path from an hypothetical origin ori.coord <- list(33, 10) # one given location long/lat points(data.frame(ori.coord), pch = \"x\", col = \"black\", cex = 3) # an 'x' shows the putative origin ori <- closestNode(world, ori.coord) # assign it the closest node myPath <- dijkstraFrom(hgdp, ori) # compute shortest path ## plotting plot(world, pch = \"\") # plot the world points(hgdp, lwd = 3) # plot populations points(data.frame(ori.coord), pch = \"x\", col = \"black\", cex = 3) # add origin plot(myPath) # plot the path }"},{"path":"/reference/dropDeadEdges.html","id":null,"dir":"Reference","previous_headings":"","what":"Get rid of some 'dead' edges or nodes — dropDeadEdges","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"functions dropDeadEdges dropDeadNodes used remove 'dead edges' 'dead nodes'.","code":""},{"path":"/reference/dropDeadEdges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"","code":"dropDeadEdges(x, thres)"},{"path":"/reference/dropDeadEdges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"x valid gGraph. thres numeric value indicating threshold cost edge removed. costs strictly greater thres removed.","code":""},{"path":"/reference/dropDeadEdges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"gGraph object.","code":""},{"path":"/reference/dropDeadEdges.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"Dead edges edges associated prohibitive cost, , edges longer imply connectivity two nodes. Dead nodes nodes connected node, thus role connectivity graph.","code":""},{"path":"/reference/dropDeadEdges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/dropDeadEdges.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) x <- dropDeadNodes(worldgraph.10k) plot(x) }"},{"path":"/reference/extractFromLayer.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieves node attributes from a layer — extractFromLayer","title":"Retrieves node attributes from a layer — extractFromLayer","text":"generic function extractFromLayer uses information GIS shapefile define node attributes. node, information retrieved layer assigned node.","code":""},{"path":"/reference/extractFromLayer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieves node attributes from a layer — extractFromLayer","text":"","code":"extractFromLayer(x, ...) # S4 method for matrix extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for data.frame extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for list extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for gGraph extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for gData extractFromLayer(x, layer = \"world\", attr = \"all\", ...)"},{"path":"/reference/extractFromLayer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieves node attributes from a layer — extractFromLayer","text":"x matrix, data.frame, list, valid gGraph, valid gData object. matrix data.frame, input must two columns giving longitudes latitudes locations considered. list, input must two components vectors giving longitudes latitudes locations. ... arguments passed methds. Currently used. layer shapefile class SpatialPolygonsDataFrame (see readShapePoly maptools package import data GIS shapefile). Alternatively, character string indicating one shapefile released geoGraph; currently, 'world' available (see ?data(worldshape)). attr character vector giving names variables extracted layer. '', available variables extracted. case problem, available names displayed error message. Available data also stored layer@data.","code":""},{"path":"/reference/extractFromLayer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieves node attributes from a layer — extractFromLayer","text":"output depends nature input: - matrix, data.frame, list: data.frame one row per location, many columns requested variables ('attributes'). gGraph: gGraph object new node attributes (@nodes.attr slot). nodes attributes already existed, new attributes added new columns. gData: gData object new data associated locations (@data slot). New information merge older information according type data stored.","code":""},{"path":"/reference/extractFromLayer.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Retrieves node attributes from a layer — extractFromLayer","text":"Nodes can specified different ways, including providing gGraph gData object. Outputs match input formats.","code":""},{"path":[]},{"path":"/reference/extractFromLayer.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Retrieves node attributes from a layer — extractFromLayer","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/extractFromLayer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieves node attributes from a layer — extractFromLayer","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) ## see what info is available names(worldshape@data) unique(worldshape@data$CONTINENT) ## retrieve continent info for all nodes ## (might take a few seconds) x <- extractFromLayer(worldgraph.10k, layer = worldshape, attr = \"CONTINENT\") x table(getNodesAttr(x, attr.name = \"CONTINENT\")) ## subset Africa temp <- getNodesAttr(x, attr.name = \"CONTINENT\") == \"Africa\" temp[is.na(temp)] <- FALSE x <- x[temp] plot(x, reset = TRUE) }"},{"path":"/reference/findLand.html","id":null,"dir":"Reference","previous_headings":"","what":"Find which nodes are on land — findLand","title":"Find which nodes are on land — findLand","text":"generic function findLand uses information GIS shapefile define nodes land, . Strickly speaking, 'land' fact inside polygon shapefile.","code":""},{"path":"/reference/findLand.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find which nodes are on land — findLand","text":"","code":"findLand(x, ...) # S4 method for matrix findLand(x, shape = \"world\", ...) # S4 method for data.frame findLand(x, shape = \"world\", ...) # S4 method for gGraph findLand(x, shape = \"world\", attr.name = \"habitat\", ...)"},{"path":"/reference/findLand.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find which nodes are on land — findLand","text":"x matrix, data.frame, valid gGraph object. matrix data.frame, input must two columns giving longitudes latitudes locations considered. ... arguments passed methods. Currently used. shape shapefile class SpatialPolygonsDataFrame (see readShapePoly maptools package import data GIS shapefile). Alternatively, character string indicating one shapefile released geoGraph; currently, 'world' available (see ?data(worldshape)). attr.name character string giving name node attribute output stored.","code":""},{"path":"/reference/findLand.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find which nodes are on land — findLand","text":"output depends nature input: - matrix, data.frame: factor two levels 'land' 'sea'. gGraph: gGraph object new node attribute, possibly added previously existing node attributes (@nodes.attr slot).","code":""},{"path":"/reference/findLand.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find which nodes are on land — findLand","text":"Nodes can specified either matrix geographic coordinates, gGraph object.","code":""},{"path":[]},{"path":"/reference/findLand.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Find which nodes are on land — findLand","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/findLand.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Find which nodes are on land — findLand","text":"","code":"## create a new gGraph with random coordinates myCoords <- data.frame(long = runif(1000, -180, 180), lat = runif(1000, -90, 90)) obj <- new(\"gGraph\", coords = myCoords) obj # note: no node attribute #> #> === gGraph object === #> #> @coords: spatial coordinates of 1000 nodes #> lon lat #> 1 110.07364 -33.47530 #> 2 42.32957 44.88287 #> 3 10.97741 83.96436 #> ... #> #> @nodes.attr: 0 nodes attributes #> data frame with 0 columns and 0 rows #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 1000 #> Number of Edges = 0 plot(obj) ## find which points are on land obj <- findLand(obj) obj # note: new node attribute #> #> === gGraph object === #> #> @coords: spatial coordinates of 1000 nodes #> lon lat #> 1 110.07364 -33.47530 #> 2 42.32957 44.88287 #> 3 10.97741 83.96436 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 land #> 3 sea #> ... #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 1000 #> Number of Edges = 0 ## define rules for colors temp <- data.frame(habitat = c(\"land\", \"sea\"), color = c(\"green\", \"blue\")) temp #> habitat color #> 1 land green #> 2 sea blue obj@meta$color <- temp ## plot object with new colors plot(obj)"},{"path":"/reference/gData-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Formal class ","title":"Formal class ","text":"class gData formal (S4) class storing georeferenced data, consisting set locations (longitude latitude) one several variables measured. data designed matched gGraph object, location assigned closest node gGraph object.","code":""},{"path":"/reference/gData-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Formal class ","text":"Note several operations gData object, gGraph object linked present environment.","code":""},{"path":"/reference/gData-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"Formal class ","text":"coords matrix spatial coordinates two columns, respectively longitude (-180 180) latitude. Positive numbers intended 'east' 'north', respectively. nodes.id vector character strings giving name nodes (gGraph object) associated locations. data kind data associated locations coords. matrix-like objects, rows correspond locations. gGraph.name character string name gGraph object object matched. Note none mandatory: new(\"gData\") work, create empty gGraph object. Also note finer matching locations nodes gGraph object can achieved creating object, instance using closestNode method.","code":""},{"path":"/reference/gData-class.html","id":"objects-from-the-class-gdata","dir":"Reference","previous_headings":"","what":"Objects from the class gData","title":"Formal class ","text":"gData objects can created calls new(\"gData\", ...), '...' can following arguments:","code":""},{"path":[]},{"path":"/reference/gData-class.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Formal class ","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/gData-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Formal class ","text":"","code":"hgdp #> #> === gData object === #> #> @coords: spatial coordinates of 52 nodes #> lon lat #> 1 -3 59 #> 2 39 44 #> 3 40 61 #> ... #> #> @nodes.id: nodes identifiers #> 28179 11012 22532 #> \"26898\" \"11652\" \"22532\" #> ... #> #> @data: 52 data #> Population Region Label n Latitude Longitude Genetic.Div #> 1 Orcadian EUROPE 1 15 59 -3 0.7258820 #> 2 Adygei EUROPE 2 17 44 39 0.7297802 #> 3 Russian EUROPE 3 25 61 40 0.7319749 #> ... #> #> Associated gGraph: worldgraph.40k ## plot data plot(worldgraph.40k, pch = \"\") points(hgdp) ## subset and plot data onlyNorth <- hgdp[hgdp@data$Latitude > 0] # only northern populations plot(worldgraph.40k, reset = TRUE) abline(h = 0) # equator points(onlyNorth, pch.node = 20, cex = 2, col.node = \"purple\")"},{"path":"/reference/gGraph-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Formal class ","title":"Formal class ","text":"class gGraph formal (S4) class storing geographic data. data composed set geographic coordinates vertices ('nodes'), graph describing connectivity vertices. Data associated nodes can also stored ('nodes attributes'), well meta-information used plotting object, computing weights associated edges based nodes attributes.","code":""},{"path":"/reference/gGraph-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Formal class ","text":"slots, nodes uniquely identified name (reference taken row names @coords slot).","code":""},{"path":"/reference/gGraph-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"Formal class ","text":"coords matrix spatial coordinates two columns, respectively longitude (-180 180) latitude. Positive numbers intended 'east' 'north', respectively. nodes.attr data.frame whose rows nodes, whose columns different variables associated nodes. meta list, likely containing named data.frames (see Slots). graph object class graphNEL, graph package (see class?graphNEL), describing connectivity among nodes. Note none mandatory: new(\"gGraph\") work, create empty gGraph object.","code":""},{"path":"/reference/gGraph-class.html","id":"objects-from-the-class-ggraph","dir":"Reference","previous_headings":"","what":"Objects from the class gGraph","title":"Formal class ","text":"gGraph objects can created calls new(\"gGraph\", ...), '...' can following arguments:","code":""},{"path":[]},{"path":"/reference/gGraph-class.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Formal class ","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/gGraph-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Formal class ","text":"","code":"## create an empty object new(\"gGraph\") #> #> === gGraph object === #> #> @coords: spatial coordinates of 0 nodes #> lon lat #> #> @nodes.attr: 0 nodes attributes #> data frame with 0 columns and 0 rows #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 0 #> Number of Edges = 0 ## plotting the object plot(rawgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## to play interactively with graphics, use: # geo.zoomin() # geo.zoomout() # geo.slide() # geo.back() ## defining a new object restrained to visible nodes x <- rawgraph.10k[isInArea(rawgraph.10k)] plot(x, reset = TRUE, edges = TRUE) title(\"x does just contain these visible nodes.\") ## define weights for edges x <- setCosts(x, attr.name = \"habitat\", method = \"prod\") plot(x, edges = TRUE) title(\"costs defined by habitat (land/land=1, other=100)\") ## drop 'dead edges' (i.e. with weight 0) x <- dropDeadEdges(x, thres = 10) plot(x, edges = TRUE) title(\"after droping edges with null weight\")"},{"path":"/reference/geo.add.edges.html","id":null,"dir":"Reference","previous_headings":"","what":"Add and remove edges from a gGraph object — geo.add.edges","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"functions geo.add.edges geo.remove.edges allow one add remove edges interactively gGraph object. adding edges, two approaches possible: - click vertices defining new edges (mode=\"points\") - select area edges reference graph added (mode=\"area\").","code":""},{"path":"/reference/geo.add.edges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"","code":"geo.add.edges(x, mode = c(\"points\", \"area\", \"all\"), refObj = \"rawgraph.40k\")"},{"path":"/reference/geo.add.edges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"x valid gGraph object. mode character string indicating mode addition removal edges. 'points': user expected click vertices indicate edges. 'area': user expected click two points defining rectangular area within edges selected. '': edges reference graph added current object. refObj valid gGraph object, used reference adding edges. selecting area inside edges added, edges existing area refObj added x. Alternatively, character string can provided, corresponding one following datasets: 'rawgraph.10k', rawgraph.40k'.","code":""},{"path":"/reference/geo.add.edges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"gGraph object newly added removed edges.","code":""},{"path":[]},{"path":"/reference/geo.add.edges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/geo.add.edges.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## remove edges geo.remove.edges(worldgraph.10k) # points mode geo.remove.edges(worldgraph.10k, mode = \"area\") # area mode ## add edges geo.add.edges(worldgraph.10k) # points mode geo.add.edges(worldgraph.10k, mode = \"area\") # area mode }"},{"path":"/reference/geo.change.attr.html","id":null,"dir":"Reference","previous_headings":"","what":"Change values of a node attribute — geo.change.attr","title":"Change values of a node attribute — geo.change.attr","text":"functions geo.change.attr changes values given node attribute set selected nodes gGraph object.","code":""},{"path":"/reference/geo.change.attr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Change values of a node attribute — geo.change.attr","text":"","code":"geo.change.attr( x, mode = c(\"points\", \"area\"), attr.name, attr.value, only.name = NULL, only.value = NULL, newCol = \"black\", restore.edges = FALSE, refObj = \"rawgraph.40k\" )"},{"path":"/reference/geo.change.attr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Change values of a node attribute — geo.change.attr","text":"x valid gGraph object. mode character string indicating whether selected nodes clicked one one ('points') defining rectangular area ('area'). attr.name name node attribute modified. attr.value new value attribute assigned selected nodes. .name (optional) area mode, name node attribute add extra selection criterion. See details. .value (optional) area mode, .name specified, values .name can selected. See details. newCol character string giving new color attribute value. restore.edges logical indicating whether edges stemming modified nodes re-added graph, using refObj reference. useful connectivity redefined using setCosts nodes previously disconnected. refObj character string gGraph object, used reference re-adding edges. character string provided, must match one following dataset: 'rawgraph.10k', 'rawgraph.40k'.","code":""},{"path":"/reference/geo.change.attr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Change values of a node attribute — geo.change.attr","text":"gGraph object modified node attributes.","code":""},{"path":"/reference/geo.change.attr.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Change values of a node attribute — geo.change.attr","text":"argument .name allows one perform accurate selection nodes whose attribute changed, specifying values (.value) attribute (.name) can selected. instance, one may want define new attributes nodes worldgraph.10k exclusively land: done specifying .name=\"habitat\" .value=\"land\".","code":""},{"path":"/reference/geo.change.attr.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Change values of a node attribute — geo.change.attr","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/geo.change.attr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Change values of a node attribute — geo.change.attr","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) ## have to click here for an area ## all nodes are modified in the area x <- geo.change.attr(worldgraph.10k, mode = \"area\", attr.name = \"habitat\", attr.value = \"fancy habitat\", newCol = \"pink\") # modify selected area plot(x, reset = TRUE) # modification in the whole selected area ## have to click here for an area ## only nodes on land are modified x <- geo.change.attr(x, mode = \"area\", attr.name = \"habitat\", attr.value = \"fancy2 habitat\", newCol = \"purple\", only.name = \"habitat\", only.value = \"land\") plot(x, reset = TRUE) # modification in the whole selected area }"},{"path":"/reference/geoGraph-package.html","id":null,"dir":"Reference","previous_headings":"","what":"The geoGraph package — geoGraph-package","title":"The geoGraph package — geoGraph-package","text":"package implements classes methods large-scale georeferenced data handled spatial graphs.","code":""},{"path":"/reference/geoGraph-package.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"The geoGraph package — geoGraph-package","text":"Main functionalities geoGraph summarized . === DATA HANDLING === geoGraph, data stored particular formal class named gGraph. class contains spatial coordinates set nodes (@coords), attributes nodes (@nodes.attr), meta-information nodes attributes (@meta), graph connections nodes class graphNEL (@graph). Several functions available handling gGraph data: accessors allow access slots object, sometimes additional treatment information: getGraph, getNodesAttr, getCoords, getNodes, getEdges, getCosts. setEdges: add/remove edges specified edges. setCosts: set costs edges. hasCosts: tests graph weighted (.e., non-uniform costs). isInArea: finds nodes currently plotted area. areConnected: tests nodes directly connected. connectivityPlot: plot connected components different colors. dropDeadEdges: suppress edges whose weight null. closestNode: given longitude latitude, finds closest node; specific values node attribute can provided, instance, find closest node land. show: printing gGraph objects. extractFromLayer: extract information GIS layers. findLand: checks nodes land. setCosts: define edges weights accoring rules specified @meta slot. geo.add.edges, geo.remove.edges: graphical functions adding removing edges. geo.change.attr: graphical functions changing attributes nodes. === GRAPHICS ===geoGraph aims providing advanced graphical facilities, zooming particular area, moving plotted area, visualizing connectivity nodes. plot: plot method various options, allowing display shapefile (default, map world), using color according attributes, showing connectivity nodes, etc. points: similar plot method, except new plot created. plotEdges: specific function plotting edges. detects object weighted graph, plots edges accordingly. geo.zoomin, geo.zoomout: zoom plot. geo.back: replot previous screens. geo.slide: slide plotted area toward indicated direction. geo.bookmark, geo.goto: set goto bookmarked area. === DATASETS === Datasets occupy central place geoGraph, since provide spatial models used later operations. Two main datasets proposed, gGraph resulting spliting earth cells (allmost perfectly) equal sizes. Two different resolutions provided: - worldgraph.10k: coverage using 10,000 nodes - worldgraph.40k: coverage using 40,000 nodes datasets : - worldshape: shapefile containing world countries. cite geoGraph, please use reference given citation(\"geoGraph\").","code":""},{"path":"/reference/geoGraph-package.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"The geoGraph package — geoGraph-package","text":"","code":"## the class gGraph worldgraph.10k #> #> === gGraph object === #> #> @coords: spatial coordinates of 10242 nodes #> lon lat #> 1 -180.0000 90.00000 #> 2 144.0000 -90.00000 #> 3 -33.7806 27.18924 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 2 items #> [1] \"$colors\" \"$costs\" #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 10242 #> Number of Edges = 6954 ## plotting the object plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## to play interactively with graphics, use: # geo.zoomin() # geo.zoomout() # geo.slide() # geo.back() ## defining a new object restrained to visible nodes x <- worldgraph.10k[isInArea(worldgraph.10k)] plot(x, reset = TRUE, edges = TRUE) title(\"x does just contain these visible nodes.\") ## define weights for edges x <- setCosts(x, attr.name = \"habitat\", method = \"prod\") plot(x, edges = TRUE) title(\"connectivity defined by habitat (land/land=1, other=0)\") ## drop 'dead edges' (i.e. with weight 0) x <- dropDeadEdges(x) plot(x, edges = TRUE) title(\"after droping edges with null weight\")"},{"path":"/reference/getColors.html","id":null,"dir":"Reference","previous_headings":"","what":"Get colors associated to edges of a gGraph object — getColors","title":"Get colors associated to edges of a gGraph object — getColors","text":"function getColors returns colors associated nodes gGraph object, based specified node attribute.","code":""},{"path":"/reference/getColors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get colors associated to edges of a gGraph object — getColors","text":"","code":"getColors(x, ...) # S4 method for gGraph getColors(x, nodes = \"all\", attr.name, col.rules = NULL, ...)"},{"path":"/reference/getColors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get colors associated to edges of a gGraph object — getColors","text":"x valid gGraph. ... arguments passed methods. nodes vector character strings integers identifying nodes name index. Can \"\", case nodes considered. attr.name character string indicating name node attribute used define colors. col.rules matrix giving rules plotting attribute values different colors. See details.","code":""},{"path":"/reference/getColors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get colors associated to edges of a gGraph object — getColors","text":"vector characters valid colors.","code":""},{"path":"/reference/getColors.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get colors associated to edges of a gGraph object — getColors","text":"Colors based node attribute, , column nodes.attr data.frame. attribute finite number values, likely factor. Correspondence values variable colors must provided @meta\\$color slot, col.rules argument. Color rules mus provided two-column matrix; first column contains values node attribute, named attribute; second must named \"color\", contain valid colors. See example section know slot designed.","code":""},{"path":"/reference/getColors.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get colors associated to edges of a gGraph object — getColors","text":"getColors(gGraph): Method gGraph objects","code":""},{"path":"/reference/getColors.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get colors associated to edges of a gGraph object — getColors","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getColors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get colors associated to edges of a gGraph object — getColors","text":"","code":"worldgraph.10k # there is a node attribute 'habitat' #> #> === gGraph object === #> #> @coords: spatial coordinates of 10242 nodes #> lon lat #> 1 -180.0000 90.00000 #> 2 144.0000 -90.00000 #> 3 -33.7806 27.18924 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 2 items #> [1] \"$colors\" \"$costs\" #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 10242 #> Number of Edges = 6954 worldgraph.10k@meta$color #> habitat color #> 1 sea blue #> 2 land green #> 3 mountain brown #> 4 landbridge light green #> 5 oceanic crossing light blue #> 6 deselected land lightgray head(getNodes(worldgraph.10k)) #> [1] \"1\" \"2\" \"3\" \"4\" \"5\" \"6\" head(getColors(worldgraph.10k, res.type = \"vector\", attr.name = \"habitat\")) #> 1 2 3 4 5 6 #> \"blue\" \"blue\" \"blue\" \"blue\" \"blue\" \"blue\""},{"path":"/reference/getCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Get costs associated to edges of a gGraph object — getCosts","title":"Get costs associated to edges of a gGraph object — getCosts","text":"function getCosts returns costs associated edges gGraph object using different possible outputs. outputs designed match possible outputs getEdges function.","code":""},{"path":"/reference/getCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get costs associated to edges of a gGraph object — getCosts","text":"","code":"getCosts(x, ...) # S4 method for gGraph getCosts(x, res.type = c(\"asIs\", \"vector\"), unique = FALSE, ...) getNodeCosts(x, ...) # S4 method for gGraph getNodeCosts(x, attr.name, ...)"},{"path":"/reference/getCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get costs associated to edges of a gGraph object — getCosts","text":"x valid gGraph. ... arguments passed methods (currently unused). res.type character string indicating kind output used. See value. unique logical indicating whether costs returned unique edges (TRUE), duplicate edges considered well (TRUE, default). attr.name name node attribute used define node costs.","code":""},{"path":"/reference/getCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get costs associated to edges of a gGraph object — getCosts","text":"output depends value argument res.type: asIs: output named list weights, slot containing weights associated edges stemming one given node. format weights accessor graphNEL objects. vector: vector weights; output matches matrix outputs getEdges.","code":""},{"path":"/reference/getCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get costs associated to edges of a gGraph object — getCosts","text":"getNodeCosts returns costs associated nodes based one node attribute. notion 'costs' context gGraph objects identical concept 'weights' graph (thus graphNEL) objects. larger edge, less connectivity couple concerned nodes.","code":""},{"path":"/reference/getCosts.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get costs associated to edges of a gGraph object — getCosts","text":"getCosts(gGraph): Method gGraph object getNodeCosts(): Function get costs values nodes getNodeCosts(gGraph): Method get node costs gGraph object","code":""},{"path":[]},{"path":"/reference/getCosts.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get costs associated to edges of a gGraph object — getCosts","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get costs associated to edges of a gGraph object — getCosts","text":"","code":"head(getEdges(worldgraph.10k, res.type = \"matNames\", unique = TRUE)) #> Vi Vj #> [1,] \"67\" \"9955\" #> [2,] \"67\" \"68\" #> [3,] \"67\" \"9953\" #> [4,] \"68\" \"69\" #> [5,] \"68\" \"9955\" #> [6,] \"69\" \"9957\" head(getCosts(worldgraph.10k, res.type = \"vector\", unique = TRUE)) #> 67.9955 67.68 67.9953 68.69 68.9955 69.9957 #> 1 1 1 1 1 1"},{"path":"/reference/getEdges.html","id":null,"dir":"Reference","previous_headings":"","what":"Get edges from a gGraph object — getEdges","title":"Get edges from a gGraph object — getEdges","text":"function getEdges returns edges gGraph object using different possible outputs.","code":""},{"path":"/reference/getEdges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get edges from a gGraph object — getEdges","text":"","code":"getEdges(x, ...) # S4 method for gGraph getEdges(x, res.type = c(\"asIs\", \"matNames\", \"matId\"), unique = FALSE, ...)"},{"path":"/reference/getEdges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get edges from a gGraph object — getEdges","text":"x valid gGraph. ... arguments passed methods (currently unused). res.type character string indicating kind output used. See value. unique logical indicating whether returned edges unique (TRUE) duplicated edges allowed (TRUE, default).","code":""},{"path":"/reference/getEdges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get edges from a gGraph object — getEdges","text":"output depends value argument res.type: asIs: output named list nodes, slot containing nodes forming edge one given node. format edges accessor graphNEL objects. matNames: matrix two columns giving couples node names forming edges. matId: matrix two columns giving couples node indices forming edges.","code":""},{"path":"/reference/getEdges.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get edges from a gGraph object — getEdges","text":"getEdges(gGraph): Method gGraph objects","code":""},{"path":[]},{"path":"/reference/getEdges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get edges from a gGraph object — getEdges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getEdges.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get edges from a gGraph object — getEdges","text":"","code":"example(gGraph) #> #> gGraph> ## create an empty object #> gGraph> new(\"gGraph\") #> #> === gGraph object === #> #> @coords: spatial coordinates of 0 nodes #> lon lat #> #> @nodes.attr: 0 nodes attributes #> data frame with 0 columns and 0 rows #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 0 #> Number of Edges = 0 #> #> gGraph> ## plotting the object #> gGraph> plot(rawgraph.10k, reset = TRUE) #> #> gGraph> ## zooming in #> gGraph> geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) #> #> gGraph> title(\"Europe\") #> #> gGraph> ## to play interactively with graphics, use: #> gGraph> # geo.zoomin() #> gGraph> # geo.zoomout() #> gGraph> # geo.slide() #> gGraph> # geo.back() #> gGraph> #> gGraph> ## defining a new object restrained to visible nodes #> gGraph> x <- rawgraph.10k[isInArea(rawgraph.10k)] #> #> gGraph> plot(x, reset = TRUE, edges = TRUE) #> #> gGraph> title(\"x does just contain these visible nodes.\") #> #> gGraph> ## define weights for edges #> gGraph> x <- setCosts(x, attr.name = \"habitat\", method = \"prod\") #> #> gGraph> plot(x, edges = TRUE) #> #> gGraph> title(\"costs defined by habitat (land/land=1, other=100)\") #> #> gGraph> ## drop 'dead edges' (i.e. with weight 0) #> gGraph> x <- dropDeadEdges(x, thres = 10) #> #> gGraph> plot(x, edges = TRUE) #> #> gGraph> title(\"after droping edges with null weight\") getEdges(x) #> $`707` #> [1] \"1027\" \"9951\" \"9952\" \"1028\" #> #> $`1027` #> [1] \"707\" \"1347\" \"1028\" \"9950\" \"9951\" \"1348\" #> #> $`1028` #> [1] \"1348\" \"1027\" \"707\" #> #> $`1347` #> [1] \"1027\" \"1667\" \"1348\" \"9950\" \"1668\" #> #> $`1348` #> [1] \"1028\" \"1668\" \"1347\" \"1027\" #> #> $`1667` #> [1] \"1347\" \"1987\" \"1668\" \"9948\" \"1988\" #> #> $`1668` #> [1] \"1348\" \"1988\" \"1667\" \"1347\" #> #> $`1987` #> [1] \"1667\" \"1988\" \"9947\" \"9948\" \"2308\" #> #> $`1988` #> [1] \"1668\" \"2308\" \"1987\" \"1667\" #> #> $`2307` #> character(0) #> #> $`2308` #> [1] \"1988\" \"1987\" #> #> $`2627` #> character(0) #> #> $`2628` #> character(0) #> #> $`2947` #> [1] \"3267\" \"2948\" \"3268\" #> #> $`2948` #> [1] \"3268\" \"2947\" #> #> $`3267` #> [1] \"2947\" \"3587\" \"3268\" \"9943\" \"3588\" #> #> $`3268` #> [1] \"2948\" \"3588\" \"3267\" \"2947\" #> #> $`3533` #> character(0) #> #> $`3534` #> [1] \"3855\" #> #> $`3587` #> [1] \"3267\" \"3907\" \"3588\" \"9942\" \"9943\" \"3908\" #> #> $`3588` #> [1] \"3268\" \"3908\" \"3587\" \"3267\" #> #> $`3853` #> character(0) #> #> $`3854` #> character(0) #> #> $`3855` #> [1] \"4175\" \"3534\" \"4176\" #> #> $`3907` #> [1] \"3587\" \"4227\" \"3908\" \"9941\" \"9942\" \"4228\" #> #> $`3908` #> [1] \"3588\" \"4228\" \"3907\" \"3587\" #> #> $`4172` #> character(0) #> #> $`4173` #> character(0) #> #> $`4174` #> character(0) #> #> $`4175` #> [1] \"3855\" \"4176\" \"4496\" #> #> $`4176` #> [1] \"4496\" \"4175\" \"3855\" \"4497\" #> #> $`4227` #> [1] \"3907\" \"4547\" \"4228\" \"9940\" \"9941\" #> #> $`4228` #> [1] \"3908\" \"4227\" \"3907\" #> #> $`4492` #> character(0) #> #> $`4493` #> [1] \"4813\" \"4494\" \"4814\" #> #> $`4494` #> [1] \"4814\" \"4493\" \"4815\" #> #> $`4495` #> character(0) #> #> $`4496` #> [1] \"4176\" \"4497\" \"4175\" \"4817\" #> #> $`4497` #> [1] \"4817\" \"4496\" \"4176\" \"4818\" #> #> $`4547` #> [1] \"4227\" \"4867\" \"9939\" \"9940\" #> #> $`4811` #> character(0) #> #> $`4812` #> character(0) #> #> $`4813` #> [1] \"4493\" \"4814\" \"5134\" #> #> $`4814` #> [1] \"4494\" \"5134\" \"4815\" \"4813\" \"4493\" \"5135\" #> #> $`4815` #> [1] \"5135\" \"4814\" \"4494\" \"5136\" #> #> $`4816` #> character(0) #> #> $`4817` #> [1] \"4497\" \"5137\" \"4818\" \"4496\" \"5138\" #> #> $`4818` #> [1] \"5138\" \"4817\" \"4497\" \"5139\" #> #> $`4867` #> [1] \"4547\" \"5187\" \"9938\" \"9939\" #> #> $`5131` #> character(0) #> #> $`5132` #> character(0) #> #> $`5133` #> character(0) #> #> $`5134` #> [1] \"4814\" \"5135\" \"4813\" \"5455\" #> #> $`5135` #> [1] \"4815\" \"5455\" \"5136\" \"5134\" \"4814\" #> #> $`5136` #> [1] \"5137\" \"5135\" \"4815\" #> #> $`5137` #> [1] \"4817\" \"5138\" \"5136\" \"5458\" #> #> $`5138` #> [1] \"4818\" \"5458\" \"5139\" \"5137\" \"4817\" \"5459\" #> #> $`5139` #> [1] \"5459\" \"5138\" \"4818\" \"5460\" #> #> $`5187` #> [1] \"4867\" \"5507\" \"9937\" \"9938\" #> #> $`5450` #> character(0) #> #> $`5451` #> character(0) #> #> $`5452` #> character(0) #> #> $`5453` #> character(0) #> #> $`5454` #> character(0) #> #> $`5455` #> [1] \"5135\" \"5775\" \"5134\" \"5776\" #> #> $`5456` #> character(0) #> #> $`5457` #> character(0) #> #> $`5458` #> [1] \"5138\" \"5459\" \"5137\" \"5779\" #> #> $`5459` #> [1] \"5139\" \"5779\" \"5460\" \"5458\" \"5138\" \"5780\" #> #> $`5460` #> [1] \"5780\" \"5459\" \"5139\" \"5781\" #> #> $`5507` #> [1] \"5187\" \"5827\" \"9936\" \"9937\" #> #> $`5770` #> [1] \"6090\" #> #> $`5771` #> character(0) #> #> $`5772` #> character(0) #> #> $`5773` #> character(0) #> #> $`5774` #> character(0) #> #> $`5775` #> [1] \"5455\" \"6095\" \"5776\" \"6096\" #> #> $`5776` #> [1] \"6096\" \"5775\" \"5455\" #> #> $`5777` #> character(0) #> #> $`5778` #> character(0) #> #> $`5779` #> [1] \"5459\" \"5780\" \"5458\" \"6100\" #> #> $`5780` #> [1] \"5460\" \"6100\" \"5781\" \"5779\" \"5459\" \"6101\" #> #> $`5781` #> [1] \"6101\" \"5780\" \"5460\" \"6102\" #> #> $`5827` #> [1] \"5507\" \"6147\" \"9935\" \"9936\" #> #> $`6089` #> character(0) #> #> $`6090` #> [1] \"5770\" \"6411\" #> #> $`6091` #> character(0) #> #> $`6092` #> character(0) #> #> $`6093` #> [1] \"6413\" \"6094\" \"6414\" #> #> $`6094` #> [1] \"6414\" \"6095\" \"6093\" \"6415\" #> #> $`6095` #> [1] \"5775\" \"6415\" \"6096\" \"6094\" \"6416\" #> #> $`6096` #> [1] \"5776\" \"6416\" \"6095\" \"5775\" \"6417\" #> #> $`6097` #> character(0) #> #> $`6098` #> character(0) #> #> $`6099` #> character(0) #> #> $`6100` #> [1] \"5780\" \"6101\" \"5779\" \"6421\" #> #> $`6101` #> [1] \"5781\" \"6421\" \"6102\" \"6100\" \"5780\" \"6422\" #> #> $`6102` #> [1] \"6422\" \"6101\" \"5781\" \"6423\" #> #> $`6147` #> [1] \"5827\" \"6467\" \"9935\" #> #> $`6409` #> character(0) #> #> $`6410` #> character(0) #> #> $`6411` #> [1] \"6412\" \"6090\" #> #> $`6412` #> [1] \"6413\" \"6411\" #> #> $`6413` #> [1] \"6093\" \"6414\" \"6412\" #> #> $`6414` #> [1] \"6094\" \"6415\" \"6413\" \"6093\" \"6735\" #> #> $`6415` #> [1] \"6095\" \"6735\" \"6416\" \"6414\" \"6094\" \"6736\" #> #> $`6416` #> [1] \"6096\" \"6736\" \"6417\" \"6415\" \"6095\" \"6737\" #> #> $`6417` #> [1] \"6737\" \"6416\" \"6096\" #> #> $`6418` #> character(0) #> #> $`6419` #> character(0) #> #> $`6420` #> character(0) #> #> $`6421` #> [1] \"6101\" \"6422\" \"6100\" #> #> $`6422` #> [1] \"6102\" \"6423\" \"6421\" \"6101\" #> #> $`6423` #> [1] \"6422\" \"6102\" \"6744\" #> #> $`6467` #> [1] \"6147\" \"9933\" #> #> $`6728` #> character(0) #> #> $`6729` #> character(0) #> #> $`6730` #> character(0) #> #> $`6731` #> character(0) #> #> $`6732` #> character(0) #> #> $`6733` #> character(0) #> #> $`6734` #> character(0) #> #> $`6735` #> [1] \"6415\" \"7055\" \"6736\" \"6414\" \"7056\" #> #> $`6736` #> [1] \"6416\" \"7056\" \"6737\" \"6735\" \"6415\" \"7057\" #> #> $`6737` #> [1] \"6417\" \"7057\" \"6736\" \"6416\" \"7058\" #> #> $`6738` #> character(0) #> #> $`6739` #> character(0) #> #> $`6740` #> character(0) #> #> $`6741` #> character(0) #> #> $`6742` #> character(0) #> #> $`6743` #> character(0) #> #> $`6744` #> [1] \"6423\" \"7065\" #> #> $`6787` #> character(0) #> #> $`7048` #> character(0) #> #> $`7049` #> character(0) #> #> $`7050` #> character(0) #> #> $`7051` #> character(0) #> #> $`7052` #> character(0) #> #> $`7053` #> character(0) #> #> $`7054` #> character(0) #> #> $`7055` #> [1] \"6735\" \"7375\" \"7056\" \"7376\" #> #> $`7056` #> [1] \"6736\" \"7376\" \"7057\" \"7055\" \"6735\" \"7377\" #> #> $`7057` #> [1] \"6737\" \"7377\" \"7058\" \"7056\" \"6736\" \"7378\" #> #> $`7058` #> [1] \"7378\" \"7059\" \"7057\" \"6737\" #> #> $`7059` #> [1] \"7058\" #> #> $`7060` #> character(0) #> #> $`7061` #> character(0) #> #> $`7062` #> character(0) #> #> $`7063` #> character(0) #> #> $`7064` #> character(0) #> #> $`7065` #> [1] \"6744\" \"7386\" #> #> $`7107` #> character(0) #> #> $`7367` #> character(0) #> #> $`7368` #> character(0) #> #> $`7369` #> character(0) #> #> $`7370` #> character(0) #> #> $`7371` #> character(0) #> #> $`7372` #> character(0) #> #> $`7373` #> character(0) #> #> $`7374` #> character(0) #> #> $`7375` #> [1] \"7055\" \"7695\" \"7376\" \"7696\" #> #> $`7376` #> [1] \"7056\" \"7696\" \"7377\" \"7375\" \"7055\" \"7697\" #> #> $`7377` #> [1] \"7057\" \"7697\" \"7378\" \"7376\" \"7056\" \"7698\" #> #> $`7378` #> [1] \"7058\" \"7698\" \"7377\" \"7057\" \"7699\" #> #> $`7379` #> character(0) #> #> $`7380` #> character(0) #> #> $`7381` #> [1] \"7702\" #> #> $`7382` #> character(0) #> #> $`7383` #> character(0) #> #> $`7384` #> character(0) #> #> $`7385` #> character(0) #> #> $`7386` #> [1] \"7065\" #> #> $`7687` #> character(0) #> #> $`7688` #> character(0) #> #> $`7689` #> character(0) #> #> $`7690` #> character(0) #> #> $`7691` #> character(0) #> #> $`7692` #> [1] \"8012\" \"7693\" \"8013\" #> #> $`7693` #> [1] \"8013\" \"7694\" \"7692\" \"8014\" #> #> $`7694` #> [1] \"8014\" \"7695\" \"7693\" \"8015\" #> #> $`7695` #> [1] \"7375\" \"8015\" \"7696\" \"7694\" #> #> $`7696` #> [1] \"7376\" \"7697\" \"7695\" \"7375\" \"8017\" #> #> $`7697` #> [1] \"7377\" \"8017\" \"7698\" \"7696\" \"7376\" \"8018\" #> #> $`7698` #> [1] \"7378\" \"8018\" \"7699\" \"7697\" \"7377\" \"8019\" #> #> $`7699` #> [1] \"8019\" \"7700\" \"7698\" \"7378\" \"8020\" #> #> $`7700` #> [1] \"8020\" \"7699\" \"8021\" #> #> $`7701` #> character(0) #> #> $`7702` #> [1] \"8022\" \"7381\" \"8023\" #> #> $`7703` #> character(0) #> #> $`7704` #> character(0) #> #> $`7705` #> character(0) #> #> $`7706` #> character(0) #> #> $`8006` #> character(0) #> #> $`8007` #> character(0) #> #> $`8008` #> character(0) #> #> $`8009` #> character(0) #> #> $`8010` #> character(0) #> #> $`8011` #> character(0) #> #> $`8012` #> [1] \"7692\" \"8332\" \"8013\" \"8333\" #> #> $`8013` #> [1] \"7693\" \"8333\" \"8014\" \"8012\" \"7692\" \"8334\" #> #> $`8014` #> [1] \"7694\" \"8334\" \"8015\" \"8013\" \"7693\" #> #> $`8015` #> [1] \"7695\" \"8014\" \"7694\" #> #> $`8016` #> character(0) #> #> $`8017` #> [1] \"7697\" \"8337\" \"8018\" \"7696\" \"8338\" #> #> $`8018` #> [1] \"7698\" \"8338\" \"8019\" \"8017\" \"7697\" \"8339\" #> #> $`8019` #> [1] \"7699\" \"8339\" \"8020\" \"8018\" \"7698\" \"8340\" #> #> $`8020` #> [1] \"7700\" \"8340\" \"8021\" \"8019\" \"7699\" \"8341\" #> #> $`8021` #> [1] \"8341\" \"8022\" \"8020\" \"7700\" \"8342\" #> #> $`8022` #> [1] \"7702\" \"8342\" \"8023\" \"8021\" \"8343\" #> #> $`8023` #> [1] \"8343\" \"8022\" \"7702\" #> #> $`8024` #> character(0) #> #> $`8025` #> character(0) #> #> $`8026` #> character(0) #> #> $`8027` #> [1] \"8348\" #> #> $`8325` #> character(0) #> #> $`8326` #> character(0) #> #> $`8327` #> character(0) #> #> $`8328` #> character(0) #> #> $`8329` #> character(0) #> #> $`8330` #> character(0) #> #> $`8331` #> character(0) #> #> $`8332` #> [1] \"8012\" \"8652\" \"8333\" \"8653\" #> #> $`8333` #> [1] \"8013\" \"8653\" \"8334\" \"8332\" \"8012\" #> #> $`8334` #> [1] \"8014\" \"8333\" \"8013\" #> #> $`8335` #> character(0) #> #> $`8336` #> character(0) #> #> $`8337` #> [1] \"8017\" \"8657\" \"8338\" \"8658\" #> #> $`8338` #> [1] \"8018\" \"8658\" \"8339\" \"8337\" \"8017\" \"8659\" #> #> $`8339` #> [1] \"8019\" \"8659\" \"8340\" \"8338\" \"8018\" \"8660\" #> #> $`8340` #> [1] \"8020\" \"8660\" \"8341\" \"8339\" \"8019\" \"8661\" #> #> $`8341` #> [1] \"8021\" \"8661\" \"8342\" \"8340\" \"8020\" \"8662\" #> #> $`8342` #> [1] \"8022\" \"8662\" \"8343\" \"8341\" \"8021\" \"8663\" #> #> $`8343` #> [1] \"8023\" \"8663\" \"8342\" \"8022\" \"8664\" #> #> $`8344` #> character(0) #> #> $`8345` #> character(0) #> #> $`8346` #> character(0) #> #> $`8347` #> character(0) #> #> $`8348` #> [1] \"8027\" \"8669\" #> #> $`8646` #> character(0) #> #> $`8647` #> character(0) #> #> $`8648` #> character(0) #> #> $`8649` #> character(0) #> #> $`8650` #> character(0) #> #> $`8651` #> [1] \"8971\" \"8652\" \"8972\" #> #> $`8652` #> [1] \"8332\" \"8972\" \"8653\" \"8651\" #> #> $`8653` #> [1] \"8333\" \"8652\" \"8332\" \"8974\" #> #> $`8654` #> character(0) #> #> $`8655` #> character(0) #> #> $`8656` #> character(0) #> #> $`8657` #> [1] \"8337\" \"8977\" \"8658\" \"8978\" #> #> $`8658` #> [1] \"8338\" \"8978\" \"8659\" \"8657\" \"8337\" \"8979\" #> #> $`8659` #> [1] \"8339\" \"8979\" \"8660\" \"8658\" \"8338\" \"8980\" #> #> $`8660` #> [1] \"8340\" \"8980\" \"8661\" \"8659\" \"8339\" \"8981\" #> #> $`8661` #> [1] \"8341\" \"8981\" \"8662\" \"8660\" \"8340\" \"8982\" #> #> $`8662` #> [1] \"8342\" \"8982\" \"8663\" \"8661\" \"8341\" \"8983\" #> #> $`8663` #> [1] \"8343\" \"8983\" \"8664\" \"8662\" \"8342\" \"8984\" #> #> $`8664` #> [1] \"8984\" \"8663\" \"8343\" #> #> $`8665` #> character(0) #> #> $`8666` #> character(0) #> #> $`8667` #> character(0) #> #> $`8668` #> character(0) #> #> $`8669` #> [1] \"8348\" \"8990\" #> #> $`8967` #> character(0) #> #> $`8968` #> character(0) #> #> $`8969` #> character(0) #> #> $`8970` #> character(0) #> #> $`8971` #> [1] \"8651\" \"9291\" \"8972\" \"9292\" #> #> $`8972` #> [1] \"8652\" \"9292\" \"8971\" \"8651\" \"9293\" #> #> $`8973` #> character(0) #> #> $`8974` #> [1] \"9294\" \"8975\" \"8653\" \"9295\" #> #> $`8975` #> [1] \"9295\" \"8976\" \"8974\" #> #> $`8976` #> [1] \"8977\" \"8975\" \"9297\" #> #> $`8977` #> [1] \"8657\" \"9297\" \"8978\" \"8976\" \"9298\" #> #> $`8978` #> [1] \"8658\" \"9298\" \"8979\" \"8977\" \"8657\" \"9299\" #> #> $`8979` #> [1] \"8659\" \"9299\" \"8980\" \"8978\" \"8658\" \"9300\" #> #> $`8980` #> [1] \"8660\" \"9300\" \"8981\" \"8979\" \"8659\" \"9301\" #> #> $`8981` #> [1] \"8661\" \"9301\" \"8982\" \"8980\" \"8660\" \"9302\" #> #> $`8982` #> [1] \"8662\" \"9302\" \"8983\" \"8981\" \"8661\" \"9303\" #> #> $`8983` #> [1] \"8663\" \"9303\" \"8984\" \"8982\" \"8662\" #> #> $`8984` #> [1] \"8664\" \"8983\" \"8663\" #> #> $`8985` #> character(0) #> #> $`8986` #> [1] \"9306\" \"9307\" #> #> $`8987` #> character(0) #> #> $`8988` #> character(0) #> #> $`8989` #> character(0) #> #> $`8990` #> [1] \"8669\" #> #> $`9287` #> character(0) #> #> $`9288` #> character(0) #> #> $`9289` #> character(0) #> #> $`9290` #> character(0) #> #> $`9291` #> [1] \"8971\" \"9292\" \"9612\" #> #> $`9292` #> [1] \"8972\" \"9612\" \"9293\" \"9291\" \"8971\" \"9613\" #> #> $`9293` #> [1] \"9613\" \"9294\" \"9292\" \"8972\" \"9614\" #> #> $`9294` #> [1] \"8974\" \"9614\" \"9295\" \"9293\" \"9615\" #> #> $`9295` #> [1] \"8975\" \"9615\" \"9294\" \"8974\" \"9616\" #> #> $`9296` #> character(0) #> #> $`9297` #> [1] \"8977\" \"9617\" \"9298\" \"8976\" \"9618\" #> #> $`9298` #> [1] \"8978\" \"9618\" \"9299\" \"9297\" \"8977\" \"9619\" #> #> $`9299` #> [1] \"8979\" \"9619\" \"9300\" \"9298\" \"8978\" \"9620\" #> #> $`9300` #> [1] \"8980\" \"9620\" \"9301\" \"9299\" \"8979\" \"9621\" #> #> $`9301` #> [1] \"8981\" \"9621\" \"9302\" \"9300\" \"8980\" \"9622\" #> #> $`9302` #> [1] \"8982\" \"9622\" \"9303\" \"9301\" \"8981\" \"9623\" #> #> $`9303` #> [1] \"8983\" \"9623\" \"9302\" \"8982\" \"9624\" #> #> $`9304` #> character(0) #> #> $`9305` #> character(0) #> #> $`9306` #> [1] \"8986\" \"9626\" \"9307\" \"9627\" #> #> $`9307` #> [1] \"9627\" \"9306\" \"8986\" \"9628\" #> #> $`9308` #> character(0) #> #> $`9309` #> character(0) #> #> $`9310` #> character(0) #> #> $`9608` #> character(0) #> #> $`9609` #> character(0) #> #> $`9610` #> character(0) #> #> $`9611` #> character(0) #> #> $`9612` #> [1] \"9292\" \"9613\" \"9291\" \"9933\" #> #> $`9613` #> [1] \"9293\" \"9933\" \"9614\" \"9612\" \"9292\" #> #> $`9614` #> [1] \"9294\" \"9615\" \"9613\" \"9293\" \"9935\" #> #> $`9615` #> [1] \"9295\" \"9935\" \"9616\" \"9614\" \"9294\" \"9936\" #> #> $`9616` #> [1] \"9936\" \"9617\" \"9615\" \"9295\" \"9937\" #> #> $`9617` #> [1] \"9297\" \"9937\" \"9618\" \"9616\" \"9938\" #> #> $`9618` #> [1] \"9298\" \"9938\" \"9619\" \"9617\" \"9297\" \"9939\" #> #> $`9619` #> [1] \"9299\" \"9939\" \"9620\" \"9618\" \"9298\" \"9940\" #> #> $`9620` #> [1] \"9300\" \"9940\" \"9621\" \"9619\" \"9299\" \"9941\" #> #> $`9621` #> [1] \"9301\" \"9941\" \"9622\" \"9620\" \"9300\" \"9942\" #> #> $`9622` #> [1] \"9302\" \"9942\" \"9623\" \"9621\" \"9301\" \"9943\" #> #> $`9623` #> [1] \"9303\" \"9943\" \"9624\" \"9622\" \"9302\" #> #> $`9624` #> [1] \"9623\" \"9303\" #> #> $`9625` #> character(0) #> #> $`9626` #> [1] \"9306\" \"9627\" \"9947\" #> #> $`9627` #> [1] \"9307\" \"9947\" \"9628\" \"9626\" \"9306\" \"9948\" #> #> $`9628` #> [1] \"9948\" \"9627\" \"9307\" #> #> $`9629` #> character(0) #> #> $`9630` #> character(0) #> #> $`9631` #> character(0) #> #> $`9928` #> character(0) #> #> $`9929` #> character(0) #> #> $`9930` #> character(0) #> #> $`9931` #> character(0) #> #> $`9932` #> character(0) #> #> $`9933` #> [1] \"9613\" \"9612\" \"6467\" #> #> $`9934` #> character(0) #> #> $`9935` #> [1] \"9615\" \"6147\" \"9936\" \"9614\" \"5827\" #> #> $`9936` #> [1] \"9616\" \"5827\" \"9937\" \"9935\" \"9615\" \"5507\" #> #> $`9937` #> [1] \"9617\" \"5507\" \"9938\" \"9936\" \"9616\" \"5187\" #> #> $`9938` #> [1] \"9618\" \"5187\" \"9939\" \"9937\" \"9617\" \"4867\" #> #> $`9939` #> [1] \"9619\" \"4867\" \"9940\" \"9938\" \"9618\" \"4547\" #> #> $`9940` #> [1] \"9620\" \"4547\" \"9941\" \"9939\" \"9619\" \"4227\" #> #> $`9941` #> [1] \"9621\" \"4227\" \"9942\" \"9940\" \"9620\" \"3907\" #> #> $`9942` #> [1] \"9622\" \"3907\" \"9943\" \"9941\" \"9621\" \"3587\" #> #> $`9943` #> [1] \"9623\" \"3587\" \"9942\" \"9622\" \"3267\" #> #> $`9944` #> character(0) #> #> $`9945` #> character(0) #> #> $`9946` #> character(0) #> #> $`9947` #> [1] \"9627\" \"9948\" \"9626\" \"1987\" #> #> $`9948` #> [1] \"9628\" \"1987\" \"9947\" \"9627\" \"1667\" #> #> $`9949` #> character(0) #> #> $`9950` #> [1] \"1347\" \"9951\" \"1027\" #> #> $`9951` #> [1] \"1027\" \"9952\" \"9950\" \"707\" #> #> $`9952` #> [1] \"707\" \"9951\" #> getEdges(x, res.type = \"matNames\") #> Vi Vj #> [1,] \"707\" \"1027\" #> [2,] \"707\" \"9951\" #> [3,] \"707\" \"9952\" #> [4,] \"707\" \"1028\" #> [5,] \"1027\" \"707\" #> [6,] \"1027\" \"1347\" #> [7,] \"1027\" \"1028\" #> [8,] \"1027\" \"9950\" #> [9,] \"1027\" \"9951\" #> [10,] \"1027\" \"1348\" #> [11,] \"1028\" \"1348\" #> [12,] \"1028\" \"1027\" #> [13,] \"1028\" \"707\" #> [14,] \"1347\" \"1027\" #> [15,] \"1347\" \"1667\" #> [16,] \"1347\" \"1348\" #> [17,] \"1347\" \"9950\" #> [18,] \"1347\" \"1668\" #> [19,] \"1348\" \"1028\" #> [20,] \"1348\" \"1668\" #> [21,] \"1348\" \"1347\" #> [22,] \"1348\" \"1027\" #> [23,] \"1667\" \"1347\" #> [24,] \"1667\" \"1987\" #> [25,] \"1667\" \"1668\" #> [26,] \"1667\" \"9948\" #> [27,] \"1667\" \"1988\" #> [28,] \"1668\" \"1348\" #> [29,] \"1668\" \"1988\" #> [30,] \"1668\" \"1667\" #> [31,] \"1668\" \"1347\" #> [32,] \"1987\" \"1667\" #> [33,] \"1987\" \"1988\" #> [34,] \"1987\" \"9947\" #> [35,] \"1987\" \"9948\" #> [36,] \"1987\" \"2308\" #> [37,] \"1988\" \"1668\" #> [38,] \"1988\" \"2308\" #> [39,] \"1988\" \"1987\" #> [40,] \"1988\" \"1667\" #> [41,] \"2308\" \"1988\" #> [42,] \"2308\" \"1987\" #> [43,] \"2947\" \"3267\" #> [44,] \"2947\" \"2948\" #> [45,] \"2947\" \"3268\" #> [46,] \"2948\" \"3268\" #> [47,] \"2948\" \"2947\" #> [48,] \"3267\" \"2947\" #> [49,] \"3267\" \"3587\" #> [50,] \"3267\" \"3268\" #> [51,] \"3267\" \"9943\" #> [52,] \"3267\" \"3588\" #> [53,] \"3268\" \"2948\" #> [54,] \"3268\" \"3588\" #> [55,] \"3268\" \"3267\" #> [56,] \"3268\" \"2947\" #> [57,] \"3534\" \"3855\" #> [58,] \"3587\" \"3267\" #> [59,] \"3587\" \"3907\" #> [60,] \"3587\" \"3588\" #> [61,] \"3587\" \"9942\" #> [62,] \"3587\" \"9943\" #> [63,] \"3587\" \"3908\" #> [64,] \"3588\" \"3268\" #> [65,] \"3588\" \"3908\" #> [66,] \"3588\" \"3587\" #> [67,] \"3588\" \"3267\" #> [68,] \"3855\" \"4175\" #> [69,] \"3855\" \"3534\" #> [70,] \"3855\" \"4176\" #> [71,] \"3907\" \"3587\" #> [72,] \"3907\" \"4227\" #> [73,] \"3907\" \"3908\" #> [74,] \"3907\" \"9941\" #> [75,] \"3907\" \"9942\" #> [76,] \"3907\" \"4228\" #> [77,] \"3908\" \"3588\" #> [78,] \"3908\" \"4228\" #> [79,] \"3908\" \"3907\" #> [80,] \"3908\" \"3587\" #> [81,] \"4175\" \"3855\" #> [82,] \"4175\" \"4176\" #> [83,] \"4175\" \"4496\" #> [84,] \"4176\" \"4496\" #> [85,] \"4176\" \"4175\" #> [86,] \"4176\" \"3855\" #> [87,] \"4176\" \"4497\" #> [88,] \"4227\" \"3907\" #> [89,] \"4227\" \"4547\" #> [90,] \"4227\" \"4228\" #> [91,] \"4227\" \"9940\" #> [92,] \"4227\" \"9941\" #> [93,] \"4228\" \"3908\" #> [94,] \"4228\" \"4227\" #> [95,] \"4228\" \"3907\" #> [96,] \"4493\" \"4813\" #> [97,] \"4493\" \"4494\" #> [98,] \"4493\" \"4814\" #> [99,] \"4494\" \"4814\" #> [100,] \"4494\" \"4493\" #> [101,] \"4494\" \"4815\" #> [102,] \"4496\" \"4176\" #> [103,] \"4496\" \"4497\" #> [104,] \"4496\" \"4175\" #> [105,] \"4496\" \"4817\" #> [106,] \"4497\" \"4817\" #> [107,] \"4497\" \"4496\" #> [108,] \"4497\" \"4176\" #> [109,] \"4497\" \"4818\" #> [110,] \"4547\" \"4227\" #> [111,] \"4547\" \"4867\" #> [112,] \"4547\" \"9939\" #> [113,] \"4547\" \"9940\" #> [114,] \"4813\" \"4493\" #> [115,] \"4813\" \"4814\" #> [116,] \"4813\" \"5134\" #> [117,] \"4814\" \"4494\" #> [118,] \"4814\" \"5134\" #> [119,] \"4814\" \"4815\" #> [120,] \"4814\" \"4813\" #> [121,] \"4814\" \"4493\" #> [122,] \"4814\" \"5135\" #> [123,] \"4815\" \"5135\" #> [124,] \"4815\" \"4814\" #> [125,] \"4815\" \"4494\" #> [126,] \"4815\" \"5136\" #> [127,] \"4817\" \"4497\" #> [128,] \"4817\" \"5137\" #> [129,] \"4817\" \"4818\" #> [130,] \"4817\" \"4496\" #> [131,] \"4817\" \"5138\" #> [132,] \"4818\" \"5138\" #> [133,] \"4818\" \"4817\" #> [134,] \"4818\" \"4497\" #> [135,] \"4818\" \"5139\" #> [136,] \"4867\" \"4547\" #> [137,] \"4867\" \"5187\" #> [138,] \"4867\" \"9938\" #> [139,] \"4867\" \"9939\" #> [140,] \"5134\" \"4814\" #> [141,] \"5134\" \"5135\" #> [142,] \"5134\" \"4813\" #> [143,] \"5134\" \"5455\" #> [144,] \"5135\" \"4815\" #> [145,] \"5135\" \"5455\" #> [146,] \"5135\" \"5136\" #> [147,] \"5135\" \"5134\" #> [148,] \"5135\" \"4814\" #> [149,] \"5136\" \"5137\" #> [150,] \"5136\" \"5135\" #> [151,] \"5136\" \"4815\" #> [152,] \"5137\" \"4817\" #> [153,] \"5137\" \"5138\" #> [154,] \"5137\" \"5136\" #> [155,] \"5137\" \"5458\" #> [156,] \"5138\" \"4818\" #> [157,] \"5138\" \"5458\" #> [158,] \"5138\" \"5139\" #> [159,] \"5138\" \"5137\" #> [160,] \"5138\" \"4817\" #> [161,] \"5138\" \"5459\" #> [162,] \"5139\" \"5459\" #> [163,] \"5139\" \"5138\" #> [164,] \"5139\" \"4818\" #> [165,] \"5139\" \"5460\" #> [166,] \"5187\" \"4867\" #> [167,] \"5187\" \"5507\" #> [168,] \"5187\" \"9937\" #> [169,] \"5187\" \"9938\" #> [170,] \"5455\" \"5135\" #> [171,] \"5455\" \"5775\" #> [172,] \"5455\" \"5134\" #> [173,] \"5455\" \"5776\" #> [174,] \"5458\" \"5138\" #> [175,] \"5458\" \"5459\" #> [176,] \"5458\" \"5137\" #> [177,] \"5458\" \"5779\" #> [178,] \"5459\" \"5139\" #> [179,] \"5459\" \"5779\" #> [180,] \"5459\" \"5460\" #> [181,] \"5459\" \"5458\" #> [182,] \"5459\" \"5138\" #> [183,] \"5459\" \"5780\" #> [184,] \"5460\" \"5780\" #> [185,] \"5460\" \"5459\" #> [186,] \"5460\" \"5139\" #> [187,] \"5460\" \"5781\" #> [188,] \"5507\" \"5187\" #> [189,] \"5507\" \"5827\" #> [190,] \"5507\" \"9936\" #> [191,] \"5507\" \"9937\" #> [192,] \"5770\" \"6090\" #> [193,] \"5775\" \"5455\" #> [194,] \"5775\" \"6095\" #> [195,] \"5775\" \"5776\" #> [196,] \"5775\" \"6096\" #> [197,] \"5776\" \"6096\" #> [198,] \"5776\" \"5775\" #> [199,] \"5776\" \"5455\" #> [200,] \"5779\" \"5459\" #> [201,] \"5779\" \"5780\" #> [202,] \"5779\" \"5458\" #> [203,] \"5779\" \"6100\" #> [204,] \"5780\" \"5460\" #> [205,] \"5780\" \"6100\" #> [206,] \"5780\" \"5781\" #> [207,] \"5780\" \"5779\" #> [208,] \"5780\" \"5459\" #> [209,] \"5780\" \"6101\" #> [210,] \"5781\" \"6101\" #> [211,] \"5781\" \"5780\" #> [212,] \"5781\" \"5460\" #> [213,] \"5781\" \"6102\" #> [214,] \"5827\" \"5507\" #> [215,] \"5827\" \"6147\" #> [216,] \"5827\" \"9935\" #> [217,] \"5827\" \"9936\" #> [218,] \"6090\" \"5770\" #> [219,] \"6090\" \"6411\" #> [220,] \"6093\" \"6413\" #> [221,] \"6093\" \"6094\" #> [222,] \"6093\" \"6414\" #> [223,] \"6094\" \"6414\" #> [224,] \"6094\" \"6095\" #> [225,] \"6094\" \"6093\" #> [226,] \"6094\" \"6415\" #> [227,] \"6095\" \"5775\" #> [228,] \"6095\" \"6415\" #> [229,] \"6095\" \"6096\" #> [230,] \"6095\" \"6094\" #> [231,] \"6095\" \"6416\" #> [232,] \"6096\" \"5776\" #> [233,] \"6096\" \"6416\" #> [234,] \"6096\" \"6095\" #> [235,] \"6096\" \"5775\" #> [236,] \"6096\" \"6417\" #> [237,] \"6100\" \"5780\" #> [238,] \"6100\" \"6101\" #> [239,] \"6100\" \"5779\" #> [240,] \"6100\" \"6421\" #> [241,] \"6101\" \"5781\" #> [242,] \"6101\" \"6421\" #> [243,] \"6101\" \"6102\" #> [244,] \"6101\" \"6100\" #> [245,] \"6101\" \"5780\" #> [246,] \"6101\" \"6422\" #> [247,] \"6102\" \"6422\" #> [248,] \"6102\" \"6101\" #> [249,] \"6102\" \"5781\" #> [250,] \"6102\" \"6423\" #> [251,] \"6147\" \"5827\" #> [252,] \"6147\" \"6467\" #> [253,] \"6147\" \"9935\" #> [254,] \"6411\" \"6412\" #> [255,] \"6411\" \"6090\" #> [256,] \"6412\" \"6413\" #> [257,] \"6412\" \"6411\" #> [258,] \"6413\" \"6093\" #> [259,] \"6413\" \"6414\" #> [260,] \"6413\" \"6412\" #> [261,] \"6414\" \"6094\" #> [262,] \"6414\" \"6415\" #> [263,] \"6414\" \"6413\" #> [264,] \"6414\" \"6093\" #> [265,] \"6414\" \"6735\" #> [266,] \"6415\" \"6095\" #> [267,] \"6415\" \"6735\" #> [268,] \"6415\" \"6416\" #> [269,] \"6415\" \"6414\" #> [270,] \"6415\" \"6094\" #> [271,] \"6415\" \"6736\" #> [272,] \"6416\" \"6096\" #> [273,] \"6416\" \"6736\" #> [274,] \"6416\" \"6417\" #> [275,] \"6416\" \"6415\" #> [276,] \"6416\" \"6095\" #> [277,] \"6416\" \"6737\" #> [278,] \"6417\" \"6737\" #> [279,] \"6417\" \"6416\" #> [280,] \"6417\" \"6096\" #> [281,] \"6421\" \"6101\" #> [282,] \"6421\" \"6422\" #> [283,] \"6421\" \"6100\" #> [284,] \"6422\" \"6102\" #> [285,] \"6422\" \"6423\" #> [286,] \"6422\" \"6421\" #> [287,] \"6422\" \"6101\" #> [288,] \"6423\" \"6422\" #> [289,] \"6423\" \"6102\" #> [290,] \"6423\" \"6744\" #> [291,] \"6467\" \"6147\" #> [292,] \"6467\" \"9933\" #> [293,] \"6735\" \"6415\" #> [294,] \"6735\" \"7055\" #> [295,] \"6735\" \"6736\" #> [296,] \"6735\" \"6414\" #> [297,] \"6735\" \"7056\" #> [298,] \"6736\" \"6416\" #> [299,] \"6736\" \"7056\" #> [300,] \"6736\" \"6737\" #> [301,] \"6736\" \"6735\" #> [302,] \"6736\" \"6415\" #> [303,] \"6736\" \"7057\" #> [304,] \"6737\" \"6417\" #> [305,] \"6737\" \"7057\" #> [306,] \"6737\" \"6736\" #> [307,] \"6737\" \"6416\" #> [308,] \"6737\" \"7058\" #> [309,] \"6744\" \"6423\" #> [310,] \"6744\" \"7065\" #> [311,] \"7055\" \"6735\" #> [312,] \"7055\" \"7375\" #> [313,] \"7055\" \"7056\" #> [314,] \"7055\" \"7376\" #> [315,] \"7056\" \"6736\" #> [316,] \"7056\" \"7376\" #> [317,] \"7056\" \"7057\" #> [318,] \"7056\" \"7055\" #> [319,] \"7056\" \"6735\" #> [320,] \"7056\" \"7377\" #> [321,] \"7057\" \"6737\" #> [322,] \"7057\" \"7377\" #> [323,] \"7057\" \"7058\" #> [324,] \"7057\" \"7056\" #> [325,] \"7057\" \"6736\" #> [326,] \"7057\" \"7378\" #> [327,] \"7058\" \"7378\" #> [328,] \"7058\" \"7059\" #> [329,] \"7058\" \"7057\" #> [330,] \"7058\" \"6737\" #> [331,] \"7059\" \"7058\" #> [332,] \"7065\" \"6744\" #> [333,] \"7065\" \"7386\" #> [334,] \"7375\" \"7055\" #> [335,] \"7375\" \"7695\" #> [336,] \"7375\" \"7376\" #> [337,] \"7375\" \"7696\" #> [338,] \"7376\" \"7056\" #> [339,] \"7376\" \"7696\" #> [340,] \"7376\" \"7377\" #> [341,] \"7376\" \"7375\" #> [342,] \"7376\" \"7055\" #> [343,] \"7376\" \"7697\" #> [344,] \"7377\" \"7057\" #> [345,] \"7377\" \"7697\" #> [346,] \"7377\" \"7378\" #> [347,] \"7377\" \"7376\" #> [348,] \"7377\" \"7056\" #> [349,] \"7377\" \"7698\" #> [350,] \"7378\" \"7058\" #> [351,] \"7378\" \"7698\" #> [352,] \"7378\" \"7377\" #> [353,] \"7378\" \"7057\" #> [354,] \"7378\" \"7699\" #> [355,] \"7381\" \"7702\" #> [356,] \"7386\" \"7065\" #> [357,] \"7692\" \"8012\" #> [358,] \"7692\" \"7693\" #> [359,] \"7692\" \"8013\" #> [360,] \"7693\" \"8013\" #> [361,] \"7693\" \"7694\" #> [362,] \"7693\" \"7692\" #> [363,] \"7693\" \"8014\" #> [364,] \"7694\" \"8014\" #> [365,] \"7694\" \"7695\" #> [366,] \"7694\" \"7693\" #> [367,] \"7694\" \"8015\" #> [368,] \"7695\" \"7375\" #> [369,] \"7695\" \"8015\" #> [370,] \"7695\" \"7696\" #> [371,] \"7695\" \"7694\" #> [372,] \"7696\" \"7376\" #> [373,] \"7696\" \"7697\" #> [374,] \"7696\" \"7695\" #> [375,] \"7696\" \"7375\" #> [376,] \"7696\" \"8017\" #> [377,] \"7697\" \"7377\" #> [378,] \"7697\" \"8017\" #> [379,] \"7697\" \"7698\" #> [380,] \"7697\" \"7696\" #> [381,] \"7697\" \"7376\" #> [382,] \"7697\" \"8018\" #> [383,] \"7698\" \"7378\" #> [384,] \"7698\" \"8018\" #> [385,] \"7698\" \"7699\" #> [386,] \"7698\" \"7697\" #> [387,] \"7698\" \"7377\" #> [388,] \"7698\" \"8019\" #> [389,] \"7699\" \"8019\" #> [390,] \"7699\" \"7700\" #> [391,] \"7699\" \"7698\" #> [392,] \"7699\" \"7378\" #> [393,] \"7699\" \"8020\" #> [394,] \"7700\" \"8020\" #> [395,] \"7700\" \"7699\" #> [396,] \"7700\" \"8021\" #> [397,] \"7702\" \"8022\" #> [398,] \"7702\" \"7381\" #> [399,] \"7702\" \"8023\" #> [400,] \"8012\" \"7692\" #> [401,] \"8012\" \"8332\" #> [402,] \"8012\" \"8013\" #> [403,] \"8012\" \"8333\" #> [404,] \"8013\" \"7693\" #> [405,] \"8013\" \"8333\" #> [406,] \"8013\" \"8014\" #> [407,] \"8013\" \"8012\" #> [408,] \"8013\" \"7692\" #> [409,] \"8013\" \"8334\" #> [410,] \"8014\" \"7694\" #> [411,] \"8014\" \"8334\" #> [412,] \"8014\" \"8015\" #> [413,] \"8014\" \"8013\" #> [414,] \"8014\" \"7693\" #> [415,] \"8015\" \"7695\" #> [416,] \"8015\" \"8014\" #> [417,] \"8015\" \"7694\" #> [418,] \"8017\" \"7697\" #> [419,] \"8017\" \"8337\" #> [420,] \"8017\" \"8018\" #> [421,] \"8017\" \"7696\" #> [422,] \"8017\" \"8338\" #> [423,] \"8018\" \"7698\" #> [424,] \"8018\" \"8338\" #> [425,] \"8018\" \"8019\" #> [426,] \"8018\" \"8017\" #> [427,] \"8018\" \"7697\" #> [428,] \"8018\" \"8339\" #> [429,] \"8019\" \"7699\" #> [430,] \"8019\" \"8339\" #> [431,] \"8019\" \"8020\" #> [432,] \"8019\" \"8018\" #> [433,] \"8019\" \"7698\" #> [434,] \"8019\" \"8340\" #> [435,] \"8020\" \"7700\" #> [436,] \"8020\" \"8340\" #> [437,] \"8020\" \"8021\" #> [438,] \"8020\" \"8019\" #> [439,] \"8020\" \"7699\" #> [440,] \"8020\" \"8341\" #> [441,] \"8021\" \"8341\" #> [442,] \"8021\" \"8022\" #> [443,] \"8021\" \"8020\" #> [444,] \"8021\" \"7700\" #> [445,] \"8021\" \"8342\" #> [446,] \"8022\" \"7702\" #> [447,] \"8022\" \"8342\" #> [448,] \"8022\" \"8023\" #> [449,] \"8022\" \"8021\" #> [450,] \"8022\" \"8343\" #> [451,] \"8023\" \"8343\" #> [452,] \"8023\" \"8022\" #> [453,] \"8023\" \"7702\" #> [454,] \"8027\" \"8348\" #> [455,] \"8332\" \"8012\" #> [456,] \"8332\" \"8652\" #> [457,] \"8332\" \"8333\" #> [458,] \"8332\" \"8653\" #> [459,] \"8333\" \"8013\" #> [460,] \"8333\" \"8653\" #> [461,] \"8333\" \"8334\" #> [462,] \"8333\" \"8332\" #> [463,] \"8333\" \"8012\" #> [464,] \"8334\" \"8014\" #> [465,] \"8334\" \"8333\" #> [466,] \"8334\" \"8013\" #> [467,] \"8337\" \"8017\" #> [468,] \"8337\" \"8657\" #> [469,] \"8337\" \"8338\" #> [470,] \"8337\" \"8658\" #> [471,] \"8338\" \"8018\" #> [472,] \"8338\" \"8658\" #> [473,] \"8338\" \"8339\" #> [474,] \"8338\" \"8337\" #> [475,] \"8338\" \"8017\" #> [476,] \"8338\" \"8659\" #> [477,] \"8339\" \"8019\" #> [478,] \"8339\" \"8659\" #> [479,] \"8339\" \"8340\" #> [480,] \"8339\" \"8338\" #> [481,] \"8339\" \"8018\" #> [482,] \"8339\" \"8660\" #> [483,] \"8340\" \"8020\" #> [484,] \"8340\" \"8660\" #> [485,] \"8340\" \"8341\" #> [486,] \"8340\" \"8339\" #> [487,] \"8340\" \"8019\" #> [488,] \"8340\" \"8661\" #> [489,] \"8341\" \"8021\" #> [490,] \"8341\" \"8661\" #> [491,] \"8341\" \"8342\" #> [492,] \"8341\" \"8340\" #> [493,] \"8341\" \"8020\" #> [494,] \"8341\" \"8662\" #> [495,] \"8342\" \"8022\" #> [496,] \"8342\" \"8662\" #> [497,] \"8342\" \"8343\" #> [498,] \"8342\" \"8341\" #> [499,] \"8342\" \"8021\" #> [500,] \"8342\" \"8663\" #> [501,] \"8343\" \"8023\" #> [502,] \"8343\" \"8663\" #> [503,] \"8343\" \"8342\" #> [504,] \"8343\" \"8022\" #> [505,] \"8343\" \"8664\" #> [506,] \"8348\" \"8027\" #> [507,] \"8348\" \"8669\" #> [508,] \"8651\" \"8971\" #> [509,] \"8651\" \"8652\" #> [510,] \"8651\" \"8972\" #> [511,] \"8652\" \"8332\" #> [512,] \"8652\" \"8972\" #> [513,] \"8652\" \"8653\" #> [514,] \"8652\" \"8651\" #> [515,] \"8653\" \"8333\" #> [516,] \"8653\" \"8652\" #> [517,] \"8653\" \"8332\" #> [518,] \"8653\" \"8974\" #> [519,] \"8657\" \"8337\" #> [520,] \"8657\" \"8977\" #> [521,] \"8657\" \"8658\" #> [522,] \"8657\" \"8978\" #> [523,] \"8658\" \"8338\" #> [524,] \"8658\" \"8978\" #> [525,] \"8658\" \"8659\" #> [526,] \"8658\" \"8657\" #> [527,] \"8658\" \"8337\" #> [528,] \"8658\" \"8979\" #> [529,] \"8659\" \"8339\" #> [530,] \"8659\" \"8979\" #> [531,] \"8659\" \"8660\" #> [532,] \"8659\" \"8658\" #> [533,] \"8659\" \"8338\" #> [534,] \"8659\" \"8980\" #> [535,] \"8660\" \"8340\" #> [536,] \"8660\" \"8980\" #> [537,] \"8660\" \"8661\" #> [538,] \"8660\" \"8659\" #> [539,] \"8660\" \"8339\" #> [540,] \"8660\" \"8981\" #> [541,] \"8661\" \"8341\" #> [542,] \"8661\" \"8981\" #> [543,] \"8661\" \"8662\" #> [544,] \"8661\" \"8660\" #> [545,] \"8661\" \"8340\" #> [546,] \"8661\" \"8982\" #> [547,] \"8662\" \"8342\" #> [548,] \"8662\" \"8982\" #> [549,] \"8662\" \"8663\" #> [550,] \"8662\" \"8661\" #> [551,] \"8662\" \"8341\" #> [552,] \"8662\" \"8983\" #> [553,] \"8663\" \"8343\" #> [554,] \"8663\" \"8983\" #> [555,] \"8663\" \"8664\" #> [556,] \"8663\" \"8662\" #> [557,] \"8663\" \"8342\" #> [558,] \"8663\" \"8984\" #> [559,] \"8664\" \"8984\" #> [560,] \"8664\" \"8663\" #> [561,] \"8664\" \"8343\" #> [562,] \"8669\" \"8348\" #> [563,] \"8669\" \"8990\" #> [564,] \"8971\" \"8651\" #> [565,] \"8971\" \"9291\" #> [566,] \"8971\" \"8972\" #> [567,] \"8971\" \"9292\" #> [568,] \"8972\" \"8652\" #> [569,] \"8972\" \"9292\" #> [570,] \"8972\" \"8971\" #> [571,] \"8972\" \"8651\" #> [572,] \"8972\" \"9293\" #> [573,] \"8974\" \"9294\" #> [574,] \"8974\" \"8975\" #> [575,] \"8974\" \"8653\" #> [576,] \"8974\" \"9295\" #> [577,] \"8975\" \"9295\" #> [578,] \"8975\" \"8976\" #> [579,] \"8975\" \"8974\" #> [580,] \"8976\" \"8977\" #> [581,] \"8976\" \"8975\" #> [582,] \"8976\" \"9297\" #> [583,] \"8977\" \"8657\" #> [584,] \"8977\" \"9297\" #> [585,] \"8977\" \"8978\" #> [586,] \"8977\" \"8976\" #> [587,] \"8977\" \"9298\" #> [588,] \"8978\" \"8658\" #> [589,] \"8978\" \"9298\" #> [590,] \"8978\" \"8979\" #> [591,] \"8978\" \"8977\" #> [592,] \"8978\" \"8657\" #> [593,] \"8978\" \"9299\" #> [594,] \"8979\" \"8659\" #> [595,] \"8979\" \"9299\" #> [596,] \"8979\" \"8980\" #> [597,] \"8979\" \"8978\" #> [598,] \"8979\" \"8658\" #> [599,] \"8979\" \"9300\" #> [600,] \"8980\" \"8660\" #> [601,] \"8980\" \"9300\" #> [602,] \"8980\" \"8981\" #> [603,] \"8980\" \"8979\" #> [604,] \"8980\" \"8659\" #> [605,] \"8980\" \"9301\" #> [606,] \"8981\" \"8661\" #> [607,] \"8981\" \"9301\" #> [608,] \"8981\" \"8982\" #> [609,] \"8981\" \"8980\" #> [610,] \"8981\" \"8660\" #> [611,] \"8981\" \"9302\" #> [612,] \"8982\" \"8662\" #> [613,] \"8982\" \"9302\" #> [614,] \"8982\" \"8983\" #> [615,] \"8982\" \"8981\" #> [616,] \"8982\" \"8661\" #> [617,] \"8982\" \"9303\" #> [618,] \"8983\" \"8663\" #> [619,] \"8983\" \"9303\" #> [620,] \"8983\" \"8984\" #> [621,] \"8983\" \"8982\" #> [622,] \"8983\" \"8662\" #> [623,] \"8984\" \"8664\" #> [624,] \"8984\" \"8983\" #> [625,] \"8984\" \"8663\" #> [626,] \"8986\" \"9306\" #> [627,] \"8986\" \"9307\" #> [628,] \"8990\" \"8669\" #> [629,] \"9291\" \"8971\" #> [630,] \"9291\" \"9292\" #> [631,] \"9291\" \"9612\" #> [632,] \"9292\" \"8972\" #> [633,] \"9292\" \"9612\" #> [634,] \"9292\" \"9293\" #> [635,] \"9292\" \"9291\" #> [636,] \"9292\" \"8971\" #> [637,] \"9292\" \"9613\" #> [638,] \"9293\" \"9613\" #> [639,] \"9293\" \"9294\" #> [640,] \"9293\" \"9292\" #> [641,] \"9293\" \"8972\" #> [642,] \"9293\" \"9614\" #> [643,] \"9294\" \"8974\" #> [644,] \"9294\" \"9614\" #> [645,] \"9294\" \"9295\" #> [646,] \"9294\" \"9293\" #> [647,] \"9294\" \"9615\" #> [648,] \"9295\" \"8975\" #> [649,] \"9295\" \"9615\" #> [650,] \"9295\" \"9294\" #> [651,] \"9295\" \"8974\" #> [652,] \"9295\" \"9616\" #> [653,] \"9297\" \"8977\" #> [654,] \"9297\" \"9617\" #> [655,] \"9297\" \"9298\" #> [656,] \"9297\" \"8976\" #> [657,] \"9297\" \"9618\" #> [658,] \"9298\" \"8978\" #> [659,] \"9298\" \"9618\" #> [660,] \"9298\" \"9299\" #> [661,] \"9298\" \"9297\" #> [662,] \"9298\" \"8977\" #> [663,] \"9298\" \"9619\" #> [664,] \"9299\" \"8979\" #> [665,] \"9299\" \"9619\" #> [666,] \"9299\" \"9300\" #> [667,] \"9299\" \"9298\" #> [668,] \"9299\" \"8978\" #> [669,] \"9299\" \"9620\" #> [670,] \"9300\" \"8980\" #> [671,] \"9300\" \"9620\" #> [672,] \"9300\" \"9301\" #> [673,] \"9300\" \"9299\" #> [674,] \"9300\" \"8979\" #> [675,] \"9300\" \"9621\" #> [676,] \"9301\" \"8981\" #> [677,] \"9301\" \"9621\" #> [678,] \"9301\" \"9302\" #> [679,] \"9301\" \"9300\" #> [680,] \"9301\" \"8980\" #> [681,] \"9301\" \"9622\" #> [682,] \"9302\" \"8982\" #> [683,] \"9302\" \"9622\" #> [684,] \"9302\" \"9303\" #> [685,] \"9302\" \"9301\" #> [686,] \"9302\" \"8981\" #> [687,] \"9302\" \"9623\" #> [688,] \"9303\" \"8983\" #> [689,] \"9303\" \"9623\" #> [690,] \"9303\" \"9302\" #> [691,] \"9303\" \"8982\" #> [692,] \"9303\" \"9624\" #> [693,] \"9306\" \"8986\" #> [694,] \"9306\" \"9626\" #> [695,] \"9306\" \"9307\" #> [696,] \"9306\" \"9627\" #> [697,] \"9307\" \"9627\" #> [698,] \"9307\" \"9306\" #> [699,] \"9307\" \"8986\" #> [700,] \"9307\" \"9628\" #> [701,] \"9612\" \"9292\" #> [702,] \"9612\" \"9613\" #> [703,] \"9612\" \"9291\" #> [704,] \"9612\" \"9933\" #> [705,] \"9613\" \"9293\" #> [706,] \"9613\" \"9933\" #> [707,] \"9613\" \"9614\" #> [708,] \"9613\" \"9612\" #> [709,] \"9613\" \"9292\" #> [710,] \"9614\" \"9294\" #> [711,] \"9614\" \"9615\" #> [712,] \"9614\" \"9613\" #> [713,] \"9614\" \"9293\" #> [714,] \"9614\" \"9935\" #> [715,] \"9615\" \"9295\" #> [716,] \"9615\" \"9935\" #> [717,] \"9615\" \"9616\" #> [718,] \"9615\" \"9614\" #> [719,] \"9615\" \"9294\" #> [720,] \"9615\" \"9936\" #> [721,] \"9616\" \"9936\" #> [722,] \"9616\" \"9617\" #> [723,] \"9616\" \"9615\" #> [724,] \"9616\" \"9295\" #> [725,] \"9616\" \"9937\" #> [726,] \"9617\" \"9297\" #> [727,] \"9617\" \"9937\" #> [728,] \"9617\" \"9618\" #> [729,] \"9617\" \"9616\" #> [730,] \"9617\" \"9938\" #> [731,] \"9618\" \"9298\" #> [732,] \"9618\" \"9938\" #> [733,] \"9618\" \"9619\" #> [734,] \"9618\" \"9617\" #> [735,] \"9618\" \"9297\" #> [736,] \"9618\" \"9939\" #> [737,] \"9619\" \"9299\" #> [738,] \"9619\" \"9939\" #> [739,] \"9619\" \"9620\" #> [740,] \"9619\" \"9618\" #> [741,] \"9619\" \"9298\" #> [742,] \"9619\" \"9940\" #> [743,] \"9620\" \"9300\" #> [744,] \"9620\" \"9940\" #> [745,] \"9620\" \"9621\" #> [746,] \"9620\" \"9619\" #> [747,] \"9620\" \"9299\" #> [748,] \"9620\" \"9941\" #> [749,] \"9621\" \"9301\" #> [750,] \"9621\" \"9941\" #> [751,] \"9621\" \"9622\" #> [752,] \"9621\" \"9620\" #> [753,] \"9621\" \"9300\" #> [754,] \"9621\" \"9942\" #> [755,] \"9622\" \"9302\" #> [756,] \"9622\" \"9942\" #> [757,] \"9622\" \"9623\" #> [758,] \"9622\" \"9621\" #> [759,] \"9622\" \"9301\" #> [760,] \"9622\" \"9943\" #> [761,] \"9623\" \"9303\" #> [762,] \"9623\" \"9943\" #> [763,] \"9623\" \"9624\" #> [764,] \"9623\" \"9622\" #> [765,] \"9623\" \"9302\" #> [766,] \"9624\" \"9623\" #> [767,] \"9624\" \"9303\" #> [768,] \"9626\" \"9306\" #> [769,] \"9626\" \"9627\" #> [770,] \"9626\" \"9947\" #> [771,] \"9627\" \"9307\" #> [772,] \"9627\" \"9947\" #> [773,] \"9627\" \"9628\" #> [774,] \"9627\" \"9626\" #> [775,] \"9627\" \"9306\" #> [776,] \"9627\" \"9948\" #> [777,] \"9628\" \"9948\" #> [778,] \"9628\" \"9627\" #> [779,] \"9628\" \"9307\" #> [780,] \"9933\" \"9613\" #> [781,] \"9933\" \"9612\" #> [782,] \"9933\" \"6467\" #> [783,] \"9935\" \"9615\" #> [784,] \"9935\" \"6147\" #> [785,] \"9935\" \"9936\" #> [786,] \"9935\" \"9614\" #> [787,] \"9935\" \"5827\" #> [788,] \"9936\" \"9616\" #> [789,] \"9936\" \"5827\" #> [790,] \"9936\" \"9937\" #> [791,] \"9936\" \"9935\" #> [792,] \"9936\" \"9615\" #> [793,] \"9936\" \"5507\" #> [794,] \"9937\" \"9617\" #> [795,] \"9937\" \"5507\" #> [796,] \"9937\" \"9938\" #> [797,] \"9937\" \"9936\" #> [798,] \"9937\" \"9616\" #> [799,] \"9937\" \"5187\" #> [800,] \"9938\" \"9618\" #> [801,] \"9938\" \"5187\" #> [802,] \"9938\" \"9939\" #> [803,] \"9938\" \"9937\" #> [804,] \"9938\" \"9617\" #> [805,] \"9938\" \"4867\" #> [806,] \"9939\" \"9619\" #> [807,] \"9939\" \"4867\" #> [808,] \"9939\" \"9940\" #> [809,] \"9939\" \"9938\" #> [810,] \"9939\" \"9618\" #> [811,] \"9939\" \"4547\" #> [812,] \"9940\" \"9620\" #> [813,] \"9940\" \"4547\" #> [814,] \"9940\" \"9941\" #> [815,] \"9940\" \"9939\" #> [816,] \"9940\" \"9619\" #> [817,] \"9940\" \"4227\" #> [818,] \"9941\" \"9621\" #> [819,] \"9941\" \"4227\" #> [820,] \"9941\" \"9942\" #> [821,] \"9941\" \"9940\" #> [822,] \"9941\" \"9620\" #> [823,] \"9941\" \"3907\" #> [824,] \"9942\" \"9622\" #> [825,] \"9942\" \"3907\" #> [826,] \"9942\" \"9943\" #> [827,] \"9942\" \"9941\" #> [828,] \"9942\" \"9621\" #> [829,] \"9942\" \"3587\" #> [830,] \"9943\" \"9623\" #> [831,] \"9943\" \"3587\" #> [832,] \"9943\" \"9942\" #> [833,] \"9943\" \"9622\" #> [834,] \"9943\" \"3267\" #> [835,] \"9947\" \"9627\" #> [836,] \"9947\" \"9948\" #> [837,] \"9947\" \"9626\" #> [838,] \"9947\" \"1987\" #> [839,] \"9948\" \"9628\" #> [840,] \"9948\" \"1987\" #> [841,] \"9948\" \"9947\" #> [842,] \"9948\" \"9627\" #> [843,] \"9948\" \"1667\" #> [844,] \"9950\" \"1347\" #> [845,] \"9950\" \"9951\" #> [846,] \"9950\" \"1027\" #> [847,] \"9951\" \"1027\" #> [848,] \"9951\" \"9952\" #> [849,] \"9951\" \"9950\" #> [850,] \"9951\" \"707\" #> [851,] \"9952\" \"707\" #> [852,] \"9952\" \"9951\" getEdges(x, res.type = \"matId\") #> Vi Vj #> [1,] 1 2 #> [2,] 1 358 #> [3,] 1 359 #> [4,] 1 3 #> [5,] 2 1 #> [6,] 2 4 #> [7,] 2 3 #> [8,] 2 357 #> [9,] 2 358 #> [10,] 2 5 #> [11,] 3 5 #> [12,] 3 2 #> [13,] 3 1 #> [14,] 4 2 #> [15,] 4 6 #> [16,] 4 5 #> [17,] 4 357 #> [18,] 4 7 #> [19,] 5 3 #> [20,] 5 7 #> [21,] 5 4 #> [22,] 5 2 #> [23,] 6 4 #> [24,] 6 8 #> [25,] 6 7 #> [26,] 6 355 #> [27,] 6 9 #> [28,] 7 5 #> [29,] 7 9 #> [30,] 7 6 #> [31,] 7 4 #> [32,] 8 6 #> [33,] 8 9 #> [34,] 8 354 #> [35,] 8 355 #> [36,] 8 11 #> [37,] 9 7 #> [38,] 9 11 #> [39,] 9 8 #> [40,] 9 6 #> [41,] 11 9 #> [42,] 11 8 #> [43,] 14 16 #> [44,] 14 15 #> [45,] 14 17 #> [46,] 15 17 #> [47,] 15 14 #> [48,] 16 14 #> [49,] 16 20 #> [50,] 16 17 #> [51,] 16 350 #> [52,] 16 21 #> [53,] 17 15 #> [54,] 17 21 #> [55,] 17 16 #> [56,] 17 14 #> [57,] 19 24 #> [58,] 20 16 #> [59,] 20 25 #> [60,] 20 21 #> [61,] 20 349 #> [62,] 20 350 #> [63,] 20 26 #> [64,] 21 17 #> [65,] 21 26 #> [66,] 21 20 #> [67,] 21 16 #> [68,] 24 30 #> [69,] 24 19 #> [70,] 24 31 #> [71,] 25 20 #> [72,] 25 32 #> [73,] 25 26 #> [74,] 25 348 #> [75,] 25 349 #> [76,] 25 33 #> [77,] 26 21 #> [78,] 26 33 #> [79,] 26 25 #> [80,] 26 20 #> [81,] 30 24 #> [82,] 30 31 #> [83,] 30 38 #> [84,] 31 38 #> [85,] 31 30 #> [86,] 31 24 #> [87,] 31 39 #> [88,] 32 25 #> [89,] 32 40 #> [90,] 32 33 #> [91,] 32 347 #> [92,] 32 348 #> [93,] 33 26 #> [94,] 33 32 #> [95,] 33 25 #> [96,] 35 43 #> [97,] 35 36 #> [98,] 35 44 #> [99,] 36 44 #> [100,] 36 35 #> [101,] 36 45 #> [102,] 38 31 #> [103,] 38 39 #> [104,] 38 30 #> [105,] 38 47 #> [106,] 39 47 #> [107,] 39 38 #> [108,] 39 31 #> [109,] 39 48 #> [110,] 40 32 #> [111,] 40 49 #> [112,] 40 346 #> [113,] 40 347 #> [114,] 43 35 #> [115,] 43 44 #> [116,] 43 53 #> [117,] 44 36 #> [118,] 44 53 #> [119,] 44 45 #> [120,] 44 43 #> [121,] 44 35 #> [122,] 44 54 #> [123,] 45 54 #> [124,] 45 44 #> [125,] 45 36 #> [126,] 45 55 #> [127,] 47 39 #> [128,] 47 56 #> [129,] 47 48 #> [130,] 47 38 #> [131,] 47 57 #> [132,] 48 57 #> [133,] 48 47 #> [134,] 48 39 #> [135,] 48 58 #> [136,] 49 40 #> [137,] 49 59 #> [138,] 49 345 #> [139,] 49 346 #> [140,] 53 44 #> [141,] 53 54 #> [142,] 53 43 #> [143,] 53 65 #> [144,] 54 45 #> [145,] 54 65 #> [146,] 54 55 #> [147,] 54 53 #> [148,] 54 44 #> [149,] 55 56 #> [150,] 55 54 #> [151,] 55 45 #> [152,] 56 47 #> [153,] 56 57 #> [154,] 56 55 #> [155,] 56 68 #> [156,] 57 48 #> [157,] 57 68 #> [158,] 57 58 #> [159,] 57 56 #> [160,] 57 47 #> [161,] 57 69 #> [162,] 58 69 #> [163,] 58 57 #> [164,] 58 48 #> [165,] 58 70 #> [166,] 59 49 #> [167,] 59 71 #> [168,] 59 344 #> [169,] 59 345 #> [170,] 65 54 #> [171,] 65 77 #> [172,] 65 53 #> [173,] 65 78 #> [174,] 68 57 #> [175,] 68 69 #> [176,] 68 56 #> [177,] 68 81 #> [178,] 69 58 #> [179,] 69 81 #> [180,] 69 70 #> [181,] 69 68 #> [182,] 69 57 #> [183,] 69 82 #> [184,] 70 82 #> [185,] 70 69 #> [186,] 70 58 #> [187,] 70 83 #> [188,] 71 59 #> [189,] 71 84 #> [190,] 71 343 #> [191,] 71 344 #> [192,] 72 86 #> [193,] 77 65 #> [194,] 77 91 #> [195,] 77 78 #> [196,] 77 92 #> [197,] 78 92 #> [198,] 78 77 #> [199,] 78 65 #> [200,] 81 69 #> [201,] 81 82 #> [202,] 81 68 #> [203,] 81 96 #> [204,] 82 70 #> [205,] 82 96 #> [206,] 82 83 #> [207,] 82 81 #> [208,] 82 69 #> [209,] 82 97 #> [210,] 83 97 #> [211,] 83 82 #> [212,] 83 70 #> [213,] 83 98 #> [214,] 84 71 #> [215,] 84 99 #> [216,] 84 342 #> [217,] 84 343 #> [218,] 86 72 #> [219,] 86 102 #> [220,] 89 104 #> [221,] 89 90 #> [222,] 89 105 #> [223,] 90 105 #> [224,] 90 91 #> [225,] 90 89 #> [226,] 90 106 #> [227,] 91 77 #> [228,] 91 106 #> [229,] 91 92 #> [230,] 91 90 #> [231,] 91 107 #> [232,] 92 78 #> [233,] 92 107 #> [234,] 92 91 #> [235,] 92 77 #> [236,] 92 108 #> [237,] 96 82 #> [238,] 96 97 #> [239,] 96 81 #> [240,] 96 112 #> [241,] 97 83 #> [242,] 97 112 #> [243,] 97 98 #> [244,] 97 96 #> [245,] 97 82 #> [246,] 97 113 #> [247,] 98 113 #> [248,] 98 97 #> [249,] 98 83 #> [250,] 98 114 #> [251,] 99 84 #> [252,] 99 115 #> [253,] 99 342 #> [254,] 102 103 #> [255,] 102 86 #> [256,] 103 104 #> [257,] 103 102 #> [258,] 104 89 #> [259,] 104 105 #> [260,] 104 103 #> [261,] 105 90 #> [262,] 105 106 #> [263,] 105 104 #> [264,] 105 89 #> [265,] 105 123 #> [266,] 106 91 #> [267,] 106 123 #> [268,] 106 107 #> [269,] 106 105 #> [270,] 106 90 #> [271,] 106 124 #> [272,] 107 92 #> [273,] 107 124 #> [274,] 107 108 #> [275,] 107 106 #> [276,] 107 91 #> [277,] 107 125 #> [278,] 108 125 #> [279,] 108 107 #> [280,] 108 92 #> [281,] 112 97 #> [282,] 112 113 #> [283,] 112 96 #> [284,] 113 98 #> [285,] 113 114 #> [286,] 113 112 #> [287,] 113 97 #> [288,] 114 113 #> [289,] 114 98 #> [290,] 114 132 #> [291,] 115 99 #> [292,] 115 340 #> [293,] 123 106 #> [294,] 123 141 #> [295,] 123 124 #> [296,] 123 105 #> [297,] 123 142 #> [298,] 124 107 #> [299,] 124 142 #> [300,] 124 125 #> [301,] 124 123 #> [302,] 124 106 #> [303,] 124 143 #> [304,] 125 108 #> [305,] 125 143 #> [306,] 125 124 #> [307,] 125 107 #> [308,] 125 144 #> [309,] 132 114 #> [310,] 132 151 #> [311,] 141 123 #> [312,] 141 161 #> [313,] 141 142 #> [314,] 141 162 #> [315,] 142 124 #> [316,] 142 162 #> [317,] 142 143 #> [318,] 142 141 #> [319,] 142 123 #> [320,] 142 163 #> [321,] 143 125 #> [322,] 143 163 #> [323,] 143 144 #> [324,] 143 142 #> [325,] 143 124 #> [326,] 143 164 #> [327,] 144 164 #> [328,] 144 145 #> [329,] 144 143 #> [330,] 144 125 #> [331,] 145 144 #> [332,] 151 132 #> [333,] 151 172 #> [334,] 161 141 #> [335,] 161 181 #> [336,] 161 162 #> [337,] 161 182 #> [338,] 162 142 #> [339,] 162 182 #> [340,] 162 163 #> [341,] 162 161 #> [342,] 162 141 #> [343,] 162 183 #> [344,] 163 143 #> [345,] 163 183 #> [346,] 163 164 #> [347,] 163 162 #> [348,] 163 142 #> [349,] 163 184 #> [350,] 164 144 #> [351,] 164 184 #> [352,] 164 163 #> [353,] 164 143 #> [354,] 164 185 #> [355,] 167 188 #> [356,] 172 151 #> [357,] 178 199 #> [358,] 178 179 #> [359,] 178 200 #> [360,] 179 200 #> [361,] 179 180 #> [362,] 179 178 #> [363,] 179 201 #> [364,] 180 201 #> [365,] 180 181 #> [366,] 180 179 #> [367,] 180 202 #> [368,] 181 161 #> [369,] 181 202 #> [370,] 181 182 #> [371,] 181 180 #> [372,] 182 162 #> [373,] 182 183 #> [374,] 182 181 #> [375,] 182 161 #> [376,] 182 204 #> [377,] 183 163 #> [378,] 183 204 #> [379,] 183 184 #> [380,] 183 182 #> [381,] 183 162 #> [382,] 183 205 #> [383,] 184 164 #> [384,] 184 205 #> [385,] 184 185 #> [386,] 184 183 #> [387,] 184 163 #> [388,] 184 206 #> [389,] 185 206 #> [390,] 185 186 #> [391,] 185 184 #> [392,] 185 164 #> [393,] 185 207 #> [394,] 186 207 #> [395,] 186 185 #> [396,] 186 208 #> [397,] 188 209 #> [398,] 188 167 #> [399,] 188 210 #> [400,] 199 178 #> [401,] 199 222 #> [402,] 199 200 #> [403,] 199 223 #> [404,] 200 179 #> [405,] 200 223 #> [406,] 200 201 #> [407,] 200 199 #> [408,] 200 178 #> [409,] 200 224 #> [410,] 201 180 #> [411,] 201 224 #> [412,] 201 202 #> [413,] 201 200 #> [414,] 201 179 #> [415,] 202 181 #> [416,] 202 201 #> [417,] 202 180 #> [418,] 204 183 #> [419,] 204 227 #> [420,] 204 205 #> [421,] 204 182 #> [422,] 204 228 #> [423,] 205 184 #> [424,] 205 228 #> [425,] 205 206 #> [426,] 205 204 #> [427,] 205 183 #> [428,] 205 229 #> [429,] 206 185 #> [430,] 206 229 #> [431,] 206 207 #> [432,] 206 205 #> [433,] 206 184 #> [434,] 206 230 #> [435,] 207 186 #> [436,] 207 230 #> [437,] 207 208 #> [438,] 207 206 #> [439,] 207 185 #> [440,] 207 231 #> [441,] 208 231 #> [442,] 208 209 #> [443,] 208 207 #> [444,] 208 186 #> [445,] 208 232 #> [446,] 209 188 #> [447,] 209 232 #> [448,] 209 210 #> [449,] 209 208 #> [450,] 209 233 #> [451,] 210 233 #> [452,] 210 209 #> [453,] 210 188 #> [454,] 214 238 #> [455,] 222 199 #> [456,] 222 245 #> [457,] 222 223 #> [458,] 222 246 #> [459,] 223 200 #> [460,] 223 246 #> [461,] 223 224 #> [462,] 223 222 #> [463,] 223 199 #> [464,] 224 201 #> [465,] 224 223 #> [466,] 224 200 #> [467,] 227 204 #> [468,] 227 250 #> [469,] 227 228 #> [470,] 227 251 #> [471,] 228 205 #> [472,] 228 251 #> [473,] 228 229 #> [474,] 228 227 #> [475,] 228 204 #> [476,] 228 252 #> [477,] 229 206 #> [478,] 229 252 #> [479,] 229 230 #> [480,] 229 228 #> [481,] 229 205 #> [482,] 229 253 #> [483,] 230 207 #> [484,] 230 253 #> [485,] 230 231 #> [486,] 230 229 #> [487,] 230 206 #> [488,] 230 254 #> [489,] 231 208 #> [490,] 231 254 #> [491,] 231 232 #> [492,] 231 230 #> [493,] 231 207 #> [494,] 231 255 #> [495,] 232 209 #> [496,] 232 255 #> [497,] 232 233 #> [498,] 232 231 #> [499,] 232 208 #> [500,] 232 256 #> [501,] 233 210 #> [502,] 233 256 #> [503,] 233 232 #> [504,] 233 209 #> [505,] 233 257 #> [506,] 238 214 #> [507,] 238 262 #> [508,] 244 267 #> [509,] 244 245 #> [510,] 244 268 #> [511,] 245 222 #> [512,] 245 268 #> [513,] 245 246 #> [514,] 245 244 #> [515,] 246 223 #> [516,] 246 245 #> [517,] 246 222 #> [518,] 246 270 #> [519,] 250 227 #> [520,] 250 273 #> [521,] 250 251 #> [522,] 250 274 #> [523,] 251 228 #> [524,] 251 274 #> [525,] 251 252 #> [526,] 251 250 #> [527,] 251 227 #> [528,] 251 275 #> [529,] 252 229 #> [530,] 252 275 #> [531,] 252 253 #> [532,] 252 251 #> [533,] 252 228 #> [534,] 252 276 #> [535,] 253 230 #> [536,] 253 276 #> [537,] 253 254 #> [538,] 253 252 #> [539,] 253 229 #> [540,] 253 277 #> [541,] 254 231 #> [542,] 254 277 #> [543,] 254 255 #> [544,] 254 253 #> [545,] 254 230 #> [546,] 254 278 #> [547,] 255 232 #> [548,] 255 278 #> [549,] 255 256 #> [550,] 255 254 #> [551,] 255 231 #> [552,] 255 279 #> [553,] 256 233 #> [554,] 256 279 #> [555,] 256 257 #> [556,] 256 255 #> [557,] 256 232 #> [558,] 256 280 #> [559,] 257 280 #> [560,] 257 256 #> [561,] 257 233 #> [562,] 262 238 #> [563,] 262 286 #> [564,] 267 244 #> [565,] 267 291 #> [566,] 267 268 #> [567,] 267 292 #> [568,] 268 245 #> [569,] 268 292 #> [570,] 268 267 #> [571,] 268 244 #> [572,] 268 293 #> [573,] 270 294 #> [574,] 270 271 #> [575,] 270 246 #> [576,] 270 295 #> [577,] 271 295 #> [578,] 271 272 #> [579,] 271 270 #> [580,] 272 273 #> [581,] 272 271 #> [582,] 272 297 #> [583,] 273 250 #> [584,] 273 297 #> [585,] 273 274 #> [586,] 273 272 #> [587,] 273 298 #> [588,] 274 251 #> [589,] 274 298 #> [590,] 274 275 #> [591,] 274 273 #> [592,] 274 250 #> [593,] 274 299 #> [594,] 275 252 #> [595,] 275 299 #> [596,] 275 276 #> [597,] 275 274 #> [598,] 275 251 #> [599,] 275 300 #> [600,] 276 253 #> [601,] 276 300 #> [602,] 276 277 #> [603,] 276 275 #> [604,] 276 252 #> [605,] 276 301 #> [606,] 277 254 #> [607,] 277 301 #> [608,] 277 278 #> [609,] 277 276 #> [610,] 277 253 #> [611,] 277 302 #> [612,] 278 255 #> [613,] 278 302 #> [614,] 278 279 #> [615,] 278 277 #> [616,] 278 254 #> [617,] 278 303 #> [618,] 279 256 #> [619,] 279 303 #> [620,] 279 280 #> [621,] 279 278 #> [622,] 279 255 #> [623,] 280 257 #> [624,] 280 279 #> [625,] 280 256 #> [626,] 282 306 #> [627,] 282 307 #> [628,] 286 262 #> [629,] 291 267 #> [630,] 291 292 #> [631,] 291 315 #> [632,] 292 268 #> [633,] 292 315 #> [634,] 292 293 #> [635,] 292 291 #> [636,] 292 267 #> [637,] 292 316 #> [638,] 293 316 #> [639,] 293 294 #> [640,] 293 292 #> [641,] 293 268 #> [642,] 293 317 #> [643,] 294 270 #> [644,] 294 317 #> [645,] 294 295 #> [646,] 294 293 #> [647,] 294 318 #> [648,] 295 271 #> [649,] 295 318 #> [650,] 295 294 #> [651,] 295 270 #> [652,] 295 319 #> [653,] 297 273 #> [654,] 297 320 #> [655,] 297 298 #> [656,] 297 272 #> [657,] 297 321 #> [658,] 298 274 #> [659,] 298 321 #> [660,] 298 299 #> [661,] 298 297 #> [662,] 298 273 #> [663,] 298 322 #> [664,] 299 275 #> [665,] 299 322 #> [666,] 299 300 #> [667,] 299 298 #> [668,] 299 274 #> [669,] 299 323 #> [670,] 300 276 #> [671,] 300 323 #> [672,] 300 301 #> [673,] 300 299 #> [674,] 300 275 #> [675,] 300 324 #> [676,] 301 277 #> [677,] 301 324 #> [678,] 301 302 #> [679,] 301 300 #> [680,] 301 276 #> [681,] 301 325 #> [682,] 302 278 #> [683,] 302 325 #> [684,] 302 303 #> [685,] 302 301 #> [686,] 302 277 #> [687,] 302 326 #> [688,] 303 279 #> [689,] 303 326 #> [690,] 303 302 #> [691,] 303 278 #> [692,] 303 327 #> [693,] 306 282 #> [694,] 306 329 #> [695,] 306 307 #> [696,] 306 330 #> [697,] 307 330 #> [698,] 307 306 #> [699,] 307 282 #> [700,] 307 331 #> [701,] 315 292 #> [702,] 315 316 #> [703,] 315 291 #> [704,] 315 340 #> [705,] 316 293 #> [706,] 316 340 #> [707,] 316 317 #> [708,] 316 315 #> [709,] 316 292 #> [710,] 317 294 #> [711,] 317 318 #> [712,] 317 316 #> [713,] 317 293 #> [714,] 317 342 #> [715,] 318 295 #> [716,] 318 342 #> [717,] 318 319 #> [718,] 318 317 #> [719,] 318 294 #> [720,] 318 343 #> [721,] 319 343 #> [722,] 319 320 #> [723,] 319 318 #> [724,] 319 295 #> [725,] 319 344 #> [726,] 320 297 #> [727,] 320 344 #> [728,] 320 321 #> [729,] 320 319 #> [730,] 320 345 #> [731,] 321 298 #> [732,] 321 345 #> [733,] 321 322 #> [734,] 321 320 #> [735,] 321 297 #> [736,] 321 346 #> [737,] 322 299 #> [738,] 322 346 #> [739,] 322 323 #> [740,] 322 321 #> [741,] 322 298 #> [742,] 322 347 #> [743,] 323 300 #> [744,] 323 347 #> [745,] 323 324 #> [746,] 323 322 #> [747,] 323 299 #> [748,] 323 348 #> [749,] 324 301 #> [750,] 324 348 #> [751,] 324 325 #> [752,] 324 323 #> [753,] 324 300 #> [754,] 324 349 #> [755,] 325 302 #> [756,] 325 349 #> [757,] 325 326 #> [758,] 325 324 #> [759,] 325 301 #> [760,] 325 350 #> [761,] 326 303 #> [762,] 326 350 #> [763,] 326 327 #> [764,] 326 325 #> [765,] 326 302 #> [766,] 327 326 #> [767,] 327 303 #> [768,] 329 306 #> [769,] 329 330 #> [770,] 329 354 #> [771,] 330 307 #> [772,] 330 354 #> [773,] 330 331 #> [774,] 330 329 #> [775,] 330 306 #> [776,] 330 355 #> [777,] 331 355 #> [778,] 331 330 #> [779,] 331 307 #> [780,] 340 316 #> [781,] 340 315 #> [782,] 340 115 #> [783,] 342 318 #> [784,] 342 99 #> [785,] 342 343 #> [786,] 342 317 #> [787,] 342 84 #> [788,] 343 319 #> [789,] 343 84 #> [790,] 343 344 #> [791,] 343 342 #> [792,] 343 318 #> [793,] 343 71 #> [794,] 344 320 #> [795,] 344 71 #> [796,] 344 345 #> [797,] 344 343 #> [798,] 344 319 #> [799,] 344 59 #> [800,] 345 321 #> [801,] 345 59 #> [802,] 345 346 #> [803,] 345 344 #> [804,] 345 320 #> [805,] 345 49 #> [806,] 346 322 #> [807,] 346 49 #> [808,] 346 347 #> [809,] 346 345 #> [810,] 346 321 #> [811,] 346 40 #> [812,] 347 323 #> [813,] 347 40 #> [814,] 347 348 #> [815,] 347 346 #> [816,] 347 322 #> [817,] 347 32 #> [818,] 348 324 #> [819,] 348 32 #> [820,] 348 349 #> [821,] 348 347 #> [822,] 348 323 #> [823,] 348 25 #> [824,] 349 325 #> [825,] 349 25 #> [826,] 349 350 #> [827,] 349 348 #> [828,] 349 324 #> [829,] 349 20 #> [830,] 350 326 #> [831,] 350 20 #> [832,] 350 349 #> [833,] 350 325 #> [834,] 350 16 #> [835,] 354 330 #> [836,] 354 355 #> [837,] 354 329 #> [838,] 354 8 #> [839,] 355 331 #> [840,] 355 8 #> [841,] 355 354 #> [842,] 355 330 #> [843,] 355 6 #> [844,] 357 4 #> [845,] 357 358 #> [846,] 357 2 #> [847,] 358 2 #> [848,] 358 359 #> [849,] 358 357 #> [850,] 358 1 #> [851,] 359 1 #> [852,] 359 358"},{"path":"/reference/getNodesAttr.html","id":null,"dir":"Reference","previous_headings":"","what":"Get nodes attributes from gGraph/gData object — getNodesAttr","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"function getNodesAttr returns values set variables associated nodes (.e. node attributes) gGraph gData object.","code":""},{"path":"/reference/getNodesAttr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"","code":"getNodesAttr(x, ...) # S4 method for gGraph getNodesAttr(x, nodes = NULL, attr.name = NULL, ...) # S4 method for gData getNodesAttr(x, attr.name = NULL, ...)"},{"path":"/reference/getNodesAttr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"x valid gGraph gData object. ... arguments passed methods (currently unused). nodes optional integer, logical, character string indicating subset nodes used. NULL, nodes used. attr.name optional character string indicating node attributes returned. provided, must match least one columns x@nodes.attr.","code":""},{"path":"/reference/getNodesAttr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"data.frame requested nodes attributes. Nodes displayed rows, variables columns.","code":""},{"path":"/reference/getNodesAttr.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"getNodesAttr(gGraph): Method gGraph objects getNodesAttr(gData): Method gData objects","code":""},{"path":[]},{"path":"/reference/getNodesAttr.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getNodesAttr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"","code":"## gGraph method head(getNodesAttr(worldgraph.40k)) #> habitat #> 1 sea #> 2 sea #> 3 sea #> 4 sea #> 5 sea #> 6 sea ## gData method getNodesAttr(hgdp) #> habitat #> 26898 coast #> 11652 coast #> 22532 land #> 23709 land #> 24988 land #> 28833 land #> 26917 coast #> 28836 coast #> 21797 land #> 39741 coast #> 39740 coast #> 39740.1 coast #> 16798 land #> 16798.1 land #> 22561 land #> 19359 land #> 21280 land #> 13597 coast #> 20000 land #> 16162 land #> 13760 coast #> 7348 coast #> 13365 land #> 10816 land #> 5655 coast #> 40768 land #> 30164 land #> 6433 land #> 15411 land #> 20543 land #> 26955 land #> 13518 land #> 8583 land #> 34111 land #> 18189 land #> 20755 land #> 34111.1 land #> 899 land #> 20110 land #> 5389 land #> 1539 land #> 36661 land #> 28323 land #> 37309 land #> 16265 land #> 35388 land #> 28322 land #> 33480 land #> 19483 coast #> 27148 land #> 11457 land #> 30221 land"},{"path":"/reference/hgdp.html","id":null,"dir":"Reference","previous_headings":"","what":"Human genome diversity panel - georeferenced data — hgdp","title":"Human genome diversity panel - georeferenced data — hgdp","text":"datasets hgdp hgdpPlus provides genetic diversity several human populations worldwide. datasets gData objects, interfaced gGraph object worldgraph.40k.","code":""},{"path":"/reference/hgdp.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Human genome diversity panel - georeferenced data — hgdp","text":"hgdp gGraph object following data: % @nodes.attr$habitat habitat corresponding % vertice; currently 'land' 'sea'. @meta$color matrix assigning color plotting % vertices (second column) different values habitat (first % column).","code":""},{"path":"/reference/hgdp.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Human genome diversity panel - georeferenced data — hgdp","text":"hgdp describes 52 populations original Human Genome Diversity Panel. hgdpPlus describes hgdp populations plus 24 native American populations.","code":""},{"path":"/reference/hgdp.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Human genome diversity panel - georeferenced data — hgdp","text":"Authors Journal, YEAR, nb: pp-pp.","code":""},{"path":"/reference/hgdp.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Human genome diversity panel - georeferenced data — hgdp","text":"","code":"## check object hgdp #> #> === gData object === #> #> @coords: spatial coordinates of 52 nodes #> lon lat #> 1 -3 59 #> 2 39 44 #> 3 40 61 #> ... #> #> @nodes.id: nodes identifiers #> 28179 11012 22532 #> \"26898\" \"11652\" \"22532\" #> ... #> #> @data: 52 data #> Population Region Label n Latitude Longitude Genetic.Div #> 1 Orcadian EUROPE 1 15 59 -3 0.7258820 #> 2 Adygei EUROPE 2 17 44 39 0.7297802 #> 3 Russian EUROPE 3 25 61 40 0.7319749 #> ... #> #> Associated gGraph: worldgraph.40k ## plotting the object plot(hgdp) ## results from Handley et al. if (FALSE) { ## Addis Ababa addis <- list(lon = 38.74, lat = 9.03) addis <- closestNode(worldgraph.40k, addis) # this takes a while ## shortest path from Addis Ababa myPath <- dijkstraFrom(hgdp, addis) ## plot results plot(worldgraph.40k, col = 0) points(hgdp) points(worldgraph.40k[addis], psize = 3, pch = \"x\", col = \"black\") plot(myPath) ## correlations distance/genetic div. geo.dist <- sapply(myPath[-length(myPath)], function(e) e$length) gen.div <- getData(hgdp)[, \"Genetic.Div\"] plot(gen.div ~ geo.dist) lm1 <- lm(gen.div ~ geo.dist) abline(lm1, col = \"blue\") # this regression is wrong summary(lm1) }"},{"path":"/reference/isInArea.html","id":null,"dir":"Reference","previous_headings":"","what":"Find which nodes fall in a given area — isInArea","title":"Find which nodes fall in a given area — isInArea","text":"generic function isInArea finds nodes fall given area. Nodes can specified different ways, including providing gGraph gData object. Different format output also available.","code":""},{"path":"/reference/isInArea.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find which nodes fall in a given area — isInArea","text":"","code":"isInArea(x, ...) # S4 method for matrix isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 ) # S4 method for data.frame isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 ) # S4 method for gGraph isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 ) # S4 method for gData isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 )"},{"path":"/reference/isInArea.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find which nodes fall in a given area — isInArea","text":"x matrix, data.frame, valid gGraph, valid gData object. matrix data.frame, input must two columns giving longitudes latitudes locations considered. ... arguments passed specific methods. reg character string list indicating area ('reg' stands 'region'). Character strings can \"current\" (current user window, default) \"zoom\" (current zoom). argument list, two components, numeric vectors length two, giving x y limits area. Note list can produced locator, locator(1) valid value reg. res.type character string indicating kind output produced. See value. buffer numeric value giving buffer adding extra space aroung area, proportion current area's dimensions.","code":""},{"path":"/reference/isInArea.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find which nodes fall in a given area — isInArea","text":"output depends value argument res.type: logical: vector logicals one value node input. integer: vector integers corresponding indices nodes falling within area. character: vector characters corresponding names nodes falling within area.","code":""},{"path":"/reference/isInArea.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Find which nodes fall in a given area — isInArea","text":"isInArea(matrix): Method matrix isInArea(data.frame): Method data.frame isInArea(gGraph): Method gGraph object isInArea(gData): Method gData object","code":""},{"path":"/reference/isInArea.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Find which nodes fall in a given area — isInArea","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/isInArea.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Find which nodes fall in a given area — isInArea","text":"","code":"plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## different outputs of isInArea head(isInArea(worldgraph.10k)) # logical #> 1 2 3 4 5 6 #> FALSE FALSE FALSE FALSE FALSE FALSE length(isInArea(worldgraph.10k)) #> [1] 10242 sum(isInArea(worldgraph.10k)) #> [1] 359 head(which(isInArea(worldgraph.10k))) # which nodes are TRUE ? #> 707 1027 1028 1347 1348 1667 #> 707 1027 1028 1347 1348 1667 head(isInArea(worldgraph.10k, res.type = \"integer\")) # node indices #> 707 1027 1028 1347 1348 1667 #> 707 1027 1028 1347 1348 1667 head(isInArea(worldgraph.10k, res.type = \"character\")) # node names #> [1] \"707\" \"1027\" \"1028\" \"1347\" \"1348\" \"1667\" ## use isInArea to have a subset of visible nodes x <- worldgraph.10k[isInArea(worldgraph.10k)] plot(x, reset = TRUE)"},{"path":"/reference/makeGrid.html","id":null,"dir":"Reference","previous_headings":"","what":"Build a regular grid gGraph — makeGrid","title":"Build a regular grid gGraph — makeGrid","text":"function makeGrid builds gGraph using regular grid given area. area specified, currently plotted area used. Note grid valid small scales, cases curvature surface earth can neglected.","code":""},{"path":"/reference/makeGrid.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Build a regular grid gGraph — makeGrid","text":"","code":"makeGrid( size = NULL, n.lon = NULL, n.lat = NULL, lon.range = NULL, lat.range = NULL )"},{"path":"/reference/makeGrid.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Build a regular grid gGraph — makeGrid","text":"size integer giving approximate number nodes grid. function attempt make square grid (approximately) size. n.lon number longitude coordinates grid (.e., width grid, number cells) n.lat number latitude coordinates grid (.e., height grid, number cells) lon.range, lat.range vectors length two giving range covered grid, longitude latitude, respectively.","code":""},{"path":"/reference/makeGrid.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Build a regular grid gGraph — makeGrid","text":"gGraph object.","code":""},{"path":"/reference/makeGrid.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Build a regular grid gGraph — makeGrid","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/makeGrid.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Build a regular grid gGraph — makeGrid","text":"","code":"## zoom in to a smaller area plot(worldgraph.10k) geo.zoomin(c(-10, 0, 50, 54)) ## make a new gGraph newGraph <- makeGrid(1e3) newGraph <- findLand(newGraph) newGraph@meta$colors <- data.frame( habitat = c(\"sea\", \"land\"), color = c(\"blue\", \"green\") ) ## plot the new gGraph plot(newGraph, reset = TRUE, edge = TRUE)"},{"path":"/reference/plot-gData.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a gData object. — plot-gData","title":"Plot a gData object. — plot-gData","text":"Various functions plot gData object: plot opens device plots object, points plots object existing device. Plotting gData object relies plotting gGraph object linked, represent locations gData /associated nodes.","code":""},{"path":"/reference/plot-gData.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a gData object. — plot-gData","text":"","code":"# S4 method for gData,missing plot( x, type = c(\"nodes\", \"original\", \"both\"), pch.ori = 4, pch.nodes = 1, col.ori = \"black\", col.nodes = \"red\", col.gGraph = NULL, reset = FALSE, sticky.points = TRUE, ... ) # S4 method for gData points( x, type = c(\"nodes\", \"original\", \"both\"), pch.ori = 4, pch.nodes = 1, col.ori = \"black\", col.nodes = \"red\", sticky.points = TRUE, ... )"},{"path":"/reference/plot-gData.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a gData object. — plot-gData","text":"x valid gData object. gData object linked must exist global environment. type character string indicating information plotted: original locations ('original'), associated nodes ('nodes', default), (''). latter case, arrow goes locations nodes. pch.ori numeric character indicating type point locations. pch.nodes numeric character indicating type point nodes. col.ori character string indicating color used locations. col.nodes character string indicating color used nodes. col.gGraph (recycled) color vector associated gGraph object. NULL, default color used. Set NA \"transparent\" avoid plotting gGraph. reset logical stating whether plotting area reset fit gData object (TRUE), conserve previous plotting settings (FALSE, default). sticky.points logical indicating added points kept replotting (TRUE, default), (FALSE). case, reset=TRUE prevent points redrawn. ... arguments passed points.","code":""},{"path":"/reference/plot-gData.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot a gData object. — plot-gData","text":"sticky.points set TRUE, operations performed graphics like zooming sliding window can performed without loosing gData plot.","code":""},{"path":"/reference/plot-gData.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Plot a gData object. — plot-gData","text":"points(gData): Plot points","code":""},{"path":[]},{"path":"/reference/plot-gData.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Plot a gData object. — plot-gData","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/plot-gData.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a gData object. — plot-gData","text":"","code":"myLoc <- list(x = c(3, -8, 11, 28), y = c(50, 57, 71, 67)) # some locations obj <- new(\"gData\", coords = myLoc) # new gData object obj #> #> === gData object === #> #> @coords: spatial coordinates of 4 nodes #> lon lat #> 1 3 50 #> 2 -8 57 #> 3 11 71 #> ... #> #> @nodes.id: nodes identifiers #> character(0) #> #> @data: data #> NULL #> ... #> #> Associated gGraph: obj@gGraph.name <- \"worldgraph.10k\" obj <- closestNode(obj, attr.name = \"habitat\", attr.value = \"land\") ## plot the result (original location -> assigned node) plot(obj, type = \"both\", reset = TRUE) title(\"'x'=location, 'o'=assigned node\") ## using different parameters points(obj, type = \"both\", pch.ori = 2, col.ori = \"red\", pch.nodes = 20, col.nodes = \"pink\") ## only nodes, fancy plot plot(obj, col.nodes = \"red\", cex = 1, pch.node = 20) #> Error in h(simpleError(msg, call)): error in evaluating the argument 'x' in selecting a method for function 'points': object 'obj' not found points(obj, col.nodes = \"red\", cex = 2) points(obj, col.nodes = \"orange\", cex = 3) points(obj, col.nodes = \"yellow\", cex = 4)"},{"path":"/reference/plot-gGraph.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a gGraph object. — plot-gGraph","title":"Plot a gGraph object. — plot-gGraph","text":"Various functions plot gGraph object: plot opens device plot object, points plots object existing device. plotEdges plots edges graph: can called directly, via arguments passed plot points.","code":""},{"path":"/reference/plot-gGraph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a gGraph object. — plot-gGraph","text":"x gGraph object. shape shapefile used background object. Must class SpatialPolygonsDataFrame (see readShapePoly maptools package import data GIS shapefile). Alternatively, character string indicating one shapefile released geoGraph. psize numeric giving size points. pch numeric character indicating type point. col character string indicating color used. edges logical indicating edges plotted (TRUE) (FALSE). reset logical indicating plotting parameters reset (TRUE) (FALSE). bg.col character string indicating color polygons shapefile used background. border.col character string indicating color polygon borders. lwd numeric indicating width line (used edges). useCosts logical indicating edge width inversely proportionnal edge cost (TRUE) (FALSE). maxLwd numeric indicating maximum edge width (corresponding maximum weight). col.rules data.frame two named columns, first one giving values node attribute, second one stating colors used value. provided, seeked @meta\\$color slot object. sticky.points logical indicating added points kept replotting (TRUE), (FALSE). case, reset=TRUE prevent points redrawn. lty type line (edges). pcol character indicating color used points. sticky.edges logical indicating whether added edges kept replotting (TRUE), (FALSE, default). case, reset=TRUE prevent points redrawn. ... arguments passed generic methods (plot, points, segments, respectively).","code":""},{"path":"/reference/plot-gGraph.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot a gGraph object. — plot-gGraph","text":"Plotting gGraph object stores parameters R; see details information. able zoom , slide window, previous plotting information stored particular environment (.geoGraphEnv), created loading geoGraph. Users interact directly objects environment. resulting plotting behaviour plotting gGraph object, last plotting parameters re-used. override behaviour, specify reset=TRUE argument plot.","code":""},{"path":[]},{"path":"/reference/plot-gGraph.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Plot a gGraph object. — plot-gGraph","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/plot-gGraph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a gGraph object. — plot-gGraph","text":"","code":"## just the background plot(worldgraph.10k, reset = TRUE, type = \"n\") ## basic plot plot(worldgraph.10k) ## zooming and adding edges geo.zoomin(list(x = c(90, 150), y = c(0, -50))) plot(worldgraph.10k, edges = TRUE) ## display edges differently plotEdges(worldgraph.10k, col = \"red\", lwd = 2) ## replot points with different color points(worldgraph.10k, col = \"orange\") ## mask points in the sea inSea <- unlist(getNodesAttr(worldgraph.10k, attr.name = \"habitat\")) == \"sea\" head(inSea) #> [1] TRUE TRUE TRUE TRUE TRUE TRUE points(worldgraph.10k[inSea], col = \"white\", sticky = TRUE) # this will stay ## but better, only draw those on land, and use a fancy setup par(bg = \"blue\") plot(worldgraph.10k[!inSea], bg.col = \"darkgreen\", col = \"purple\", edges = TRUE) #> Error in h(simpleError(msg, call)): error in evaluating the argument 'x' in selecting a method for function 'points': error in evaluating the argument 'i' in selecting a method for function '[': object 'inSea' not found"},{"path":"/reference/setCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Set friction in a gGraph object — setCosts","title":"Set friction in a gGraph object — setCosts","text":"function setCosts define costs edges gGraph object according node attribute rules defined @meta\\$costs slot object. node value chosen attribute, associated costs (friction). cost edge computed function (see argument method) costs nodes.","code":""},{"path":"/reference/setCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set friction in a gGraph object — setCosts","text":"","code":"setCosts( x, attr.name = NULL, node.values = NULL, method = c(\"mean\", \"product\", \"function\"), FUN = NULL, ... )"},{"path":"/reference/setCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set friction in a gGraph object — setCosts","text":"x gGraph object least one node attribute, @meta$costs component (example, see worldgraph.10k dataset). attr.name name node attribute used compute costs (.e., one column @nodes.attr). node.values numeric vector giving costs associated nodes. provided, used instead attr.name. method character string indicating method used compute edge cost nodes costs. Currently available options 'mean', 'prod' 'function', cost associated edge respectively computed mean, product custom function (defined FUN) costs nodes. FUN function used compute cost two nodes (needed method=\"function\"). ... additional parameters passed FUN.","code":""},{"path":"/reference/setCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set friction in a gGraph object — setCosts","text":"gGraph object newly defined costs used weightings edges.","code":""},{"path":"/reference/setCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set friction in a gGraph object — setCosts","text":"Note costs inversely proportional connectivity edges: larger cost associated edge, lower connectivity two concerned nodes. Also note 'costs' defined geoGraph equivalent 'weights' defined graph RBGL packages.","code":""},{"path":[]},{"path":"/reference/setCosts.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Set friction in a gGraph object — setCosts","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/setCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set friction in a gGraph object — setCosts","text":"","code":"plot(rawgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## defining a new object restrained to visible nodes x <- rawgraph.10k[isInArea(rawgraph.10k)] ## define weights for edges x <- setCosts(x, attr.name = \"habitat\") plot(x, edges = TRUE) title(\"costs defined by habitat (land/land=1, other=100)\")"},{"path":"/reference/setDistCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Set costs associated to edges based on geographic distances — setDistCosts","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"function setDistCosts sets costs gGraph object using geographic distance. cost associated edge defined great circle distance two nodes edge. setDistCosts actually relies rdist.earth fields package.","code":""},{"path":"/reference/setDistCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"","code":"setDistCosts(x, ...) # S4 method for gGraph setDistCosts(x, ...)"},{"path":"/reference/setDistCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"x valid gGraph. ... arguments passed methods (currently unused).","code":""},{"path":"/reference/setDistCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"gGraph method, gGraph object appropriate weights. Note former weights removed object.","code":""},{"path":"/reference/setDistCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"notion 'costs' context gGraph objects identical concept 'weights' graph (thus graphNEL) objects. larger edge, less connectivity couple concerned nodes.","code":""},{"path":"/reference/setDistCosts.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"setDistCosts(gGraph): Method gGraph object","code":""},{"path":[]},{"path":"/reference/setDistCosts.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/setDistCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"","code":"if (require(fields)) { ## load data plot(rawgraph.10k, reset = TRUE) geo.zoomin(list(x = c(110, 150), y = c(-10, -40))) plotEdges(rawgraph.10k) ## compute costs x <- rawgraph.10k[isInArea(rawgraph.10k)] x <- setDistCosts(x) ## replot edges plotEdges(x) # no big differences can be seen head(getCosts(x)) } #> Loading required package: fields #> Loading required package: spam #> Spam version 2.10-0 (2023-10-23) is loaded. #> Type 'help( Spam)' or 'demo( spam)' for a short introduction #> and overview of this package. #> Help for individual functions is also obtained by adding the #> suffix '.spam' to the function name, e.g. 'help( chol.spam)'. #> #> Attaching package: ‘spam’ #> The following objects are masked from ‘package:base’: #> #> backsolve, forwardsolve #> Loading required package: viridisLite #> #> Try help(fields) to get started. #> $`150` #> 10038 151 10037 471 #> 153.5122 135.5409 159.0169 159.0779 #> #> $`151` #> 10039 471 152 150 10038 472 #> 152.7608 152.4379 136.0023 135.5409 159.8605 159.9643 #> #> $`152` #> 10040 472 153 151 10039 473 #> 152.0093 151.6441 136.5697 136.0023 160.7123 160.8551 #> #> $`153` #> 10041 473 154 152 10040 474 #> 151.2579 150.8388 137.2289 136.5697 161.5831 161.7623 #> #> $`154` #> 10042 474 155 153 10041 475 #> 150.5036 150.0351 138.0768 137.2289 162.4662 162.6196 #> #> $`155` #> 10043 475 156 154 10042 476 #> 149.6651 149.2157 138.9751 138.0768 163.3113 163.5481 #>"},{"path":"/reference/setEdges.html","id":null,"dir":"Reference","previous_headings":"","what":"Add and remove edges from a gGraph object — setEdges","title":"Add and remove edges from a gGraph object — setEdges","text":"function setEdges allows one add remove edges gGraph directly specifying relevant nodes, list data.frame. low-level function called geo.add.edges geo.remove.edges.","code":""},{"path":"/reference/setEdges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add and remove edges from a gGraph object — setEdges","text":"","code":"setEdges(x, ...) # S4 method for gGraph setEdges(x, add = NULL, remove = NULL, costs = NULL, ...)"},{"path":"/reference/setEdges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add and remove edges from a gGraph object — setEdges","text":"x valid gGraph object. ... arguments passed methods (currently unused). add list dataframe containing node names edges added. first element list (column data.frame) gives starting nodes edges; second gives ending nodes. Hence, nodes -th edge add[[1]][] add[[2]][] add list, add[,] add data.frame. remove add argument, edges removed. costs numeric vector providing costs edges added. costs[] weight -th edge.","code":""},{"path":"/reference/setEdges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add and remove edges from a gGraph object — setEdges","text":"gGraph object newly added removed edges.","code":""},{"path":"/reference/setEdges.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Add and remove edges from a gGraph object — setEdges","text":"setEdges(gGraph): Method gGraph object","code":""},{"path":[]},{"path":"/reference/setEdges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Add and remove edges from a gGraph object — setEdges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/worldgraph.html","id":null,"dir":"Reference","previous_headings":"","what":"Worldwide geographic graphs — worldgraph","title":"Worldwide geographic graphs — worldgraph","text":"datasets 'rawgraph.10k', 'rawgraph.40k', 'worldgraph.10k', 'worldgraph.40k' geographic graphs (gGraph objects) world, respective resolutions 10,242 40,962 vertices.","code":""},{"path":"/reference/worldgraph.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Worldwide geographic graphs — worldgraph","text":"worldgraph.10k worldgraph.40k gGraph objects following specificities: @nodes.attr\\$habitat habitat corresponding vertice; currently 'land' 'sea'. @meta\\$color matrix assigning color plotting vertices (second column) different values habitat (first column).","code":""},{"path":"/reference/worldgraph.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Worldwide geographic graphs — worldgraph","text":"Graph reconstructed Andrea Manica.","code":""},{"path":"/reference/worldgraph.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Worldwide geographic graphs — worldgraph","text":"'rawgraph's raw graphs obtained directly method provided references. 'worldgraph's 'rawgraph's modified manually rectify connectivity edges places. noticeable change edges involving sea vertices removed. 'worldshape' shapefile countries world (snapshot 1994).","code":""},{"path":"/reference/worldgraph.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Worldwide geographic graphs — worldgraph","text":"=== construction graph === Randall, D. .; Ringler, T. D.; Heikes, R. P.; Jones, P. & Baumgardner, J. Climate Modeling Spherical Geodesic Grids Computing science & engineering, 2002, 4: 32-41.","code":""},{"path":"/reference/worldgraph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Worldwide geographic graphs — worldgraph","text":"","code":"worldgraph.10k #> #> === gGraph object === #> #> @coords: spatial coordinates of 10242 nodes #> lon lat #> 1 -180.0000 90.00000 #> 2 144.0000 -90.00000 #> 3 -33.7806 27.18924 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 2 items #> [1] \"$colors\" \"$costs\" #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 10242 #> Number of Edges = 6954 ## plotting the object plot(worldgraph.10k, reset = TRUE) title(\"Hello world\") ## zooming in geo.zoomin(list(x = c(-12, 45), y = c(33, 75))) title(\"Europe\") geo.zoomin(list(x = c(-12, 2), y = c(50, 60))) plotEdges(worldgraph.10k) title(\"United Kingdom\") ## zooming out # geo.zoomout() # needs clicking on device geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## defining the subset of visible points x <- worldgraph.10k[isInArea(worldgraph.10k)] plot(x, reset = TRUE, edges = TRUE) title(\"One subsetted object.\") if (FALSE) { ## interactive zooming geo.zoomin() }"},{"path":"/reference/zoom.html","id":null,"dir":"Reference","previous_headings":"","what":"Navigate in the plot of a gGraph object — zoom","title":"Navigate in the plot of a gGraph object — zoom","text":"functions geo.zoomin, geo.zoomout, geo.slide, geo.back, geo.bookmark geo.goto used navigate interactively plot gGraph object.","code":""},{"path":"/reference/zoom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Navigate in the plot of a gGraph object — zoom","text":"reg list length 2, first component new x (longitude) boundaries (vector length 2), second new y (latitude) boundaries (vector length 2). vec numeric vector length 4 giving new coordinates plotting window, order: xmin, xmax, ymin, ymax. name character string giving name bookmark create (geo.bookmark) get back (geo.goto).","code":""},{"path":"/reference/zoom.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Navigate in the plot of a gGraph object — zoom","text":"geo.zoomin geo.zoomout used zoom . zooming , user delimit opposite corner new plotting area; alternatively, set coordinates can provided. zooming , click screen zoom . geo.slide moves window toward direction indicated clicking screen. geo.back redraws previous plots time screen clicked. geo.bookmark sets bookmark current area. name bookmark left NULL, list currently available bookmarks returned. geo.goto allows user get back bookmarked area. .zoomlog.auxiliary function used update zoom log, providing new sets coordinates. Whenever clicking needed, right-click stop function.","code":""},{"path":[]},{"path":"/reference/zoom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Navigate in the plot of a gGraph object — zoom","text":"","code":"plot(worldgraph.10k, reset = TRUE) ## zooming in x.ini <- c(-100, -60) y.ini <- c(-30, 30) for (i in 0:3) { geo.zoomin(list(x = x.ini + i * 60, y = y.ini)) } if (FALSE) { ## going back geo.back() # you have to click ! ## zooming in interactively geo.zoomin() # you have to click ! ## zooming out geo.zoomout() # you have to click ! ## moving window geo.slide() # you have to click ! }"},{"path":[]},{"path":"/news/index.html","id":"geograph-v10","dir":"Changelog","previous_headings":"","what":"geoGraph v1.0","title":"geoGraph v1.0","text":"First public release full functionality.","code":""}] +[{"path":"/articles/geograph.html","id":"geograph-walking-through-the-geographic-space-using-graphs-","dir":"Articles","previous_headings":"","what":"geoGraph: walking through the geographic space using graphs.","title":"An introduction to geoGraph","text":"document describes geoGraph package R software. geoGraph aims implementing graph approaches geographic data. geoGraph, given geographic area modelled fine regular grid, vertice set spatial coordinates set attributes, can instance habitat descriptors, presence/abundance given species. ‘Travelling’ within geographic area can easily modelled moving connected vertices. cost moving one vertex another can defined according attribute values, allows instance define friction routes based habitat. geoGraph harnesses full power graph algorithms implemented R graph RBGL (R Boost Graph Library) packages. particular, RBGL interface R comprehensive Boost Graph Library C++, provides fast efficient implementations wide range graph algorithms. defined frictions entire geographic area, can easily, instance, find least costs path one location another, find parsimonious way connecting set locations. Interfacing spatial data graphs can complicated task. purpose geoGraph provide tools achieve simplify ‘preliminary’ step. achieved defining new classes objects essentially geo-referenced graphs node attributes (gGraph objects), interfaced spatial data (gData objects). vignette, show install geoGraph, construct handle gGraph/gData objects, illustrate basic features graph algorithms.","code":""},{"path":[]},{"path":"/articles/geograph.html","id":"installing-the-package","dir":"Articles","previous_headings":"First steps","what":"Installing the package","title":"An introduction to geoGraph","text":"following instructions entered new R session avoid errors due installing attached packages. devtools also needed install geoGraph: , install geoGraph, simply type: installed, package can loaded using: error regarding missing packages, may need install manually packages graph RBGL Bioconductor: attempt reinstall geoGraph GitHub.","code":"install.packages(\"devtools\") library(devtools) install_github(\"thibautjombart/geoGraph\") library(\"geoGraph\") install.packages(\"BiocManager\") BiocManager::install(c(\"graph\", \"RBGL\"))"},{"path":"/articles/geograph.html","id":"data-representation","dir":"Articles","previous_headings":"First steps","what":"Data representation","title":"An introduction to geoGraph","text":"Data representation refers way given type data handled computer program. Two types objects used geoGraph: gGraph, gData objects. objects defined formal (S4) classes often methods similar generic function (e.g. getNodes defined objects). Essentially, gGraph objects contain underlying layers informations, including spatial grid possibly node attributes, covering area interest. gData sets locations (like sampled sites, instance) interfaced gGraph object, allow manipulations finding paths grid pairs locations.","code":""},{"path":"/articles/geograph.html","id":"ggraph-objects","dir":"Articles","previous_headings":"First steps > Data representation","what":"gGraph objects","title":"An introduction to geoGraph","text":"definition formal class gGraph can obtained using: new empty object can obtained using constructor: documentation ?gGraph explains basics object’s content. nutshell, objects spatial grids nodes segments connecting neighbouring nodes, additional informations nodes graph . coords matrix longitudes latitudes nodes. nodes.attr data.frame storing attributes nodes, habitat descriptors; row corresponds node grid, column corresponds variable. meta list containing miscellanous informations graph . contraint applying components list, typical components $costs $colors recognised certain functions. instance, can specify plotting rules representing given node attribute given color defining component $colors. Similarly, can associate costs given node attribute defining component $costs. example can found already existing gGraph objects. instance, worldgraph.10k graph world approximately 10,000 nodes, -land connectivity (\\textit{.e.travelling seas). ```{r } worldgraph.10k worldgraph.10k@meta ``` Lastly, thegraphcomponent agraphNEL` object, standard class graphs graph RBGL packages. object contains information connections nodes, weights (costs) connections. Four main gGraph provided geoGraph: rawgraph.10k, rawgraph.40k, worldgraph.10k, worldgraph.40k. datasets available using command data. grid used datasets best geometric approximation regular grid surface sphere. One advantage working grids use projection geographic coordinates, usual issue regular GIS. difference rawgraphs worldgraphs first entirely connected, second connections occur land. Numbers 10k' and40k’ indicate grids consist roughly 10,000 40,000 nodes. illustrative purposes, often use 10k grids, since less heavy handle. large-scale applications, 40k versions provide sufficient resolution. New gGraph can constructed using constructor (new(...)), topic documented vignette.","code":"getClass(\"gGraph\") ## Class \"gGraph\" [package \"geoGraph\"] ## ## Slots: ## ## Name: coords nodes.attr meta graph ## Class: matrix data.frame list graphNEL new(\"gGraph\") ## ## === gGraph object === ## ## @coords: spatial coordinates of 0 nodes ## lon lat ## ## @nodes.attr: 0 nodes attributes ## data frame with 0 columns and 0 rows ## ## @meta: list of meta information with 0 items ## ## @graph: ## A graphNEL graph with undirected edges ## Number of Nodes = 0 ## Number of Edges = 0"},{"path":"/articles/geograph.html","id":"gdata-objects","dir":"Articles","previous_headings":"First steps > Data representation","what":"gData objects","title":"An introduction to geoGraph","text":"gData essentially sets locations interfaced gGraph object. operation, location assigned closest node grid gGraph, allowing travelling locations using grid. , instance possible find shortest path two locations various types habitats. Like gGraph, content formal class gData can obtained using: new empty object can obtained using constructor: , description content objects can found documentation (?gData). coords matrix xy (longitude/latitude) coordinates row location. nodes.id vector characters giving name vertices matching locations; defined automatically creating new gData, using function closestNode. data slot storing data associated locations; can type object, data.frame cover requirements storing data. Note object subsettable (.e. [ operator defined), data can subsetted subsetting gData object. Lastly, slot gGraph.name contains name gGraph object gData interfaced. Contrary gGraph objects, gData objects frequently constructed user. next sections, illustrate can build use gData objects set locations.","code":"getClass(\"gData\") ## Class \"gData\" [package \"geoGraph\"] ## ## Slots: ## ## Name: coords nodes.id data gGraph.name ## Class: matrix character ANY character new(\"gData\") ## ## === gData object === ## ## @coords: spatial coordinates of 0 nodes ## lon lat ## ## @nodes.id: nodes identifiers ## character(0) ## ## @data: data ## NULL ## ## Associated gGraph:"},{"path":"/articles/geograph.html","id":"using-geograph","dir":"Articles","previous_headings":"","what":"Using geoGraph","title":"An introduction to geoGraph","text":"overview material implemented package summarized package’s manpage, accessible via: html version manpage may preferred browse easily content geoGraph; accessible typing: revert help back text mode, simply type: following, go various tasks can achieve using geoGraph.","code":"?geoGraph help(\"geoGraph\", package = \"geoGraph\", html = TRUE) options(htmlhelp = FALSE)"},{"path":"/articles/geograph.html","id":"importing-geographic-data","dir":"Articles","previous_headings":"Using geoGraph","what":"Importing geographic data","title":"An introduction to geoGraph","text":"GeoGraphic data consist set locations, possibly accompanied additional information. instance, one may want study migrations amongst set biological populations known geographic coordinates. geoGraph, geographic data stored gData objects. objects match locations closest nodes grid (gGraph object), store additional data needed. toy example, let us consider four locations: Bordeaux (France), London (UK), Malaga (Spain), Zagreb (Croatia). Since working crude grid (10,000 nodes), locations need exact. enter longitudes latitudes (order, , xy coordinates) cities decimal degrees, well approximate population sizes: load gGraph object contains grid support data: (use worldgraph.40k better resolution). figure, node represented color depending habitat type, either ‘sea’ (blue) ‘land’ (green). going interface cities data grid; , create gData object using new (see ?gData object): figure illustrates matching original locations (black crosses) nodes grid (red circles). can see, issue occured Bordeaux, assigned node sea (blue). Locations can re-assigned nodes restrictions node attribute values using closestNode; instance, constrain matching nodes habitat value (defined node attribute worldgraph.10k) equalling land (green points): Now, cities assigned land' node grid (, better accuracy gained 40k finer grids - use 10k illustrative purposes ). Content ofcitiescan accessed via various accessors (see?gData`). instance, can retrieve original locations, assigned nodes, stored data using: can also get coordinates matching nodes (, red circle previous figure) using: interestingly, can now retrieve geographic information contained underlying grid (, gGraph object) node attributes: example, information stored worldgraph.10k rather crude: habitat distinguishes land sea. However, complex habitat information incorporated, instance GIS shapefiles (see dedicated section ).","code":"Bordeaux <- c(-1, 45) London <- c(0, 51) Malaga <- c(-4, 37) Zagreb <- c(16, 46) cities.dat <- rbind.data.frame(Bordeaux, London, Malaga, Zagreb) colnames(cities.dat) <- c(\"lon\", \"lat\") cities.dat$pop <- c(1e6, 13e6, 5e5, 1.2e6) row.names(cities.dat) <- c(\"Bordeaux\", \"London\", \"Malaga\", \"Zagreb\") cities.dat ## lon lat pop ## Bordeaux -1 45 1.0e+06 ## London 0 51 1.3e+07 ## Malaga -4 37 5.0e+05 ## Zagreb 16 46 1.2e+06 worldgraph.10k ## ## === gGraph object === ## ## @coords: spatial coordinates of 10242 nodes ## lon lat ## 1 -180.00 90.00 ## 2 144.00 -90.00 ## 3 -33.78 27.19 ## ... ## ## @nodes.attr: 1 nodes attributes ## habitat ## 1 sea ## 2 sea ## 3 sea ## ... ## ## @meta: list of meta information with 2 items ## [1] \"$colors\" \"$costs\" ## ## @graph: ## A graphNEL graph with undirected edges ## Number of Nodes = 10242 ## Number of Edges = 6954 plot(worldgraph.10k) cities <- new(\"gData\", coords = cities.dat[, 1:2], data = cities.dat[, 3, drop = FALSE], gGraph.name = \"worldgraph.10k\") cities ## ## === gData object === ## ## @coords: spatial coordinates of 4 nodes ## lon lat ## 1 -1 45 ## 2 0 51 ## 3 -4 37 ## ... ## ## @nodes.id: nodes identifiers ## 1 2 3 ## \"5774\" \"6413\" \"4815\" ## ... ## ## @data: 4 data ## pop ## Bordeaux 1.0e+06 ## London 1.3e+07 ## Malaga 5.0e+05 ## ... ## ## Associated gGraph: worldgraph.10k plot(cities, type = \"both\", reset = TRUE) plotEdges(worldgraph.10k) cities <- closestNode(cities, attr.name = \"habitat\", attr.value = \"land\") plot(cities, type = \"both\", reset = TRUE) plotEdges(worldgraph.10k) getCoords(cities) ## lon lat ## 5775 -1 45 ## 6413 0 51 ## 4815 -4 37 ## 7699 16 46 getNodes(cities) ## 5774 6413 4815 7699 ## \"5775\" \"6413\" \"4815\" \"7699\" getData(cities) ## pop ## Bordeaux 1.0e+06 ## London 1.3e+07 ## Malaga 5.0e+05 ## Zagreb 1.2e+06 getCoords(cities, original = FALSE) ## lon lat ## 5775 1.002e-05 43.73 ## 6413 1.002e-05 51.38 ## 4815 -3.788e+00 37.75 ## 7699 1.548e+01 46.74 getNodesAttr(cities) ## habitat ## 5775 land ## 6413 land ## 4815 land ## 7699 land"},{"path":"/articles/geograph.html","id":"visualizing-data","dir":"Articles","previous_headings":"Using geoGraph","what":"Visualizing data","title":"An introduction to geoGraph","text":"essential aspect spatial analysis lies visualizing data. geoGraph, spatial grids (gGraph) spatial data (gData) can plotted browsed using variety functions.","code":""},{"path":"/articles/geograph.html","id":"plotting-ggraph-objects","dir":"Articles","previous_headings":"Using geoGraph > Visualizing data","what":"Plotting gGraph objects","title":"An introduction to geoGraph","text":"Displaying gGraph object done plot points functions. first opens new plotting region, second draws current plotting region; functions otherwise similar arguments (see ?plot.gGraph). default, plotting gGraph displays grid nodes overlaying shapefile (default, landmasses). Edges can plotted time (argument edges), added afterwards using plotEdges. gGraph object possesses adequately formed meta$colors component, colors nodes chosen according node attributes color scheme specified meta$colors. Alternatively, color nodes can specified via col argument plot/points. example using worldgraph.10k: may worth noting plotting gGraph objects involves plotting fairly large number points edges. graphical devices, resulting plotting can slow. instance, one may want disable cairo linux: graphical device yields better graphics Xlib, expense increase computational time. switch Xlib, type: revert cairo, type:","code":"worldgraph.10k@meta$colors ## habitat color ## 1 sea blue ## 2 land green ## 3 mountain brown ## 4 landbridge light green ## 5 oceanic crossing light blue ## 6 deselected land lightgray head(getNodesAttr(worldgraph.10k)) ## habitat ## 1 sea ## 2 sea ## 3 sea ## 4 sea ## 5 sea ## 6 sea table(getNodesAttr(worldgraph.10k)) ## habitat ## deselected land land sea ## 290 2632 7320 plot(worldgraph.10k, reset = TRUE) title(\"Default plotting of worldgraph.10k\") X11.options(type = \"Xlib\") X11.options(type = \"cairo\")"},{"path":"/articles/geograph.html","id":"zooming-in-and-out-sliding-etc-","dir":"Articles","previous_headings":"Using geoGraph > Visualizing data","what":"Zooming in and out, sliding, etc.","title":"An introduction to geoGraph","text":"practice, often useful able peer specific regions, generally navigate inside graphical representation data. , can use interactive functions geo.zoomin, geo.zoomout, geo.slide, geo.back, geo.bookmark, geo.goto. zoom slide functions require left-click graphics zoom , zoom , slide adjacent areas; cases, right click ends function. Also note geo.zoomin can accept argument specifying rectangular region, adapted function fit best square area similar position centre, zoom area (see ?geo.zoomin). geo.bookmark geo.goto respectively set go bookmark, .e. tagged area. useful one switch distant areas repeatedly. examples based previous plotting worldgraph.10k: Zooming : Zooming : Sliding east: One important thing makes plotting gGraph objects different plotting R geoGraph keeps changes made plotting area memory. allows undo one several moves using geo.back. Moreover, even graphical device killed, plotting gGraph use old parameters default. disable behavior, set argument reset=TRUE calling upon plot. Technically, ‘plotting memory’ implemented storing plotting information environment defined hidden environment geoGraph:::.geoGraphEnv: can inspect individual variables within environment: However, recommended modify objects directly, unless really know . case, plotting gGraph object argument reset=TRUE remove previous plotting history undo possible wrong manipulations.","code":"geo.zoomin() geo.zoomout() geo.slide() ls(env = geoGraph:::.geoGraphEnv) ## [1] \"bookmarks\" \"last.plot\" \"last.plot.param\" \"last.points\" ## [5] \"psize\" \"sticky.points\" \"usr\" \"zoom.log\" get(\"last.plot.param\", envir = geoGraph:::.geoGraphEnv) ## $psize ## [1] 0.5 ## ## $pch ## [1] 19"},{"path":"/articles/geograph.html","id":"plotting-gdata-objects","dir":"Articles","previous_headings":"Using geoGraph > Visualizing data","what":"Plotting gData objects","title":"An introduction to geoGraph","text":"gData objects default plotted overlaying corresponding gGraph. instance, using cities example : Note argument reset=TRUE, tells plotting function adapt plotting area geographic extent dataset. plot additional information, can useful extract spatial coordinates data. achieved getCoords. method takes extra argument original, TRUE original spatial coordinates seeked, FALSE coordinates nodes grid. can use represent, instance, population sizes different cities:","code":"plot(cities, reset = TRUE) text(getCoords(cities), rownames(getData(cities))) transp <- function(col, alpha = .5) { res <- apply(col2rgb(col), 2, function(c) rgb(c[1] / 255, c[2] / 255, c[3] / 255, alpha)) return(res) } plot(cities, reset = TRUE) par(xpd = TRUE) text(getCoords(cities) + -.5, rownames(getData(cities))) symbols(getCoords(cities)[, 1], getCoords(cities)[, 2], circ = sqrt(unlist(getData(cities))), inch = .2, bg = transp(\"red\"), add = TRUE)"},{"path":"/articles/geograph.html","id":"editing-ggraphs","dir":"Articles","previous_headings":"Using geoGraph","what":"Editing gGraphs","title":"An introduction to geoGraph","text":"Editing graphs essential task geoGraph. available gGraph objects provide basis work (see ?worldgraph.10k), one may want adapt graph specific case. instance, connectivity defined according biological knowledge organism study. gGraph can modified different ways: changing connectivity, costs edges, attribute values.","code":""},{"path":"/articles/geograph.html","id":"changing-the-global-connectivity-of-a-ggraph","dir":"Articles","previous_headings":"Using geoGraph > Editing gGraphs","what":"Changing the global connectivity of a gGraph","title":"An introduction to geoGraph","text":"two main ways changing connectivity gGraph, match two different objectives. first approach perform global systematic changes connectivity graph. Typically, one want remove connections given type landscape, uncrossable organism study. Let’s assume interested saltwater fishes. model fish dispersal, define graph connects nodes overlaying sea. load gGraph object rawgraph.10k, zoom smaller area (Madagascar) illustrate changes connectivity: shall set bookmark area, case want get back place later : now want remove sea-sea connections. , easiest approach ) define costs edges based habitat, land given large costs ii) remove edges large costs. Costs given node attribute (, habitat') indicated themeta$costs` slot: just changed costs associated habitat type, change yet effective edges nodes. use setCosts set cost edge average costs nodes: new graph, represent edges width inversely proportional associated cost; , bold lines easy travelling light edges/dotted lines costly mouvement. enough yet, since travelling land still possible. However, can tell geoGraph remove edges associated strong cost, defined given threshold (using dropDeadEdges). , sea-sea connections shall retained, , edges cost 1. : newGraph contains connections sea. Note , although restrained plotting area Madagascar, change effective everywhere. instance, travelling nort-west Australian coasts:","code":"geo.zoomin(c(35, 54, -26, -10)) plotEdges(rawgraph.10k) geo.bookmark(\"madagascar\") ## ## Bookmark ' madagascar 'saved. rawgraph.10k@meta$costs ## habitat cost ## 1 sea 100 ## 2 land 1 ## 3 mountain 10 ## 4 landbridge 5 ## 5 oceanic crossing 20 ## 6 deselected land 100 newGraph <- rawgraph.10k newGraph@meta$costs[2:6, 2] <- 100 newGraph@meta$costs[1, 2] <- 1 newGraph@meta$costs ## habitat cost ## 1 sea 1 ## 2 land 100 ## 3 mountain 100 ## 4 landbridge 100 ## 5 oceanic crossing 100 ## 6 deselected land 100 newGraph <- setCosts(newGraph, attr.name = \"habitat\") plot(newGraph, edge = TRUE) newGraph <- dropDeadEdges(newGraph, thres = 1.1) plot(newGraph, edge = TRUE) geo.zoomin(c(110, 130, -27, -12)) geo.bookmark(\"australia\") ## ## Bookmark ' australia 'saved."},{"path":"/articles/geograph.html","id":"changing-local-properties-of-a-ggraph","dir":"Articles","previous_headings":"Using geoGraph > Editing gGraphs","what":"Changing local properties of a gGraph","title":"An introduction to geoGraph","text":"second approach changing gGraph refine graph hand, adding removing locally connections, altering attributes nodes. can necessary connect components islands main landmasses, correct erroneous data. Adding removing edges grid gGraph can achieved geo.add.edges geo.remove.edges, respectively. functions interactive, require user select individual nodes rectangular area edges added removed. See ?geo.add.edges information functions. instance, can remove odd connections previous graph, near Australian coasts (note save changes using <-): img adding connections within area entire graph, node addition based another gGraph,.e. connections existing another gGraph serving reference can added current gGraph. graphs based 10k 40k grids, raw graphs provided geoGraph used, (rawgraph.10k, rawgraph.40k), since fully connected. addition changing grid connectivity, may also want modify attributes specific nodes. done interactively, using function geo.change.attr. instance, , define new value shalowwater (plotted light blue) attribute habitat, selecting affected nodes using ‘area’ mode first, refining changes using ‘point’ mode: , note changes made graph save object (using <-) effective.","code":"geo.goto(\"australia\") newGraph <- geo.remove.edges(newGraph) plot(newGraph, edge = TRUE) temp <- geo.change.attr(newGraph, mode = \"area\", attr.name = \"habitat\", attr.value = \"shallowwater\", newCol = \"deepskyblue\") temp <- geo.change.attr(temp, attr.name = \"habitat\", attr.value = \"shallowwater\", newCol = \"deepskyblue\") newGraph <- temp newGraph@meta$colors ## habitat color ## 1 sea blue ## 2 land green ## 3 mountain brown ## 4 landbridge light green ## 5 oceanic crossing light blue ## 6 deselected land lightgray ## 7 shallowwater deepskyblue plot(newGraph, edge = TRUE)"},{"path":"/articles/geograph.html","id":"extracting-information-from-gis-shapefiles","dir":"Articles","previous_headings":"Using geoGraph","what":"Extracting information from GIS shapefiles","title":"An introduction to geoGraph","text":"important feature geoGraph serving interface geographic information system (GIS) layers geographic data. currently implemented, geoGraph can extract information shapefiles Arc GIS (http://www.esri.com/software/arcgis/index.html) format, using function extractFromLayer. , illustrate procedure using shapefile world-countries.shp provided package. geoGraph still relies SpatialPolygonDataFrame objects sp package. move sf objects planned, moment use sf::st_read() read GIS shapefile sf object, cast SpatialPolygonDataFrame sf::as_Spatial(): summary world.countries shows data (attributes) stored layer. Let us assume interested retrieving continent country information worldgraph.10k object. Note extractFromLayer can extract information types objects gGraph (see ?extractFromLayer) new object newGraph gGraph now includes, node grid, corresponding continent country retrieved GIS layer. can use newly acquired information plotting newGraph, defining new color rules: information turn used define costs travelling grid. instance, one import habitat descriptors GIS, use values formulate habitat model, derive costs dispersal grid. soon GIS layer extracted gGraph, information becomes also available gData interfaced object. instance, can re-use cities example defined previous section, interface newGraph retrieve continent country information cities dataset:","code":"library(sf) ## Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is TRUE world.countries <- sf::st_read(system.file(\"files/shapefiles/world-countries.shp\", package = \"geoGraph\")) ## Reading layer `world-countries' from data source ## `/home/runner/work/_temp/Library/geoGraph/files/shapefiles/world-countries.shp' ## using driver `ESRI Shapefile' ## Simple feature collection with 239 features and 8 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: -180 ymin: -89.9 xmax: 181.8 ymax: 84.93 ## CRS: NA world.countries <- sf::as_Spatial(world.countries) class(world.countries) ## [1] \"SpatialPolygonsDataFrame\" ## attr(,\"package\") ## [1] \"sp\" summary(world.countries) ## Length Class Mode ## 239 SpatialPolygonsDataFrame S4 summary(getNodesAttr(worldgraph.10k)) ## habitat ## deselected land: 290 ## land :2632 ## sea :7320 newGraph <- extractFromLayer(worldgraph.10k, layer = world.countries, attr = c(\"CONTINENT\", \"NAME\")) summary(getNodesAttr(newGraph)) ## habitat CONTINENT NAME ## deselected land: 290 Length:10242 Length:10242 ## land :2632 Class :character Class :character ## sea :7320 Mode :character Mode :character temp <- unique(getNodesAttr(newGraph)$\"NAME\") col <- c(\"transparent\", rainbow(length(temp) - 1)) colMat <- data.frame(NAME = temp, color = col) head(colMat) ## NAME color ## 1 transparent ## 2 Antartica #FF0000 ## 3 Saudi Arabia #FF0B00 ## 4 Yemen #FF1500 ## 5 Somalia #FF2000 ## 6 China #FF2B00 tail(colMat) ## NAME color ## 140 Latvia #FF0040 ## 141 Belarus #FF0035 ## 142 Eritrea #FF002A ## 143 Djibouti #FF0020 ## 144 East Timor #FF0015 ## 145 Jordan #FF000B plot(newGraph, col.rules = colMat, reset = TRUE) cities.dat ## lon lat pop ## Bordeaux -1 45 1.0e+06 ## London 0 51 1.3e+07 ## Malaga -4 37 5.0e+05 ## Zagreb 16 46 1.2e+06 cities <- new(\"gData\", coords = cities.dat[, 1:2], data = cities.dat[, 3, drop = FALSE], gGraph.name = \"newGraph\") cities <- closestNode(cities, attr.name = \"habitat\", attr.value = \"land\") getData(cities) ## pop ## Bordeaux 1.0e+06 ## London 1.3e+07 ## Malaga 5.0e+05 ## Zagreb 1.2e+06 getNodesAttr(cities) ## habitat CONTINENT NAME ## 5775 land Europe France, Metropolitan ## 6413 land Europe United Kingdom ## 4815 land Europe Spain ## 7699 land Europe Austria"},{"path":"/articles/geograph.html","id":"finding-least-cost-paths","dir":"Articles","previous_headings":"Using geoGraph","what":"Finding least-cost paths","title":"An introduction to geoGraph","text":"One useful applications geoGraph research least-cost paths couples locations. can achieved using functions dijkstraFrom dijkstraBetween gData object contains locations interest. functions return least-cost paths format gPath. dijkstraFrom compute paths given node grid locations gData, dijkstraBetween computes paths pairs locations gData. , detail example documentation functions, uses famous dataset native Human populations, HGDP: Populations dataset shown red circles, underlying grid (worldgraph.40k) represented colors depending habitat (blue: sea; green: land; pink: coasts). Population genetics predicts genetic diversity within populations decay populations located away geographic origin species. , verify relationship theoretical origin Addis abeba, Ethiopia. shall seek paths landmasses HGDP populations. First, check populations connected grid using isConnected: Note practice, may often want assess graphically connectivity underlying grid, especially locations gData connected. can done using connectivityPlot, methods gGraph gData, represents different connected components using different colors. instance, worldgraph.10k: Since locations hgdp connected, can proceed . set costs edges gGraph grid. , can choose ) strictly uniform costs (using dropCosts) ii) distance-based costs – roughly uniform – (using setDistCosts) iii) attribute-driven costs (using setCosts). shall first illustrate strictly uniform costs. setting gGraph uniform costs, use dijkstraFrom find shortest paths Addis abeba populations hgdp: object paths contains identified paths, stored list class gPath (see ?gPath). Paths can plotted easily: graph, path plotted different color, several paths overlap several places. can extract distances origin' usinggPath2dist, examine relationship genetic diversity within populations (stored inhgdp`) distance origin: Alternatively, can use costs based habitat. toy example, consider coasts four times favourable dispersal rest landmasses. define new costs, compute plot corresponding shortest paths: new paths slightly different previous ones. can examine new relationship genetic distance: course, distinction coasts inner landmasses somewhat poor description habitat. practice, complex habitat models can used simply.","code":"hgdp ## ## === gData object === ## ## @coords: spatial coordinates of 52 nodes ## lon lat ## 1 -3 59 ## 2 39 44 ## 3 40 61 ## ... ## ## @nodes.id: nodes identifiers ## 28179 11012 22532 ## \"26898\" \"11652\" \"22532\" ## ... ## ## @data: 52 data ## Population Region Label n Latitude Longitude Genetic.Div ## 1 Orcadian EUROPE 1 15 59 -3 0.7259 ## 2 Adygei EUROPE 2 17 44 39 0.7298 ## 3 Russian EUROPE 3 25 61 40 0.7320 ## ... ## ## Associated gGraph: worldgraph.40k plot(hgdp, reset = TRUE) isConnected(hgdp) ## [1] TRUE connectivityPlot(worldgraph.10k, edges = TRUE, seed = 1) geo.zoomin(c(90, 150, 18, -25)) title(\"Different connected components\\n in worldgraph.10k\") myGraph <- dropCosts(worldgraph.40k) hgdp@gGraph.name <- \"myGraph\" addis <- cbind(38, 9) ori <- closestNode(myGraph, addis) paths <- dijkstraFrom(hgdp, ori) ## Loading required package: RBGL addis <- as.vector(addis) plot(myGraph, col = NA, reset = TRUE) plot(paths) points(addis[1], addis[2], pch = \"x\", cex = 2) text(addis[1] + 35, addis[2], \"Addis abeba\", cex = .8, font = 2) points(hgdp, col.node = \"black\") div <- getData(hgdp)$\"Genetic.Div\" dgeo.unif <- gPath2dist(paths, res.type = \"vector\") plot(div ~ dgeo.unif, xlab = \"GeoGraphic distance (arbitrary units)\", ylab = \"Genetic diversity\") lm.unif <- lm(div ~ dgeo.unif) abline(lm.unif, col = \"red\") summary(lm.unif) ## ## Call: ## lm(formula = div ~ dgeo.unif) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.07327 -0.00660 0.00074 0.01015 0.05449 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 7.70e-01 4.58e-03 168.2 <2e-16 *** ## dgeo.unif -8.39e-04 5.31e-05 -15.8 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.0185 on 50 degrees of freedom ## Multiple R-squared: 0.833, Adjusted R-squared: 0.83 ## F-statistic: 250 on 1 and 50 DF, p-value: <2e-16 title(\"Genetic diversity vs geographic distance \\n uniform costs \") myGraph@meta$costs[7, ] <- c(\"coast\", 0.25) myGraph@meta$costs ## habitat cost ## 1 sea 100 ## 2 land 1 ## 3 mountain 10 ## 4 landbridge 5 ## 5 oceanic crossing 20 ## 6 deselected land 100 ## 7 coast 0.25 myGraph <- setCosts(myGraph, attr.name = \"habitat\") paths.2 <- dijkstraFrom(hgdp, ori) plot(newGraph, col = NA, reset = TRUE) plot(paths.2) points(addis[1], addis[2], pch = \"x\", cex = 2) text(addis[1] + 35, addis[2], \"Addis abeba\", cex = .8, font = 2) points(hgdp, col.node = \"black\") dgeo.hab <- gPath2dist(paths.2, res.type = \"vector\") plot(div ~ dgeo.hab, xlab = \"GeoGraphic distance (arbitrary units)\", ylab = \"Genetic diversity\") lm.hab <- lm(div ~ dgeo.hab) abline(lm.hab, col = \"red\") summary(lm.hab) ## ## Call: ## lm(formula = div ~ dgeo.hab) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.11183 -0.00976 0.00133 0.01216 0.06413 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 0.770137 0.007174 107.36 < 2e-16 *** ## dgeo.hab -0.001421 0.000145 -9.79 3.2e-13 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.0265 on 50 degrees of freedom ## Multiple R-squared: 0.657, Adjusted R-squared: 0.651 ## F-statistic: 95.9 on 1 and 50 DF, p-value: 3.21e-13 title(\"Genetic diversity vs geographic distance \\n habitat costs \")"},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Andrea Manica. Maintainer.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"c, person)) (2023). geoGraph: Walking geographic space using graphs. R package version 1.1.1.9001.","code":"@Manual{, title = {geoGraph: Walking through the geographic space using graphs}, author = {{c} and {person))}}, year = {2023}, note = {R package version 1.1.1.9001}, }"},{"path":"/index.html","id":"geograph","dir":"","previous_headings":"","what":"Walking through the geographic space using graphs","title":"Walking through the geographic space using graphs","text":"geoGraph aims implementing graph approaches geographic data. geoGraph, given geographic area modelled fine regular grid, vertice set spatial coordinates set attributes, can instance habitat descriptors, presence/abundance given species. ‘Travelling’ within geographic area can easily modelled moving connected vertices. cost moving one vertex another can defined according attribute values, allows instance define friction routes based habitat. geoGraph harnesses full power graph algorithms implemented R graph RBGL (R Boost Graph Library) packages. particular, RBGL interface R comprehensive Boost Graph Library C++, provides fast efficient implementations wide range graph algorithms. defined frictions entire geographic area, can easily, instance, find least costs path one location another, find parsimonious way connecting set locations. Interfacing spatial data graphs can complicated task. purpose geoGraph provide tools achieve simplify ‘preliminary’ step. achieved defining new classes objects essentially geo-referenced graphs node attributes (gGraph objects), interfaced spatial data (gData objects).","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Walking through the geographic space using graphs","text":"can install development version geoGraph GitHub :","code":"install.packages(\"devtools\") devtools::install_github(\"thibautjombart/geoGraph\")"},{"path":"/index.html","id":"how-the-package-works","dir":"","previous_headings":"","what":"How the package works","title":"Walking through the geographic space using graphs","text":"detailed introduction functionalities geoGraph found overview article website.","code":""},{"path":"/reference/auxiliary.html","id":null,"dir":"Reference","previous_headings":"","what":"Auxiliary methods for geoGraph — auxiliary","title":"Auxiliary methods for geoGraph — auxiliary","text":"methods low-level functions called procedures geoGraph. can, however, useful . Note unlike functions geoGraph, functions generally test validity provided arguments (speed purposes).","code":""},{"path":"/reference/auxiliary.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Auxiliary methods for geoGraph — auxiliary","text":"","code":"hasCosts(x) geo.segments( x0, y0, x1, y1, col = graphics::par(\"fg\"), lty = graphics::par(\"lty\"), lwd = graphics::par(\"lwd\"), ... )"},{"path":"/reference/auxiliary.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Auxiliary methods for geoGraph — auxiliary","text":"x valid gGraph. x0, y0 coordinates points draw. x1, y1 coordinates points draw. col character string integer indicating color segments. lty character string integer indicating type line. lwd integer indicating line width. ... graphical parameters ('par') passed segments function.","code":""},{"path":"/reference/auxiliary.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Auxiliary methods for geoGraph — auxiliary","text":"hasCost, logical value returned. geo.segments returns NULL.","code":""},{"path":"/reference/auxiliary.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Auxiliary methods for geoGraph — auxiliary","text":"hasCosts: tests whether gGraph costs associated edges. geo.segments: substitute segments correctly draws segments locations distant 90 degrees longitude. rebuild: development.","code":""},{"path":"/reference/auxiliary.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Auxiliary methods for geoGraph — auxiliary","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/auxiliary.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Auxiliary methods for geoGraph — auxiliary","text":"","code":"hasCosts(worldgraph.10k) #> [1] FALSE"},{"path":"/reference/buffer.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute buffers around locations for gGraph and gData objects — buffer","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"generic function buffer finds buffers around specified locations gGraph gData object. Different format output available.","code":""},{"path":"/reference/buffer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"","code":"# S4 method for gGraph buffer(x, nodes, d, res.type = c(\"nodes\", \"gGraph\"), ...) # S4 method for gData buffer(x, d, res.type = c(\"nodes\", \"gData\", \"gGraph\"), ...)"},{"path":"/reference/buffer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"x valid gGraph gData object. nodes character vector identifying nodes aournd buffers computed. d radius buffer, km. res.type type result returned (see section value. ... arguments passed specific methods.","code":""},{"path":"/reference/buffer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"output depends value argument res.type: nodes: vector characters identifying nodes buffers. gGraph: gGraph object new attribute \"buffer\" (TRUE: within buffers; FALSE: outside buffers), new color rules attribute @meta$buf.colors. gData: gData object including nodes buffers.","code":""},{"path":"/reference/buffer.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"computed buffers sets nodes lying within given distance specified locations. nodes buffer need connected location surround.","code":""},{"path":"/reference/buffer.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/buffer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compute buffers around locations for gGraph and gData objects — buffer","text":"","code":"#### gGraph example #### ## zoom in to an area plot(worldgraph.10k, reset = TRUE) geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) ## identify one node oneNodeXY <- c(getCoords(worldgraph.10k)[9299, 1], getCoords(worldgraph.10k)[9299, 2]) points(oneNodeXY[1], oneNodeXY[2], col = \"red\") ## find some buffers buffer(worldgraph.10k, \"9299\", 100) # nothing around 100km #> [1] \"9299\" buffer(worldgraph.10k, \"9299\", 500) #> [1] \"9299\" \"8979\" \"9619\" \"9300\" \"9298\" \"8978\" \"9620\" \"8980\" \"8658\" \"9618\" #> [11] \"9940\" \"9301\" \"9621\" \"9297\" \"8977\" \"8657\" \"9941\" buf500km <- buffer(worldgraph.10k, \"9299\", 500, res = \"gGraph\") plot(buf500km, col.rules = buf500km@meta$buf.colors) buf1000km <- buffer(worldgraph.10k, \"9299\", 1000, res = \"gGraph\") plot(buf1000km, col.rules = buf1000km@meta$buf.colors) #### gData example #### x <- hgdp[27:30] # retain a subset of hgdp plot(x, reset = TRUE, col.g = \"lightgrey\", pch.node = 20) buf.200 <- buffer(x, 200, res = \"gData\") buf.400 <- buffer(x, 400, res = \"gData\") buf.600 <- buffer(x, 600, res = \"gData\") buf.1000 <- buffer(x, 1000, res = \"gData\") points(buf.1000, col.node = \"black\") points(buf.600, col.node = \"yellow\") points(buf.400, col.node = \"gold\") points(buf.200, col.node = \"orange\") title(\"Different buffers for a gData \\n(100km, 200km, 500km)\")"},{"path":"/reference/closestNode.html","id":null,"dir":"Reference","previous_headings":"","what":"Find the closest node to a given location — closestNode","title":"Find the closest node to a given location — closestNode","text":"function closestNode searches closest node gGraph gData object given location. possible restrain research given values node attribute. instance, one can search closest node land given location.","code":""},{"path":"/reference/closestNode.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find the closest node to a given location — closestNode","text":"","code":"closestNode(x, ...) # S4 method for gGraph closestNode(x, loc, zoneSize = 5, attr.name = NULL, attr.values = NULL) # S4 method for gData closestNode(x, zoneSize = 5, attr.name = NULL, attr.values = NULL)"},{"path":"/reference/closestNode.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find the closest node to a given location — closestNode","text":"x valid gGraph gData object. latter case, gGraph gData linked current environment. ... arguments passed specific methods. loc locations, specified list two components indicating longitude latitude locations. Alternatively, can data.frame matrix longitude latitude columns, order. Note locator() can used specify interactively locations. zoneSize numeric value indicating size zone (latitude/longitude units) closest node searched . Note matters speed purpose: closest node found inside given zone, zone expanded nodes found. attr.name optional name node attribute. See details. attr.values optional vector giving values attr.names. See details.","code":""},{"path":"/reference/closestNode.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find the closest node to a given location — closestNode","text":"x gGraph object: vector node names. x gData object: gData object matching nodes stored @nodes.id slot. Note previous content @nodes.id erased.","code":""},{"path":"/reference/closestNode.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find the closest node to a given location — closestNode","text":"function also used match locations gData object nodes gGraph object linked. creating gData object, gGraph.name argument provided, locations matched gGraph object automatically, internal call closestNode. Note, however, possible specify node attributes (attr.names attr.values) way.","code":""},{"path":"/reference/closestNode.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Find the closest node to a given location — closestNode","text":"closestNode(gGraph): Method gGraph closestNode(gData): Method gData","code":""},{"path":[]},{"path":"/reference/closestNode.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Find the closest node to a given location — closestNode","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/closestNode.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Find the closest node to a given location — closestNode","text":"","code":"if (FALSE) { ## interactive example ## plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## click some locations myNodes <- closestNode(worldgraph.10k, locator(), attr.name = \"habitat\", attr.value = \"land\") myNodes ## here are the closestNodes points(getCoords(worldgraph.10k)[myNodes, ], col = \"red\") } ## example with a gData object ## myLoc <- list(x = c(3, -8, 11, 28), y = c(50, 57, 71, 67)) # some locations obj <- new(\"gData\", coords = myLoc) # new gData object obj #> #> === gData object === #> #> @coords: spatial coordinates of 4 nodes #> lon lat #> 1 3 50 #> 2 -8 57 #> 3 11 71 #> ... #> #> @nodes.id: nodes identifiers #> character(0) #> #> @data: data #> NULL #> ... #> #> Associated gGraph: obj@gGraph.name <- \"worldgraph.10k\" # this could be done when creating obj obj <- closestNode(obj, attr.name = \"habitat\", attr.value = \"land\") ## plot the result (original location -> assigned node) plot(obj, method = \"both\", reset = TRUE) #> Warning: \"method\" is not a graphical parameter title(\"'x'=location, 'o'=assigned node\")"},{"path":"/reference/combineCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Combine the costs of two gGraph objects — combineCosts","title":"Combine the costs of two gGraph objects — combineCosts","text":"function combineCosts combines edge costs two gGraph objects. first object used temlate generate objects combined costs. Two two gGraph objects must edges.","code":""},{"path":"/reference/combineCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combine the costs of two gGraph objects — combineCosts","text":"","code":"combineCosts(x1, x2, method = c(\"sum\", \"product\", \"function\"), FUN = NULL, ...)"},{"path":"/reference/combineCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combine the costs of two gGraph objects — combineCosts","text":"x1 firt gGraph (used template build combined gGraph) x2 second gGraph costs combined method character string indicating method used combined edge cost two gGraph. Currently available options 'sum', 'prod' 'function', combined costs computed sum, product custom function (defined FUN) costs nodes. FUN function used compute cost two nodes (needed method=\"function\"). ... additional parameters passed FUN.","code":""},{"path":"/reference/combineCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combine the costs of two gGraph objects — combineCosts","text":"gGraph object newly defined costs, basedd combination two gGraph objects, used weightings edges.","code":""},{"path":"/reference/combineCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Combine the costs of two gGraph objects — combineCosts","text":"Note costs inversely proportional connectivity edges: larger cost associated edge, lower connectivity two concerned nodes. Also note 'costs' defined geoGraph equivalent 'weights' defined graph RBGL packages.","code":""},{"path":"/reference/combineCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combine the costs of two gGraph objects — combineCosts","text":"","code":"data(\"worldgraph.40k\") # new graph with custom cost function exp.cost <- function(x1, x2, cost.coeff) { exp(-abs(x1 - x2) * cost.coeff) } # create a set of node costs worldgraph.40k@nodes.attr$meanProd<-runif(n=40962) new_costs_graph <- setCosts( worldgraph.40k, node.values = worldgraph.40k@nodes.attr$meanProd, method = \"function\", FUN = exp.cost, cost.coeff = 0.5 ) # combine costs from the original graph with the new costs combine_costs_graph<- combineCosts(worldgraph.40k, new_costs_graph, method=\"sum\")"},{"path":"/reference/connectivity.html","id":null,"dir":"Reference","previous_headings":"","what":"Check connectivity of a gGraph object — connectivity","title":"Check connectivity of a gGraph object — connectivity","text":"functions areNeighbours, areConnected method isConnected test connectivity different ways.","code":""},{"path":"/reference/connectivity.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check connectivity of a gGraph object — connectivity","text":"","code":"areNeighbours(V1, V2, graph) areConnected(x, nodes) # S4 method for gData isConnected(object, ...) isReachable(x, loc) connectivityPlot(x, ...) # S4 method for gGraph connectivityPlot(x, ..., seed = NULL) # S4 method for gData connectivityPlot(x, col.gGraph = 0, ..., seed = NULL)"},{"path":"/reference/connectivity.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check connectivity of a gGraph object — connectivity","text":"V1 vector node names V2 vector node names graph valid graphNEL object. x valid gGraph object. nodes vector node names object valid gData object. ... arguments passed methods. loc location, specified list two components giving respectively longitude latitude. Alternatively, can matrix-like object one row two columns. seed optional integer giving seed used randomizing colors. One given seed always give set colors. NULL default, meaning colors randomized time plot drawn. col.gGraph character string number indicating color nodes used plotting gGraph object. Defaults '0', meaning nodes invisible.","code":""},{"path":"/reference/connectivity.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check connectivity of a gGraph object — connectivity","text":"areNeighbours: vector logical, one value couple nodes. areConnected: single logical value, TRUE nodes form connected set. isConnected: single logical value, TRUE nodes object form connected set.","code":""},{"path":"/reference/connectivity.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check connectivity of a gGraph object — connectivity","text":"areNeighbours: tests connectivity couples nodes object inheriting graph class (like graphNEL object). areConnected: tests set nodes form connected set gGraph object. isConnected: tests nodes gData object form connected set. Note method gData, generic defined graph package. isReachable: tests one location (actually, closest node ) reachable set nodes gData object. connectivityPlot: plots connected sets gGraph gData object different colors. connectivityPlot, isolated nodes (.e. belonging connected set size > 1) plotted light grey.","code":""},{"path":"/reference/connectivity.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Check connectivity of a gGraph object — connectivity","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/connectivity.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check connectivity of a gGraph object — connectivity","text":"","code":"connectivityPlot(rawgraph.10k) connectivityPlot(worldgraph.10k)"},{"path":"/reference/dijkstra-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Shortest path using Dijkstra algorithm — dijkstra-methods","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"methods dijkstraFrom dijkstraBetween wrappers procedures implemented RBGL package, designed gGraph gData object.","code":""},{"path":"/reference/dijkstra-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"","code":"dijkstraBetween(x, ...) # S4 method for gGraph dijkstraBetween(x, from, to) # S4 method for gData dijkstraBetween(x) dijkstraFrom(x, ...) # S4 method for gGraph dijkstraFrom(x, start) # S4 method for gData dijkstraFrom(x, start) # S3 method for gPath plot(x, col = \"rainbow\", lwd = 3, ...) gPath2dist(m, diag = FALSE, upper = FALSE, res.type = c(\"dist\", \"vector\"))"},{"path":"/reference/dijkstra-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"x gGraph gData object. plotting method gPath objects, gPath object. ... arguments passed segments method. vector character strings giving node names. vector character strings giving node names. start character string naming 'source' node. col character string indicating color palette colors used plotting edges. lwd numeric value indicating width edges. m gPath object obtained dijkstraBetween. diag, upper unused parameters added consistency .dist. res.type character string indicating type result returned: dist object ('dist'), vector distances ('vector'). Note 'dist' required pairwise data, output dijkstraBetween (opposed dijkstraFrom).","code":""},{"path":"/reference/dijkstra-methods.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"\"gPath\" object. basically outputs RBGL's sp.function (see ?sp.), class attribute set \"gPath\", additional slot 'xy' containing geographic coordinates nodes involved paths.","code":""},{"path":"/reference/dijkstra-methods.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"dijkstraFrom finds minimum costs paths nodes given 'source' node. dijkstraBetween finds minimum costs paths possible pairs nodes given two sets nodes. functions return objects S3 class \"gPath\". objects can plotted using plot.gPath. gPath2dist extracts pairwise distances gPath returned dijkstraBetween returns dist object. Note gPath contain pairwise information, warning issued, resulting output likely meaningless. 'dijkstraBetween', paths seeked possible pairs nodes '' ''.","code":""},{"path":"/reference/dijkstra-methods.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/dijkstra-methods.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Shortest path using Dijkstra algorithm — dijkstra-methods","text":"","code":"if (FALSE) { ## plotting world <- worldgraph.40k par(mar = rep(.1, 4)) plot(world, reset = TRUE) ## check connectivity isConnected(hgdp) # must be ok ## Lowest cost path from an hypothetical origin ori.coord <- list(33, 10) # one given location long/lat points(data.frame(ori.coord), pch = \"x\", col = \"black\", cex = 3) # an 'x' shows the putative origin ori <- closestNode(world, ori.coord) # assign it the closest node myPath <- dijkstraFrom(hgdp, ori) # compute shortest path ## plotting plot(world, pch = \"\") # plot the world points(hgdp, lwd = 3) # plot populations points(data.frame(ori.coord), pch = \"x\", col = \"black\", cex = 3) # add origin plot(myPath) # plot the path }"},{"path":"/reference/dropDeadEdges.html","id":null,"dir":"Reference","previous_headings":"","what":"Get rid of some 'dead' edges or nodes — dropDeadEdges","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"functions dropDeadEdges dropDeadNodes used remove 'dead edges' 'dead nodes'.","code":""},{"path":"/reference/dropDeadEdges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"","code":"dropDeadEdges(x, thres)"},{"path":"/reference/dropDeadEdges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"x valid gGraph. thres numeric value indicating threshold cost edge removed. costs strictly greater thres removed.","code":""},{"path":"/reference/dropDeadEdges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"gGraph object.","code":""},{"path":"/reference/dropDeadEdges.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"Dead edges edges associated prohibitive cost, , edges longer imply connectivity two nodes. Dead nodes nodes connected node, thus role connectivity graph.","code":""},{"path":"/reference/dropDeadEdges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/dropDeadEdges.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get rid of some 'dead' edges or nodes — dropDeadEdges","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) x <- dropDeadNodes(worldgraph.10k) plot(x) }"},{"path":"/reference/extractFromLayer.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieves node attributes from a layer — extractFromLayer","title":"Retrieves node attributes from a layer — extractFromLayer","text":"generic function extractFromLayer uses information GIS shapefile define node attributes. node, information retrieved layer assigned node.","code":""},{"path":"/reference/extractFromLayer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieves node attributes from a layer — extractFromLayer","text":"","code":"extractFromLayer(x, ...) # S4 method for matrix extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for data.frame extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for list extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for gGraph extractFromLayer(x, layer = \"world\", attr = \"all\", ...) # S4 method for gData extractFromLayer(x, layer = \"world\", attr = \"all\", ...)"},{"path":"/reference/extractFromLayer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieves node attributes from a layer — extractFromLayer","text":"x matrix, data.frame, list, valid gGraph, valid gData object. matrix data.frame, input must two columns giving longitudes latitudes locations considered. list, input must two components vectors giving longitudes latitudes locations. ... arguments passed methds. Currently used. layer shapefile class SpatialPolygonsDataFrame (see readShapePoly maptools package import data GIS shapefile). Alternatively, character string indicating one shapefile released geoGraph; currently, 'world' available (see ?data(worldshape)). attr character vector giving names variables extracted layer. '', available variables extracted. case problem, available names displayed error message. Available data also stored layer@data.","code":""},{"path":"/reference/extractFromLayer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieves node attributes from a layer — extractFromLayer","text":"output depends nature input: - matrix, data.frame, list: data.frame one row per location, many columns requested variables ('attributes'). gGraph: gGraph object new node attributes (@nodes.attr slot). nodes attributes already existed, new attributes added new columns. gData: gData object new data associated locations (@data slot). New information merge older information according type data stored.","code":""},{"path":"/reference/extractFromLayer.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Retrieves node attributes from a layer — extractFromLayer","text":"Nodes can specified different ways, including providing gGraph gData object. Outputs match input formats.","code":""},{"path":[]},{"path":"/reference/extractFromLayer.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Retrieves node attributes from a layer — extractFromLayer","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/extractFromLayer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieves node attributes from a layer — extractFromLayer","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) ## see what info is available names(worldshape@data) unique(worldshape@data$CONTINENT) ## retrieve continent info for all nodes ## (might take a few seconds) x <- extractFromLayer(worldgraph.10k, layer = worldshape, attr = \"CONTINENT\") x table(getNodesAttr(x, attr.name = \"CONTINENT\")) ## subset Africa temp <- getNodesAttr(x, attr.name = \"CONTINENT\") == \"Africa\" temp[is.na(temp)] <- FALSE x <- x[temp] plot(x, reset = TRUE) }"},{"path":"/reference/findLand.html","id":null,"dir":"Reference","previous_headings":"","what":"Find which nodes are on land — findLand","title":"Find which nodes are on land — findLand","text":"generic function findLand uses information GIS shapefile define nodes land, . Strickly speaking, 'land' fact inside polygon shapefile.","code":""},{"path":"/reference/findLand.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find which nodes are on land — findLand","text":"","code":"findLand(x, ...) # S4 method for matrix findLand(x, shape = \"world\", ...) # S4 method for data.frame findLand(x, shape = \"world\", ...) # S4 method for gGraph findLand(x, shape = \"world\", attr.name = \"habitat\", ...)"},{"path":"/reference/findLand.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find which nodes are on land — findLand","text":"x matrix, data.frame, valid gGraph object. matrix data.frame, input must two columns giving longitudes latitudes locations considered. ... arguments passed methods. Currently used. shape shapefile class SpatialPolygonsDataFrame (see readShapePoly maptools package import data GIS shapefile). Alternatively, character string indicating one shapefile released geoGraph; currently, 'world' available (see ?data(worldshape)). attr.name character string giving name node attribute output stored.","code":""},{"path":"/reference/findLand.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find which nodes are on land — findLand","text":"output depends nature input: - matrix, data.frame: factor two levels 'land' 'sea'. gGraph: gGraph object new node attribute, possibly added previously existing node attributes (@nodes.attr slot).","code":""},{"path":"/reference/findLand.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find which nodes are on land — findLand","text":"Nodes can specified either matrix geographic coordinates, gGraph object.","code":""},{"path":[]},{"path":"/reference/findLand.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Find which nodes are on land — findLand","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/findLand.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Find which nodes are on land — findLand","text":"","code":"## create a new gGraph with random coordinates myCoords <- data.frame(long = runif(1000, -180, 180), lat = runif(1000, -90, 90)) obj <- new(\"gGraph\", coords = myCoords) obj # note: no node attribute #> #> === gGraph object === #> #> @coords: spatial coordinates of 1000 nodes #> lon lat #> 1 54.79348 -12.81500 #> 2 61.47979 -59.72746 #> 3 45.04736 -59.53353 #> ... #> #> @nodes.attr: 0 nodes attributes #> data frame with 0 columns and 0 rows #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 1000 #> Number of Edges = 0 plot(obj) ## find which points are on land obj <- findLand(obj) obj # note: new node attribute #> #> === gGraph object === #> #> @coords: spatial coordinates of 1000 nodes #> lon lat #> 1 54.79348 -12.81500 #> 2 61.47979 -59.72746 #> 3 45.04736 -59.53353 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 1000 #> Number of Edges = 0 ## define rules for colors temp <- data.frame(habitat = c(\"land\", \"sea\"), color = c(\"green\", \"blue\")) temp #> habitat color #> 1 land green #> 2 sea blue obj@meta$color <- temp ## plot object with new colors plot(obj)"},{"path":"/reference/gData-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Formal class ","title":"Formal class ","text":"class gData formal (S4) class storing georeferenced data, consisting set locations (longitude latitude) one several variables measured. data designed matched gGraph object, location assigned closest node gGraph object.","code":""},{"path":"/reference/gData-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Formal class ","text":"Note several operations gData object, gGraph object linked present environment.","code":""},{"path":"/reference/gData-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"Formal class ","text":"coords matrix spatial coordinates two columns, respectively longitude (-180 180) latitude. Positive numbers intended 'east' 'north', respectively. nodes.id vector character strings giving name nodes (gGraph object) associated locations. data kind data associated locations coords. matrix-like objects, rows correspond locations. gGraph.name character string name gGraph object object matched. Note none mandatory: new(\"gData\") work, create empty gGraph object. Also note finer matching locations nodes gGraph object can achieved creating object, instance using closestNode method.","code":""},{"path":"/reference/gData-class.html","id":"objects-from-the-class-gdata","dir":"Reference","previous_headings":"","what":"Objects from the class gData","title":"Formal class ","text":"gData objects can created calls new(\"gData\", ...), '...' can following arguments:","code":""},{"path":[]},{"path":"/reference/gData-class.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Formal class ","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/gData-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Formal class ","text":"","code":"hgdp #> #> === gData object === #> #> @coords: spatial coordinates of 52 nodes #> lon lat #> 1 -3 59 #> 2 39 44 #> 3 40 61 #> ... #> #> @nodes.id: nodes identifiers #> 28179 11012 22532 #> \"26898\" \"11652\" \"22532\" #> ... #> #> @data: 52 data #> Population Region Label n Latitude Longitude Genetic.Div #> 1 Orcadian EUROPE 1 15 59 -3 0.7258820 #> 2 Adygei EUROPE 2 17 44 39 0.7297802 #> 3 Russian EUROPE 3 25 61 40 0.7319749 #> ... #> #> Associated gGraph: worldgraph.40k ## plot data plot(worldgraph.40k, pch = \"\") points(hgdp) ## subset and plot data onlyNorth <- hgdp[hgdp@data$Latitude > 0] # only northern populations plot(worldgraph.40k, reset = TRUE) abline(h = 0) # equator points(onlyNorth, pch.node = 20, cex = 2, col.node = \"purple\")"},{"path":"/reference/gGraph-class.html","id":null,"dir":"Reference","previous_headings":"","what":"Formal class ","title":"Formal class ","text":"class gGraph formal (S4) class storing geographic data. data composed set geographic coordinates vertices ('nodes'), graph describing connectivity vertices. Data associated nodes can also stored ('nodes attributes'), well meta-information used plotting object, computing weights associated edges based nodes attributes.","code":""},{"path":"/reference/gGraph-class.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Formal class ","text":"slots, nodes uniquely identified name (reference taken row names @coords slot).","code":""},{"path":"/reference/gGraph-class.html","id":"slots","dir":"Reference","previous_headings":"","what":"Slots","title":"Formal class ","text":"coords matrix spatial coordinates two columns, respectively longitude (-180 180) latitude. Positive numbers intended 'east' 'north', respectively. nodes.attr data.frame whose rows nodes, whose columns different variables associated nodes. meta list, likely containing named data.frames (see Slots). graph object class graphNEL, graph package (see class?graphNEL), describing connectivity among nodes. Note none mandatory: new(\"gGraph\") work, create empty gGraph object.","code":""},{"path":"/reference/gGraph-class.html","id":"objects-from-the-class-ggraph","dir":"Reference","previous_headings":"","what":"Objects from the class gGraph","title":"Formal class ","text":"gGraph objects can created calls new(\"gGraph\", ...), '...' can following arguments:","code":""},{"path":[]},{"path":"/reference/gGraph-class.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Formal class ","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/gGraph-class.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Formal class ","text":"","code":"## create an empty object new(\"gGraph\") #> #> === gGraph object === #> #> @coords: spatial coordinates of 0 nodes #> lon lat #> #> @nodes.attr: 0 nodes attributes #> data frame with 0 columns and 0 rows #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 0 #> Number of Edges = 0 ## plotting the object plot(rawgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## to play interactively with graphics, use: # geo.zoomin() # geo.zoomout() # geo.slide() # geo.back() ## defining a new object restrained to visible nodes x <- rawgraph.10k[isInArea(rawgraph.10k)] plot(x, reset = TRUE, edges = TRUE) title(\"x does just contain these visible nodes.\") ## define weights for edges x <- setCosts(x, attr.name = \"habitat\", method = \"prod\") plot(x, edges = TRUE) title(\"costs defined by habitat (land/land=1, other=100)\") ## drop 'dead edges' (i.e. with weight 0) x <- dropDeadEdges(x, thres = 10) plot(x, edges = TRUE) title(\"after droping edges with null weight\")"},{"path":"/reference/geo.add.edges.html","id":null,"dir":"Reference","previous_headings":"","what":"Add and remove edges from a gGraph object — geo.add.edges","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"functions geo.add.edges geo.remove.edges allow one add remove edges interactively gGraph object. adding edges, two approaches possible: - click vertices defining new edges (mode=\"points\") - select area edges reference graph added (mode=\"area\").","code":""},{"path":"/reference/geo.add.edges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"","code":"geo.add.edges(x, mode = c(\"points\", \"area\", \"all\"), refObj = \"rawgraph.40k\")"},{"path":"/reference/geo.add.edges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"x valid gGraph object. mode character string indicating mode addition removal edges. 'points': user expected click vertices indicate edges. 'area': user expected click two points defining rectangular area within edges selected. '': edges reference graph added current object. refObj valid gGraph object, used reference adding edges. selecting area inside edges added, edges existing area refObj added x. Alternatively, character string can provided, corresponding one following datasets: 'rawgraph.10k', rawgraph.40k'.","code":""},{"path":"/reference/geo.add.edges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"gGraph object newly added removed edges.","code":""},{"path":[]},{"path":"/reference/geo.add.edges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/geo.add.edges.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add and remove edges from a gGraph object — geo.add.edges","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## remove edges geo.remove.edges(worldgraph.10k) # points mode geo.remove.edges(worldgraph.10k, mode = \"area\") # area mode ## add edges geo.add.edges(worldgraph.10k) # points mode geo.add.edges(worldgraph.10k, mode = \"area\") # area mode }"},{"path":"/reference/geo.change.attr.html","id":null,"dir":"Reference","previous_headings":"","what":"Change values of a node attribute — geo.change.attr","title":"Change values of a node attribute — geo.change.attr","text":"functions geo.change.attr changes values given node attribute set selected nodes gGraph object.","code":""},{"path":"/reference/geo.change.attr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Change values of a node attribute — geo.change.attr","text":"","code":"geo.change.attr( x, mode = c(\"points\", \"area\"), attr.name, attr.value, only.name = NULL, only.value = NULL, newCol = \"black\", restore.edges = FALSE, refObj = \"rawgraph.40k\" )"},{"path":"/reference/geo.change.attr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Change values of a node attribute — geo.change.attr","text":"x valid gGraph object. mode character string indicating whether selected nodes clicked one one ('points') defining rectangular area ('area'). attr.name name node attribute modified. attr.value new value attribute assigned selected nodes. .name (optional) area mode, name node attribute add extra selection criterion. See details. .value (optional) area mode, .name specified, values .name can selected. See details. newCol character string giving new color attribute value. restore.edges logical indicating whether edges stemming modified nodes re-added graph, using refObj reference. useful connectivity redefined using setCosts nodes previously disconnected. refObj character string gGraph object, used reference re-adding edges. character string provided, must match one following dataset: 'rawgraph.10k', 'rawgraph.40k'.","code":""},{"path":"/reference/geo.change.attr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Change values of a node attribute — geo.change.attr","text":"gGraph object modified node attributes.","code":""},{"path":"/reference/geo.change.attr.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Change values of a node attribute — geo.change.attr","text":"argument .name allows one perform accurate selection nodes whose attribute changed, specifying values (.value) attribute (.name) can selected. instance, one may want define new attributes nodes worldgraph.10k exclusively land: done specifying .name=\"habitat\" .value=\"land\".","code":""},{"path":"/reference/geo.change.attr.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Change values of a node attribute — geo.change.attr","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/geo.change.attr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Change values of a node attribute — geo.change.attr","text":"","code":"if (FALSE) { plot(worldgraph.10k, reset = TRUE) ## have to click here for an area ## all nodes are modified in the area x <- geo.change.attr(worldgraph.10k, mode = \"area\", attr.name = \"habitat\", attr.value = \"fancy habitat\", newCol = \"pink\") # modify selected area plot(x, reset = TRUE) # modification in the whole selected area ## have to click here for an area ## only nodes on land are modified x <- geo.change.attr(x, mode = \"area\", attr.name = \"habitat\", attr.value = \"fancy2 habitat\", newCol = \"purple\", only.name = \"habitat\", only.value = \"land\") plot(x, reset = TRUE) # modification in the whole selected area }"},{"path":"/reference/geoGraph-package.html","id":null,"dir":"Reference","previous_headings":"","what":"The geoGraph package — geoGraph-package","title":"The geoGraph package — geoGraph-package","text":"package implements classes methods large-scale georeferenced data handled spatial graphs.","code":""},{"path":"/reference/geoGraph-package.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"The geoGraph package — geoGraph-package","text":"Main functionalities geoGraph summarized . === DATA HANDLING === geoGraph, data stored particular formal class named gGraph. class contains spatial coordinates set nodes (@coords), attributes nodes (@nodes.attr), meta-information nodes attributes (@meta), graph connections nodes class graphNEL (@graph). Several functions available handling gGraph data: accessors allow access slots object, sometimes additional treatment information: getGraph, getNodesAttr, getCoords, getNodes, getEdges, getCosts. setEdges: add/remove edges specified edges. setCosts: set costs edges. hasCosts: tests graph weighted (.e., non-uniform costs). isInArea: finds nodes currently plotted area. areConnected: tests nodes directly connected. connectivityPlot: plot connected components different colors. dropDeadEdges: suppress edges whose weight null. closestNode: given longitude latitude, finds closest node; specific values node attribute can provided, instance, find closest node land. show: printing gGraph objects. extractFromLayer: extract information GIS layers. findLand: checks nodes land. setCosts: define edges weights accoring rules specified @meta slot. geo.add.edges, geo.remove.edges: graphical functions adding removing edges. geo.change.attr: graphical functions changing attributes nodes. === GRAPHICS ===geoGraph aims providing advanced graphical facilities, zooming particular area, moving plotted area, visualizing connectivity nodes. plot: plot method various options, allowing display shapefile (default, map world), using color according attributes, showing connectivity nodes, etc. points: similar plot method, except new plot created. plotEdges: specific function plotting edges. detects object weighted graph, plots edges accordingly. geo.zoomin, geo.zoomout: zoom plot. geo.back: replot previous screens. geo.slide: slide plotted area toward indicated direction. geo.bookmark, geo.goto: set goto bookmarked area. === DATASETS === Datasets occupy central place geoGraph, since provide spatial models used later operations. Two main datasets proposed, gGraph resulting spliting earth cells (allmost perfectly) equal sizes. Two different resolutions provided: - worldgraph.10k: coverage using 10,000 nodes - worldgraph.40k: coverage using 40,000 nodes datasets : - worldshape: shapefile containing world countries. cite geoGraph, please use reference given citation(\"geoGraph\").","code":""},{"path":"/reference/geoGraph-package.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"The geoGraph package — geoGraph-package","text":"","code":"## the class gGraph worldgraph.10k #> #> === gGraph object === #> #> @coords: spatial coordinates of 10242 nodes #> lon lat #> 1 -180.0000 90.00000 #> 2 144.0000 -90.00000 #> 3 -33.7806 27.18924 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 2 items #> [1] \"$colors\" \"$costs\" #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 10242 #> Number of Edges = 6954 ## plotting the object plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## to play interactively with graphics, use: # geo.zoomin() # geo.zoomout() # geo.slide() # geo.back() ## defining a new object restrained to visible nodes x <- worldgraph.10k[isInArea(worldgraph.10k)] plot(x, reset = TRUE, edges = TRUE) title(\"x does just contain these visible nodes.\") ## define weights for edges x <- setCosts(x, attr.name = \"habitat\", method = \"prod\") plot(x, edges = TRUE) title(\"connectivity defined by habitat (land/land=1, other=0)\") ## drop 'dead edges' (i.e. with weight 0) x <- dropDeadEdges(x) plot(x, edges = TRUE) title(\"after droping edges with null weight\")"},{"path":"/reference/getColors.html","id":null,"dir":"Reference","previous_headings":"","what":"Get colors associated to edges of a gGraph object — getColors","title":"Get colors associated to edges of a gGraph object — getColors","text":"function getColors returns colors associated nodes gGraph object, based specified node attribute.","code":""},{"path":"/reference/getColors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get colors associated to edges of a gGraph object — getColors","text":"","code":"getColors(x, ...) # S4 method for gGraph getColors(x, nodes = \"all\", attr.name, col.rules = NULL, ...)"},{"path":"/reference/getColors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get colors associated to edges of a gGraph object — getColors","text":"x valid gGraph. ... arguments passed methods. nodes vector character strings integers identifying nodes name index. Can \"\", case nodes considered. attr.name character string indicating name node attribute used define colors. col.rules matrix giving rules plotting attribute values different colors. See details.","code":""},{"path":"/reference/getColors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get colors associated to edges of a gGraph object — getColors","text":"vector characters valid colors.","code":""},{"path":"/reference/getColors.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get colors associated to edges of a gGraph object — getColors","text":"Colors based node attribute, , column nodes.attr data.frame. attribute finite number values, likely factor. Correspondence values variable colors must provided @meta\\$color slot, col.rules argument. Color rules mus provided two-column matrix; first column contains values node attribute, named attribute; second must named \"color\", contain valid colors. See example section know slot designed.","code":""},{"path":"/reference/getColors.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get colors associated to edges of a gGraph object — getColors","text":"getColors(gGraph): Method gGraph objects","code":""},{"path":"/reference/getColors.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get colors associated to edges of a gGraph object — getColors","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getColors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get colors associated to edges of a gGraph object — getColors","text":"","code":"worldgraph.10k # there is a node attribute 'habitat' #> #> === gGraph object === #> #> @coords: spatial coordinates of 10242 nodes #> lon lat #> 1 -180.0000 90.00000 #> 2 144.0000 -90.00000 #> 3 -33.7806 27.18924 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 2 items #> [1] \"$colors\" \"$costs\" #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 10242 #> Number of Edges = 6954 worldgraph.10k@meta$color #> habitat color #> 1 sea blue #> 2 land green #> 3 mountain brown #> 4 landbridge light green #> 5 oceanic crossing light blue #> 6 deselected land lightgray head(getNodes(worldgraph.10k)) #> [1] \"1\" \"2\" \"3\" \"4\" \"5\" \"6\" head(getColors(worldgraph.10k, res.type = \"vector\", attr.name = \"habitat\")) #> 1 2 3 4 5 6 #> \"blue\" \"blue\" \"blue\" \"blue\" \"blue\" \"blue\""},{"path":"/reference/getCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Get costs associated to edges of a gGraph object — getCosts","title":"Get costs associated to edges of a gGraph object — getCosts","text":"function getCosts returns costs associated edges gGraph object using different possible outputs. outputs designed match possible outputs getEdges function.","code":""},{"path":"/reference/getCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get costs associated to edges of a gGraph object — getCosts","text":"","code":"getCosts(x, ...) # S4 method for gGraph getCosts(x, res.type = c(\"asIs\", \"vector\"), unique = FALSE, ...) getNodeCosts(x, ...) # S4 method for gGraph getNodeCosts(x, attr.name, ...)"},{"path":"/reference/getCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get costs associated to edges of a gGraph object — getCosts","text":"x valid gGraph. ... arguments passed methods (currently unused). res.type character string indicating kind output used. See value. unique logical indicating whether costs returned unique edges (TRUE), duplicate edges considered well (TRUE, default). attr.name name node attribute used define node costs.","code":""},{"path":"/reference/getCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get costs associated to edges of a gGraph object — getCosts","text":"output depends value argument res.type: asIs: output named list weights, slot containing weights associated edges stemming one given node. format weights accessor graphNEL objects. vector: vector weights; output matches matrix outputs getEdges.","code":""},{"path":"/reference/getCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get costs associated to edges of a gGraph object — getCosts","text":"getNodeCosts returns costs associated nodes based one node attribute. notion 'costs' context gGraph objects identical concept 'weights' graph (thus graphNEL) objects. larger edge, less connectivity couple concerned nodes.","code":""},{"path":"/reference/getCosts.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get costs associated to edges of a gGraph object — getCosts","text":"getCosts(gGraph): Method gGraph object getNodeCosts(): Function get costs values nodes getNodeCosts(gGraph): Method get node costs gGraph object","code":""},{"path":[]},{"path":"/reference/getCosts.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get costs associated to edges of a gGraph object — getCosts","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get costs associated to edges of a gGraph object — getCosts","text":"","code":"head(getEdges(worldgraph.10k, res.type = \"matNames\", unique = TRUE)) #> Vi Vj #> [1,] \"67\" \"9955\" #> [2,] \"67\" \"68\" #> [3,] \"67\" \"9953\" #> [4,] \"68\" \"69\" #> [5,] \"68\" \"9955\" #> [6,] \"69\" \"9957\" head(getCosts(worldgraph.10k, res.type = \"vector\", unique = TRUE)) #> 67.9955 67.68 67.9953 68.69 68.9955 69.9957 #> 1 1 1 1 1 1"},{"path":"/reference/getEdges.html","id":null,"dir":"Reference","previous_headings":"","what":"Get edges from a gGraph object — getEdges","title":"Get edges from a gGraph object — getEdges","text":"function getEdges returns edges gGraph object using different possible outputs.","code":""},{"path":"/reference/getEdges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get edges from a gGraph object — getEdges","text":"","code":"getEdges(x, ...) # S4 method for gGraph getEdges(x, res.type = c(\"asIs\", \"matNames\", \"matId\"), unique = FALSE, ...)"},{"path":"/reference/getEdges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get edges from a gGraph object — getEdges","text":"x valid gGraph. ... arguments passed methods (currently unused). res.type character string indicating kind output used. See value. unique logical indicating whether returned edges unique (TRUE) duplicated edges allowed (TRUE, default).","code":""},{"path":"/reference/getEdges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get edges from a gGraph object — getEdges","text":"output depends value argument res.type: asIs: output named list nodes, slot containing nodes forming edge one given node. format edges accessor graphNEL objects. matNames: matrix two columns giving couples node names forming edges. matId: matrix two columns giving couples node indices forming edges.","code":""},{"path":"/reference/getEdges.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get edges from a gGraph object — getEdges","text":"getEdges(gGraph): Method gGraph objects","code":""},{"path":[]},{"path":"/reference/getEdges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get edges from a gGraph object — getEdges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getEdges.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get edges from a gGraph object — getEdges","text":"","code":"example(gGraph) #> #> gGraph> ## create an empty object #> gGraph> new(\"gGraph\") #> #> === gGraph object === #> #> @coords: spatial coordinates of 0 nodes #> lon lat #> #> @nodes.attr: 0 nodes attributes #> data frame with 0 columns and 0 rows #> #> @meta: list of meta information with 0 items #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 0 #> Number of Edges = 0 #> #> gGraph> ## plotting the object #> gGraph> plot(rawgraph.10k, reset = TRUE) #> #> gGraph> ## zooming in #> gGraph> geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) #> #> gGraph> title(\"Europe\") #> #> gGraph> ## to play interactively with graphics, use: #> gGraph> # geo.zoomin() #> gGraph> # geo.zoomout() #> gGraph> # geo.slide() #> gGraph> # geo.back() #> gGraph> #> gGraph> ## defining a new object restrained to visible nodes #> gGraph> x <- rawgraph.10k[isInArea(rawgraph.10k)] #> #> gGraph> plot(x, reset = TRUE, edges = TRUE) #> #> gGraph> title(\"x does just contain these visible nodes.\") #> #> gGraph> ## define weights for edges #> gGraph> x <- setCosts(x, attr.name = \"habitat\", method = \"prod\") #> #> gGraph> plot(x, edges = TRUE) #> #> gGraph> title(\"costs defined by habitat (land/land=1, other=100)\") #> #> gGraph> ## drop 'dead edges' (i.e. with weight 0) #> gGraph> x <- dropDeadEdges(x, thres = 10) #> #> gGraph> plot(x, edges = TRUE) #> #> gGraph> title(\"after droping edges with null weight\") getEdges(x) #> $`707` #> [1] \"1027\" \"9951\" \"9952\" \"1028\" #> #> $`1027` #> [1] \"707\" \"1347\" \"1028\" \"9950\" \"9951\" \"1348\" #> #> $`1028` #> [1] \"1348\" \"1027\" \"707\" #> #> $`1347` #> [1] \"1027\" \"1667\" \"1348\" \"9950\" \"1668\" #> #> $`1348` #> [1] \"1028\" \"1668\" \"1347\" \"1027\" #> #> $`1667` #> [1] \"1347\" \"1987\" \"1668\" \"9948\" \"1988\" #> #> $`1668` #> [1] \"1348\" \"1988\" \"1667\" \"1347\" #> #> $`1987` #> [1] \"1667\" \"1988\" \"9947\" \"9948\" \"2308\" #> #> $`1988` #> [1] \"1668\" \"2308\" \"1987\" \"1667\" #> #> $`2307` #> character(0) #> #> $`2308` #> [1] \"1988\" \"1987\" #> #> $`2627` #> character(0) #> #> $`2628` #> character(0) #> #> $`2947` #> [1] \"3267\" \"2948\" \"3268\" #> #> $`2948` #> [1] \"3268\" \"2947\" #> #> $`3267` #> [1] \"2947\" \"3587\" \"3268\" \"9943\" \"3588\" #> #> $`3268` #> [1] \"2948\" \"3588\" \"3267\" \"2947\" #> #> $`3533` #> character(0) #> #> $`3534` #> [1] \"3855\" #> #> $`3587` #> [1] \"3267\" \"3907\" \"3588\" \"9942\" \"9943\" \"3908\" #> #> $`3588` #> [1] \"3268\" \"3908\" \"3587\" \"3267\" #> #> $`3853` #> character(0) #> #> $`3854` #> character(0) #> #> $`3855` #> [1] \"4175\" \"3534\" \"4176\" #> #> $`3907` #> [1] \"3587\" \"4227\" \"3908\" \"9941\" \"9942\" \"4228\" #> #> $`3908` #> [1] \"3588\" \"4228\" \"3907\" \"3587\" #> #> $`4172` #> character(0) #> #> $`4173` #> character(0) #> #> $`4174` #> character(0) #> #> $`4175` #> [1] \"3855\" \"4176\" \"4496\" #> #> $`4176` #> [1] \"4496\" \"4175\" \"3855\" \"4497\" #> #> $`4227` #> [1] \"3907\" \"4547\" \"4228\" \"9940\" \"9941\" #> #> $`4228` #> [1] \"3908\" \"4227\" \"3907\" #> #> $`4492` #> character(0) #> #> $`4493` #> [1] \"4813\" \"4494\" \"4814\" #> #> $`4494` #> [1] \"4814\" \"4493\" \"4815\" #> #> $`4495` #> character(0) #> #> $`4496` #> [1] \"4176\" \"4497\" \"4175\" \"4817\" #> #> $`4497` #> [1] \"4817\" \"4496\" \"4176\" \"4818\" #> #> $`4547` #> [1] \"4227\" \"4867\" \"9939\" \"9940\" #> #> $`4811` #> character(0) #> #> $`4812` #> character(0) #> #> $`4813` #> [1] \"4493\" \"4814\" \"5134\" #> #> $`4814` #> [1] \"4494\" \"5134\" \"4815\" \"4813\" \"4493\" \"5135\" #> #> $`4815` #> [1] \"5135\" \"4814\" \"4494\" \"5136\" #> #> $`4816` #> character(0) #> #> $`4817` #> [1] \"4497\" \"5137\" \"4818\" \"4496\" \"5138\" #> #> $`4818` #> [1] \"5138\" \"4817\" \"4497\" \"5139\" #> #> $`4867` #> [1] \"4547\" \"5187\" \"9938\" \"9939\" #> #> $`5131` #> character(0) #> #> $`5132` #> character(0) #> #> $`5133` #> character(0) #> #> $`5134` #> [1] \"4814\" \"5135\" \"4813\" \"5455\" #> #> $`5135` #> [1] \"4815\" \"5455\" \"5136\" \"5134\" \"4814\" #> #> $`5136` #> [1] \"5137\" \"5135\" \"4815\" #> #> $`5137` #> [1] \"4817\" \"5138\" \"5136\" \"5458\" #> #> $`5138` #> [1] \"4818\" \"5458\" \"5139\" \"5137\" \"4817\" \"5459\" #> #> $`5139` #> [1] \"5459\" \"5138\" \"4818\" \"5460\" #> #> $`5187` #> [1] \"4867\" \"5507\" \"9937\" \"9938\" #> #> $`5450` #> character(0) #> #> $`5451` #> character(0) #> #> $`5452` #> character(0) #> #> $`5453` #> character(0) #> #> $`5454` #> character(0) #> #> $`5455` #> [1] \"5135\" \"5775\" \"5134\" \"5776\" #> #> $`5456` #> character(0) #> #> $`5457` #> character(0) #> #> $`5458` #> [1] \"5138\" \"5459\" \"5137\" \"5779\" #> #> $`5459` #> [1] \"5139\" \"5779\" \"5460\" \"5458\" \"5138\" \"5780\" #> #> $`5460` #> [1] \"5780\" \"5459\" \"5139\" \"5781\" #> #> $`5507` #> [1] \"5187\" \"5827\" \"9936\" \"9937\" #> #> $`5770` #> [1] \"6090\" #> #> $`5771` #> character(0) #> #> $`5772` #> character(0) #> #> $`5773` #> character(0) #> #> $`5774` #> character(0) #> #> $`5775` #> [1] \"5455\" \"6095\" \"5776\" \"6096\" #> #> $`5776` #> [1] \"6096\" \"5775\" \"5455\" #> #> $`5777` #> character(0) #> #> $`5778` #> character(0) #> #> $`5779` #> [1] \"5459\" \"5780\" \"5458\" \"6100\" #> #> $`5780` #> [1] \"5460\" \"6100\" \"5781\" \"5779\" \"5459\" \"6101\" #> #> $`5781` #> [1] \"6101\" \"5780\" \"5460\" \"6102\" #> #> $`5827` #> [1] \"5507\" \"6147\" \"9935\" \"9936\" #> #> $`6089` #> character(0) #> #> $`6090` #> [1] \"5770\" \"6411\" #> #> $`6091` #> character(0) #> #> $`6092` #> character(0) #> #> $`6093` #> [1] \"6413\" \"6094\" \"6414\" #> #> $`6094` #> [1] \"6414\" \"6095\" \"6093\" \"6415\" #> #> $`6095` #> [1] \"5775\" \"6415\" \"6096\" \"6094\" \"6416\" #> #> $`6096` #> [1] \"5776\" \"6416\" \"6095\" \"5775\" \"6417\" #> #> $`6097` #> character(0) #> #> $`6098` #> character(0) #> #> $`6099` #> character(0) #> #> $`6100` #> [1] \"5780\" \"6101\" \"5779\" \"6421\" #> #> $`6101` #> [1] \"5781\" \"6421\" \"6102\" \"6100\" \"5780\" \"6422\" #> #> $`6102` #> [1] \"6422\" \"6101\" \"5781\" \"6423\" #> #> $`6147` #> [1] \"5827\" \"6467\" \"9935\" #> #> $`6409` #> character(0) #> #> $`6410` #> character(0) #> #> $`6411` #> [1] \"6412\" \"6090\" #> #> $`6412` #> [1] \"6413\" \"6411\" #> #> $`6413` #> [1] \"6093\" \"6414\" \"6412\" #> #> $`6414` #> [1] \"6094\" \"6415\" \"6413\" \"6093\" \"6735\" #> #> $`6415` #> [1] \"6095\" \"6735\" \"6416\" \"6414\" \"6094\" \"6736\" #> #> $`6416` #> [1] \"6096\" \"6736\" \"6417\" \"6415\" \"6095\" \"6737\" #> #> $`6417` #> [1] \"6737\" \"6416\" \"6096\" #> #> $`6418` #> character(0) #> #> $`6419` #> character(0) #> #> $`6420` #> character(0) #> #> $`6421` #> [1] \"6101\" \"6422\" \"6100\" #> #> $`6422` #> [1] \"6102\" \"6423\" \"6421\" \"6101\" #> #> $`6423` #> [1] \"6422\" \"6102\" \"6744\" #> #> $`6467` #> [1] \"6147\" \"9933\" #> #> $`6728` #> character(0) #> #> $`6729` #> character(0) #> #> $`6730` #> character(0) #> #> $`6731` #> character(0) #> #> $`6732` #> character(0) #> #> $`6733` #> character(0) #> #> $`6734` #> character(0) #> #> $`6735` #> [1] \"6415\" \"7055\" \"6736\" \"6414\" \"7056\" #> #> $`6736` #> [1] \"6416\" \"7056\" \"6737\" \"6735\" \"6415\" \"7057\" #> #> $`6737` #> [1] \"6417\" \"7057\" \"6736\" \"6416\" \"7058\" #> #> $`6738` #> character(0) #> #> $`6739` #> character(0) #> #> $`6740` #> character(0) #> #> $`6741` #> character(0) #> #> $`6742` #> character(0) #> #> $`6743` #> character(0) #> #> $`6744` #> [1] \"6423\" \"7065\" #> #> $`6787` #> character(0) #> #> $`7048` #> character(0) #> #> $`7049` #> character(0) #> #> $`7050` #> character(0) #> #> $`7051` #> character(0) #> #> $`7052` #> character(0) #> #> $`7053` #> character(0) #> #> $`7054` #> character(0) #> #> $`7055` #> [1] \"6735\" \"7375\" \"7056\" \"7376\" #> #> $`7056` #> [1] \"6736\" \"7376\" \"7057\" \"7055\" \"6735\" \"7377\" #> #> $`7057` #> [1] \"6737\" \"7377\" \"7058\" \"7056\" \"6736\" \"7378\" #> #> $`7058` #> [1] \"7378\" \"7059\" \"7057\" \"6737\" #> #> $`7059` #> [1] \"7058\" #> #> $`7060` #> character(0) #> #> $`7061` #> character(0) #> #> $`7062` #> character(0) #> #> $`7063` #> character(0) #> #> $`7064` #> character(0) #> #> $`7065` #> [1] \"6744\" \"7386\" #> #> $`7107` #> character(0) #> #> $`7367` #> character(0) #> #> $`7368` #> character(0) #> #> $`7369` #> character(0) #> #> $`7370` #> character(0) #> #> $`7371` #> character(0) #> #> $`7372` #> character(0) #> #> $`7373` #> character(0) #> #> $`7374` #> character(0) #> #> $`7375` #> [1] \"7055\" \"7695\" \"7376\" \"7696\" #> #> $`7376` #> [1] \"7056\" \"7696\" \"7377\" \"7375\" \"7055\" \"7697\" #> #> $`7377` #> [1] \"7057\" \"7697\" \"7378\" \"7376\" \"7056\" \"7698\" #> #> $`7378` #> [1] \"7058\" \"7698\" \"7377\" \"7057\" \"7699\" #> #> $`7379` #> character(0) #> #> $`7380` #> character(0) #> #> $`7381` #> [1] \"7702\" #> #> $`7382` #> character(0) #> #> $`7383` #> character(0) #> #> $`7384` #> character(0) #> #> $`7385` #> character(0) #> #> $`7386` #> [1] \"7065\" #> #> $`7687` #> character(0) #> #> $`7688` #> character(0) #> #> $`7689` #> character(0) #> #> $`7690` #> character(0) #> #> $`7691` #> character(0) #> #> $`7692` #> [1] \"8012\" \"7693\" \"8013\" #> #> $`7693` #> [1] \"8013\" \"7694\" \"7692\" \"8014\" #> #> $`7694` #> [1] \"8014\" \"7695\" \"7693\" \"8015\" #> #> $`7695` #> [1] \"7375\" \"8015\" \"7696\" \"7694\" #> #> $`7696` #> [1] \"7376\" \"7697\" \"7695\" \"7375\" \"8017\" #> #> $`7697` #> [1] \"7377\" \"8017\" \"7698\" \"7696\" \"7376\" \"8018\" #> #> $`7698` #> [1] \"7378\" \"8018\" \"7699\" \"7697\" \"7377\" \"8019\" #> #> $`7699` #> [1] \"8019\" \"7700\" \"7698\" \"7378\" \"8020\" #> #> $`7700` #> [1] \"8020\" \"7699\" \"8021\" #> #> $`7701` #> character(0) #> #> $`7702` #> [1] \"8022\" \"7381\" \"8023\" #> #> $`7703` #> character(0) #> #> $`7704` #> character(0) #> #> $`7705` #> character(0) #> #> $`7706` #> character(0) #> #> $`8006` #> character(0) #> #> $`8007` #> character(0) #> #> $`8008` #> character(0) #> #> $`8009` #> character(0) #> #> $`8010` #> character(0) #> #> $`8011` #> character(0) #> #> $`8012` #> [1] \"7692\" \"8332\" \"8013\" \"8333\" #> #> $`8013` #> [1] \"7693\" \"8333\" \"8014\" \"8012\" \"7692\" \"8334\" #> #> $`8014` #> [1] \"7694\" \"8334\" \"8015\" \"8013\" \"7693\" #> #> $`8015` #> [1] \"7695\" \"8014\" \"7694\" #> #> $`8016` #> character(0) #> #> $`8017` #> [1] \"7697\" \"8337\" \"8018\" \"7696\" \"8338\" #> #> $`8018` #> [1] \"7698\" \"8338\" \"8019\" \"8017\" \"7697\" \"8339\" #> #> $`8019` #> [1] \"7699\" \"8339\" \"8020\" \"8018\" \"7698\" \"8340\" #> #> $`8020` #> [1] \"7700\" \"8340\" \"8021\" \"8019\" \"7699\" \"8341\" #> #> $`8021` #> [1] \"8341\" \"8022\" \"8020\" \"7700\" \"8342\" #> #> $`8022` #> [1] \"7702\" \"8342\" \"8023\" \"8021\" \"8343\" #> #> $`8023` #> [1] \"8343\" \"8022\" \"7702\" #> #> $`8024` #> character(0) #> #> $`8025` #> character(0) #> #> $`8026` #> character(0) #> #> $`8027` #> [1] \"8348\" #> #> $`8325` #> character(0) #> #> $`8326` #> character(0) #> #> $`8327` #> character(0) #> #> $`8328` #> character(0) #> #> $`8329` #> character(0) #> #> $`8330` #> character(0) #> #> $`8331` #> character(0) #> #> $`8332` #> [1] \"8012\" \"8652\" \"8333\" \"8653\" #> #> $`8333` #> [1] \"8013\" \"8653\" \"8334\" \"8332\" \"8012\" #> #> $`8334` #> [1] \"8014\" \"8333\" \"8013\" #> #> $`8335` #> character(0) #> #> $`8336` #> character(0) #> #> $`8337` #> [1] \"8017\" \"8657\" \"8338\" \"8658\" #> #> $`8338` #> [1] \"8018\" \"8658\" \"8339\" \"8337\" \"8017\" \"8659\" #> #> $`8339` #> [1] \"8019\" \"8659\" \"8340\" \"8338\" \"8018\" \"8660\" #> #> $`8340` #> [1] \"8020\" \"8660\" \"8341\" \"8339\" \"8019\" \"8661\" #> #> $`8341` #> [1] \"8021\" \"8661\" \"8342\" \"8340\" \"8020\" \"8662\" #> #> $`8342` #> [1] \"8022\" \"8662\" \"8343\" \"8341\" \"8021\" \"8663\" #> #> $`8343` #> [1] \"8023\" \"8663\" \"8342\" \"8022\" \"8664\" #> #> $`8344` #> character(0) #> #> $`8345` #> character(0) #> #> $`8346` #> character(0) #> #> $`8347` #> character(0) #> #> $`8348` #> [1] \"8027\" \"8669\" #> #> $`8646` #> character(0) #> #> $`8647` #> character(0) #> #> $`8648` #> character(0) #> #> $`8649` #> character(0) #> #> $`8650` #> character(0) #> #> $`8651` #> [1] \"8971\" \"8652\" \"8972\" #> #> $`8652` #> [1] \"8332\" \"8972\" \"8653\" \"8651\" #> #> $`8653` #> [1] \"8333\" \"8652\" \"8332\" \"8974\" #> #> $`8654` #> character(0) #> #> $`8655` #> character(0) #> #> $`8656` #> character(0) #> #> $`8657` #> [1] \"8337\" \"8977\" \"8658\" \"8978\" #> #> $`8658` #> [1] \"8338\" \"8978\" \"8659\" \"8657\" \"8337\" \"8979\" #> #> $`8659` #> [1] \"8339\" \"8979\" \"8660\" \"8658\" \"8338\" \"8980\" #> #> $`8660` #> [1] \"8340\" \"8980\" \"8661\" \"8659\" \"8339\" \"8981\" #> #> $`8661` #> [1] \"8341\" \"8981\" \"8662\" \"8660\" \"8340\" \"8982\" #> #> $`8662` #> [1] \"8342\" \"8982\" \"8663\" \"8661\" \"8341\" \"8983\" #> #> $`8663` #> [1] \"8343\" \"8983\" \"8664\" \"8662\" \"8342\" \"8984\" #> #> $`8664` #> [1] \"8984\" \"8663\" \"8343\" #> #> $`8665` #> character(0) #> #> $`8666` #> character(0) #> #> $`8667` #> character(0) #> #> $`8668` #> character(0) #> #> $`8669` #> [1] \"8348\" \"8990\" #> #> $`8967` #> character(0) #> #> $`8968` #> character(0) #> #> $`8969` #> character(0) #> #> $`8970` #> character(0) #> #> $`8971` #> [1] \"8651\" \"9291\" \"8972\" \"9292\" #> #> $`8972` #> [1] \"8652\" \"9292\" \"8971\" \"8651\" \"9293\" #> #> $`8973` #> character(0) #> #> $`8974` #> [1] \"9294\" \"8975\" \"8653\" \"9295\" #> #> $`8975` #> [1] \"9295\" \"8976\" \"8974\" #> #> $`8976` #> [1] \"8977\" \"8975\" \"9297\" #> #> $`8977` #> [1] \"8657\" \"9297\" \"8978\" \"8976\" \"9298\" #> #> $`8978` #> [1] \"8658\" \"9298\" \"8979\" \"8977\" \"8657\" \"9299\" #> #> $`8979` #> [1] \"8659\" \"9299\" \"8980\" \"8978\" \"8658\" \"9300\" #> #> $`8980` #> [1] \"8660\" \"9300\" \"8981\" \"8979\" \"8659\" \"9301\" #> #> $`8981` #> [1] \"8661\" \"9301\" \"8982\" \"8980\" \"8660\" \"9302\" #> #> $`8982` #> [1] \"8662\" \"9302\" \"8983\" \"8981\" \"8661\" \"9303\" #> #> $`8983` #> [1] \"8663\" \"9303\" \"8984\" \"8982\" \"8662\" #> #> $`8984` #> [1] \"8664\" \"8983\" \"8663\" #> #> $`8985` #> character(0) #> #> $`8986` #> [1] \"9306\" \"9307\" #> #> $`8987` #> character(0) #> #> $`8988` #> character(0) #> #> $`8989` #> character(0) #> #> $`8990` #> [1] \"8669\" #> #> $`9287` #> character(0) #> #> $`9288` #> character(0) #> #> $`9289` #> character(0) #> #> $`9290` #> character(0) #> #> $`9291` #> [1] \"8971\" \"9292\" \"9612\" #> #> $`9292` #> [1] \"8972\" \"9612\" \"9293\" \"9291\" \"8971\" \"9613\" #> #> $`9293` #> [1] \"9613\" \"9294\" \"9292\" \"8972\" \"9614\" #> #> $`9294` #> [1] \"8974\" \"9614\" \"9295\" \"9293\" \"9615\" #> #> $`9295` #> [1] \"8975\" \"9615\" \"9294\" \"8974\" \"9616\" #> #> $`9296` #> character(0) #> #> $`9297` #> [1] \"8977\" \"9617\" \"9298\" \"8976\" \"9618\" #> #> $`9298` #> [1] \"8978\" \"9618\" \"9299\" \"9297\" \"8977\" \"9619\" #> #> $`9299` #> [1] \"8979\" \"9619\" \"9300\" \"9298\" \"8978\" \"9620\" #> #> $`9300` #> [1] \"8980\" \"9620\" \"9301\" \"9299\" \"8979\" \"9621\" #> #> $`9301` #> [1] \"8981\" \"9621\" \"9302\" \"9300\" \"8980\" \"9622\" #> #> $`9302` #> [1] \"8982\" \"9622\" \"9303\" \"9301\" \"8981\" \"9623\" #> #> $`9303` #> [1] \"8983\" \"9623\" \"9302\" \"8982\" \"9624\" #> #> $`9304` #> character(0) #> #> $`9305` #> character(0) #> #> $`9306` #> [1] \"8986\" \"9626\" \"9307\" \"9627\" #> #> $`9307` #> [1] \"9627\" \"9306\" \"8986\" \"9628\" #> #> $`9308` #> character(0) #> #> $`9309` #> character(0) #> #> $`9310` #> character(0) #> #> $`9608` #> character(0) #> #> $`9609` #> character(0) #> #> $`9610` #> character(0) #> #> $`9611` #> character(0) #> #> $`9612` #> [1] \"9292\" \"9613\" \"9291\" \"9933\" #> #> $`9613` #> [1] \"9293\" \"9933\" \"9614\" \"9612\" \"9292\" #> #> $`9614` #> [1] \"9294\" \"9615\" \"9613\" \"9293\" \"9935\" #> #> $`9615` #> [1] \"9295\" \"9935\" \"9616\" \"9614\" \"9294\" \"9936\" #> #> $`9616` #> [1] \"9936\" \"9617\" \"9615\" \"9295\" \"9937\" #> #> $`9617` #> [1] \"9297\" \"9937\" \"9618\" \"9616\" \"9938\" #> #> $`9618` #> [1] \"9298\" \"9938\" \"9619\" \"9617\" \"9297\" \"9939\" #> #> $`9619` #> [1] \"9299\" \"9939\" \"9620\" \"9618\" \"9298\" \"9940\" #> #> $`9620` #> [1] \"9300\" \"9940\" \"9621\" \"9619\" \"9299\" \"9941\" #> #> $`9621` #> [1] \"9301\" \"9941\" \"9622\" \"9620\" \"9300\" \"9942\" #> #> $`9622` #> [1] \"9302\" \"9942\" \"9623\" \"9621\" \"9301\" \"9943\" #> #> $`9623` #> [1] \"9303\" \"9943\" \"9624\" \"9622\" \"9302\" #> #> $`9624` #> [1] \"9623\" \"9303\" #> #> $`9625` #> character(0) #> #> $`9626` #> [1] \"9306\" \"9627\" \"9947\" #> #> $`9627` #> [1] \"9307\" \"9947\" \"9628\" \"9626\" \"9306\" \"9948\" #> #> $`9628` #> [1] \"9948\" \"9627\" \"9307\" #> #> $`9629` #> character(0) #> #> $`9630` #> character(0) #> #> $`9631` #> character(0) #> #> $`9928` #> character(0) #> #> $`9929` #> character(0) #> #> $`9930` #> character(0) #> #> $`9931` #> character(0) #> #> $`9932` #> character(0) #> #> $`9933` #> [1] \"9613\" \"9612\" \"6467\" #> #> $`9934` #> character(0) #> #> $`9935` #> [1] \"9615\" \"6147\" \"9936\" \"9614\" \"5827\" #> #> $`9936` #> [1] \"9616\" \"5827\" \"9937\" \"9935\" \"9615\" \"5507\" #> #> $`9937` #> [1] \"9617\" \"5507\" \"9938\" \"9936\" \"9616\" \"5187\" #> #> $`9938` #> [1] \"9618\" \"5187\" \"9939\" \"9937\" \"9617\" \"4867\" #> #> $`9939` #> [1] \"9619\" \"4867\" \"9940\" \"9938\" \"9618\" \"4547\" #> #> $`9940` #> [1] \"9620\" \"4547\" \"9941\" \"9939\" \"9619\" \"4227\" #> #> $`9941` #> [1] \"9621\" \"4227\" \"9942\" \"9940\" \"9620\" \"3907\" #> #> $`9942` #> [1] \"9622\" \"3907\" \"9943\" \"9941\" \"9621\" \"3587\" #> #> $`9943` #> [1] \"9623\" \"3587\" \"9942\" \"9622\" \"3267\" #> #> $`9944` #> character(0) #> #> $`9945` #> character(0) #> #> $`9946` #> character(0) #> #> $`9947` #> [1] \"9627\" \"9948\" \"9626\" \"1987\" #> #> $`9948` #> [1] \"9628\" \"1987\" \"9947\" \"9627\" \"1667\" #> #> $`9949` #> character(0) #> #> $`9950` #> [1] \"1347\" \"9951\" \"1027\" #> #> $`9951` #> [1] \"1027\" \"9952\" \"9950\" \"707\" #> #> $`9952` #> [1] \"707\" \"9951\" #> getEdges(x, res.type = \"matNames\") #> Vi Vj #> [1,] \"707\" \"1027\" #> [2,] \"707\" \"9951\" #> [3,] \"707\" \"9952\" #> [4,] \"707\" \"1028\" #> [5,] \"1027\" \"707\" #> [6,] \"1027\" \"1347\" #> [7,] \"1027\" \"1028\" #> [8,] \"1027\" \"9950\" #> [9,] \"1027\" \"9951\" #> [10,] \"1027\" \"1348\" #> [11,] \"1028\" \"1348\" #> [12,] \"1028\" \"1027\" #> [13,] \"1028\" \"707\" #> [14,] \"1347\" \"1027\" #> [15,] \"1347\" \"1667\" #> [16,] \"1347\" \"1348\" #> [17,] \"1347\" \"9950\" #> [18,] \"1347\" \"1668\" #> [19,] \"1348\" \"1028\" #> [20,] \"1348\" \"1668\" #> [21,] \"1348\" \"1347\" #> [22,] \"1348\" \"1027\" #> [23,] \"1667\" \"1347\" #> [24,] \"1667\" \"1987\" #> [25,] \"1667\" \"1668\" #> [26,] \"1667\" \"9948\" #> [27,] \"1667\" \"1988\" #> [28,] \"1668\" \"1348\" #> [29,] \"1668\" \"1988\" #> [30,] \"1668\" \"1667\" #> [31,] \"1668\" \"1347\" #> [32,] \"1987\" \"1667\" #> [33,] \"1987\" \"1988\" #> [34,] \"1987\" \"9947\" #> [35,] \"1987\" \"9948\" #> [36,] \"1987\" \"2308\" #> [37,] \"1988\" \"1668\" #> [38,] \"1988\" \"2308\" #> [39,] \"1988\" \"1987\" #> [40,] \"1988\" \"1667\" #> [41,] \"2308\" \"1988\" #> [42,] \"2308\" \"1987\" #> [43,] \"2947\" \"3267\" #> [44,] \"2947\" \"2948\" #> [45,] \"2947\" \"3268\" #> [46,] \"2948\" \"3268\" #> [47,] \"2948\" \"2947\" #> [48,] \"3267\" \"2947\" #> [49,] \"3267\" \"3587\" #> [50,] \"3267\" \"3268\" #> [51,] \"3267\" \"9943\" #> [52,] \"3267\" \"3588\" #> [53,] \"3268\" \"2948\" #> [54,] \"3268\" \"3588\" #> [55,] \"3268\" \"3267\" #> [56,] \"3268\" \"2947\" #> [57,] \"3534\" \"3855\" #> [58,] \"3587\" \"3267\" #> [59,] \"3587\" \"3907\" #> [60,] \"3587\" \"3588\" #> [61,] \"3587\" \"9942\" #> [62,] \"3587\" \"9943\" #> [63,] \"3587\" \"3908\" #> [64,] \"3588\" \"3268\" #> [65,] \"3588\" \"3908\" #> [66,] \"3588\" \"3587\" #> [67,] \"3588\" \"3267\" #> [68,] \"3855\" \"4175\" #> [69,] \"3855\" \"3534\" #> [70,] \"3855\" \"4176\" #> [71,] \"3907\" \"3587\" #> [72,] \"3907\" \"4227\" #> [73,] \"3907\" \"3908\" #> [74,] \"3907\" \"9941\" #> [75,] \"3907\" \"9942\" #> [76,] \"3907\" \"4228\" #> [77,] \"3908\" \"3588\" #> [78,] \"3908\" \"4228\" #> [79,] \"3908\" \"3907\" #> [80,] \"3908\" \"3587\" #> [81,] \"4175\" \"3855\" #> [82,] \"4175\" \"4176\" #> [83,] \"4175\" \"4496\" #> [84,] \"4176\" \"4496\" #> [85,] \"4176\" \"4175\" #> [86,] \"4176\" \"3855\" #> [87,] \"4176\" \"4497\" #> [88,] \"4227\" \"3907\" #> [89,] \"4227\" \"4547\" #> [90,] \"4227\" \"4228\" #> [91,] \"4227\" \"9940\" #> [92,] \"4227\" \"9941\" #> [93,] \"4228\" \"3908\" #> [94,] \"4228\" \"4227\" #> [95,] \"4228\" \"3907\" #> [96,] \"4493\" \"4813\" #> [97,] \"4493\" \"4494\" #> [98,] \"4493\" \"4814\" #> [99,] \"4494\" \"4814\" #> [100,] \"4494\" \"4493\" #> [101,] \"4494\" \"4815\" #> [102,] \"4496\" \"4176\" #> [103,] \"4496\" \"4497\" #> [104,] \"4496\" \"4175\" #> [105,] \"4496\" \"4817\" #> [106,] \"4497\" \"4817\" #> [107,] \"4497\" \"4496\" #> [108,] \"4497\" \"4176\" #> [109,] \"4497\" \"4818\" #> [110,] \"4547\" \"4227\" #> [111,] \"4547\" \"4867\" #> [112,] \"4547\" \"9939\" #> [113,] \"4547\" \"9940\" #> [114,] \"4813\" \"4493\" #> [115,] \"4813\" \"4814\" #> [116,] \"4813\" \"5134\" #> [117,] \"4814\" \"4494\" #> [118,] \"4814\" \"5134\" #> [119,] \"4814\" \"4815\" #> [120,] \"4814\" \"4813\" #> [121,] \"4814\" \"4493\" #> [122,] \"4814\" \"5135\" #> [123,] \"4815\" \"5135\" #> [124,] \"4815\" \"4814\" #> [125,] \"4815\" \"4494\" #> [126,] \"4815\" \"5136\" #> [127,] \"4817\" \"4497\" #> [128,] \"4817\" \"5137\" #> [129,] \"4817\" \"4818\" #> [130,] \"4817\" \"4496\" #> [131,] \"4817\" \"5138\" #> [132,] \"4818\" \"5138\" #> [133,] \"4818\" \"4817\" #> [134,] \"4818\" \"4497\" #> [135,] \"4818\" \"5139\" #> [136,] \"4867\" \"4547\" #> [137,] \"4867\" \"5187\" #> [138,] \"4867\" \"9938\" #> [139,] \"4867\" \"9939\" #> [140,] \"5134\" \"4814\" #> [141,] \"5134\" \"5135\" #> [142,] \"5134\" \"4813\" #> [143,] \"5134\" \"5455\" #> [144,] \"5135\" \"4815\" #> [145,] \"5135\" \"5455\" #> [146,] \"5135\" \"5136\" #> [147,] \"5135\" \"5134\" #> [148,] \"5135\" \"4814\" #> [149,] \"5136\" \"5137\" #> [150,] \"5136\" \"5135\" #> [151,] \"5136\" \"4815\" #> [152,] \"5137\" \"4817\" #> [153,] \"5137\" \"5138\" #> [154,] \"5137\" \"5136\" #> [155,] \"5137\" \"5458\" #> [156,] \"5138\" \"4818\" #> [157,] \"5138\" \"5458\" #> [158,] \"5138\" \"5139\" #> [159,] \"5138\" \"5137\" #> [160,] \"5138\" \"4817\" #> [161,] \"5138\" \"5459\" #> [162,] \"5139\" \"5459\" #> [163,] \"5139\" \"5138\" #> [164,] \"5139\" \"4818\" #> [165,] \"5139\" \"5460\" #> [166,] \"5187\" \"4867\" #> [167,] \"5187\" \"5507\" #> [168,] \"5187\" \"9937\" #> [169,] \"5187\" \"9938\" #> [170,] \"5455\" \"5135\" #> [171,] \"5455\" \"5775\" #> [172,] \"5455\" \"5134\" #> [173,] \"5455\" \"5776\" #> [174,] \"5458\" \"5138\" #> [175,] \"5458\" \"5459\" #> [176,] \"5458\" \"5137\" #> [177,] \"5458\" \"5779\" #> [178,] \"5459\" \"5139\" #> [179,] \"5459\" \"5779\" #> [180,] \"5459\" \"5460\" #> [181,] \"5459\" \"5458\" #> [182,] \"5459\" \"5138\" #> [183,] \"5459\" \"5780\" #> [184,] \"5460\" \"5780\" #> [185,] \"5460\" \"5459\" #> [186,] \"5460\" \"5139\" #> [187,] \"5460\" \"5781\" #> [188,] \"5507\" \"5187\" #> [189,] \"5507\" \"5827\" #> [190,] \"5507\" \"9936\" #> [191,] \"5507\" \"9937\" #> [192,] \"5770\" \"6090\" #> [193,] \"5775\" \"5455\" #> [194,] \"5775\" \"6095\" #> [195,] \"5775\" \"5776\" #> [196,] \"5775\" \"6096\" #> [197,] \"5776\" \"6096\" #> [198,] \"5776\" \"5775\" #> [199,] \"5776\" \"5455\" #> [200,] \"5779\" \"5459\" #> [201,] \"5779\" \"5780\" #> [202,] \"5779\" \"5458\" #> [203,] \"5779\" \"6100\" #> [204,] \"5780\" \"5460\" #> [205,] \"5780\" \"6100\" #> [206,] \"5780\" \"5781\" #> [207,] \"5780\" \"5779\" #> [208,] \"5780\" \"5459\" #> [209,] \"5780\" \"6101\" #> [210,] \"5781\" \"6101\" #> [211,] \"5781\" \"5780\" #> [212,] \"5781\" \"5460\" #> [213,] \"5781\" \"6102\" #> [214,] \"5827\" \"5507\" #> [215,] \"5827\" \"6147\" #> [216,] \"5827\" \"9935\" #> [217,] \"5827\" \"9936\" #> [218,] \"6090\" \"5770\" #> [219,] \"6090\" \"6411\" #> [220,] \"6093\" \"6413\" #> [221,] \"6093\" \"6094\" #> [222,] \"6093\" \"6414\" #> [223,] \"6094\" \"6414\" #> [224,] \"6094\" \"6095\" #> [225,] \"6094\" \"6093\" #> [226,] \"6094\" \"6415\" #> [227,] \"6095\" \"5775\" #> [228,] \"6095\" \"6415\" #> [229,] \"6095\" \"6096\" #> [230,] \"6095\" \"6094\" #> [231,] \"6095\" \"6416\" #> [232,] \"6096\" \"5776\" #> [233,] \"6096\" \"6416\" #> [234,] \"6096\" \"6095\" #> [235,] \"6096\" \"5775\" #> [236,] \"6096\" \"6417\" #> [237,] \"6100\" \"5780\" #> [238,] \"6100\" \"6101\" #> [239,] \"6100\" \"5779\" #> [240,] \"6100\" \"6421\" #> [241,] \"6101\" \"5781\" #> [242,] \"6101\" \"6421\" #> [243,] \"6101\" \"6102\" #> [244,] \"6101\" \"6100\" #> [245,] \"6101\" \"5780\" #> [246,] \"6101\" \"6422\" #> [247,] \"6102\" \"6422\" #> [248,] \"6102\" \"6101\" #> [249,] \"6102\" \"5781\" #> [250,] \"6102\" \"6423\" #> [251,] \"6147\" \"5827\" #> [252,] \"6147\" \"6467\" #> [253,] \"6147\" \"9935\" #> [254,] \"6411\" \"6412\" #> [255,] \"6411\" \"6090\" #> [256,] \"6412\" \"6413\" #> [257,] \"6412\" \"6411\" #> [258,] \"6413\" \"6093\" #> [259,] \"6413\" \"6414\" #> [260,] \"6413\" \"6412\" #> [261,] \"6414\" \"6094\" #> [262,] \"6414\" \"6415\" #> [263,] \"6414\" \"6413\" #> [264,] \"6414\" \"6093\" #> [265,] \"6414\" \"6735\" #> [266,] \"6415\" \"6095\" #> [267,] \"6415\" \"6735\" #> [268,] \"6415\" \"6416\" #> [269,] \"6415\" \"6414\" #> [270,] \"6415\" \"6094\" #> [271,] \"6415\" \"6736\" #> [272,] \"6416\" \"6096\" #> [273,] \"6416\" \"6736\" #> [274,] \"6416\" \"6417\" #> [275,] \"6416\" \"6415\" #> [276,] \"6416\" \"6095\" #> [277,] \"6416\" \"6737\" #> [278,] \"6417\" \"6737\" #> [279,] \"6417\" \"6416\" #> [280,] \"6417\" \"6096\" #> [281,] \"6421\" \"6101\" #> [282,] \"6421\" \"6422\" #> [283,] \"6421\" \"6100\" #> [284,] \"6422\" \"6102\" #> [285,] \"6422\" \"6423\" #> [286,] \"6422\" \"6421\" #> [287,] \"6422\" \"6101\" #> [288,] \"6423\" \"6422\" #> [289,] \"6423\" \"6102\" #> [290,] \"6423\" \"6744\" #> [291,] \"6467\" \"6147\" #> [292,] \"6467\" \"9933\" #> [293,] \"6735\" \"6415\" #> [294,] \"6735\" \"7055\" #> [295,] \"6735\" \"6736\" #> [296,] \"6735\" \"6414\" #> [297,] \"6735\" \"7056\" #> [298,] \"6736\" \"6416\" #> [299,] \"6736\" \"7056\" #> [300,] \"6736\" \"6737\" #> [301,] \"6736\" \"6735\" #> [302,] \"6736\" \"6415\" #> [303,] \"6736\" \"7057\" #> [304,] \"6737\" \"6417\" #> [305,] \"6737\" \"7057\" #> [306,] \"6737\" \"6736\" #> [307,] \"6737\" \"6416\" #> [308,] \"6737\" \"7058\" #> [309,] \"6744\" \"6423\" #> [310,] \"6744\" \"7065\" #> [311,] \"7055\" \"6735\" #> [312,] \"7055\" \"7375\" #> [313,] \"7055\" \"7056\" #> [314,] \"7055\" \"7376\" #> [315,] \"7056\" \"6736\" #> [316,] \"7056\" \"7376\" #> [317,] \"7056\" \"7057\" #> [318,] \"7056\" \"7055\" #> [319,] \"7056\" \"6735\" #> [320,] \"7056\" \"7377\" #> [321,] \"7057\" \"6737\" #> [322,] \"7057\" \"7377\" #> [323,] \"7057\" \"7058\" #> [324,] \"7057\" \"7056\" #> [325,] \"7057\" \"6736\" #> [326,] \"7057\" \"7378\" #> [327,] \"7058\" \"7378\" #> [328,] \"7058\" \"7059\" #> [329,] \"7058\" \"7057\" #> [330,] \"7058\" \"6737\" #> [331,] \"7059\" \"7058\" #> [332,] \"7065\" \"6744\" #> [333,] \"7065\" \"7386\" #> [334,] \"7375\" \"7055\" #> [335,] \"7375\" \"7695\" #> [336,] \"7375\" \"7376\" #> [337,] \"7375\" \"7696\" #> [338,] \"7376\" \"7056\" #> [339,] \"7376\" \"7696\" #> [340,] \"7376\" \"7377\" #> [341,] \"7376\" \"7375\" #> [342,] \"7376\" \"7055\" #> [343,] \"7376\" \"7697\" #> [344,] \"7377\" \"7057\" #> [345,] \"7377\" \"7697\" #> [346,] \"7377\" \"7378\" #> [347,] \"7377\" \"7376\" #> [348,] \"7377\" \"7056\" #> [349,] \"7377\" \"7698\" #> [350,] \"7378\" \"7058\" #> [351,] \"7378\" \"7698\" #> [352,] \"7378\" \"7377\" #> [353,] \"7378\" \"7057\" #> [354,] \"7378\" \"7699\" #> [355,] \"7381\" \"7702\" #> [356,] \"7386\" \"7065\" #> [357,] \"7692\" \"8012\" #> [358,] \"7692\" \"7693\" #> [359,] \"7692\" \"8013\" #> [360,] \"7693\" \"8013\" #> [361,] \"7693\" \"7694\" #> [362,] \"7693\" \"7692\" #> [363,] \"7693\" \"8014\" #> [364,] \"7694\" \"8014\" #> [365,] \"7694\" \"7695\" #> [366,] \"7694\" \"7693\" #> [367,] \"7694\" \"8015\" #> [368,] \"7695\" \"7375\" #> [369,] \"7695\" \"8015\" #> [370,] \"7695\" \"7696\" #> [371,] \"7695\" \"7694\" #> [372,] \"7696\" \"7376\" #> [373,] \"7696\" \"7697\" #> [374,] \"7696\" \"7695\" #> [375,] \"7696\" \"7375\" #> [376,] \"7696\" \"8017\" #> [377,] \"7697\" \"7377\" #> [378,] \"7697\" \"8017\" #> [379,] \"7697\" \"7698\" #> [380,] \"7697\" \"7696\" #> [381,] \"7697\" \"7376\" #> [382,] \"7697\" \"8018\" #> [383,] \"7698\" \"7378\" #> [384,] \"7698\" \"8018\" #> [385,] \"7698\" \"7699\" #> [386,] \"7698\" \"7697\" #> [387,] \"7698\" \"7377\" #> [388,] \"7698\" \"8019\" #> [389,] \"7699\" \"8019\" #> [390,] \"7699\" \"7700\" #> [391,] \"7699\" \"7698\" #> [392,] \"7699\" \"7378\" #> [393,] \"7699\" \"8020\" #> [394,] \"7700\" \"8020\" #> [395,] \"7700\" \"7699\" #> [396,] \"7700\" \"8021\" #> [397,] \"7702\" \"8022\" #> [398,] \"7702\" \"7381\" #> [399,] \"7702\" \"8023\" #> [400,] \"8012\" \"7692\" #> [401,] \"8012\" \"8332\" #> [402,] \"8012\" \"8013\" #> [403,] \"8012\" \"8333\" #> [404,] \"8013\" \"7693\" #> [405,] \"8013\" \"8333\" #> [406,] \"8013\" \"8014\" #> [407,] \"8013\" \"8012\" #> [408,] \"8013\" \"7692\" #> [409,] \"8013\" \"8334\" #> [410,] \"8014\" \"7694\" #> [411,] \"8014\" \"8334\" #> [412,] \"8014\" \"8015\" #> [413,] \"8014\" \"8013\" #> [414,] \"8014\" \"7693\" #> [415,] \"8015\" \"7695\" #> [416,] \"8015\" \"8014\" #> [417,] \"8015\" \"7694\" #> [418,] \"8017\" \"7697\" #> [419,] \"8017\" \"8337\" #> [420,] \"8017\" \"8018\" #> [421,] \"8017\" \"7696\" #> [422,] \"8017\" \"8338\" #> [423,] \"8018\" \"7698\" #> [424,] \"8018\" \"8338\" #> [425,] \"8018\" \"8019\" #> [426,] \"8018\" \"8017\" #> [427,] \"8018\" \"7697\" #> [428,] \"8018\" \"8339\" #> [429,] \"8019\" \"7699\" #> [430,] \"8019\" \"8339\" #> [431,] \"8019\" \"8020\" #> [432,] \"8019\" \"8018\" #> [433,] \"8019\" \"7698\" #> [434,] \"8019\" \"8340\" #> [435,] \"8020\" \"7700\" #> [436,] \"8020\" \"8340\" #> [437,] \"8020\" \"8021\" #> [438,] \"8020\" \"8019\" #> [439,] \"8020\" \"7699\" #> [440,] \"8020\" \"8341\" #> [441,] \"8021\" \"8341\" #> [442,] \"8021\" \"8022\" #> [443,] \"8021\" \"8020\" #> [444,] \"8021\" \"7700\" #> [445,] \"8021\" \"8342\" #> [446,] \"8022\" \"7702\" #> [447,] \"8022\" \"8342\" #> [448,] \"8022\" \"8023\" #> [449,] \"8022\" \"8021\" #> [450,] \"8022\" \"8343\" #> [451,] \"8023\" \"8343\" #> [452,] \"8023\" \"8022\" #> [453,] \"8023\" \"7702\" #> [454,] \"8027\" \"8348\" #> [455,] \"8332\" \"8012\" #> [456,] \"8332\" \"8652\" #> [457,] \"8332\" \"8333\" #> [458,] \"8332\" \"8653\" #> [459,] \"8333\" \"8013\" #> [460,] \"8333\" \"8653\" #> [461,] \"8333\" \"8334\" #> [462,] \"8333\" \"8332\" #> [463,] \"8333\" \"8012\" #> [464,] \"8334\" \"8014\" #> [465,] \"8334\" \"8333\" #> [466,] \"8334\" \"8013\" #> [467,] \"8337\" \"8017\" #> [468,] \"8337\" \"8657\" #> [469,] \"8337\" \"8338\" #> [470,] \"8337\" \"8658\" #> [471,] \"8338\" \"8018\" #> [472,] \"8338\" \"8658\" #> [473,] \"8338\" \"8339\" #> [474,] \"8338\" \"8337\" #> [475,] \"8338\" \"8017\" #> [476,] \"8338\" \"8659\" #> [477,] \"8339\" \"8019\" #> [478,] \"8339\" \"8659\" #> [479,] \"8339\" \"8340\" #> [480,] \"8339\" \"8338\" #> [481,] \"8339\" \"8018\" #> [482,] \"8339\" \"8660\" #> [483,] \"8340\" \"8020\" #> [484,] \"8340\" \"8660\" #> [485,] \"8340\" \"8341\" #> [486,] \"8340\" \"8339\" #> [487,] \"8340\" \"8019\" #> [488,] \"8340\" \"8661\" #> [489,] \"8341\" \"8021\" #> [490,] \"8341\" \"8661\" #> [491,] \"8341\" \"8342\" #> [492,] \"8341\" \"8340\" #> [493,] \"8341\" \"8020\" #> [494,] \"8341\" \"8662\" #> [495,] \"8342\" \"8022\" #> [496,] \"8342\" \"8662\" #> [497,] \"8342\" \"8343\" #> [498,] \"8342\" \"8341\" #> [499,] \"8342\" \"8021\" #> [500,] \"8342\" \"8663\" #> [501,] \"8343\" \"8023\" #> [502,] \"8343\" \"8663\" #> [503,] \"8343\" \"8342\" #> [504,] \"8343\" \"8022\" #> [505,] \"8343\" \"8664\" #> [506,] \"8348\" \"8027\" #> [507,] \"8348\" \"8669\" #> [508,] \"8651\" \"8971\" #> [509,] \"8651\" \"8652\" #> [510,] \"8651\" \"8972\" #> [511,] \"8652\" \"8332\" #> [512,] \"8652\" \"8972\" #> [513,] \"8652\" \"8653\" #> [514,] \"8652\" \"8651\" #> [515,] \"8653\" \"8333\" #> [516,] \"8653\" \"8652\" #> [517,] \"8653\" \"8332\" #> [518,] \"8653\" \"8974\" #> [519,] \"8657\" \"8337\" #> [520,] \"8657\" \"8977\" #> [521,] \"8657\" \"8658\" #> [522,] \"8657\" \"8978\" #> [523,] \"8658\" \"8338\" #> [524,] \"8658\" \"8978\" #> [525,] \"8658\" \"8659\" #> [526,] \"8658\" \"8657\" #> [527,] \"8658\" \"8337\" #> [528,] \"8658\" \"8979\" #> [529,] \"8659\" \"8339\" #> [530,] \"8659\" \"8979\" #> [531,] \"8659\" \"8660\" #> [532,] \"8659\" \"8658\" #> [533,] \"8659\" \"8338\" #> [534,] \"8659\" \"8980\" #> [535,] \"8660\" \"8340\" #> [536,] \"8660\" \"8980\" #> [537,] \"8660\" \"8661\" #> [538,] \"8660\" \"8659\" #> [539,] \"8660\" \"8339\" #> [540,] \"8660\" \"8981\" #> [541,] \"8661\" \"8341\" #> [542,] \"8661\" \"8981\" #> [543,] \"8661\" \"8662\" #> [544,] \"8661\" \"8660\" #> [545,] \"8661\" \"8340\" #> [546,] \"8661\" \"8982\" #> [547,] \"8662\" \"8342\" #> [548,] \"8662\" \"8982\" #> [549,] \"8662\" \"8663\" #> [550,] \"8662\" \"8661\" #> [551,] \"8662\" \"8341\" #> [552,] \"8662\" \"8983\" #> [553,] \"8663\" \"8343\" #> [554,] \"8663\" \"8983\" #> [555,] \"8663\" \"8664\" #> [556,] \"8663\" \"8662\" #> [557,] \"8663\" \"8342\" #> [558,] \"8663\" \"8984\" #> [559,] \"8664\" \"8984\" #> [560,] \"8664\" \"8663\" #> [561,] \"8664\" \"8343\" #> [562,] \"8669\" \"8348\" #> [563,] \"8669\" \"8990\" #> [564,] \"8971\" \"8651\" #> [565,] \"8971\" \"9291\" #> [566,] \"8971\" \"8972\" #> [567,] \"8971\" \"9292\" #> [568,] \"8972\" \"8652\" #> [569,] \"8972\" \"9292\" #> [570,] \"8972\" \"8971\" #> [571,] \"8972\" \"8651\" #> [572,] \"8972\" \"9293\" #> [573,] \"8974\" \"9294\" #> [574,] \"8974\" \"8975\" #> [575,] \"8974\" \"8653\" #> [576,] \"8974\" \"9295\" #> [577,] \"8975\" \"9295\" #> [578,] \"8975\" \"8976\" #> [579,] \"8975\" \"8974\" #> [580,] \"8976\" \"8977\" #> [581,] \"8976\" \"8975\" #> [582,] \"8976\" \"9297\" #> [583,] \"8977\" \"8657\" #> [584,] \"8977\" \"9297\" #> [585,] \"8977\" \"8978\" #> [586,] \"8977\" \"8976\" #> [587,] \"8977\" \"9298\" #> [588,] \"8978\" \"8658\" #> [589,] \"8978\" \"9298\" #> [590,] \"8978\" \"8979\" #> [591,] \"8978\" \"8977\" #> [592,] \"8978\" \"8657\" #> [593,] \"8978\" \"9299\" #> [594,] \"8979\" \"8659\" #> [595,] \"8979\" \"9299\" #> [596,] \"8979\" \"8980\" #> [597,] \"8979\" \"8978\" #> [598,] \"8979\" \"8658\" #> [599,] \"8979\" \"9300\" #> [600,] \"8980\" \"8660\" #> [601,] \"8980\" \"9300\" #> [602,] \"8980\" \"8981\" #> [603,] \"8980\" \"8979\" #> [604,] \"8980\" \"8659\" #> [605,] \"8980\" \"9301\" #> [606,] \"8981\" \"8661\" #> [607,] \"8981\" \"9301\" #> [608,] \"8981\" \"8982\" #> [609,] \"8981\" \"8980\" #> [610,] \"8981\" \"8660\" #> [611,] \"8981\" \"9302\" #> [612,] \"8982\" \"8662\" #> [613,] \"8982\" \"9302\" #> [614,] \"8982\" \"8983\" #> [615,] \"8982\" \"8981\" #> [616,] \"8982\" \"8661\" #> [617,] \"8982\" \"9303\" #> [618,] \"8983\" \"8663\" #> [619,] \"8983\" \"9303\" #> [620,] \"8983\" \"8984\" #> [621,] \"8983\" \"8982\" #> [622,] \"8983\" \"8662\" #> [623,] \"8984\" \"8664\" #> [624,] \"8984\" \"8983\" #> [625,] \"8984\" \"8663\" #> [626,] \"8986\" \"9306\" #> [627,] \"8986\" \"9307\" #> [628,] \"8990\" \"8669\" #> [629,] \"9291\" \"8971\" #> [630,] \"9291\" \"9292\" #> [631,] \"9291\" \"9612\" #> [632,] \"9292\" \"8972\" #> [633,] \"9292\" \"9612\" #> [634,] \"9292\" \"9293\" #> [635,] \"9292\" \"9291\" #> [636,] \"9292\" \"8971\" #> [637,] \"9292\" \"9613\" #> [638,] \"9293\" \"9613\" #> [639,] \"9293\" \"9294\" #> [640,] \"9293\" \"9292\" #> [641,] \"9293\" \"8972\" #> [642,] \"9293\" \"9614\" #> [643,] \"9294\" \"8974\" #> [644,] \"9294\" \"9614\" #> [645,] \"9294\" \"9295\" #> [646,] \"9294\" \"9293\" #> [647,] \"9294\" \"9615\" #> [648,] \"9295\" \"8975\" #> [649,] \"9295\" \"9615\" #> [650,] \"9295\" \"9294\" #> [651,] \"9295\" \"8974\" #> [652,] \"9295\" \"9616\" #> [653,] \"9297\" \"8977\" #> [654,] \"9297\" \"9617\" #> [655,] \"9297\" \"9298\" #> [656,] \"9297\" \"8976\" #> [657,] \"9297\" \"9618\" #> [658,] \"9298\" \"8978\" #> [659,] \"9298\" \"9618\" #> [660,] \"9298\" \"9299\" #> [661,] \"9298\" \"9297\" #> [662,] \"9298\" \"8977\" #> [663,] \"9298\" \"9619\" #> [664,] \"9299\" \"8979\" #> [665,] \"9299\" \"9619\" #> [666,] \"9299\" \"9300\" #> [667,] \"9299\" \"9298\" #> [668,] \"9299\" \"8978\" #> [669,] \"9299\" \"9620\" #> [670,] \"9300\" \"8980\" #> [671,] \"9300\" \"9620\" #> [672,] \"9300\" \"9301\" #> [673,] \"9300\" \"9299\" #> [674,] \"9300\" \"8979\" #> [675,] \"9300\" \"9621\" #> [676,] \"9301\" \"8981\" #> [677,] \"9301\" \"9621\" #> [678,] \"9301\" \"9302\" #> [679,] \"9301\" \"9300\" #> [680,] \"9301\" \"8980\" #> [681,] \"9301\" \"9622\" #> [682,] \"9302\" \"8982\" #> [683,] \"9302\" \"9622\" #> [684,] \"9302\" \"9303\" #> [685,] \"9302\" \"9301\" #> [686,] \"9302\" \"8981\" #> [687,] \"9302\" \"9623\" #> [688,] \"9303\" \"8983\" #> [689,] \"9303\" \"9623\" #> [690,] \"9303\" \"9302\" #> [691,] \"9303\" \"8982\" #> [692,] \"9303\" \"9624\" #> [693,] \"9306\" \"8986\" #> [694,] \"9306\" \"9626\" #> [695,] \"9306\" \"9307\" #> [696,] \"9306\" \"9627\" #> [697,] \"9307\" \"9627\" #> [698,] \"9307\" \"9306\" #> [699,] \"9307\" \"8986\" #> [700,] \"9307\" \"9628\" #> [701,] \"9612\" \"9292\" #> [702,] \"9612\" \"9613\" #> [703,] \"9612\" \"9291\" #> [704,] \"9612\" \"9933\" #> [705,] \"9613\" \"9293\" #> [706,] \"9613\" \"9933\" #> [707,] \"9613\" \"9614\" #> [708,] \"9613\" \"9612\" #> [709,] \"9613\" \"9292\" #> [710,] \"9614\" \"9294\" #> [711,] \"9614\" \"9615\" #> [712,] \"9614\" \"9613\" #> [713,] \"9614\" \"9293\" #> [714,] \"9614\" \"9935\" #> [715,] \"9615\" \"9295\" #> [716,] \"9615\" \"9935\" #> [717,] \"9615\" \"9616\" #> [718,] \"9615\" \"9614\" #> [719,] \"9615\" \"9294\" #> [720,] \"9615\" \"9936\" #> [721,] \"9616\" \"9936\" #> [722,] \"9616\" \"9617\" #> [723,] \"9616\" \"9615\" #> [724,] \"9616\" \"9295\" #> [725,] \"9616\" \"9937\" #> [726,] \"9617\" \"9297\" #> [727,] \"9617\" \"9937\" #> [728,] \"9617\" \"9618\" #> [729,] \"9617\" \"9616\" #> [730,] \"9617\" \"9938\" #> [731,] \"9618\" \"9298\" #> [732,] \"9618\" \"9938\" #> [733,] \"9618\" \"9619\" #> [734,] \"9618\" \"9617\" #> [735,] \"9618\" \"9297\" #> [736,] \"9618\" \"9939\" #> [737,] \"9619\" \"9299\" #> [738,] \"9619\" \"9939\" #> [739,] \"9619\" \"9620\" #> [740,] \"9619\" \"9618\" #> [741,] \"9619\" \"9298\" #> [742,] \"9619\" \"9940\" #> [743,] \"9620\" \"9300\" #> [744,] \"9620\" \"9940\" #> [745,] \"9620\" \"9621\" #> [746,] \"9620\" \"9619\" #> [747,] \"9620\" \"9299\" #> [748,] \"9620\" \"9941\" #> [749,] \"9621\" \"9301\" #> [750,] \"9621\" \"9941\" #> [751,] \"9621\" \"9622\" #> [752,] \"9621\" \"9620\" #> [753,] \"9621\" \"9300\" #> [754,] \"9621\" \"9942\" #> [755,] \"9622\" \"9302\" #> [756,] \"9622\" \"9942\" #> [757,] \"9622\" \"9623\" #> [758,] \"9622\" \"9621\" #> [759,] \"9622\" \"9301\" #> [760,] \"9622\" \"9943\" #> [761,] \"9623\" \"9303\" #> [762,] \"9623\" \"9943\" #> [763,] \"9623\" \"9624\" #> [764,] \"9623\" \"9622\" #> [765,] \"9623\" \"9302\" #> [766,] \"9624\" \"9623\" #> [767,] \"9624\" \"9303\" #> [768,] \"9626\" \"9306\" #> [769,] \"9626\" \"9627\" #> [770,] \"9626\" \"9947\" #> [771,] \"9627\" \"9307\" #> [772,] \"9627\" \"9947\" #> [773,] \"9627\" \"9628\" #> [774,] \"9627\" \"9626\" #> [775,] \"9627\" \"9306\" #> [776,] \"9627\" \"9948\" #> [777,] \"9628\" \"9948\" #> [778,] \"9628\" \"9627\" #> [779,] \"9628\" \"9307\" #> [780,] \"9933\" \"9613\" #> [781,] \"9933\" \"9612\" #> [782,] \"9933\" \"6467\" #> [783,] \"9935\" \"9615\" #> [784,] \"9935\" \"6147\" #> [785,] \"9935\" \"9936\" #> [786,] \"9935\" \"9614\" #> [787,] \"9935\" \"5827\" #> [788,] \"9936\" \"9616\" #> [789,] \"9936\" \"5827\" #> [790,] \"9936\" \"9937\" #> [791,] \"9936\" \"9935\" #> [792,] \"9936\" \"9615\" #> [793,] \"9936\" \"5507\" #> [794,] \"9937\" \"9617\" #> [795,] \"9937\" \"5507\" #> [796,] \"9937\" \"9938\" #> [797,] \"9937\" \"9936\" #> [798,] \"9937\" \"9616\" #> [799,] \"9937\" \"5187\" #> [800,] \"9938\" \"9618\" #> [801,] \"9938\" \"5187\" #> [802,] \"9938\" \"9939\" #> [803,] \"9938\" \"9937\" #> [804,] \"9938\" \"9617\" #> [805,] \"9938\" \"4867\" #> [806,] \"9939\" \"9619\" #> [807,] \"9939\" \"4867\" #> [808,] \"9939\" \"9940\" #> [809,] \"9939\" \"9938\" #> [810,] \"9939\" \"9618\" #> [811,] \"9939\" \"4547\" #> [812,] \"9940\" \"9620\" #> [813,] \"9940\" \"4547\" #> [814,] \"9940\" \"9941\" #> [815,] \"9940\" \"9939\" #> [816,] \"9940\" \"9619\" #> [817,] \"9940\" \"4227\" #> [818,] \"9941\" \"9621\" #> [819,] \"9941\" \"4227\" #> [820,] \"9941\" \"9942\" #> [821,] \"9941\" \"9940\" #> [822,] \"9941\" \"9620\" #> [823,] \"9941\" \"3907\" #> [824,] \"9942\" \"9622\" #> [825,] \"9942\" \"3907\" #> [826,] \"9942\" \"9943\" #> [827,] \"9942\" \"9941\" #> [828,] \"9942\" \"9621\" #> [829,] \"9942\" \"3587\" #> [830,] \"9943\" \"9623\" #> [831,] \"9943\" \"3587\" #> [832,] \"9943\" \"9942\" #> [833,] \"9943\" \"9622\" #> [834,] \"9943\" \"3267\" #> [835,] \"9947\" \"9627\" #> [836,] \"9947\" \"9948\" #> [837,] \"9947\" \"9626\" #> [838,] \"9947\" \"1987\" #> [839,] \"9948\" \"9628\" #> [840,] \"9948\" \"1987\" #> [841,] \"9948\" \"9947\" #> [842,] \"9948\" \"9627\" #> [843,] \"9948\" \"1667\" #> [844,] \"9950\" \"1347\" #> [845,] \"9950\" \"9951\" #> [846,] \"9950\" \"1027\" #> [847,] \"9951\" \"1027\" #> [848,] \"9951\" \"9952\" #> [849,] \"9951\" \"9950\" #> [850,] \"9951\" \"707\" #> [851,] \"9952\" \"707\" #> [852,] \"9952\" \"9951\" getEdges(x, res.type = \"matId\") #> Vi Vj #> [1,] 1 2 #> [2,] 1 358 #> [3,] 1 359 #> [4,] 1 3 #> [5,] 2 1 #> [6,] 2 4 #> [7,] 2 3 #> [8,] 2 357 #> [9,] 2 358 #> [10,] 2 5 #> [11,] 3 5 #> [12,] 3 2 #> [13,] 3 1 #> [14,] 4 2 #> [15,] 4 6 #> [16,] 4 5 #> [17,] 4 357 #> [18,] 4 7 #> [19,] 5 3 #> [20,] 5 7 #> [21,] 5 4 #> [22,] 5 2 #> [23,] 6 4 #> [24,] 6 8 #> [25,] 6 7 #> [26,] 6 355 #> [27,] 6 9 #> [28,] 7 5 #> [29,] 7 9 #> [30,] 7 6 #> [31,] 7 4 #> [32,] 8 6 #> [33,] 8 9 #> [34,] 8 354 #> [35,] 8 355 #> [36,] 8 11 #> [37,] 9 7 #> [38,] 9 11 #> [39,] 9 8 #> [40,] 9 6 #> [41,] 11 9 #> [42,] 11 8 #> [43,] 14 16 #> [44,] 14 15 #> [45,] 14 17 #> [46,] 15 17 #> [47,] 15 14 #> [48,] 16 14 #> [49,] 16 20 #> [50,] 16 17 #> [51,] 16 350 #> [52,] 16 21 #> [53,] 17 15 #> [54,] 17 21 #> [55,] 17 16 #> [56,] 17 14 #> [57,] 19 24 #> [58,] 20 16 #> [59,] 20 25 #> [60,] 20 21 #> [61,] 20 349 #> [62,] 20 350 #> [63,] 20 26 #> [64,] 21 17 #> [65,] 21 26 #> [66,] 21 20 #> [67,] 21 16 #> [68,] 24 30 #> [69,] 24 19 #> [70,] 24 31 #> [71,] 25 20 #> [72,] 25 32 #> [73,] 25 26 #> [74,] 25 348 #> [75,] 25 349 #> [76,] 25 33 #> [77,] 26 21 #> [78,] 26 33 #> [79,] 26 25 #> [80,] 26 20 #> [81,] 30 24 #> [82,] 30 31 #> [83,] 30 38 #> [84,] 31 38 #> [85,] 31 30 #> [86,] 31 24 #> [87,] 31 39 #> [88,] 32 25 #> [89,] 32 40 #> [90,] 32 33 #> [91,] 32 347 #> [92,] 32 348 #> [93,] 33 26 #> [94,] 33 32 #> [95,] 33 25 #> [96,] 35 43 #> [97,] 35 36 #> [98,] 35 44 #> [99,] 36 44 #> [100,] 36 35 #> [101,] 36 45 #> [102,] 38 31 #> [103,] 38 39 #> [104,] 38 30 #> [105,] 38 47 #> [106,] 39 47 #> [107,] 39 38 #> [108,] 39 31 #> [109,] 39 48 #> [110,] 40 32 #> [111,] 40 49 #> [112,] 40 346 #> [113,] 40 347 #> [114,] 43 35 #> [115,] 43 44 #> [116,] 43 53 #> [117,] 44 36 #> [118,] 44 53 #> [119,] 44 45 #> [120,] 44 43 #> [121,] 44 35 #> [122,] 44 54 #> [123,] 45 54 #> [124,] 45 44 #> [125,] 45 36 #> [126,] 45 55 #> [127,] 47 39 #> [128,] 47 56 #> [129,] 47 48 #> [130,] 47 38 #> [131,] 47 57 #> [132,] 48 57 #> [133,] 48 47 #> [134,] 48 39 #> [135,] 48 58 #> [136,] 49 40 #> [137,] 49 59 #> [138,] 49 345 #> [139,] 49 346 #> [140,] 53 44 #> [141,] 53 54 #> [142,] 53 43 #> [143,] 53 65 #> [144,] 54 45 #> [145,] 54 65 #> [146,] 54 55 #> [147,] 54 53 #> [148,] 54 44 #> [149,] 55 56 #> [150,] 55 54 #> [151,] 55 45 #> [152,] 56 47 #> [153,] 56 57 #> [154,] 56 55 #> [155,] 56 68 #> [156,] 57 48 #> [157,] 57 68 #> [158,] 57 58 #> [159,] 57 56 #> [160,] 57 47 #> [161,] 57 69 #> [162,] 58 69 #> [163,] 58 57 #> [164,] 58 48 #> [165,] 58 70 #> [166,] 59 49 #> [167,] 59 71 #> [168,] 59 344 #> [169,] 59 345 #> [170,] 65 54 #> [171,] 65 77 #> [172,] 65 53 #> [173,] 65 78 #> [174,] 68 57 #> [175,] 68 69 #> [176,] 68 56 #> [177,] 68 81 #> [178,] 69 58 #> [179,] 69 81 #> [180,] 69 70 #> [181,] 69 68 #> [182,] 69 57 #> [183,] 69 82 #> [184,] 70 82 #> [185,] 70 69 #> [186,] 70 58 #> [187,] 70 83 #> [188,] 71 59 #> [189,] 71 84 #> [190,] 71 343 #> [191,] 71 344 #> [192,] 72 86 #> [193,] 77 65 #> [194,] 77 91 #> [195,] 77 78 #> [196,] 77 92 #> [197,] 78 92 #> [198,] 78 77 #> [199,] 78 65 #> [200,] 81 69 #> [201,] 81 82 #> [202,] 81 68 #> [203,] 81 96 #> [204,] 82 70 #> [205,] 82 96 #> [206,] 82 83 #> [207,] 82 81 #> [208,] 82 69 #> [209,] 82 97 #> [210,] 83 97 #> [211,] 83 82 #> [212,] 83 70 #> [213,] 83 98 #> [214,] 84 71 #> [215,] 84 99 #> [216,] 84 342 #> [217,] 84 343 #> [218,] 86 72 #> [219,] 86 102 #> [220,] 89 104 #> [221,] 89 90 #> [222,] 89 105 #> [223,] 90 105 #> [224,] 90 91 #> [225,] 90 89 #> [226,] 90 106 #> [227,] 91 77 #> [228,] 91 106 #> [229,] 91 92 #> [230,] 91 90 #> [231,] 91 107 #> [232,] 92 78 #> [233,] 92 107 #> [234,] 92 91 #> [235,] 92 77 #> [236,] 92 108 #> [237,] 96 82 #> [238,] 96 97 #> [239,] 96 81 #> [240,] 96 112 #> [241,] 97 83 #> [242,] 97 112 #> [243,] 97 98 #> [244,] 97 96 #> [245,] 97 82 #> [246,] 97 113 #> [247,] 98 113 #> [248,] 98 97 #> [249,] 98 83 #> [250,] 98 114 #> [251,] 99 84 #> [252,] 99 115 #> [253,] 99 342 #> [254,] 102 103 #> [255,] 102 86 #> [256,] 103 104 #> [257,] 103 102 #> [258,] 104 89 #> [259,] 104 105 #> [260,] 104 103 #> [261,] 105 90 #> [262,] 105 106 #> [263,] 105 104 #> [264,] 105 89 #> [265,] 105 123 #> [266,] 106 91 #> [267,] 106 123 #> [268,] 106 107 #> [269,] 106 105 #> [270,] 106 90 #> [271,] 106 124 #> [272,] 107 92 #> [273,] 107 124 #> [274,] 107 108 #> [275,] 107 106 #> [276,] 107 91 #> [277,] 107 125 #> [278,] 108 125 #> [279,] 108 107 #> [280,] 108 92 #> [281,] 112 97 #> [282,] 112 113 #> [283,] 112 96 #> [284,] 113 98 #> [285,] 113 114 #> [286,] 113 112 #> [287,] 113 97 #> [288,] 114 113 #> [289,] 114 98 #> [290,] 114 132 #> [291,] 115 99 #> [292,] 115 340 #> [293,] 123 106 #> [294,] 123 141 #> [295,] 123 124 #> [296,] 123 105 #> [297,] 123 142 #> [298,] 124 107 #> [299,] 124 142 #> [300,] 124 125 #> [301,] 124 123 #> [302,] 124 106 #> [303,] 124 143 #> [304,] 125 108 #> [305,] 125 143 #> [306,] 125 124 #> [307,] 125 107 #> [308,] 125 144 #> [309,] 132 114 #> [310,] 132 151 #> [311,] 141 123 #> [312,] 141 161 #> [313,] 141 142 #> [314,] 141 162 #> [315,] 142 124 #> [316,] 142 162 #> [317,] 142 143 #> [318,] 142 141 #> [319,] 142 123 #> [320,] 142 163 #> [321,] 143 125 #> [322,] 143 163 #> [323,] 143 144 #> [324,] 143 142 #> [325,] 143 124 #> [326,] 143 164 #> [327,] 144 164 #> [328,] 144 145 #> [329,] 144 143 #> [330,] 144 125 #> [331,] 145 144 #> [332,] 151 132 #> [333,] 151 172 #> [334,] 161 141 #> [335,] 161 181 #> [336,] 161 162 #> [337,] 161 182 #> [338,] 162 142 #> [339,] 162 182 #> [340,] 162 163 #> [341,] 162 161 #> [342,] 162 141 #> [343,] 162 183 #> [344,] 163 143 #> [345,] 163 183 #> [346,] 163 164 #> [347,] 163 162 #> [348,] 163 142 #> [349,] 163 184 #> [350,] 164 144 #> [351,] 164 184 #> [352,] 164 163 #> [353,] 164 143 #> [354,] 164 185 #> [355,] 167 188 #> [356,] 172 151 #> [357,] 178 199 #> [358,] 178 179 #> [359,] 178 200 #> [360,] 179 200 #> [361,] 179 180 #> [362,] 179 178 #> [363,] 179 201 #> [364,] 180 201 #> [365,] 180 181 #> [366,] 180 179 #> [367,] 180 202 #> [368,] 181 161 #> [369,] 181 202 #> [370,] 181 182 #> [371,] 181 180 #> [372,] 182 162 #> [373,] 182 183 #> [374,] 182 181 #> [375,] 182 161 #> [376,] 182 204 #> [377,] 183 163 #> [378,] 183 204 #> [379,] 183 184 #> [380,] 183 182 #> [381,] 183 162 #> [382,] 183 205 #> [383,] 184 164 #> [384,] 184 205 #> [385,] 184 185 #> [386,] 184 183 #> [387,] 184 163 #> [388,] 184 206 #> [389,] 185 206 #> [390,] 185 186 #> [391,] 185 184 #> [392,] 185 164 #> [393,] 185 207 #> [394,] 186 207 #> [395,] 186 185 #> [396,] 186 208 #> [397,] 188 209 #> [398,] 188 167 #> [399,] 188 210 #> [400,] 199 178 #> [401,] 199 222 #> [402,] 199 200 #> [403,] 199 223 #> [404,] 200 179 #> [405,] 200 223 #> [406,] 200 201 #> [407,] 200 199 #> [408,] 200 178 #> [409,] 200 224 #> [410,] 201 180 #> [411,] 201 224 #> [412,] 201 202 #> [413,] 201 200 #> [414,] 201 179 #> [415,] 202 181 #> [416,] 202 201 #> [417,] 202 180 #> [418,] 204 183 #> [419,] 204 227 #> [420,] 204 205 #> [421,] 204 182 #> [422,] 204 228 #> [423,] 205 184 #> [424,] 205 228 #> [425,] 205 206 #> [426,] 205 204 #> [427,] 205 183 #> [428,] 205 229 #> [429,] 206 185 #> [430,] 206 229 #> [431,] 206 207 #> [432,] 206 205 #> [433,] 206 184 #> [434,] 206 230 #> [435,] 207 186 #> [436,] 207 230 #> [437,] 207 208 #> [438,] 207 206 #> [439,] 207 185 #> [440,] 207 231 #> [441,] 208 231 #> [442,] 208 209 #> [443,] 208 207 #> [444,] 208 186 #> [445,] 208 232 #> [446,] 209 188 #> [447,] 209 232 #> [448,] 209 210 #> [449,] 209 208 #> [450,] 209 233 #> [451,] 210 233 #> [452,] 210 209 #> [453,] 210 188 #> [454,] 214 238 #> [455,] 222 199 #> [456,] 222 245 #> [457,] 222 223 #> [458,] 222 246 #> [459,] 223 200 #> [460,] 223 246 #> [461,] 223 224 #> [462,] 223 222 #> [463,] 223 199 #> [464,] 224 201 #> [465,] 224 223 #> [466,] 224 200 #> [467,] 227 204 #> [468,] 227 250 #> [469,] 227 228 #> [470,] 227 251 #> [471,] 228 205 #> [472,] 228 251 #> [473,] 228 229 #> [474,] 228 227 #> [475,] 228 204 #> [476,] 228 252 #> [477,] 229 206 #> [478,] 229 252 #> [479,] 229 230 #> [480,] 229 228 #> [481,] 229 205 #> [482,] 229 253 #> [483,] 230 207 #> [484,] 230 253 #> [485,] 230 231 #> [486,] 230 229 #> [487,] 230 206 #> [488,] 230 254 #> [489,] 231 208 #> [490,] 231 254 #> [491,] 231 232 #> [492,] 231 230 #> [493,] 231 207 #> [494,] 231 255 #> [495,] 232 209 #> [496,] 232 255 #> [497,] 232 233 #> [498,] 232 231 #> [499,] 232 208 #> [500,] 232 256 #> [501,] 233 210 #> [502,] 233 256 #> [503,] 233 232 #> [504,] 233 209 #> [505,] 233 257 #> [506,] 238 214 #> [507,] 238 262 #> [508,] 244 267 #> [509,] 244 245 #> [510,] 244 268 #> [511,] 245 222 #> [512,] 245 268 #> [513,] 245 246 #> [514,] 245 244 #> [515,] 246 223 #> [516,] 246 245 #> [517,] 246 222 #> [518,] 246 270 #> [519,] 250 227 #> [520,] 250 273 #> [521,] 250 251 #> [522,] 250 274 #> [523,] 251 228 #> [524,] 251 274 #> [525,] 251 252 #> [526,] 251 250 #> [527,] 251 227 #> [528,] 251 275 #> [529,] 252 229 #> [530,] 252 275 #> [531,] 252 253 #> [532,] 252 251 #> [533,] 252 228 #> [534,] 252 276 #> [535,] 253 230 #> [536,] 253 276 #> [537,] 253 254 #> [538,] 253 252 #> [539,] 253 229 #> [540,] 253 277 #> [541,] 254 231 #> [542,] 254 277 #> [543,] 254 255 #> [544,] 254 253 #> [545,] 254 230 #> [546,] 254 278 #> [547,] 255 232 #> [548,] 255 278 #> [549,] 255 256 #> [550,] 255 254 #> [551,] 255 231 #> [552,] 255 279 #> [553,] 256 233 #> [554,] 256 279 #> [555,] 256 257 #> [556,] 256 255 #> [557,] 256 232 #> [558,] 256 280 #> [559,] 257 280 #> [560,] 257 256 #> [561,] 257 233 #> [562,] 262 238 #> [563,] 262 286 #> [564,] 267 244 #> [565,] 267 291 #> [566,] 267 268 #> [567,] 267 292 #> [568,] 268 245 #> [569,] 268 292 #> [570,] 268 267 #> [571,] 268 244 #> [572,] 268 293 #> [573,] 270 294 #> [574,] 270 271 #> [575,] 270 246 #> [576,] 270 295 #> [577,] 271 295 #> [578,] 271 272 #> [579,] 271 270 #> [580,] 272 273 #> [581,] 272 271 #> [582,] 272 297 #> [583,] 273 250 #> [584,] 273 297 #> [585,] 273 274 #> [586,] 273 272 #> [587,] 273 298 #> [588,] 274 251 #> [589,] 274 298 #> [590,] 274 275 #> [591,] 274 273 #> [592,] 274 250 #> [593,] 274 299 #> [594,] 275 252 #> [595,] 275 299 #> [596,] 275 276 #> [597,] 275 274 #> [598,] 275 251 #> [599,] 275 300 #> [600,] 276 253 #> [601,] 276 300 #> [602,] 276 277 #> [603,] 276 275 #> [604,] 276 252 #> [605,] 276 301 #> [606,] 277 254 #> [607,] 277 301 #> [608,] 277 278 #> [609,] 277 276 #> [610,] 277 253 #> [611,] 277 302 #> [612,] 278 255 #> [613,] 278 302 #> [614,] 278 279 #> [615,] 278 277 #> [616,] 278 254 #> [617,] 278 303 #> [618,] 279 256 #> [619,] 279 303 #> [620,] 279 280 #> [621,] 279 278 #> [622,] 279 255 #> [623,] 280 257 #> [624,] 280 279 #> [625,] 280 256 #> [626,] 282 306 #> [627,] 282 307 #> [628,] 286 262 #> [629,] 291 267 #> [630,] 291 292 #> [631,] 291 315 #> [632,] 292 268 #> [633,] 292 315 #> [634,] 292 293 #> [635,] 292 291 #> [636,] 292 267 #> [637,] 292 316 #> [638,] 293 316 #> [639,] 293 294 #> [640,] 293 292 #> [641,] 293 268 #> [642,] 293 317 #> [643,] 294 270 #> [644,] 294 317 #> [645,] 294 295 #> [646,] 294 293 #> [647,] 294 318 #> [648,] 295 271 #> [649,] 295 318 #> [650,] 295 294 #> [651,] 295 270 #> [652,] 295 319 #> [653,] 297 273 #> [654,] 297 320 #> [655,] 297 298 #> [656,] 297 272 #> [657,] 297 321 #> [658,] 298 274 #> [659,] 298 321 #> [660,] 298 299 #> [661,] 298 297 #> [662,] 298 273 #> [663,] 298 322 #> [664,] 299 275 #> [665,] 299 322 #> [666,] 299 300 #> [667,] 299 298 #> [668,] 299 274 #> [669,] 299 323 #> [670,] 300 276 #> [671,] 300 323 #> [672,] 300 301 #> [673,] 300 299 #> [674,] 300 275 #> [675,] 300 324 #> [676,] 301 277 #> [677,] 301 324 #> [678,] 301 302 #> [679,] 301 300 #> [680,] 301 276 #> [681,] 301 325 #> [682,] 302 278 #> [683,] 302 325 #> [684,] 302 303 #> [685,] 302 301 #> [686,] 302 277 #> [687,] 302 326 #> [688,] 303 279 #> [689,] 303 326 #> [690,] 303 302 #> [691,] 303 278 #> [692,] 303 327 #> [693,] 306 282 #> [694,] 306 329 #> [695,] 306 307 #> [696,] 306 330 #> [697,] 307 330 #> [698,] 307 306 #> [699,] 307 282 #> [700,] 307 331 #> [701,] 315 292 #> [702,] 315 316 #> [703,] 315 291 #> [704,] 315 340 #> [705,] 316 293 #> [706,] 316 340 #> [707,] 316 317 #> [708,] 316 315 #> [709,] 316 292 #> [710,] 317 294 #> [711,] 317 318 #> [712,] 317 316 #> [713,] 317 293 #> [714,] 317 342 #> [715,] 318 295 #> [716,] 318 342 #> [717,] 318 319 #> [718,] 318 317 #> [719,] 318 294 #> [720,] 318 343 #> [721,] 319 343 #> [722,] 319 320 #> [723,] 319 318 #> [724,] 319 295 #> [725,] 319 344 #> [726,] 320 297 #> [727,] 320 344 #> [728,] 320 321 #> [729,] 320 319 #> [730,] 320 345 #> [731,] 321 298 #> [732,] 321 345 #> [733,] 321 322 #> [734,] 321 320 #> [735,] 321 297 #> [736,] 321 346 #> [737,] 322 299 #> [738,] 322 346 #> [739,] 322 323 #> [740,] 322 321 #> [741,] 322 298 #> [742,] 322 347 #> [743,] 323 300 #> [744,] 323 347 #> [745,] 323 324 #> [746,] 323 322 #> [747,] 323 299 #> [748,] 323 348 #> [749,] 324 301 #> [750,] 324 348 #> [751,] 324 325 #> [752,] 324 323 #> [753,] 324 300 #> [754,] 324 349 #> [755,] 325 302 #> [756,] 325 349 #> [757,] 325 326 #> [758,] 325 324 #> [759,] 325 301 #> [760,] 325 350 #> [761,] 326 303 #> [762,] 326 350 #> [763,] 326 327 #> [764,] 326 325 #> [765,] 326 302 #> [766,] 327 326 #> [767,] 327 303 #> [768,] 329 306 #> [769,] 329 330 #> [770,] 329 354 #> [771,] 330 307 #> [772,] 330 354 #> [773,] 330 331 #> [774,] 330 329 #> [775,] 330 306 #> [776,] 330 355 #> [777,] 331 355 #> [778,] 331 330 #> [779,] 331 307 #> [780,] 340 316 #> [781,] 340 315 #> [782,] 340 115 #> [783,] 342 318 #> [784,] 342 99 #> [785,] 342 343 #> [786,] 342 317 #> [787,] 342 84 #> [788,] 343 319 #> [789,] 343 84 #> [790,] 343 344 #> [791,] 343 342 #> [792,] 343 318 #> [793,] 343 71 #> [794,] 344 320 #> [795,] 344 71 #> [796,] 344 345 #> [797,] 344 343 #> [798,] 344 319 #> [799,] 344 59 #> [800,] 345 321 #> [801,] 345 59 #> [802,] 345 346 #> [803,] 345 344 #> [804,] 345 320 #> [805,] 345 49 #> [806,] 346 322 #> [807,] 346 49 #> [808,] 346 347 #> [809,] 346 345 #> [810,] 346 321 #> [811,] 346 40 #> [812,] 347 323 #> [813,] 347 40 #> [814,] 347 348 #> [815,] 347 346 #> [816,] 347 322 #> [817,] 347 32 #> [818,] 348 324 #> [819,] 348 32 #> [820,] 348 349 #> [821,] 348 347 #> [822,] 348 323 #> [823,] 348 25 #> [824,] 349 325 #> [825,] 349 25 #> [826,] 349 350 #> [827,] 349 348 #> [828,] 349 324 #> [829,] 349 20 #> [830,] 350 326 #> [831,] 350 20 #> [832,] 350 349 #> [833,] 350 325 #> [834,] 350 16 #> [835,] 354 330 #> [836,] 354 355 #> [837,] 354 329 #> [838,] 354 8 #> [839,] 355 331 #> [840,] 355 8 #> [841,] 355 354 #> [842,] 355 330 #> [843,] 355 6 #> [844,] 357 4 #> [845,] 357 358 #> [846,] 357 2 #> [847,] 358 2 #> [848,] 358 359 #> [849,] 358 357 #> [850,] 358 1 #> [851,] 359 1 #> [852,] 359 358"},{"path":"/reference/getNodesAttr.html","id":null,"dir":"Reference","previous_headings":"","what":"Get nodes attributes from gGraph/gData object — getNodesAttr","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"function getNodesAttr returns values set variables associated nodes (.e. node attributes) gGraph gData object.","code":""},{"path":"/reference/getNodesAttr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"","code":"getNodesAttr(x, ...) # S4 method for gGraph getNodesAttr(x, nodes = NULL, attr.name = NULL, ...) # S4 method for gData getNodesAttr(x, attr.name = NULL, ...)"},{"path":"/reference/getNodesAttr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"x valid gGraph gData object. ... arguments passed methods (currently unused). nodes optional integer, logical, character string indicating subset nodes used. NULL, nodes used. attr.name optional character string indicating node attributes returned. provided, must match least one columns x@nodes.attr.","code":""},{"path":"/reference/getNodesAttr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"data.frame requested nodes attributes. Nodes displayed rows, variables columns.","code":""},{"path":"/reference/getNodesAttr.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"getNodesAttr(gGraph): Method gGraph objects getNodesAttr(gData): Method gData objects","code":""},{"path":[]},{"path":"/reference/getNodesAttr.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/getNodesAttr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get nodes attributes from gGraph/gData object — getNodesAttr","text":"","code":"## gGraph method head(getNodesAttr(worldgraph.40k)) #> habitat #> 1 sea #> 2 sea #> 3 sea #> 4 sea #> 5 sea #> 6 sea ## gData method getNodesAttr(hgdp) #> habitat #> 26898 coast #> 11652 coast #> 22532 land #> 23709 land #> 24988 land #> 28833 land #> 26917 coast #> 28836 coast #> 21797 land #> 39741 coast #> 39740 coast #> 39740.1 coast #> 16798 land #> 16798.1 land #> 22561 land #> 19359 land #> 21280 land #> 13597 coast #> 20000 land #> 16162 land #> 13760 coast #> 7348 coast #> 13365 land #> 10816 land #> 5655 coast #> 40768 land #> 30164 land #> 6433 land #> 15411 land #> 20543 land #> 26955 land #> 13518 land #> 8583 land #> 34111 land #> 18189 land #> 20755 land #> 34111.1 land #> 899 land #> 20110 land #> 5389 land #> 1539 land #> 36661 land #> 28323 land #> 37309 land #> 16265 land #> 35388 land #> 28322 land #> 33480 land #> 19483 coast #> 27148 land #> 11457 land #> 30221 land"},{"path":"/reference/hgdp.html","id":null,"dir":"Reference","previous_headings":"","what":"Human genome diversity panel - georeferenced data — hgdp","title":"Human genome diversity panel - georeferenced data — hgdp","text":"datasets hgdp hgdpPlus provides genetic diversity several human populations worldwide. datasets gData objects, interfaced gGraph object worldgraph.40k.","code":""},{"path":"/reference/hgdp.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Human genome diversity panel - georeferenced data — hgdp","text":"hgdp gGraph object following data: % @nodes.attr$habitat habitat corresponding % vertice; currently 'land' 'sea'. @meta$color matrix assigning color plotting % vertices (second column) different values habitat (first % column).","code":""},{"path":"/reference/hgdp.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Human genome diversity panel - georeferenced data — hgdp","text":"hgdp describes 52 populations original Human Genome Diversity Panel. hgdpPlus describes hgdp populations plus 24 native American populations.","code":""},{"path":"/reference/hgdp.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Human genome diversity panel - georeferenced data — hgdp","text":"Authors Journal, YEAR, nb: pp-pp.","code":""},{"path":"/reference/hgdp.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Human genome diversity panel - georeferenced data — hgdp","text":"","code":"## check object hgdp #> #> === gData object === #> #> @coords: spatial coordinates of 52 nodes #> lon lat #> 1 -3 59 #> 2 39 44 #> 3 40 61 #> ... #> #> @nodes.id: nodes identifiers #> 28179 11012 22532 #> \"26898\" \"11652\" \"22532\" #> ... #> #> @data: 52 data #> Population Region Label n Latitude Longitude Genetic.Div #> 1 Orcadian EUROPE 1 15 59 -3 0.7258820 #> 2 Adygei EUROPE 2 17 44 39 0.7297802 #> 3 Russian EUROPE 3 25 61 40 0.7319749 #> ... #> #> Associated gGraph: worldgraph.40k ## plotting the object plot(hgdp) ## results from Handley et al. if (FALSE) { ## Addis Ababa addis <- list(lon = 38.74, lat = 9.03) addis <- closestNode(worldgraph.40k, addis) # this takes a while ## shortest path from Addis Ababa myPath <- dijkstraFrom(hgdp, addis) ## plot results plot(worldgraph.40k, col = 0) points(hgdp) points(worldgraph.40k[addis], psize = 3, pch = \"x\", col = \"black\") plot(myPath) ## correlations distance/genetic div. geo.dist <- sapply(myPath[-length(myPath)], function(e) e$length) gen.div <- getData(hgdp)[, \"Genetic.Div\"] plot(gen.div ~ geo.dist) lm1 <- lm(gen.div ~ geo.dist) abline(lm1, col = \"blue\") # this regression is wrong summary(lm1) }"},{"path":"/reference/isInArea.html","id":null,"dir":"Reference","previous_headings":"","what":"Find which nodes fall in a given area — isInArea","title":"Find which nodes fall in a given area — isInArea","text":"generic function isInArea finds nodes fall given area. Nodes can specified different ways, including providing gGraph gData object. Different format output also available.","code":""},{"path":"/reference/isInArea.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find which nodes fall in a given area — isInArea","text":"","code":"isInArea(x, ...) # S4 method for matrix isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 ) # S4 method for data.frame isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 ) # S4 method for gGraph isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 ) # S4 method for gData isInArea( x, reg = \"current\", res.type = c(\"logical\", \"integer\", \"character\"), buffer = 0 )"},{"path":"/reference/isInArea.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find which nodes fall in a given area — isInArea","text":"x matrix, data.frame, valid gGraph, valid gData object. matrix data.frame, input must two columns giving longitudes latitudes locations considered. ... arguments passed specific methods. reg character string list indicating area ('reg' stands 'region'). Character strings can \"current\" (current user window, default) \"zoom\" (current zoom). argument list, two components, numeric vectors length two, giving x y limits area. Note list can produced locator, locator(1) valid value reg. res.type character string indicating kind output produced. See value. buffer numeric value giving buffer adding extra space aroung area, proportion current area's dimensions.","code":""},{"path":"/reference/isInArea.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find which nodes fall in a given area — isInArea","text":"output depends value argument res.type: logical: vector logicals one value node input. integer: vector integers corresponding indices nodes falling within area. character: vector characters corresponding names nodes falling within area.","code":""},{"path":"/reference/isInArea.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Find which nodes fall in a given area — isInArea","text":"isInArea(matrix): Method matrix isInArea(data.frame): Method data.frame isInArea(gGraph): Method gGraph object isInArea(gData): Method gData object","code":""},{"path":"/reference/isInArea.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Find which nodes fall in a given area — isInArea","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/isInArea.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Find which nodes fall in a given area — isInArea","text":"","code":"plot(worldgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## different outputs of isInArea head(isInArea(worldgraph.10k)) # logical #> 1 2 3 4 5 6 #> FALSE FALSE FALSE FALSE FALSE FALSE length(isInArea(worldgraph.10k)) #> [1] 10242 sum(isInArea(worldgraph.10k)) #> [1] 359 head(which(isInArea(worldgraph.10k))) # which nodes are TRUE ? #> 707 1027 1028 1347 1348 1667 #> 707 1027 1028 1347 1348 1667 head(isInArea(worldgraph.10k, res.type = \"integer\")) # node indices #> 707 1027 1028 1347 1348 1667 #> 707 1027 1028 1347 1348 1667 head(isInArea(worldgraph.10k, res.type = \"character\")) # node names #> [1] \"707\" \"1027\" \"1028\" \"1347\" \"1348\" \"1667\" ## use isInArea to have a subset of visible nodes x <- worldgraph.10k[isInArea(worldgraph.10k)] plot(x, reset = TRUE)"},{"path":"/reference/makeGrid.html","id":null,"dir":"Reference","previous_headings":"","what":"Build a regular grid gGraph — makeGrid","title":"Build a regular grid gGraph — makeGrid","text":"function makeGrid builds gGraph using regular grid given area. area specified, currently plotted area used. Note grid valid small scales, cases curvature surface earth can neglected.","code":""},{"path":"/reference/makeGrid.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Build a regular grid gGraph — makeGrid","text":"","code":"makeGrid( size = NULL, n.lon = NULL, n.lat = NULL, lon.range = NULL, lat.range = NULL )"},{"path":"/reference/makeGrid.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Build a regular grid gGraph — makeGrid","text":"size integer giving approximate number nodes grid. function attempt make square grid (approximately) size. n.lon number longitude coordinates grid (.e., width grid, number cells) n.lat number latitude coordinates grid (.e., height grid, number cells) lon.range, lat.range vectors length two giving range covered grid, longitude latitude, respectively.","code":""},{"path":"/reference/makeGrid.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Build a regular grid gGraph — makeGrid","text":"gGraph object.","code":""},{"path":"/reference/makeGrid.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Build a regular grid gGraph — makeGrid","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/makeGrid.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Build a regular grid gGraph — makeGrid","text":"","code":"## zoom in to a smaller area plot(worldgraph.10k) geo.zoomin(c(-10, 0, 50, 54)) ## make a new gGraph newGraph <- makeGrid(1e3) newGraph <- findLand(newGraph) newGraph@meta$colors <- data.frame( habitat = c(\"sea\", \"land\"), color = c(\"blue\", \"green\") ) ## plot the new gGraph plot(newGraph, reset = TRUE, edge = TRUE)"},{"path":"/reference/plot-gData.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a gData object. — plot-gData","title":"Plot a gData object. — plot-gData","text":"Various functions plot gData object: plot opens device plots object, points plots object existing device. Plotting gData object relies plotting gGraph object linked, represent locations gData /associated nodes.","code":""},{"path":"/reference/plot-gData.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a gData object. — plot-gData","text":"","code":"# S4 method for gData,missing plot( x, type = c(\"nodes\", \"original\", \"both\"), pch.ori = 4, pch.nodes = 1, col.ori = \"black\", col.nodes = \"red\", col.gGraph = NULL, reset = FALSE, sticky.points = TRUE, ... ) # S4 method for gData points( x, type = c(\"nodes\", \"original\", \"both\"), pch.ori = 4, pch.nodes = 1, col.ori = \"black\", col.nodes = \"red\", sticky.points = TRUE, ... )"},{"path":"/reference/plot-gData.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a gData object. — plot-gData","text":"x valid gData object. gData object linked must exist global environment. type character string indicating information plotted: original locations ('original'), associated nodes ('nodes', default), (''). latter case, arrow goes locations nodes. pch.ori numeric character indicating type point locations. pch.nodes numeric character indicating type point nodes. col.ori character string indicating color used locations. col.nodes character string indicating color used nodes. col.gGraph (recycled) color vector associated gGraph object. NULL, default color used. Set NA \"transparent\" avoid plotting gGraph. reset logical stating whether plotting area reset fit gData object (TRUE), conserve previous plotting settings (FALSE, default). sticky.points logical indicating added points kept replotting (TRUE, default), (FALSE). case, reset=TRUE prevent points redrawn. ... arguments passed points.","code":""},{"path":"/reference/plot-gData.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot a gData object. — plot-gData","text":"sticky.points set TRUE, operations performed graphics like zooming sliding window can performed without loosing gData plot.","code":""},{"path":"/reference/plot-gData.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Plot a gData object. — plot-gData","text":"points(gData): Plot points","code":""},{"path":[]},{"path":"/reference/plot-gData.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Plot a gData object. — plot-gData","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/plot-gData.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a gData object. — plot-gData","text":"","code":"myLoc <- list(x = c(3, -8, 11, 28), y = c(50, 57, 71, 67)) # some locations obj <- new(\"gData\", coords = myLoc) # new gData object obj #> #> === gData object === #> #> @coords: spatial coordinates of 4 nodes #> lon lat #> 1 3 50 #> 2 -8 57 #> 3 11 71 #> ... #> #> @nodes.id: nodes identifiers #> character(0) #> #> @data: data #> NULL #> ... #> #> Associated gGraph: obj@gGraph.name <- \"worldgraph.10k\" obj <- closestNode(obj, attr.name = \"habitat\", attr.value = \"land\") ## plot the result (original location -> assigned node) plot(obj, type = \"both\", reset = TRUE) title(\"'x'=location, 'o'=assigned node\") ## using different parameters points(obj, type = \"both\", pch.ori = 2, col.ori = \"red\", pch.nodes = 20, col.nodes = \"pink\") ## only nodes, fancy plot plot(obj, col.nodes = \"red\", cex = 1, pch.node = 20) #> Error in h(simpleError(msg, call)): error in evaluating the argument 'x' in selecting a method for function 'points': object 'obj' not found points(obj, col.nodes = \"red\", cex = 2) points(obj, col.nodes = \"orange\", cex = 3) points(obj, col.nodes = \"yellow\", cex = 4)"},{"path":"/reference/plot-gGraph.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a gGraph object. — plot-gGraph","title":"Plot a gGraph object. — plot-gGraph","text":"Various functions plot gGraph object: plot opens device plot object, points plots object existing device. plotEdges plots edges graph: can called directly, via arguments passed plot points.","code":""},{"path":"/reference/plot-gGraph.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a gGraph object. — plot-gGraph","text":"x gGraph object. shape shapefile used background object. Must class SpatialPolygonsDataFrame (see readShapePoly maptools package import data GIS shapefile). Alternatively, character string indicating one shapefile released geoGraph. psize numeric giving size points. pch numeric character indicating type point. col character string indicating color used. edges logical indicating edges plotted (TRUE) (FALSE). reset logical indicating plotting parameters reset (TRUE) (FALSE). bg.col character string indicating color polygons shapefile used background. border.col character string indicating color polygon borders. lwd numeric indicating width line (used edges). useCosts logical indicating edge width inversely proportionnal edge cost (TRUE) (FALSE). maxLwd numeric indicating maximum edge width (corresponding maximum weight). col.rules data.frame two named columns, first one giving values node attribute, second one stating colors used value. provided, seeked @meta\\$color slot object. sticky.points logical indicating added points kept replotting (TRUE), (FALSE). case, reset=TRUE prevent points redrawn. lty type line (edges). pcol character indicating color used points. sticky.edges logical indicating whether added edges kept replotting (TRUE), (FALSE, default). case, reset=TRUE prevent points redrawn. ... arguments passed generic methods (plot, points, segments, respectively).","code":""},{"path":"/reference/plot-gGraph.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot a gGraph object. — plot-gGraph","text":"Plotting gGraph object stores parameters R; see details information. able zoom , slide window, previous plotting information stored particular environment (.geoGraphEnv), created loading geoGraph. Users interact directly objects environment. resulting plotting behaviour plotting gGraph object, last plotting parameters re-used. override behaviour, specify reset=TRUE argument plot.","code":""},{"path":[]},{"path":"/reference/plot-gGraph.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Plot a gGraph object. — plot-gGraph","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/plot-gGraph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a gGraph object. — plot-gGraph","text":"","code":"## just the background plot(worldgraph.10k, reset = TRUE, type = \"n\") ## basic plot plot(worldgraph.10k) ## zooming and adding edges geo.zoomin(list(x = c(90, 150), y = c(0, -50))) plot(worldgraph.10k, edges = TRUE) ## display edges differently plotEdges(worldgraph.10k, col = \"red\", lwd = 2) ## replot points with different color points(worldgraph.10k, col = \"orange\") ## mask points in the sea inSea <- unlist(getNodesAttr(worldgraph.10k, attr.name = \"habitat\")) == \"sea\" head(inSea) #> [1] TRUE TRUE TRUE TRUE TRUE TRUE points(worldgraph.10k[inSea], col = \"white\", sticky = TRUE) # this will stay ## but better, only draw those on land, and use a fancy setup par(bg = \"blue\") plot(worldgraph.10k[!inSea], bg.col = \"darkgreen\", col = \"purple\", edges = TRUE) #> Error in h(simpleError(msg, call)): error in evaluating the argument 'x' in selecting a method for function 'points': error in evaluating the argument 'i' in selecting a method for function '[': object 'inSea' not found"},{"path":"/reference/setCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Set friction in a gGraph object — setCosts","title":"Set friction in a gGraph object — setCosts","text":"function setCosts define costs edges gGraph object according node attribute rules defined @meta\\$costs slot object. node value chosen attribute, associated costs (friction). cost edge computed function (see argument method) costs nodes.","code":""},{"path":"/reference/setCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set friction in a gGraph object — setCosts","text":"","code":"setCosts( x, attr.name = NULL, node.values = NULL, method = c(\"mean\", \"product\", \"function\"), FUN = NULL, ... )"},{"path":"/reference/setCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set friction in a gGraph object — setCosts","text":"x gGraph object least one node attribute, @meta$costs component (example, see worldgraph.10k dataset). attr.name name node attribute used compute costs (.e., one column @nodes.attr). node.values numeric vector giving costs associated nodes. provided, used instead attr.name. method character string indicating method used compute edge cost nodes costs. Currently available options 'mean', 'prod' 'function', cost associated edge respectively computed mean, product custom function (defined FUN) costs nodes. FUN function used compute cost two nodes (needed method=\"function\"). ... additional parameters passed FUN.","code":""},{"path":"/reference/setCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set friction in a gGraph object — setCosts","text":"gGraph object newly defined costs used weightings edges.","code":""},{"path":"/reference/setCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set friction in a gGraph object — setCosts","text":"Note costs inversely proportional connectivity edges: larger cost associated edge, lower connectivity two concerned nodes. Also note 'costs' defined geoGraph equivalent 'weights' defined graph RBGL packages.","code":""},{"path":[]},{"path":"/reference/setCosts.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Set friction in a gGraph object — setCosts","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/setCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set friction in a gGraph object — setCosts","text":"","code":"plot(rawgraph.10k, reset = TRUE) ## zooming in geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## defining a new object restrained to visible nodes x <- rawgraph.10k[isInArea(rawgraph.10k)] ## define weights for edges x <- setCosts(x, attr.name = \"habitat\") plot(x, edges = TRUE) title(\"costs defined by habitat (land/land=1, other=100)\")"},{"path":"/reference/setDistCosts.html","id":null,"dir":"Reference","previous_headings":"","what":"Set costs associated to edges based on geographic distances — setDistCosts","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"function setDistCosts sets costs gGraph object using geographic distance. cost associated edge defined great circle distance two nodes edge. setDistCosts actually relies rdist.earth fields package.","code":""},{"path":"/reference/setDistCosts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"","code":"setDistCosts(x, ...) # S4 method for gGraph setDistCosts(x, ...)"},{"path":"/reference/setDistCosts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"x valid gGraph. ... arguments passed methods (currently unused).","code":""},{"path":"/reference/setDistCosts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"gGraph method, gGraph object appropriate weights. Note former weights removed object.","code":""},{"path":"/reference/setDistCosts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"notion 'costs' context gGraph objects identical concept 'weights' graph (thus graphNEL) objects. larger edge, less connectivity couple concerned nodes.","code":""},{"path":"/reference/setDistCosts.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"setDistCosts(gGraph): Method gGraph object","code":""},{"path":[]},{"path":"/reference/setDistCosts.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/setDistCosts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set costs associated to edges based on geographic distances — setDistCosts","text":"","code":"if (require(fields)) { ## load data plot(rawgraph.10k, reset = TRUE) geo.zoomin(list(x = c(110, 150), y = c(-10, -40))) plotEdges(rawgraph.10k) ## compute costs x <- rawgraph.10k[isInArea(rawgraph.10k)] x <- setDistCosts(x) ## replot edges plotEdges(x) # no big differences can be seen head(getCosts(x)) } #> Loading required package: fields #> Loading required package: spam #> Spam version 2.10-0 (2023-10-23) is loaded. #> Type 'help( Spam)' or 'demo( spam)' for a short introduction #> and overview of this package. #> Help for individual functions is also obtained by adding the #> suffix '.spam' to the function name, e.g. 'help( chol.spam)'. #> #> Attaching package: ‘spam’ #> The following objects are masked from ‘package:base’: #> #> backsolve, forwardsolve #> Loading required package: viridisLite #> #> Try help(fields) to get started. #> $`150` #> 10038 151 10037 471 #> 153.5122 135.5409 159.0169 159.0779 #> #> $`151` #> 10039 471 152 150 10038 472 #> 152.7608 152.4379 136.0023 135.5409 159.8605 159.9643 #> #> $`152` #> 10040 472 153 151 10039 473 #> 152.0093 151.6441 136.5697 136.0023 160.7123 160.8551 #> #> $`153` #> 10041 473 154 152 10040 474 #> 151.2579 150.8388 137.2289 136.5697 161.5831 161.7623 #> #> $`154` #> 10042 474 155 153 10041 475 #> 150.5036 150.0351 138.0768 137.2289 162.4662 162.6196 #> #> $`155` #> 10043 475 156 154 10042 476 #> 149.6651 149.2157 138.9751 138.0768 163.3113 163.5481 #>"},{"path":"/reference/setEdges.html","id":null,"dir":"Reference","previous_headings":"","what":"Add and remove edges from a gGraph object — setEdges","title":"Add and remove edges from a gGraph object — setEdges","text":"function setEdges allows one add remove edges gGraph directly specifying relevant nodes, list data.frame. low-level function called geo.add.edges geo.remove.edges.","code":""},{"path":"/reference/setEdges.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add and remove edges from a gGraph object — setEdges","text":"","code":"setEdges(x, ...) # S4 method for gGraph setEdges(x, add = NULL, remove = NULL, costs = NULL, ...)"},{"path":"/reference/setEdges.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add and remove edges from a gGraph object — setEdges","text":"x valid gGraph object. ... arguments passed methods (currently unused). add list dataframe containing node names edges added. first element list (column data.frame) gives starting nodes edges; second gives ending nodes. Hence, nodes -th edge add[[1]][] add[[2]][] add list, add[,] add data.frame. remove add argument, edges removed. costs numeric vector providing costs edges added. costs[] weight -th edge.","code":""},{"path":"/reference/setEdges.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add and remove edges from a gGraph object — setEdges","text":"gGraph object newly added removed edges.","code":""},{"path":"/reference/setEdges.html","id":"functions","dir":"Reference","previous_headings":"","what":"Functions","title":"Add and remove edges from a gGraph object — setEdges","text":"setEdges(gGraph): Method gGraph object","code":""},{"path":[]},{"path":"/reference/setEdges.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Add and remove edges from a gGraph object — setEdges","text":"Thibaut Jombart (t.jombart@imperial.ac.uk)","code":""},{"path":"/reference/worldgraph.html","id":null,"dir":"Reference","previous_headings":"","what":"Worldwide geographic graphs — worldgraph","title":"Worldwide geographic graphs — worldgraph","text":"datasets 'rawgraph.10k', 'rawgraph.40k', 'worldgraph.10k', 'worldgraph.40k' geographic graphs (gGraph objects) world, respective resolutions 10,242 40,962 vertices.","code":""},{"path":"/reference/worldgraph.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Worldwide geographic graphs — worldgraph","text":"worldgraph.10k worldgraph.40k gGraph objects following specificities: @nodes.attr\\$habitat habitat corresponding vertice; currently 'land' 'sea'. @meta\\$color matrix assigning color plotting vertices (second column) different values habitat (first column).","code":""},{"path":"/reference/worldgraph.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Worldwide geographic graphs — worldgraph","text":"Graph reconstructed Andrea Manica.","code":""},{"path":"/reference/worldgraph.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Worldwide geographic graphs — worldgraph","text":"'rawgraph's raw graphs obtained directly method provided references. 'worldgraph's 'rawgraph's modified manually rectify connectivity edges places. noticeable change edges involving sea vertices removed. 'worldshape' shapefile countries world (snapshot 1994).","code":""},{"path":"/reference/worldgraph.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"Worldwide geographic graphs — worldgraph","text":"=== construction graph === Randall, D. .; Ringler, T. D.; Heikes, R. P.; Jones, P. & Baumgardner, J. Climate Modeling Spherical Geodesic Grids Computing science & engineering, 2002, 4: 32-41.","code":""},{"path":"/reference/worldgraph.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Worldwide geographic graphs — worldgraph","text":"","code":"worldgraph.10k #> #> === gGraph object === #> #> @coords: spatial coordinates of 10242 nodes #> lon lat #> 1 -180.0000 90.00000 #> 2 144.0000 -90.00000 #> 3 -33.7806 27.18924 #> ... #> #> @nodes.attr: 1 nodes attributes #> habitat #> 1 sea #> 2 sea #> 3 sea #> ... #> #> @meta: list of meta information with 2 items #> [1] \"$colors\" \"$costs\" #> #> @graph: #> A graphNEL graph with undirected edges #> Number of Nodes = 10242 #> Number of Edges = 6954 ## plotting the object plot(worldgraph.10k, reset = TRUE) title(\"Hello world\") ## zooming in geo.zoomin(list(x = c(-12, 45), y = c(33, 75))) title(\"Europe\") geo.zoomin(list(x = c(-12, 2), y = c(50, 60))) plotEdges(worldgraph.10k) title(\"United Kingdom\") ## zooming out # geo.zoomout() # needs clicking on device geo.zoomin(list(x = c(-6, 38), y = c(35, 73))) title(\"Europe\") ## defining the subset of visible points x <- worldgraph.10k[isInArea(worldgraph.10k)] plot(x, reset = TRUE, edges = TRUE) title(\"One subsetted object.\") if (FALSE) { ## interactive zooming geo.zoomin() }"},{"path":"/reference/zoom.html","id":null,"dir":"Reference","previous_headings":"","what":"Navigate in the plot of a gGraph object — zoom","title":"Navigate in the plot of a gGraph object — zoom","text":"functions geo.zoomin, geo.zoomout, geo.slide, geo.back, geo.bookmark geo.goto used navigate interactively plot gGraph object.","code":""},{"path":"/reference/zoom.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Navigate in the plot of a gGraph object — zoom","text":"reg list length 2, first component new x (longitude) boundaries (vector length 2), second new y (latitude) boundaries (vector length 2). vec numeric vector length 4 giving new coordinates plotting window, order: xmin, xmax, ymin, ymax. name character string giving name bookmark create (geo.bookmark) get back (geo.goto).","code":""},{"path":"/reference/zoom.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Navigate in the plot of a gGraph object — zoom","text":"geo.zoomin geo.zoomout used zoom . zooming , user delimit opposite corner new plotting area; alternatively, set coordinates can provided. zooming , click screen zoom . geo.slide moves window toward direction indicated clicking screen. geo.back redraws previous plots time screen clicked. geo.bookmark sets bookmark current area. name bookmark left NULL, list currently available bookmarks returned. geo.goto allows user get back bookmarked area. .zoomlog.auxiliary function used update zoom log, providing new sets coordinates. Whenever clicking needed, right-click stop function.","code":""},{"path":[]},{"path":"/reference/zoom.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Navigate in the plot of a gGraph object — zoom","text":"","code":"plot(worldgraph.10k, reset = TRUE) ## zooming in x.ini <- c(-100, -60) y.ini <- c(-30, 30) for (i in 0:3) { geo.zoomin(list(x = x.ini + i * 60, y = y.ini)) } if (FALSE) { ## going back geo.back() # you have to click ! ## zooming in interactively geo.zoomin() # you have to click ! ## zooming out geo.zoomout() # you have to click ! ## moving window geo.slide() # you have to click ! }"},{"path":[]},{"path":"/news/index.html","id":"geograph-v10","dir":"Changelog","previous_headings":"","what":"geoGraph v1.0","title":"geoGraph v1.0","text":"First public release full functionality.","code":""}]