From ce4726310e0e0586d352338c1e5786758ffe05fd Mon Sep 17 00:00:00 2001 From: Christiaan Baaij Date: Tue, 25 Aug 2009 15:12:00 +0200 Subject: [PATCH] Add slide with complete signature, including context, of registerBank --- PolyAlu.lhs | 14 +++++++------- clash-haskell09.pdf | Bin 541592 -> 545705 bytes introduction.lhs | 6 +++--- summery.lhs | 16 +++++++++++++++- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/PolyAlu.lhs b/PolyAlu.lhs index 63f6d89..55b000d 100644 --- a/PolyAlu.lhs +++ b/PolyAlu.lhs @@ -56,13 +56,13 @@ type Word = SizedInt D12 { We make a primitive operation: \begin{code} -primOp :: {-"{\color<2>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a +primOp :: {-"{\color<3>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a primOp f a b = a `f` a \end{code}\pause We make a vector operation: \begin{code} -vectOp :: {-"{\color<2>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a -vectOp f a b = {-"{\color<2>[rgb]{1,0,0}"-}foldl{-"}"-} f a b +vectOp :: {-"{\color<3>[rgb]{1,0,0}"-}(a -> a -> a){-"}"-} -> Op s a +vectOp f a b = {-"{\color<3>[rgb]{1,0,0}"-}foldl{-"}"-} f a b \end{code} } \subsection{Polymorphic, Higher-Order ALU} @@ -85,15 +85,15 @@ Make a simple register bank: \begin{code} registerBank :: CXT((NaturalT s ,PositiveT (s :+: D1),((s :+: D1) :>: s) ~ True )) => - (RegState s a) -> a -> {-"{\color<2>[rgb]{1,0,0}"-}RangedWord s{-"}"-} -> - {-"{\color<2>[rgb]{1,0,0}"-}RangedWord s{-"}"-} -> Bit -> ((RegState s a), a ) + (RegState s a) -> a -> RangedWord s -> + RangedWord s -> Bit -> ((RegState s a), a ) registerBank (State mem) data_in rdaddr wraddr wrenable = ((State mem'), data_out) where data_out = mem!rdaddr - mem' {-"{\color<3>[rgb]{1,0,0}"-}| wrenable == Low{-"}"-} = mem - {-"{\color<3>[rgb]{1,0,0}"-}| otherwise{-"}"-} = replace mem wraddr data_in + mem' {-"{\color<2>[rgb]{1,0,0}"-}| wrenable == Low{-"}"-} = mem + {-"{\color<2>[rgb]{1,0,0}"-}| otherwise{-"}"-} = replace mem wraddr data_in \end{code} } \subsection{Simple CPU: ALU \& Register Bank} diff --git a/clash-haskell09.pdf b/clash-haskell09.pdf index 5efe7eddb82001e046f4e41921b466a3797f4836..051f90d59c9d7c21e6ab83370c912569332b3e5f 100644 GIT binary patch delta 56043 zcmY(KRajh2xMs1&-JRf00>RzgU4j$b-5Y`hcN%vK8nkf;?(XjH8YD2}&z$GXT$NbSVX$e&osuZeR8phsqc=}U z9t@#YI-UP}70d&MVMT*t=K(7qK5%(Ws|5dB z9yS7lj}FNJswst`2Mw*jkOJ!^*!?IpUVQrRJGS{hutTA$uj#LRe&xUM;@_dm3r?Uq z|7b$Vu|cY79j1bg2i0rr2HIWDzg>oRrGu<&%89(OZo%4ooB9)Dve{{n(Ar8N!+5=8 zi;435_8lC@d$k6;ag^VJrBO{0`gw_#qzxmMg5m1TbpV_U2}uFRAOMt1phoB5W+p+0 zQAtF^%z_;&{%-B;NL1I_U8sABlD0-c&`&2iiWn;y} zRq0rRXN~Pa+1vT_=w4vnw@_}l(0NQeS30jCGh!+KU#rVky(G@IKFD;RelF&H{U*!{ z$XuGAk&^sYdAerch*5?tL!r=zg1t;@jwY|NKxqSDraM!O6+p| z(;?%*Y92qiOk;||8^!C@{%Ly;1#dX-?Cko_ai_KC*yrE93x!4Go(XFyJL^G8UCS<> zm#=r4tvKa3!+*L-))tQ1_0nV4gj7CRcQkB{15EMh(+epnGsSmux;#1`P>iBCsmw+X z>a3k}O{-GyXEsiOZF=Cj^sI2Sf}O{qxd*4QFrcfiv-jhkx8N(gk6L?rWhx&;PL*Dp zi$%+qC)o?@xL*(lDA~g`D7o@FS6@c?_S)Q+uPdXL2q%^VCM9^uBW4S@MEh?jb_?>a z%)m|(gF9X8%6w?K>6`Rpg-mu5#ABBCAy&-8SbpA}n% z(l?t#Uzt*z<0=eZI71cU(Y1|4<$E)a9um+Ag@vt#+>W{+wBB}=M`3kJRAibrCHS8b zp*y1Pt*MfM;RpiszUr2>CfzU>)-d29C0mI!Eb zcB1D`Emk2i52viwyZ6>Cx@;|@;yQ~pi+g!neZRDaiu{1;;DD7k4 zHku{06A2W$eGT{diqEs1z_h}$cxUO2z4=yGl2sG{9Frv_jqGI}A+wlK^?4zy(JU5u zsrq)|{Mp+GSRfhP;L%Nk(`Ky1gt+D4y$jw8EQ})le#`nrk6DL2Yg^HpKs!%jb2mv{ zIV5`g9JJ6n=KDZPKaj#l_n~249opzLSvd+BZ=Gl)b6@0l9H-E2GG5U>blp|SCBLT? zv6`+6QH9AIOx5mT3tK*g!Z)@eX7zpE!NJUmhHmc@U~`Fl&YV?{j(RS~K6@q6`4D5L zQf6ajTf;uVwx~>Iq9ht7-iPTO1)4qdM}d9V11yi=#e3}UDqXddNZ+VDL@DY}W=c>% zvQk8GuZQX{$)zZkH0b*>2fKoSg-ykqr^Zm^DezQzvyf2jx$T2Hp?k3>QX7}D=B%5c z2q@ZFKn_WG-YrxW>0XZRy6>`dJ`9L*v#{)H+{_IQr_xIL$#k3QlbFm1xhFa0x9FxR z>^gep74s0K7G#{E?d@WDwkHN88=0>jI3IsPb9GEc5HTATfhAUbj<9}S!=wGKo?1S$ z%2KjNtvc#Z*cd2!TJ7cSKHP1Rj z&SBkCyhgDIu8ZTx4@Xvw6HSt%mlq1jNDX{?F0)(Hr|-aUtl8>PIu#R#PsvB4VxN(1 z0>VHpwTvh4j6bz-uuw%&5Ey^*bE2a$#A*5%OhnEXwp_&9dyE;Ccc>bT6o!D;6j(cy zm(l0@XJO)IBxCN3g7@;2*iOm@X}H3PHI3?s%b`{tukq(M9}r@aq>N$$nf*m4zd=O` z_~wq~0@ANiK+~z5anT`EB~e{`RUR1-nRIYHT9}LoCdOl&p9C zN10FAUVpjlX)F1M9+fn&h|aGcK4ND5D935j=hpze<~83d4+Ad67bRCn0_gTAQ9CNANd}i=kjef^e2GUoItCr;t{G}V3!}D zF(qj82c6K6c>O(FbZqg0R{J<7+(Y09Zc_?!;1TUYd~y5)Hw`e6lDyjlz4Q|c=-0W7 zKbb*1k+3BXKG`?7h&$@&e52U^5(8{*B6z^d(h-vWycbmC5N9=tfWs}KYlri>?eUkN zBB|OyIYs@F4-;nUC1*U0i$kU9C2&g(QMbjxZ^RGll zzZm8()F;ux7RmDg0tzJwkXs(*`uej`y#k7`MV!<_Nfh*-{F!wDSpij#rbLuP5H zN&9ZrsTb=5Z9fJiUU_nq@f|KWy^>l!P!F>Vre4`@_x!HXm9N!OQlSv~c&}H`IPDXy zqFbR;v66pJ6fMKE?W(R7FrlJ9T>qm(dsT>q6WHbavt|sY)ZykM0>)FQ2f24BC~|_Z zDy}3-CdI~7$=E9zz9@;kr&x`l3l*PaSSGu+d?ASAYEgz=7;rhA>Dp5hk?VE#Pw zB%H4-$b4p<)M5W_ryrj0iAtZ)X!H%CYRR1x&g%DbYrN-Og_#S@QtOnTu2xEuR%kpW z%TVoE)LK-r6!-qyQuRAGJI$$uI@GbiOr4nua%Tq)FqJ@gw5xW+j`F#~>}W!a`E>+& z2G1T+9qjJ6+mMSCxCA!m57Q%#b`54Bt`U4cz8Zz#1}3Vh{=(+uZO+&@)daP64xwjU z7zNDgs#QWv7$EcwI&QVsj9QTfqgmbfZFs8a3VtFILYxQ!^|KanfPXP)Ds0Ne*fXHx zSYam7+ZhAd7DOcX&FpaI^>(sZ{WMFW$MaQnPcn<$dIY@o9>Ql*62bHQBAG1VE|@*! z+usoV*3H;Z<2Ow09R;1FzS}7U;scoYYClLj(^9dmeDYg%{NdUga4R*iT|K)@HwFWh z?W%Z=B^_adI4&rXI|h@Wd<+q2Fln&s)N?&@SKt8jq^`qv>(sEwU(N`o;LBYTBib7Y-aXH|`ntzmuU z0*|h*PPZeE*;|#S#bV~OUB#e0X#fw}*OTTr2nn{bU$;wn+Wg+2BWVCJkfZg>>&?mD z+?k0$Bq~3TMC;V@w`=P!@)R;pV;M{{8hYBl+T}uI3b1L1&`w$>&@3V!pPZXVe1r{c zVl`HeWzRh5UD>{$W$r;5oslKE?*+-P``kM|#xV&AE4*!{9*IBf3hw789YH*);j_XR z+;F1{m^!All<3;GmG%1L169qqt+lDIRt~}hf%-(u^2i;SVNTAIpE2|39Ub9h2Mz!& zC07*QHXdC_r}@hLF&-0`YYpi7fQNYvnpbZ6!N(wW+4`2M{<>@d&86LrA=<7@C`)SF zfuWZamYEz}YpCi(f-12?y<9 znRO!PjKB2rAYxOdg&1-|gCPM6tdBR=iJY5kShjWtA$yNZ<-&vrN_0dBk~waL17sCU zbJ|#T;rpIxkV7GI11Z$PnYeEH=CEok_v&i!`|3xGN&4b=CQ0uvMBHaK@7Sb$_Juf~ z;N9{xqOX#1jJHL1H=Oi0OQdd^0-8wZq+?gBjS6=J9y zR01qLIvoV#qjmoQ%%0#KUygNax_aTQ~JyQ3$V3s`q9O-=r?c2;40NF!@9(h ziM@C6Gqjk|^m)zFW}E?1y=wmQs3BOZQ4#B2rZrAPT>lA&8-AH4c(ZUVtSX5t{zO<+ znNks_=tSFqTro-E=q$@n+AV1T9x4B0-th*iFdh-Wj?=X%BQQGu|HKb<l$}*oYT)pxh-EZF%)x5SS@p{ zCThK+bKCKFAvwlCAINTIvU{U9<%*JVr6q~&KEx4yQCh?>SyB5S3Aqx(1d*_c5I)L@ zoWuErfy7SusX%Q@%h@i~9K!e=V5Ct000w0=2=NXu_yB`Rk-q?2cn6p#khb72z+m;V z{u93#k^dDxc)2Q+8RV_{*^U~@=oSW*0QIhS@e4Rv(P)Wel}oQ+{;X*ORb_F(724h* z@>l%A9SVgsuApcgcaSQZrmiKt^?KVuf~=aPTaa%Yx~01&-suX?R^c{n521GK2I2$7u0bv>{}|bo{d#mH{;BmCioF|_5gC?NIuS= z$OM)P`L{0`o@#<0$}`S(XHI(#!ApVL%>Uzj+YA4kZ&W2t)b+3P-IS(!Jsp&puBp*i zVOZ8oby41vQNYMe!C^|KTTy>8fn09sNWK|=ZQ=O%*ZG!=9$&PXviXhlwj>9K^W1-+ z)|A1R(zU4XFaG|W_$GKapu?LJUDYIZ5{@@qNo0fte$?JT^|@s0=BqM_ zXRGh=Tcz?iePlTo&!w(z^~$WjBZ!BGM9iq56onlJl459)ZpC*rZhw)QnhreohgL~r z1J9>!lGuRR*uY)iXgLC%R_YPxUR^_?aGJR}UI#oh4bmnXHpp97$VrSCl~X)PG9d)_ z@G&%|BEi)b=@w(@V>YNx^8@K8Xjb{3`dg?{1~INFx_TbF{>0pXbX{R+dt?A)+gO3&`i#lrGQwN*xneA6uEv~MKri{9HC0V z%}9#u%g;3Rutq6|S%d0SCmDOkP>?oX>5-gHorwo}1`!Ugp8|8TK6~aM*MfNRplGG% zDxt!`(w=ie2e+^q#w*0gk-hSsL~=^6WHOUdnj~ToZ6%`V2wo@=zC7kV7)cy^&S}e>P^zu69N%{_=0p9*3~z@!+q((f!1MzPG={ zKPVD8FEqD|hbC;)`?+W79ccGT_Gez@_I6>s@Vq&_$@s`ZA@lgY6U%|zy}OQPW6b<^ zP_h#Kq>3u1&?8--?t}Q-%;%g?9~gN2@4sih5CAG*7@Gk=Kz6dMXN=}IDz!z+>z}&k zTsMD&EJ^gvh9Hz>jSB*v6cLA%UA8hgM;XpTZk(=mCOuVjvI$VCr=2c@^=Oi}`-z5* zAzKm(zMhGr5Tcu@60oH)qCxUlR^&e_`WTI(&smk%RU~urmN*%>gekU|ZYFIVMopCj zy5vKRf78?fZnoWut$rYs8YTMxB8gojcUsAl3e7HNCWL}-!V!*VM$4HdE<_Ym{@o+D zrDbK8Oan0_@Dn!%QhW%<+r|I_9V>vYkRLJ^%d?liO6O^b{Q3Gbf`k&6Je_KJLZ7$@ z<0(BnMl*$X$}e~;7JzY4gGTy?OwD<)f3M~S)onc^@E0ck70d!S;})Mg5;6J*g=UGE zE^VhB`}1Bl=GTRL?`QXiYL2!-9M>H=>SoPLhE|lT^}xu8B1-Sc#|F(6%JP}Bkvc_T~g~Nf%^eheq4`$|Cce zrLgTMp#4pKHraV&xf8tz&dp^)AKANGZItnJHn*>^^pjb1#`3@9LG7;4P@W|m>5 zb?0+)qSy(u1wWP>8d|M{akG7T=7>fw{=DxCOh%*cw~5~J#aZJe{3!@UrsVNZPogG$ z*>`Q_BQ{`_yGXVl=9!wvSSH3hLVsa>Enk>S)=!PE=UccpkL%Dg(h%h21$?O0C96%# zfB7@~=M7hPw~<`)Nb-=SWWe$4EAy49Vi>Ad*;I|6C-3g9@~sE!^8CFp)Rvthbtqvo zaLOxZMk@R)Qu9$#%nmCajKn4_J5?pAL%Vgb(#L{iRUst*Cf$L!I8Lr|`g2u{0Benk z-c&|&n89DYrSLRQL>w8Q!+1|~!Akvz$NG7-9@B#4SDa&!I_FggRMYk(+@7EkB+6>< zEKW#mD^xP#;`iN0MQ|~9RNf%D^&$TcV5X2{eP{I6R(W2eWzPx{Osb-G2^u*?bcoBe z9!U(B)EFBB)_8EhyE(M;vg%5#tW-^MGsPnqroee;c2A0V@&-SH9% z#F|OE&oj!8IK@P0)08%28|K{77lTLql_!4jK`mSy@#TxtyhkrK-f{yMtXm%s@NkIT z!@2{g#6DL>H*;bg)v>tdpn4%tv{r-NXVQ)e-I5xeRg$5rAh|R#Awtm*8xhx~1rZvH0sbF2$kmUBpgcnW zHW=wEAPNbgf2|)KOrJ)R2g-2-SOG5;?L?WjlqpFI3QHlkjqnxSysE=B%HBVSwJZ~#(` zsaSB+RVz{E{>C(E@GPjdsQNb7@&^qOZbm|pUOT~v6FoQS9LJ`Mx)z&$nUb^?_<3$0 ziwTaXRX*T}T&M_rE7#ye1i8F{|FL3AmKWyAteNv3KZWbNvTQs7S37Q*S;CpS<_b@} z^9O-Xb=mJ-gZGd7k387mNhd%)9OQqM#D7sGJiyZy(kcQ}<^>?-Sx&#w4&&*KoBa~e zS2i$EW{pIXx|x19UlX4WY|Hu16^p6&+2n#2&B{P$sGUuocSuIJQLm0SiQAuZ9>h{M`DFoF-zfigiW8?O;h)L zH@9Q{_&XLew35si!m9FX0fb+5u*vlQen4OK{3Wm;8zEWI!LLLod8;wIpAmD=O$mwR z%i)CVP-e1vsiSVW--$VZn#LV7r1+o3-PVtpY>J}Cz0$c><*HxE9haStDmkPATyPv? zqDTQOrJs7E6P%1*A)2SIg0o=2?Z^p30amok5ESPyG;O0;lNun&9<4j_n`0H+L>ol@w9v zGwq1sbXKQ;-!#Ye_U^{qIsP>Lw!0qL?us1GzG2NE{CMz3p4+vBiWHeVDoHi)SbWeU z=u@EyK4Dck=uV3|A;_)fxQh~(k^+WtCooP5HCl(fEWkGLw9Mb(wQ&aVql{-R!JN_W z7itiX@B81khtdkYs3=`kb|Z*eQLb;tzga1ahfj=TS|_H>W;1P&@nbQyj+Sq)^Ff5i z)z-?d`nFCVoyyoHc}ifX(_3dShUrRxMlnVU!Hj7$LRrdhfBCTRzp!ivF2^2;+&<91 z!%`V`Yb{llz-CwSU@cXUs&PUWhY+Pf;e!L78BkSvszY+gZ0q1;&K`SO9k}=!Kij2Q zv0SNRA7CL>bDl}m9lisZtZ+@NIxnL6gQ3vuZbw~GUR7XKcuBjZp&W=m0K3rxJ z>@7#NksedE0;Pp0SM%I$wGz=rlH02#$cYxTVn!e?eZO_+|LyfNa+zth)kLVs%TNF(ueZW_#m>uqt`5!D?iKv-n>Vy?{>Jr) zI|~KhCLb&!W_y-9&I+}3u!v=MC%(pJ;-YT67|3J)8HVVcrRkMLE?TE&2+}2QvS_fm z4$Z^2%NKj(6i<_-QrRqt*v_LYZvNEKZUmfGS1-(#cL9K6$s7}-ScYG?GlrE<&pDeP zARm3p#A{mGqoIqn<^8()s%R2VOAhGbSK#KPHV#G3R1`SrIFqHo@Sjr(8ihz^8@f%E z-{Dd^q4n_276(sMc6S1ZJAHpy@@|o(IW<}_HH@}QuEb2 z-O>b^juoA=|J#~+H(qV-;w%7xCc>8>j1B-6_?!RxmobQ<9F89JX$Teu%pVFcfWfxT z^h**rAsy9S`Ox$fzWotF?dtL0`tAroB{Gf;UzjFpA)NVqT{M8UbL|DGPw<2KzXc!= zzyTSjei9}r3YbT70Yw%~2zCwtu z7+h`%`NDbHcDM?7WgMCz+9{P7MumnOV$KGHv8RKo0W5^tpNX%p1yLv3se0fkqZn#+ zf+cM`fS*mI9-M1GWVR8k4LDiBxT#_p1NOS(6hx||60uSrJ0FVLyLSxv5(Lra#8G5~ zY_^pjo`ryz%&}x!I*Aw794)j3n!&CX6f{R!G-y=tTMo{fGs+*i(eQu%o>3?0lNqlp zOkq5isY)&BmSx#OB*m{wHO~5dhk2Y z*?Sar@Z5{>9%!IerMGU2FFY5Pjj1~MU_HtGA#oVk^|g#2ZSbm}G0J0Ez~ZS?Q8&x0 zvVMvud?%fEtI!8IlTDr5^cJhD8IgOWfe>a~Zet)?>Y(d|)H&!61|Ot7-xdIav_}&k zqW8yF;$%B~!6JGPLvO$}tzwAbU!Q~!_gvL|#TO?3fw`Xk2ZAsK0$YAq0D_l>lr`2m z!5;)u0iXuT?D-K%*`Bpf@mD~lpohbK`RH*Z=%`6&EU!_+OE&3!Z(lTY!ofLQboaXHS;D(`NGOXf#22Dew6tVug}D_=bkBNTpI?g`Kg1k%$b2lMxX_jAf#U?FS|Pi zZ6tKLGkv*#w9nkpNZN>f%Y5~9hos`&Z_2|YNJPRKlXO|B*>xf`kVr3liHThlpX^Ea zU9B>0PHnJkR>yA2#n7iRCLypBMqWgmgjbCFquxk`mx7cps*<{cKs{eYh>*Hd>StBs zNkESg>^aZOjk8u~%A)NHB&@kuoC!374=CoVhB2iVeW~NCHHqQPHdSu+N3aO|(t+q% zB$}<$m0A4^boYJq-g-V&ntpLxOV&lgg!x5eU+pSx#%w1F<0Vhu^&LKZ#zEZ*D6A47 z1GDGehyt3e1keCeRLj0po!gf!zmlUnlaOXS3P<==BA=v^+}H}H!gKo(KE4nho1=i< zux~uT#-=mKzPM8PUe{?-53lTJ1{ZN1DP+#A$ z;Q)CTV*I2&E~E~0A30_9v*1x$nk4`hll!+T$9^1&D1>4)oW)C>=)>I!71iZ4fp!GZG( zBQqx^Oumge)zb@lt5*F9U;D-s4kwpfPx+_I38QLn!al?=vx>CZF1zt&X+5iO(Qyu3 zoHs}m(4=Z&iRv@@A|A^YBi(&<0yAp@$(?g+WFQ7Fru9DUKL=iv9Rdtc1PQp0>8*iL z{F&y8=w1aFiZWGUV%6_Ph~FwyzH|CF=?l?`<;2K*slEQ#7Gy{Gk1i(F0Dai^!HmCM z1^BoDunmJ_bxN$ulS`VqG}?$u{HOl`EpW5U=M6n*cDFn_P@C!L8+xP_ls^W$lrF_0FevU*%E4Y zXn93qzGlII3fL*8nq;QqKCgo_mWQ;0IW#qzLEAyz{0)JIyLQd4DI5%JqwB5np>F+} z&`w9X-Ne?FHI2;Vh!A>~VyiJK34a5;Sh)XI(&KhIKr=>D%9s72 z2Y-G3pZOfdYqa#Vds*f=I-l|y+ND-RVkhgFG*z&?Zr&m}i&N0T>5B`TVzcS?q@!d1 z;pg5T>D-JQsF(-I7dJGN-06P{=VwX}VV9LaIN0n^W_${1XGSWGM&l=Cmmi;Yh4;|< zx2x}$c@-AOO1KAY&+0><~|(}o~Wfm6|E zu{d$IHl(T>PRb%Z|^S7~R# zdS$(~%%2{hFemAs^7s<{`O(Gb{SDhNZ<}zh&XFknL9yjfnJ^W7`UJwB~xr*V|1h8xtBKyH3lK#;^5!&%4De2l`~ah|8Ka}lVN6UvY+|sb^upS zXC6o;>3JhOW}cG%QrVT`Na|Y<*0;~A+Ap=6gmmR&f5rrw!RFEv(1?yHHnanHUEs~H zZ4&kIb$JTSZM$7bT<9kSD~OgOMnRv>b>d&iHm}4TfImy_H-bWUFWgqSZXb^AC`lC> z!0Z+XDXy;hs@>-7V^bxlH`a$#T=J7lIfyGO_DUTE4a z9`5W#2D~kHsPnk^y z%UpHJ%D~(Wi zoX2RZoX&Eya9dKfCy-AS(nTGAh+34q&$ZKl1RS{|wfU_g7Crzvz>?T#O_nBHIZ3CS zomH5mj-~B|8)m|KH%;@cl*uiHQH%;=PEjs_P&uKG0T3^}Bb^2l9Y@a%JWty}VK}`= zf-?%O7}w3wa9;kM8R9Qd`ExoO6D}RGyrD&yc(#|I>VsTnqWvHd+NR?kTIxt6+&N5@ z9b@K)ZeuV8A;R|TrfiXE{)E^3E^lvCqzuF-=8gQW6?6kGGKO^H$7bo0OKXX5KRN@$tn7&EmL`<^3bszy);RKXH8YKeeAL%5iK~L zIAfHL#V}E&By@eLP>-J6rDOfa5YcrP2+Gw&s%H$r5ie~$(Y28RC>t@a4PA`B&^U&H zg^0funmDR_M(iA!m|4&=J8>I$L`bCU;ogyi?LQ!Yqd`0IACf$pnpBDv=|%P#h4#7} zF`WRPzWChuTvz$>VHAH+WT1C#*7rS~#eFp%Zg=42wdhJuLMmksrpWl;au^ zLfV_UnLhTnGVk^;vk$BaTPYWH?3*3znI)IQ)~bPt{sOtL!w=2U^+ksq(RX6FsKq3C zEZ4?U`Qb;^nOHI*+e0SF5~9tjcz$#_gFf65hWmD*k%YisW7rR7c$gB$#>h88%KdJU zg8KE3KkTZI_R~K+TqFxZ(^K9u*cslCyrL;?ElN~Y z&$xp+Bu{vFr%JdBloT2Qvjsojq$Jx0**C1LIzS_GZZi@mJ za1Dv>pacR9U3}z9(#~XRFg^WQ4Gf4>dx47F+%v~#HLo7?=zrQ#!cw>T@+yOUYMo(0 z+}+!_)gB3H!NtvCb3JWC`iwU)W79YdS*-lCyui^OmtB;B*6|m~uu@2r;-Tr(KaOvg zkdIU(cGig>5^}8Xnqvr*i)}MRgCjTvw1kP=SYm+HZLfJ1+dK9YU%VFWOwVxEb!ZZj zN5=ZON}UC3s#c4}jeOqv^m?za#RCK;ulRYRT8wLW3_Pl-5g(8RDCUN?sQ)9CL&|f> z-o1cij4d$*h2j}&hZTR0lspqecJHYjW#FanM_07wBqWZQsqppDZX2q?3tEfk1- z5k}@kS)6Zf-9!W$-yio|$-U-2k?AOacn9$Zz4M~uS$LV30d4P*(|oul`!};?Zsimj zRn-{Iik}-qXoJWaS#IwGtS!GX_xu>4;Yi#=J}Wvqj-O+Ub9Q^xnyWXJ?kIB&@1j3K z?@2DyxkoLc66-kj0vj#h0;Rnr25on)2^eKEcA=-q$mBX<8=#q?x&^MY-2rCIC{h>q z@Q0BB74`n2UAdmL*M&HHJ7H5?9ct=Po;^vB74%UU-wYm0sLWDew{&PRmr3Nh|89Ue zPI#Y1=2fo{PN^8eG?WP6+>tr0AECo}`X#Z(8!I>arM@1x9fpJWHOI%t*W*cu+F%E@ z?W$pFn$R29A*=}vo9!nmJQ{yzOv8q;zT!FR`rsdWAlc`!g?9e8HD71v2(zdKcHI#Z z|76l;70>VAAwm{23?nwmJk;*zOmuDB=k~VSDQ@T|eBBIi7u0e!%U3#6%FVnxJ03k% z+&ld4_WN#u504YHB{cW3?qe`y!82V9RnGGK$f;Av zwvZmh7FC-13K0k9L1hsHg&{8lt(6DNVJgf7Qjx;~Tegz4z}QN^0>4ksSBP;hmS&oqfE@H2>dLII23DVQ)`WO(o>8b4s-q+J;8#k+5uCN zN!gb_v~A=Po@ZyktCLS$^2Sx#WszoNZ~W)D5d*gqBh4OIiCw9J#%I()5+(3~I$~`4>vNt(kcM=#owjcUB^_D> z56^`>|A~N+JgI5H z4Ok79mM5@4x`=Y?AsiG= z1$6^(o?3>)-zTWl>>UNH{!LH;0k(X#=>JBje)=vuhL<3c#l2cG{b88JWk-U4D0I2j z7FPYD=6D|*Ac!O_`hync_FD`^EK!P36`5ZTpH5!@m%L@y@hCp|VX%*^C`A=U_E)OB zQ*BJmQfA8(M}r!NKhgzave=FcX5rZ|gLivL=cc0xG&bc?b7>H6_rRI{pJa`6N&4q^ zS7%3WNuJ?+m;E4Jr-HpY&;KS6AQ@vXyKZcBS}ErrckeeP&ts2#M%fMBuU|YOhfbk} z@T;vpg)VM$3OX}iqGLcp)qtCf9U{5Zoco-08EX5+uCwBvOw*gU89tsD3o|#KOk~)x zuU(uAemTf;F#K~5G

K3EDtT{A7*Lv)ap;UodYH0!=4E1(g`3`DCKWk(qxcP9_V zEEkFA$MYuceKaa6WF&QD#Z{kqKaegtqVES%YtaxzRO|17w5lQBzT?!lPZ3+x&F7tx zv9*dDwzXp${FH0b@>$ql$;t5#y^vYc`IrnKYTGh>oC=7*I*BsS=AG+_j4GbQ(5R+! zO4Tody+YEbS9Z8wtxfu2eQCw)l0n5!Ub5#SEOK-_Yg{~c#6u7y9Y3Nh1lnnxg)=A=@Eq|fLD?E4|5+1vJin^9D4b@(R69+VQ?sEeRgXSF_!R9%9C&LmhlNu=~7PIzI^I4Ifgb!wEn!b&Mz6s zub5U#q!3o&OQKb%l2fp=yvRyi4Jjfc^ZC^Ct6Cb>KvCwL!M)$R&p&G0ao$Q@l)S>u zzm!1!0y+HwY=EL(0rQ}$HGp>mH0%R3$m9WVfhe2U2MhZ*j>G{OVZdU89DW0&Am>5g z-vD|bi^e77Ep1GQVP%7wE+qUzQ-d$wzi3bZ;t5gsSD`PI@IbHPzKTMb5Z`FWi+o7F zR0u1ep{y34-ZIS(QIxz?)EoD`t&Ra0|J_1_yR!1)<-5lZnQl{!uJ^J!;N*@*AUG38 z7GLeN<^`m#lE1$7^$jA?*NuDgM|tMd&T;Ej zQ?~|Zup`og{)+(37@k13P&;u}W?+=c`zNyqOSR}Aju?78ByzI{4=ve1=Y%~?cg%o$6g~ARN3~91jV^3rJ1J0S&2FR5xw(r4oyRjyla$`{%Ph6N zLehc<)~TI;TlU2MO;`PR6xqU`=WF|Wf~ZWnPvL*ZG;1hSj7?oKG>2T4O74v#&oLnz z0$21bx4u$PNRA!)6OOWpaThLlE;qy*H;gyO%Z*v(U#=J@I& z)^pTw82%@XYp|44Yi3&hZtHeG>FiqclGc%}t#V^y`}Hoh579qjK{#7i!;$7PS9LS{ z!L>o6OwhogmT6ZQe!Q)#$;}JM_dHFRCLQ26Jwn?GgE*>f;utr-oog#qBG+&yf`dlM zffYuL<}hsRdI7vavR=9d`TAKYQjTP;P%xN6Jf}pJ#YS3+To;ItP8im`mrvxRqM>ka z=j8qe)9WUDVLG`VtElRtInF$iywf6AE%NwzXZEqwe17(dA13;7!;w1jpTtBobSvwZ z{@NEVRF*IiDaH-Idi$YhzkwyzZM9HtqW>9L$qd-CZgs;_Z)5#M9aI&0GqXO@&D1RH+bVJmACpnkC6x^RNqckj9SR+0OwbpN|D z7vh76{>W`!2i*mD@A@-89N`Hf#G{`ZPSj)G&X0(|ox5Fw0cf{ew7{LbG`?>;(W0qT z&EtFqBeR4QQ%)?3gdf8Mi>IN!GP#0&(Zgbc zDOq8g;Zp1XaG+)hSPbBhNc=*rk$~+PqT;JxSghai6tAWYUa7Iu(3Ye7{*EJe-FpmD zO108_5quuz0ex@F5XS>~ZGVZrAF@A-DABZq-9)pJxr*Fx;W_p;dr{;Z1{{+o7SzC; zqk4@(RXe+4tikQ>0w>>$X$HZuS!zrBP%l$uYV5{)(!7uf)xgiqIzhxjA_=`;Re~i3 zCdMRs1tJC{B`iQW+5)hG8HX!0((z^90}m$uL&k}OeYn!sc%5S=I zrXNwI!qCC;($NfRM_rU~4Vv5=#}7$I1-$lV=E;+~``n|9?*otSWZXaK!Mf#GT|+RL zkkn{U2f-&hup&IS?_Cqz5hPzshaC^_9Mgl_u1PW=fDjgc3AKk72SDDAg8%xv`BF}m zC=WxJ9W5%*5286Yfv-RbqLeZq6Tt~ac;t8Xfr`ZT#BKYffn`oWhHzhxR?CPM)h>igAPmcJiQ5b11#O$ z_8-}JE}}NNl@_gPhxPY+KNF6C?BDW;WmNof4$=M&zhHlL=lg8Fa_D9VRPJPC;4L^- zgGPB_DS%dNO`eRt!Nsd^?L!K8^AT3g3a|JbA0-J$AGRh6CK3&u0uPxc1t%r?m7>af zXE2UG^?#4B()}Xo)N1ndHSO&X57|HM_RRhVkD!qR%1D!s%e~5Q054#4h56DF;?o?O z-e_3mYm2pxhXyzHVUeKRuP`NpRG0K;6qrblDkC7xcj5IXXZfA+ms*bT0G;6BNRjI~ zRw=p=w`sQe}Z^#1?8)2k7sBK%rLw#-!n;o~|`cR39&gzE?TW_v^&&BATA?rF-`cnHPb zjgK2Ixb%m!bt?-9Olq_Ecllj3I21oO=J%NULn!)=qtPn9X2 z-E`i{ZsA7aqj?A1gX|>NBl2S>wWpUa@bUdTmJ7?cpx7_O@DBH5n zCBKD~BOq9F6X=A62`Ip>pGZw$JU<%vnNO><7-shl5%#t4S^=Y#(-Hk7OBn-8auxaQ zN~^D**$j>6kEa$TA$rlSh6r5zdRi&GLraDdLy=-?mc4t5rVl=~VSZ;oP!2;;;t!|B zN4?Ikt#vR3wOW{_SIi0dNZivxvf*?5#f;SXQ@}e zA|DD&k;IfM#6{JqeG^0*si4}EHW}g-r$!BwEGT)-n?fQm4px!S1R0};n%^=6&Hfd~yDtYMti& zrVfiW<-clO_+PUw$ynjh5B)W?6sV||Cc#`E&l7#}w_0C;RU}}@WPQTew1pjau5^bw zC?ebLFL1tmfpq3Odau?u+`Ew|_){uBL3~#m;ig!z|D9C)rOXJrJBJ(FU&oq}9TNWL z-Jgm6`Lh(nEyBA$uR`aVnvC3((j1wFt%H52^A4SQQom^@vxg!9b`5Bf;Ml%H65NHN05T0#8k|yKBstU$q{d z?#@=;%C`aToBepQs+GSZZ#gf02K2F+NLHZ_7Od^S^@=rl|?%k2=r{rkbhHc>}8FU-f0qr<~?WQ_C(^jpP`$KZMSl7rpqs{w1(&6ZeT z){Dy%ALrmYEEbf$$x8-8mY27vfJszEn)#d)CisWBA@1IU@%#AuOx_v^M+skrrBT}b z=L7VjZ)(*%NbYi9P{!lQ;Ed%$e{!s9Ihoh$3UJia!X?U4D!Z^JFzO@taXy<1ro8RB>;mUEy)zlamA-5pf`FY?wTE-R>;X!B9 zmQ5FrxL?yJy+(7+Hpc;&DKzD^18sjy@eAclq1C(3;(v-H`jI{oNQg{;84?QbUxEIU ze`|b3`n!iI5XA!5+?TTz0h;fXjsB7e%S|o$Al%o9@0UyR;0XJW{7HE|UV-#mihGiw z#Yn4!j@=qs+j{V5)*Sb0pbB1soo{Y&M3HAKX5`()%_Te3*xZ1Qk`J72?mc9^3dZV@ z)Wof0*`AgKdL(MZGukRQA(RgH#YE!0>%@q)zn5AL@RBL#%(gupsIa5q)xo1T;ZSFj zIi_Wi@yJVh*kN$U5d$$k+pPIrU~vcs;@})-+(>9tCxkh({L#5CwbCZ{;Bk2DrjjR{ zT=Iwb6Sh-j-x4*7g$?ibReyjSl?Wb(UZbWm_~K?|I5+PP<)d@a0xX8t`)CWS7#hKJq^=6ulY*{4EQ8Rd zIlulNw%#%-jxE|6#T$2r-~@Mf3+_&Ecb8y+#@(%Phd^+5cY?dSLvYu}Ip^N-J^RzO zt9tFK>d~WTtv%P8v;B3I3T#!WNIEU?k>CZCc1Gw~koWY%Uyw8M<=X!0mr}_ztgBfk z)#KwFpT2#2ygK=jW85&*rzwBC&(Ci z@=Q~tv^^y{n`VW;HCbVf5PwS4IPpRciS5}?Z?<;5QX=bz@B!J$UiX_YYTNZ zJP=zJ-PlB%1j^J*W%XccTPdTU*dj|n5wl1EbhnpC_eN(`&BBOa9i}B{#8W#cGxPXU zLP+T}o|y#SzOaN5zzr~!qGnIMF#!kvLuO5X4+R8r$vB!94@N#MAl*KmQUqEMm4uRY zA?}r}LuJ1RZv;uNsp*H-F<;+aY=3*V>uk|G6u;!%Dw?=IRZ_t2xRCtqS`xwX|X!3PZD7DA)86~;(FwSz=? z9BJOy0DXgwhVq+;>6<47UfqFv>)_?c2pTaxz-1CLwfa`Z2I>lSGb|K8iuK;5EOQdj zYN)iPyHl_g?a}9o!}UQkT|-^8x?a1Cc;PP3@ZuxHy*B9L)}xxF;sUk!j zX^uNC)TnzNoGjS+D!RAcOc(1h%oE-~XjR!GdsSR)I?S@{>L-FYwbU~3JOxDJ0N!&e zQJ?tDlqZ;0sL(+{ux=pyrlYc*<`rjT%#PEQ$N*1Zp>gJp=xWcSa=!Ppv}gO!7%iCzoF1n_TX zLsP2(j3YFrmD%DTr~A+#yH=@?$ND=l+nHA|h{WJ?nXhUFWA?wA_NHB17#C zkKy%N7I}@6hxe>);LUtGEoke3d*?>z>jAK>fS`^!zkX)v|`aPI$F#iSiR+hRW@s+SsYms4vX{fLDh#yBFVl%n32 zUa4B-%hlLAngfm%D)kB^U6yE^^)alqWM$A}?A8>r9_wlwU^)?_z9Z3svSk z$fY^J6l=Lkk(K=i!C6azh^cbPhhc){$R`Gc>VaePhXb1R?PtC?|I;~p ztyO_+DbSf}E|**pxTwXbfd# zMB6muY~KvQ12OST>2{X=^P%gZ@Z>+!cOS^ny9RN$w5^oulB*`=i^t?|A9B#G?b8&0 zzmG%>?p3{q?vn&IZFFfP2OSF;O5P1wU7`)8Jk+pFI#la?i@zb{E4%6wUh=j5l{R9{ z6H7PIV;4kOx6BmSCE4{bA(6G)H1@@wxERKw8BefH3uu<0RZr7fnt48}ve*??^qKPUOLaS4Qvs~|T$aTuG_ev4uQEc#g+KK2Q65@%jB z^uk}Bc7BC1B}OG6>4&F)dE|zE&*GE4N`^7lrQgEdzF*KRgQ&tjZ)wlooQUAot&Ci) z^)AEx0VH&+Pzma<!$ip`sW zoq|H)30<9SVT(8RB!r#fS}NH4%7lbSnMXn!#>lLeIG-8PzC0e)^#FIJ5X0z;m3E^| z!DAGI;O@B(ADlY{9EflR%)R;aJ-hIU*2_|yVJ~en{0m%TdGM;Qvt#wd(g|%ZM>NeB z;h=>#Rx}FzJ?Gj)YJc#upUMjPxBMF*-&zji&NVSR|zq zFNFCkkaKtHn%&1y9oPCQJv`LcPNGQWl51pTY&H0nT#4ls9KVNYc0$<1F6zW@y%|D1 zhp>!&P5qdA)LLWE{;|S2)OC3>q{hl*K&HuUH=Fs%oy9W$%Qr22ODq@o5m5zjNc@hd z3#PIW5`+e5ss0}|U#M0j+)qN;KQ*w6D1V8O>hqKqh>=fZwpEp=(m3acBUas5KA@-o z>>6lbo|s+RdCwJ?-eTg1TUOU2fwJJr-P=9MoB$euL{VmG=Z=@H&o=#_Ko=iftSsj; z?zOmc>`??!P_O}{ub`pwK$73a%x}{R7rWVFnV6X>(fuR zItMs(|B`D`%$f6v+aC`P^6rYUxc_o3i`!o}-kn(unTYoH(jA>ynUaG}5S{>D8Z1vnIXsRzAj#?nk4C=pb@3H84+24MYRQ=Yyf z5x3!0K`CoQVy2EXgXUVIE{kGtvTiRHD|c&0r#8;+9Tz!fi+ccUrh!Bm_b)%{DPc5~%uA%URMYkuY-n=0nb)(f6l3%9wW zF}k9L3FXYiIXJ3yPNz|&?Wk!*R129M`bBFhC;ewZ2Y%kr;R}`~7k+0d)Kvu!k)WY^ zEEp&!YdlG_Rr#EmBv~xx+}CiiD^2T9fgl9^DeEO4EVerH)!QIMVVV#W{dIQK-=RtR zwV;tn?ntHFWTgOmM8>jR@Qno)$yac7r!d&C9>HjQxumV?o@R{aF1>(yA1F%Z#BI@P zF!znx`t9NOVynYIk_cib5e#T*h4~^H_RpU$KTJn#)xej%PU&;_Zf+J_Cek29M36#+ zgs=|)lffDk2$(+&BoS87i7su>QV<6eS?Hr~mZ-mJw=~%VL5P|VGIC~2b|O1{j}GlM zD-+u67hj)EHfOUVVh)^YwgJk}dWbSQ?JAK3v>7d_6nH+pML~*1YX#erlWCM_ch;g` z`BK}5@}M%3kI6%HwWNK09AH&YI6s`_5=)ZL`T`WSovq8;UA7*El;_teKinN>Wxa(G z@@CER%V^X5mCv5I;L9TY$TW20IqI~(dSNLNJ*S?4v+Lkrf9&w1;@b|8o%xVK~+JGBM@GyC`=thC*C~Lt)7jxyo>|LYDU>{S-kVH)9ySVSR zt^aRKbv%m%qoBPMX&j)ol@n^BrGIjhKw_DbT*&bNM)(wySPR_WqVT^BIFvR+52xd` zsc#$%V%K}Oj}4KrVjk2_D|njP(j;Qp>X#}5o~d^BUgAd=LiS&aa7CqKt57sd<@n1w zId^7czP;Mma;zL}upcpk#90(LhRy55$H#0hf;TPd=kuA_sn~&;x%ZZ@zZdeCTE`1m zL)N+va(uyVPU5F)U7D9^V12rV4swCqf9aWHbT)RP9vqNlPrfw*TRrNzjvE`LREm7K zWwy$l!xkDmMf!I z1U-mt*Ui^TDgFXll7=Rj&88M;TP)rBG?srYINKwYDtxi(+WyPCZsY!EBz>TD*)E5y zK94(-DCQsNRs*rx{T5Pm;F{f`iwlfaClh{;s|;Z2nm=||yM1|Of1+@tQ4-SytE}gN zx|AW+P0+o7(H~7BL*wR>#2OVGtaL>&;rZSMyoC86mVy)-UHT7|wR&Kx{>`KRas6Z) zfpLez#5W_}t#n5*(YKuudZD;OSz;lt_%C>790mswOFpR&7o`Ef^3~|{eO@P}3%tk^ zNd@FI`pZvXbsja<72)=~gC-(;h5Wz?R6)z^wW5~S7f zCH@S=>hX{H!%7*&E{TL<#fDGC28cs>F8hOgLo_qU8|$YKP-8j8EE?XXOIncTg5BFt zB>X**Y6Iy3oy3u3r-%n1O2bcm4I;n-8h)}!Jr@@K&!BtcldoG#7e`2fxgr=Cnwg#7 zfdbq>;XyBtU8?w}SHji49ZoxS{6l$&JH(FH|fYh?I96t(v~rPpK)f`V{iXO!|_6NsW6>JAPn z*tzh3gt|e(RC~&MPUACXZPSZP()3=V%>Jg>7(iqAPp^I7oDo+aiaHxs8$~vlHWk9P6hZA36+qmUlsmv$j8rk38aa3)s^q zfN6QdYKZOm?UI}w#s=5Ncl*yj)Rf@&yCi1zGIERpo_=DOw^4lGIJ>Yo&A2nZwR<)K z>%J)d%PBFZ;~|4nrr_qrPM^=Rji^&g?^Edc)0E?A_O(?r{>&#PbeSP{oWhsM(xDU? zjoxwYAgLNFy_Gn5_2-FA)!UieZw);vY9L%a%C^GOZ2+@_N+mmN0zti7wPh|o!Iyk3 z8aJ6_Tsnu|tJukseJ<KX1^%NrUZDv32pcPxf^(bqK%L z$tkawo$;_;1;6m*IM5o+b$G$zTk%I;EkzWIP0=v5=`YeRm=)_~H*Bj3hZeN5dMHPn zsQi+@`?b9OW_y>#PsRBo9PEx(py)HIE8@+ptoEg46R(S(6ZfLOoq zC{_LaZKx-fj;T$M$lCoUeK5ys55lzrkYQTpzhB?RE(|yXI48)70LBa?ECMY6!N~gNH_A0o>Hoxn z|AMysXDgxrgAZaJgrSAt;{Km0JpWFC;Nk&I&%ua6aI=E8$DuGF*_i*WkI@4OxDfyG zgKCFNN+zV`g>+I4M0U+~b z*OUOK>yfb+@wX^K&n`$Nk;dZW@z&CJ(1;wDG{MrbmjeHEL_rWXp$axFX>n8_Fvoi6 zeR{my)$&xf$xcHuDB9idZdqSe zlx4+!ku>n7tT_T62f>L~(^|=qS_ZF6l9Fj+W}7LArmHGz75vBz@BLokVoZW%iL*r%WuVxpE$h+u#Wj?A_U~WOIk}Ql)!0hsKK^A1VW~UI7X}ODPuN^$VNw zn%%d^s$DUO_PP{o+6vrOT2`BjUKsVeDn*r5ngSFVF$MC09Xk+||5&1ck7sS7>xUci zPz>KZ?VVL1;-#BNdEK0vFG^VY4*1gfHX8`6X{=gn&*U+2a{Xx=xS!=kR(J9d5?3vs zU1``M#5_e|$ zvE`s~s-yGj5eA-uvjw0w3p@XO|p z@MZ~1`t5USwJ%nBrEPLqpFb;!vEU*F1C;dEMM$#t}-7iT` zqpK_)W7CDefZl7VN@Q>CXCR8pV1GEP0*;+Q!DI$B=#)dDu+1X!&VpRXq!odDJ;k(h z>S|fucvT&D39+Q@UE$ak$LlgS=5eeDy-d~5Z=l&Va0+}?sbf0n zWL4e5T?_2sU$!Y1)RPkbcXpT^7Dxv7MziggGkrD3X+pKsXRM(0tSCah#-XM)G34ik zrkhe=pYdDisGW3HJZ`JQW~bO2UnwaO2liZ&z@f07+Mhpv$-Y{fh2^MNtJ2p}rMY5z zME&xY>>Tk5G9GWlW^g9S-rzpN5N5=7|8sI8#^1YLn=R@jUaU3i@w1Qu8gvQZqW1T) z6ASkdJ_c4#PbJ)B*m1%i*-1wm{+N(OIaq=NF8p%oO7b>2^;po`n=IhqLjwkoE!xl@ z6=gcd1^=qomY1zwX<;Bwb^MC?_cjs3lTJuS^R=rkAn1V<`|j%0kSnaq*V18RaR@(p zPUP%etGekIE@$HHLTNq9I3FcQ)in``q=>!1cGcLDBvvv|)L4$SLCTu)6!%Ji<>d7l z*nsPn@aa^s5xjih6K1QPbbR_3)2F7>plI6L`mI<6bN;Vg>J+JqH}B@1aZ<-KA;pXj zhrMd3Ol<3%SB+VXoyrSS#)_lY7yd8vNL!@8ZPEniLGyi$+HcY+7zC%^{9YM-3Q&D* zA5o1>Jvuz59Hq@4rFwizGQ0A}gM$9L7GN zzm#_8|BKcT+$VYiOIM z&3za*Qc%Sa4E*OKfE82&2_XH%e6$xB?0>QT9ES9ttBNdo`|1l*keT^L@6m7AN9Rqua^V@_@^P#*vg48hIaBm)Zwhk)SbX_|)zSVBPX zFoT4U05}jlEKOQSfB|p_9##-B3IGS5=YKvOybeei4M5xEhysWN2PvTeU_dXZ0C)%< z_9g%t;P!I@N7EZRAo255oS+0Oz&;TP7bgoNCkZ<@&*$sEQ6y@jhKD+vo52Mfq(7=Q`I!o%|E2eS%A4XjA;=1w}rAB2+~%*&&sIVoc- zi{nXSQD}(9)xkR)pq(SS@frM;_QY<^Zej{sAx_o6TH29n3K9!HOOX0S>8ezND=&|% ztc;HVLsOnNKi{D9aen%C=yP%CoAcnlK50`&%iQk|K{kzwwS7r=iQ7(B9WHS*fB`m6 z6e_m71hm}|btQ^&Y(L^3#_Dcs<_6DrqW2Sqah#~6sHF=Jss-mHy%J>{i`oZ2P*9xmR?#Zq5Lk$8K<0pm5t=1C0T#JSx!IklA4o3|W*}ejUW%Ceb z?+@akJ|j$IqJjY*&M}K4{wPXTdOv1L_Dv!jTcCpn~P$VlEI*x5HRzy%TF~ za{jvhP7mbuu6+Bc0xX+dW|n;fK^lE78&Pp`NlE(mf7&303ieHtpdQq9RXkrG(Wi=R zGk-_j@}n|#?4RV#6b^<)#f81Wtr14dN(LK0MFqU3d`sNq2Yh~M{KK0=?^V+iIFQH8 zz)&38s8Fyq&4*XKkGpcXa0CQDSVEZ4KAWiYJ2RZSagz-~7>HiNufile;I51y#&6r~ z6|fZOB)yQ#fFLL^iYZhR7Q&!kEfAIo%aHvfx^ru~(u`m!{?*I3Jf8YaWMEncYlpM_ z58~uo;PjCbF)&>#QWIdD`fRFDnV|P1H@GRf{p1HO-cLrH zoy!AY+SehbLtHHk0Vp^U7#T(}TzfpHp|XeMVh4#c9P(mpt`*>nYCkxMC+Y<;4_S;iA=PigFoIT}=%9c= zFyX)x98I(caqI}$SMRplK9JG7EyD4X<7Z-KvH**=-DZ)-!{I@ z7f=wvXPg(K>Hi+@cM2`%ezSUTzFE;Mhi8%2sd0XOB*)4ASKxzurIr1v=gH-=YE%QI zP=Vjtxs&AZci#Gv(zW&jS^06APWCYO{>*W#)`ynFUe)AG--yvpM3mlx0}uut^Y7bN z&R;|N8cGfr#C8pJ__z#O`dV%WxHM5~lR6113Va(ia_R}lr-cXx*)qw`hWGcIuj79Y z9s`|f=2vei8)CYa?amD3AMLNy6+)7Sxlf4yXfMuK&-`{pp{?maZSvCeQxSDlV=6ou z{Cm=t$3>fcOOWC(IyGET83}x=!(1;^;9`0zXw+P@J+ciYGT$Wo)~tlRLC_(^`gF(? zNw?|+f6Mfzt?X5kirFV1{25%jicyc%+t?N@TQekPrRJmSqC(1e;9%=F_;mDiMlaX5 z3>)(01I;Lw(=tTB+Q}St{B9jXjPwT8tWqV`ql?5Ur96z{X-BvjClPR8Ii3eH`bZt6 zV5>*wN%Z<6G!}ql$8D1I3RifpPxE&*+qA;t@vXtN11Bpv5yf4*+&H8({2D>8s_~0# zCPi^biOZ&vkYVL!n!+KBZ z2^qm`WmmfUFl4+#^n6u00%Y)kg1BlOU0Uh>VPNIPY32-z`8pVrj#eR)UDK+wOqz8f9B8%N|PGbNzXm zbvxcxH5bX0$bpe(l*dSei0#jY=jA-IR9*eQ0gIQ5JpS%?I4x?Z zDxg@8C)q0N$0^^TKt%^T5fE}-jPbUM@`YN__hvFE|FFI?Fe1;~#*$r)v`1Y~zXeNV zx_|icC5Ic_LdcCbc|zk+!p&d@M=`BJZmWu=+udu?TcT5GW<6==cj3dN#TkJQ(a2Y1 zv|_eQRhqv*ngqu9@;V;A&2q$!^%%}0E;OGx4z+Au4J4Tqx%yN|`Clgs4M?lUVfRbt zw7At7O2p$60?axasWp(ZYwXy5qsP`GOXz|-CNO{PS2VgD{+hWI>_Q|Vl;+`-k9wQA&km>2XRT6l~6aQlIBH15|xRSUA{oHez6A9j6_HTj&x+w)P zAStS8Dl16RiOI`Lv#^3#PNA?s+av%tEQ`-#wX2ykldX}Rv8fT0qnWdngDGg>H-Nnf zL<$Ik0c{Qf7(vq1fIJZOFo3!Vod)m|1_U_`UBzoCop;Ou;;S@+?;%yeCwEKnYhbx$@2E#ak~pnwvE$Z=AeLJK*R?B1EF4j zch{pLTpdPD$y5ao4w(h@o`xfXtOkG=>y% z?YA7J6wo6~(9D5v30)URPA$?E&5qhAl{>fjhx45A1Ie>n$=-t|7ffFTHB7T!geYH{fXh=q)9M?1H4psEFcxpg$c#V^fd(ao6sU!--p39Jy?h^}RwS_3DAM8JA}2s8LfDx{u}7bkk2rQg)eDquAlu!? z6a&fd7K${O2+9X)XT-KpP!102Ey}iD`Fk89s_7ewzqq(RNd^KeOn@N{YL&?g0EqD_ zidkjh4u0i(kAuqO!Gd?O=K+4DqJV?yu>T6^@u2I6?$;q@BH8HMS1h~2t~_UM+RS+l zCTvGMf!HxyV~*A$7WHgiOWz*3oUx-V^Nky@##96_DW~@Nw>{P95dX zylW2Er=;+BWrL1UH#AR&J-Wfr%sNJ3`NNw9e*X~x6!C}emZ898kS#AA5Y2`%xAn`{0`;~Cb%HxnqA1=`F&cR@ntB9|JwC%?8n;dE zDnJZBt4sL-YnLbo!6L-0X+CrX(^}Sdz$d z1i^7{Foj)P7Zne-+Hir$&o-Fj6!?yMaj$6v2T7M`Dd+^kS13Gbpu`^hT1f9O`O*;V z=GAwegfR(QbpnqT_D59UM0wmVTI+OI^dtI-r7o{J{W_=n0at%?inHm1^F%kHyJ0}z z8urdl)ka7$P3Ar|eoi~^>!C^u5%tRlsv<8G&k3`c;R)Dr&%o!Ur^=r#YnV2Yv#Gz< zH28VyeQ76qdLts72rmjGuaN@B+8f8%!yHiEUIr#eFfbdcs`v% zd)zD;&nrbB7xk3ukZZvGAPe4;pUJ~yGcPaz0{{~#9E7ndFZ;=q1 zv~@Yi%Z6CwoY;2Q+>zC2FAW*9nNjQOpBvlJX#csYpPXR zsc22SKn6uaFXcEW<|`AHz&MGJKaV-wYRm5nj%_pScrNzwm4&NdF4UuBnFPwSP55&8zzV5_CXh7e3my!~xUJKRnUYjSIl9kw+b#vT5S5t&6LMm? zMyz-_TrlUnm+0T6UR&~X$`XX`O0(#lyf60eabV1wqj;FmQ$C^2IM~mQ*oNWSza5Qr zPUsoyyunHh*a%B(#!D(%htCxvPwTClCw`^Z0>=}0&sB!EK4qpM6z?3fTeb7UUXkK2 z0uaQGNq>}Mnty8xYxX5<%J6&@>wrk)O##x?M@A-B>1|6JVOQGhiv>HFdFCH<`E*m;mGZ!mkNIkx8U z1-f&u1*k=96`CB!; zz~o{;uxMxY+tK@+GpFT$0_8~5wnS&3Y7XamQL`>PjER7#pBYr&KC8w}f$I{c zO_58^k=$Y3h9;v#QdtfcaF5$e@s5wo4_tB;e@3xjkohSH2bB;~@LLS+`*I`N@rJB( z1{mHL`$zc6o&PgPnrm>ZC-ho>dcS0fE4L+Il#$xuOK6J8_)GKKs83djYz|d9_q1xt z4j*UQ4i^_PL$$0#!^4*l={YbfFzH&RjBRB=&xE{6HKZVMf#|*}?(#kt$XXR7K7 z3Bv9vMZ+9D!^!M%p)pQ=E!K?_i!XU^zh-U-_d*$aJrp`{l5-KI3O{HO!PH|gqKiQh503vkO*#S(%Vws2yx@)- zvnN~jFGb00Gm%Y2T+Qu_+c&%ZJ13fXn{Xk)pH@P`cIAob!Xytvzo_8tLTs#&iN($v zC)YPcUr>-bQb`&ERmgS^vFvAwht2y?M#m94(TlavKV}TE=y9zG?N2&@0zJmjd^u^b zLa8eftW^04!GUr#sZuBGUK*m=Dh}eWNwaBR7mOo_98wi^{NpY{p`Rn6V!!?55z~#2 z2esXItTlvFCa?@SRu!>C@A)mHat^e;Xk*^~kg*8XHs|Gba+`f@_8#{{w3K0GC zi65Hn?S4v#fT-O9ec#Tn)YI*GH*=bIu_*bT-h8*OQ7tJlicPD>za%7dJkts!k7b~} z<-|$x>T-(wV)b|cI;C2fca_pozS;p@vdf>zq!%k)yt=29Q) z$}i?kd#9d$bNU&{&K}hnmW6@wmDN?q{mz3EHR%gBE`gfnM~&|{j=PDC)g`clQ`z~S z=-T^rcp|7G5<_$33+@$KlT1u^fj*)4F60L5jX722>6=ZtQfrvNo}P66H2H^_pCmDF z6J~cZVxvwkKwPXYQ`WaK=w&?L=W>ge5b=3j7C~E?*O;jriqNP^d!C&>?VjC=-c0$E zugFS)L1Hd_Ol@^9Q2yiUaDR|IU3p4--+u2HR}&EgI!rDWo&nx^IeT9qup}=K;b^-O!!WZ!|1;K6mbBgSK8VDhNTGTt0WII$Uv4X?y6=eMsNXukFzg<|HgT5$$=E@Z-m zdSX)iIj@?OlKK^}5HUJ(krkEi{Mi~;QjNV~DwED^?4U{7vh@&voDs4HQG|5zSov1z|Ot&GsE8;N{_2ErZcb zw`!-NcE&w<<{vm?@~kTVcy6wjXG9Y6H6dO;4C+or;K| zl6p=}wqb}{52U2SKzO{uCv9zy`c@9n0e_zIkTPrzay(NDip(Pa;;kr())~UY3h>-g zYv*b7OfX8*Ba*w%EOel_53|c}S28L+P-TgSIQtu4W%t)$8V3E$zi;`*uM`Nm6ev4| z$|&Lz;uu(EsqNtwl|Ddq{bp&Mm(XEbqgU{{#~yHptx|e|nr7MQOM0AoOpH0MIpS}1 zdy$$FQP{c8+`{5TwEY_w7ZfP=d@zd3wjkMZ=S6Z{`@k2b+@wmcsJ<9r=@}T6^H&Ji zo_$>U&TeQ6C&|}-$Utg$rwa@d?|Yh!MRQtJ!CEa_wOi#KpemH^)^o@pZ1cN0F6G*! zeMoh{7p$qJEh1EVBTY)jTU@kgoukmMt0_0n5g%<{8p@ls)JPkoE;;U%JWIu|m#&90 zTubflKhYw?Kisvyw{GQQSK_zFa?G903n_26BlW})Ql8U`$QY_tNdq=xNv-~zd;&*_R_!C$hKjcu_Ua(LPm8#476;GH_-lqeOhI;zIkfjHV zft z3|Zp@yu8)%N`n&bk3`@D684%xkJ^n5oych5ci*$R=%m8P)7IKYW!7@=CH)Ekr_xCh zeI{ep(j={0JOfnKUlMhdNIfAj_PO%o+1dg#!`i8I-(O+3asM`9Mdd0CNa=larmgYk>Dcxz()Yb!^ZiGQGC?`ZY?wRn! zg=nS>Vqm>}yVe||WLR6O-yrZhTF-8OAUPsQMjR79okq zi9R0|o5{)74%HnXB=Y$X8)Y@!(jq$wgv5kP3OUwYX!Br!fB`-j(KGOfA*omi-;Yb? z9NWz2m$NdSOTfh-dk&g-d#eHcf%Tr8Ua?7WJ2RfRZfGCBl?Le=o=ct5XoIP`9FwvK zBc9BT3%>VRsa7{j$-w7I;{Mg6R^Kyin$MR@R9eMf^_CjwBYBCFRRKbaE2~Qz*Xr+1 zcl;B`-&|Ld#iw)|I$+oWu!9E=J{>cAI8LB9*R15&y|{c9S43LmnG`P7D^M()+gM>E zzG=Bfj@PaS2vE%Vnmo&hI*^Tzhtn=W#DeoGGaMreYRY9;7<)-5x-A%};ilY)KtxMv z1yeubSwI0<@ev>EI@njy0(-Ciu%PBl-mbd+URPppe^|Gv_HKZ_k@|CbvWM^NB>Uny zz*#g^XlX%CJ3&+Mb-;%XhwzZ9%0`pxO*!ynF_O@z z=^&Y5C_UdY>y@+Uf&PN|l(|vCEqpp6!;k7^1i*|<@9&zUG z#?5?-_=-TrS7R8{HG8B&si@@HI5bZyqIH?#nFiEAnMdN?^;#9s)f4~|6vqUhhY?d% z)R2$|Aprql;G&=;AV34a#mxOraUIli1;G1~ zTrAB0#K8*+lKhVVitCeZ&a(nwG}&hZf)F6MSU^1%0D2I~Z$J&^=X?L3Xi%;d01J(s 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 p2|BtoT}`R~-^4*mQr1BxYMhV zq7h0A37i8&A_1UlOdNn3g2E(SfrF&;UgKx8u{P;m{?gP5?x(FB(dax1MTZQ|392rJ zq5%!ALJ6_Up&lgwNQJP31t7gpT&G0VTH0S)yVzxWo2EuAEk@VCxY2w6;;R>~EZJ&iPM z_-y;y$nE|T!vhi%$rcP5g%fP;LC4Bpg7zX3Bg#}sAbaK*>?Fv#T8Qrw5 zO#>=01fF&qAA3bgZz^XJk9>#w+I!3nUvZ6Ouwn2g1Y|gY4kc{9YFCOKo3AOkWtf2D zbFb)?W==zPijX@}dLW5^F@=$%JB;FiyW>wA@E-_$AQm!v10O2uR}jl4=o-Ip zxf&Kd_*n_Ke~5KcKP?1!V@25KTgF92IHE=ZAvVu8G=EYA#K*8?O@YF zqvq>6Htr+>5ef$uqZd1INFRr{r?1DOcRsIH_k|uDc*(2aS@t?@P8KZ&&(9l)#DU-w zczlT_ctR) zJqsCnE-zc{VjuGz*D*}LIZCrsQ#xYXgu!6)SvBm;Z`rp6!C=I*4}5v|JY{y z&HsDP!+2Lw2`wMxc$9w4c`p0@glsu#Szn@whk4$9= z>)m^1ta6<7NiprEs-@kW^ZstF;et0uwZ)&U#TBkCYMp7Derc5gwFhGZzLY|OqlRj< zw*-bEhdc&wKfYB=OPjo zK9*xiV{eq(O(u$Q?*Zv`Y;h$0zI&-$fmkA%xY__X$|mC%GmqcVogH|gZ07z9I8{IL z2AdcWovAoP!||u8d?(H&W^2Jdvf5ASy`D8I^S7F%)~ar+DH%BiKTvE)zV-lr;P`N* zO_Slxla@8d+s18J-S-6`zsXO&a;}jH{T1qq-XEdPmT#EMzRM7koh(y=$_}`K~W7nJPL*rucEb* zBeDF&FHS%Myp_Z8Ti=#DvC*;!K|uos9xXd*DH!u%?f0MpWM zni0AuCj;D&tnegVQ@5vTavijehOk`ur>ArvTB1MUi@1TZ82a3)Rhc#_oZnpInHGR= zZB5OFb~k^!N^PupadnHwtnuQc6Z~!{hwF^k$eL=ag=lDpm9Km6w?>^BbnLNCL{~&_ zIqtECBWaB~aU>#vq;Tp~-OEl+Vs!}2oOsS^=TAFx{29@z^M-ZCebh`n$O`yYIeiGcrBRw6x&%6 zNy~%%7)Y}46C9puiEjgQD{N44OcP85y;pbK=O^6tq0Mjt5#)OgXDzzzt**$zJ)>PZ-6im&$@ACiuH`(HvqLY40od+95Z9H{(L5w zD;V->)LT~qI^s|Z(d^rXHCLsaGr5_s6U!$c4G2(B8Qt!oHwo$3p|g42kUeN~7e#@@ zEoZ&QNRu5Y6GCr4a1An&8LY?NvWd6eFh`{xGV%!fG;Plq%&tH(x_`9axMt$j%T`O2 z1W!dnq!;v_zcmz-jQm&RAxy%c*i<#~HD zX|h`61|)GRsJB%|1xh4nc8i+B3WwUuvFFL!6&jd&Z3M6Iu-`0g8vO+T*)adAC*YaZ zuss*WNb3k%(#{A8n9z=Sd;>oBUzX z>7E4fo|^djs3N~s^XkmWP@mNaM5$xt?|YzqoZyQ0=Cl&i@}^=g`HSdnsto&4i`Ah^ zC^a(VFU8bbKOcuNLvx;=rFRF$lQgV!gO$`5>VRjqqlU$9 z^>~}4%<{n!&FsH)T;r^axc2?Ll?>UgoLiwDhl0p-Rrm@=-p>KB$ReIH zhmfYO4-sOrMD|>(dUbvS9^x4e(?hQ@=j3Qugrfu~H2I>VIz?X6=c0@dhV`h}pi&X;i0%ccr`4+!mRRLf&dl2s-S}^no0yxJ&vluDGNb@JylyAWF<|1Xf4XmvI<)vax*B>SV-iKr zR0xdK;h@*S^!_+aGjBm~F>~^`*6NjgJh?gfx%t*ceB~1m2BAm;@YT3}WDzM;YI23& zFkmD1I37EBEjH_#=){N&)HJ{y5aX?wUex{9IS6qWz@n|vhpuq&{in{Wj7 ztcuM7ZE(Yl%x~hD(o&>j-}a}^4_g)FFAcx|&at89&^S86$P69;T8fU`ZWrvMv6i%R zA~Mc1DOzkuTHw#iOXXg#iir;%W~ir+TW}}Gud7EWALIqVp|OPMjPUv^Oq}nftG>|t znbP=gpG!<5idw}?)7ZF&&9FG5!M0JG1{9CRP86Nrdm$;<$M9XWukN<9G}82&W#_B{ zWBk8?OGSATA2yv`SvTuPIb*#@tYQ$FP3cBKQ&8X1T&v$c{rsXxuVjt;vg<}7Nxi{k z#0(9Fh@K*2>f72P03^jM_u<6MOLpfe%fn`cS?PV}AF{`7HyBFjN&Q$jgq-`O!7-qz z5fmEFWF_{8wgm?vJYUWO??mrinDUUHq1G(64HqM*Lr{g_6sT=YIO70G$(@jMVC}-# z(px#>J?hvwFG5CSY!klm#0=_^0np0zpYyA>9Qh7I^6Lir57dbc)A2Tm|DEYL6b>c5mGOE(`ns%gS!<+dbPsrt6Gd288&IAsAu z6eKZ=xJC(a=J;L|Y9r*Q``kMTkO}-pgk#qA5{{RC_h0HZVh2Fe!T|KfC|N)R%zq+} z7G%x?Km(>A!b0>zI46$@SDP*W-W9*@8rqyBTlQ|`yVnZg>5G}u3#)IV)lk=E?uJ^l zZHx+Jf4w;qYx7XA;fOyy+hshXlU<|h9YO(_F5CArQr?jLegfX{SeGwNmWHqFU zn&Ne!H7rrMc_=W{jN;>0@A~~(*FIzys_qEkrOG+x5ttujs3n5GTtu2F+z|UngK$mul7jq~mEWjwlw2|0!qnC9(M{D=C#tdDSNFL&8zsHwO<) zj9Fmn0pA(k`7oUzl!C6p21I&qS2HR%RU{#Rv3P1wo^lWQiGNpO5zRel=^p*Ja#sV{ zm!IT6L`Z8Rdy5c3GLm>P?}u8CiF$a2I6}!(8S$cE(oXW-%aULSI6|m01YlENaK#9@ z=z;oz&jUYL!@#-ZEUV_VO@gw~&XI$}^vHmG;l)8Ug8@~$E6n4_6S8M`yfek6r~oMd z{d62yQ-^**D|T)E@CvI*J>_4oYd@Q%6Fl^hhV#TniDy*|CPxUaj;Sy_2E+VD@ip%w zG?P6P!b`)vdOXVv3a$W~rpnoihyM_D`u`;q*e9VVdjBC5@aENwg~v0`IBFk#c4Ip? zNmrR+VtMe0SML&M`N+C91*7SCcCqwr`TY3){dnK&-s;Nedeu1FLw3wZE^?*Hv+?on zjGi1xg46{)A9-B`es+?N);#mQ`B>{gEzAZ=$Cmx__ge^Tx5}-5khu;VNb6@qg~MK3 zZKu`v7q~nrpaiFu06%)TB+`;b6H1M9vHl;?GTLtJFvj^NOD#u#JnA(37JUY;kGBrK z*0vS{ahS|D;nwMI0oT@ga-^Zp^QCgLX1ZG4?Xth5^U$eA9u^z3E)**l7DvYgvcP@H z+5TZ&gJ6VPtZvGLl_^FZESgvW`i5OZ%UGvZ0Kxx=% z5sO4{9;-S!(5K@fZ)Sd4r2j9SGc}cDY%DA{csGISw@mseH2KP0qQldN-K!!7isu2a}scf*6f4&sxqET2uZ2= za){7IDUbQ#gIj2Iqt&m$;>MJ1kp)yA(d37arDp3b_!Ll`ohnwxot^CQw=MPoqGpde z&0}tkkM7=8toN-%w+kfhX_gkzvu~!sm#y;^j0qCk15|-3C-Igtap>5cNn02?rm0_m zvoZ^&tnwj=`);V(=bQa{WkuqCZ7Ish=k^VrN#E!wMkYp*kBs+wZwpuC>JE@%NuxD; z-Al`FvzKMkIKtdY=lytDY25IUj>EQ0ltAou#fqAZ52a^ttYF83ujC{mo0p8? znOl4NdBJqMG$wI-D@!I?1};G=GO11kvvj#}l*{%CH5ty|&7xZ@%qR1yLj%)2(^3AfwWhcf067@UQA?`0cO$0n-AKk_!e zg=M~{rp)=4P}*xfYoisdyj}F^{?5288~)Lr!B-_s)&pFj8>TwSFju69o&GrerP#|4 z0fiv;YE=;dp%IX{7636RL%}CWCmcs(>+IBNK+q80D`-ieOEd(gBx9r@7Qe;8cOLrNjX-h9mmUF6sp1%tM3|pRAcL1T|#!4xX18z^q%pJ!@Qo}=GuAEZ1l}0Rp$hZLEU|N z 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 diff --git a/introduction.lhs b/introduction.lhs index 899c534..5cd6c0a 100644 --- a/introduction.lhs +++ b/introduction.lhs @@ -53,7 +53,7 @@ mealyMachine :: (State, OutputSignals) mealyMachine inputs {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} = ({-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-}, output) where - {-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-} = logic {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} input + {-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-} = logic {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} input outputs = logic {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} input \end{code} } @@ -65,7 +65,7 @@ mealyMachine inputs {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} = ({-"{\color<3>[rg run func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} [] = [] run func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} (i:input) = o:out where - ({-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-}, o) = func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} i - out = run func {-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-} input + ({-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-}, o) = func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} i + out = run func {-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-} input \end{code} } \ No newline at end of file diff --git a/summery.lhs b/summery.lhs index 1383d55..49248a4 100644 --- a/summery.lhs +++ b/summery.lhs @@ -1,3 +1,4 @@ +%include talk.fmt \section{Conclusion} \frame{ @@ -11,6 +12,19 @@ \frame{ \begin{figure} -\Large{Thank you for listening} +\Huge{Thank you for listening} \end{figure} +} + +\frame +{ +\frametitle{Complete signature for registerBank} +\begin{code} +registerBank :: + ( NaturalT s + , PositiveT (s :+: D1) + , ((s :+: D1) :>: s) ~ True )) => + (RegState s a) -> a -> RangedWord s -> + RangedWord s -> Bit -> ((RegState s a), a ) +\end{code} } \ No newline at end of file -- 2.30.2