From 378361f564d456b392b9a51df609db7e003a0895 Mon Sep 17 00:00:00 2001 From: chai2010 Date: Tue, 22 Dec 2015 15:19:01 +0800 Subject: [PATCH] update cover --- Makefile | 4 + cover.jpg | Bin 179497 -> 250026 bytes cover_small.jpg | Bin 7035 -> 10161 bytes docs/Limbo/The.Limbo.Programming.Language.htm | 5372 ----------------- 4 files changed, 4 insertions(+), 5372 deletions(-) delete mode 100644 docs/Limbo/The.Limbo.Programming.Language.htm diff --git a/Makefile b/Makefile index fb61f3a..5b323af 100644 --- a/Makefile +++ b/Makefile @@ -32,4 +32,8 @@ cover: composite cover_patch.png cover_bgd.png cover.jpg convert -resize 1800x2360! cover.jpg cover.jpg convert -resize 200x262! cover.jpg cover_small.jpg + convert -quality 75% cover.jpg cover.jpg + convert -quality 75% cover_small.jpg cover_small.jpg + convert -strip cover.jpg cover.jpg + convert -strip cover_small.jpg cover_small.jpg diff --git a/cover.jpg b/cover.jpg index 650d79d051a6840a355cab3745436cd5d58ae6c6..b14ac99378387ee42743fba7b3d98f3223149936 100644 GIT binary patch literal 250026 zcmeFacUaTe(l{P>T~}Ap#fBhdZ8RxTLJ0(RbpZh((mO071PB2_XbA-ND#A)hR;u*H z5HLWfp|@281SAm>T4+*24>buLep&aH_j&L0z0dpm{`0*r&prIX`OGIdXU@!=nK?7( zoE#1wegb@JpsTM7ICks{z+K)S;BXjl4{-9tiLXz5b@J=4zdm*9+cT-N{yX!JHgoPzlrDX0XC@U+ANvMO>6gB0PlokJIDBCRcANtN!R3@Z{~pEwy{P5wBXrX;*YC zU6A-SH^S69uNNU+_g{SZUs3qn%U36O@6`Bt@BZlX54=AYz%hQ_Bd`Cjc>Q0zbY0Oj zr$@;d@uKX_#OmEgf4QN&cJrR!Ap>xR*WwraU-ARA0V}`%V|4#3YCkp#e7bg_=S|h{ z#I5iPJxh&)sP0+II)9<>{t5kK?1?GS_x}X`w+0+L&vyDb0-|?f*e4=s529DT={&2N zX*>VX{pWwe`)gWMY{+;21pc=M95?I<`+^@Vd==hw-f9gj+BF)LF%|&J|KZg?qb+7E zs<8C)Kg0i>A^h?>TPJ^H`@*ZX^qt-=^}P>GyY5{KxwJofQ8zmH$}3f3V^|*6$y*_&2Hj$NBsRBmU!j{(~0( zF13H@d{UOOy6FtKLE!#l;zNQFgcE@T9pnO#TyHARfO~SGaz@6RkOrE!LnE`&_7WnK@hbuj6?9m9I*G+z zjRk@`kQ*PVknyO*ZZpvhzVW(WZ_J2aJGK4%^@jZNH@O`Om!GG7>6p`(@Od1zQB#l%9e2(t_$INFw1ycS&Y3sxAPTjYYb&!Ygdt} zW;$vh2FJ>)ecEVw;?|VnX^iTBNG%*{P_tLY>OEq06!2Jbq)EJFE*;gX*+tR3(u(;he#sB5Lo?#h%P9tQ|-70r$xf^;ex^p=cReW=z zFgasPu{|qU=!MO_47ivsGRK%O_FUaOHgp!IrP%K8Z`7ELK69JgpcdxU$*$yEE=!x>H_dpJhdX_ga{*18pcP$#M zhT!tHE`-)M$?b6A8d;&mS!>bkoSD=?So_m%D`-H0LIN>&tW9BN^pwl+Q#p;shOJTx z4Iz3and)VnU)=v;zO#1-Z2>b2#hBQuW`BfvYuvrFX{UjSU~16{-9yB3-KC7jM$Kzj zC1#ZD?$Hfl2L}o|({-?S*g0?TdYZjWiNNI0-eqsn{Fu!^RY8Su(Jf=cMqs3!AhFUf z=6O_i5|Q!@)k73vBu-D=+!YFj7Sqz(L?NcPrG9u33jmzUKX--u{lCk!{-5D-GUe6Y z@#|i?_Orfm}r)J zgT=f?fN_piDdw9?tUH^w!9C#ZlqI4{&ULT1CH-XG%Tlo`KU-m zt3yqaQXW899791?gCJ53RGh6N9vXEvQRS%v8E`DIw)C%~J%|eg6iTtO;D{GC=f!Q>x^_%hlc1?u*`DS znA}wHNcp<@J;#6w?49b9X!F3tG^XhG#=VF-AsNtG`IbOMxzg~F72SgQtlEEHvhvaB1p+& z{}vvaBXUiD6b7-eLFeVjDK^#mG#97z+ldI@D7qo*HJe*vw^&!1yE(TIl*nicf_0q} zS=2<8r=>dx@4Vd!A$freF+*A}VD=6sG)|F0fNQ<+f`XxJ(>MCQ4nvMb#a>g(AzJ=Z zF#=XT%`4&rTCzGm-T2k_6OA{_9uC_PWo8ih5?fN?&U5vuOV?&K^jL&~%*#I?HT(D_ zIri0R;uJ7Z>n}qFrKEDSIkBp@GGCZHaOq;Uwk`BUe|wbaBgc|^w`q|c4PnTus$<); z?v+r|;(*mb;BhJf? z;&k%@BqZD4bpO))t=^dciD*X>=xr5|XgBn5%CdoeV`0UIo+9>gpufKbBADEUO-6mV zSHkc|{PwZpnGlyF=Si+!G{}85%(=OmvNh?e$Pz(yl}I2(DIa6e>TQEwAGk2HhY^{E z2J@W}=^HgJ3SpH=Q%Q@4Wo2VQWvl?dAfB9IlIy%@ai|!xGrJ9>5$-ulbW@jICu$Mi z+%Yo_i?$AH2DZ<3FoVzzW4SFfRzOI%23)t^^^M9x(QQ^cI(qM!UA#I35JysTLQZ9luHz;Fn z>dyK;nkTGBu5=qB<|xv3E+;+_>hIlyGNDyvP8%+*ZRNd8(inG!nBc9XzF7!@`_BAYWec*Qm(9pZYejIf#uq* zaFFzFAO9L;HO{z+l;^3k$rhFVn3lF2ycCw-k;-9*bW1&V{@B0FdE`)UFl=B=R04&IOW-7w$f_n> zr=gPCk1J$iMOFWDfb6iWO3S^5QmcZ4ILQfhGop!9JAEoEOpxjZQOX)O6E1L`TOFBa z3Y?$O2&h!%?ABRw6B3I^!=6UKe*KML%yVCdhF!`46dnvNs;e2^|G?C|Lr>wa#tVRccM2^BR4Mavd~o;k?uLO z5qW)e>iFKwKBR}kOsxWGqEocaTxEHmkrwu6_guQTQK71G{^z5nj{skY%SkB!RnHcd z?)nx_@ZGj7xiTuA<6~>%U0nc4-aLz%$~p)O2`S4|pQK@pm%A{6?Pqg0pxkO#cQ`QD z5?x=XUk9ugSaTiA?qP%BO;fUhHSlGXHPTttLU%OwIYL^szv4-3nNYOs+pwChgqcRn z7Wgc7QN)@luU%N#WsGVO`+W#@<1av+q2IIIr{m8<={lXL?<_cSb#kV7%gJ)W-Nc2y z^mooDYgP93FLs&Uu@h16?y1uFN!ql;(7gY*SHwz?wTqOd{p#e%6Q=rA)7Y6!1;R z{EBJAljwF*v+BIM`qHM5=BQ>6TBt|Au&iFH&}=>WGCjysvyDKqe6_kYp|i|&dBI;d z(4LeR$Pf%x=mXvExpjF0g%QY@4dV+&i@ys@t`{g|qq8_ddZPnlgJDFiihi(NE`AKJ z&!WpUbN6-jJ&M{Fy2XGdbNM=^A4*Dc>#ILCGp~o3IcODq+(5HHszY`B1_bF%H6u5I zTSa?zI@Uf`-DmT{WEZyGM|ge-ODNY+Iz=NmzGXZNNxGpUW!^dQTyn-}>tzj))4)u? z-P7w7YO3r_izOK9Rry)(k4-&cF)wW(d}dUYHI$^X_l3~=ggDEyL74C$q61}yI~lNO z#O(A*AqL5tehMVB@6e*#gfT{590>+$TM%8wR>%H)1SJOm;HS?eGEheOW4}z`Zq?*> z&*i@!@5v+58fznNbSf0yOzBP#Lp+rTk8cj(XeY`Y0z~ACuv6!5G{4_;GTXkpvevuP zj);0OJ{?j*+`|WL&0}0@THdd$qY6d_ikZ@V1@y!$yNq=Blt|O79(-)@^#H%@ODFFC zf{jHgf$u*2yi(T6&~zF4>zet0%fIW6F{|G`pZhcnUyW~mKF4)j(wx~SbO7;v`_Cgd zVxf@#KEN;MTiU?C{&(oV_wyIG=9-V4%);_jji0)`m4$O%ZlU;qDrvv<{4?H1F3|kn zhWMZ9_umNeZ}9jpB9T1oj`IU?HV+&fzMH9kA3LdOrUr@Eui4On{3@r}nf;wTDoN}6 znhojDzaVDJx4)SBKwQ^5-?%Ia3$o$las{4$R=P)z>BstaWbg*X-6NdD92tkM-so_T zFDcwa3TT8dzBCt0-fls!Yxva8hkc>GXM?KKys|B-2j2wC|9&qk*0gc)yg;YPH5@97{*Wy zSHGR?>gF{lnM5dFw)n=d_VuftEUUf;rEgvEGZb3?JhklddR-Z-`)1wGJoX(ud+>F^ zfCXK~0~DAtV7clyhQM1sG}@fd3gv%l2G7q{kA#CmOPS}{m=`cuR@rOq{RamX!d~Rr zw}KL=>{PB!acD{SzIeDz_>UjA%-JL-rKK3V?MH`zod*YHb7^9y=55D(jIst~K!FbL7ljf@uo-h{4dSdwStzQ6r3Y~p5@LiZ@q0UNH1*Oa zpHB}QysxAt1JBJX?R1X>f)qrAQhk7aS$Kx5$40;WAt0B!$X`Ljor_l-g=)#T8NF`1 zk>Kc;I`fAyJc?HFi%zwKC4A~TKlR^!X?R2fDj8MaL!S2xYuNhw1U5+Dh0$LzwLbH@8$v@Q$vh4bBERJz2Xd3uJ-pin`jHv9|9CUEG^+h+;OT9G9tAnHA(=iOi_iX z^Cww<&!Zava0FG8=uIP+elvlT`|8E(H`H(!DHo>Wy)}ExrcdJ(^E=G1NhdsvaFuE@ ziSByrnx(dpYOLm(a^IhVQ!!m{TU%f}6MX1-_M%kxBYRXwF-2HyGefIqbb=_XR_~Bq z*>%p-CM$l$`QBrwPGuv~@>|0%{b9zshEOztKog!j?#_2GxUZ$ZGkHHDHIA(M~^O!!J8} zr~Fsl{ozyl`@h--VH;G&m2L5huY0YZsoev2TvJk_7dbQOzz{y^r-hgxgNXB;V<`fk zYMWnX@aHBGRRl>P_sQrs6of{>Ul_0HUkSqUjEZ-{K_bp@JBYL_xXHkhgd zlUxYq|G04eGo6p16R-XPaf+DoD(M-^Kl7?abhLf7l>Y2sv};LhFbRt_`&7TILR^Q> zPTt~NWM|3)_r=WKZ(cRuR@qoPzY~=^kIKRkr$gcjLeo)O&oMt5FP>g_Iqd3i)k=?X zW)c2X0CCP?iCmSKrUCX>fUBH=12N%W47lUZ&dieq=ET9?E!! zkygVFQa^WjdV9HON^OS^oZMtWWEmn+)os2F&fWWMeOg8hdp|be8#Rh<7e2r0wSw=k zOq`=9fl8A=FFs8HBO6ST#U(Nn9y|yzHTZ*RM{sV4DB;1G)kL_g+d`secXwOldgl{+ z=2Vtwk+5j*K$hGYhbBr7vt2H2Q{coatdpu`uuDM@el3L@ZS8$7oa~VZ!7a7THUYmjO8vy+z!5yya1P#7Mr7EbWUKH<-AMboIt$lJ zDW9CFFhb&*m5P@t=w)lLW|B0WWI`e78~bGBt`8;O`4k-~Ma6oX$NzkCyUTa~eRE@} zSKu?goPOycdR?Jc&JTU#c{L3Nx5e}+_!7*L{6zA8in0`)IYeMpy+vo9jdInk%?rr@CDhas zL6*vdx)HE+{A|Ro0%IRGGvl*~$Oq!A3|%TSjZyyoo+4si-8Y-xi|95n0^By(pQb6h zPI95fc^V>DR-JZ_4`s&_4}=fO!K#Qg**ROWQ`}P(PPfeV)c0Lzs$%>+$TwQQbD`4( z;ZfQ}xCaAUxO*SB97(Ef${5i}D-b3_(h}k8XPVFn*F<3EuW$l5z#EKYBXCnzcKtbH zLaq($;*EO`bA;IVTWYP$N7gV+F{GwhOa2d8xCz90w&J?4o@Cku(fP9gV2($=st~xkkhTy0sRo& z=C#+_Lid+;N_3suu(bZ?!9a)dK2D*atz+FKDZ_Kml+$1dkkSr(X$$0bB-mjY{lau$ ziD^JQ<7BYl5#B%v)q8pvkPsrq zsXxG$(NDBIn7o){TdbONlOB9CMP>KAN>!a1A^!~@oPx;8zwj3N(^r>I|B~hUphY4F zRviMyXw=`*r)R3_b6#||cx>*xD5+&kk%Wi1yBXyCgrO2RmPoclR5qDkk~FsvusV@t z3Ty8FV0%>rEHxSF0AJ24GA}(b{SG3YYlPIrJf^ps+kakB9yxn<-R%{PA8FiBC)Fba z=>neBZjV~X3h76WBO66h2{R#d_v}DVv8Z!>q80tSI7<&y76)|0CT=EY%Xj~7Q$>GQ zTF+40!w~vh?IA#;Y45T2!)#km_B8L49Pom&Q$6rp+da-nPIBE?aqqf$okWj@&u7qS zGz~F>vvh}8-{oaTDGp;fTkpei{_JEvn3q(Q7)`@Xv~W&w@|s7`6+aZg^IAQIf%u+! zGS332515zPB0Ta1wcZzNd8$;|v5Xvyh0{X1lZC9;9`#UKcpG#7C`U~>o_tx8`;I=0 z-(9vZ7M(WT3)#Wy6(F`oeQcSl`0>Em=`?L@xQQsSeF_XqdCQ#_x$cQ>%QjdVUfO=v@#y)3s06{6U8w!{(ZWBl7^5jb)u0{{TfrY^`x1M>wsCVH{B zKsnt$M<61FnvJj7$Rrf1d#-MSzjmAd(F1|1%u1;AthT#Lo@U@ZPBxBhcepmY7&3eU z9TQ#h)u}NMGAFoF?Zz8?rj^VW$J;M!-h`YP4xMYUE%YhsGRVkI7-=(&aAHtyt8e#) zy+iCmbXQk2Grha}Nyewvyf6~;=F7@L=;$YlB+pxoIC4T8m?V^$NwjT{ZTk3@O?n@4 zPG6Hb>ymi<$VTHT{XK%d*%dR0wH>Q2RMXC~8{ZIxk$p1)@}G{*5=HpM?g-YUk}cOAJ4F^n=*#9dAf5dQt-jC_>n^_u)=b^g%2 zzB)$m*v*~7`v%4i>Al8M!4uUR!c8>#FTI~O{OeVXp;j>+js6La%7H4Ad}}1NyILBZ zPH8eTUJ8xD{`GfZy7q>p98r1Tr*A)Jt&g1T0s#0boK@n5&XT09%vzKBZ>Svf8YVWV zk@qlqO60(eLSd7>o%T?*il3^e*n=}o`U3AxR zZeT;OB05M1P4JAieb#-|)1mC?cy=HAWk878spz+Y?0O}&^iBtPgPtYw?US}PW)GiC zPH%NWDytb3t>R*I1yZglIa$c$A+zy1>n0Fmkd^HLybaUc%*{S!K7HWYH4BAR1kxf9 zuKo6oJtMlv7MyN;fJ@?Vs^;X+pS9Z&4ELQ}$coE`2F{v)ymmDxrciAiZ!*yue%T>Q z*n~O~=Pq`r-cy0=Toe6G+dQ1o;ZXkiX_spbWbl% zl00;|qAxY}<>sz+?=Km)s6He>ILZv~J81N>l%W^S>?K_pF7TGih-X(IuqHn0Xehfm*zdkLUvtklf^doaAf5|s{1WiyP5aN*-xjt-4j_WPKK?5EPo&xh|zl$G;8>P9x64Wci_IS z%gy$rKA6bQcHKKq=ZHKXU@vv%Wtx(JT<#&DO8(JglfTbI)9`Gst@={s+9F?=Nuv0K zT1~gFN0BmoDp}p%lNmcjmu*q#vwJ>w_WsQApZ^%q5p+0?uP^9nMR}M`<{(v0EPB)fKu$2t8 zx@g7r=`RDb2vyzM1d;1gfvSlxTm22V&zsOi+(#rwL)8p2Ix|LN$tb10gof`RJv@BZ zPcIb@2&k1%;yhN^4HFf%LQM}Y6M6!10Rp$BE0<=rZ*ER3g@z@#obBmr!xVc7a>Eka zEBK5L0eF!>8j4XTP-b6!t5*AQ4Mt|1#xhdJdE^j>(o&Wx4ZBr#A?eSU1oXLzqNmtU zjqZKfP~^O>vF;yH!X&llVsy_h0kG^D^f*yq$#gM2{w*Eb|Z`(^Qe2?F!lI3OP&1UGd`9Ln|1KXA8R|iAK)7wRWi-)QH%JAwu%7 z6+|wMYCxl&^}d3RQ-AsP+6?EBg!-@LzwxHe5zI(Fm}Bf3+Fqh$hdU0Ch)5}EVA{s3 zspBJ-EFV5i3k@O>>KZewKEmdGD#?3xw)L_i z#=dmU*=QfB8QTDkbXVH5$Dj5T%d+OT`=&wGq*GFyY|_$PCwv@ zL&4#()&9E>?e)lke0I`rV+5g%LJ!p;OF^48Y*>a6Pv2B&E!lR(JI z3!b5?`jTufd78eiHO|Pe-R{BqziNE#2$a}!EuSB~20xoQqfs;Z1BUc2sCiRHJC{yh zV(}RVufr!8yltNO>0Y!ttE$(D0at~{gkg}ZQHZF}j&WGN>+HdKo;{L01gLp&cMd45 zujKMnRg&n3fYrj>^g}?TeYXrdfDOeXMc{mH+9q?0KQx+Vf|M$=!3*c#ay3ib&b;&q zP)OF~+9Gihm%zH}2<{4C)T2n4_XX1~$i z%(26{IaP=kYPiFMH>lVSZRA15+TDYc4)n8@D`z*ZV4!&a?uAj$Dy?1TD(qW1B#mHs zyDB0Hl7rYe^D;0pIrNoB3>aH1%D!_Ug4q2Qfk<=|g7IAqp2a$#D$84B&{Fc|gh3sr z>+=bv3|XfKqj7mTj^E;>z3o2k2_(W6yx8kmzJo0R8Np?^7iCxl{s)4tN`IUlJ$h*q zz=FoHGWMl7Fw`Wsz_M`Gjuzh;5poOLzYDh3JU9fP)IE*Wx@yaY-g&G&9;}+-CgpW_ zew%b(H$ckUEC#07r9Tn40SvTu&1z8DOr6Tlk&|+9buwwhdwB5e^zm*cDp`BauB+?8 z<5V+ydon$ymv(_=mY}b$SSG32JGm&9m_P$Ibpqv`v_GI4DJx))^{AX-xIzyWV}rTp z)a#$E!aW#^SW6O+=~}hAa5gKlIKMtd1-)a7as35zed%rTY>GK-O8Sz*cDWb28R58i zE`RO;=P`Nzbx(jtL7;7t6g`w!T`Td45cxr<9`2wWCY26B=4aQdRFo_gr<2W{5>3pP z6=v*zc!XG{qB+{XRYlH%1-a1pv|W3kOSaYdK6ZWP1+zkzfQ!tt3h_*}CR0azk2`F0 za72?^g$s~Br{swOPQ6UFypKgZUZ0kGBu4}OAjuPzqn2LzY7r!A74G9z+g~UY3idex z_S!-u8wtxxVlG+w`;V$1O-AuP`i+BJ-P`foFQy+!Xf_KJb_U zztJTHt^1x~kajuqbcp(+^+jo=trzy=IAQth8u}oserXwf4~D5(E-g_NB$@_D8xZt6 z{SrP9B$CHNpt-S+K$=TT#U~FV#{6o2Dw?{G0>n$jqCix=5DPn#Sa#ud?LfZBj>Y3G z3Ygf`U*6>N(*>B1!yN06z8PeWO z9~OM0KM*`DZY}ykQ+daW#bSD4NLmV2cxVwZ8=;wJUyRKW8f^;*S%dE;0S~7@jTGh=0+X-svl352* zLt_I-m5KI(l$4*3X1>ixz0Tr>sr>mEQ%LPA#n}s|+7sV3J@56ITi5|NGL#9ywM(B?7@yj%ujUg+ujXZj4vseVi!^HH7Q}Q~^R+pQ?O=8I8HF|rDXi;NkmbI&m zzrRuC5P@v_z(U{>?`%$N?w00842F7o_CAxPD$*A8X?~flv81j>V8-=lBcuiVC3K5W z#FDi{^aJ2(r`%W&_{`cWYAe;vH~X?=?9`h;2BVP~{IL>mTB+~*Fke9Y;IT`W9iQ4l z2NsJ?=ozd!_c%Z2Au$M@l42Phqd!}S1CMMr39jm8jV;$N6@WB$Wvc@Oz_#uBAv(r8 z%R)NjP2#X2nw&7v?`N`|92T^oQm=Y1GMGtZfJRJO_yDXA!#LqTto;!T>hLxT!efRO z;>q=9L}yDoYEUe(t1&2_(cCiQqvEiHaOvwAT9Gh-$zk6(69+v57YLbspjDXWt>lIf zD~hiljcV-aJkoB(cfTg7J#VmM#xjt#GoJ@RWvBJzM<9Pe<1bx#of~g|Ub0yyCg!$X zXGqFrdf~lE`jdFBqKiz~yfozs)!N0eWA3aS^?o@8`8L9o8hIw`1+jOq@hYU_*Gk&b z(sxrHFx`j{3pL4--|}pjDUC8O=O=LY(HZ8iXf}|i()BOdFJ5`nc|Y@U>}-2>s&iha z&Y$im?6$_bzYyqMW#dWjdcgpxO~tjOifsPja`VcOi!Xff+Sq@ZVC)x>A|VhNO;G?l zyLYF5@6dJy9Rj)pvg01_h(^7|8TN1C$}_{6G1RuQIW+I|9WOV?&owLAD?@GdgU{WY z0Lwc~YIO!20+Qvmh1zrGLL~@`dl2w)CDBva#bEtlax&4iA;;2NU+cEEp`vruN8bL< zi&P|u*d-PGp!uo5r0T7(`pf=f2MEQFy`g8bpH+kr6iIJLaB)&_Y(x=?D{ zm9;z05wn`IN$ddfbJrnS`yrqW*YBa{F;5kraY)ZnfZK^5Txb>G6P}9n{Ctzc5sZQR z7h|iQ>h~&NO;a5pzqZKykcZb~w)>sdzNerscC$Z)2SSTBzePLZ(j14q7{Qy4 zQ8dm;28_CuP~U@F*XpkFVWPz#bnrQ+2|Zp~-bg7I9&XUb*6_TnN-m_weQ=vPv5v0? zW)rUR_IMeA4LgPGSQyQ<*U3?M%V$;f`BsIugv^VH6!?0qIn8Uy8A7L>+SO02T+XQQlofVvzFCYUYrYl_@cz%j2@kW#`QHmwb z{b78LVE&mqZ>z(t4kmfIa}wGfZ~W34R6XcCz`LqbK&B2P=t&hHg}jP$G%+TyGBkR} zlC>g`jqq5A-n~B51F$HY5!GpV2>7|38lzQN#BEoPkjMg29MJAI_U;(Hzf4*08byc0^UjnY$5iK&|qqE;2 zy7bp6ws+>1I6y>$O=Wc&8f9MAw1Ymks@fcbTNK>4D{fsBxiAj7dvIcN4YBXMFpBI4 zNi=0W8`k~DvrO{SsyeriW0YRXr76pcqk8>6+=}R3@@c#RtYV~TZKz-u`J4il2Lhi^ zp5Jiyc)mPqbZP?=-M6WGlEX=!7@rEIFG62{B8 zNY2YYwEizh{aL*to6GnnL=|7Zkhn9y(sps)M{T8p3q2=%F}wSz%CHY;CxgF(R6C*@ znJv8GOm2EX2H*3`{E+WrX;*j&|59BmIKJ~OrhIf|rLC>RZE=F4-afj&FZ&ci_D3>P zq;?Mh%_Nl_AaQ{34LM(smSK*UY#>T>z1eFo@AXq6QG%wRZb89uWVRCG; z=;yz7efhR!{vVg!WjGu2`z7YCzDiLUe{@L+_|1nl1;4kWtYnJyazI@rxq1UjsB5U- zywI*ibKy&F!YE|#c5z^{4If*IO%4I-2eGc%_tS213ys?nz3Bz?1!8}aGG2V_#&BYK zn__+N)bkWAYJZC{GHtpw%H4f7!&#uaPRMBW4>XQp>-yM>LeWXgeL|z22vevJe_|l) zD)Y_mX=eg4!%^)6&xe!Y_^+mQN#b^@`F`supvQr1E1wx8#K&Gc{ZdtY`({OJawebs zqglZ{0)I_!>g!HzHMCEO)S$Kfn1yK)=pw<=^LC7hQ3HDG%32$;Qvr8rgL0?MFZ)E! zN=Xi;y;<7K;v?pQ>Z)I^({ zMVAaBrqlBx!-?V469AWcZEqG^Z9i{rroZVLxaQdF*DfPo9<3`lmEox5<9zyOUX%Z` z@~?08I@YHm5A%oLe#~NVP7j(C8Xz|=x=KVz$V^C#p;*fUcCwC=*kW#100Eo%fDA9D z!zZ+@;{&~SUsl%kwUT%~Q-s90?z^^rN z5UnfLCMo@KM#(fYL$erh%4SexF_7=e84a5sKlu4wejB6+n^qTR^COX ziOw?7FhF%Mz2z-uV(Y9`w@nS!_-is~tfIiFKc~>%5FKZuGps`}&UnRmYxoo<>w^ep zL5Ykx_xUM7k9H?9ftMpNn5V1S0t9mItI>Fd{!%|_pvHhyX}xSk5Ol80I&YW|zeII` zMfzExD&yKNiMYH9Oivx24ZF}cI@h1?m?+(w0X0UL#=ct5%@)u0)NFlVWJvq5&BT`u zGH9qR9qK|?1p!F~8a1tyIK317(_5~AzK$*775=64{+FHdDJy(ud#N(YuMlaoyN1d8 z@vvrDPwn0U3^b^R9d>dr=N&uF2OF-g)d3t&t`wWM&?=kT(LNsb5UpF?uAPznIBliN z7RN5gwq|3*o@h&gZ`e&`Qy}F=K}?d~js>I$t%Z9dmMHpyv__qk7!t2v@5k>;=l6rf z^giJ_&)x6en%ziPN^sbQnH(gUEsEmst9s0@b77&#?GCPf@m}TYLx2I1gVXETy0QMW z7uck}H@$mvAk3B?PB7nT$ItEYZ~rhaG%kGLx8NW&W@9s`qeU3$)1LnS&@%gEU zVWUdf8J<7c$JsjMl(p*1lDqJu_2CX|QV^5|3IR%iNb1v&orbj2}NR zokQ#5+Ql-&9;bGruY6YRgJW*4U!wR86Ns=Ogvt{f`3&f0x(_pFc&J_@|s;{x0J#pW(m#uaWTo z1Lh%Y*%0d*hKOPk-1dN^KH3|Lznw~^rFFtIO`;IhJ#oT$3fP1R(Fb)xJGH#KhY~qB z!HuAV4~=Sov$uN1tCx#Eb}}+5?zW&4gOS8+@H!;TgyraMrPLGX9Th}q1^dk&0yMRo zLnwjRW>jH|hyrh0Q)qZI@*zm}Yu`aQpL;qOLW*QDDYq><-{F&HTAAXd^2AXjQ2ybAe49rT~X%txGtKZF)mF`q}+7k0H*n_KdB0|@; z=G}Jt!r(w^oJ^i(KHHc24{gHvQ$d_l`hUjC}~f+ww~hGY|z?*FI86hjkxggbuQ^3L#8y68OnV|}h*jIj0RLcT=k9$mS;TXBQGp=#`{ei|7Uw48P3@p_ zPSj^8pSyLW?)0#k>f zThxWt)Iq0vOXF`aH&&#zf5Y9X-Ss*I2<|(Uz`1H+{5y(ymwo@*%DEE+=X(~k#lex* z&bVN;t|xG4f{l@@mK0Yx#yQIt)fUW&1RH4v+{sX!m(N_5U0~SvRh95{(%t6iShIHt zEjIS*_<@N;XsjzvAEjBA;gHrM7+?C(5e zkF}#Mw;=G%#BgJ1czIY`xEMqDY~QZ?o;C`mp}LxXf0v7!#|I&}>IWBgl&i+!QBz`t zwJeD@7^fBK@!zOQRl8o=SN0uKke@%H6%2-TYMj#%`)WCCKV|Owjr~Gy&sNy_3fF3o zI<fl$e7r3%H{o>S>p}$Ht||JXh01+^oDekKfQ6Y zdC)285a2tvgWo@J>blo|2$6M%#T*p&Ak=H_KD^ z)G_AN%8KluE4cRTo|(=5fv{;>vw-%1{6eOf`Znewr?@&X^q|P6=`wwfxDA%?Q`)JA zukOt*w9M~j$1ufoLB%v!rKfRjWjaTyqvN%`!EO0kiHJtSzod&4N9g$KO}A)}JkqDK zyPqqSf}DQb!HVYO8|1gv5FkMZf(=vK!dF*WYMG?`<%J(HieV^E3Mi&k|Sn zJ@OZPGV2+x)s*XQlXk-n{Ti`ukEER|gjl72ll6b`|6l$D6#(GoAD8%N0Gqo;G`J+9 zn%X8WCBfKD0|Kkl)R<-|9hG=;U#I%L>pLKZQ%%m++`gNbjr(@_PP5&_=fE^59E z>qnpD1pYNJP22MiD_aDA*~d7zH#h4M;zj%;zU^cKXKEFX=>6q$@S3(4s#We%sd6C6 z@t*n}Bh2DO$IbJ%<}i&I^#$9Z8Th@H;A3%OF3x%xp z?7YX)X&qkms+y=u`^+;E(Q-n9?Pur_zwt=%e~Q1I_|l$%QG&8IS8l6X5bAwSWa^8L zU%EVS_FT-{32f+@VN6wCLqC5P^$n?{mi94*g4zzQZ6ovsRtBjQd3-E;5|2O_f^Q8TlHNrQwe%@<)vL& zi36ki2X=K}VwPs*b>4z^Wpy6ySO_f|LRma}2kRO0{a|JU>{i~&pBkjG)avSN=3QGd z%@$8QP^$`6 zd!-R3tz~|He+1hzjL-|gIf<2Qa{Z&V3uwwJ?J&w4-Q+>!fGJ z0Yfxw2Y@U7bG`VlO>?UkG<9UEpPgCPDPuXvl*b~T*Y0T*Fo)7=rqmy_>P@jdqVy?` zl^uju9O)CzZm$Xq7j0I^{Ogm@AtayJQKTI+FH5iU(YReNBNIq)Y`{(}tg&!8-Vp7`}$e)Yo zkiQS%+@B-(a{#)WGSF9J-E*9x6=@TqY0&wCOhJ{>sY{F$F<=I1W=fBFCS*+ z9X12NB&_ox2`;+QC1uoXT+R+!Rspmp}iFr+^b?ZU-0V#lm{_m46z+ zV8bI0VuyXITGnuV>>sAb%38VOx_u=oZx0%)QbQbL>lzt}ET&|GS#+?6OB(oW%l}8* zn}D;K?)~G=JMXm9nU>SlQp-8hMb%bS`;wVS9lGpZU((FkJCIn$Pzie#pUmXOhi zG>uS8VwWi;gAzojgeYl5LhL(<|AU^H_xk-}H%x@Wk0%>Vw zCT-(}eT>7e@;WsHI=H^j;Mf$m{whj2)X6%bCDX_-H&q^dQmj!}W_(?6rCA{uGpH8@ ze#dQC)WJzk5e7bXDgk{fyA}J^>7mr?1MueqK*rf#^D(u#Ti~Z;PSd^=f%?KyuI;xf z%PG5Ej%EAG*iW%)Qxwah{l+HIvgS1?8yl23_iH_B*&BOnzXPyP+wEIC+0`$dNTzOq z7i0gbu6Wf>RvT&`r*CLt1-aj*r)O}{=9)pJJ4`;`rKFvk{n8Y6LNqYSSFp0_v|rT~ zw@mhtng-~O*K{?&Ur!ekQU+r?j&#nV2zlNO*wd>Hr(`d+J zFDn{OEY_AC6Mx8>geKWRloEZ9nhTbtKv=;--;B6X6b513kiZ*9OP3f|+rwinj!v0o zQa+0sB!@d=&SY1qpL)_Y-ksambBRUQs{f`{ma30Nd(yprfQ%)L5;t@g9|x2sf;`2| zy4ezCxvxgHLB^YfYYi@o0sIp*&qR8}LNZ}0@ql1_gFdj<#Ku0^k-321Y#lU<%HV^p z^%{ZXdMpV|vjf|?8`pIQRVz5j0UDdCf3I6lg{%Y__!Y2XY+XfRhMf zr8xzMA_skHr!TfO62=t9VURA~!=AOfGrYq|BRI_RHi*V8I~Wp4FmEUYXUA^CY23{7 zTrPRETQls>V`T5J0%N{bN8`EN)_l_hzCw^maKG{l1XGC!DsAX_8{$fZTj7J{Mgzn- zf<|_Z)srmW+WR*5eUFJd_(o#gQ49K zW#mAI;cW?BvI(77bHzyc^KkkzKUwd=(ek*VNM_u@XnXGFYQ4Z1^ zxza?#-S>XsPq+oT;NWj9vgiIuEY4W-P(8}(0i@5juDx`}8~0#lMV*&3I-fv+wg$%( zPXyU1U@u5i!~Ji^Mn7G`vXJ_h8cH6NPc6s6ZsI-MDhSS}vT+x7$NfU9r0R8{52S|G z<)MK9m##bJGeg3KR%ksF>l+KG^NzodiN4>Tcl|HI4rTq5+*PiDn8Yl%^%^BQ*gD0> z$A_n13G7m?C{%uq&sDDI)K#nvT73|rZ5Y{JFv`Ekd?;WiXeL^2MyZ^+L>!j4yY^y#|vk%>;Q*?XEUS(^CP_VW14cCXeOKg)D8V zQu-FLxdUrMz0Ds6;PQ?u^p})Io?zJ`d~YfE9YaO!&;E&f2&&6iz}2lRr)@vbkm}39 zB^0)Ir3{t5-CP!4U9;+4)&xljbikV$ENHk89WFu8db-!E7YCuO8L7JE)yx5AKf=JY z^{4uQRu^|@YjMSaF2BZm{v*A^5v z^NZ^AEeCX03Nr0@8cc6oLS_Cwz`WGGk@Pi8`|Yh(|K%p^uTa+p>vxyE!p%+jkv!Cd zP+GfxZ_>#z$prq2#mcg7oq<{#Qv&(80Pf$i6`{&sLQMyW*Bq%eO^?DjoJ!(n7fP>p z2#!TPnY}c2uoP-Uni7{3w`Aii~No9lNxPH>kEyZnkh^fcAZp7LQ{Ay5TGaD|)1-dJRZFnez*J~^z zV{r=Y;lc9LH1l3FI03_4U_wJ-<8cuG{%0cILw~5p0G<;=1OpcsR3KFKuXPNDw)+A8gxu*g(l^e zD|aVvIbKuE1wBj&&6n*S>LOe7Kz0%Nny-u!PvNgQlZo_F1Xzi>{O#KLyio1QK@Xgc z-efZr+aNw1J6~W-2dcnSvZSn4TbXClC55LVzk~XH1xz^iGbzJ_s(PAOuPw7DIO^G) zG4FI=O5^Eq#sgoU4q@Es!W|h$_8N}#b}nwTouC_+sONpY99kr*)+OV$r))G{+kIZF zFStIRtd@Q-z59$M&syc4`eE8Ou!&WdwJ}3Ju|M{7M38+EJmkaFATo%ie1#cW(!jKb z-G83|P-N9rn9I|0j(8HX>}a9IxhEI?4~}eiQvAOjf1I0t&~|D%5K;wu6B#7)J9fC)mygZWHy$V%pu1>|i=wG&odQ>OOvkciX9;W47 z*isvCESgT%SngKSpW)q=y5eTww}4|F0>3aSqlZ*SSQUq|!`xY6mbctaEp1?rpYk?+ zn$+8Dx|!gpaYy8E<^AN+!>Y*=>BArrIy5iiTQ29`MEsgNin*e=z!vfQl{O-)EApPX ztVUHOOIY|BxRd1%2KbjMgO-=_oNIvE(PMfOkVhC(o%?&@V-l76YBw!pN2y1ZxMy zlV*eAW9N_f9kJJiD@ivhChwjK0LMLE0vmh^jnEc3w~)VXv?_&Hl+lN$?Fr;MPGEVu ztY5NvM@7vDxCnd7!aS&Zbf!Ec%ssn|9M(=&s^C84b(GJfWI}H)4v(W19Zas@w6Ij< z73!h&A-a&?7$i@!RY9T)-u-BSNn5+qlg=l}OurYtZ$>or6tCMMMJj5dSi_Qu_LkB1 z9xsyZM2Va6YY8b=K6`rv8sDS$X4%vaM^HLiSiB_k2aT!e9{j|mYDL}qev3)MIy~7j zVj3KG+^+A0rrUQ7O^C{}i>-YVd80`03{T$#fjQ(Cek6=tzm3aIFilE97NSf9mJyB2 zs4I^DW#$!b?sYfT`ulTlh1vCf!vf-z5!(Gql!mWIx;w!gV+8ZDwb@``qU++GQ6>4r zv{Eop&uLv^{tl*sPfK)3J8A?VL`da@(P}j2?)NvGEMFIyErsD0r0Xi<~M7gg;Nyq%VByo+fP$hb1|Y* zRJJ4ILBnWh1!?k94zx3&QyV=_@|}4NWLj~c!YGuApSva<-Okz)Snq>SN~!=O1J7Md z>fMp4fuEJGuh2FDBIN-~ZEjKOn5eco_W?VmS_8~|*!jd=^s3|I33&U@mve>Fx;8AP z;2hc$cyi*H#1j5`586?0lG}nUI?kc?8D@(;zWKvi(T+@{)JC!}4PV~akvaGhG{)a9 zTn359IzY`9QBo}E{fhP0HZ6;rE@{|MU!(8iL;ov-40ttFC)~`ziv~^UQQjwO%yUn3 zDjgNa#(ym-4}**w&&NKV-qs}yCo8u5rkvk|>mZ~3zCA44H^VRK6ZWvjBi+*cl!SL( z`4Zx4*_ew>DJP;QDS5p@$Wx7oXdgS093MSBZt0)`cqbFj7df|Y7V>&u=@P%f; zPB%5rv?lZpwFbzVo0@Z}$V9JsFl(}=wmj4yD9&7Q-X=hC7J1prGd>)3{!Z87Xr%J< z@te_Iij8;i15|KvM$(IxA#X@c8BT$OttM&ldTbI&4^2NdBT=Mtc! z#ZA8!m6m31teI!(gqF=SuGaflrii+uMd& zMo4zdkuT9$E1y}#Y?1Mc`mAIQy#m@|6a0QLZ*wDD4qhW8oNkIcysMyN?L zUf7X~gbtfWE!(w$q-v6@T4rT`*hUz|W94b1B^ zy+tKI_TG&nonJnlW7NHXQq*Z{P10UfVoP$eq5b(=gmUKcy^y#<{VsRSIV5(hyIP~D8Kkb}Ypp5zF47r7$%p>Ys7t-= zxI+H`4`mi5yeaAyF(t(%wY2tZt<}*PgvafGm4t|@zK{@rQ8=KY3it7`@LgXLg__!P zYhJiiR1j$HzCOukK3nZ{tkB)mqW(BE)OttT zgHLyk=c%_Xq?(_SKa0{XC!?v*!T_m-B@$`sX{Atg!0_AM8s<+#aZhcveIb$M7`G_6 z5;8vF)VWmris|V`%Es6?rKP8kTg!u1$J%y_)uZu7=L5KmVgw{B@1A#V&-m3{whoY?a1V- zZEbcb_S0S`MbUybkL$;Ia2&_CTIIqdh*VH@?ZTAuKh7Z|V;G4_RTk2Ec4XZ2?W*A$ zl{+%nQlmIEiSdriSij%9C0$!ylV-9yb*mFZ(5DT9fj7U%fY#woIAY5B|#b9SNmU zNNzdSra8p+h>7UO6HAZ2FZ&{$QV4~YlaLb-M9G($%dk}?C9e=Gub|`laMC?W|CMPa zB)QtF+t^?+rB4OqI9_R zhHOR8u+$Ik7&r0=hDd!fN`8bi@jZ*yqa$Zcs&d##spe)QiFDz%X-aX zeZTqN|2zNcr~kC;OZ|_d7Rsk1nvZ!bSg3Z5renCV;e@ZB?>*x`2Rt1S^iC{|e(q(+iO+;fToK?0Rh(B&tSPPsD%-wyeXIT-sy-ZynfW z7_DC1guxL;`&r~~iyS6>D9>|0b;*O9Itu)&K;X#pDL({?k2D)^-RiB3BhstmkIy)M zXYs-@P{pNpcL@Ky%>AS*7HZowNa;?Pb;bk0?knz>XrC5d$KhQN1~Pq-pB;qYTl{rt zwuUq^okvcZerA^#9rowwPQu}h3Saq8$J_Wz_g3sYemfEXwbN;a z+v$}HKF1y_;La@$79KGvg$M9vw?`#~bd?Je0~uY*Qs8sh(S%vM@ktjfA}T5BqWl$& zA-opAyPmwzXkJQa%~Rl`_1h2wB(yRAWVWwy31?=&5bA-5s42*K>nn^huf4K81?{ra zDA`gqt{xVefnrV9ll+3VqRg5(R%xjW8!6M%h^<5D^Cu3z^Alzj244-M7-;ZkyB;{9 zZrca*sHxn8;i2vjqN+KKHg*tNxe|4ViIs(q&1Dp0YCL5=eas^E;!P=F1(%1ucn$Ll z`0ko_k8XBft9_?!wQzKYyZ81^+w-MGKMUU5ecA<0EP~f$Mb9=3f@0JpY6koMu(`#-7eQK0*fa zu5Q>Jny}R-q_^hj;vRxYNRyanX)5;!Dq5AuietRybsv{S!iQy=>vC!tCmCe2S*wbz zTW@w+wwR|9_>LXI)E6spobe6Dz_NtVwuma4dqe?UOm(zdu_jT+=e0V zZQ_Q@Vq(Bc3qR_5Ds;sH1YJnRO(l&-ICf&Q`Xx>xaZT$ImbgztUK{%&EY)?pFjs`~ zh-g;BNE{tUwgWC~s{S^f#C_T_F;y_JVcomd!p7!+)bX1*7AGoQ0CHijf#f?a(|@Bm zRrg0<_=khX!KMTO11kbz5-xUV#lpjVvzC6Ev$5&x{7KCdb=_XG&k>- zdr(MI(XgK#SVt|JIY!AI3H5F5!yaDnomhCcRd^ZgXiedUPSdM~Is|K{{p=5|)+fBW z%W=c>8P<6ADm@~%OX`7Qo&3y2{GpDX5!D^8TWD{ef=1Vv*yYn1mqnMglIF zCUjq&7-m*5iR{4yzk8yU29n&9Q9F}XUQTP)mFg|^&pMYnd5aOExH4#FV5Z|_zwXKx z-3}rTk0ApcO*`>RJ7ce?L(z8H^S(y`c&yb?Rr$-J?tuY@i;mVLpMUwn*eV#8kzZ#u z?TrwV2eNZ&I4n;FhPfnv4rPbMy~Y#_h4N5UxSr(gW*T8aBu+BZY9jkP@de8g_(8|Y z%AyjsGlhazat*bP`!nh+jj~$PU6o##0M6!Tk91Me6vh!j2-j;PSKlj-6*u8X;Hyg7 z)i1BYj=F`rX4sfUbVR}y!cjV3C`b2{2a9>;4I_=FslX05p|k1=vlR=|>j@@a-1{7A z3-{jY5ANP*{EK!Yq|S*KE5~zP8}6_(masZ<-$l{B$fYqy!mVKhl&%>PZe$%)n3laD z3TAW?ayu#_bZ>Y=`@)_3$~LF#X%s;m-pE$lyxTDM)`p4Lo1*Df;9Zqto0XMKP|rQTLEZ9tM^|XMs7!qJtj^h1 z45i8VV*w%JA{AG{4Jh0W}sx0LCe6 zS>@-1c0a3sfgwXK)3w0q7l?5cUCPfF^3z{v?M_=V#{S%C0|P%oxs8ccCZ?dt*m9j_ z>e=NL%}`Z70sVEk0E<)d*0a=SOfC6HLIL68JTkz&E-K1>b~0y=nK5v{M5FI;j{(F? ze%(H)p!Aey60AV?N;y&-y1Yz2-`{e?xEHTrav_pJJ)Za9I=A8TQJK)E! zDfiW+IRV&;#W^BcAL)WvdGx%K`b9)KTeB-C}gW(_Af z8WY`xNntKW@G3@vkLsZ`ws<1iToMIzPU>X0@_2KfcB=U~GF1(e;`kd;WwAegi%+2Q z+dNTgSf0gd2K02w)pRHCTW%*{Jgqir)l+I+3AhhvM0d6LzqISqBAC> zg_&uU6{g8Z4$%3A$6i1?9nTCH+t$Da_ZYuz_XvP33c$e~0hK_tw8?$s-G_4^d$za{ zI`bmb)!Xj-ZaiJNjJbq)u9MrU&~>5xF1b(g@vES8%kN{-)$Pq5vaKp+7zO?b}k#>?rWxl>k=-f2t zWj~c*h2AE``b?YHTwm~v$`GuUGP#kw2t=?)1i6e2Q@rWta{nLb$kIn}=CpJlocT4x zLV4=}nIrNStw`V+A&b`7q*E-;NW z>#u1^ifY7dLd_&utNQEG-uH3k9P9C|F4w+Djp6C~lm zd6)j=4c_)PHL)_S4fl)tLm-9t<*FmS68-Q7U)?XUxrlmHE!W%4h)2Bsy_1PI00O2r^xL@BC$&k@?FpE zyvb*6;v;2cWu?IneLY6k>Lu8^{{DUpG%tTkI%!wjkmr$qIuL4=G(hqL6eEG9ZOnW} zIn?>vGmT)CWSmaL@y%9HC|@yRq0{sxU8r*tHgamIYV^yk2hV*%oB6T3x2n*op+IO7 zJ(?mBXhMcZSBpguH_2ERp+>AKaJaG_*$hP3=lrHhlHbFls`g>5k5-9~P}oNp>mO3C zeJt!Fiq*Wf^~EA>_9GUyi(-vaXUh7TO8Q0I4fU)@kC+tGfvWiMO8Ml2n@#%0G{2TFy`QPo8sM^!$)$ z**#cbuT)skC0yQ-L7A{kEw~iAjbLSSM`n;{OSUx#bkF7kbSYl3ZM?0_-m*Q4j{u+4 zRsgg$DMy}%#ZU@VIk$={l;+>!+GacMXGizxI9=f`JITix3y4 zIWKBTV7DlF@#xKXp8KuX!oVhZ^%hO@tgh&QUpIz~fMonD@j<1FQYm(YHq7=-9C7J4 z0RYp0bupnZ@sf;;ULG|wkj!r9+$tJ!La?r%G_gL`>h;z;IsbBKI2fOM3NugsFJSm?znU_8cR2p;DwBTK?0*1bY<~0yvm_v@p41qb|R!mu?F_ z41jXcVn?rm*gR2lQLOVsc%O4TBL3{!?OLsI@E1Rf^!4`lJ#NuxV+{_l@_Qo2_4Q*b9vP+?}yq^$*I}vmhIcCbD`)lU2|}8!(K=RXr^rD17p2*=gQiFgKj~P!6=uVe0J21g9XRplYM4r^3J8 zx38tGUAt#+sNGHZ0^`Nw7ZR1WhO@QvKAnyNMyPOADTSM+Ctv`g%Agb?y*zs(di$wa zQeqA43i-vgR7&W}7+!YO`FV7J>^(N)LaSnz&X0q1MPSJ=?V95Fgt^C6N4&Teopa%0 z3=h3<;uShT^~S<*unF)r=-;3mq#UFml)L5m$)x^pWB9*m%8)E^a0)KKs~_T~1CTQr zxo7#O&?&xlp2sL(YMiXH?_00$S8m_{9_I-^w zlse6%DS`%6se63>M`ruC@&CL(e8L}&9vAh_58XWcEP%wOvdnR$5z#sI%+VQvM)DnK z%~qq4viVW-^78GdnYcRfdToixkmKg)5&5rV4yf`%mVF!=%31fuFPe20o37WD)R704 z3Y9Ce&YPv&Bc&?})-DCt_O;Jl;IF-c6`a2(rV8B5^2sxVfxd7U9S*~i%rhI!^aFG# zY6yuo85wmwWTuzXZ=o@<(gz44I`YZjN`R1@{=v$u(iN)oGl8ObyDx z-T@z-35M&E2Yln8%w_oF{)q+-QNUA zHkm=P{T#mXBu&sitZ834+$ENh+^NV({UIYeY}}?7|J`jyaCy2fSPGRW-sgsZnHP3s z8fhMtr@zLz5tU*n;h*QIpHsLhe<{*_(FUBM_Ydzz$LUOsJOpkjjR0)=qDhwJ-1;sn zr@+_lvCY+ZdrEf`|I^l{ZO&*8sg-2xh!RWCsIX8-Xgg#as73-i@ z6xo4`Irm}yNlv%xe9_?rUb?{2*iTx_9vGd~>uuRiK5gdL?7cBhca*~ai5fyZ_ww^9jbMSU9Hp7r!y}Z}bv^#_E||X6F%><~$Kkc=A3ZuQnPkS! zW=Frg)eCGDll-!B!3$xLX%cT-pe@_EBcmOV;PzCH&#Q7< zpWdu?2p4M^3YJrRofXy4KeVQf%~EY1a=A8!^uMQ9J(N`44R-1y)o-S->=I};*C#K( z@8@Q`U&uw29RTtdwL?lLhGQs{D<$)JF-`fxFVT4D)h=hMC^FpMh2Z`;5>w1+30*+3 z%ecC_pH0jrU5=>$k`N}$feHbx9u&dWBW4E@PwMl5hOu7pZR}S77C$~Pm;Au4q4Cz( zVxm5&4igpG)(EcpDZ)H{36VVcbVdJtOY~w!@-t{9BFjQK7J9XgWG3Y?NI)@t=KhbL(wF6e?x>n?!p2bRP|>5_HSCX ze`i~e{nr)mbyH+eeN4jqX$L86bGQ&(4cd$bVEJMTUGR>~QV?)|ydn-{#mF4&*|I4i zp9v{1{q{ML`Et}i(GYh?d#beA#3>XMkRYPwHO(STx;i6c8p!uvrD+X+3nTwDWHCC- zmUlr%{&mZZF1P&+I^b+=3BL8a9y2+O#@^Xju!3+9bnpc`e2wjty&?o<+&18R^@kSP zjimsV1$!uRc!~JG*s}z;<{D6 z@4j^@cRo5@9z0Z2U-@(Yh&`b#sAnb001193R*78l#uZ0zNmi#+0yZpAc0z2T>*j6hF5$OgUtr!lV4F+-C%7(F0sSS3Xl*i;A0>g@@7xqHn&etgp;|NgJX`(9Hy ztmGuvirPG^o#G6m6x%51dcVCwoWgEjRT1IVr=+q$N-Bw6>5Kz zTD_XL`4i-D1|awM*vtU|;WY-5pqj!`>ECPV#j0yQ_G>C2y7lzsM8?;S9^o6m|3&;8y!kZlu1jXu&-YU4eZ%!GWYd=v@ttf@ zs$Vs%2DrsQu+x+snO3Q^=XM<6 zPn}9HtlFmU$o#eKV-5F@qa2KTem!u;gRQN5Rg}_SCo&b!mao>?nbk6$V-qh=O@)OA zz~pZ#aWXBG=FXFmYc0c30Mtv`ETNNXc6G9)maq2ZvFkqC09L&McTH^ALoyOu_hhz7 ztic(~`7!wub?0xhhNp#q zC>5pKF3;qKh=LV(xu6!Gqh;(cKwIzl6#(;}Jl0gMQ}$h`d2(oAvxe@;T;)>z@Zg%c zm2jP(ScIk#m=a6{j7w*coGD%`l8GzP#Kbl_Av!8Qic*ME4*Kjx!Y;lR90vnO8KQ2v z5B81Xl}%afx1rWsJ~MvJ#rfV_1wBd%kl>*fb71Ge6MwiBy)V4!rvID~4 z%kiN&T2XmgvvPdQeM&X7pYgzwWC+VuisfrI*!JW6vulcsmmIe|f_(FI3l#(iUbe4o zEf}q6<=K7HY?cuo6D#==U1Vj3Oh5?hG)$qsOgbgHGj#k8z>q73ggG1o81j3u)jZ>H zi!&igg^kN&P;#P_K%SQOQs5;)RkQrwj?9RA3Q_V22C-Y!Th>uTa_eXtOWFf{In!SC z+`C=iR3*C58J3spbLg(U5#oAHhkg~lp?|O|{ZJjCX|^gG@~~6Yn!rgfO?LUcOT4hI z3tgL`T|J21pR;n|mCd^juoK~jBF5)%ZGMhYEt~?96x_k~@F3p)C>o@W?@ts2%X8gE&Ga8Zx!L%`p zlIGyAXqwXT&ONnDuE$3)&Bv>Ml)L|z1BsZIbe;4z7<%n&6M~K9ymi)Py)U9Atcn%W@nS@Z1bRQh*LKO!% z@`ssX2XmgPY?U88-P%N_s+GvyIFJjAFQR=|275q_xuY5J4Dgri_yvK&Mz@{_{Q4oE ze@Yn!0c#)iJ^S*ZkFWWoz~}$vE4KJ=0x$3Xf#rNu zA$`;j{bQUTWk`Q8%3(w6@WO%4rS0^Nqi2TdL)6)cSTerNvuS2VuT> zvnWutJfgj7(v!`9`1U50Z>g%I2TKC%A8w8HyY`P*2a2^}Zd?FZUTmQQ#B2fOXOE!J ztDA4QlzU6&z%~2c6?=crR~6;{It~`Mk$=ha3hmw?@|sr5mSoEWc6MW(wC0;^Z>7BE zNh8Tpq^ZaC+*r)Tu-t0##M&L9lg|>JbG_!#sk-1OUGb!7m3p+xL3cqaQ8}X1)srBy zPgNTuop}-C5-Aio3|wU9Wh_NH=jG3MJ@z3rjW6+Akt&u$064r%UzAD|W6d;`RxfX} z(+ICPUzgYu0ySSIbza1mi+`Y2O_iJIysbv32I29vUZ766xSaq$a>NhWj9niaXKaMC zLS1q0F)v$OMOPgzKSV2gPv*_sYHrpw)X|kBm5Xq zcgC(FE|C+l;nyRuXixTvnMbLYaKwO2DqXc%e{!4`O}D)>Pv+YRI~_j{pbQAk za>fPb9q>05591olpxn?k=#Uz79kO*TYE%UKiK#oZ5el~N0bm^rD|WMida5$VKzrC7 zoA01p^$b=@c$AB54e*J@<5WigAO^s7s3p}~M*$DGiaL1H_!U$Ai_Gio(n&oyrBlPn z9*;HHw1>1N8!y`50XhmhivX}=HXsqCapDXm1!-6cu_rZPOl-u&2us~@4ow>Uq|bUV z6TAx@!8VqmWdl05BTqg>JjWM_)vTyPl`wC8LZ}zN6H&$LuECU4@?JL|GI)J9SD!!? zo4*27YjiAXaWc}(NLfPGap8||n>>bfa|W_t26c&pc^7AXF_a|?S3wpwP61kA=5J|(KgI;7(d3#+2`%-80H0&&$gc;)un8C`;$ z!s=Ht|K^~g)u{K)Kdt4c^;$m}kx=0XX}Je=Pv4~I@`dq16(QhLt>HRJObVnOdqV#E zW*%bPyoCR}z*=wA)O`I20d6L_$Ixf1Nlf63e$`x{xZkJ%{=cO_6kxr~Czu%A^Vn6_ z*t~ECwe8|a0yC;RIp9vAu~yTLj1y~yoY)ydpkq=&(p02l=oD9vq^eAqmrBcAVHiWs ztJ7aQULOj!5|xGykG5Sc{xDy3u3*>*>FYh?9~W?@fbEko*gw&3LSOZfU~4nAZM%wr zN}t0pUH(={&c=J~$IzqwQv+>nbF=y7h)|v6LieTdj*{%3`ewRiEgY6~egYa>HDH%V z%K8<6n*|Y;R-%vh86Pg|o}w5?qS-BGofv$RH)P8;yg#9}b;fHPotZLN9U^pq=T0!F zeFYIWT9>xfzH-7jJi6eF{|rdB!YQ-`Ue~eFd6QuGEI*g{J>qszvX;yz$Yt_;A!qJ_ z6a&nFcO<*Oq_N7rDV%l1ClQu6i;eI$TMqYgAvl|a>qXm?mYF}Jm1pztXwQ}J(MY5o zy3Cki^E58tx7jCQ&T~&sq56QewI_7ot_3#(0`c-`x&1%Ld5HJ)62CpeB4}T)5wIt_ z2sE{$;=vWvQv-nwwwWx``$(TRZYIT*>x)*YU7gWGozc^Jpwdfmg?h*_<)Gr5sZT!8 zQ(njVq25Wpa2xi~s2pwolUBTj!E0#{llqV%tr zQCGuvk7sP+&c-cYIpc8guWf^a82$&VguuV;z5IU>t!aX?8(EG5TFmtx#vM3zTQU+k zv?C+8wPo@H8&Y8QTs4ugq_&+d|FQktKW5aJXZ9CmI(|0MXlX}g8w{=lF{G)pMnJA& zx^|_$QU`up^U$7+IsEj>?ytpEN^j(gSp}zjuqIj-4KDF=AM5)|3rM({t!SHKU+ev(*4iJRDQpR?Q8wr zmW&(NPbM;F;HG!umsX9+wle?{{5o+(ZZAdY!Tr*atuBO>M^)`-4$M?S(u2 zZo%F+hss&+MM2F(`EAHMNi$qTs{2;bKO8x}H&K^aUcL5mBch<2x+CLKH`JePR6)Z8 zLnfOD>J)?fj0b7A69Ik~SraT2q^q5{88f{jQi2&DQU*5fW+&T@oMd?jXbfxfm!Zcc1Pm5K(F0^wIVE=@&N7XD&W*fE5AXj|ji zh3>-iz#=?)Ou4fCe8PIl;u2>x!WX7!WpdM6SFK)YN9On7v53vRKr(~{3x=_Nfo-;Wccu{Fi4-T_FOWXACx-Ir^c$@aP_l=u? z$rdO)VifPKK5*!NN#N@^6TMye>WVgv=c`Z@C*RyNIgLYeD_~>cxMbVUz9b!jS6~F3 zdJ|5?WJSjD{V(QO{p7NpkBHRyaz`e14iV5c2agyR!VFK#e$HYcQ;+hurC5}M>Q+iy zqPI&|J5b@HhUTXk$c85~4F@ajzNz+p)SpGGE6&PrxQI|yomJ!9_hJCSP(DjZl96ft zYgB`pQPDfG876*ljqqW#`{4ETp_uR#m@O#?s?fANYC_3%h#x=K2Jts{_c;GHPiZ(r zpa=-Rr)8-~(^?0`E8XgMsk)8`KW;_f3lFX{mk9mr^%aiicey9KF4_}N{<3K5bOKiE zJ|<`$J4myI#>8=Mn(#5fAVg~JCI^BmzbE;4GgCf$43Jrm#wzXQ_)TV;u0Z(RUK|>Be`@*NhW+2LhRgk*C)uAX^w{{-u5iOt z8~6)h&Wk#Y$WGCrlDaDcmDu#4@M45y z!q-1EB| zSGKCpzUjhLZjDbZ$$6TTUAf+_m+_dc1I?{ol901|%8b`N)|O#OnhKd(l?${v(G*yZ zwYNn7u}4Ba<~O*O@N6Y+H}8NYObOg`G6D)>A3#AYk^&0iy&!~@G|t3^BcSE|2=D@0 zUTnHR&1LZPZYqMc(qNeeH@yB)w_;QuIo26(0%&_Ws^`}i!9~68kbb&y{hMoy>0re$ zes;{W+`o0cnaMj3V1^}+2tFPIu&_QV-k~`0G3uC;P3a3>p7~@m9fB_NvNA6Lw_BEf zjcelY@JRh!R{4lFHuJJ4z_x@Uv7!i6tV1AGyYrT z5?aItGC{(_=Ev~vvIRHzrER4KIrJPB7fiubCK9(wug z$a&r)XT_yEwas$$2c478rVTgWO$Y9NbaQj>Xp8t6V>>Jd*QwtJ4C>0b;3cNn7jPGHUPXMg)Oc60%^>{kQ1^W>Q zef|&3wPPQ1_4(HbWNXB*A1=ur&uUt9JU>z^{bx zwK#LAlT>i2NpoACy0r=_(vRBzI4X^jR`u4U{XF{5_fKa^E8szWlRpGS8TV5gGh^MI zvc{fddOTemS2F=419ZMHnGBr@BsMV2>)TSXV{;D35^8+J{Z`d1c=_7akX$9OqnP32 z{>5Ux(&?Uph~Xj1B{fj8qNAhQT=%jfzYyPA ze|_Mua0(^xurZsNdGG=w!KSoh{mO@lq2$z{zPP)X@uK6F=3HoX>=}!M@8>@ZMusq{3qf-#TnTY5e1 z?^G3&G%v6RC|P2jA8tpc8}M5NHoOAz(dbg?lUe$+#9Mn)(;t2Nk8@MBKYdn+JVG5i zq`6**3Z8B4i87@yf8Gx}`HzG>-;Rt-tm$8poO)NmFYoV}#(`7*i(Sh?{4RKzZs|Kr zp1^7N_*yx?Sa^EXrfqzwH7os7(X6RT4pz3Br#}dyHRQ9OLPFY|RMdfftJ^Z&9)%^GXVNivF^V2+9{zN}*z&_23yjhgn9 zhWI^+tCoB3a_p?^4^UzfX=ufaM%l2Og%#r%32SSLaT45Em=*R2AgsMKYi3r*EO5{) zZ`cT-yS=?Ps=95$gcnF(-pvgGc<^9=>+_790c}D60I0a3V$wgSCGqMyln6JFxXRi8 zqaW}O2b5fU-ni0yvU=~9(R{#-txnX`nU2U*4yYaOLE@w!)gGoIh>tLzcnIa*8{)Qy zR$dwH8tDjtkimrLpT2tE+-(7bH|8-KlD}L ztA<$Zm+7hj2!mLoJktaRlVHYt4mMdEy=!lwy$t@i$~k&Q?1ujUzL$@Gu<+YU@3HtF zEq;I>Cb${!!;}Mln0@v3|LF96h5tO%yjyEGWifjCNMkgj0)Z=T`WlQDP39Dk!}FF# z@V2shQePnWi~dAmS5VIzbnCi6SL{r@_Q`MSq5atYz`P6pM{MlBT37)GPggP!R2aZg zE!$5~`v3LxzY0%Z$4@uG>S`?DE)9dJLl<~S#>-D;?>1A@N-|+Txp(7gnS;%*FW^%6sJ9vO8z4oSe=UP{BNbMLZ+K_rqwaDOU*EtYwEyA)aki3FCL z?75LV*o0tH0A`t5LKinpR4IdtDD1%RNsg+-z9nof5N@*@aNVSF@Wrxm}CJT$j%}2)j%W{){5*k3e4-f-rT(%X=rgS{M4yagE8dNa}M0>(Ca;z#Q|qK zOSt7heVwj;hDPVz1gV;}wJMO)uh9ObNh-(#H|FEFmF2MQ3q<{(T&Fe|T~jrGI4a^C zxlGbQNY#OtS-9W;<8#rpU(|&SiH~YqLR1Dwp_XR>RtD_kzYG4NT{e%FYz;b;#fO9_?>HzRdwoVv-pc`e*+zAGx&>BBH z%}=xYJ)ip0e)o8Jb1(h65eBRAV7d8pz1&T)ah-MrQfz`(A*sysdt99JGXWZ!VBegH zvnl`@4cnuSjIUeiJ#KmI`^4}2g*AO6U7w>0ZPzAo!;SHK>(y+5YVrXl4al$o^fz)+ z3{4=EvjcQA`wa<)sP)qgH7(D;YAVEv=Gz=A#7 z8z4S1QTzW8_uc_b-TVK)y=`q3(JCUt0Jkb4TVw?Y&}sz%Awn3k3&@rkR)T<4hCm3F z6@d^6Ap{6RM%bf*kU|&|2*{R|u)^M}zXRCzem=L=&;8ub{e90LA)F*<<>Z|A`}KZ4 zAJ5t(C#fN#W|Gra=H=S8lH^*|8yeOFE-wM0-_xtLGLEcJFXwV}Gr-Z(k3zY3G!Tr|!;KLu`Ob zv=%0%m-B6@|3hIdYf&d7_(;XeFrZfvJDe?X&t)mlM{n2}w_y!ojN3|8psr72pd-u6 z%fz1s7B2a$;LJT{cLD=^>Z%Js*@>@Y zr9Fd1EJC$A1>rW4`(HBZ+`jRs=G_+riSI~RewnzemH`jpK|=!;ioEY4wLDx z#aYvuc}~$^1z#|=Q`WxI6&b&}%G7hZIFIQxA3|#8;}N{)oI?~nhMgOk{H@qL9eVb< zRd?51`?U%?e5XoG(r{g^a~XAt5|Timk~JJTj9 zfp>^ZD!+iRp(t*fReF@%q$;>~OaG>?EwQ!2ULY%5n3>375p`3poo?$Fjyc?XGYVkcQ z1;S5@^S_~T547H0NzDbPO%J<#w8?M8Gp*8guiwd6W~xQ1q6|fVp@qO@TwzoZ5fB%t zdKGAZUqFpZ(}L=%I@WO@#m+eO`}_NCSEeiSCtp^^bg%1BJEBcpt8wWl6OD#o#EO4a z-gu~GE5cF;wC42_tgpCT|MXcW=w&ROX zlfw7lD979uz37zl3H+X838x0kb!JULKy{-x*3z3u!6&HtPPa8?KWwiu%n+ui)#+j5 zU@6t9AYY4*Au_)6JTGn|nIr8j0WMr%YkhxhjIpGJ(00O#g4PULj@e* zQB0WXLUZpN79R%j;G z879h>0|dw!@ST4klhu#xKc*k_=XB;dZ+|}AZdu>HOaP1=8bI4R`96@xQ@)iuFyQJj zINlfu^(dp>k^sFZw*BFMp!ooti1IYUOwMbKEQj$;4N-B%&q<>F0 zVr;Ya#HdVhe`lB_Ok7!*%3WdG*#KI*49ZMfWsi?%m!rk!EgkV=-<0 z;dd@e1$AqP{LaLbCZml&l*R93l^yTLD!JwU-4K8?H2Qtb(pU{0i3}Sf54fp3mxJTU*(;9bXp! z!VuWOz?5C^T}K;^NdbH)>uMzIn_h{Bg4NSarrq|EWtn?iSg~3Pn&uPoYbaviq3p$<4}Mmk zep1S%57_n$vUN4GO#}l_A8LbHcY5_Qogxa(GK}5OI1u*57LaJnM><|2flgX6Z z343-lqx`9brl{OPU5dy#&j>UBi>4!T0rsNgqCD=VZ7Q+PZ@8q*E9?PSV)I}%ADlip zw`%z~7^;4Jz%4j_7ph*gVa1eBF`0hj@c7_!rxQC}qrT8&8j(I@*3k9bSbD~>Tg#Z% z_A`#NP_ECE0+I=wjpALF{aWm};t>C)!5nv@4#-w$X1k4@{S=vz_GZvksxvYn7Di}Z z2&CgFzMH+Ez-KAoxfe?v6O0b0j!+Th_4(R6_)X^8g*6@3bG4<^QRNNSgE<>(XY|LH zaAfMJdM&G?StbaypRNpxZbJ4-h6MMgl;xH5yNGHg=%!T|7!0EZi=Q>yV3tq=0by_q z=gWEdp?O*Dd(#y^AMD3pl_ZZb{eueWvXGg67s${}5!oy?QCaH>4V%aqv+G+KF=H_S zDjmaWn0@2b#Z<}B78W~pCTKRyl6z&}47+;z++NCLQwlr383&2WsAYJ?Px4l;* z>_ZiRb|BZeTAs;J-2`bEI}Uu=zZcJBzezwGkmV1tB$_wq<8y zd+euVuD@%*hvenq@*g4AjEjo_z^Sl_iS7a5wCYRs1Hh^2#Pdh*Ie47E$y8TQhiB?_ zmiW7<#I`!zI)~w`5o*$FaN}{Qwhx60l1Pe`vDnQT9W>U_vFYr)mh*NWF3}!;mC3SY zJTLa;)kZ1i#Lrfur=jgAGd(9!kU;XZeW;&Dg9)-qOxAlGrt+LmwGQv5<%>%|O^^22 zlU#rIn&A5Zt3FWRu-iD)3H8_Au{`Z9$*9Zuq3XA`t%*NSIzK40us;}bR05#u)JFhx z-LePLk?VWF5Q^5C**hc?{VqleJ9;6Ew0;OU`u!99g-48{BZ(S-dlv_A@0>vZ?)^|O zjI28hT47WL;qN;jS!^zfVK6nr!mRN+VLKg|aclCU7{$F5;Hbw_=WU;AJ4&UwFRyBo zI;x6iKJBT-KX_a7w=RdZoF3nJQ5f;CkQRf`ivajU*fzfXabY>V^i&XsNLQ z8(D8^XS;)Vplheyjw*Lvdj^Mvxdq*{fZnYA8>usAOlA@49WzLhI-umeHH^QxQ=q$R z3z&V6>XmDThtVrb4FquAza)RzE<);(meX^Tn_U?x5& zck-|Cat$G)$A$NQdSBqoDLE)#TKV9=m&xO>cU`;a9NA}xuc+dUjf`v^=fd7rfmXMX zS?uQK_ZzN7q!Pz^2j^r;N{A3USCzV_SU%#{U6o%mbAcq&UyuFb;cvOCx-j>fo4gAx zT?FJP0u1f4c($bTv$O>H?Cyv-3w}e`Xxk}(qB+*&WIzRZMzl!q0|K8j6WU7KVk&s~ zj9DO>j>>fuJhv{Nwi`|ix*gW7EOeNAcN9}M=XPt0LuWtoOcqk-ASDlXlxp{OIBfZ9 z%H9Qmd#fo2nR-VVcp!ThR+foNz#5y=`6=CKqbeQj`NM=W2~giuse+(R2 zmr~_3-@Kuvh}n6dp92|SslRW9ZZypsh|`!`N2(*JFnNjpHX}`Fnbto!en5Uc!+? zD^$YYzgWgeGmd;$-sSN2L#RT7$aE&sTg&qZwdW}th6(q6T;M__Jg6zN{iYK~%5 zwaCpV7uMTu4Xt3Tg?m4vs+G6j*ntVQ?YYRSSbi|rO*59hc&-jIaM^>1aeMI+LaIqUDT&wYKu!W>@-A3 z08DK6{u6_O{Y%QVb_sq>YilP{dG+l$FIFBI=Al1t&B_=wb)=pKQ=DTW<{JX9MmtRV zCUIB*P5HW|ikI|vy^%|kKp`N13Q#{?veRx2*pF&@1>V1i2>CB#m8;%joY& z>Aj!lWOprxgbmsixRlKuJ0CXBfl z5vSlJ8hy%R6r1~w#oCcRrJQF0U*0!!p*Y&7ic9FOIQ(gC6n0?TgWK8JO=?^__DSK~ zdcRY$GWR{=wL#--Io8awv13giJd!zFG|*s&W?BKh7O3!wtII}Z5`QZ^T1fj%>Fk}J zGGXsp4TP9PdX*N^?80RUy|G2i35X}SDk?NTTCsd3dSPj!N>Pa=?rH=BS`^HAmr%Ud zv14aa*IO2-J`MV$ii#?8S`&Oq@YL>3#a0KbsNv}??wx`a#_~?<=Gt;^7^TMlg;(CiFW7h%8l6P6 zuZh{|Tli5!-7^xv>r|d`blrpYN5<-#K*MjiZmEfNzrHYad9SWUbvBWY!jsr%K&ZhN zZ&)=NXG5}cUs3s;Qu)tzfR@az_gr)~LJV(64|(seK4dA?ZYvF^4j25?A-4AS!ynl3 zA83L2i2;S1?Xtf1zUFSXe3iP#iZ;hX1uJH^buhMoA-3I{rUKtJP3%Wv6?KE5##`#^ zpl7QRpOU;_HhQ6n{z1wU`A$t=MTTi>^_g%kmc6vQyL*y5z1LT=ZTgO(b z1o-%lq7>Ep@!@(u^zac{j_+x7Sz!G`k0{nm^4oOL!f`;!V?@U#^`(yoo?(02vOvaorwcK?-&t$uW z7-Io#kMo7=WW3xgDQ_%8k#W7D!#bf|CGgIs>+KRMK_je+DqKf{p*_ToIJvjql{B*> zMVgAuo=h-M%<}L(-xV)c9K3<~9P@T@GasbWgI>@w9mEA%NT`$o2F+o#Mc^rgqTXYl z#C7?&8PnepZHPuB?M5=}J4oj-khrCl1J(|WjY_(=`D(U znU`zUG_@NK;3#!*{S=Uu2djR(rI%%vDXJ;Du+OK>Pkok5Pu{7+d|Ofq1Sm%x z+;a8MzK&fHK!CEvxzRRkZV^>@ti{#b%!9(6Yn?X3cFf@-tdk{fH{-i)>*P}=3#Jog zwkwNTR*K3S#}(c!FEvlrqPt4$wfNcZly5a8R?cnGsnI%4fqD#HTvXN+oz8x%MY=SHn2EZbYQ5~uja%R_jABx+GIGGmZsmfs$ z>~Aa>L)j$xLTgKBwbYaWGb>JPTggS+asBfCrs6(zE*{sa8;hbh4jF|HYAO}@LN0S+ zLZ}eGxqm02mSE)DM*y3fk+TYV(D%y@9Iq1|6=fC`iBXe>kx?T3; z^X6E?DFAGjmtH1st9MrSKK8*%xO}rOPiajmi9q6+l+s<@<=siyPsooOMQL~RF2SFc zOnk7UZ<62Z0`GG){`J_8TSjpUfEdx$b$7_S+4up| z-)y-J{)eS*6N~?pCz$<=gRGmccU6j37JwfZ>E8h85}f>g=0g-M7yRHfkZ+`r9Ob&B z=Piq3;w#~zo@7c$8hKK`Z)u#11y>@x9CwMz0o`RjE^tch1XQtOvkDrbH z;!b{DL*H*DkATBWgURH4W>NJ?X`S2eM`5tYdC(w2qQPJ=L2~04DSs$F{HyN$?Iq; ztwBZQTKIJDeoA&W4g`{x>Lu>NBcq%Rs_`Q7iYYAQjixn4498*r$d7?;QslkgaRK}q z`fkEDj}&KUe3vq|n0Wv3F(2j7o)VJsk1x}_bBy2Q@fRagw4SMH$zJJ!AtpK$YTwYQ z9&zKSR?o$qv?)2o{`;&YRM9hBpz5PiAT<2F%DUL-FkPBZ_Mud(QNn6G$+34w-c7T8 zpT*HfD&?!N)>3hGY zdSeR?J1`j2qp-Zc$n|FbsWYcLO3{QIq8S^5`kL*9{MD^1#f|YP>}J*n0&}TyT4Gj< zD%ke!!=Hg$@h1()Z)t*=F1L||#HyPc>)S4FG822Un1LEhNVA3?e{?ZM5es1aj0xGiFVsB7eu=mJtx52ap^<qw_OHhDR$hVdCwE`0kgTic#R|?R*fhyxmW#<0SN2H9l`pl7#}k0i zja3F2L1`mb%w_&4xdvr)QbTgRjJDNGL=Y?-*8yB_Rj+_$&%xOo0(P z8DHH)o0jK??d@I6Or?>lh*9cLl8%#Td#RI?8+lCIHGdM*k$M_3r1J}4SY4s605*R< z6?#)mbCu|KEx$wphYj$h+99vY*Gj%$YWLO93vwuSJ`g?gd*%m?J4)51Lt+O z19J)VHXzxnSC(0!8ONs?)8H3j?8X*-#p(c{N8vAOOVCA21NlkqMqHe(^G<`kxIHIe zh*}F^cT83TRgXFMrt3{olne;kSjSig)?*s2cEPE(OTQvpO)rXEP2k0PoM_I1F=})cihhkoChwQat z9XbIuhKEM=O>Ql5v9ebZJ)N&u;t;Ytcr@Dh*`Dp-+}>TU^(}kMoy5JbTMHy+EJn;M z40H`7L|Ss=j6Rzf@LTgxLi(w31GUX@dn_|P&n>y_CX7mV(-fLX-7iNqH{h&y{u>@W} z#*UK7I7`lW{zk=QGyraH?)@X8KsESB0@Wv#a|L(g6~z^OOi+SwD;@D~ z8=_2{S$b5BM$d+^;*JxSF_m+J-gfY=NlbHR|9Ys2F1LM$Kyt3*b`&n#DgR-<+4GncaU2zuoEdV~`IHRoE> zSz}MP7%g%N=-?NLKPxSJCQXJ<%3+%`C0PIb6iw5=$W_7(mE?v7B?l=?$gU|3-7Q|( zZ=g>(`kMHSPVOb#$6x>Lg7%kxKQ>Yn-|17OlWLyclcWRpcCarCOA)}UbcOXNBgPiK z?wf0SZR9Jee9ghY${%Ws|3XAMf@oeqj#)KblWkzE#r7pf{CccKhX#z`?|t3gK7jgT zJI);W_5Yah`?FK}>p^NHJp++xIZi;J1;es_8Uz$tlnW1{0?e%O!n>29KHD&PFlF+T z+grId1T=0Z7U~}qba7>{9X@66%b#mgeB2E>=)SlVm|9>c@a@2ohx>jVUP%2rTAp(g zkWOo_Rt>MxOZiewOY{u8*s|TJH8LCxDoTuQOy%Pfvs-Gq6m}H2T5>vUY#-kGJb~`X)>S5*&&NpSUr`A1D z@G!%OYzaw-tytMg(T$(WtU=Te+C}u|iOOcU8c1#YY@xReGaG_x4xacMN60V|L1^XDB;+GY8B?FTUuh zZKJ5+**Fo{PsO}GwBcaJmYY_rhK~gM%H*`iMhd=R&Y?q9bzx(D)Wycs8~7i@K44YPikj=6%d24ke!$9NgWDVwZ0z7T!V|6KksL&%uf-&G=D>PxXmd*kAhk(reLHi za4WaItY}xY>}+aqEWjRSTQr+`xs}AvlpB=dT{uAtJ$VACF#moJD^M&DWM!s zl4jX*?(OmjymvQ99ny~)Bo9l9B`I07EQjRV-bB;(jH%ASA#Yw!MDT-^V2u2rmk+YS z*-qTTS-?ZS{KgTo9c`5d3#)5pO(9pEGbx5 z7KK!5@r!i?oRhuhca<)h6H3T%8a47nwl$sBV8jm^8*TG$kDPZ|F;Xj-yuSapD&4FK ziF2b|{hRZn5?$o9{_+m-`vtX%0YOFrmc=*FNLY~9+Wx-w>9OG&0^(i;UN6dF9GP+l z+-z%Ws{%=+Qy`vbF}u-LAQU&LMZ}OQ@<~snYTwBueg5pMPL%7+ZEqPy^^DYb!VW=f zxk+ynC(iF*BLAGEJd9mN*ZJ44!@w>qRq;q_Frchrkd^Jk z*gUz!TmJs^jDO*F$HqKkmQ_Lq+FnkMJ6+rA8w(Rm**_C5J0BG1J+A`A`B|D*G7wru zw6TE#p=G6;YG+w-sn(XO#x9pH)Ybw}J!WUDx;l_qc729rV)%<=l0_KoZanv3eYH_s zcUE~%zQ5>RkChsYTYLkG2`*N z^}9#=3#1bMfT?eQ`$BNPwjJ;3aF4)2^E(tDl;HZBKzd<(eE$;V1dzYXkw@YV40>wm zk;khDPo3N>|NPIwK4v|du1AC=Bqk;&usZXftg%}o2~LQzqP-4;d%O`fsbRE}ZNBI;*>cq*fK|D?FJQ z_aF&z|B;T)4nh(Bs=*aUb>zj3aO9cx(?e4)`ftCiPMDu#Okc|`F!SuJrz+yatW#Ru zCmSIBdn4+ms=o5NCf#MR2&Z^8OyQ*Di@}DVyl7D;W+9FGYHTB`)AZM4O5I!`cLLK8 zEO8(3+|c<0{kHeafqq-42T38x#4hNj2lNIVXuJdLbCJawBvxkQ^nrG}id^8W2QT0a zD$^0SYJwJtMkhr@;Z~HjbwEkUH8`-1duMxB3~;dprU0-X-|xuD^V`Cy6Sj`!CnfhcQ$~NVx8enm)If zUyofQZ8!8NrAAH)-1^_an*L(>^v472(Qiuf0GU+L%b9#(Z~xfY94#I!?A=7~)z%$l zMr~#-coHKKcy^*^_~EM8s%HlXu?&a+M3m+)61{G981LHv71*)$y3L@GzP`C=fQOS> zMFiQ~KBKSuYV{&hz49veiTHmeW6IISpF zpAc$caRO#U1}|d$6dS$wxw?Qd^|*veY=9~TK!_d+vX6}qeLY9kV%wU%5SKAGOGOqB zcNiIJPu5ORMeEQ;r!su2WpIEzd=o}OT)VG} z0qM8q*!T+1OMr&2_d7?Q-fMFOTDu7<-Me*inFj*#4nWSZoASk-w<%}TvvmlfI;CSE zl9}?By@IynZP}2}m`4yDwbC6^qXd}lq`-i;myd~}*_gzm$>OB8pAWXSaRzxcId>q( zB!r;2WDyzj8s8{iCD>@s27aV9?KI=4Ju1_XjVF>gv8HPDN>QS`V!r_shLb8Q*KU;C z9CMD)@N97l*)}lfs}!0iYpQYB-Z9y8)$7_MxLCvYlbsd2cdVF25dwM`RIr zX&qmLP<&5RLwwwwuhq_$6jF6c?6JFb@p3gOaZVN`p3$j`GfbWVgexm=!DaF$BLrY~ zM$LF%B5;Mp$8ExI0T3X+!lZal3MjoOGEBJN746EBAXwhcoELY}5s~58D~gS!xP5Vc ziK3vf^bU)jA0S_+^7C21n4_vdlhb`eIR&TS;RuhGzDER0D>|v& zaK!^Xt|v`t?&@<{e$$2ZT(K&R{QfeD#mNSQ7|YQob_-$mV;tpciyLl?ay2|%dAZyc zRp!v1fEvXppi`k+yPnSTa%V|-JT@&t1-*cd0x~efD>J1RB61HUTrVPpGCZ$05i_SQ z$FQ5E9iR-`eIoJHC@n|6w&3YEX~svn#w z)wKvL(za#L$H#cq!wOgh@S|+-?krJaKiOvb_8#iO3@nQ_lGWqaVqOrrCbn4r4({z; z+(V62*yrQpJ0(*%TF>+J;*CZpnORzj$V=38yTlDtf_^L`iFK24b=3G-i-=i=`BZIz zC2u9){WTaSRjqon;RcfnEv2#i$b;Y0?F)Oi{z8L1&@Ry9-oXY0Qj=?hClAEA!^5lM zya2K!`~HBMsE3fAqZNQGXr4;#tb#mE!c{`Ph(vWV3H-!|0{er&qn)I~$&!My08JfAFjP@br;bTDhpi0sp+jt{Ibi z#dvcaQr6%^mv%;B!WQ;v)zJaT`)zU~i+w6Nlrd#z%<~0u)}ut{P0!18@UF&MspW~^X7FbN zZ*alXzhcSt53yuJlr-199GW-{^hd7_ILe|`TclY#Dl(p9rR+`n-quOAekmdoOiP&` ze>~XPPgY0A`G5KFZvPvv`nf&Kax#o}am`lC<1HM*3N{za1!S+>#Y$68;l=DS&v%@H z19c7w!478U6+u0ngp%Rr|0 z0ohWI^>r?3aN~zF`r7P9AO8=w^O8m6;#c8Q?*?2JW9q`E)-C2Bj1`i(BKubdAO7UC zyW`Q}XA?9g%HtQVuUJ-f{37YMm2Hgp+tP}tu5>Ga9P&V}!25*K#UqZbR;(LCz>LUEmzo6mz3AUDw9 zTb1cJ`Q8%uX2lmcnAUiK6X=HTkKyKTP@asiQ&{&Eiar_V>*QuNTHe?!w8AkoQQ&`; z?rjMOL{v>c=WxsC3LI46l-6I~#WiIJQ2}{D@HY2oZ1nji1}e7k_R8Y!gnNtMQtEk~ zWmMpR3fq;YbGb9>Pew4EqfPgjQzg*PQs$JUNGHUyuSRs|@w_H|{r$hO^B;-1AbDBY zJ9`vkZj_hd4V~sS+#2Phe(}Zm9>5h$!hNe$K{x6rt9Rmw%-xoeCEe|)(<`d-w<;T& zRVIOO9S_reagJeohVOj@|8M^TZ;-BR_+>*Bx)U+7&D(JNUtd6LgJuWT^j;hoR#}dmt>`DbC`r+ zih8>_F~2L-n%~q=RN)!hL2dp2m-FRs;W}SwA$8FR+jn|btrc@ymQk>kjik9dWuLVa zOzvEoo-#V^vHu_@lPT!g-;=hxukv3=rQh~M(9 zs@(mzYEoZfGxaO!AdlMStnXIt&x{V7-&%5(jJ|PCM1O2K?feeyg6JP#Ij0&t)K~Bt z6UYB0>F!<1ZIALiE?lXl(l4XIOLzSUL%sgl`da6-Yv>8Zjhyd7@OlffVDhmA9%X7w%TQ}fJ>-bF4eSqM$?x!zG*fvM4|lKN7NriXm6)S zX&`0odBmDcb0RGRAm+kn!!!OJ)ws$-RDzN5iq5w5iynAx;pES7h^VRGgB z-k!IPOnL1n@p-@7ii|cF!P4$&Se#kbV56&H1~L40?OQVCOd&4Fqbvoqwd(7$^Q@-< zW2D;O=fdAMqj?rk2sxVGNYm{>tTk@;(!AC^O6d(@Vu*^W?7?aKMvmr!nw;Jp??}q- ztb7fd+u8XNCZe1wTFBC=-c+_;SSmXEl7{v|l~pEsmj1mDt$VK*_h>@!;9K}B9p}IB z4Sn#fpPY+{Xid`adFgdOev%vFX1o1d3e{2^r*4qwbOPEIy6VvZ9y9$xXJg(pWzX2& zTTQf>oPhe;xI6Xpa3d0AK_A2K3}JJxFOF;J6M6hktNQda6FU(x!LzLsxBHQw{dDZ} zUyQPOZf7@VksBnr=S9J<^LXw`A_CkZ&)97LGCvx)Yye~gx}4wr;xoR9eA1>5aqjZt z1tWUn)jF@R(M$1S&*L>qB3=704LZPa%E{y%;8{fv*$Cs+Zz12;pP2700i76c7ym{V*tBLdQKpoo^5SPe)C zJB@-Sr>;i9^-BBAZz6{9C*8wBXE4lI#gs&pP1{TP;&r45OWIbljC zg6m9UqIW5hR&h<$>dBpAu)PS>;m{2qfN(;lg#@r7`(k^MvzMP3Eqv`^l%@x9Qs?UkV_wSSXhaco zA|g?O+V+LAtr4l`mU2RxZ*r{SdHixCP0|es_G*@nVKWb!JaeaCSJNMwSvXebGd3rx z?HQRS-ksKl^z@=>Dr0;rd@NkgJmEBc;^J(y@-mUTp~a0>F70;X^Do`ndwPFyjJJ5(>N)rfh+sr z@s1gIyoO0jh%uz%O#&m()$-e9_W4pi!ARuw1N_3N&bx5J^betYRQ49fWWc=AWeYAlIz4r zw!4-|=ZUFab|b-lI(K-CRIm`6zCSry|Nbn~Y(tr!CWS(_nxB>2eSMqCr4$jP;UI9pS$PmEt^Cd7kF3eyWDH=rhTOO+nPY9ID5(H;qZr1bl{4w#YEB5A>VCwVNMTTDAyxAjN^7bOx!#6S+*tw z=KS;3Ud~2?^}eO=^tnU}tFjxU&0-M7qTrjIxOp8xP*~ z_!-@7fzse4J8^9>_@r1RvN%j_z=q~ir)w6O_8o3n8iUVcT6bO8q%->AmVKia@oG?tc zwp&tGah}X-Gg(vO)3E0!3|6zVluvn$6@~)jRg>5@1`vsSH2sIpt&{eGUn*!UTBOlA zWD1q~rTnz1Th~ggZsg9`oDqs|6VAUuT`?Ee*;oC=v6=gth!Sr4lET_zRPXhP-0|ym2)3aI zyzR@Ei0OWXr0?)LneuVAGmq543U~9AH1!aJ8pxvXu{fQt%6>cN2A$e5F?227!a%z# zHNj2pxzim_8qy5xug6ea!G~wvk6#{bp$IHy^6KX^zVTnTG0QW?AHHCkTa=s2gXR|` z$KtS#F*nF`3wHROh`X9(Fg5mWgm(Q;KzZojKBvA+d^YnU9QQapd`h1J`>g-k&lMtP zSDv56M7W;Q{O#ENN4{F1gD7Pj7iW|Q^beg$6c4}dGDq-c{?)tgD>fa9lV`5vbSF8% zVxdVLf7_Kh1&`}6_$=qQ4f^(86(E6`fplxuKf;6S_&+ZnwU{@|F`Y z%s0Tc-nHw+U#$jnGRXO)oJdyeR>-COH78ck*tdRZ;LIEGQ)b^*=j5wo8hV&W6NXER zCaW%$H1oVBm}M-1!FyNqdIPxd;5IwSD_#@d4H~agUp;O7P}}SyAt{DawJrVQ_O3*W z;V5H-e$2=dw~H?qAPWvNlf$>QfZ+D~i>*`v8ac0~n1+lvKkeq-ckc;0;Pkla17=*i zu9$Lms8qvsrjW}YD!acVaeVxX`s;UGa594t>h;D4%Zse98er2EtJh>t3y{^LU6=eC z+BCYC{cME+fFHsw`G%KuVy)-n$A7)7KYs-W{z+s6Csn;PYb(Nq%2c>nK1fGP$^VSw zKwG@9TpmU%EgJpcx~$(-8)wOiL?DCTz35&+UPh>yfeObAJzm^(`fkmr<|Z+jp+!eM zZ@(}p@+c;9yef1D=71Ac_l@W-*;G}_0B${g^b|?K@IFJ7XPNB`G~A(G(75YGNS#nl z#j98a(XYzTVCTQt$A~7eU3#o{v*e`2_d2@c7rHJbjG2YB-O06AxuWNSl)uLqjs9CP zs3&}4^&aVD%!=tKzwqYsIDN_B9m^#k0+LXz;decJCjJ^V7WyjqFDn!uscT7Rxaj1i z0Sc0?*`|1rSU8{@+(^(&x*&e-MM$2FgSU7M4ogW=)0%YqVT-9jJiJRbSxzn&<)-ck9q)p*4K`?$f}{7ei; z1tKV+713bUgZP9r=oK9#Omwkz(c~V>snBND2~+5Ak1NeFEthd+Eol{XHFR&Op{4+S zV~Raw`{xb4>5G7nu5#TcUf5$eN_k3San7aM|5*QOKt65F_GEy4tXZ{0X2Gdi&}9i| zWWCw2!Y76QusI(+R0diZE}F9Gvwi*g1PW4SBTcBGuykqeQ$aV{?GyS=Ol^`5_q*wC z*g=B&+WHTr_nk^j2wZwi49@h5@u$&TZ7QO%jK>>~|6!d6Pd_P1xUUG|lGjGWO`_LP zFUA>-IPcC;m$HQAzURUJ?ajaadq#N;Vd}Uc|CL62ys(b&a*OuTCB#i@3CHaFtiUvQ zmZ@obR8fdYVQ>aU7p`iAss3y9t2N8pLD^b4y_+o#XaF)`KpxD(WjbVBe%b+ek}j|+c~0#)~(5sF7 z+d?NEMBQ0J+L&N_^q(7thv32S=PC(2t`#2bCr0Bu>X|HWu72tjc<}4jc~y!x5FSDi zy06%vP$K#qF3^f1G9M9w_^U{l|!3GR~BNZ=Kjjl-N`&1PIe7=B-aK$Z2p$t zw;TeVmtIy(6kQV5x4i~wEUz_&ex@%TD0y47rDRj9!=g5jRvfIklzlzlXkOcz+YC;5 zfx3oe=}SzLnL-zYc%EE^SUl@SCD_1JAewqhnBi)m)f%5;aaAb&<~P7G`{(JyV;aXe zsOgGpUyeQ7NXW)T2V{nmEE_eubSg++H0qpBjxKv1rraLq-Hc(c1<)js^!3XnkecR- z-A_SoUijTaA$yYQ*wU~=B`%e3r$&(x%r(%CjSHwoy_hd4nmk8I7%<|0xwx4)Ry5Th zAFcoRXzTvGdc%Hen5nUoxwAOB{gd*%S8AnO-D!cGh%nMjO_?@gJO4^%@BTsp_8! zjV$uv<(!z$a~jlvXHJt1b)DIXZ!w;KlN)#!vau4>^Bwya)`46=B9y|O+2h%t|I2|? zVD!1zzLu~jOw(;O^qlhxw71&LHmrNaeAby^HorJ0@wbmSlQFvNREIV-0s?t`6vxI& z&GyY5SNIfJ{8pTQn7cg6G`pl&xUKPOMF}2d-}9Eg<7EnNOZC@dO#Qv@A->6<;|FhD zSRy&g-~>-pTphXEU5rI0efmwWjA-8RtvC5)*;I*mhXT3ueadhZSBBdzW2s41{gT{LIvJZ{nv9YjLHTIC zSFYUXh^4!0CSqA%{g)5_@z3YUmHY;_79;+?dBkgOHsF?~J2=Pi?9wvFLY$WW&2j2R zWzKWl0t_|Ev76@vCKIfzCV06*BXlacWr_i|dwztyiN>qn5$^;VE`py%B zcu|kl4*V2W4m1(GTY_&Z#$N^1SQAheh#F4UBvQNCGcALB9Apwd*{i^OaJ}~{_oM5L z)yIcf1N!dAC{nVxV+0 zrt-sO#ruj=V~UPY0ehA70(Dd8y`_MZ=`<+NZYp+FFWIv&;>ka?F7w}ivmtgUFRvL= zgj>EE45fz=n&mt=T%}Gp)BUw32}p&Md-U7Q))IvH?^D z!=MFqXZ6E;J3fr{Pcq=W_s0Q%YD<@a4wO67n3z_besi1%wkc0MSkd82C>62QJ}pWA zZt#8Te8Hp=~&1QO{b`%kH7Z#C`M?arhJ+qXU3keoOKvOJ>{S3{mNqXgR1EB z0|%!s^j)vB_(=yF_>O3B_ix7eO*E8X0GU7d^MS&Tzj##d-_5P34wZU0Vs=e4CN?KK z2FA~UTU~v!U?dZlKqwaaQFU7KebWVyOY;23i#5!osG6EQgn=2sEK z&2d60b2v6}sV+rnTxY@e{md>u%T`Gv)f|Z;UTIt8tokrLS#Lo+K~36XN;FpKLDeP3 z5s_WU_d0}%>PsSXK}ZRcY`@ZwNLNc5rMem`WQs2~xV*wNPG^ zxlX>r)HspxpxS%P(&;?){XC3})2z2M>i)u2&a6OKoGtc7gN92InZNAU`HC@lu6?gt z7DJ}lAzhp3iT1$m0o(f17ivGU{Icd(s#lePGl5~H0Xekf!p1U4$nOF2drT!xsc}0l zr9Z}Ml3*x()G$2Nf6lAbteh%Um!^J`$lE6(63_(Sw9QdvWmX8)PEQ}Eg|gaj&G5h# zt25i}RU#)3Zn6I+AWUo=kn-5|l^tJq(J_-Ch4`24_@7C7M-!DaB@T^Fn&3^!Ie?%I z)YBxZxkInB1BHz0ApHi!B$ct$75sdy_OT^OgdhKFENKJ@NH^(}-F=CRpJ!$hW4sM( zUthca{+aYEMsrW6X@~NMVH!jt(k;bpVr>W~DX36_;?Ta;((s`9-2F)EL}Mze^+Khz z3A2*IfpP!9_u1nYtuTAd75Rulr z@TN~qMuM$tA%V&dk)Y=Zgb%sX4a2I(=VrbAq1+J3@AmV{E865L@Al{o#Pu1dHGNt# zEy!cFFGpw%O-D4^d*3e=krxWo;qk-WBT!3a$5S?2Jd-9+Wetu2^zSxXfXdF(z@Z2i zHfcQ&uv5FBe!!XQd)}g!NTJlCMw-tIGw*m>JdKB6o< zsJ$$Bx4`oiUD5g5Q}X}gQ|di_d0Ay38ec7RUsmsOmi5bk-k&MkP8}p**awRQ{}XuGn`{TWf1nB<$#1{X4B^&Kfb6wx1(2_J z&vvFguac0^Eai&)|J%dG=T&Avf`%3c>nHIru#%nauuXtnWI(RR#n-SdZT}-;+H2~e zvqxz$c|B7Se}w|wq8_k#Q5#9wb`;X-h)&(A|gp^biMmw=kA9Nv&;zu zl){j)P=63<^jmVWy|iRP=v%Mf?mMXre8w@me3@BP)EaHo1~S=p?x+w98?s2?TibGW zuVRPjW#ZxXybo)!y#cs3uaIu$6=4sZ2!qVXUjPaaf9rkC_yi?_0(!5rBv-s?D1TYy zhf3yU6aVjBw%50GDa}HKR8u=nxQMz(NNzU|=J)1K(Q{(U_S_#JT-bpR=kNdFM5vT9 zY%H}{{3CPnL{{mtDST!5d~*JkH)FJQ!o8mRxYuSq`bbGJ+CT?Nd{O@mVb;_@}EXWJqB{2D@8%1Yko2l-V4 zoyZ?>SD+&T{c^3d)$^#3S!qCcDjKg`^ny(lW0H$bp8$wlB%rUbzGdqo-DD7GNrf)N)Gp1G{x+5kd{ z|DN&O{P9D$7ym$r1j$N77JXPiTovNmRgf`l(?ok`wxfBf&1 z%d)2Al^}fawAw*c0_a7WHBrEEbXS~}qF2QhvmRfe{P2abLtTY2W7_P7nPK zs#fWIb7!y#r@*xhCUZ3hiYbb(^~0?Z==vrs6rR6S++`>$tCV0pO*4P^`r5-FC8e=d zJ_{YFhvUVn5pa5DD~W9#y|Fs`l#Bf7U&dv&?2!hEI6Lw%W1B!U5*}a_Y^G$)q-m(K zHnr?cJ*bGJVxi^n_t*M-i>E6OZfR4_4zpa;SsPqD3Wb)?ALQd2C~+$4e6^ZJV~iBc6hP+e!VK@Uqb&;pYffJGZK9n0bYQ zWJHpsSGX2Dr04TqNflklW6F8STm@5JA6Qk<4>zeOM|30FIy;MZJ?An0Bus$Hxo)^7 zMdkCS$+bLi8TvSu5Zkp@)$5j8)a1ofU$45np$x`ddn+QcD=E#We)Q0;x}mnB^cyAi zps*Iog=SVdks8YO?2Ia2>ackDNxnF(5djjJz= zOvLnIt*3*5rC^Ncm1O{2nrxo(XgkAKMqRvvtVkaL_zhNU(a6 z!_NW}*KLN>f{uUi9*?6Dk;YYghuS5bp7g$Ge-=%0R`@-WcX`1cb4zAcR+fkap)d|r z)=FlJdMCVGmy{hd{JtUgf=9)64XCrSCWz#4W%j0m56UgeX1NoV28)z3olVg2vg=FH z2KxWn|NFPDV39W^Tu_~d<)>WbnU@Al->9wreO}nGir>1ejaf*+Uv*bo@3Q4GSBSX8 zaKLtlcx#mT?F#HlS}DO~8Qvc+B>xzoARLn}@$TJNSIB0frJ(NL+PT!0#?TbqiZnAH zWUvP*$8Btk0Hm6E-|xTCRO>|EtM{=ZcDWs;sOJxEyWNvU1?BLjE>Dj?bNhB%!1JO9 z%oDnoFf>f4ROfXx35(P=&OdOvyg;#~q-`73{@URFeZ!*rl$9hOVI=G4*)q9%iGBP# zXO{oAd(#*uBOdgZDtKVopx)J~njksi9>r$df>Q+j;S#c>8&Q8p(9O*GeBD6?-diH; z?lBBB?P>WrO(}sTh`7fJ!{V)FQ<2uxA!r58tXN-_76{t3GQ4u{rX~dZE)QxZ1Jb(; zg{5S38D_e38dugE`xe`pldu-vMkXJw@+Oo?w!n}siP}sL0_R8Un)aP;M^(3~v(68^ z9d?3E*WkSn>>LfaK7rj|llN<>r%PpDG)@bJc6&?ma;K!s%#aFiNO@9ympHs(v75G6 zg3ji-rws*@^l9S-rT9BR5Jk0oue5#qrj>n@=ts3TH-q(wt$Gw^haj$+oJ_rxvF&-< zfu90uG&O})4sT;j6NQRC!ubYT{O}Z{z+NUEk*;>EL86_ra=(S6>UovI1woRv!=TQf z>}w-~Oi*g>{ac{oo&$`sIuU4)<%Wjz4kiZ^8Vi#5{FQ(`*HoUHgjZSwWxq6NU#+Xa z8iUNeW(H$H0NMdFC-CTH2;PnE-rf>k`jthU>7X2{rsHsK=8>Zp(Pn?)cs(X3zlWPz zmH4x>qKy5j2mTbKU!*;Bv3+o~%inxHyc4lo&Fd zPiI(Jig5YA7*my3A8(XNWs@^Y&#^c(s>qysSK}|J6cZ&^FkiZQYrri2!_KixLXP=} zjXBrMR2#&r1LYAAK#^;>ntV~)If7Ch{$OZYs8U*LAQ?f#%iW6}Jg!l2b`ngb1EcP& zNWxCVC>!%f`5WNIIc?IhA|AfC){qCS0v0SRff}ik6wtBOYwoxfCtzw8w-q6OQV;4Y z?mo6GE$tb&3fkyXe5|b0m7J!|neiB*9Yk6O>`(6M>c7nPSB#|Lxhn&JG7AFIx) zr3a706|<%V&>5L7T?*1GI3!^e(zC3dfljueq)AhdUWN;{6{Fc(ZeIGc&nSD``0z{c z1FsWUfVk+~O#s~1a-zwdwK$rO zM5$gsxpUZect0qPW-kZGuD5Qzi+4u8GAEdInT5&O!ajtCToLQ*wd{JE3vXYT_v&^A z7>+Denyl<=|axmX3xD0?soskixHKLyJvgj;$0BnH@p9s*j)7R5ux$7@=jV z;_)=L(eM}6hJFos8L8Z}-yQRNf9Wjt?kWhhkaBKir^_1}4J!JAW@xdVWO3t-h(Paf zUGa_~r{7*Lc5B@Abv|wJRh(Yc<#Z^rd1|_THNF&yU)f!;@y<1-d*zES^h)lOus_>% z=Eb+UzUtxw$S%2A>?+W|XB#q}1Z{N1*y=oeyg<2Z3{A~H-L^bgH`+1I&;)EPD>^cD zz-M}^ans^cU#{eGbB5XggNf-6!vhJS8(&!r#5Wc@@YM2ef#<)(P#yK+!BqQIO|(~X zyJu228)Ko4O!6k!g1|@{1LPns&e039-w@{ijMK`-N#vmz!R`fB!L_K|w9q9*rW4Qn z4kULxo4N0({Cwy)`(w7D=IF{V8exT>Q~Y0ia1+vBOV_p?a1;FCrf`#~kX@KNIEv}H z?`yC8d~wuI*NR{swlEF>D?LjU1l#*xV&-zq)F*{vN~7#A2E96HMJeB`T&-u?+Mjx# znuz78rN>@!DS@{BL~wSev&U3nvhLPM0rNMu-_QGpiaW`~Sfd+CERcQ<=0iM$p_sRG z+nLV+(%KCTj?JimxW}MA0b4>@23FGx#HpJkCurlgKuG4LCoO zR$HZIV&9%qyXPz7AucjhjBUp_JX}j&U$N}aF1GT@c-)Gyflw-ACtv~9Z^u=ho2H+? zm#)6OWgB|;?tLP2EIf94M~nT+VqI>plEa8eQhx4)uwm3I6&irON%#&gqDElVwVc5k z$!JE`RmEGScq5A;hJ)$T2!_%_pyrow*gbn>e44u!+-kq z+A2Rjt@RnFn5+V!99L3f{pvPp;eyEc9Rv)NHSmRKZi}?D5Ma zu2LwP-+pVs;T8imDlmVP)XDDSBE1t_48=IhRKM^7)pX@oTrv4zy?0XrcQ2#os-#ew zHyToCkYAw)>w)dP1B_+b^vZ0Sl!A#>ZR(983yMsgWD_;@eaUCds2+#l+T4~#S1cOp zk!mHih6g#$I}MHWWq-FR3%pxSdFKF^uvgiJ`FzQEJiMIh)7hvw46+4F58(yT1v$(v zp)(*(*(P#dUMA#drR6%|?3ejXOs_GFw5T#rTRsQ1DQ4-i*FQf`vw9WfuyXy+1+S~Y zvwgUnsur}D)xNSw##BHnfo)AX4K?`(x5%!~W2~9fCYe~+XFgOkITQgWzfIVAc;KwB zUo{)|BHj2?&Qm^Ja=6uxYAhP<)YTM5?gtiiEm)$hQ>G*6=&BAoJ zaChhG1;2F}0K)KcvQbhC@?civipZ}if5SrpI)?gGRpH;dX5yASdNuudrZQ+K4v<%f zO2Va~bNl7N7CQDO6-_?WahT7%n5bKam`Hh9w&)lBbLT#P1Crm4e?x-!izVa=te7Pm z#$|yFJBpLObc#8It7v_5!@hi()Q*|Tw@ywQv&ZA=1t@Xa>era|A1+Si%c6}nC)hv_ zX@cmv->%8M&i709<%_8;7#W~~T9L&=8c@J>T@I!-hUPu3${ERf&j(gIUs0!hJYGJ; zmGPIOX9Z0VI*G+GUwSd|5yP|m7U3qOOwUYp!HG$@i)h2|tHafma!B}? z4J=;9bol!Dz3_w$9TvAte`oOQW5zfnYzztP!X#PEit{x9>1_(1RVRMK1CdCKlZJtc z+4URQ>S=S?SHgL6dY&x5@tS<0IMH6ues{hW!K@?DDE$zE>q}d|wQ#QOoweNsp&O`u zC)wENhAJHbZHB^4pXe1CYqy!VIiUH|pp+Ik2rC1#xbPNd{=inmI>2iKe&Zxy?f1YV zjpk72$t+2U471Pg-j)5V0GDn5VG8dX)YaE^OQ7<8O*ym9rLTBb6m zwzT;#SH7ub{`#W(p8w5;@?2jC;KI->OvZLoJT=Evh&<`0Qre#aZ{^o2U!Z+h>U^XD^k)d3Jkci1`Pm zJByvwDQ-75rU(gFIE@-Ojd1oO1HLipV6J$ZpzKf$xm!#6^PbbG-A_bI{w29{=J(rE zC)>KCSD5urJXxDuj<0X!tg-C(d}VnQW^(fTO&Xat#Yo#l!YPr&s{0ae#xgBu`4#94 z!)VSg(a}HkdsGn^o{`c7Gu<(QSKPz0lx(HO==VX#PnP%gc2D1=7G0o0Son{zttuNd4bOOaNI)y z1V>%bRag^0;`qLpN;VOl#&n~J)ZT{tieIsh=diK#MGVHRB9kz);;GWQ2J$XLQ*PUy zhrbR#ITJln856XS%B)Hw6Xf$~3=H53Kv6p`MN3YyN>WM@i*;?nST+MdC|){4#j?ZwxJytO_XfZh=!7Bf9c5??u7hxn8~pXN`$vCZ*O`x4P_IaFSOtLn&?2 zVNBrQ)}H-VgRq^@gIt3wAwxfA>$bT7L5_j~M}+e%^P2hBjm#S&uH~H{$%uos7zS<_ z{PAg;_URg?gYI+<4XEjl^AcNQ6Sh`=KqM(@b6{!HKK@9~=#JRC`QaULZ(r~vhcq=K z!e%~g^TT_QF>XNbFmiRtdaNb#f?Jl9oPq4SPm9A$MPSVjgL?}pya<`juu&-RG~YEPq+5hL#= zCwn1ZX2sI85;K7}ox5y+kXep(7ev>r%L-jJ`N8<~1m8?kgmXvUIkc7G03mGKA#~kj z$4aH2xl!+PEv9AsX-k*k-11G8U_Sy9sj6reCA z->Ej%V!yZUDtD*`tHcH_BtycI_g?J^RyNq{B)+q-uBgGN znk$H2e2+1Q?YK=fj7$X&o$%e?QCj9i=AVA~bh2r*^D;`aT6syK$i?lSFx~sIy$j3c z{@hW!S^?_{mQ!JgtlP~zzqKfs-~l{~=ge6+_>sh*MuW+DDW>LbxkGK{fV2%Pebt8X zcA;dOeq7NB=r*b)f!14!GDBY_wVd$TaK&wfxA&VEw`bl{c1)r zIi&^QE2^jD1+8i`#pHb7DA_wZ+#~8-F(?Wf98OKe%DTz&EVb!-b?-L#HM#d*hQKp3 z?Zq$YtY*m`YgSiLd>C@t+5lR{;m21^pyzm!OiivVqNsWsPEHxWF(QXcIL9_O`n<^_ z?@w5s{l5vz&vq1j3dR)-S1fBbRfvVHp`S~3FI;;#lh*Erj2_%GNXrR_GKeD%)cJN% zm|<|)c1ZKB3+=pW)z;}eOnt}`rz*zfn*LHpwLw$Nfqw_t0eoE{)(McJN_<(sSk=ey zt2ZBU-TW|AtsEQU%VtUKyBKWP9`cHAlq2zywBvGbe04W&w}zP&Vc^Y$QF>MXaPJPp z;;7k5(@c^*py+v_WAQFa)$Kry5VKibML?^L zOY4~=*>0o-2udc4=x=$wGAPL_G*AEy*AyiueOW*o z2PIZvq=b>)*KehXD&B~ed)a&B>|7Vva9yaGestZ&h)6+G$YtQDplPjH8=H-t87UL$ zQ!p)2>#Xg0vrnQ2(pEPd?GJPvzKrTM9~u$s0|;Ihj*=#08N^OOokY?Od08^IPV^i!?3!zE7vvxbO_>3EyS41ug!Z@-Y!7-D>Zz zEC*iSO+72gr)|GGeHi|o{y|ma+fo10p*Peyd_yx@{7fs^~$$3g{b)X%D} zBbAj+QM^Ax2EtH+66H1f@*}MWJ#Vs|H(JlPVJ4zLEqVe1@5i z+TT)>?&bsT^g-RlVxd9JrM%A(?s#s1jt9WZVTjOl03HE~OEEHpUl_yW2&GAO< zjVE=i$qy>Ag_a|g#Y~(o;_!Xyvel~X2=PpNE{v`>Ov(iw>Sy_jv^9}7 zfa|ZdH(+qZ*EgP!j4Y{elX%UbthuY-2nEVLsRrm;Nwx@tXkD;<%t=gZ@nb>Kk6?9?ltFbdKnc z)Y9tOs}iwY97@#yZh0tP68l}tAacVWay*#6_@k=*%MxdKb21fM3w>6Yn^7wUowwB>o9dm%v=egn(>d74 zFO^{731`iHtxp{`X2dCu@lc)L-OcxQkgo0VLJzQDjfqGmphEY3_oV4ubM@4Bip`m) z$HWUToz&$kBiRaSIdaf@x|>qzreo!9Ik z?e^*!W!5q+*7lVvx-6d8kf4>hbJeEu`=q)ebkv>_M($CsNCrh+tpUseK-T06!uLiv z8V}4o4J){;!r#WY45WhtDShv9mcOzv1!_G88NMOH&tFD%RiUOb*PCR*l5ZNB59?eV z^vRh-Txnc7jZwL0&}8SlBL3hKU@aGpqnIfyx1>1SIBfo|rU~(qTS?S}DQqdR7|Xbv zVZH~Dxg%l+D%3u>(d8fa61%WrgxqD-0NRX6IjC}qox^X|7&l9*W;kfG(q5|Ig*}Z>_Gk0eH#)OamBFuUQhnzZ!-p<+j0~bOfm=%dn zQKyatZU^ez*Uz)6(Q+cv!#Bbr?rZG2Pp^?g(+<>`b|Y7oK6XYMh@8+X%ug1Yjwf-8 z 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 mMSJEah(hNMM5C?2z1QA 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 xutOAvuPjWdl~lI@|3?0d{ku+lW!R4a^|-^;$6d -The Limbo Programming Language - -

The Limbo Programming Language -

-
Dennis M. Ritchie
-
-

-Limbo is a programming language intended for applications -running distributed systems on small computers. -It supports modular programming, -strong type checking at compile- and run-time, -interprocess communication over typed channels, -automatic garbage collection, -and simple abstract data types. -It is designed for safe execution even on -small machines without hardware memory protection. -

-

-In its initial implementation for the Inferno operating system, -object programs generated by the Limbo compiler run -using an interpreter for a fixed virtual machine. -Inferno and its accompanying virtual machine run either stand-alone -on bare hardware -or as an application under conventional operating systems like -Unix, Windows 95, Windows NT, and Plan 9. -For several architectures, including -Intel x86 and MIPS, Limbo object programs -are transformed on-the-fly into instructions for the underlying hardware. -

-

1 Overview and introduction -

-

-A Limbo application consists of one or more -modules, -each of which supplies an interface declaration and -an implementation part. -A module that uses another module -includes its declaration part. -During -execution, a module dynamically attaches another module by -stating the other module's type identifier and a place from which to load -the object code for its implementation. -

-

-A module declaration specifies the functions and data it will make visible, -its data types, and constants. -Its implementation part defines the functions and data visible at its interface and -any functions associated with its data types; -it may also contain definitions for functions used only internally and -for data local to the module. -

-

-Here is a simple module to illustrate the flavour of the language. -

1	implement Command;
-
-2	include "sys.m";
-3	include "draw.m";
-
-4	sys:	Sys;
-
-5	Command: module
-	{
-6	    init: fn (ctxt: ref Draw->Context, argv: list of string);
-7	};
-
-
8	# The canonical "Hello world" program, enhanced
-9	init(ctxt: ref Draw->Context, argv: list of string)
-10	{
-11		sys = load Sys Sys->PATH;
-12		sys->print("hello world\n");
-13		for (; argv!=nil; argv = tl argv)
-14			sys->print("%s ", hd argv);
-15		sys->print("\n");
-16	}
-
-A quick glance at the program reveals that -the syntax of Limbo is influenced by C in its expressions, -statements, and some conventions (for example, look at lines 13-14), -and also by Pascal and its successors (the declarations on lines 4, 6, 9). -When executed in the Inferno environment, the program writes -hello -world -somewhere, then echoes its arguments. -

-

-Let's look at the program line-by-line. -It begins (line 1) by saying that this is the implementation of module -Command. -Line 2 includes a file (found in a way analogous to C's -#include -mechanism) named -sys.m. -This file defines the interface to module -Sys; -it says, in part, -

Sys: module {
-	PATH: con "$Sys";
-	. . .
-	print: fn (s: string, *): int;
-	. . .
-};
-
-This declares -Sys -to be the type name for a module containing among other things a -function named -print; -the first argument of -print -is a string. -The -* -in the argument list specifies that further arguments, of -unspecified type, may be given. -

-

-Line 3 includes -draw.m; -only one piece of information, mentioned below, -is used from it. -Line 4 declares the variable -sys -to be of type -Sys; -its name will be visible throughout the remainder of the file -describing this module. -It will be used later to refer to an instance of the -Sys -module. -This declaration initializes it to -nil; -it still needs to be set to a useful value. -

-

-Lines 4-7 constitute the declaration of -Command, -the module being implemented. -It contains only a function named -init, -with two arguments, a -ref -Draw->Context -and a list of strings, -and it doesn't -return any value. -The -ref -Draw->Context -argument would be used if the program did any -graphics; it is a data type defined in -draw.m -and refers to the display. -Since the program just writes text, it won't be used. -The -init -function isn't special to the Limbo language, -but it is conventional in the environment, -like -main -in C. -

-

-In a module designed to be useful -to other modules in an application, it would be wise to -take the module declaration for -Command -out, put it in a separate file called -command.m -and use -include -command.m -to allow this module and others to refer to it. -It is called, for example, by the program loader in the Inferno -system to start the execution of applications. -

-

-Line 8 is a comment; everything from the -# -to the end of line is ignored. -

-

-Line 9 begins the definition for the -init -function that was promised in the module's declaration -(line 6). -The argument that is a list of strings is named -argv. -

-

-Line 11 connects the program -being written to the -Sys -module. -The first token after -load -is the target module's name as defined by its interface -(here found in the -include -on line 2) -The next token is the place -where the code for the module can be found; it is a string -that usually names a file. -Conventionally, in the Inferno system, -each module contains a constant declaration for the name -PATH -as a string that names the file where -the object module can be found. -Loading the file is performed dynamically during -execution except for a few modules built -into the execution environment. -(These include -Sys; -this accounts for the peculiar file name -$Sys -as -the value of -PATH.) -

-

-The value of -load -is a reference to the -named module; line 11 assigns it -to the variable -sys -for later use. -The -load -operator dynamically loads the code for the named -module if it is not already present and instantiates -a new instance of it. -

-

-Line 12 starts the work by printing a familiar message, -using the facilities provided by module -Sys -through its handle -sys; -the notation -sys->print(...) -means to call the -print -function of the module referred to by -sys. -The interface of -Sys -resembles a binding to some of -the mechanisms of Unix and the ISO/ANSI C library. -

-

-The loop at lines 13-14 takes the -list -of -string -argument to -init -and iterates over it using the -hd -(head) and -tl -(tail) operators. -When executed, this module combines the -traditional `Hello world' and -echo. -

-

2 Lexical conventions -

-

-There are several kinds of tokens: -keywords, identifiers, constants, strings, expression operators, -and other separators. -White space (blanks, tabs, new-lines) is ignored except that -it serves to separate tokens; sometimes it is required -to separate tokens. -If the input has been parsed into tokens up to a particular -character, the next token is taken to include the longest -string of characters that could constitute a token. -

-

-The native character set of Limbo is Unicode, -which is identical with the first 16-bit plane of the ISO 10646 standard. -Any Unicode character may be used in comments, or in strings -and character constants. -The implementation assumes that source files use the UTF-8 representation, -in which 16-bit Unicode characters are represented as sequences -of one, two, or three bytes. -

-

2.1 Comments -

-

-Comments begin with the -# -character and extend to the end of the line. -Comments are ignored. -

-

2.2 Identifiers -

-

-An identifier is a sequence of letters and digits -of which the first is a letter. -Letters are the Unicode characters -a -through -z -and -A -through -Z, -together with the underscore character, and -all Unicode characters with encoded values greater than 160 -(A0 hexadecimal, the beginning of the range corresponding to Latin-1). -

-

-Only the first 256 characters in an identifier -are significant. -

-

2.3 Keywords -

-

-The following identifiers are reserved for use as keywords, -and may not be used otherwise: -

	adt	alt	array	big
-	break	byte	case	chan
-	con	continue	cyclic	do
-	else	exit	fn	for
-	hd	if	implement	import
-	include	int	len	list
-	load	module	nil	of
-	or	pick	real	ref
-	return	self	spawn	string
-	tagof	tl	to	type
-	while
-
-The word -union -is not currently used by the language. -

-

2.4 Constants -

-

-There are several kinds of constants for denoting values of the -basic types. -

-

-

-

2.4.1 Integer constants -

-

-Integer constants have type -int -or -big. -They can be represented in several ways. -

-

-Decimal integer constants consist of a sequence of decimal -digits. -A constant with an explicit radix -consists of a decimal radix followed by -R -or -r -followed by the digits of the number. -The radix is between 2 and 36 inclusive; -digits above 10 in the number -are expressed using letters -A -to -Z -or -a -to -z. -For example, -16r20 -has value 32. -

-

-The type of a decimal or explicit-radix number is -big -if its value exceeds -231-1, -otherwise it is -int. -

-

-Character constants consist of a single Unicode -character enclosed within single-quote characters -'. -Inside the quotes the following escape sequences represent -special characters: -

\'		single quote
-\"		double quote
-\\		backslash
-\t		tab
-\n		newline
-\r		carriage return
-\b		backspace
-\a		alert character (bell)
-\v		vertical tab
-\udddd	Unicode character named by 4 hexadecimal digits
-\0		NUL
-
-Character constants have type -int. -

-

2.4.2 Real constants -

-

-Real constants consist of a sequence of decimal digits -containing one period -. -and optionally followed by -e -or -E -and then by a possibly signed integer. -If there is an explicit exponent, the period is -not required. -Real constants have type -real. -

-

2.4.3 Strings -

-

-String constants are sequences of Unicode characters contained in double -quotes. -They cannot extend across source lines. -The same escape sequences listed above for character -constants are usable within string constants. -Strings have type -string. -

-

2.4.4 The nil constant -

-

-The constant -nil -denotes a reference to nothing. -It may be used where an object of a reference -type is expected; -otherwise uninitialized values of reference type -start off with this value, it can be assigned to -reference objects, and reference types can be -tested for equality with it. -(The keyword has other uses as well.) -

-

2.5 Operators and other separators -

-

-The operators are -

	+	-	*	/	%	&	|	^
-	==	<	>	<=	>=	!=	<<	>>
-	&&	||	<-	::
-	=	+=	-=	*=	/=	%=	&=	|=	^=	<<=	>>=
-	:=
-	~	++	--	!
-
-The other separators are -
	:	;	(	)	{	}	[	]
-	,	.	->	=>
-
-

-

3 Syntax notation -

-

-In this manual, Limbo syntax is described by a modified BNF -in which syntactic categories are named in an -italic -font, and literals in -typewriter -font. -Alternative productions are listed on separate lines, and -an optional symbol is indicated with -the subscript ``opt.'' -

-

4 Types and objects -

-

-Limbo has three kinds of objects. -Data -objects exist in the storage associated with -a module; they can be manipulated by arithmetic operations, -assignment, selection of component entities, and other concrete -operations. -Each data object has a type that determines what can be stored -in it and what operations are applicable. -

-

-The second kind of object is the -function. -Functions are characterized by the types of the arguments they -accept and the values they return, and are associated with -the modules in which they are defined. -Their names can be made visible in their module's declaration, -or they can be encapsulated within the -adt -(abstract data types) of their modules, -or they can exist privately within their module. -

-

-Finally, Limbo programs are organized into -modules: -a named collection of constants, abstract data types, -data, and functions made available by that module. -A module declaration displays the -members visible to other modules; -the module's implementation -defines both the publicly visible members and its -private parts, including the data objects it uses. -A module that wishes to use -the facilities of another includes its declaration in order to -understand what it exports, but -before using them it explicitly loads the new module. -

-

4.1 Types -

-

-Limbo has several basic types, some built-in higher abstractions, -and other ways of composing new types. -In declarations and some other places, constructions naming -a type are used. -The syntax is: -


-type: - data-type - function-type -
-
-Functions will be discussed in §7 below. -First, data types will be explored. -

-

4.2 Data types -

-

-The syntax of data types is -


-data-type: - byte - int - big - real - string - tuple-type - array of data-type - list of data-type - chan of data-type - adt-type - ref adt-type - module-type - module-qualified-type - type-name - -data-type-list: - data-type - data-type-list , data-type -
-
-Objects of most data types have -value -semantics; when they -are assigned or passed to functions, the destination receives a copy of the -object. -Subsequent changes to the assigned object itself have no effect on -the original object. -The value types are -byte, -int, -big, -real, -string, -the -tuple -types, and -abstract data types or -adt. -The rest have -reference -semantics. -When they are assigned, the quantity actually assigned -is a reference to (a pointer to) an underlying object -that is not copied; thus changes or operations on -the assigned value affect the original object. -Reference types include lists, arrays, channels, modules, and -ref -adt -types. -

-

4.2.1 Basic types -

-

-The five basic data types are denoted by -byte, -int, -big, -real, -and -string. -

-

-Bytes are unsigned 8-bit quantities. -

-

-Integers -(int) -are 32-bit signed quantities represented in two's complement -notation. -Large integers -(big) -are 64-bit signed quantities represented in two's complement notation. -

-

-Real numbers -(real) -are 64-bit quantities represented in the -IEEE long floating notation. -

-

-The -byte, -int, -big, -and -real -types are collectively called arithmetic types. -

-

-Strings are rows of Unicode characters. -They may be concatenated and extended character-by-character. -When a string is indexed with a single subscript, it yields an integer -with the Unicode encoding of the character; -when it is indexed by a range, it yields another string. -

-

4.2.2 Tuple type -

-

-The -tuple -type, denoted -


-tuple-type: - ( data-type-list ) -
-
-is a type consisting of an ordered collection of two or more objects, -each having its own data type. -For each tuple type, the types of the members are -fixed, but need not be identical; -for example, a function might return a tuple containing -an integer and a string. -Each tuple type is characterized solely by the -the order and identity of the types it contains. -Objects of tuple type may be assigned to a list of identifiers (to pick out the -components), and a parenthesized, comma-separated list of expressions -denotes a tuple. -

-

4.2.3 Array types -

-

-The -array -type describes a dynamically-sized row of objects, all of the same -type; it is indexed starting from 0. -An array type is denoted by -


- array of data-type -
-
-The size of an array is not part of its type; instead -it is part of the value. -The -data-type -may itself be an array, to achieve a multidimensional array. -

-

4.2.4 List types -

-

-A -list -is a sequence of like-typed objects; its denotation is -


- list of data-type -
-
-A list is a stack-like object, optimized for -a few operations: get the head (the first object), -get the tail (the rest of the list), place an object at the beginning. -

-

4.2.5 Channel types -

-

-A -channel, -whose type is written -


- chan of data-type -
-
-is a communication mechanism capable of sending and receiving objects of the -specified type to another agent in the system. -Channels may be used to communicate between local processes; -using library procedures, they may be connected -to named destinations. -In either case -send -and -receive -operations may be directed to them. -For example, -
	chan of (int, string)
-
-is the type of a channel that transmits tuples consisting of -an integer and an string. -Once an instance of such a channel (say -c) -has been declared and initialized, -the statement -
	c <-= (123, "Hello");
-
-sends such a tuple across it. -

-

4.2.6 Abstract data types -

-

-An abstract data type or -adt -is an object that can contain data objects of several -different types and declare -functions that operate on them. -The syntax for declaring an -adt -is given later. -Once an -adt -has been declared, the identifier associated with it -becomes a data-type name. -


-adt-type: - identifier - module-qualified-type -
-
-

-

-There is also a -ref -adt -type representing a reference (pointer) to an -adt. -It is denoted -


- ref adt-type -
-
-where the identifier is the name of an -adt -type. -

-

4.2.7 Module types -

-

-A module type name is an identifier: -


-module-type: - identifier -
-
-The identifier is declared as a module identifier by a -module-declaration, -as described in §6.5 below. -An object of module type serves as a handle for the -module, and is used to access its functions. -

-

4.2.8 Module-qualified type -

-

-When an -adt -is declared within a module declaration, the type name of that -adt -is not generally visible to the rest of the program unless a specific -import -request is given (see §6.6, §10 below). -Without such a request, when -adt -objects implemented by a module are declared by a client -of that module, the -adt -type name is qualified: -


-module-qualified-type: - identifier -> identifier -
-
-Here the first identifier is either the name of a module -or a variable of the module type; -the second is the name of a type -mentioned in the module declaration. -

-

4.2.9 Named types -

-

-Finally, data types may be named, using a -type -declaration; this is discussed in §6.4 below. -


-type-name: - identifier -
-
-

-

4.3 Function types -

-

-A function type characterizes the arguments and return value of -a function. The syntax is -


-function-type: - fn function-arg-ret - -function-arg-ret: - ( formal-arg-listopt ) - ( formal-arg-listopt ) : data-type - -formal-arg-list: - formal-arg - formal-arg-list , formal-arg - -formal-arg: - nil-or-D-list : type - nil-or-D : self refopt identifier - nil-or-D : self identifier - * - -nil-or-D-list: - nil-or-D - nil-or-D-list , nil-or-D - -nil-or-D: - identifier - nil - -
-
-That is, the denotation of a function type has the keyword -fn -followed by a comma-separated list of its arguments -enclosed in parentheses, -and perhaps followed by the type the function returns. -Absence of a return value means that the function returns no -value: it is a procedure. -The names and types of arguments are specified. -However, the name of an argument may be replaced by -nil; -in this case it is nameless. -For example, -
	fn (nil: int, nil: int): int
-	fn (radius: int, angle: int): int
-	fn (radius, angle: int): int
-
-all denote exactly the same type, -namely a function of two integers that returns an integer. -As another example, -
	fn (nil: string)
-
-is the type of a function that takes a string argument -and returns no value. -

-

-The -self -keyword has a specialized use within -adt -declarations. -It may be used only for the first argument -of a function declared within an -adt; -its meaning is discussed in §6.3 below. -

-

-The star character -* -may be given as the last argument in a function type. -It declares that -the function is variadic; during a call, actual arguments at its -position and following are passed in a manner -unspecified by the language. -For example, the type of the -print -function of the -Sys -module is -

	fn (s: string, *): int
-
-This means that the first argument of -print -is a string and that other arguments may be given when the function -is called. -The Limbo language itself has no way of accessing these arguments; -the notation is an artifice for describing facilities -built into the runtime system, such as the -Sys -module. -

-

5 Limbo programs -

-

-Limbo source programs that implement modules are stored in files, -conventionally named with the suffix -.b. -Each such file begins with a single -implement -directive naming the type of the module being implemented, -followed by a sequence of declarations. -Other files, conventionally named with the suffix -.m, -contain declarations for things obtainable from other modules. -These files are incorporated by an -include -declaration in the implementation modules that need them. -At the top level, a program consists of a sequence -of declarations. -The syntax is -


-program: - implement identifier ; top-declaration-sequence - -top-declaration-sequence: - top-declaration - top-declaration-sequence top-declaration - -top-declaration: - declaration - identifier-list := expression ; - identifier-list = expression ; - ( identifier-list ) := expression ; - module-declaration - function-definition - adt-declaration -
-
-The -implement -declaration at the start identifies the type of the module that -is being implemented. -The rest of the program consists of a sequence of various kinds of -declarations and definitions that announce the names -of data objects, types, and functions, and also create -and initialize them. -It must include a module declaration for the module -being implemented and the objects it announces, -and may also include declarations for the functions, data -objects, types, and constants used privately within the module -as well as declarations for modules used by it. -

-

-Declarations are used both at the top -level (outside of functions) and also inside functions -and module declarations. -Some styles of declaration -are allowed only in certain of these places, -but all will be discussed together. -

-

6 Declarations -

-

-Declarations take several forms: -


-declaration: - identifier-list : type ; - identifier-list : type = expression ; - identifier-list : con expression ; - identifier-list : import identifier ; - identifier-list : type type ; - include string-constant ; - -identifier-list: - identifier - identifier-list , identifier - -expression-list: - expression - expression-list , expression -
-
-

-

6.1 Data declarations -

-

-These forms constitute the basic way to declare and -initialize data: -


- identifier-list : type ; - identifier-list : type = expression ; -
-
-A comma-separated sequence of identifiers is followed by a colon -and then the name of a type. -Each identifier is declared as having that type and denotes a -particular object -for rest of its scope (see §11 below). -If the declaration contains -= -and an expression, the type must be a data type, and -all the objects are initialized from -the value of the expression. -In a declaration at the top level -(outside of a function), the expression must be -constant (see §8.5) or an array initialized with constant expressions; -the bound of any array must be a constant expression. -Lists and -ref -adt -types may not be initialized at the top level. -If an object is not explicitly initialized, then -it is always set to -nil -if it has a reference type; -if it has arithmetic type, then it is set to 0 -at the top level and is undefined if it occurs -within a function. -

-

-For example, -

	i, j: int = 1;
-	r, s: real = 1.0;
-
-declares -i -and -j -as integers, -r -and -s -as real. -It sets -i -and -j -to 1, -and -r -and -s -to 1.0. -

-

-Another kind of declaration is a shorthand. -In either of -


- identifier := expression ; - ( identifier-list ) := expression ; - -
-
-identifiers on the left are declared using the type of the expression, -and are initialized with the value of the expression. -In the second case, the expression must be a tuple or an -adt, -and the types and values attributed to the identifiers -in the list are taken from the members of the tuple, or the -data members of the -adt -respectively. -For example, -
	x: int = 1;
-
-and -
	x := 1;
-
-are the same. -Similarly, -
	(p, q) := (1, 2.1);
-
-declares the identifiers on the left as -int -and -real -and initializes them to 1 and 2.1 respectively. -Declarations with -:= -can also be expressions, and are discussed again in §8.4.4 below. -

-

6.2 Constant declarations -

-

-The -con -declaration -


- identifier-list : con expression ; -
-
-declares a name (or names) for constants. -The -expression -must be constant (see §8.5). -After the declaration, -each identifier in the list may be used anywhere a constant -of the appropriate type is needed; -the type is taken from the type of the constant. -For example, after -
	Seven: con 3+4;
-
-the name -Seven -is exactly the same as the constant 7. -

-

-The identifier -iota -has a special meaning in the expression in a -con -declaration. -It is equivalent to the integer constant -0 -when evaluating the expression for the first (leftmost) identifier declared, -1 -for the second, and so on numerically. -For example, the declaration -

	M0, M1, M2, M3, M4: con (1<<iota);
-
-declares several constants -M0 -through -M4 -with the values 1, 2, 4, 8, 16 respectively. -

-

-The identifier -iota -is not reserved except inside the expression -of the -con -declaration. -

-

6.3 adt declarations -

-

-An -adt -or abstract data type contains data objects and functions that -operate on them. -The syntax is -


-adt-declaration: - identifier : adt { adt-member-listopt } ; - -adt-member-list: - adt-member - adt-member-list adt-member - -adt-member: - identifier-list : cyclicopt data-type ; - identifier-list : con expression ; - identifier-list : function-type ; - pick { pick-member-list } -
-
-After an -adt-declaration, -the identifier becomes the name of the type of that -adt. -For example, after -
	Point: adt {
-		x, y: int;
-		add: fn (p: Point, q: Point): Point;
-		eq: fn (p: Point, q: Point): int;
-	};
-
-the name -Point -is a type name for an -adt -of two integers and two -functions; the fragment -
	r, s: Point;
-	xcoord: int;
-	...
-	xcoord = s.x;
-	r = r.add(r, s);
-
-makes sense. -The first assignment selects one of the data members of -s; -the second calls one of the function members of -r. -

-

-As this example indicates, -adt -members are accessed by mentioning an object with the -adt -type, a dot, and then the name of the member; -the details will be discussed in §8.13 below. -A special syntactic indulgence is available for functions declared within an -adt: -frequently such a function -receives as an argument the same object used to access it -(that is, the object before the dot). -In the example just above, -r -was both the object being operated on and the first argument to the -add -function. -If the first formal argument of a function declared in an -adt -is marked with the -self -keyword, then in any calls to the function, the -adt -object is implicitly passed to the function, and -is not mentioned explicitly in the actual argument list -at the call site. -For example, in -

	Rect: adt {
-		min, max: Point;
-		contains: fn(r: self Rect, p: Point): int;
-	};
-
-	r1: Rect;
-	p1: Point;
-	...
-	if (r1.contains(p1)) ...
-
-because the first argument of the -contains -function is declared with -self, -the subsequent call to it automatically passes -r1 -as its first argument. The -contains -function itself is defined elsewhere with this first -argument explicit. -(This mechanism is analogous to the -this -construct in C++ and other languages, -but puts the special-casing at the declaration site and makes it explicit.) -

-

-If -self -is specified in the declaration of a function, it must also be -specified in the definition as well. For example, -contains -would be defined -

	Rect.contains(r: self Rect, p: Point)
-	{
-		. . .
-	}
-
-

-

-The -adt -type in Limbo -does not provide control over the visibility -of its individual members; if any are accessible, all are. -

-

-Constant -adt -members follow the same rules as ordinary constants (§6.2). -

-

-The -cyclic -modifier will be discussed in §11.1. -

-

6.3.1 pick adts -

-

-An -adt -which contains a -pick -member is known as a -pick -adt. -A -pick -adt -is Limbo's version of a -discriminated union. -An -adt -can only contain one -pick -member and it must be the last component of the -adt. -Each -identifier -enumerated in the -pick-tag-list -names a variant type of the -pick -adt. -The syntax is -


-pick-member-list: - pick-tag-list => - pick-member-list pick-tag-list => - pick-member-list identifier-list : cyclicopt data-type ; -
-
-

-pick-tag-list: - identifier - pick-tag-list or identifier -
-
-

-

-The -pick-member-list -contains a set of data members for each -pick-tag-list. -These data members are specific to those variants of the -pick -adt -enumerated in the -pick-tag-list. -The -adt -data members found outside of the -pick -are common to all variants of the -adt. -A -pick -adt -can only be used as a -ref -adt -and can only be initialized from a value of one of its variants. -For example, if -Constant -is a -pick -adt -and -Constant.Real -is one of its variant types then -

	c : ref Constant = ref Constant.Real("pi", 3.1);
-
-will declare -c -to have type -ref -Constant -and initialize it with a value of the variant type -ref -Constant.Real. -

-

6.4 Type declarations -

-

-The type declaration -


- identifier-list : type data-type ; -
-
-introduces the identifiers as synonyms for the -given type. -Type declarations are transparent; that is, -an object declared with the newly-named -type has the same type as the one it abbreviates. -

-

6.5 Module declarations -

-

-A module declaration collects and packages declarations of -adt, -functions, constants and simple types, and creates an -interface with a name -that serves to identify the type of the module. -The syntax is -


-module-declaration: - identifier : module { mod-member-listopt } ; - -mod-member-list: - mod-member - mod-member-list mod-member - -mod-member: - identifier-list : function-type ; - identifier-list : data-type ; - adt-declaration ; - identifier-list : con expression ; - identifier-list : type type ; -
-
-After a module declaration, the named -identifier -becomes the name of the type of that module. -For example, the declaration -
Linear: module {
-	setflags: fn (flag: int);
-	TRUNCATE: con 1;
-	Vector: adt {
-		v: array of real;
-		add: fn (v1: self Vector, v2: Vector): Vector;
-		cross: fn (v1: self Vector, v2: Vector): Vector;
-		dot: fn (v1: self Vector, v2: Vector);
-		make: fn (a: array of real): Vector;
-	};
-	Matrix: adt {
-		m: array of array of real;
-		add: fn (m1: self Matrix, m2: Matrix): Matrix;
-		mul: fn (m1: self Matrix, m2: Matrix): Matrix;
-		make: fn (a: array of array of real): Matrix;
-	};
-};
-
-is a module declaration for a linear algebra package that -implements two -adt, -namely -Vector -and -Matrix, -a constant, -and a function -setflags. -The name -Linear -is the type name for the module, and it may be used to declare -an object referring to an instance of the module: -
	linearmodule:  Linear;
-
-Before the module can be used, it must be loaded, for example in -the style: -
	linearmodule = load Linear "/usr/dmr/limbo/linear.dis";
-	if (linearmodule == nil) {
-		sys->print("Can't load Linear\n");
-		exit;
-	}
-
-The -load -operator is discussed more fully in §8.4.5 below. -

-

-To initialize data declared as part of a module -declaration, an assignment expression may be used at the top level. -For example: -

	implement testmod;
-	testmod: module {
-		num:	int;
-	};
-	. . .
-	num = 5;
-
-The right side of the assignment must be a constant expression (§8.5). -

-

6.6 Declarations with -import -

-

-These declarations take the form -


- identifier-list : import identifier ; -
-
-Identifiers for entities -declared within a module declaration are normally -meaningful only in a context that -identifies the module. -The -import -declaration lifts the names of specified members of a module -directly into the current scope. -The use of -import -will be discussed more fully in §8.1.4 below, after the syntax -for expressions involving modules has been presented. -

-

6.7 Declarations with -include -

-

-The string following the -include -keyword names -a file, which is inserted into the program's -text at that point. -The included -text is treated like text literally present. -Conventionally, included files declare -module interfaces and are named with the suffix -.m. -The directories to be searched for included files -may be specified to the Limbo compiler command. -Include files may be nested. -

-

7 Function definitions -

-

-All executable code -is supplied as part of a function definition. -The syntax is -


-function-definition: - function-name-part function-arg-ret { statements } - -function-name-part: - identifier - function-name-part . identifier -
-
-The syntax of the statements in a function will be discussed in §9 below. -As a brief example, -
	add_one(a: int): int
-	{
-		return a+1;
-	}
-
-is a simple function -that might be part of the top level of a module. -

-

-Functions that are declared within an -adt -use the qualified form of definition: -

	Point: adt {
-		x, y: int;
-		add: fn (p: Point, q: Point): Point;
-		eq: fn (p: Point, q: Point): int;
-	}
-	. . .
-	Point.add(p: Point, q: Point): Point
-	{
-		return Point(p.x+q.x, p.y+q.y);
-	}
-
-Because an -adt -may contain an -adt, -more than one qualification is possible. -

-

8 Expressions -

-

-Expressions in Limbo resemble those of C, although some -of the operators are different. -The most salient difference between Limbo's expression -semantics and those of C is that Limbo -has no automatic coercions between types; in Limbo every -type conversion is explicit. -

-

8.1 Terms -

-

-The basic elements of expressions are terms: -


-term: - identifier - constant - real-constant - string-constant - nil - ( expression-list ) - term . identifier - term -> term - term ( expression-listopt ) - term [ expression ] - term [ expression : expression ] - term [ expression : ] - term ++ - term -- -
-
-The operators on terms all associate to the left, -and their order of precedence, with tightest listed first, is as follows: -
			.
-			->
-			() [] ++ --
-
-

-

8.1.1 Simple terms -

-

-The first five kinds of term are constants and identifiers. -Constants have a type indicated by their syntax. -An identifier used in an expression is often a previously declared -data object with a particular data type; when used as a term -in an expression -it denotes the value stored in the object, and the term has -the declared object's type. -Sometimes, as discussed below, identifiers used in expressions -are type names, function names, or module identifiers. -

-

8.1.2 Parenthesized terms -

-

-A comma-separated list of expressions enclosed in parentheses -is a term. -If a single expression is present in the list, -the type and value are those of the expression; -the parentheses affect only the binding -of operators in the expression of which the term -is a part. -If there is more than one expression in the list, -the value is a tuple. -The member types -and values are taken from those of the expressions. -

-

8.1.3 Selection -

-

-A term of the form -


- term . identifier -
-
-denotes selection of a member of an -adt. -The term must be a -type name or yield an object; -its type must be -adt -or -ref -adt; -the identifier must be a member of the -adt. -The result denotes the named member (either a data object -or a function). -

-

8.1.4 Module qualification -

-

-A term of the form -


- term -> term -
-
-denotes module qualification. -The first term identifies a module: either it is a module type name, -or it is an expression of module type. -The second term is a constant name, type, or function specified within -that module's declaration. -Either the module type name or -an object of the module's type suffices to qualify constants and types; -functions directly exported by the module or contained within its -adt -must be qualified by an object of the module's type, initialized with -load. -

-

-An example using an abridged version of an example above: given -

	Linear: module {
-		setflags: fn(flag: int);
-		TRUNCATE: con 1;
-		Vector: adt {
-			make: fn(v: array of real): Vector;
-			v: array of real;
-		};
-	};
-
-one might say -
	lin := load Linear "/dis/linear.dis";
-	a: array of real;
-
-	v1: lin->Vector;
-	v2: Linear->Vector;
-	lin->setflags(Linear->TRUNCATE);
-	v1 = lin->(Linear->Vector).make(a);
-	v1 = lin->v1.make(a);
-	v1 = lin->v1.add(v1);
-	v1.v = nil;
-
-Here, the declarations for -v1 -and -v2 -are equivalent; either a module type name (here, -Linear) -or a handle (here, -lin) -suffices to identify the module. -In the call to -setflags, -a handle -is required for the call itself; -the type name is sufficient for the constant. -

-

-When calling a function associated with an -adt -of another module, it is necessary to identify -both the module and the -adt -as well as the function. -The two calls to the -make -function illustrate two ways of doing this. -In the first, -

	v1 = lin->(Linear->Vector).make(a);
-
-the module handle -lin -is specified first, then -the type name of the -Vector -adt -within it, and then the function. -In the second call -
	v1 = lin->v1.make(a);
-
-instead of using a type name to specify the -adt, -an instance of an object of the appropriate type is -used instead. -In the first example, the parentheses are required because -the qualification operators associate to the left. -
	v1 = lin->Vector.make(a);	# Wrong
-	v1 = lin->Linear->Vector.make(a);	# Wrong
-
-The first is wrong because the same -lin -can't serve as a qualifier for both the type and the call; -the second is wrong because -lin->Linear -is meaningless. -

-

-Using -import -makes the code less verbose: -

	lin := load Linear "/usr/dmr/limbo/linear.dis";
-	Vector, TRUNCATE, setflags: import lin;	
-	a: array of real;
-
-	v1: Vector;
-	v2: Vector;
-	setflags(TRUNCATE);
-	v1 = Vector.make(a);
-	v1 = v1.make(a);
-	v1 = v1.add(v1);
-	v1.v = nil;
-
-

-

8.1.5 Function calls -

-

-The interpretation of an expression in the form -


- term ( expression-listopt ) -
-
-depends on the declaration of the term. -If it is the (perhaps qualified) name of an -adt, -then the expression is a cast; this is discussed in §8.2.11 below. -If the term is the (perhaps qualified) name of a function, -the expression means a function call; this is discussed here. -

-

-A plain identifier as the -term -names a function defined -in the current module or imported into it. -A term qualified by using the selection operator -. -specifies a function member of an -adt; -a term using --> -specifies a function defined in another module. -

-

-Function calls in Limbo -create a copy of each argument of value type, -and the execution of a function cannot -affect the value of the corresponding actual argument. -For arguments of reference type, -execution of the function may affect the value of the object -to which the reference refers, although it cannot -change the argument itself. -The actual arguments to a function are evaluated -in an unspecified order, -although any side effects caused by argument evaluation -occur before the function is called. -

-

-Function calls may be directly or indirectly recursive; -objects declared within each function are distinct from -those in their dynamic predecessors. -

-

-Functions (§4.3, §7) may either return a value -of a specified type, or return no value. -If a function returns a value, it has the specified type. -A call to a function that returns no value may appear only as the -sole expression in a statement (§9.1). -

-

8.1.6 Subscripting and slicing -

-

-In a term of the form -


- term [ expression ] -
-
-the first term must be an array or a string, and the -bracketed expression must have -int -type. -The whole term -designates a member of the array or string, indexed by the bracketed expression; -the index origin is 0. -For an array, the type of the whole term is -the type from which the array is constructed; -for a string, the type is an -int -whose value is the Unicode character at that position in the string. -

-

-It is erroneous to refer to a nonexisting -part of an array or string. -(A single exception to this rule, discussed in §8.4.1 below, -allows extending a string by assigning a character at its end.) -

-

-In a term of the form -


- term [ expression : expression ] -
-
-the first term must be an array or a string, and the whole term -denotes a slice of it. -The first expression is the lower bound, and the second -is the upper. -If -e1 -is the first expression and -e2 -is the second, then in -a[e1:e2] -it must be the case that -0<=e1, e1<=e2, e2<=len a, -where -len -gives the number of elements in the array or string. -When the term is an array, the value is an -array of the same type beginning at the indicated -lower bound and extending to the element just before -the upper bound. -When the term is a string, the value is similarly the substring -whose first character is indexed by the lower bound -and whose last character lies just before the upper bound. -

-

-Thus, for both arrays and strings, the number of elements in -a[e1:e2] -is equal to -e2-e1. -

-

-A slice of the form -a[e:] -means -a[e:len a]. -

-

-When a string slice is assigned to another string or passed as an -argument, a copy of its value is made. -

-

-A slice of an array produces a reference to the designated subarray; -a change to an element of either the original array or -the slice is reflected in the other. -

-

-In general, slice expressions cannot be the subject of -assignments. -However, as a special case, an array slice expression of the -form -a[e1:] -may be assigned to. -This is discussed in §8.4.1. -

-

-The following example shows how slices -can be used to accomplish what would -need to be done with pointer arithmetic in C: -

	fd := sys->open( ... );
-	want := 1024;
-	buf := array[want] of byte;
-	b := buf[0:];
-	while (want>0) {
-		got := sys->read(fd, b, want);
-		if (got<=0)
-			break;
-		b = b[got:];
-		want -= got;
-	}
-
-Here the array -buf -is filled by successive calls to -sys->read -that may supply fewer bytes than requested; each call -stores up to -want -bytes -starting at -b[0], -and returns the number of bytes stored. -The invariant is that the slice -b -always refers to the part of the array still to be stored into. -

-

8.1.7 Postfix increment and decrement -

-

-A term of the form -


- term ++ -
-
-is called a -post-increment. -The term must be an lvalue (see §8.4 below) and must have an -arithmetic type. -The type and value of the whole term is -that of the incremented term. -After the value is taken, 1 of the appropriate -type is added to the lvalue. -The result is undefined if the same object is changed -more than once in the same expression. -

-

-The term -


- term -- -
-
-behaves analogously to the increment case except -that 1 is subtracted from the lvalue. -

-

-

-

8.2 Monadic expressions -

-

-Monadic expressions are expressions with -monadic operators, together with a few more -specialized notations: -


-monadic-expression: - term - monadic-operator monadic-expression - array [ expression ] of data-type - array [ expressionopt ] of { init-list } - list of { expression-list } - chan of data-type - data-type monadic-expression - -monadic-operator: one of - + - ! ~ ref * ++ -- <- hd tl len -
-
-

-

8.2.1 Monadic additive operators -

-

-The -- -operator produces the negative of its operand, which -must have an arithmetic type. -The type of the result is the same as the type of -its operand. -

-

-The -+ -operator has no effect; it is supplied only for -symmetry. -However, its argument must have an arithmetic type -and the type of the result is the same. -

-

8.2.2 Logical negation -

-

-The -! -operator yields the -int -value 1 if its operand -has the value 0, and yields 0 otherwise. -The operand must have type -int. -

-

8.2.3 One's complement -

-

-The -~ -operator yields the 1's complement of its -operand, which must have type -int -or -byte. -The type of the result is the same as that of its operand. -

-

8.2.4 Reference and indirection operators -

-

-If -e -is an expression of an -adt -type, then -ref -e -is an expression of -ref -adt -type whose value refers to (points to) an anonymous object with value -e. -The -ref -operator differs from the unary -& -operator of C; it makes a new object and returns a reference -to it, rather than generating a reference to an existing object. -

-

-If -e -is an expression of type -ref -adt, -then -* -e -is the value -of the -adt -itself. -The value of -e -must not be -nil. -

-

-For example, in -

	Point: adt { ... };
-	p: Point;
-	pp: ref Point;
-	p = Point(1, 2);
-	pp = ref p;	# pp is a new Point; *pp has value (1, 2)
-	p = Point(3, 4);	# This makes *pp differ from p
-	*pp = Point(4, 5);	# This does not affect p
-
-the expression -*pp -at first refers to a copy of the value stored in -p, -so -*pp == p -is true; however, when -p -is changed later, -*pp -does not change. -

-

8.2.5 Prefix increment and decrement -

-

-A monadic expression of the form -


- ++ monadic-expression -
-
-is called a -pre-increment. -The monadic expression must be an lvalue (see §8.4 below) and must have an -arithmetic type. -Before the value is taken, 1 of the appropriate type -is added to the lvalue. -The type and value of the whole expression is -that of the now incremented term. -The result is undefined if the same object is changed -more than once in the same expression. -

-

-The term -


- -- monadic-expression -
-
-behaves analogously to the increment case except -that 1 is subtracted from the lvalue. -

-

-

-

8.2.6 Head and tail -

-

-The operand of the -hd -operator must be a non-empty list. -The value is the first member of the list -and has that member's type. -

-

-The operand of the -tl -operator must be a non-empty list. -The value is the tail of the list, -that is, the part of the list after its -first member. -The tail of a list with one member is -nil. -

-

8.2.7 Length -

-

-The operand of the -len -operator is a string, an array, or a list. -The value is an -int -giving the number of elements currently in the item. -

-

8.2.8 Tagof -

-

-The operand of the -tagof -operator is a monadic expression of type -ref -adt -that refers to a -pick -adt. -or the type name of a -pick -adt -or one of its variants. -The value is an -int -giving a unique value for each of the variants and for the -pick -adt -type itself. -

-

8.2.9 Channel communication -

-

-The operand of the communication operator -<- -has type -chan -of -sometype. -The value of the expression -is the first unread object previously sent over that -channel, and has the type associated with the channel. -If the channel is empty, the program delays -until something is sent. -

-

-As a special case, the operand of -<- -may have type -array -of -chan -of -sometype. -In this case, all of the channels in the array are tested; -one is fairly selected from those that have data. -The expression yields a tuple of type -(int, -sometype -); -its first member gives the index of the channel from -which data was read, and its second member is the -value read from the channel. -If no member of the array has data ready, the expression delays. -

-

-Communication channels are treated more fully in §9.8 and -§9.13 below with the discussion of the -alt -and -spawn -statements. -

-

8.2.10 Creation of arrays -

-

-In the expressions -


- array [ expression ] of data-type - array [ expressionopt ] of { init-list ,opt } -
-
-the value is a new array of the specified type. -In both forms, the -expression -must be of type -int, -and it supplies the size of the array. -In the first form, the type is given, -and the values in the array are initialized as -appropriate to the underlying type. -In the second form, a comma-separated list of values to initialize -the array is given, optionally followed by a trailing comma. -The type of the array is taken from the types of -the initializers, which must all be the same. -The list of initializers has the syntax -

-init-list: - element - init-list , element - -element: - expression - expression => expression - * => expression -
-
-In an -init-list -of plain expressions (without -=>), -the members of the array -are successively initialized with the corresponding -elements of the init-list. -An element of the form -e1=>e2 -initializes the member of the array at subscript -e1 -with the expression -e2. -After such an element has been given, subsequent -simple elements (without -=>) -begin initializing at position -e1+1 -and so on. -Each of the first expressions must be of type -int -and must evaluate to a constant (§8.5). -

-

-If an element of the form -* -=>e2 -is present, all members of the array not otherwise -initialized are set to the value -e2. -The expression -e2 -is evaluated for each subscript position, -but in an undefined order. -For example, -

	arr := array[3] of { * => array[3] of { * => 1 } };
-
-yields a 2-dimensional array (actually an array of arrays) filled with -1's. -

-

-If the expression giving the size of the array is omitted, its size -is taken from the largest subscript of -a member explicitly initialized. -It is erroneous to initialize a member twice. -

-

8.2.11 Creation of lists -

-

-The value of an expression -


- list of { expression-list } -
-
-is a list consisting of the expressions given. -The types of the expressions must be identical, -and this type is the underlying type of the list. -The first expression is the head of the list, and the -remaining expressions are a list constituting its tail. -Where a list is expected, -nil -specifies an empty list. -

-

8.2.12 Creation of channels -

-

-The value of -


- chan of data-type -
-
-is an initialized channel of the specified type. -Just a declaration of a channel leaves it initialized only to -nil; -before it can be used it must be created. For example, -
	ch: chan of int;		# just declares, sets ch to nil
-	. . .
-	ch = chan of int;	# creates the channel and assigns it
-
-

-

8.2.13 Casts -

-

-An expression of the form -


- data-type monadic-expression -
-
-in which a type name is followed by an expression -is called a -cast, -and converts the monadic expression to the named type. -Only certain specialized forms are provided for. -

-

8.2.13.1 Arithmetic casts -

-

-In arithmetic casts, the named type must be one of -byte, -int, -big, -or -real, -and the monadic-expression must have arithmetic type. -For example, -

	byte 10
-
-is an expression of -byte -type and value 10. -When real values are converted to integral ones, -they are rounded to the nearest integer, and away from 0 -if there is a tie. -The effect of overflow during conversion is undefined. -

-

8.2.13.2 Casts to strings -

-

-Here the named data type is -string. -In a first form, the monadic expression has arithmetic type -(byte, -int, -big, -or -real) -and the value is a string containing the decimal representation -of the value, which may be either positive or negative. -A -real -operand is converted as if by format -%g, -and if the result is converted back to -real, -the original value will be recovered exactly. -

-

-In a second form, -the monadic expression has type -array -of -byte. -The value is a new string containing the Unicode characters -obtained by interpreting the bytes in the array as a UTF-8 representation -of that string. -(UTF-8 is a representation of 16-bit Unicode characters as one, -two, or three bytes.) -The result of the conversion is undefined if the byte array -ends within a multi-byte UTF-8 sequence. -

-

8.2.13.3 Casts from strings -

-

-In a first form, the monadic expression is a string, -and the named type is an arithmetic type. -The value is obtained by converting the string to -that type. Initial white space is ignored; after a possible -sign, conversion -ceases at the first character not part of a number. -

-

-In a second form, the named type is -array -of -byte -and the monadic-expression is a string. -The value is a new array of bytes containing the UTF-8 representation -of the Unicode characters in the string. -For example, -

	s := "Ångström";
-	a := array of byte s;
-	s = string a;
-
-takes the string -s -apart into bytes in the second line, -and puts it back in the third. -The length of -s -is 8, because it contains that many characters; -the length of -a -is larger, because some of its characters require more than -one byte in the UTF-8 representation. -

-

8.2.13.4 Casts to -adt -and -ref -adt -

-

-Here the named type is that of an -adt -or -ref -adt, -and the monadic expression is a comma-separated list of expressions -within parentheses. -The value of the expression is an instance of an -adt -of the named type whose data members are initialized with -the members of the list, or whose single data member -is initialized with the parenthesized expression. -In case the type is -ref -adt, -the value is a reference to the new -instance of the -adt. -

-

-The expressions in the list, read in order, correspond with the data -members of the -adt -read in order; their types and number must agree. -Placement of any function members of the -adt -is ignored. -For example, -

	Point: adt {
-		x: int;
-		eq: fn (p: Point): int;
-		y: int;
-	};
-	. . .
-	p: Point;
-	p = Point(1, 2);
-
-puts in -p -a -Point -whose -x -value is 1 and whose -y -value is 2. -The declaration and assignment could also be written -
	p := Point(1, 2);
-
-

-

8.3 Binary expressions -

-

-Binary expressions are either monadic expressions, -or have two operands and an infix operator; -the syntax is -


-binary-expression: - monadic-expression - binary-expression binary-operator binary-expression - -binary-operator: one of - * / % + - << >> < > <= >= == != & ^ | :: && || -
-
-All these binary operators are left-associative except for -::, -which associates to the right. -Their precedence is as listed here, with tightest first: -
			* / %
-			+ -
-			<< >>
-			< > <= >=
-			== !=
-			&
-			^
-			|
-			::
-			&&
-			||
-
-

-

8.3.1 Multiplicative operators -

-

-The -*, -/, -and -% -operators respectively accomplish multiplication, division, and remainder. -The operands must be of identical arithmetic type, and the result has that -same type. -The remainder operator does not apply to type -real. -If overflow or division by 0 occurs, the result is undefined. -The absolute value of -a%b -is less than the absolute value of -b; -(a/b)*b + a%b -is always equal to -a; -and -a%b -is non-negative if -a -and -b -are. -

-

8.3.2 Additive operators -

-

-The -+ -and -- -operators respectively accomplish addition and subtraction -of arithmetic operands of identical type; -the result has the same type. -The behavior on overflow or underflow is undefined. -The -+ -operator may also be applied to strings; -the result is a string that is the concatenation of the operands. -

-

8.3.3 Shift operators -

-

-The shift operators are -<< -and ->>. -The left operand may be -big, -int, -or -byte; -the right operand is -int. -The type of the value is the same as its left operand. -The value of the right operand must be non-negative -and smaller than the number of bits in the left operand. -For the left-shift operator -<<, -the fill bits are 0; -for the right-shift operator ->>, -the fill bits are a copy of the sign for the -int -case, and 0 for the -byte -case. -

-

8.3.4 Relational operators -

-

-The relational operators are -< -(less than), -> -(greater than), -<= -(less than or equal), ->= -(greater than or equal), -== -(equal to), -!= -(not equal to). -The first four operators, which generate orderings, -apply only to arithmetic types -and to strings; the types of their operands -must be identical, except that a string may be -compared to -nil. -Comparison on strings is lexicographic over the -Unicode character set. -

-

-The equality operators -== -and -!= -accept operands of arithmetic, string, and reference types. -In general, the operands must have identical type, -but reference types and strings may be compared for identity with -nil. -Equality for reference types occurs when the operands -refer to the same object, or when both are -nil. -An uninitialized string, or one set to -nil, -is identical to the empty string denoted -"" -for all the relational operators. -

-

-The value of any comparison is the -int -value 1 if the stated -relation is true, 0 if it is false. -

-

8.3.5 Bitwise logical operators -

-

-The logical operators -& -(and), -^ -(exclusive or) and -| -(inclusive or) -require operands of the same type, -which must be -byte, -int, -or -big. -The result has the same type and its -value is obtained by applying the operation -bitwise. -

-

8.3.6 List concatenation -

-

-The concatenation operator -:: -takes a object of any data type -as its left operand and a list as its right operand. -The list's underlying type must be the same as -the type of the left operand. -The result is a new list with the left operand -tacked onto the front: -

	hd (a :: l)
-
-is the same as -a. -

-

8.3.7 Logical operators -

-

-The logical -and -operator -&& -first evaluates its left operand. -If the result is zero, then the value of the -whole expression is the -int -value 0. -Otherwise the right operand is evaluated; if -the result is zero, the value of the whole -expression is again 0; otherwise it is 1. -The operands must have the same arithmetic type. -

-

-The logical -or -operator -|| -first evaluates its left operand. -If the result is non-zero, then the value of the -whole expression is the -int -value 1. -Otherwise the right operand is evaluated; if -the result is non-zero, the value of the whole -expression is again 1; otherwise it is 0. -The operands must have the same arithmetic type. -

-

8.4 General Expressions -

-

-The remaining syntax for expressions is -


-expression: - binary-expression - lvalue-expression assignment-operator expression - ( lvalue-expression-list ) = expression - send-expression - declare-expression - load-expression - -assignment-operator: one of - = &= |= ^= <<= >>= += -= *= /= %= -
-
-The left operand of an assignment can take only certain forms, called lvalues. -

-lvalue-expression: - identifier - nil - term [ expression ] - term [ expression : ] - term . identifier - ( lvalue-expression-list ) - * monadic-expression - -lvalue-expression-list: - lvalue - lvalue-expression-list , lvalue -
-
-

-

8.4.1 Simple assignments with -= -

-

-In general, the types of the left and right operands -must be the same; this type must be a data type. -The value of an assignment is its new left operand. -All the assignment operators associate right-to-left. -

-

-In the ordinary assignment with -=, -the value of the right side is assigned to the object -on the left. -For simple assignment only, the left operand may be a -parenthesized list of lvalues and the right operand -either a tuple or an -adt -whose data members correspond -in number and type to the lvalues in the list. -The members of the tuple, or -the data members of the -adt, -are assigned in sequence to -lvalues in the list. -For example, -

	p: Point;
-	x, y: int;
-	(x, y) = p;
-
-splits out the coordinates of the point into -x -and -y. -These rules apply recursively, so that if one of the -components of the left side is a parenthesized list of lvalues, -it is assigned from a corresponding -adt -or tuple on the right. -

-

-If the left operand of a simple assignment is an -adt -and the right side is a tuple, then the assignment -assigns the members of the tuple to the -adt -data members; these must correspond in number and type -with the members of the tuple. -

-

-The constant -nil -may be assigned to an lvalue of any reference type. -This lvalue will compare equal to -nil -until it is subsequently reassigned. -In the Inferno implementation of Limbo, such an assignment also -triggers the removal of the object referred to unless other references -to it remain. -

-

-The left operand of an assignment may be the constant -nil -to indicate that a value is discarded. -This applies in particular to any of the lvalues in -a tuple appearing on the left; to extend the examples above, -

	(x, nil) = p;
-
-assigns the -x -member of the Point -p -to the variable -x. -

-

-A special consideration applies to -strings. -If an -int -containing a Unicode character is assigned to a subscripted -string, the subscript -is normally required to lie within the string. -As a special case, the subscript's value may be equal to -the length of the string (that is, just beyond its end); -in this case, the character is appended to -the string, and the string's length increases by 1. -

-

-A final special case applies to array slices in the form -e1[e2:]. -Such expressions may lie on the left of -=. -The right side must be an array of the same type as -e1, -and its length must be less than or equal to -(len e1)-e2. -In this case, the -elements in the array on the right replace the elements of -e1 -starting at position -e2. -The length of the array is unchanged. -

-

8.4.2 Compound assignments -

-

-A compound assignment with -op= -is interpreted in terms of the plain assignment; -

	e1 op= e2;
-
-is equivalent to -
	e1 = (e1) op (e2);
-
-except that -e1 -is evaluated only once. -

-

8.4.3 Send expressions -

-

-A -send-expression -takes the form -


-send-expression: - lvalue-expression <- = expression -
-
-In the expression -
	e1 <- = e2
-
-the lvalue -e1 -must have type -chan -of -type, -and -e2 -must be of that type. -The value of -e2 -is sent over the channel. -If no task is executing a -channel receive operation on the specified channel, the sender blocks. -Task synchronization is discussed in §9.8 and §9.13 below. -

-

8.4.4 Declare-expressions -

-

-A -declare-expression -is an assignment that also declares identifiers on its left: -


-declare-expression: - lvalue-expression := expression -
-
-Each of the constituent terms in the -lvalue-expression -must be an identifier or -nil. -A plain identifier on the left -is declared as having the type of the expression, -and it is initialized with the expression's value. -When a parenthesized list of identifiers is given, the expression -must be a tuple or an -adt, -and the individual identifiers in the list are declared and initialized -with the members of the tuple, or the data members of the -adt. -As with ordinary assignments, the keyword -nil -may stand for an identifier whose declaration and assignment -are skipped. -

-

-The value and type of a declare-expression are the same as those of the expression. -

-

8.4.5 Load expressions -

-

-A -load-expression -has the form -


-load-expression: - load identifier expression -
-
-The identifier is the identifier of a module, that is, the type -name declared in a -module -declaration. -The expression following -load -has type -string -and names a file containing the -compiled form of the module. -The -load -expression yields a handle for referring to the functions provided -by a module and its -adt. -

-

-Execution of -load -brings the file containing the module into local memory and dynamically type-checks -its interface: the run-time system ascertains that -the declarations exported by the module are compatible -with the module declaration visible in the scope of the -load -operator (see §11.2). -In the scope of a module declaration, the types and constants -exported by the module may be referred to without a handle, but -the functions and data exported by the module -(directly at its top level, or within its -adt) -may be called only using a valid -handle acquired by the -load -operator. -

-

-The value of -load -is -nil -if the attempt to load fails, either because the file containing -the module can not be found, or because the found module does not -export the specified interface. -

-

-Each evaluation of -load -creates a separate instance of the specified module; -it does not share data with any other instance. -

-

8.5 Constant expressions -

-

-In several places a constant expression is required. -Such an expression contains operands that are -identifiers previously declared with -con, -or -int, -big, -real, -or -string -constants. -These may be connected by any of the following operators: -

	+	-	*	/	%	&	|	^
-	==	<	>	<=	>=	!=	<<	>>
-	&&	||
-	~	!
-
-together with arithmetic and string casts, and parentheses for -grouping. -

-

8.6 Expression evaluation -

-

-Expressions in Limbo are not reordered by the compiler; -values are computed in accordance with the parse of the expression. -However there is no guarantee of temporal evaluation order for expressions -with side effects, except in the following circumstances: -function arguments are fully evaluated before the function -is called; the logical operators -&& -and -|| -have fully defined order of evaluation, as explained above. -All side effects from an expression in one statement are -completed before the next statement is begun. -

-

-In an expression containing a constant subexpression (in the -sense of §8.5), the constant subexpression is evaluated at -compile-time with all exceptions ignored. -

-

-Underflow, overflow, and zero-divide conditions during integer -arithmetic produce undefined results. -

-

-The -real -arithmetic of Limbo is all performed in IEEE double precision, -although denormalized numbers may not be supported. -By default, -invalid operations, zero-divide, overflow, and underflow -during real arithmetic are fatal; inexact-result is quiet. -The default rounding mode is round-to-nearest-even. -A set of routines in the -Math -library module permits independent control of these modes within each thread. -

-

9 Statements -

-

-The executable code within a function definition consists -of a sequence of statements and declarations. -As discussed in the Scope section §11 below, -declarations become effective at the place they appear. -Statements are executed in sequence except as discussed below. -In particular, the optional labels on some of the statements are used with -break -and -continue -to exit from or re-execute the labeled statement. -


-statements: - (empty) - statements declaration - statements statement - -statement: - expression ; - ; - { statements } - if ( expression ) statement - if ( expression ) statement else statement - labelopt while ( expressionopt ) statement - labelopt do statement while ( expressionopt ) ; - labelopt for ( expressionopt ; expressionopt ; expressionopt ) statement - labelopt case expression { qual-statement-sequence } - labelopt alt { qual-statement-sequence } - labelopt pick identifier := expression { pqual-statement-sequence } - break identifieropt ; - continue identifieropt ; - return expressionopt ; - spawn term ( expression-listopt ) ; - exit ; -
-
-

-label: - identifier : -
-
-

-

9.1 Expression statements -

-

-Expression statements consist of an expression followed by -a semicolon: -


- expression ; -
-
-Most often expression statements are assignments, but other expressions -that cause effects are often useful, for example calling a function -or sending or receiving on a channel. -

-

9.2 Null statement -

-

-The null statement consists of a lone semicolon. -It is most useful for supplying an empty body -to a looping statement with internal side effects. -

-

9.3 Blocks -

-

-Blocks are -statements -enclosed in -{} -characters. -


- { statements } -
-
-A block starts a new scope. -The effect of any declarations within a block disappears -at the end of the block. -

-

9.4 Conditional statements -

-

-The conditional statement takes two forms: -


- if ( expression ) statement - if ( expression ) statement else statement -
-
-The -expression -is evaluated; it must have type -int. -If it is non-zero, then the first -statement -is executed. -In the second form, the second -statement -is executed if the -expression -is 0. -The statement after -else -is connected to the nearest -else-less -if. -

-

9.5 Simple looping statements -

-

-The simple looping statements are -


- labelopt while ( expressionopt ) statement - labelopt do statement while ( expressionopt ) ; -
-
-In both cases the expression must be of type -int. -In the first form, the -expression -is first tested against 0; -while it is not equal, the -statement -is repeatedly executed. -In the second form, the -statement -is executed, and then, while the -expression -is not 0, the statement is repeatedly executed. -If the -expression -is missing, it is understood to be non-zero. -

-

9.6 for -statement -

-

-The -for -statement has the form -


- labelopt for ( expression-1opt ; expression-2opt ; expression-3opt ) statement -
-
-It is equivalent to -

- expression-1 ; - while ( expression-2 ) { - statement - expression-3 ; - } -
-
-in the absence of -continue -or -break -statements. -Thus (just as in C), the first expression is an initialization, -the second a test for starting and continuing the loop, and the third -a re-initialization for subsequent travels around the loop. -

-

9.7 case -statement -

-

-The -case -statement transfers control to one of several places -depending on the value of an expression: -


- labelopt case expression { qual-statement-sequence } -
-
-The expression must have type -int -or -string. -The -case -statement is followed by sequence of -qualified statements, which are statements labeled by -expressions or expression ranges: -

-qual-statement-sequence: - qual-list => - qual-statement-sequence qual-list => - qual-statement-sequence statement - qual-statement-sequence declaration - -qual-list: - qualifier - qual-list or qualifier - -qualifier: - expression - expression to expression - * -
-
-A -qual-statement-sequence -is a sequence of -statements and declarations, each of which -is preceded by one or more qualifiers. -Syntactically, the qualifiers are -expressions, expression ranges with -to, -or -*. -If the expression mentioned after -case -has -int -type, -all the expressions appearing in the qualifiers -must evaluate to integer constants (§8.5). -If the expression has -string -type, all the qualifiers must be -string constants. -

-

-The -case -statement is executed by comparing -the expression at its head with the constants -in the qualifiers. -The test is for equality in the case -of simple constant qualifiers; -in range qualifiers, the test determines -whether the expression is greater than or -equal to the first constant and less than -or equal to the second. -

-

-None of the ranges or constants may overlap. -If no qualifier is selected and -there is a -* -qualifier, -then that qualifier is selected. -

-

-Once a qualifier is selected, control passes -to the set of statements headed by that -qualifier. -When control reaches the end of that set -of statements, control passes to the end -of the -case -statement. -If no qualifier is selected, the -case -statement is skipped. -

-

-Each qualifier and the statements following it -up to the next qualifier together form a separate -scope, like a block; declarations within this scope -disappear at the next qualifier (or at the end of -the statement.) -

-

-As an example, this fragment separates small numbers -by the initial letter of their spelling: -

	case i {
-	1 or 8 =>
-		sys->print("Begins with a vowel\n)";
-	0 or 2 to 7 or 9 =>
-		sys->print("Begins with a consonant\n");
-	* =>
-		sys->print("Sorry, didn't understand\n");
-	}
-
-

-

9.8 alt -statement -

-

-The -alt -statement transfers control to one of several groups -of statements depending on the readiness of communication -channels. -Its syntax resembles that of -case: -


- labelopt alt { qual-statement-sequence } -
-
-However, the qualifiers take a form different -from those of -case. -In -alt, -each qualifier must be a -*, -or an expression containing a communication -operator -<- -on a channel; -the operator may specify either sending or receiving. -For example, -
	outchan := chan of string;
-	inchan := chan of int;
-	alt {
-		i := <-inchan =>
-			sys->print("Received %d\n", i);
-		outchan <- = "message" =>
-			sys->print("Sent the message\n");
-	}
-
-The -alt -statement is executed by testing each of -the channels mentioned in the -qual-list -expressions for ability to send or receive, -depending on the operator; -if none is ready, the program blocks -until at least one is ready. -Then a random choice from the ready channels is selected -and control passes to the associated set -of statements. -

-

-If a qualifier of the form -* -is present, then the statement does not block; -if no channel is ready the statements associated with -* -are executed. -

-

-If two communication operators are present -in the same qualifier expression, only the leftmost one is -tested by -alt. -If two or more -alt -statements referring to the same receive (or send) -channel are executed in different -threads, the requests are queued; -when the channel becomes unblocked, the thread -that executed -alt -first is activated. -

-

-As with -case, -each qualifier and the statements following it -up to the next qualifier together form a separate -scope, like a block; declarations within this scope -disappear at the next qualifier (or at the end of -the statement.) -Thus, in the example above, the scope of -i -in the arm -

		i := <-inchan =>
-			sys->print("Received %d\n", i);
-
-is restricted to these two lines. -

-

-As mentioned in the specification -of the channel receive operator -<- -in §8.2.8, that operator can take an array of channels as an argument. -This notation serves as a kind of simplified -alt -in which all the channels have the same type -and are treated similarly. -In this variant, -the value of the communication expression is a tuple -containing the index of the -channel over which a communication was received and -the value received. -For example, in -

	a: array [2] of chan of string;
-	a[0] = chan of string;
-	a[1] = chan of string;
-	. . .
-	(i, s) := <- a;
-	# s has now has the string from channel a[i]
-
-the -<- -operator waits until at least one of the -members of -a -is ready, selects one of them at random, -and returns the index and the transmitted string -as a tuple. -

-

-During execution of an -alt, -the expressions in the qualifiers are evaluated in an undefined -order, and in particular subexpressions may be evaluated before -the channels are tested for readiness. -Therefore qualifying expressions should not invoke side effects, -and should avoid subparts that might delay execution. -For example, in the qualifiers -

	ch <- = getchar() =>	# Bad idea
-	ich <- = next++ =>	# Bad idea
-
-getchar() -may be called early in the elaboration of the -alt -statement; if it delays, the entire -alt -may wait. -Similarly, the -next++ -expression may be evaluated before testing the readiness of -ich. -

-

9.9 pick -statement -

-

-The -pick -statement transfers control to one of several groups of statements -depending upon the resulting variant type of a -pick -adt -expression. The syntax resembles that of -case: -


- labelopt pick identifier := expression { pqual-statement-sequence } -
-
-The expression must have type -ref -adt -and the -adt -must be a -pick -adt. -The -pick -statement is followed by a sequence of qualified statements, which are -statements labeled by the -pick -variant names: -

-pqual-statement-sequence: - pqual-list => - pqual-statement-sequence pqual-list => - pqual-statement-sequence statement - pqual-statement-sequence declaration - -pqual-list: - pqualifier - pqual-list or pqualifier - -pqualifier: - identifier - * -
-
-A -pqual-statement-sequence -is a sequence of statements and declarations, each of which -is preceded by one or more qualifiers. -Syntactically, the qualifiers are identifiers, identifier lists (constructed with -or), -or -*. -The identifiers must be names of the variant types of the -pick -adt. -The -pick -statement is executed by comparing the variant type of the -pick -adt -referenced by the expression at its head with the variant type names in the qualifiers. -The matching qualifier is selected. -None of the variant type names may appear more than once. -If no qualifier is selected and there is a -* -qualifier, then that qualifier is selected. -

-

-Once a qualifier is selected, control passes -to the set of statements headed by that qualifier. -When control reaches the end of that set of statements, -control passes to the end of the -pick -statement. -If no qualifier is selected, the -pick -statement is skipped. -

-

-Each qualifier and the statements following it -up to the next qualifier together form a separate -scope, like a block; declarations within this scope -disappear at the next qualifier (or at the end of -the statement.) -

-

-The -identifier -and -expression -given in the -pick -statement are used to bind a new variable to a -pick -adt -reference expression, and within the statements associated with the -selected qualifier the variable can be used as if it were of the corresponding -variant type. -

-

-As an example, given a -pick -adt -of the following form: -

	Constant: adt {
-		name: string;
-		pick {
-			Str or Pstring =>
-				s: string;
-			Real =>
-				r: real;
-		}
-	};
-
-the following function could be used to print out the value of -an expression of type -ref Constant: -
	printconst(c: ref Constant)
-	{
-		sys->print("%s: ", c.name);
-		pick x := c {
-		Str =>
-			sys->print("%s\n", x.s);
-		Pstring =>
-			sys->print("[%s]\n", x.s);
-		Real =>
-			sys->print("%f\n", x.r);
-		};
-	}
-
-

-

9.10 break -statement -

-

-The -break -statement -


- break identifieropt ; -
-
-terminates execution of -while, -do, -for, -case, -alt, -and -pick -statements. -Execution of -break -with no identifier -transfers control to -the statement after the innermost -while, -do, -for, -case, -alt, -or -pick -statement in which it appears as a substatement. -Execution of -break -with an identifier -transfers control to the next statement after the unique enclosing -while, -do, -for, -case, -alt, -or -pick -labeled with that identifier. -

-

9.11 continue -statement -

-

-The -continue -statement -


- continue identifieropt ; -
-
-restarts execution of -while, -do, -and -for -statements. -Execution of -continue -with no identifier -transfers control to the end of -the innermost -while, -do, -or -for -statement in which the -continue -appears as a substatement. -The expression that controls the loop is tested -and if it succeeds, execution continues in the loop. -The initialization portion of -for -is not redone. -

-

-Similarly, execution of -continue -with an identifier transfers control to the end of the enclosing -while, -do, -or -for -labeled with the same identifier. -

-

9.12 return -statement -

-

-The -return -statement, -


- return expressionopt ; -
-
-returns control to the caller of a function. -If the function returns a value (that is, if its definition -and declaration mention a return type), -the expression must be given and it must have the same type that the -function returns. -If the function returns no value, the expression -must generally be omitted. -However, if a function returns no value, and its -last action before returning is to call -another function with no value, then it may -use a special form of -return -that names the function being called. -For example, -
	f, g: fn(a: int);
-	f(a: int) {
-		. . .
-		return g(a+1);
-	}
-
-is permitted. -Its effect is the same as -
	f(a: int) {
-		. . .
-		g(a+1);
-		return;
-	}
-
-This -ad hoc -syntax offers the compiler a cheap opportunity to recognize -tail-recursion. -

-

-Running off the end of a function is equivalent to -return -with no expression. -

-

9.13 spawn -statement -

-

-The -spawn -statement creates a new thread of control. -It has the form -


- spawn term ( expression-listopt ) ; -
-
-The term and expression-list are taken to be -a function call. -Execution of -spawn -creates an asynchronous, independent thread -of control, which calls the function in the new thread context. -This function may access the accessible objects -in the spawning thread; the two threads share -a common memory space. -These accessible objects include the data global to -the current module and reference data passed to the -spawned function. -Threads are preemptively scheduled, so that -changes to objects used in common between -threads may occur at any time. -The Limbo language provides no explicit synchronization -primitives; §12.3 shows examples of how to use channel -communication to control concurrency. -

-

9.14 exit -statement -

-

-The -exit -statement -


- exit ; -
-
-terminates a thread and frees any resources -belonging exclusively to it. -

-

10 Referring to modules; -import -

-

-As discussed above, modules present -constants, functions, and types -in their interface. -Their names may be the same as names -in other modules or of local objects or types within -a module that uses another. -Name clashes are avoided because references -to the entities presented by a module are -qualified by the module type name or an object -of that module type. -

-

-For example, -after the module and variable declarations -

	M: module {
-		One: con 1;
-		Thing: adt {
-			t: int;
-			f: fn();
-		};
-		g: fn();
-	};
-	m: M;
-
-the name -One -refers to the constant defined in -module -M -only in the contexts -M->One -or -m->One; -the name -Thing -as the particular data type -associated with the -M -module can be referred to only in contexts -like -
	th1: M->Thing;
-	th2: m->Thing;
-
-Finally, to call a function defined either as a top-level -member of the module, or as a member of one of its -adt, -it is necessary to declare, and also dynamically initialize using -load, -a handle for the module. -Then calls of the form -
	m->g();
-	m->th1.f();
-
-become appropriate. -It is possible to use just the type name of a module to qualify -its constants and types because constants and types can be understood -without having the code and data present. -Calling a function declared by a module or one of its -adt -requires loading the module. -

-

-The -import -declaration -


- identifier-list : import identifier ; -
-
-lifts the identifiers in the -identifier-list -into the scope in which -import -appears, so that they are usable without a qualifier. -The identifier after the -import -keyword is either -a module identifier, or an identifier declared as having -that type. -The initial list of identifiers specifies those -constants, -types, -and functions of the module whose names are promoted. -In the case of constants and types, -import -merely makes their names accessible without using a qualifier. -In the example above, if the -module -declaration above had been followed by -
	One, Thing: import M;
-
-then one could refer to just -One -instead of -M->One; -similarly an object could be declared like -
	th: Thing;
-
-For functions, and also -adt -with functions as members, -import -must specify a module -variable (as opposed to a module identifier). -Each imported name is associated with the specified module -variable, and the current value of this module variable -controls which instance of the module will -be called. -For example, after -
	g, Thing: import m;
-
-then -
	g();
-
-is equivalent to -
	m->g();
-
-and -
	th: Thing;
-	th.f();
-
-is equivalent to -
	th: M.Thing;
-	m->th.f();
-
-When the module declaration for the module being -implemented is encountered, an implicit -import -of all the names of the module is executed. -That is, given -
	implement Mod;
-	. . .
-	Mod: module {
-		. . .
-	};
-
-the constants and types of -Mod -are accessed as if they had been imported; -the functions declared in -Mod -are imported as well, and refer dynamically to the -current instance of the module being implemented. -

-

11 Scope -

-

-The scope of an identifier is the lexical range of -a program throughout which the identifier means a particular -type of, or instance of, an object. -The same identifier may be associated with several -different objects in different parts of the same program. -

-

-The names of members of an -adt -occupy a separate, nonconflicting space from other identifiers; -they are declared in a syntactically distinct position, -and are always used in a distinguishable way, namely -after the -. -selection operator. -Although the same scope rules apply to -adt -members as to other identifiers, their names may -coincide with other entities in the same scope. -

-

-Similarly, the names of constants, functions, and -adt -appearing -within a -module -declaration are ordinarily qualified either with -the name of the module or with a module variable -using the --> -notation. -As discussed above, the -import -declaration lifts these names into the current scope. -

-

-Identifiers declared in a top-declaration -(§5) have scope that lasts from the -declaration throughout the remainder of the -file in which it occurs, unless it is overridden -by a redeclaration of that name within an inner -scope. -Each function definition, and each block -within a function, -introduces a new scope. -A name declared within the block or function -(including a formal argument name of a function) -has a scope that begins -at the completion of its declaration and lasts until -the end of the block or function. -If an already-declared identifier is redeclared within -such an inner scope, the declaration previously in -force is used in any initialization expression -that is part of the new declaration. -

-

-As discussed above, within -case -alt -and -pick, -each qualifier -and the statements following it form an inner -scope just like a block. -

-

-The scope of a label is restricted to the -labeled statement, -and label names may coincide with those of other -entities in the same scope. -

-

11.1 Forward referencing -

-

-In general, names must be declared before they are used. -

-

-The first exception to this rule is that a -function local to a module need not have a -declaration at all; it is sufficient to give -its definition, and that definition may appear anywhere -in the module. -

-

-The general rule implies that no -adt -may contain, as a member, an -adt -not previously declared (including an instance of itself). -A second exception to this rule applies to -ref -adt -types. -An -adt -may contain a member whose type is a -ref -to itself, or to another -adt -even if the second -adt -has not yet been declared. -Unless a special notation is used, such -references are restricted: -all mutual or self references among -adt -are checked statically throughout all the -adt -visible in a module to determine which -members refer to other -adt. -Any member of an -adt -of -ref -adt -type that refers directly, or indirectly through a chain of references, -back to its own underlying type may not be assigned to individually; -it can gain a value only by an assignment to the -adt -as a whole. -For example, in -

	Tree: adt {
-		l: ref Tree;
-		r: ref Tree;
-		t: ref Ntree;
-	};
-	Ntree: adt {
-		t: ref Tree;
-	};
-
-	t1 := Tree(nil, nil, nil);	# OK
-	t2 := Tree(ref t1, ref t1, nil);	# OK
-	t1 = Tree(ref t1, ref t2, nil);	# OK
-	t1.l = ... ;	# not OK
-
-	nt := ref Ntree(nil);	# OK
-	nt.t = ...	# not OK
-
-the first three assignments are correct, but -any assignment to -t1.l -is forbidden, because it is self-referential. -The situation is the same with the mutually -referential fields of the -Tree -and -Ntree -adt. -

-

-These restrictions suffice -to prevent the creation of circular data structures. -Limbo implementations guarantee to -destroy all data objects not involved in such circularity -immediately after they become non-referenced by active -tasks, whether because -their names go out of scope or because they are assigned new values. -This property has visible effect because certain system resources, -like windows and file descriptors, can be seen outside the program. -In particular, if a reference to such a resource is held only within an -adt, -then that resource too is destroyed when the -adt -is. -

-

-The default rules are burdensome because they impede the construction even -of harmless structures like trees. -Therefore an escape is provided: using the word -cyclic -before the type in an -adt -member removes the circular-reference restriction for that member. -For example, -

	Tree: adt {
-		l: cyclic ref Tree;
-		r: cyclic ref Tree;
-		t: ref Ntree;
-	};
-	Ntree: adt {
-		t: cyclic ref Tree;
-	};
-
-	t1 := Tree(nil, nil, nil);	# OK
-	t2 := Tree(ref t1, ref t1, nil);	# OK
-	t1 = Tree(ref t1, ref t2, nil);	# OK
-	t1.l = ... ;	#  OK now
-
-	nt := ref Ntree(nil);	# OK
-	nt.t = ...	# OK now
-
-With the use of -cyclic, -circular data structures can be created. -When they become unreferenced except by themselves, they will -be garbage-collected eventually, but not instantly. -

-

11.2 Type equality and compatibility -

-

-In an assignment and in passing an actual argument to a function, -the types of the target and the expression being assigned or -passed must be equal (with certain exceptions, e.g. assignment of -nil -to a reference type). -When a function is defined, its type must be equal to the type -of a function with the same name if one is in scope. -Type equality is determined as follows. -

-

-Two basic types are equal if and only if they are identical. -

-

-Two tuple types are equal if and only if they are composed -of equal types in the same order. -

-

-Two array types are equal if and only if they are arrays -of equal types. -The size of an array is not part of its type. -

-

-Two list types are equal if and only if they are composed -of equal types. -

-

-Two channel types are equal if and only if they transmit -equal types. -

-

-Two -adt -types are equal if and only if their data members -have the same names and correspondingly -equal types, including any -cyclic -attribute. -The order of member declaration is insignificant, and -constant and function members of an -adt -do not enter into the comparison, -nor does the name of the -adt -type itself. -In particular, with the declarations -

	A: adt { x: ref B; };
-	B: adt { x: ref A; };
-
-the types -A -and -B -are equal. -

-

-Two -ref -adt -types are equal if and only if they are references to equal -adt -types. -

-

-Two module types are equal if and only if their data and function members -have the same names and correspondingly equal types; the order -of their mention is insignificant. -Constant members and type members do not enter into the comparison. -

-

-Two function types are equal if and only if their return -values have the same type -and their argument lists have correspondingly equal types. -Any -self -attributes given to arguments much match. -Names given to arguments do not enter into the comparison. -

-

-A type name has the same type as the type from -which it was constructed. -

-

-When a module is loaded, the module stored -in the file system must have a type that is -compatible -with the type mentioned in the -load -expression. -The type of the stored module -type is compatible with the mentioned type if and only if -all data members of the two types are equal in name and type, -and all -adt -or functions actually mentioned by the program executing -load -have names and types equal to corresponding members of -the stored module. -

-

12 Examples -

-

-Because Limbo was designed for the Inferno environment, several -of these examples consist of simplified versions of already simple -Inferno applications in a prototype Inferno implementation. -Some appreciation for the resources available in this environment -should become evident, but its full description is available -elsewhere; -the discussion here will focus on language features. -However, several of the programs use facilities -from the module -Sys, -which provides an interface to a file system and its methods -resembling those of Unix or Plan 9, -as well as other useful library facilities. -

-

-Some of the programs are annotated with line numbers; -they are there only for descriptive purposes. -

-

12.1 A simple command interpreter module -

-

-This version of a shell program reads from a keyboard and -executes `commands' typed by the user. -Its own interface has the type of a -Command -module, and that is the type of the things it executes. -In particular, it can call modules like the -hello -example at the beginning of the paper. -

1	implement Command;
-
-2	include "sys.m";
-3	include "draw.m";
-
-4	sys: Sys;
-5	stdin: ref Sys->FD;
-
-6	Command: module
-7	{
-8		init: fn(nil: ref Draw->Context, nil: list of string);
-9	};
-
-After the boilerplate on lines 1-3, the variables -sys -and -stdin -are declared on lines 4 and 5. -The I/O operations of the -Sys -module use the -ref -FD -type to refer to open files. -
10	init(ctx: ref Draw->Context, nil: list of string)
-11	{
-12
-13
-14		buf := array[256] of byte;
-
-15		sys = load Sys Sys->PATH;
-16		stdin = sys->fildes(0);
-
-17		for(;;) {
-18			sys->print("$ ");
-19			n := sys->read(stdin, buf, len buf);
-20			if(n <= 0)
-21				break;
-22			(nw, arg) :=
-			   sys->tokenize(string buf[0:n], " \t\n");
-23			if(nw != 0)
-24				exec(ctx, arg);
-25		}
-26	}
-
-Line 10: conventionally, stand-alone modules are started -by calling their -init -functions. -The -Command -module follows this convention. -The arguments are presented as a list of strings. -In this simple example, the command interpreter itself -ignores its argument, so it need not be given a name. -

-

-Local variables are declared on lines 12-14; line 15 -loads the -Sys -module and stores a handle for it in the variable -sys. -Line 16 creates an -FD -for the standard input by calling the -fildes -function of the -Sys -module using the --> -operator; the notation -modhandle->func(...) -specifies a call to the function named -func -in the module currently referred to by -modhandle. -(In general there can be several modules of the same type and name -active, and there can also be unrelated modules containing identically -named functions. -The -import -declaration, described in §6.6 above, can be used to abbreviate -the references when names do not clash.) -

-

-The loop on lines 17-25 prints a prompt (line 18), reads a line from -the standard input (line 19), parses it into tokens (line 22), and -executes the command. -

-

-The function call -sys->tokenize -is worth discussing as an example of style. -It takes two strings as arguments. -The characters in the second string are interpreted as separators -of tokens in the first string. -It returns a tuple whose first member is the number of -tokens found, and whose second is a list of strings -containing the tokens found: its declaration is -

	tokenize: fn (s: string, sep: string): (int, list of string);
-
-In the example, the second argument is -" \t\n", -so that the routine returns the number of, and a list of, -`words' separated by blanks, tabs, and new-lines. -The free use of strings, lists, and tuple-returning -functions is common in Limbo. -

-

-The -sys->read -routine gathers an array of bytes into -buf. -Thus the expression for the first argument of -sys->tokenize -converts this array to a string by slicing the -array with -[0:n], -using the actual number of bytes -gathered by the -read, -and using a cast. -

-

-At lines 23-24, if there were any words found, -exec -is called: -

27	exec(ctx: ref Draw->Context, args: list of string)
-28	{
-29		c: Command;
-30		cmd, file: string;
-
-31		cmd = hd args;
-
-32		file = cmd + ".dis";
-33		c = load Command file;
-34		if(c == nil)
-35			c = load Command "/dis/"+file;
-
-36		if(c == nil) {
-37			sys->print("%s: not found\n", cmd);
-38			return;
-39		}
-40		c->init(ctx, args);
-41	}
-
-On lines 31 and 32 of -exec, -cmd -is set to the first of the words in the argument list, -and the string -.dis -is concatenated to it (to account for the fact that Limbo -object program files are conventionally named using this suffix). -On line 33 an attempt is made to load the named module -from the derived file name; it will fail if the file -does not exist. -The attempt will succeed, -and a non-nil handle assigned to -c, -if the file is found, and if -the module stored in that file does in fact implement the -Command -module type. -In case this fails, lines 34-35 make another attempt, after prefixing -/dis/ -to the file name. -

-

-If either attempt to get a handle to the named module -succeeds, -c -will contain a valid handle to it; line 40 calls its -init -function, passing it the whole argument list. -When it returns, the -exec -function returns, and the main loop resumes. -

-

12.2 Infrared remote control -

-

-This example shows two instances of a module -for interfacing to a TV remote control; one -is for the real remote, which in this case -is connected to a serial port on a set-top -box, and the other is simulated for testing -programs running on a regular operating -system. -The techniques of special interest are the -dynamic use of modules and the communication -using a channel. -

-

-The module is used by creating a channel and passing -it to the module's -init -function, -which returns a success/error indicator and starts an -asynchronous process to read the remote control. -The user of the module executes a receive -on the channel whenever it wishes to accept -a button-push. -

-

-The (abridged) module declaration is -

Ir: module
-{
-	# Codes buttons on IR remote control
-	Zero:	con 0;
-	One:	con 1;
-	. . .
-	Mute:	con 23;
-	Error:	con 9999;
-
-	init: fn(chan of int): int;
-	PATH: con "/dis/ir.dis";
-	SIMPATH: con "/dis/irsim.h";
-};
-
-The implementation for the `real' remote control is -
implement Ir;
-
-include "ir.m";
-include "sys.m";
-FD, Dir: import Sys;
-
-sys: Sys;
-
-init(keys: chan of int): int
-{
-	cfd, dfd: ref FD;
-
-	sys = load Sys Sys->PATH;
-
-	cfd = sys->open("/dev/eia1ctl", sys->OWRITE);
-	if(cfd == nil)
-		return -1;
-	sys->fprint(cfd, "b9600");
-
-	dfd = sys->open("/dev/eia1", sys->OREAD);
-	cfd = nil;
-
-	spawn reader(keys, dfd);
-	return 0;
-}
-
-The -init -routine accepts a -chan -argument; it will be used by the module to -send codes for the buttons pressed by the user. -In this routine, the calls to -sys->open -and -sys->fprint -open and set up the device data and control files -/dev/eia1 -and -/dev/eia1ctl -used to communicate with the device itself. -The important step is at the end: the -spawn -statement creates a new, -asynchronous task to read the device, using a routine -that is passed the communications channel and the -FD for the device: -
reader(keys: chan of int, dfd: ref FD)
-{
-	n, ta, tb: int;
-	dir: Dir;
-	b1:= array[1] of byte;
-	b2:= array[1] of byte;
-
-	# find the number of bytes already
-	# queued and flush that many
-	(n, dir) = sys->fstat(dfd);
-	if(n >= 0 && dir.length > 0) {
-		while(dir.length) {
-			n = sys->read(dfd,
-			   array[dir.length] of byte,
-			   dir.length);
-			if(n < 0)
-				break;
-			dir.length -= n;
-		}
-	}
-
-
loop:	for(;;) {
-		n = sys->read(dfd, b1, len b1);
-		if(n <= 0)
-			break;
-		ta = sys->millisec();
-		# Button pushes are pairs of characters
-		# that arrive closer together than
-		# 200 ms.  Longer than that is likely
-		# to be noise.
-		for(;;) {
-			n = sys->read(dfd, b2, 1);
-			if(n <= 0)
-				break loop;
-			tb = sys->millisec();
-			if(tb - ta <= 200)
-				break;
-			ta = tb;
-			b1[0] = b2[0];
-		}
-		# map the character pair; the significant
-		# bits are the lowest 5.
-		case ((int b1[0]&16r1f)<<5) | (int b2[0]&16r1f) {
-		975 =>	n = Ir->Zero;
-		479 =>	n = Ir->One;
-		. . .
-		791 =>	n = Ir->Mute;
-		* =>	n = Ir->Error;
-		}
-		# found a button-push; send the value
-		keys <-= n;
-	}
-	keys <-= Ir->Error;
-}
-
-The code in the middle is related to noise-filtering -and is uninteresting in detail except as it illustrates -some of the methods provided by the -Sys -module; the crucial actions are found at the bottom, -where the routine sends either -a true button-push or an error code over the channel to -the module's client. -

-

-Here is another implementation of the same interface. -Its -init -function performs the same kind of initialization -as the other version, but using the operating system's -keyboard files -/dev/cons -and -/dev/consctl. -In the Inferno environment, operations corresponding to the Unix -`stty' primitive are accomplished by writing messages to -a control file associated with the file that handles the data. -

implement Ir;
-
-include "ir.m";
-include "sys.m";
-FD: import Sys;
-
-sys: Sys;
-cctlfd: ref FD;
-
-init(keys: chan of int): int
-{
-	dfd: ref FD;
-
-	sys = load Sys Sys->PATH;
-
-	cctlfd = sys->open("/dev/consctl", sys->OWRITE);
-	if(cctlfd == nil)
-		return -1;
-	sys->write(cctlfd, array of byte "rawon", 5);
-
-	dfd = sys->open("/dev/cons", sys->OREAD);
-	if(dfd == nil)
-		return -1;
-
-	spawn reader(keys, dfd);
-	return 0;
-}
-
-A fine point: the variable -cctlfd -that contains the FD for the control device is -declared external to the -init function, even though it appears to be used -only inside it. -Programming cleanliness suggests that -its declaration be moved inside, but here that -won't work; -device control files -in Inferno retain settings like `raw mode' only -while they remain open. -If -cctlfd -were declared inside -init, -then returning from -init -would destroy the last reference to the FD for the control file, -and the device would be closed automatically. -

-

-The reader function for this module has the same structure as the first -example, but doesn't have to worry about a noisy infrared detector: -

reader(keys: chan of int, dfd: ref FD)
-{
-	n: int;
-	b:= array[1] of byte;
-
-	for(;;) {
-		n = sys->read(dfd, b, 1);
-		if(n != 1)
-			break;
-		case int b[0] {
-		'0' =>	n = Ir->Zero;
-		'1' =>	n = Ir->One;
-		. . .
-		16r7f =>	n = Ir->Mute;
-		* =>	n = Ir->Error;
-		}
-		keys <-= n;
-	}
-	keys <-= Ir->Error;
-}
-
-The following module can be used to test the above code. -It simply prints the name of the button that was pressed. -
implement Irtest;
-
-include "sys.m";
-include "draw.m";
-FD: import Sys;
-include "ir.m";
-
-Irtest: module
-{
-	init:  fn(nil: ref Draw->Context, nil: list of string);
-};
-ir: Ir;
-sys: Sys;
-
-
init(nil: ref Draw->Context, nil: list of string)
-{
-	c: int;
-	stderr: ref FD;
-	irchan := chan of int;
-
-	sys = load Sys Sys->PATH;
-	stderr = sys->fildes(2);
-
-	# If the real IR remote application can
-	# be found, use it, otherwise use the simulator:
-	ir = load Ir Ir->PATH;
-	if(ir == nil)
-		ir = load Ir Ir->SIMPATH;
-	if(ir == nil) {
-		# %r format code means the last system error string
-		sys->fprint(stderr, "load ir: %r\n");
-		return;
-	}
-	if(ir->init(irchan) != 0) {
-		sys->fprint(stderr, "Ir.init: %r\n");
-		return;
-	}
-	names := array[] of {
-		"Zero",
-		"One",
-		. . .
-		"Mute",
-	};
-	for(;;) {
-		c = <-irchan;
-		if(c == ir->Error)
-			sys->print("Error %d\n", c);
-		else
-			sys->print("%s\n", names[c]);
-	}	
-}
-
-Finally, here is a snippet from a movie application that -uses the IR module; it demonstrates how -alt -is useful for dealing with multiple events. -This is only one of the functions of the -movie module, so not everything is defined. -It uses the -Mpeg -module, which actually -copies the MPEG data stream to the screen -asynchronously. -Its -play -function takes, as one of its arguments, -a channel; -before starting to play it writes a -string on the channel. -An empty string indicates success at -locating the movie; a non-empty -string contains an error message. -When it finishes, it writes another string. -
movie(entry: ref Dbinfo, cc: chan of int)
-{
-	i: int;
-	m: Mpeg;
-	b: ref Image;
-
-	m = load Mpeg Mpeg->PATH;
-	if (m == nil)
-		return;
-	# make a place on the screen
-	w := screen.window(screen.image.r);
-
-	mr := chan of string;
-	s := m->play(w, 1, w.r, entry.movie, mr);
-	if(s != "")
-		return;
-	# wait for the end of the movie
-	# while watching for button pushes
-	for(;;) {
-		alt {
-		<-mr =>
-			return;
-		i = <-cc =>
-			case i {
-			Ir->Select =>
-				m->ctl("stop");
-			Ir->Up or Ir->Dn =>
-				m->ctl("pause");
-			}
-		}	
-	}
-}
-
-

-

12.3 Monitors -

-

-Statically allocated storage within a module is accessible to -all the functions of that module, -and there is no explicit mechanism in Limbo for synchronizing -concurrent updates to this storage from several tasks. -However, it is straightforward to build a variety of concurrency-control -mechanisms by using channel communications. -

-

-An example is a module that implements a -Monitor -abstract data type. -Each instance of -Monitor -has a -lock -and an -unlock -operation; -calling -lock -delays if another task holds the lock; calling -unlock -releases the lock and enables any other task attempting -to execute -lock. -

implement Mon;
-
-Mon: module
-{
-	Monitor: adt {
-		create: fn(): Monitor;
-		lock: fn(m: self Monitor);
-		unlock: fn(m: self Monitor);
-		ch: chan of int;
-	};
-};
-
-
Monitor.create(): Monitor
-{
-	m := Monitor(chan of int);
-	spawn lockproc(m.ch);
-	return m;
-}
-
-
Monitor.lock(m: self Monitor)
-{
-	m.ch <- = 0;
-}
-
-
Monitor.unlock(m: self Monitor)
-{
-	<- m.ch;
-}
-
-
lockproc(ch: chan of int)
-{
-	for (;;) {
-		<- ch;	# wait for someone to lock
-		ch <- = 0; # wait for someone to unlock
-	}
-}
-
-It would be used like this: -
mp: Mon;
-Monitor: import mp;
-mp = load Mon "...";
-l := Monitor.create();
-l.lock();
-# region of code to be protected;
-# only one thread can execute here at once.
-l.unlock();
-
-The -create -method of -Monitor -allocates an instance of a -Monitor -containing an initialized channel. -It also creates a thread executed in the -lockproc -routine, which repeatedly reads from the channel, -then writes on it. -The values transmitted over the channel are of no -interest; it is the pure fact of communication that is put to use. -The -lock -routine sends a message; in the idle state, the -lockproc -thread reads it and the sender proceeds. -Meanwhile, -lockproc -tries to send a message over the same channel. -If another thread attempts to -lock, -there is no reader for the channel, and so its transmission will block. -At some point, the thread that gained the lock -calls -unlock, -which receives from the channel. -Depending on timing, this reception enables execution of either -lockproc -or one of the threads attempting to send via -lock. -

-

12.4 Buffered channels -

-

-Limbo channels are unbuffered; a sender blocks until there -is a receiver. -This example shows a way to make a buffered -channel of strings from an unbuffered channel. -It is written as a module whose -bufchan -function takes a -chan -of -string -and a size as argument, and returns a new channel; -it creates an asynchronous task that accepts input from the argument -channel and saves up to -size -strings, meanwhile trying to send them to its user. -

implement Bufchan;
-Bufchan: module {
-	bufchan: fn(c: chan of string, size: int): chan of string;
-};
-
-xfer(oldchan, newchan: chan of string, size: int)
-{
-	temp := array[size] of string;
-	fp := 0;        # first string in buffer
-	n := 0;         # number of strings in buffer
-	dummy := chan of string;
-	sendch, recvch: chan of string;
-	s: string;
-
-	for (;;) {
-		sendch = recvch = dummy;
-		if (n > 0)
-			sendch = newchan;
-		if (n < size)
-			recvch = oldchan;
-		alt {
-		s = <-recvch =>
-			temp[(fp+n)%size] = s;
-			n++;
-
-		sendch <- = temp[fp] =>
-			temp[fp++] = nil;
-			n--;
-			if (fp>=size)
-				fp -= size;
-		}
-	}
-}
-
-
bufchan(oldchan: chan of string, size: int): chan of string
-{
-	newchan := chan of string;
-	spawn xfer(oldchan, newchan, size);
-	return newchan;
-}
-
-The module is somewhat specialized, but it illustrates -useful programming techniques. -The most interesting occurs in -xfer, -which does the work. -The problem -xfer -faces is that it doesn't want to receive input when its -buffer is full, nor to try to send when it has nothing to -transmit. -The solution here is to use a dummy channel -on which nothing is ever sent or received; in the -alt -statement, -that channel substitutes for the real input channel -when the buffer is full, and for the output channel -when the buffer is empty. -

-

-The module could be used in the following way: -

Bufchan: module {
-	PATH: con "/appl/lib/bufchan.dis";
-	bufchan: fn(c: chan of string, size: int): chan of string;
-};
-bufc := load Bufchan Bufchan->PATH;
-sourcech := chan of string;
-
-# ... (here, hand off sourcech to a process that
-#      reads strings from it and copies them to ch)
-ch: chan of string = bufc->bufchan(sourcech, 10);
-s := <- ch;
-
-

-

13 Syntax summary -

-

-This section summarizes the grammar of Limbo -above the lexical level; constants and identifiers -are left undefined. -

-

-


-program: - implement identifier ; top-declaration-sequence -
-
-

-top-declaration-sequence: - top-declaration - top-declaration-sequence top-declaration -
-
-

-top-declaration: - declaration - identifier-list := expression ; - identifier-list = expression ; - ( identifier-list ) := expression ; - module-declaration - function-definition - adt-declaration -
-
-

-declaration: - identifier-list : type ; - identifier-list : type = expression ; - identifier-list : con expression ; - identifier-list : import identifier ; - identifier-list : type type ; - include string-constant ; -
-
-

-identifier-list: - identifier - identifier-list , identifier -
-
-

-expression-list: - expression - expression-list , expression -
-
-

-type: - data-type - function-type -
-
-

-data-type: - byte - int - big - real - string - tuple-type - array of data-type - list of data-type - chan of data-type - adt-type - ref adt-type - module-type - module-qualified-type - type-name -
-
-

-tuple-type: - ( data-type-list ) -
-
-

-data-type-list: - data-type - data-type-list , data-type -
-
-

-adt-type: - identifier - module-qualified-type -
-
-

-module-type: - identifier -
-
-

-module-qualified-type: - identifier -> identifier -
-
-

-type-name: - identifier -
-
-

-function-type: - fn function-arg-ret -
-
-

-function-arg-ret: - ( formal-arg-listopt ) - ( formal-arg-listopt ) : data-type -
-
-

-formal-arg-list: - formal-arg - formal-arg-list , formal-arg -
-
-

-formal-arg: - nil-or-D-list : type - nil-or-D : self refopt identifier - nil-or-D : self identifier - * -
-
-

-nil-or-D-list: - nil-or-D - nil-or-D-list , nil-or-D -
-
-

-nil-or-D: - identifier - nil -
-
-

-module-declaration: - identifier : module { mod-member-listopt } ; -
-
-

-mod-member-list: - mod-member - mod-member-list mod-member -
-
-

-mod-member: - identifier-list : function-type ; - identifier-list : data-type ; - adt-declaration ; - identifier-list : con expression ; - identifier-list : type type ; -
-
-

-adt-declaration: - identifier : adt { adt-member-listopt } ; -
-
-

-adt-member-list: - adt-member - adt-member-list adt-member -
-
-

-adt-member: - identifier-list : cyclicopt data-type ; - identifier-list : con expression ; - identifier-list : function-type ; - pick { pick-member-list } -
-
-

-pick-member-list: - pick-tag-list => - pick-member-list pick-tag-list => - pick-member-list identifier-list : cyclicopt data-type ; -
-
-

-pick-tag-list: - identifier - pick-tag-list or identifier -
-
-

-function-definition: - function-name-part function-arg-ret { statements } -
-
-

-function-name-part: - identifier - function-name-part . identifier -
-
-

-statements: - (empty) - statements declaration - statements statement -
-
-

-statement: - expression ; - ; - { statements } - if ( expression ) statement - if ( expression ) statement else statement - labelopt while ( expressionopt ) statement - labelopt do statement while ( expressionopt ) ; - labelopt for ( expressionopt ; expressionopt ; expressionopt ) statement - labelopt case expression { qual-statement-sequence } - labelopt alt { qual-statement-sequence } - labelopt pick identifier := expression { pqual-statement-sequence } - break identifieropt ; - continue identifieropt ; - return expressionopt ; - spawn term ( expression-listopt ) ; - exit ; -
-
-

-label: - identifier : -
-
-

-qual-statement-sequence: - qual-list => - qual-statement-sequence qual-list => - qual-statement-sequence statement - qual-statement-sequence declaration -
-
-

-qual-list: - qualifier - qual-list or qualifier -
-
-

-qualifier: - expression - expression to expression - * -
-
-

-pqual-statement-sequence: - pqual-list => - pqual-statement-sequence pqual-list => - pqual-statement-sequence statement - pqual-statement-sequence declaration -
-
-

-pqual-list: - pqualifier - pqual-list or pqualifier -
-
-

-pqualifier: - identifier - * -
-
-

-expression: - binary-expression - lvalue-expression assignment-operator expression - ( lvalue-expression-list ) = expression - send-expression - declare-expression - load-expression -
-
-

-binary-expression: - monadic-expression - binary-expression binary-operator binary-expression -
-
-

-binary-operator: one of - * / % + - << >> < > <= >= == != & ^ | :: && || -
-
-

-assignment-operator: one of - = &= |= ^= <<= >>= += -= *= /= %= -
-
-

-lvalue-expression: - identifier - nil - term [ expression ] - term [ expression : ] - term . identifier - ( lvalue-expression-list ) - * monadic-expression -
-
-

-lvalue-expression-list: - lvalue - lvalue-expression-list , lvalue -
-
-

-expression: - term - monadic-operator monadic-expression - array [ expression ] of data-type - array [ expressionopt ] of { init-list } - list of { expression-list } - chan of data-type - data-type monadic-expression -
-
-

-term: - identifier - constant - real-constant - string-constant - nil - ( expression-list ) - term . identifier - term -> term - term ( expression-listopt ) - term [ expression ] - term [ expression : expression ] - term [ expression : ] - term ++ - term -- -
-
-

-monadic-operator: one of - + - ! ~ ref * ++ -- <- hd tl len tagof -
-
-

-init-list: - element - init-list , element -
-
-

-element: - expression - expression => expression - * => expression -
-
-

-send-expression: - lvalue-expression <- = expression -
-
-

-declare-expression: - lvalue-expression := expression -
-
-

-load-expression: - load identifier expression -
-
-

-

-Portions copyright © 1995-1999 Lucent Technologies Inc. All rights reserved.
-Portions copyright © 2000 Vita Nuova Holdings Limited. All rights reserved. - - \ No newline at end of file