From 9af86df169174dd7be2933e23c1ba4a3f3247834 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Tue, 7 Dec 2021 15:46:43 -0800 Subject: [PATCH] Recompile with COMPILE-FIILE (#611) --- lispusers/LIFE | 227 +++++++++++++++++++++++++------------------ lispusers/LIFE.DFASL | Bin 0 -> 4693 bytes lispusers/LIFE.LCOM | Bin 5184 -> 0 bytes 3 files changed, 132 insertions(+), 95 deletions(-) create mode 100644 lispusers/LIFE.DFASL delete mode 100644 lispusers/LIFE.LCOM diff --git a/lispusers/LIFE b/lispusers/LIFE index 8472a7e0..6e6ba8ab 100644 --- a/lispusers/LIFE +++ b/lispusers/LIFE @@ -1,119 +1,156 @@ -(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "INTERLISP") -(filecreated "20-Aug-88 12:18:43" {erinyes}medley>life.\;5 8231 +(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) - |previous| |date:| " 6-Mar-87 19:11:20" {erinyes}medley>life.\;3) +(FILECREATED " 6-Dec-2021 15:21:48" |{DSK}medley>medley>lispusers>LIFE.;3| 9875 + + |changes| |to:| (VARS LIFECOMS) + (FNS EXPAND.BITMAP.VERTICALLY) + + |previous| |date:| "20-Aug-88 12:18:43" |{DSK}medley>medley>lispusers>LIFE.;1|) -; Copyright (c) 1987, 1988 by Xerox Corporation. All rights reserved. +; Copyright (c) 1987-1988 by Xerox Corporation. -(prettycomprint lifecoms) +(PRETTYCOMPRINT LIFECOMS) -(rpaqq lifecoms - ((functions |Life| |LifeIdle|) - (fns expand.bitmap.vertically expand.bitmap.horizontally) - (addvars (idle.functions ("Life" '|LifeIdle| nil (subitems ("Single bits" '|LifeIdle|) - ("Double bits" '(lambda (\w) +(RPAQQ LIFECOMS + ((PROP FILETYPE LIFE) + (FUNCTIONS |Life| |LifeIdle|) + (FNS EXPAND.BITMAP.VERTICALLY EXPAND.BITMAP.HORIZONTALLY) + (ADDVARS (IDLE.FUNCTIONS ("Life" '|LifeIdle| NIL (SUBITEMS ("Single bits" '|LifeIdle|) + ("Double bits" '(LAMBDA (\w) (|LifeIdle| \w 2))) ("Quadruple bits" - '(lambda (\w) + '(LAMBDA (\w) (|LifeIdle| \w 4))) - ("Eight bits" '(lambda (\w) + ("Eight bits" '(LAMBDA (\w) (|LifeIdle| \w 8))))))))) -(cl:defun |Life| (win &optional (n 1)) - (let* ((w (windowprop win 'width)) - (w1 (idifference w n)) - (h (iquotient (windowprop win 'height) - n)) - (h1 (sub1 h)) - (a (bitmapcreate w h)) - (b (bitmapcreate w h)) - (c (bitmapcreate w h)) - (d (bitmapcreate w h)) - (e (bitmapcreate w h)) - pbt temp) - (|if| (neq n 1) - |then| (setq temp (bitmapcreate (iquotient w n) - h)) - (setq pbt (|create| pilotbbt)) - (bitblt win 0 0 temp 0 0) - (expand.bitmap.horizontally temp n a pbt) - (setq temp (bitmapcreate w (windowprop win 'height))) - (bitblt a 0 0 temp 0 0 w h) - |else| (bitblt win 0 0 a 0 0 w h)) - (cl:loop (block) - (cl:macrolet ((bitbltbitmap (source sourceleft sourcebottom destination - destinationleft destinationbottom width height - &optional sourcetype operation) - `(\\bitblt.bitmap ,source ,sourceleft ,sourcebottom - ,destination ,destinationleft ,destinationbottom - ,width - ,height - ,sourcetype - ,operation nil nil ,sourceleft ,sourcebottom)) - (shuffle (inhi lo horiz?) - `(progn ,@(|if| horiz? - |then| `((bitbltbitmap ,inhi n 0 ,lo 0 0 w1 h) - (bitbltbitmap ,inhi 0 0 ,lo w1 0 n h) - (bitbltbitmap ,inhi 0 0 c n 0 w1 h) - (bitbltbitmap ,inhi w1 0 c 0 0 n h)) - |else| `((bitbltbitmap ,inhi 0 1 ,lo 0 0 w h1) - (bitbltbitmap ,inhi 0 0 ,lo 0 h1 w 1) - (bitbltbitmap ,inhi 0 0 c 0 1 w h1) - (bitbltbitmap ,inhi 0 h1 c 0 0 w 1))) - (bitbltbitmap c 0 0 ,lo 0 0 w h 'input 'invert) - (bitbltbitmap ,lo 0 0 c 0 0 w h 'input 'erase) - (bitbltbitmap ,inhi 0 0 ,lo 0 0 w h 'input 'invert) - (bitbltbitmap ,lo 0 0 ,inhi 0 0 w h 'input 'erase) - (bitbltbitmap c 0 0 ,inhi 0 0 w h 'input 'paint)))) - (shuffle a b t) - (shuffle b d nil) - (shuffle a e nil) - (bitbltbitmap d 0 0 c 0 0 w h) - (bitbltbitmap b 0 0 c 0 0 w h 'input 'invert) - (bitbltbitmap e 0 0 c 0 0 w h 'input 'invert) - (|if| (eq n 1) - |then| (bitblt win 0 0 d 0 0 w h 'input 'paint) - |else| (bitbltbitmap temp 0 0 d 0 0 w h 'input 'paint)) - (|if| (shiftdownp 'ctrl) - |then| (bitbltbitmap d 0 0 a 0 0 w h) - |else| (bitbltbitmap b 0 0 e 0 0 w h 'input 'paint) - (bitbltbitmap e 0 0 a 0 0 w h 'input 'invert) - (bitbltbitmap c 0 0 a 0 0 w h 'input 'erase) - (bitbltbitmap d 0 0 a 0 0 w h 'invert 'erase)) - (|if| (eq n 1) - |then| (bitblt a 0 0 win 0 0 w h) - |else| (expand.bitmap.vertically a n temp pbt) - (bitblt temp 0 0 win 0 0) - (bitbltbitmap a 0 0 temp 0 0 w h)))))) +(PUTPROPS LIFE FILETYPE :COMPILE-FILE) -(cl:defun |LifeIdle| (\w &optional (\n 1)) - (bitblt (windowprop \w 'imagecovered) +(CL:DEFUN |Life| (WIN &OPTIONAL (N 1)) + (LET* ((W (WINDOWPROP WIN 'WIDTH)) + (W1 (IDIFFERENCE W N)) + (H (IQUOTIENT (WINDOWPROP WIN 'HEIGHT) + N)) + (H1 (SUB1 H)) + (A (BITMAPCREATE W H)) + (B (BITMAPCREATE W H)) + (C (BITMAPCREATE W H)) + (D (BITMAPCREATE W H)) + (E (BITMAPCREATE W H)) + PBT TEMP) + (|if| (NEQ N 1) + |then| (SETQ TEMP (BITMAPCREATE (IQUOTIENT W N) + H)) + (SETQ PBT (|create| PILOTBBT)) + (BITBLT WIN 0 0 TEMP 0 0) + (EXPAND.BITMAP.HORIZONTALLY TEMP N A PBT) + (SETQ TEMP (BITMAPCREATE W (WINDOWPROP WIN 'HEIGHT))) + (BITBLT A 0 0 TEMP 0 0 W H) + |else| (BITBLT WIN 0 0 A 0 0 W H)) + (CL:LOOP (BLOCK) + (CL:MACROLET ((BITBLTBITMAP (SOURCE SOURCELEFT SOURCEBOTTOM DESTINATION + DESTINATIONLEFT DESTINATIONBOTTOM WIDTH HEIGHT + &OPTIONAL SOURCETYPE OPERATION) + `(\\BITBLT.BITMAP ,SOURCE ,SOURCELEFT ,SOURCEBOTTOM + ,DESTINATION ,DESTINATIONLEFT ,DESTINATIONBOTTOM + ,WIDTH + ,HEIGHT + ,SOURCETYPE + ,OPERATION NIL NIL ,SOURCELEFT ,SOURCEBOTTOM)) + (SHUFFLE (INHI LO HORIZ?) + `(PROGN ,@(|if| HORIZ? + |then| `((BITBLTBITMAP ,INHI N 0 ,LO 0 0 W1 H) + (BITBLTBITMAP ,INHI 0 0 ,LO W1 0 N H) + (BITBLTBITMAP ,INHI 0 0 C N 0 W1 H) + (BITBLTBITMAP ,INHI W1 0 C 0 0 N H)) + |else| `((BITBLTBITMAP ,INHI 0 1 ,LO 0 0 W H1) + (BITBLTBITMAP ,INHI 0 0 ,LO 0 H1 W 1) + (BITBLTBITMAP ,INHI 0 0 C 0 1 W H1) + (BITBLTBITMAP ,INHI 0 H1 C 0 0 W 1))) + (BITBLTBITMAP C 0 0 ,LO 0 0 W H 'INPUT 'INVERT) + (BITBLTBITMAP ,LO 0 0 C 0 0 W H 'INPUT 'ERASE) + (BITBLTBITMAP ,INHI 0 0 ,LO 0 0 W H 'INPUT 'INVERT) + (BITBLTBITMAP ,LO 0 0 ,INHI 0 0 W H 'INPUT 'ERASE) + (BITBLTBITMAP C 0 0 ,INHI 0 0 W H 'INPUT 'PAINT)))) + (SHUFFLE A B T) + (SHUFFLE B D NIL) + (SHUFFLE A E NIL) + (BITBLTBITMAP D 0 0 C 0 0 W H) + (BITBLTBITMAP B 0 0 C 0 0 W H 'INPUT 'INVERT) + (BITBLTBITMAP E 0 0 C 0 0 W H 'INPUT 'INVERT) + (|if| (EQ N 1) + |then| (BITBLT WIN 0 0 D 0 0 W H 'INPUT 'PAINT) + |else| (BITBLTBITMAP TEMP 0 0 D 0 0 W H 'INPUT 'PAINT)) + (|if| (SHIFTDOWNP 'CTRL) + |then| (BITBLTBITMAP D 0 0 A 0 0 W H) + |else| (BITBLTBITMAP B 0 0 E 0 0 W H 'INPUT 'PAINT) + (BITBLTBITMAP E 0 0 A 0 0 W H 'INPUT 'INVERT) + (BITBLTBITMAP C 0 0 A 0 0 W H 'INPUT 'ERASE) + (BITBLTBITMAP D 0 0 A 0 0 W H 'INVERT 'ERASE)) + (|if| (EQ N 1) + |then| (BITBLT A 0 0 WIN 0 0 W H) + |else| (EXPAND.BITMAP.VERTICALLY A N TEMP PBT) + (BITBLT TEMP 0 0 WIN 0 0) + (BITBLTBITMAP A 0 0 TEMP 0 0 W H)))))) + +(CL:DEFUN |LifeIdle| (\w &OPTIONAL (\n 1)) + (BITBLT (WINDOWPROP \w 'IMAGECOVERED) 0 0 \w) - (|Life| \w \n)) -(defineq + (|Life| \w \n)) +(DEFINEQ -(expand.bitmap.vertically -(lambda (bitmap m bm2 pbt) (* \; "Edited 6-Mar-87 15:02 by Masinter") (or bm2 (setq bm2 (bitmapcreate (|fetch| bitmapwidth bitmap) (times m (|fetch| bitmapheight bitmap))))) (or pbt (setq pbt (|create| pilotbbt))) (|with| pilotbbt pbt (*) (setq pbtdesthi (|ffetch| |BitMapHiLoc| bm2)) (setq pbtdestlo (|ffetch| |BitMapLoLoc| bm2)) (setq pbtsourcehi (|ffetch| |BitMapHiLoc| bitmap)) (setq pbtsourcelo (|ffetch| |BitMapLoLoc| bitmap)) (setq pbtdestbpl (times 16 m (|ffetch| bitmaprasterwidth bm2))) (setq pbtsourcebpl (times 16 (|ffetch| bitmaprasterwidth bitmap))) (setq pbtsourcebit 0) (setq pbtdestbit 0) (setq pbtflags 16384) (setq pbtheight (|fetch| bitmapheight bitmap)) (setq pbtwidth (|fetch| bitmapwidth bitmap)) (|for| i |from| 0 |while| (lessp i m) |do| (\\pilotbitblt pbt 0) (|add| pbtdestlo (|fetch| bitmaprasterwidth bm2)))) bm2) -) +(EXPAND.BITMAP.VERTICALLY + (LAMBDA (BITMAP M BM2 PBT) (* \; + "Edited 6-Dec-2021 15:04 by medley") + (* \; + "Edited 6-Dec-2021 14:47 by medley") + (* \; + "Edited 6-Dec-2021 13:54 by medley") + (* \; + "Edited 6-Dec-2021 13:51 by medley") + (* \; + "Edited 6-Dec-2021 13:11 by medley") + (* \; + "Edited 6-Mar-87 15:02 by Masinter") + (OR BM2 (SETQ BM2 (BITMAPCREATE (|fetch| BITMAPWIDTH BITMAP) + (TIMES M (|fetch| BITMAPHEIGHT BITMAP))))) + (OR PBT (SETQ PBT (|create| PILOTBBT))) + (|with| PILOTBBT PBT (*) + (SETQ PBTDESTHI (|ffetch| |BitMapHiLoc| BM2)) + (SETQ PBTDESTLO (|ffetch| |BitMapLoLoc| BM2)) + (SETQ PBTSOURCEHI (|ffetch| |BitMapHiLoc| BITMAP)) + (SETQ PBTSOURCELO (|ffetch| |BitMapLoLoc| BITMAP)) + (SETQ PBTDESTBPL (TIMES 16 M (|ffetch| BITMAPRASTERWIDTH BM2))) + (SETQ PBTSOURCEBPL (TIMES 16 (|ffetch| BITMAPRASTERWIDTH BITMAP))) + (SETQ PBTSOURCEBIT 0) + (SETQ PBTDESTBIT 0) + (SETQ PBTFLAGS 16384) + (SETQ PBTHEIGHT (|fetch| BITMAPHEIGHT BITMAP)) + (SETQ PBTWIDTH (|fetch| BITMAPWIDTH BITMAP)) + (|for| I |from| 1 |to| M |do| (\\PILOTBITBLT PBT 0) + (|add| PBTDESTLO (|fetch| + BITMAPRASTERWIDTH + |of| BM2)))) + BM2)) (expand.bitmap.horizontally (lambda (bitmap n bm2 pbt) (* \; "Edited 6-Mar-87 17:08 by Masinter") (or bm2 (setq bm2 (bitmapcreate (times n (|fetch| bitmapwidth bitmap)) (|fetch| bitmapheight bitmap)))) (or pbt (setq pbt (|create| pilotbbt))) (let ((sourcebase (|fetch| bitmapbase bitmap)) (destbase (|fetch| bitmapbase bm2))) (|with| pilotbbt pbt (setq pbtdestbpl n) (setq pbtsourcebpl 1) (setq pbtsourcebit 0) (setq pbtflags 16384) (setq pbtwidth 1) (let ((ht (times (|fetch| bitmapwidth bitmap) (|fetch| bitmapheight bitmap)))) (|do| (setq pbtdest destbase) (setq pbtsource sourcebase) (setq pbtheight (min (times 1024 16) ht)) (setq pbtdestbit 0) (|for| i |from| 0 |while| (lessp i n) |do| (\\pilotbitblt pbt 0) (|add| pbtdestbit 1)) (setq ht (- ht (times 1024 16))) (|if| (leq ht 0) |then| (return)) (setq destbase (\\addbase destbase (times n 1024))) (setq sourcebase (\\addbase sourcebase 1024)))))) bm2) ) ) -(addtovar idle.functions - ("Life" '|LifeIdle| nil (subitems ("Single bits" '|LifeIdle|) - ("Double bits" '(lambda (\w) +(ADDTOVAR IDLE.FUNCTIONS + ("Life" '|LifeIdle| NIL (SUBITEMS ("Single bits" '|LifeIdle|) + ("Double bits" '(LAMBDA (\w) (|LifeIdle| \w 2))) - ("Quadruple bits" '(lambda (\w) + ("Quadruple bits" '(LAMBDA (\w) (|LifeIdle| \w 4))) - ("Eight bits" '(lambda (\w) + ("Eight bits" '(LAMBDA (\w) (|LifeIdle| \w 8)))))) -(putprops life copyright ("Xerox Corporation" 1987 1988)) -(declare\: dontcopy - (filemap (nil (5774 7579 (expand.bitmap.vertically 5784 . 6658) (expand.bitmap.horizontally 6660 . -7577))))) -stop +(PUTPROPS LIFE COPYRIGHT ("Xerox Corporation" 1987 1988)) +(DECLARE\: DONTCOPY + (FILEMAP (NIL (1557 5825 (|Life| 1557 . 5825)) (5827 5955 (|LifeIdle| 5827 . 5955)) (5956 9223 ( +EXPAND.BITMAP.VERTICALLY 5966 . 8302) (EXPAND.BITMAP.HORIZONTALLY 8304 . 9221))))) +STOP diff --git a/lispusers/LIFE.DFASL b/lispusers/LIFE.DFASL new file mode 100644 index 0000000000000000000000000000000000000000..1b40c9d33667473ff45f2c388f7b3dc40ca9c207 GIT binary patch literal 4693 zcmcIoYitzP6`q-0uU~kx8zY0#6t6+DA{V>Z6x7lt^6c)I8GCkSy*nE)SRoiM*t28r z){mq~iUKIV+EoHIL30CX6)CFns8o}xl7Ue7B^4@JM1feckjgK9rj6w07eeki_sp(s zu$}ftE%0~G^WJmMy?4&>Iic!cOpnC!BZXlnI~K`LP8235BFFP%k@5WG*s*NnIPfE{ z#nU|}e>9XI$v!ud9dxpq`UUeYGXx&}W>PVv zS}+Kh84FwnU|1d3QVKVgwz^ZusZ7eT9(ljw7OOSGQc}8>PNE_#FK)?E9Rxl|1+e^4 zIjz))ZZYthG3hub1qfQ$xg0N#lLtM^hg&dY8hX*Y#qjP&Vj4#!=HsC>Lnu|S&}7O? zrb9qfdW7#=D8Wp|%tSf>L^XyQhYd{QhWb(DYjUT2Yzu0l(CSMnu;@)-k;H95UV}U3 z2PL$?IoMWE=VWzhOVixj@bN6V(E&9$RixwVGEllzIhce*wM8{6At&3OS5lT1lXblh zWKXS@sb)$$WEvKiPD!9pDaYf_%c-=>sh}3umA2)nVQ~-&P7dO?iWR*X(^6RDDR-&@ zmy^!GoJxWl7i-hQqbJ}73=B_cQ zlDJ8*ck<}q*ks`mEB0N`X1hF9*f;QAqYR%InpmC`g{#!6YH^D5pt^aj%k_4#<-fnO z!X>s1PS_bisCXu8FP_gj(xRJlq#Ay%vbhEOtM?u0=*;QdOea5uT+pX3TwOt`cMs38)ntqSD(~(+IGUWwVt{vKJ9cyQ}2>D(0CDf zji3%%W`k|l1-O#gpeD@CoA_8;u^7GxFaw9EU3N;Y6RK_4c6ZMZ{HS(akeh?5(QT`o z3I5AWGpKs1%iM0;4BDP?UrYUjMDz#(vTEyuZ~^&>ZE=RDnIuFls@y1M59S={m3!J>#;tu3bc*V_v;290%g z3f- zyi4#p!4U!#>}%4h)@8-b0|r-rmLyMeAHIj2^8JJ0j|3kQ{G4Efz$Dm35au8~Ah=I( zi{J{uMS_zAv>>UIs3wA14&v7Y_Xuthd`$2r!H)^j1bYY?392~=|0cKxAy-79nCpSf z5f*ru!ry?oiRuKZ_E7d`VAkzdEJzCM4wfOv{XN@(@F5wVWfoFzu-@a$>StDpS>4Qv zGHVaZG_y>d`-@^wPVLVm6vJv&QYka#o`bS1-Is>?U^kfhZ{d2B6clVo{T--)W?-#? z=446>@dP4%91ivgh&;L83U$2W~FrG?PmQ5Z6s4#ItKP*pkz$hgM}2!A5+HKL}8`iQ7s z5}YUa87qvl!XZ{LSRu*^ds(4{6(a0NkU161!F29$FI0g~u?5muN~3?iv|DSWlSDVY zJ-I1_C6Tu2s*I_+*4*Li308hl}UBPwC|}<7u$NVnsrJxcGi$jWFH#SbC-09Z*W-?p&X~tCO2A z`t8N{rt38s$obE%r~seMTwZeO>oM^aY)JA$ZY0&>4S7{uNn6<6LMx7+E;EygDM$-G zHY`ZYrW0X6r|PgBaF$k|gh@OJY?P;eGv@beO5VQ+ZWDY;aGBuO1Q!X;5}aYqtIR2| z!XVGN$qLW1LI-nNm;*U~f;j=qIkw$fmj9^mXouagL5Ce?_1HaEK^tnB(1;4sCT!ub zX|9f$$-WdmV!UVwAIy&Be*%Ai87t(+j!q2cMRGir8>AV=rB9SF!)ZK9#jl X7y3VRr>h&t|3gbEyn{KpxU}>iQ{g@; literal 0 HcmV?d00001 diff --git a/lispusers/LIFE.LCOM b/lispusers/LIFE.LCOM deleted file mode 100644 index 547e459eef26f0ffc76ed1f21361eb17eee2c4c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5184 zcmbVQTW{M|5|$k`-3>q>X&C5~5m?CMBs^eAfLe!*mIh9$Ib*?gWOlY23%D<3*(7I$=;+QdG)eA#Fr#D8c%2 z*gsreuYy)-RM#5SS_#zB7>7{yR(_xFbVzk^;|Hcp;U+Le_R zB-?v*+((*Hwyu>MWxY{dKWDIBW~}u(XnI3KHI)*4PCAaaL&7iKqi5`fq!Zq26Wb*_ z+``_wHK^+q4dTN||FgmP4y()UN0a6H8ffbcO>5}ot4ORYDdb^bc=n3v zL~SEjd7pG5$1+@Z2O4%=Q3EK0ga0ZJm=S(;FxxtQHE84iW#DW}Q22SFP$-&Ty}5C{ zfPc@6h8SEsyFnLri>KDtH$I}nySvvJjrqJVT{yMGcwt%);|*MYEgdgRk(1F3ZyIOj z^To5#t5-iwuceC{$9W9E{XrnN_A;yVe(?8}Hiqk)w?%!G{7_FDj-nRBX z6T4jb^Mc6_w)g@KZ5_P$=F9(?Hw&s>6E5IbL}2Ra66o3*1di)RCi+g-v}~eboVe>i ztIO+aiAzCStxEJYU7A$oNkyJ$7^g(xy0lR*XX~r=Y+PH-##KpQWfkJ$wM1036OgxJ zz|#nu>q*=dbrwJ^zvF!1dyx#GDncbd2(=>oXke2tGL4Ynqzs|o?O23O=b_BYp={yJ z*Eq@&bQRB%Xr?IpX9BWQzV)4m+;@drZ!Gd)8aW6ZOwS`n#>)ZXLTD)_+Rkn*T;sBw zA5suIKc*ON{g6Vq^<#?QQL!+*dG_zky$3J2VTbnsx$XYb#vzLKd?OH=_~R9js?A~|)Q-wbl$Fieh)Nipi826Fg)8p_icYW==cFpQsK94 z$BtSk6ZbXhW2f099pYI8w!vFcaJ_}g)W;4%2wWhgMV$Ms2&H&bQVS)a`!ztp7(h^Y z-QzVL<+5cHoi}gYnon-eUnX;x>1B(t4^X=j4?d338)OTpM<71_q>oLA8j@&>(aZ>t z&PpA?ZDqt%s2V?>^s#4%)8wNkq~|c*h`F_lMVYF`PZ_uJpqHV|sXQ=fYk-s&8HABj z=7%nEIyFI9U{JNGe&%Y3`@5alr=ROsy`Hcd{>5D5G*5`ei9dUt{!kPZ_^ z56aVB?e(}#qVvKW?e+dF?7&V`o>IlgDG_kZ$(m%+oF$q2y!8nKPa~m31SY4F9wZ@_ z&O=KTD_6`qg&$g0DK2>CDw_J}{Z_ZxbP@QD*K)x1fuZUzxRdw>bNoIgI2E~pkfjO0 zX$1Odn1vf>BFn6xaxs$;Biv`Mzr+xO1)@c@Ft8_BkT@u+GLCIc!MS%ii^Wu3CLH(6 zU@<$WOmswoYvuB@l(B8fETeWJ?y(qL^(gX7HXh&1>smB`B|t;9#&CAgkSmY zIh&KJ?RY_#Vwy+M@#woFD+9UMB+(Q46u^3(u*pI&#X@p{433C=e1#Y13sbIS55K{LEmOzOu~3BGtB(< z{DWm~%7>r)HfDau&0cZb+Voap_EHpI;AG*RG_P`pO|CTb&aVbu2%&ugH!5s7%?SGr zFGxIKMID!>uegYFYPj_5YMO5hcP;veR+vlAlTUK)*;GSf)I|xE4+{_WCCu}|I&-p2 zFH2pl$UG+nbLzeeVk%4!S2?;MD~I`xL;69&08inq0dF`2JkrRD#sF34Lc&#LRIK=7 z7R`2`tkuUV`&7Ea)!vAAp+cA3JtARJhuZl2l;xwT#71CHe6fa`cfT?1wtFM05T62( zkBCjdjUo;QiCdQu*fOD02aP2%>V!Z