From 35b7195ed5e008537be13e50857b702c6e0b255c Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Sun, 10 Mar 2024 21:59:59 -0700 Subject: [PATCH] DINFO was expecting to use a closed textstream without reopening (#1576) * DINFO was expecting to use a closed textstream without reopening Not sure why it got closed. Also fixed some escaped backquote commas (not sure that was necessary, but...) * Oops, dropped out the PROG1 --- lispusers/DINFO | 102 +++++++++++++++++++++---------------------- lispusers/DINFO.LCOM | Bin 27523 -> 29912 bytes 2 files changed, 49 insertions(+), 53 deletions(-) diff --git a/lispusers/DINFO b/lispusers/DINFO index a4f12404..d098e760 100644 --- a/lispusers/DINFO +++ b/lispusers/DINFO @@ -1,16 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 4-Aug-2022 09:56:25" {DSK}larry>medley>lispusers>DINFO.;2 65548 +(FILECREATED "10-Mar-2024 15:38:36" {WMEDLEY}DINFO.;12 65343 - :CHANGES-TO (FNS DINFO.UPDATE.FMENU DINFO.UPDATE.MENU.DISPLAY DINFO.UPDATE.HISTORY - DINFO.UPDATE.GRAPH.DISPLAY DINFO.LAYOUTGRAPH) + :EDIT-BY rmk - :PREVIOUS-DATE " 3-Feb-2022 11:57:39" {DSK}larry>medley>lispusers>DINFO.;1) + :CHANGES-TO (FNS DINFO.OPENTEXTSTREAM) + :PREVIOUS-DATE " 9-Mar-2024 22:21:42" {WMEDLEY}DINFO.;10) -(* ; " -Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. -") (PRETTYCOMPRINT DINFOCOMS) @@ -538,7 +535,8 @@ Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. (DINFO.UPDATE.FMENU GRAPH]) (DINFO.CREATE.FMENU - [LAMBDA (GRAPH) (* ; "Edited 25-Oct-2021 23:23 by rmk:") + [LAMBDA (GRAPH) (* ; "Edited 9-Mar-2024 14:20 by rmk") + (* ; "Edited 25-Oct-2021 23:23 by rmk:") (* jow "15-Jul-86 17:39") (* ;;; "Makes a DInfo FreeMenu for GRAPH") @@ -548,7 +546,7 @@ Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. (LET* [(ADD.ITEMS (fetch (DINFOGRAPH FREEMENUITEMS) of GRAPH)) (FONT (OR (FONTP (fetch (DINFOGRAPH MENUFONT) of GRAPH)) MENUFONT)) - [FM (FREEMENU `((PROPS FONT %, FONT) + [FM (FREEMENU `((PROPS FONT ,FONT) ((LABEL Node%: TYPE DISPLAY FONT (HELVETICA 10)) (ID NODE LABEL "" TYPE DISPLAY)) ((LABEL Top! SELECTEDFN DINFO.FMENU.HANDLER FONT (HELVETICA 10 BOLD) @@ -564,31 +562,30 @@ Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. MESSAGE "Visit the node after the current node") (ID NEXT LABEL "" TYPE DISPLAY)) ((LABEL Display%: TYPE DISPLAY FONT (HELVETICA 10)) - (LABEL Graph ID GRAPH INITSTATE %, (MEMB 'GRAPH DINFOMODES) + (LABEL Graph ID GRAPH INITSTATE ,(MEMB 'GRAPH DINFOMODES) TYPE TOGGLE SELECTEDFN DINFO.TOGGLE.GRAPH FONT (HELVETICA 10 BOLD) MESSAGE "Toggle display of the graph") - (LABEL Menu ID MENU INITSTATE %, (MEMB 'MENU DINFOMODES) + (LABEL Menu ID MENU INITSTATE ,(MEMB 'MENU DINFOMODES) TYPE TOGGLE SELECTEDFN DINFO.TOGGLE.MENU FONT (HELVETICA 10 BOLD) MESSAGE "Toggle display of the subnode menu") - (LABEL Text ID TEXT INITSTATE %, (MEMB 'TEXT DINFOMODES) + (LABEL Text ID TEXT INITSTATE ,(MEMB 'TEXT DINFOMODES) TYPE TOGGLE SELECTEDFN DINFO.TOGGLE.TEXT FONT (HELVETICA 10 BOLD) MESSAGE "Toggle display of the text of the current node") - (LABEL History ID HISTORY INITSTATE %, (MEMB 'HISTORY DINFOMODES) + (LABEL History ID HISTORY INITSTATE ,(MEMB 'HISTORY DINFOMODES) TYPE TOGGLE FONT (HELVETICA 10 BOLD) SELECTEDFN DINFO.TOGGLE.HISTORY MESSAGE "Toggle the display of the History Menu")) - %, - (APPEND '((LABEL Find! SELECTEDFN DINFO.FMENU.HANDLER FONT - (HELVETICA 10 BOLD) - MESSAGE + ,(APPEND '((LABEL Find! SELECTEDFN DINFO.FMENU.HANDLER FONT + (HELVETICA 10 BOLD) + MESSAGE "Perform a string search in the selected text of the current node" - ) - (LABEL Lookup! SELECTEDFN DINFO.FMENU.HANDLER FONT - (HELVETICA 10 BOLD) - MESSAGE + ) + (LABEL Lookup! SELECTEDFN DINFO.FMENU.HANDLER FONT + (HELVETICA 10 BOLD) + MESSAGE "Lookup a term in this graph. LEFT for new term, MIDDLE to repeat last." - )) - ADD.ITEMS] + )) + ADD.ITEMS] (HEIGHT (FETCH (REGION HEIGHT) OF (WINDOWPROP FM 'REGION] (WINDOWPROP FM 'FM.DONTRESHAPE T) (WINDOWPROP FM 'MINSIZE (CONS 0 HEIGHT)) @@ -859,11 +856,11 @@ Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. (fetch (DINFONODE LABEL) of (fetch (DINFOGRAPH CURRENTNODE) of DINFO.GRAPH]) (DINFO.UPDATE.FROM.GRAPH - [LAMBDA (GRAPHER.NODE GRAPH.WINDOW) (* drc%: "12-Dec-85 18:34") - (AND GRAPHER.NODE (ADD.PROCESS `(DINFO.UPDATE (QUOTE %, (WINDOWPROP GRAPH.WINDOW 'DINFOGRAPH)) - (QUOTE %, (fetch (GRAPHNODE NODEID) - of GRAPHER.NODE))) 'NAME - "DInfo From Graph"]) + [LAMBDA (GRAPHER.NODE GRAPH.WINDOW) (* ; "Edited 9-Mar-2024 14:21 by rmk") + (* drc%: "12-Dec-85 18:34") + (AND GRAPHER.NODE (ADD.PROCESS `[DINFO.UPDATE ',(WINDOWPROP GRAPH.WINDOW 'DINFOGRAPH) + ',(fetch (GRAPHNODE NODEID) of GRAPHER.NODE] + 'NAME "DInfo From Graph"]) (DINFO.GET.GRAPH.WINDOW [LAMBDA (GRAPH REGION) (* drc%: "25-Jan-86 18:05") @@ -1039,23 +1036,23 @@ Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. (PROMPTPRINT "DInfo is busy"]) (DINFO.OPENTEXTSTREAM - [LAMBDA (FILE WINDOW FROM TO PROPS) (* drc%: "25-Jan-86 18:24") + [LAMBDA (FILE WINDOW FROM TO PROPS) (* ; "Edited 10-Mar-2024 15:37 by rmk") + (* drc%: "25-Jan-86 18:24") (RESETFORM (TTYDISPLAYSTREAM (GETPROMPTWINDOW WINDOW)) (LET ((TEXTSTREAM (WINDOWPROP WINDOW 'TEXTSTREAM)) (THIS.TEXT (LIST FILE FROM TO))) (if (AND (EQUAL THIS.TEXT (fetch (DINFOGRAPH LAST.TEXT) of (DINFOGRAPH WINDOW))) - TEXTSTREAM) - then (* Same text, and its still there, so - do nothing.) + (\GETSTREAM TEXTSTREAM 'INPUT T)) + then + (* ;; "Same text, and it's still there and open, so do nothing.") + TEXTSTREAM else (AND TEXTSTREAM (TEDIT.KILL TEXTSTREAM)) (CLEARW T) (CLEARW WINDOW) - [RESETSAVE NIL `(AND RESETSTATE (WINDOWPROP %, WINDOW 'LAST.TEXT NIL] - (PRINTOUT T "Fetching text from " FILE "...") + [RESETSAVE NIL `(AND RESETSTATE (WINDOWPROP ,WINDOW 'LAST.TEXT NIL] (PROG1 (OPENTEXTSTREAM FILE WINDOW FROM TO PROPS) - (PRINTOUT T "OK.") - (replace (DINFOGRAPH LAST.TEXT) of (DINFOGRAPH WINDOW) with THIS.TEXT]) + (replace (DINFOGRAPH LAST.TEXT) of (DINFOGRAPH WINDOW) with THIS.TEXT))]) (DINFO.SHOWSEL [LAMBDA (TEXTSTREAM SEL) (* drc%: "16-Jan-86 21:30") @@ -1110,23 +1107,22 @@ Copyright (c) 1985-1987, 2020-2021 by Xerox Corporation. (SETTEMPLATE 'DINFOGRAPHPROP 'MACRO) ) -(PUTPROPS DINFO COPYRIGHT ("Xerox Corporation" 1985 1986 1987 2020 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (4744 6203 (DINFOGRAPHPROP 4744 . 6203)) (7457 24595 (DINFO 7467 . 9081) (DINFO.UPDATE -9083 . 11947) (DINFOGRAPH 11949 . 12367) (DINFO.SPECIAL.UPDATE 12369 . 14067) (DINFO.READ.GRAPH 14069 - . 15924) (DINFO.WRITE.GRAPH 15926 . 17016) (DINFO.SELECT.GRAPH 17018 . 17925) (DINFO.DEFAULT.MENU -17927 . 20451) (DINFO.FIND 20453 . 23039) (DINFO.LOOKUP 23041 . 24593)) (24596 27290 ( -DINFO.READ.KOTO.GRAPH 24606 . 27288)) (27291 29605 (DINFO.SETUP.WINDOW 27301 . 27982) (DINFO.CLOSEFN -27984 . 28417) (DINFO.SHRINKFN 28419 . 28615) (DINFO.EXPANDFN 28617 . 29174) (DINFO.ICONFN 29176 . -29603)) (29606 40850 (DINFO.ADD.FMENU 29616 . 30711) (DINFO.CREATE.FMENU 30713 . 34662) ( -DINFO.FMW.CLOSEFN 34664 . 35509) (DINFO.FMENU.HANDLER 35511 . 36150) (DINFO.UPDATE.FMENU 36152 . 38341 -) (DINFO.TOGGLE.MENU 38343 . 38933) (DINFO.TOGGLE.GRAPH 38935 . 39434) (DINFO.TOGGLE.HISTORY 39436 . -39980) (DINFO.TOGGLE.TEXT 39982 . 40848)) (40851 48646 (DINFO.UPDATE.MENU.DISPLAY 40861 . 44982) ( -DINFO.UPDATE.FROM.MENU 44984 . 45283) (DINFO.UPDATE.HISTORY 45285 . 47815) (DINFO.HISTORIC.UPDATE -47817 . 48644)) (48647 58943 (DINFO.UPDATE.GRAPH.DISPLAY 48657 . 50109) (DINFO.UPDATE.FROM.GRAPH 50111 - . 50554) (DINFO.GET.GRAPH.WINDOW 50556 . 51141) (DINFO.CREATE.GRAPH.WINDOW 51143 . 52260) ( -DINFO.SHOWGRAPH 52262 . 53987) (DINFO.INVERT.NODE 53989 . 55377) (DINFO.LAYOUTGRAPH 55379 . 58941)) ( -58944 64887 (DINFO.UPDATE.TEXT.DISPLAY 58954 . 60902) (DINFO.TITLEMENUFN 60904 . 62029) ( -DINFO.OPENTEXTSTREAM 62031 . 63247) (DINFO.SHOWSEL 63249 . 63982) (DINFO.GET.FILENAME 63984 . 64885))) + (FILEMAP (NIL (4556 6015 (DINFOGRAPHPROP 4556 . 6015)) (7269 24407 (DINFO 7279 . 8893) (DINFO.UPDATE +8895 . 11759) (DINFOGRAPH 11761 . 12179) (DINFO.SPECIAL.UPDATE 12181 . 13879) (DINFO.READ.GRAPH 13881 + . 15736) (DINFO.WRITE.GRAPH 15738 . 16828) (DINFO.SELECT.GRAPH 16830 . 17737) (DINFO.DEFAULT.MENU +17739 . 20263) (DINFO.FIND 20265 . 22851) (DINFO.LOOKUP 22853 . 24405)) (24408 27102 ( +DINFO.READ.KOTO.GRAPH 24418 . 27100)) (27103 29417 (DINFO.SETUP.WINDOW 27113 . 27794) (DINFO.CLOSEFN +27796 . 28229) (DINFO.SHRINKFN 28231 . 28427) (DINFO.EXPANDFN 28429 . 28986) (DINFO.ICONFN 28988 . +29415)) (29418 40740 (DINFO.ADD.FMENU 29428 . 30523) (DINFO.CREATE.FMENU 30525 . 34552) ( +DINFO.FMW.CLOSEFN 34554 . 35399) (DINFO.FMENU.HANDLER 35401 . 36040) (DINFO.UPDATE.FMENU 36042 . 38231 +) (DINFO.TOGGLE.MENU 38233 . 38823) (DINFO.TOGGLE.GRAPH 38825 . 39324) (DINFO.TOGGLE.HISTORY 39326 . +39870) (DINFO.TOGGLE.TEXT 39872 . 40738)) (40741 48536 (DINFO.UPDATE.MENU.DISPLAY 40751 . 44872) ( +DINFO.UPDATE.FROM.MENU 44874 . 45173) (DINFO.UPDATE.HISTORY 45175 . 47705) (DINFO.HISTORIC.UPDATE +47707 . 48534)) (48537 58866 (DINFO.UPDATE.GRAPH.DISPLAY 48547 . 49999) (DINFO.UPDATE.FROM.GRAPH 50001 + . 50477) (DINFO.GET.GRAPH.WINDOW 50479 . 51064) (DINFO.CREATE.GRAPH.WINDOW 51066 . 52183) ( +DINFO.SHOWGRAPH 52185 . 53910) (DINFO.INVERT.NODE 53912 . 55300) (DINFO.LAYOUTGRAPH 55302 . 58864)) ( +58867 64756 (DINFO.UPDATE.TEXT.DISPLAY 58877 . 60825) (DINFO.TITLEMENUFN 60827 . 61952) ( +DINFO.OPENTEXTSTREAM 61954 . 63116) (DINFO.SHOWSEL 63118 . 63851) (DINFO.GET.FILENAME 63853 . 64754))) )) STOP diff --git a/lispusers/DINFO.LCOM b/lispusers/DINFO.LCOM index d4f6f9868f00e7af399ae0c07d3c9c87e0dc4a68..fb0cdd1e5f39e6d591a9e9ecedeeb015bad41bce 100644 GIT binary patch delta 10985 zcmb7KZEPDydghXn;>fllS=5IuCK}VWK4OXDE|*`5FBU~E#g#}dO;VPXII)#Tjub1F zBggGslPi;4a81!WT+%^-CWquM#kFX0y*t^ofCfon6fJsnfwuP}*B)9lX#U*cindYE z01es#=`$Zo?NUjA>W8>9J3Bk`emw8r`p-_-4FFk{4_dYSHM}wp7BUv+Vq{~LCYGj%QHCFe9t0A#y zM30b3BQs!D$EO#`=2Mr+WIC5B&KQ;PszpY!#R{Q=%RR;@nJkr!v!*p)8PDK_*l2QB z8k#n#sgt_)#k&vJv)=pmAN>2)R*!P_ZV&#pll19>J@*`&|8v&5)ivM7e(5U*AHIiQ z-Ra-%GezId!IWQ9!$gR3zQh-yCKL1{pWmk@lJxn2 zW7YzRtHdf9#RU@69D-w0IU7b+p?F4UkW3e!jjWaV|jt7y1vH%)JSBH!c;A>YfT#6^80Iv1To5Gt4v}sQks|6 z14}9qXo_19)TXM5y>o?KnudrRdXKyA#iToYhJ~CWE)yY|OTc)oV^U{>*;1n3(etu0 zdZ)$X@uq~-16@b$%eJ?tmbqAWUcW8w(yiX{0Wr?o+okyAGyQ8^!Z!=_KYE8+`F-l| z(`(5D5gt`4n?)D{B$dslDmm$3YC^?*v#1g^uG?3zsH#y$Hw-<#S0%P{glt@hKKqm`XQSer0Xr z`ZW@bk>bjipCNjbl$JJEt~|3>@YRj0M2*p-y#ryQCL_{M$=WsY*!62)3F2OY1gooP zU)fk*A*)O50syOOQF^BTyjKa*AN4<0;}SHv=!g9+v#w^lyV>DxcDkDf+)b~$xlc56 z{6$=Yeh=#!@pznlhxQKhi!S=Y;lUIfS}0KiM6fu;WScdOe1>Rn@1`EOR8x;iKRCQv zgP=2J*+_Hv(A?&(>Cg}&QraMzE@4PGf(CEQSpaqoAn&kqEu0i8*4!?pCUr7jG0F%j zDQ=GTGc^X+aXe&Yj64ezZue7TI?0v|gF%^DH3}6Nr_+}JA4!gL*&;4oo~uT5lDDk6 z`4YQ__1dpwZ&U?LmdYWkggF70&bwiqRIL(Ql9?g!rQLhKR#o1_gHaeV*PG{qQv*DU;-|7+9Uy2(`rw6E}l7+Hat3u&<1Be0--(4k1 zXuHymyZvfc)QGN*N8n^`LAygLWXp5_QNr&VkHvB%65f@v<`!d|ha!d!5U~>p>URfx zzA?qy>hUOzfTH?xJfQG@viHdL!!l@$4!%DVl{>K^NYmw}L#a$g#zhTw&X*Swx+fYW zB|5U4lqBP{Ncw7kI2U@sVQlo$q9Sqv8nafhD%cL@X+*48Gde>48iILtb7iHla^*V4 zCP{u{Zg!w^s?aDHY9+GD$#=&>k#x`c}64aQja~y-K37Cw;7)&l;+eS7upRY0v z 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 E52(EmJpcdz delta 8871 zcmb7Jdu&_RdDo>RTb3nR)XOi~Ic6MLvMrkTUS2+w#O4)wDPD=>rAbPZT-%u)(Uuxo zbo5wlEDf_XL%U*anx3{;ye0vmi~L$7GxOQUmWns>XA4(WS8t!akzXw2Z=WqJuie~O%df7T zjhM-(<$hEdBb}~>IsFsfz)No(EambA%$XOG$kFRBW?ZkXU+loep~nM zn3>61=>_`h)5D9MVsmkQ!J5rZrS(*7j7+4`#++%*X2v5}2-cyFNAp*O9A$Yz^G~S3 zUqWtj`910A-qU~C-rge3?Pg%OZRqvs=abxvu}}Z zbnB<&phmmKe?Egi$exPmK8CL?(ukJ_NS1bLbBO~h?z-2CYdaBkstv-nKH7ew3SF@?N9l9 z#7Y^-9MSytw{pa*(a-jrc4!)XD={?Y@so@>F_AXd5|ivT5|DS!?N{hyg9quEeeK<9 zkhmh|%C(}4Xi8b%_kko)>U7GEH_y{)=Mh?PnuoEqdP%r#U1DnpyF_9YykbChW1&kcS-I`l?cON&FtK9Avl*Sn!b zzRd?;-_ogf|F{!!a7wLu<-juE=Q}a_%>EHaWtjeSeu!@EA1?Uah& zG0-+$ZFSaKJ+)SEt<_a)Iclwr=@_4d%Y2}v;jXXYZlK|ANdMzBH%g(c>E4!6MXf48 z!9E%IGATt(BOW0L8%;fO0P1TP!vN>yGuKKAln^n~MwsC$k%N8`0fL4N!hkAfF{tqc zg$86TNMYc9_oZEZc$@}KQ3EfPZ!xi!X7 zg#U#qhc@Rz^o3)8U-EhyZC!zH2;lu~mDAsEP?{xBR@6#nMKoc)Pz5Zx8LuE9Me&m8YCfOHuWZ14yd+*M zKDBWZOMu-huPn0oB-~3z_^A0DLxrld!5-jk(7X@UatID9EAmc{4S1-Y>rVmQ!*L)5 z3rj@vl1U3@>-CeE5uY=%W>_ZxkZ0OjnVhlVmyN=D;GG&=^9lWSf|RBw6L z@qpv#@3*$LNXuLm+$OTaU&~ZHn@70oWazb#{7QxG4GcIce z4an3*GWjd3PcAL5T<4q(emM%6L6)*-j3_F7Vl>k==YVf9+m%{E^t+>}l0Ud3TtVAa zrUCC4hRb#%f)!JBGtq!sH4_b$TPZZm#F8bTvJDZ$ORUMPZYJqJcXzp=UY~czG62!d zAL4dEf6;f4wx4`{aIMwRB4sK)*h}mkL#RGO|KQ{q`gbQEq92{ye;GWB2+bJT-hU01af9@{m4orcT}} z{fATYjp9z7PL+VG;xj@lezid?K4pg#V5n7P-~&P#0x^U-Am?T&v2`}91G`}Yr~la9 zb4F~andHG?nqK-ZXZ=8yh?D=|)BfW3|zqe$RQNgiyOPvS58#9l#Wii^+gbTH`d( zEF)avRbxJ-CnG#S%cOP#$|W9WV({P@JPv3OuH6Pku%~A%cQ|fk3_Jx?RGVInWX)_G zv`tL0O;70_RhCZEN7aMMP^{t-fs@1a66fIHHlM_S`NTPD83!DyM*loHOg~UhdG3rAYby>Ih5j||K=TbR{fH1lPDS~`?QR-=Q%(vqX{AUO<#cituN{Tzd7a~oCn}H zDw#zO(F01w4Fjms_;sXU%`Odr>sh8}@hZ{ii~hkbSf{v85ih;#AKVL`BQic@S|M|Q zULNXtQbt@5%8e#+H4Vxh*p{tLP(fRa3^4T!GVcW7I&6X8`8AfE2^h1#t*G`|jELyT z&}ReIkuf3_k%~YHT`b^Kj&eb7?*0|#x#eF3E=i?k`&NOqjayg2o|<}~qJjOELJ`Z%7CO@1L0=T6EIi05UDOK>A~N|Jd`5$Iwr4G^<3!uz+c$L)K8 zV&W|Tke_+oBfgsdz}f^H+olRDu|3O6bKwZRAAUmmBGn_~bS?5^3K3;HfYrdgnj&nw zElUxg3gN^}8G@#f#EcGyC7OqxFeZISXKY3fa?cq(42b8;NHS`C9*}O+c^~k*c$2O@65^jW{ z zXjLs7B3}iiXT>BqR!UDBuvjotmNF9fEzqCFVp%CcU!C!st#rH`TdeHjX44z1j4+E4 zCc*!iDKH9&=$IqmAB{$!v2qvHOpTV}7w7}?l*5qdYcppasdU_7vo3RCe!dnXF&ngE z&!*Amrqlez`5B{bHA{=4B8k-;|0P#56raI_uSsk4p~Nw2Bs?c89j}?y?TKPpFT1yk zo^}u7Ey|N98#+8bR-AJLy|^261Xxw?@E9_2QP_e>ig+PtFGOCS4XA#qCqsQ;zf}wu z_7S8n#fKe!5B-U8xRn|6M}0@>&z(KgXO$j7Z25Mdoy=T8QE%j3-NAp%P@R)qR!{5Z z6ZF5V6FrS#hq_Y{={M+FDo=l$Iwt)d{Wvw$@hXo<7NHNHSN9Hxo8cee{@VG6>6g!s zlz``HBc8D4piD2zZ5zUm7tAh=bdnce89~q*L$eC71n1)jtTG12OXWG_u80B#Oa9Dg zHIe}VCe3UD6>a_iLC8bGR82cem=%s8#&MRQz!^kU;0&AkjG54<5SAcy+fWpizi}>T z&(6@hVG5Wik9-6hjG~M*m5nh=kD!unq%*91;zbOaw6a;NJwa4deeb7-9J0zTU3ii+ zBX~nmd1miaAersdUV&+x&m1^`&5L0mF>IYY5Wt!nQhd-CDKj|4LV*g1bY(WKveMid zYI43{`JXb+Oa0LJDR4g2afh8uAKj1_@hQckYrLkfKLNX2I2A#0&ZNbRk81&fuP)bH+rX~?qdu$L1lLhMI z#KnjLcmhu`UAg5#fvo1o3j)&DSrKzRzj_159V%^~e?j^T{o=fLH?Q%w$LR<2lR11v z1d3`23HuXCFzN?(5{!rd%V;2V*kirZ`hm4|MPL+C?spH+XBUE#s6g@gZ34^)l*vyH ztQ_A1lJB}=D+;ZJ;>vZLHsx<&W6-c)3=JvbHEMp|1A*O(|E`OP^i+vYdr{14vE8OHKoAb8VMxO-A+ag=5+nVh*G$4QvTha=usOtep6alD`pZB3)bB`(6B0)ySB*-PAF>xc&)3QS z_|mpQu>seXs0!O>5WsmXsd2UN$Hori9Y47=e59I9GTK^QwAcd3CH>LG;eFth++L$e z3>oXB_b(lyw=d7^y2Q>0LiB^nm(KxQY%l^B5Y4nPWm-t+0wj&RkX7jT6&TlmdSji) zsmh;uBJFU^V!qZ8-x$}6#8Ru)%~MN#PG{?6<>a4D(w|*9G5r1IyWfjB=I{Q6pjFr_ zzG)vv(ZJQ?H*l}=$>^nb36OBd+L>*Ms|b-f?% zFI3NLgjE6||GU@sm*gOdN)0(8z87N3x%!>}); zP4NZhBdkK~N-VFfp-M@v;WQg(G86pZB}kuH9(M$^@|(-gN@w2WY2&sqD(F@lm~}UjyPdzpquLx_u0QBIm^jPAZZ{1gCurQU__rjs1hj zmzqB%BgXdhPrzlGpCAuyF5NX%KiDalmlyKBbK_5>*XYwLWLIVMLmIn7UtgIhaoiNg zOIsQHTGy9JXJ>Og-8lAW5fEz+Nej9=FuDa-mK)0;f>w)yI%LfXiWtnCwHnQ-W;GgWSV?5LX8 z%b72^c$u7)(4+ZvUN=V|MHYQ+wRi(2>GzkvU;INyDaY^}+)`pTcrU?ivhE~rvprPl z`=ri+PwE^Jo!z{4$p8>wuZL%ury)^&;