Aalz HH $ @d HHHHff@  d Footnote TableFootnote**.\t.\t/ - :;,.!?6 ` `1TOCHeading1Heading2   EquationVariablesq>eh@e @f p)gWop  a q b a 4x{ ) I >j )<$lastpagenum> *<$monthname> <$daynum>, <$year> +"<$monthnum>/<$daynum>/<$shortyear> ,;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>R -"<$monthnum>/<$daynum>/<$shortyear> .<$monthname> <$daynum>, <$year> /"<$monthnum>/<$daynum>/<$shortyear> 0 <$fullfilename>@ 1 <$filename> 2 <$paratext[Title]> 3 <$paratext[Heading1]> 4 <$curpagenum> 5 <$marker1> 6 <$marker2> 7 (Continued) 8+ (Sheet <$tblsheetnum> of <$tblsheetcount>) 9Heading & Page <$paratext> on page<$pagenum> :Pagepage<$pagenum>:; ;See Heading & Page%See <$paratext> on page<$pagenum>.O < Table Alld7Table<$paranumonly>, <$paratext>, on page<$pagenum> =Table Number & Page'Table<$paranumonly> on page<$pagenum>a  FFA HHAW JJ LA NN PP  K5y  va<$p  { v;5  u>nul { v >:5 ! u >5 " t"hnp # v vmorp $ q 1.tp % u2.rp & "3.mp ' $4.>p ( u5.ep )  6.ep * { vtep + v vp , j jH1]p - j v ag_P . j j map / j vmap 0 j vCop 1 j v+p 2 j vbnup 3 j vsunp 4 j vinp 5 j v<exp 6 j vnup 7 j vagep 8 j jp 9 j vngel : v vr l ; j va.Ol < j jaldl = j janll > j jt ol ? j jgl @ j j &l A j jlral B j j $pl C j j _ D { vl E j jAl F j jl G j jl H j jJp I j v_ J x vLp K j vl L j jl M j jPl N v jKl O j ja<$l P j j;l Q j j>nul R v v >:p S j v >p T j v"hnp U j vmorp V j v1.p W j jp X j v"p Y j v p Z j v.pp [ { vq \ j j 6.q ] j j{q ^ j jvq _ j jjq ` j jjq a j jjq b j jjl c x vjq d j jjp e j vjp f j jjp g j jjp h j jjq i j jjq j j jjq k j jjp l j jjp m v vvq n j jjq o j jjq p j jjq q j jjq r j jjq s j jjq t j jjq u j jjq v j jjq w j j{q x j jjq y j jjq z j jjq { j jjq | j jjq } j jxq ~ j jjq=  jjq" {jq# jvq$ jjq% jjq& jjq' jvq( jjq) jjq* jjq+ jjq, jq- jjq. jjq/ jjq0 j{q1 jjq2 jjq3 jjq8 j jjq9 v vjm { vjg j jjl x vxj  { vjn  v vjn  v vjn  j jjn  j jjn q vj1.n ! jn " j2.n # j jpn $ q n % j jq n & q n ' { jqo ( j jqo ) j vqo * j vqo + j vqo , j vqo - j vqo . j jqo / v vqo 0 j jqo 1 q v1.{o 2 j v jo 3 v v jo 4 j v jo 5 j v jo 6 j v {o 7 j v jo 8 j v jo 9 j v jo! : j v jo" ; j v jo# < ~ v jo$ = j v jo% > j v jo& ? j v jo' @ j v jo( A j v jo) B j v jo* C j v jo+ D j v jo, E j v jo- F j v jo. G j v jo/ H j v jo I j j vo1 J j v {o2 K j v jo3 L j v xo4 M j v {o5 N ~ v vo6 O j v vo7 P j v jo8 Q j v jo9 R j v qo: S j v.no; T j vno< U v5.o= V j vno> W j vno? X j vno@ Y j vnoA Z v6.(oB [ j v joC \ j v joD ] j v joE ^ j v joF _ j v jo` v j j joc w j j vod x j2.joe y j3.oi z j jol { j joq | j4.or } j jjo ~ j jjo  j jjo v vjo v vjo { vjo v vjo v v~p jjp j jjm j vjm j vjm j vjm j vjm j vjm j vjm j vjm j vjm j vjn j vjn j vjn j vjn j vjn j vjn j vjn j v~n j vjn j vjn j vjn j vjn j vjn j vjn j vn j v=n { v>n j v?n j v@n j vAn j v jn j vj jn j vj jn j vj jn j vj jn j vj jn j vj jn j vv n { v.oen= v vn> ~ vn? ~ vn@ ~ v4.nA ~ vjnB ~ vjnC ~ vjnD ~ vvnE j vvnF ~ v{nG ~ vvnH ~ vvnI vnJ vjnL vjnM vjnN j vnO vjnP vjnQ j vjnW { vjn] j vjn^ j vjn_ j vjn` j vjna j vjnb j vjnc j vjnd j vjne! j vjnf" j vjng# j vjnh$ j vjni% j vjnj& j vjnk' j vjnl( j vjnm) j vjnn* { v{no+ j vjnp, j vjnq- j vjnr. j vjns/ j vjnt0 j vjnu1 j vjnv2 j vjnw3 j vjnx4 j vjny5 j vjnz6 j v{n{7 j vvn|8 j v~n}9 j v~n~: j v~n< j v~l x v~l x v~l x v~l x vjl v~l v v~l v~1.l v-l j-l j-l j-l -l j-l j-l j3.l v2.l 4.vl { _m  `-l a-l b-m  c-m  d-m v vejm q vf1.m j2.m  j3.m! 4.&m" 5.vm# l6.5 5dq5jjPFnqdq6jjJHnudq7jj8CnyHm3R q897 jvHm3R H RH R FootnoteHr@ q98:7 xHr@ HzHz  Single LineH'q:9<7 v;;Footnotel  5_;:j  j   HD q<:=7 HD HH  Double LinelH q=<@7 >? Double Lineb5c>?=jm5e?>=3.4.H q@=B7AA Single Linej5hA@HZqB@C7q TableFootnoteEGxR qCB7 9EGxR EPwEPw  TableFootnoteod_sDLLHH5xE5 HHF e   HH5zFN5HHlEE DHH5{G6 HH @>?HDo UT UT` .  HH5}HJ6jHHlGG HUV 5~I6 HUV AAJUUh  f14e AHUV 5JH6HUV lII HH_tKD xHH/  R  Lw ` !Special-Purpose Register Machine &UT UT` e  ;UR UT` ; Recursive version PUP UT` (define (sum-roots from to) eUN UT` f  (if (> from to) zUL UT` g ) 0  ;base case UJ UT` h 6 (+ (sqrt from)   ;deferred operation UH UT` l 5{7 (sum-roots (+ 1 from) to))))   ;recursion ` m   h p T) `  HH_vLDHHlTKK UVHUV 5M5 UVHUV NUUe ! 14 HUV 5NPF5HUV lMM H$ 5O5 H$  RPUUe "  H$ 5PN5TH$ lOO  UTdp"QUNVV fm ddR TTUJUTHHdSR  HHUH (sum-Tm) ` Assembly Language ) ` :   (reg )) QUR UT` < -(assign (const )) TfUP UT` = UV9(assign (op ) ...) {UN UT` > )(assign (label )) UL UT` ?  UJ UT` @ 5/(perform (op ) ...) lUH UT` A  UF UT` B ,(test (op ) ...) UD UT` C (branch (label )) UB UT` E (goto (label )) U@ UT` F (goto (reg )) #U> UT` G  8U< UT` H (save ) MU: UT` L (restore ) bU8 UT` M  fy ` N Notes: RU6 UT` O  U4 UT` P / is either (const ) or U2 UT` Q $ (reg ) m-HHdTRAsHHlLSS '(aHHp#UQ RUTHHV  U e>;Special case for computing the value of the last argument: )(a"  U la>dont save anything, and use a different continuation label. 8  U -napplication. Remember that the original continuation for the *  Z >combination is still on the stack from step 1 - so we conform @ @ Z va,to the contract for  apply-dispatch ! e>TUJ UT` ~ c uiUH UT`  thev-appl-accum-last-arg ~UF UT` [ t  (restore argl) uUD UT` \ ti5 (assign argl (op adjoin-arg) (reg val) (reg argl)) UB UT` ] io (restore proc) oU@ UT` ^ U (goto (label apply-dispatch)) teU> UT` _ ˪ VHHp%VQa HHl UU -laHZ[p(WlelHXgUTcZp+X YWYZ e cZ ar6 p,YXZWXZ Z6 $a$a arglacZp-ZY\W ZcZXY)jJ$pZ[mnW a g)jJ$ ;sJ;J)J)jJcZp/\Z]W]^cZbin6 p0]\^W\^ oe 6 aa valraccZp1^]_W ~cZ\]cZp3_^`W`aTcZore6 p4`_aW_a lop6 aa env UTcZp5a`bW ^cZ_`cZp7bacWcdVcZp%pӞ6@ p8cbdWbd pӞ6@ apa continuecZp9dceWcZbcccZp;edfWfgZ ccZg6 p<fegWeg Z g6 papa exparccZp=gfhWccZefcZp?hgiWij acZ$6 p@ihjWhj 6 aa proccZpAjikW^cZhic;ZpCkjlWlmc;Z^?6 pDlkmWkm ?6 HaHa unevc;ZpEml[Wac;Zklq?p[n[pWpoq?abqqh? p^opqWst7h? nph-p]pnoWno8h-hhQp_qorWQQhqp`rqsWgqZqm[lnlpasruWout6[lnlelAl pdtuwWelAl ou$elpcustWsti$el?QpvWjh?Q6Q?Q?D?pfwtxWxy?Z-pgxwyWwy- ? phyxzWz|a? wx[lpizy{Wy{|[l$pj{z|Wz|$Al pk|{}WqAl y{?pm}|~W~on?h-pn~}W}r-QdeJsHHeK aHH [l  Al w ` D lCalling Convention ) ` R s t? ` c ـ8- Save any registers that will be needed later on stack ` ` C - Put label for continuation in the  continue  register ` J 0 - Goto subroutine entry point (label) y ` ' - Do subroutine computations ` 3 - Put result in the  val  register  ` y< - Goto location specified by  continue  register | ` $(- Restore save registers from the stack HHeMHHlT ? po~W? }~[lppW[l$pqW$Al prWAl ޤ?ptWޤ?linCoޤޤդ-puW veդ-at llդդդ? pvWtabդ? [l܀pwW[l܀$ӀpxW$ӀӀAl pyWӀAl deotloHHe e|HHa- rom the  ` [ !Recursive Sum-Roots (With Stack) &UT UT` \  ;UR UT` ] (define-machine sum-roots PUP UT` ^ # (registers continue from to temp) ppeUN UT` _  (operations + sqrt >) $zUL UT` ` pq (controller UJ UT` a ˀ. ;; On entry -- continue holds return label UH UT` b l7 ;; -- registers from, to hold input values UF UT` d Co, ;; On return -- register val holds answer UD UT` i sum-roots t UB UT` j ˤ& (test (op >) (reg from) (reg to)) U@ UT` k  (branch (label base-case))  U> UT` n 4 ;; Need to recurse, so remember what well need "U< UT` o ˀ% ;; for the deferred operation... 7U: UT` p  (save from) LU8 UT` q  (save continue) aU6 UT` r 5 (assign continue (label do-deferred-operations)) vU4 UT` s . (assign from (op +) (const 1) (reg from)) U2 UT` t ( (goto (label sum-roots)) ; recurse (WU0 UT` u UT base-case U. UT` v  (assign val (const 0)) PUPU, UT` w ( (goto (reg continue)) U* UT` x ˪ do-deferred-operations rU( UT` y ˪5 (restore continue) ;; restore in reverse order! n U& UT` z ol (restore from) UTU$ UT` { ' (assign temp (op sqrt) (reg from)) va3U" UT` | ˪- (assign val (op +) (reg val) (reg temp)) aHU UT` } ˪ (goto (reg continue)))) UT]U UT` ~ (t HHekHHl  ;;?p{We?ˀ -p|W (s- UT? p}Waig? [lp~W [l$pW $Al pW seAl &?pW,UT&? (go &&-pWo r-˪ ? pWT? [l$pWte[l$$pWa(o$Al pWgonAl J?pWJ?HJJA-pWA-AAA? pWA? [lHpW[lH$?pW$??Al pvWl?Al ?D$pvW?D$lcD?D? $pW? $c ? ?$pW?$c??$pW?$c??$pW?$[lc??$pWa(o?$c??l$pW?l$pcl?l;qcZpW;qcZzm?pWzm?A)zmzmm-pWm-p)mmzm? pWzm? $xJpW$xJ[lJpW[lJ$xJAl pW$xJAl )pW))I($pW )I($;I(;I()I()I($?pW$?)$$$-pW$-)$$$? pW$? $(pW$([l(pW[l($(Al pW$(Al dfmHHf mHH$   p%Implementing a Scheme Interpreter in ! @ πAssembly Language > ` J ^ ` l Registers t ` #expThe expression to be evaluated  ` 3envThe environment in which to find variable vals  ` 8valWhere the value is stored when  eval  is done ` p:continueThe label to resume at when  eval  is done ` 0arglThe arguments to a procedure to be applied  ` $)procThe procedure that is to be applied   5unevEither unevald subexpressions of a combination   [lO(which go into  proc  and  argl  after they are evaluated), or the $ @ Esubexpressions of a  begin  expression that is being evaluated D ` Primitive Operations: Z ` 8Basic mathematical operations (e.g.  +, -, *, / ) p ` (Predicates (e.g.  =, >, < , etc.) em ` te>Compound data operations (e.g.  cons, car, cdr, null? )    ;Environment manipulation (e.g.  lookup-variable, extend-ion @ environment )  ` en9Expression syntax operations (e.g.  if-predicate ) a ` isStack    is:Heap - random access memory for storage of cons cells and  @  other objects HHfde HHl  isVmm?pWmm?mmm;m_QpW_Qm: _2_Q)"l$pW )"l$ement;+l;=l)Fl)"l2?pWte2?perio)22;-pWEn;-ati ();;2? pWnro2? $0[lpW(g.$0[l[l9[lpW[l9[l$0[lAl pW $0[lAl h?~pWh?~dfHHf HH2 ` mMeta-Circular Evaluator ) ` m UT`  ((begin? exp) 8U< UT` 2 (eval-sequence (begin-actions exp) env)) MU: UT` 0 ((cond? exp) (eval (cond->if exp) env)) bU8 UT`  ((application? exp) wU6 UT` -C* (apply (eval (operator exp) env) U4 UT` m6 (list-of-values (operands exp) env))) U2 UT` g? (else U0 UT` : (error "Unknown expression type -- EVAL" exp)))) HHfe-oHHl t? df ? p)HHf HHSev  ` (( ` ϪEval-dispatch Contract pro) ` am r? ` Ӫ*exp  has an expression to be evaluated _ ` UT9env  has an environment to be used for the evaluation  ` :continue  has a label to be used to deliver the result   xp;When the value has been computed, it will be placed in the d->  U8Dval  register and computing will continue at the label stored in @ l the  continue  register   EThe stack will be returned to its state at the beginning of  eval-   ӪBdispatch  (that is, anything added to the stack will have been   Arestored back off the stack, and nothing originally on the stack - @ 'will have been removed from the stack) M ` 7Trust No One - any other registers may be obliterated! HHfHHl Evdfm r haHHf HH#nvthe eval  `  hEval-dispatch ) `  he s UT` e  (test (op if?) (reg exp)) 8U< UT`  (branch (label ev-if)) MU: UT` (test (op lambda?) (reg exp)) bU8 UT`  (branch (label ev-lambda)) wU6 UT` ha (test (op begin?) (reg exp)) U4 UT`  (branch (label ev-begin)) U2 UT`  (test (op cond?) (reg exp)) U0 UT` pa (branch (label ev-cond)) UT`  (goto (reg continue)) ap8U< UT` . UT MU: UT` ) (l ev-lambda bU8 UT` * rr1 (assign unev (op lambda-parameters) (reg exp)) wU6 UT` + * (assign exp (op lambda-body) (reg exp)) U4 UT` , " (assign val (op make-procedure) U2 UT` 0 . (reg unev) (reg exp) (reg env)) U0 UT` -  (goto (reg continue)) U. UT` (  HHfaonHHl ` /$0?~ pW ss/$0?~ /$9/$9 cons z( pW s oz( ÕÕ stackQupWo (Qu UTQ_Q;~$pW)UD;~$ evar;~_~;$pWae-;$ ;_;2$pW ;2$ntie);2_2hpW U8h1 ssh()yJpW ss()yJ66 U4-kvԀpW odu-kvԀ??  Data Flow:+;@ԀpW +;@Ԁ*4*4 Controller: To be defined...dqHHq HHcons  b sEval-sequence ) b Õ  UTb$ p* (assign unev (op rest-exps) (reg unev)) 8U< UTb% Da (goto (label ev-sequence)) MU: UTb& ev-sequence-last-exp bU8 UTb' Co (restore continue) .wU6 UTb(  (goto (label eval-dispatch)) U4 UTb)  HHq HHlV dq4v-sÕ dgTUTrsHHg esHHun (   e `  ULApply-dispatch Contract un) ` #  ?  $ UHAproc  contains a procedure (primitive or compound) that is to U @ $  be applied belu  % =argl  contains the arguments to the procedure (in reverse @ % order!)  & re@The top of the stack contains a label to be used to deliver the ne @ & %result got  ' ce;When the value has been computed, it will be placed in the b'  ' on@val  register, and computation will continue at the location U4 @ ' *originally stored at the top of the stack -  ( FThe stack will have had one item (the  continue  label) removed C  ( vCfrom it. Nothing on the stack when  apply-dispatch  started Y @ ( will have been changed Hy ` ) g6Trust No One - any other registers may be obliterated HHq5 HHAp)   `*  )Ev-sequence - With tail recursion broken u) `  UT`6 nt* (assign unev (op rest-exps) (reg unev)) 8U< UT`7 g  (goto (label ev-sequence)) pMU: UT`8 ev-sequence-end bU8 UT`9 UT (restore continue) )wU6 UT`: - (goto (reg continue)) e U4 UT`<  U2 UT`  HHq7HHl  dgWuUTHHgX HH?)`- h  ` &Eval-if ) ` n Strategy: ? ` e8Make a  recursive call  to evaluate the predicate U ` ! UTC->  Deferred operations : the consequent or the alternative UTu  " otKTurn control over to  eval-dispatch    to handle either the alter UT @ " esnative or the consequent 5 ` $ ne5-> Do NOT make a recursive call -- no deferred ops! ` & UT UT UT`  (lev-if UR UT` UT (assign unev (reg exp)) UP UT` 96 (save unev)  ;save expression for later  UN UT` e (save env) <UL UT` Ъ (save continue) 3UJ UT` ) (assign continue (label ev-if-decide)) HUH UT` , (assign exp (op if-predicate) (reg unev)) ]UF UT` ; (goto (label eval-dispatch))  ;evaluate the predicate rUD UT`  UB UT` #  ev-if-decide U@ UT`  (restore continue) U> UT` -i (restore env) U< UT`  (restore unev) aU: UT` c (test (reg val)) he U8 UT` $ (branch (label ev-if-consequent)) onU6 UT` % enev-if-alternative U4 UT` ". (assign exp (op if-alternative) (reg unev)) /U2 UT` th (goto (label eval-dispatch)) esDU0 UT` nsev-if-consequent YU. UT` OT- (assign exp (op if-consequent) (reg unev)) nU, UT`  (goto (label eval-dispatch)) UTU* UT` ss HHgZunHHl e HHgvcoHHl  -dedg  p  UFHHg   t))HHdi    # ` * UTApply-dispatch res) ` + U> T UT` 8 co% (reg proc) (reg argl)) 8U< UT` 9  (restore continue) MU: UT` I  (goto (reg continue)) bU8 UT` K  wU6 UT` S compound-apply HU4 UT` T di5 (assign unev (op procedure-parameters) (reg proc)) U2 UT` U UT5 (assign env (op procedure-environment) (reg proc)) U0 UT` V sp& (assign env (op extend-environment) U. UT` W UT/ (reg unev) (reg argl) (reg env)) regU, UT` X ˪/ (assign unev (op procedure-body) (reg proc)) {UNU* UT` Y % (goto (label  ev-sequence )) c U( UT` Z ˪ 1HHg  JUTHHl    gn dh id-  va HHh   UDHHUBive-appl  ` ' p Evaluating an Application )  / coAStrategy: "Evaluate all subexpressions, then apply the value of s? @ / U:&the first to the values of the rest." U ` 3 K k  1 S?Evaluate the operator (using a subroutine call to  eval-dispro  1 (Epatch ). Remember our calling convention &  eval-dispatch  n @ 1 U0 contract! UT UT` 2 v  UR UT` v ) ev-application UTUP UT` 4 eg7 (save continue)   ;dest for after application assUN UT` 5 du (save env) rUL UT` 6 ˪( (assign unev (op operands) (reg exp)) UJ UT` 7 Z) (save unev)   ;the operands (UH UT` 8 ' (assign exp (op operator) (reg exp)) =UF UT` 9 9 (assign continue (label  ev-appl-did-operator )) RUD UT` : 6 (goto (label eval-dispatch))  ;eval the operator gUB UT` w 6   x FOnce we have the operator, we will save it away (in  proc ) and   x St=start working on the operands. Notice that the operands (in s  x U:Aunev ) and the environment are restored, but not the continua @ x Ev#tion - which remains on the stack. ne U@ UT` ; is oU> UT` < (;ev-appl-did-operator  ;deferred ops - handle operands patU< UT` = 9 (restore unev)  ;the operands vU: UT` > on (restore env) 4.U8 UT` ? in6 (assign argl (op empty-arglist))  ;init argl CU6 UT` @ en=  (assign proc (reg val))  ;the operator )XU4 UT` A 7*  (test (op no-operands?) (reg unev)) mU2 UT` B 8: (branch (label apply-dispatch))   ;ready to apply! U0 UT` C n 9 (save proc)   ;else we need to eval operands HHh  evHHl     dhd a(i  HHhe   oceHH sev ) nm  y th>Save the arguments that have been computed so far (and are in "  y ӪAargl ) so we can add on to them when we have the value of the r8  y erBnext operand. See if this is the last operand. If so, handle it N  y vHspecially (because after the last one we dont need to save  env  gld @ y ))or  unev  any more). wUT UT` D ss UR UT` z ev-appl-operand-loop tUP UT` E A (save argl) UN UT` F ) - (assign exp (op first-operand) (reg unev)) bUL UT` G ) ' (test (op last-operand?) (reg unev)) n UJ UT` H $ (branch (label ev-appl-last-arg)) UH UT` { : (save env)  ;prepare for subroutine call to compute  UF UT` J + (save unev)  ; the next operand value UD UT` K ; (assign continue (label  ev-appl-accumulate-arg )) 4UB UT` L  (goto (label eval-dispatch)) IU@ UT` }  mf  | 9We have one more argument value, so get back the list of |  | Darguments remaining to evaluate ( unev ), the environment for e   | Athe next argument ( env ), and the list of argument values a  | Ealready computed ( argl ). Add the value just computed to the   | 9list of computed arguments, remove one argument from the D @ | ٪1list remaining to compute, and return to step 3. AU> UT` M UN TU< UT` N ssev-appl-accumulate-arg ) (U: UT` O UT (restore unev) s'U8 UT` P ?) (restore env) UJr$$o  r$$ 3o  333^$o  ^$6yI"yI"^^)-o  )-EE(Z?o  Z? ZltlZG &32o  tlZG &32y̥tl̥ +Z?o  Z? 66o  66p6ll-o  32-fr~-Zo  ~-Z$~~)o   )$))co   c<?o  R#,?{<Nib32o  b32~oo sqrt2E?o  2E?? MZU#32o    ? MZU#32QY? Y temp2E?o   2E? qNo    2qN+qNNW?o     W?oW2WN o      N NNWW o      W oW``No    N  < o    < EËEË !$-o   !$-!N?8$, 32o    $, 32$8$8 0!$-o  !$-  ?86o  ?86?8u8H. o   H. QH.Z.Q7H7 o    H7 qQ7H@Z@H.o   H. 632o    6326'6' Q o     Q N Q o       Q Qo     Q  Q o     Q oQ o     ËQ Qo      Q  &Q o     o&Q /Q o     /Q o&Qo      &Q  Q6o    Q6  qQo     qQzn ZS=32o      ozn ZS=32zn continueqQo    oqQ  2 ?o     o2 ? 2 q ; o     o; ;MD ;  o    ;  D ;M;o   ! ;  V o ! " " # V   Vh_ V  o " ! # ! #  V  Q_ VhVo # " $  V ! "?uo $  # % o?uo o % $ & & ' ]#  o & % ' % ' ]- ZSo ' & (  % & o ( ' ) ) * ]#  o ) ( * ( * ]- o * )  ( )d5Leftd6Rightd7 Reference;dDdRddo #dddddod d od d  d   %d dQdd a k/of a CellTiny.  f b  Bullet1d\t. 7f cCellBody. f d  CellHeading. f e  Footnote. f fTHeading1Body. f gT Heading2Body. f hT  HeadingRunInBody. f i l yIndented. f j  Scheme. f l o o TableFootnote. f mT  TableTitleT:Table : .  f nPTitleBody. f o T  TableTitleT:Table : . f p   CellHeading. f q E. Numbered1.\tNumbered. f r   CellFooting. f s  SchemeSig. @ t  Header. @ u  Footer. f v Body. f w Scheme. f x Body. f zEhe. Numbered1.\tNumbered. f { THeading1Body.  f | Bulleted\t. f }T Heading1ContBody. f ~   Scheme. $$$f THeading1Body. f Body. f CellBody. f Equation. f  HighlightNumber.  f . Numbered.\t. $f $. d~.Bullet2y-\t. $f $. l.Bullet2f-\t. f CellTiny.  f . Numbered.\t. $f $. c.Bullet2-\t. $f $. l.Bullet2-\t.  f  Bullet1\t. +33f +33. SubNumbered < >.\t. 6$f 6. l.Bullet3. 6$f 6. l.Bullet3. f  Scheme. f  Scheme. f  Scheme.   Emphasis EquationVariables         SchemeFont           SchemeFont           SchemeFont     Z Z F F F  F  F  Thin Medium Double Thick@  Very Thin-=-     oH p rH p rH p rH p rH p rFormat A   ou v b vu v v vu v a vu v v vFormat Beue U e V UComment @ afe d BlackT!WhiteddAReddd Greendd  Blued Cyand Magenta d Yellow=M=  M.Times.P Times-RomanM.Arial Rounded MT Bold.B M.Times.B Times-Bold M.Courier.B Courier-Bold M.Courier.BICourier-BoldOblique M.Helvetica.B-Helvetica-Bold M.Courier.PCourierArial Rounded Monotype Boldo Courier HelveticaTimesRegularRomanpMediumBoldedBold RegularmOblique Italic& { xM|gKA-jjH0J5սyl ~F7T6 i9":Va`(F#jM\)!p"ULa:GX䣕 pī$ػW7>!36'~:z7Z"tֆT@xGoS)Du # !ޜ9}R_c/Xbpz%\F"EL:Ô: Kd[8