diff --git a/library/sketch/SKETCH b/library/sketch/SKETCH
index 552659c7..9feb5bf9 100644
--- a/library/sketch/SKETCH
+++ b/library/sketch/SKETCH
@@ -1,13 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "30-Nov-2025 10:10:57" {WMEDLEY}<library>SKETCH>SKETCH.;11 493235 
+(FILECREATED "24-Dec-2025 14:48:39" {WMEDLEY}<library>SKETCH>SKETCH.;16 491600 
 
       :EDIT-BY rmk
 
       :CHANGES-TO (VARS SKETCHCOMS)
-                  (FNS UPDATE-SKETCH EDIT-SKETCH)
+                  (FNS SK.INCLUDE.FILE SK.GET.IMAGEOBJ.FROM.FILE SKETCH.PUT SKETCH.FLUSH.EXISTING)
 
-      :PREVIOUS-DATE " 8-Nov-2025 12:19:12" {WMEDLEY}<library>SKETCH>SKETCH.;10)
+      :PREVIOUS-DATE "30-Nov-2025 10:10:57" {WMEDLEY}<library>SKETCH>SKETCH.;11)
 
 
 (PRETTYCOMPRINT SKETCHCOMS)
@@ -15,52 +15,25 @@
 (RPAQQ SKETCHCOMS
        [(FILES (SYSLOAD)
                TEDIT)
-        [DECLARE%: FIRST DOCOPY DONTEVAL@LOAD
-               (P (PROG ((NOTECARDSFLG (GETPROP 'NOTECARDS 'FILEDATES))
-                         (SKETCHFLG (AND (BOUNDP 'ALL.SKETCHES)
-                                         ALL.SKETCHES))
-                         TEDITFLG)
-                        
-                        (* ;; "current knows about SKETCH TEDIT and NOTECARDS.  Everyone else loses.")
+        (DECLARE%: FIRST (FNS SKETCH.FLUSH.EXISTING))
+        (DECLARE%: FIRST DOCOPY DONTEVAL@LOAD (P (SKETCH.FLUSH.EXISTING)))
+        
+        (* ;; "Putting and getting")
 
-                        [MAP.PROCESSES (FUNCTION (LAMBDA (PROC PROCNAME PROCFORM)
-                                                        (AND (EQ (CAR PROCFORM)
-                                                                 '\TEDIT1)
-                                                             (SETQ TEDITFLG T]
-                        (COND ((AND (BOUNDP 'ALL.SKETCHES)
-                                    (OR SKETCHFLG NOTECARDSFLG TEDITFLG))
-                               (ERROR (CONCAT "Please close" (COND (SKETCHFLG 
-                                                                          " all open Sketch windows,"
-                                                                          )
-                                                                   (T ""))
-                                             (COND (NOTECARDSFLG (CONCAT (COND (SKETCHFLG " and")
-                                                                               (T ""))
-                                                                        " any open notefiles,"))
-                                                   (T ""))
-                                             (COND (TEDITFLG (CONCAT (COND ((OR SKETCHFLG 
-                                                                                NOTECARDSFLG)
-                                                                            " and")
-                                                                           (T ""))
-                                                                    
-                                                     " any TEDIT windows that have sketches in them,"
-                                                                    ))
-                                                   (T ""))
-                                             
-                         " then type 'RETURN'.
-To abort loading the new version of Sketch, type '^'."]
-        (FNS SKETCH SKETCH.FROM.A.FILE SKETCHW.CREATE SKETCH.RESET SKETCHW.FIG.CHANGED 
-             SK.WINDOW.TITLE EDITSLIDE EDITSKETCH SK.PUT.ON.FILE SK.OUTPUT.FILE.NAME SKETCH.PUT 
-             SK.GET.FROM.FILE SK.INCLUDE.FILE SK.GET.IMAGEOBJ.FROM.FILE SKETCH.GET 
-             ADD.SKETCH.TO.VIEWER SK.ADD.ELEMENTS.TO.SKETCH SKETCH.SET.A.DEFAULT SK.POPUP.SELECTIONFN
-             GETSKETCHWREGION SK.ADD.ELEMENT SK.ADD.PRIORITY.ELEMENT.TO.SKETCH SK.ELTS.BY.PRIORITY 
-             SK.ORDER.ELEMENTS SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH SK.ADD.ELEMENTS 
-             SK.CHECK.WHENADDEDFN SK.APPLY.MENU.COMMAND SK.DELETE.ELEMENT1 SK.MARK.DIRTY 
-             SK.MARK.UNDIRTY SK.MENU.AND.RETURN.FIELD SKETCH.SET.BRUSH.SHAPE SKETCH.SET.BRUSH.SIZE 
-             SKETCHW.CLOSEFN SK.CONFIRM.DESTRUCTION SKETCHW.OUTFN SKETCHW.REOPENFN MAKE.LOCAL.SKETCH
-             MAP.SKETCHSPEC.INTO.VIEWER SKETCHW.REPAINTFN SKETCHW.REPAINTFN1 SK.DRAWFIGURE.IF 
-             SKETCHW.SCROLLFN SKETCHW.RESHAPEFN SK.UPDATE.EVENT.SELECTION LIGHTGRAYWINDOW 
-             SK.ADD.SPACES SK.SKETCH.MENU SK.CHECK.IMAGEOBJ.WHENDELETEDFN 
-             SK.APPLY.IMAGEOBJ.WHENDELETEDFN SK.RETURN.TTY SK.TAKE.TTY)
+        (FNS SKETCH.FROM.A.FILE SK.PUT.ON.FILE SKETCH.PUT SK.OUTPUT.FILE.NAME SK.INCLUDE.FILE 
+             SK.GET.IMAGEOBJ.FROM.FILE SK.GET.FROM.FILE SKETCH.GET)
+        (FNS SKETCH SKETCHW.CREATE SKETCH.RESET SKETCHW.FIG.CHANGED SK.WINDOW.TITLE EDITSLIDE 
+             EDITSKETCH ADD.SKETCH.TO.VIEWER SK.ADD.ELEMENTS.TO.SKETCH SKETCH.SET.A.DEFAULT 
+             SK.POPUP.SELECTIONFN GETSKETCHWREGION SK.ADD.ELEMENT SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 
+             SK.ELTS.BY.PRIORITY SK.ORDER.ELEMENTS SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 
+             SK.ADD.ELEMENTS SK.CHECK.WHENADDEDFN SK.APPLY.MENU.COMMAND SK.DELETE.ELEMENT1 
+             SK.MARK.DIRTY SK.MARK.UNDIRTY SK.MENU.AND.RETURN.FIELD SKETCH.SET.BRUSH.SHAPE 
+             SKETCH.SET.BRUSH.SIZE SKETCHW.CLOSEFN SK.CONFIRM.DESTRUCTION SKETCHW.OUTFN 
+             SKETCHW.REOPENFN MAKE.LOCAL.SKETCH MAP.SKETCHSPEC.INTO.VIEWER SKETCHW.REPAINTFN 
+             SKETCHW.REPAINTFN1 SK.DRAWFIGURE.IF SKETCHW.SCROLLFN SKETCHW.RESHAPEFN 
+             SK.UPDATE.EVENT.SELECTION LIGHTGRAYWINDOW SK.ADD.SPACES SK.SKETCH.MENU 
+             SK.CHECK.IMAGEOBJ.WHENDELETEDFN SK.APPLY.IMAGEOBJ.WHENDELETEDFN SK.RETURN.TTY 
+             SK.TAKE.TTY)
         (COMS                                                (* ; 
                                                              "fns for dealing with the sketch menu")
               (FNS SKETCH.COMMANDMENU SKETCH.COMMANDMENU.ITEMS CREATE.SKETCHW.COMMANDMENU 
@@ -275,40 +248,240 @@ To abort loading the new version of Sketch, type '^'."]
 
 (FILESLOAD (SYSLOAD)
        TEDIT)
+(DECLARE%: FIRST 
+(DEFINEQ
+
+(SKETCH.FLUSH.EXISTING
+  [LAMBDA NIL                                                (* ; "Edited 22-Dec-2025 23:56 by rmk")
+    (PROG ((NOTECARDSFLG (GETPROP 'NOTECARDS 'FILEDATES))
+           (SKETCHFLG (AND (BOUNDP 'ALL.SKETCHES)
+                           ALL.SKETCHES))
+           TEDITFLG)
+
+     (* ;; "current knows about SKETCH TEDIT and NOTECARDS.  Everyone else loses.")
+
+          [MAP.PROCESSES (FUNCTION (LAMBDA (PROC PROCNAME PROCFORM)
+                                     (AND (EQ (CAR PROCFORM)
+                                              '\TEDIT1)
+                                          (SETQ TEDITFLG T]
+          (COND
+             ((AND (BOUNDP 'ALL.SKETCHES)
+                   (OR SKETCHFLG NOTECARDSFLG TEDITFLG))
+              (ERROR (CONCAT "Please close" (COND
+                                               (SKETCHFLG " all open Sketch windows,")
+                                               (T ""))
+                            (COND
+                               (NOTECARDSFLG (CONCAT (COND
+                                                        (SKETCHFLG " and")
+                                                        (T ""))
+                                                    " any open notefiles,"))
+                               (T ""))
+                            (COND
+                               (TEDITFLG (CONCAT (COND
+                                                    ((OR SKETCHFLG NOTECARDSFLG)
+                                                     " and")
+                                                    (T ""))
+                                                " any TEDIT windows that have sketches in them,"))
+                               (T ""))
+                            
+                         " then type 'RETURN'.
+To abort loading the new version of Sketch, type '^'."])
+)
+)
 (DECLARE%: FIRST DOCOPY DONTEVAL@LOAD 
 
-[PROG ((NOTECARDSFLG (GETPROP 'NOTECARDS 'FILEDATES))
-       (SKETCHFLG (AND (BOUNDP 'ALL.SKETCHES)
-                       ALL.SKETCHES))
-       TEDITFLG)
+(SKETCH.FLUSH.EXISTING)
+)
 
- (* ;; "current knows about SKETCH TEDIT and NOTECARDS.  Everyone else loses.")
 
-      [MAP.PROCESSES (FUNCTION (LAMBDA (PROC PROCNAME PROCFORM)
-                                 (AND (EQ (CAR PROCFORM)
-                                          '\TEDIT1)
-                                      (SETQ TEDITFLG T]
-      (COND
-         ((AND (BOUNDP 'ALL.SKETCHES)
-               (OR SKETCHFLG NOTECARDSFLG TEDITFLG))
-          (ERROR (CONCAT "Please close" (COND
-                                           (SKETCHFLG " all open Sketch windows,")
-                                           (T ""))
-                        (COND
-                           (NOTECARDSFLG (CONCAT (COND
-                                                    (SKETCHFLG " and")
-                                                    (T ""))
-                                                " any open notefiles,"))
-                           (T ""))
-                        (COND
-                           (TEDITFLG (CONCAT (COND
-                                                ((OR SKETCHFLG NOTECARDSFLG)
-                                                 " and")
-                                                (T ""))
-                                            " any TEDIT windows that have sketches in them,"))
-                           (T ""))
-                        " then type 'RETURN'.
-To abort loading the new version of Sketch, type '^'."]
+
+(* ;; "Putting and getting")
+
+(DEFINEQ
+
+(SKETCH.FROM.A.FILE
+  [LAMBDA NIL                                                (* rrb "24-Jun-86 11:40")
+          
+          (* reads a file name from the user and calls sketch on it.)
+
+    (PROG ((NAME (PopUpWindowAndGetAtom "Sketch file name: ")))
+          (RETURN (AND NAME (SKETCH NAME])
+
+(SK.PUT.ON.FILE
+  [LAMBDA (SKETCHW)                                          (* ; "Edited  6-Apr-87 18:18 by rrb")
+                                                             (* saves a sketch on a Tedit file.)
+          
+          (* also changes the name of the sketch to be the same as the name of the file.)
+
+    (PROG ((SKETCH (INSURE.SKETCH (SKETCH.FROM.VIEWER SKETCHW)))
+           NOWNAME NEWNAME TEXTSTREAM)
+          (SETQ NOWNAME (SKETCH.TITLE SKETCH))
+          (OR [SETQ NEWNAME (MKATOM (PROMPT.GETINPUT SKETCHW "File to PUT to:  " (SK.OUTPUT.FILE.NAME
+                                                                                  NOWNAME]
+              (RETURN NIL))
+          (SETQ NEWNAME (SKETCH.PUT NEWNAME SKETCH SKETCHW))
+          [COND
+             ((AND NEWNAME (NEQ NOWNAME NEWNAME))
+          
+          (* change the name of the sketch to be the same as the file name.)
+
+              (replace (SKETCH SKETCHNAME) of SKETCH with NEWNAME)
+                                                             (* change the titles of the viewers 
+                                                             onto this sketch.)
+              (for SKW in (ALL.SKETCH.VIEWERS SKETCH) do (WINDOWPROP SKW 'TITLE (SK.WINDOW.TITLE
+                                                                                 SKETCH]
+          (RETURN NEWNAME])
+
+(SKETCH.PUT
+  [LAMBDA (FILENAME SKETCH VIEWER REGION SCALE GRID)         (* ; "Edited 23-Dec-2025 00:27 by rmk")
+                                                             (* ; "Edited  1-Feb-2022 09:17 by rmk")
+                                                             (* ; "Edited 17-Nov-87 17:47 by rrb")
+
+    (* ;; "puts the sketch SKETCH on the file named FILENAME.  VIEWER if given provides promptwindows and PUTFNs.")
+
+    (PROG (TEXTSTREAM FILESTREAM)
+          [SETQ TEXTSTREAM (OPENTEXTSTREAM NIL NIL NIL NIL (AND VIEWER (LIST 'PUTFN
+                                                                             (WINDOWPROP VIEWER
+                                                                                    'TEDIT.PUTFN)
+                                                                             'PROMPTWINDOW
+                                                                             (GETPROMPTWINDOW VIEWER]
+                                                             (* ; 
+                                           "make a text stream with nothing in it except the sketch.")
+          (TEDIT.INSERT.OBJECT [SKETCH.IMAGEOBJ (INSURE.SKETCH SKETCH)
+                                      (COND
+                                         ((REGIONP REGION))
+                                         (VIEWER (SKETCH.REGION.VIEWED VIEWER)))
+                                      (COND
+                                         ((NUMBERP SCALE))
+                                         (VIEWER (VIEWER.SCALE VIEWER)))
+                                      (COND
+                                         ((NUMBERP GRID))
+                                         (VIEWER (SK.GRIDFACTOR VIEWER]
+                 TEXTSTREAM 1)                               (* ; 
+                    "set the margins so that if the user hardcopies it directly the margins come out")
+          (TEDIT.PARALOOKS TEXTSTREAM '(LEFTMARGIN 0 RIGHTMARGIN 0 QUAD CENTER)
+                 1 1)
+          (TEDIT.PAGEFORMAT TEXTSTREAM (TEDIT.SINGLE.PAGEFORMAT NIL NIL NIL NIL NIL 0 0 0 0))
+                                                             (* ; 
+                                                          "save the stream so that it can be closed.")
+          (SETQ FILESTREAM (TEDIT.PUT TEXTSTREAM FILENAME))  (* ; 
+                                                        "grab the full file name if it is available.")
+          (AND (OPENP FILESTREAM)
+               (SETQ FILENAME (CLOSEF FILESTREAM)))
+          (SK.MARK.UNDIRTY SKETCH)
+          (RETURN FILENAME])
+
+(SK.OUTPUT.FILE.NAME
+  [LAMBDA (SKETCHFILENAME)                                   (* ; "Edited  3-Nov-2025 15:05 by rmk")
+                                                             (* rrb " 5-May-86 10:45")
+    (COND
+       ((STRPOS " " SKETCHFILENAME)                          (* ; 
+                                                       "don't put up dummy names that contain spaces")
+        NIL)
+       (T (PACKFILENAME 'VERSION NIL 'BODY SKETCHFILENAME])
+
+(SK.INCLUDE.FILE
+  [LAMBDA (SKETCHW)                                          (* ; "Edited 23-Dec-2025 09:17 by rmk")
+                                                             (* rrb " 2-May-86 11:29")
+
+    (* ;; "retrieves a sketch from a file and includes it into the existing sketch.")
+                                                             (* ; 
+                        "also changes the name of the sketch to be the same as the name of the file.")
+    (PROG ((SKETCH (SKETCH.FROM.VIEWER SKETCHW))
+           NOWNAME FILENAME READSKETCH DIRTYSTATUS)
+          (SETQ NOWNAME (fetch (SKETCH SKETCHNAME) of SKETCH))
+          (SETQ FILENAME (MKATOM (PROMPT.GETINPUT SKETCHW "File to GET: ")))
+          (COND
+             ((MEMB FILENAME '(NIL %]))
+              (CLOSEPROMPTWINDOW SKETCHW)
+              (RETURN)))
+          (STATUSPRINT SKETCHW " ...")
+          (SETQ FILENAME (OR (FINDFILE FILENAME T)
+                             (ERROR FILENAME "file not found.")))
+          (OR (SETQ READSKETCH (SKETCH.GET FILENAME SKETCHW))
+              (RETURN))
+          [COND
+             ((NEQ NOWNAME FILENAME)                         (* ; 
+                                     "change the name of the sketch to be the same as the file name.")
+              (replace (SKETCH SKETCHNAME) of SKETCH with FILENAME)
+                                                             (* ; 
+                                     "change the name of the sketch to be the same as the file name.")
+              (for SKW in (ALL.SKETCH.VIEWERS SKETCH) do (WINDOWPROP SKW 'TITLE (SK.WINDOW.TITLE
+                                                                                 SKETCH]
+          (ADD.SKETCH.TO.VIEWER READSKETCH SKETCHW (COND
+                                                      ((fetch (SKETCH SKETCHELTS) of SKETCH)
+
+                                 (* ;; "if the sketch has elements, ask about the defaults from the read file and set the status to leave the sketch marked dirty after the read.")
+
+                                                       (SETQ DIRTYSTATUS T)
+                                                       'ASK)
+                                                      (T 
+
+                                 (* ;; "if the sketch doesn't have any elements, use the defaults from the read file and set the status to leave the sketch marked clean after the read.")
+
+                                                         NIL)))
+          (COND
+             ((NULL DIRTYSTATUS)                             (* ; 
+                                   "if sketch was empty before, mark it as not needing to be dumped.")
+              (SK.MARK.UNDIRTY SKETCH)))
+          (STATUSPRINT SKETCHW " done."])
+
+(SK.GET.IMAGEOBJ.FROM.FILE
+  [LAMBDA (FILENAME VIEWER)                                  (* ; "Edited 23-Dec-2025 09:20 by rmk")
+                                                             (* ; "Edited 12-Feb-88 14:13 by rrb")
+
+    (* ;; "reads the sketch image object datum from a file.")
+
+    (RESETFORM (CURSOR WAITINGCURSOR)
+           (PROG ([TEXTSTREAM (OPENTEXTSTREAM FILENAME NIL NIL NIL (AND VIEWER (LIST 'PROMPTWINDOW
+                                                                                     (GETPROMPTWINDOW
+                                                                                      VIEWER]
+                  IMAGEOBJ READSKETCH)
+                 (SETQ IMAGEOBJ (BIN TEXTSTREAM))
+                 (CLOSEF TEXTSTREAM)
+                 (COND
+                    ((NOT (IMAGEOBJP IMAGEOBJ))
+                     (STATUSPRINT (OR VIEWER PROMPTWINDOW)
+                            FILENAME " is not a sketch file.")
+                     (RETURN NIL)))
+                 (COND
+                    ([NOT (type? SKETCH (SETQ READSKETCH (fetch (SKETCHIMAGEOBJ SKIO.SKETCH)
+                                                            of (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM]
+                     (STATUSPRINT (OR VIEWER PROMPTWINDOW)
+                            FILENAME " is not a sketch file.")
+                     (RETURN))
+                    (T                                       (* ; 
+                                                       "save the name of where the sketch came from.")
+                       (replace (SKETCH SKETCHNAME) of READSKETCH with (OR (GETTEXTPROP TEXTSTREAM
+                                                                                  'FILENAME)
+                                                                           FILENAME))
+                       (AND VIEWER (SK.CHANGE.GRID (fetch (SKETCHIMAGEOBJ SKIO.GRID)
+                                                      of (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM))
+                                          VIEWER))
+                       (RETURN (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM])
+
+(SK.GET.FROM.FILE
+  [LAMBDA (SKETCHW)                                          (* rrb " 1-Oct-86 18:24")
+          
+          (* retrieves a sketch from a file clobbering any existing sketch.)
+
+    (COND
+       ((SK.CONFIRM.DESTRUCTION SKETCHW "Press LEFT to delete current elements before GET.")
+          
+          (* put the delete on the history list so that it can be undone.
+          This leaves the gotten file there as well but seems better than nothing.)
+
+        (SK.DELETE.ELEMENT2 (fetch (SKETCH SKETCHELTS) of (INSURE.SKETCH SKETCHW))
+               SKETCHW)
+        (SK.INCLUDE.FILE SKETCHW))
+       ((SK.CONFIRM.DESTRUCTION SKETCHW "Press LEFT to include file, RIGHT to abort the GET.")
+        (SK.INCLUDE.FILE SKETCHW))
+       (T (STATUSPRINT SKETCHW "GET aborted.  The INCLUDE subcommand to GET doesn't delete."])
+
+(SKETCH.GET
+  [LAMBDA (FILENAME VIEWER)                                  (* rrb "29-Jan-86 11:21")
+                                                             (* reads a sketch from a file.)
+    (fetch (SKETCHIMAGEOBJ SKIO.SKETCH) of (SK.GET.IMAGEOBJ.FROM.FILE FILENAME VIEWER])
 )
 (DEFINEQ
 
@@ -343,14 +516,6 @@ To abort loading the new version of Sketch, type '^'."]
        (T (SKETCHW.CREATE SKETCH NIL (OR WINDOW (GETREGION))
                  NIL NIL T T])
 
-(SKETCH.FROM.A.FILE
-  [LAMBDA NIL                                                (* rrb "24-Jun-86 11:40")
-          
-          (* reads a file name from the user and calls sketch on it.)
-
-    (PROG ((NAME (PopUpWindowAndGetAtom "Sketch file name: ")))
-          (RETURN (AND NAME (SKETCH NAME])
-
 (SKETCHW.CREATE
 (LAMBDA (SKETCH SKETCHREGION SCREENREGION TITLE INITIALSCALE BRINGUPMENU INITIALGRID) (* ; "Edited 25-Apr-88 15:18 by drc:") (* ;;; "creates a sketch window and returns it.") (PROG (W SCALE SKPROC SKETCHSTRUCTURE) (SETQ SKETCHSTRUCTURE (SK.CHECK.SKETCH.VERSION (COND ((NULL SKETCH) (SKETCH.CREATE NIL)) ((LITATOM SKETCH) (* ; "treat it like a file name") (SKETCH.GET SKETCH)) ((type? SKETCH SKETCH) SKETCH) ((type? IMAGEOBJ SKETCH) (* ; "pull things out of the image object.") (SETQ SKPROC (IMAGEOBJPROP SKETCH (QUOTE OBJECTDATUM))) (OR (REGIONP SKETCHREGION) (SETQ SKETCHREGION (fetch (SKETCHIMAGEOBJ SKIO.REGION) of SKPROC))) (OR (NUMBERP INITIALSCALE) (SETQ INITIALSCALE (fetch (SKETCHIMAGEOBJ SKIO.SCALE) of SKPROC))) (OR (NUMBERP INITIALGRID) (SETQ INITIALGRID (fetch (SKETCHIMAGEOBJ SKIO.GRID) of SKPROC))) (fetch (SKETCHIMAGEOBJ SKIO.SKETCH) of SKPROC)) ((AND (LITATOM (CAR SKETCH)) (for ELT in (CDR SKETCH) always (GLOBALELEMENTP ELT))) (* ; "old form, probably written out by notecards, update to new form.") (PROG (X) (SETQ X (SKIO.UPDATE.FROM.OLD.FORM SKETCH)) (* ; "smash sketch so this won't have to happen every time.") (RPLACA SKETCH (CAR X)) (RPLACD SKETCH (CDR X)) (RETURN X))) (T (\ILLEGAL.ARG SKETCH))))) (SETQ W (COND ((WINDOWP SCREENREGION) (AND TITLE (WINDOWPROP SCREENREGION (QUOTE TITLE) TITLE)) SCREENREGION) (T (CREATEW (COND ((REGIONP SCREENREGION)) (T (CREATEREGION LASTMOUSEX LASTMOUSEY 20 20))) (OR TITLE (SK.WINDOW.TITLE SKETCHSTRUCTURE)) NIL T)))) (SK.SET.UP.MENUS W (NOT (OPENWP SCREENREGION)) BRINGUPMENU) (COND ((OR (REGIONP SCREENREGION) (WINDOWP SCREENREGION)) (* ; "user gave a region, don't interact") NIL) (T (* ; "let prompting for reshape show room for both menu and window.") (SHAPEW W))) (* ;; "set the right margin so that text will never run into it.  This can be removed when character positions are kept in points so \DSPPRINTCHAR doesn't have to look at the right margin.") (DSPRIGHTMARGIN 64000 W) (WINDOWPROP W (QUOTE SKETCH) SKETCHSTRUCTURE) (WINDOWPROP W (QUOTE SCALE) (SETQ SCALE (COND ((NUMBERP INITIALSCALE)) ((REGIONP SKETCHREGION) (* ; "determine the scale and offsets so that the given region of the sketch fits into the given window.") (FQUOTIENT (fetch (REGION HEIGHT) of SKETCHREGION) (fetch (REGION HEIGHT) of (DSPCLIPPINGREGION NIL W)))) ((NULL SKETCHREGION) INITIAL.SCALE) (T (\ILLEGAL.ARG SKETCHREGION))))) (* ; "check to make sure a context exists on the sketch because before July 1985 it didn't exist.") (WINDOWPROP W (QUOTE SKETCHCONTEXT) (OR (GETSKETCHPROP SKETCHSTRUCTURE (QUOTE SKETCHCONTEXT)) (PUTSKETCHPROP SKETCHSTRUCTURE (QUOTE SKETCHCONTEXT) (CREATE.DEFAULT.SKETCH.CONTEXT)))) (COND ((REGIONP SKETCHREGION) (* ; "if given a region, translate to it.") (WXOFFSET (IMINUS (FIX (QUOTIENT (fetch (REGION LEFT) of SKETCHREGION) SCALE))) W) (WYOFFSET (IMINUS (FIX (QUOTIENT (fetch (REGION BOTTOM) of SKETCHREGION) SCALE))) W))) (SK.UPDATE.REGION.VIEWED W) (* ; "calculate the sketch region being viewed before mapping the sketch into it.") (MAP.SKETCHSPEC.INTO.VIEWER SKETCHSTRUCTURE W) (SK.CREATE.HOTSPOT.CACHE W) (WINDOWPROP W (QUOTE GRIDFACTOR) (COND ((NUMBERP INITIALGRID) (LEASTPOWEROF2GT INITIALGRID)) (T (SK.DEFAULT.GRIDFACTOR W)))) (WINDOWPROP W (QUOTE USEGRID) (COND (INITIALGRID T))) (WINDOWPROP W (QUOTE BUTTONEVENTFN) (FUNCTION WB.BUTTON.HANDLER)) (WINDOWPROP W (QUOTE COPYBUTTONEVENTFN) (FUNCTION SK.COPY.BUTTONEVENTFN)) (WINDOWPROP W (QUOTE COPYINSERTFN) (FUNCTION SK.COPY.INSERTFN)) (WINDOWPROP W (QUOTE RIGHTBUTTONFN) (FUNCTION WB.BUTTON.HANDLER)) (WINDOWPROP W (QUOTE CURSOROUTFN) (FUNCTION SKETCHW.OUTFN)) (WINDOWPROP W (QUOTE REPAINTFN) (FUNCTION SKETCHW.REPAINTFN)) (WINDOWADDPROP W (QUOTE RESHAPEFN) (FUNCTION SKETCHW.RESHAPEFN)) (WINDOWADDPROP W (QUOTE SHRINKFN) (FUNCTION SK.RETURN.TTY)) (WINDOWPROP W (QUOTE ICONFN) (FUNCTION SK.SHRINK.ICONCREATE)) (WINDOWADDPROP W (QUOTE EXPANDFN) (FUNCTION SK.TAKE.TTY)) (WINDOWPROP W (QUOTE SCROLLFN) (FUNCTION SKETCHW.SCROLLFN)) (WINDOWPROP W (QUOTE HARDCOPYFN) (FUNCTION SKETCHW.HARDCOPYFN)) (* ; "I'm not sure why this ever gets called but it did once so to be sure, turn it off.") (WINDOWPROP W (QUOTE PAGEFULLFN) (FUNCTION NILL)) (WINDOWPROP W (QUOTE PROCESS) (SETQ SKPROC (ADD.PROCESS (LIST (FUNCTION WB.EDITOR) (KWOTE W)) (QUOTE RESTARTABLE) T (QUOTE TTYENTRYFN) (QUOTE SK.TTYENTRYFN) (QUOTE TTYEXITFN) (QUOTE SK.TTYEXITFN)))) (WINDOWPROP W (QUOTE SCROLLEXTENTUSE) T) (WINDOWADDPROP W (QUOTE CLOSEFN) (FUNCTION SKETCHW.CLOSEFN) T) (OPENW W) (ADD.SKETCH.VIEWER SKETCHSTRUCTURE W) (SKETCHW.REPAINTFN W) (RETURN W)))
 )
@@ -411,199 +576,6 @@ To abort loading the new version of Sketch, type '^'."]
            NIL NIL NIL NIL T 16.0)
     SLIDENAME])
 
-(SK.PUT.ON.FILE
-  [LAMBDA (SKETCHW)                                          (* ; "Edited  6-Apr-87 18:18 by rrb")
-                                                             (* saves a sketch on a Tedit file.)
-          
-          (* also changes the name of the sketch to be the same as the name of the file.)
-
-    (PROG ((SKETCH (INSURE.SKETCH (SKETCH.FROM.VIEWER SKETCHW)))
-           NOWNAME NEWNAME TEXTSTREAM)
-          (SETQ NOWNAME (SKETCH.TITLE SKETCH))
-          (OR [SETQ NEWNAME (MKATOM (PROMPT.GETINPUT SKETCHW "File to PUT to:  " (SK.OUTPUT.FILE.NAME
-                                                                                  NOWNAME]
-              (RETURN NIL))
-          (SETQ NEWNAME (SKETCH.PUT NEWNAME SKETCH SKETCHW))
-          [COND
-             ((AND NEWNAME (NEQ NOWNAME NEWNAME))
-          
-          (* change the name of the sketch to be the same as the file name.)
-
-              (replace (SKETCH SKETCHNAME) of SKETCH with NEWNAME)
-                                                             (* change the titles of the viewers 
-                                                             onto this sketch.)
-              (for SKW in (ALL.SKETCH.VIEWERS SKETCH) do (WINDOWPROP SKW 'TITLE (SK.WINDOW.TITLE
-                                                                                 SKETCH]
-          (RETURN NEWNAME])
-
-(SK.OUTPUT.FILE.NAME
-  [LAMBDA (SKETCHFILENAME)                                   (* ; "Edited  3-Nov-2025 15:05 by rmk")
-                                                             (* rrb " 5-May-86 10:45")
-    (COND
-       ((STRPOS " " SKETCHFILENAME)                          (* ; 
-                                                       "don't put up dummy names that contain spaces")
-        NIL)
-       (T (PACKFILENAME 'VERSION NIL 'BODY SKETCHFILENAME])
-
-(SKETCH.PUT
-  [LAMBDA (FILENAME SKETCH VIEWER REGION SCALE GRID)         (* ; "Edited  1-Feb-2022 09:17 by rmk")
-                                                             (* ; "Edited 17-Nov-87 17:47 by rrb")
-
-         (* puts the sketch SKETCH on the file named FILENAME.
-         VIEWER if given provides promptwindows and PUTFNs.)
-
-    (PROG (TEXTSTREAM FILESTREAM)
-          [COND
-             ((NOT (DEFINEDP (FUNCTION OPENTEXTSTREAM)))
-              (COND
-                 ((MOUSECONFIRM "TEDIT must be loaded to save sketches." 
-                         "Click LEFT to load TEDIT now, RIGHT to abort.")
-                  (FILESLOAD TEDIT))
-                 (T (STATUSPRINT VIEWER "Sketch not saved.")
-                    (RETURN NIL]
-          [SETQ TEXTSTREAM (OPENTEXTSTREAM NIL NIL NIL NIL (AND VIEWER (LIST 'PUTFN
-                                                                             (WINDOWPROP VIEWER
-                                                                                    'TEDIT.PUTFN)
-                                                                             'PROMPTWINDOW
-                                                                             (GETPROMPTWINDOW VIEWER]
-                                                             (* make a text stream with nothing in 
-                                                             it except the sketch.)
-          (TEDIT.INSERT.OBJECT [SKETCH.IMAGEOBJ (INSURE.SKETCH SKETCH)
-                                      (COND
-                                         ((REGIONP REGION))
-                                         (VIEWER (SKETCH.REGION.VIEWED VIEWER)))
-                                      (COND
-                                         ((NUMBERP SCALE))
-                                         (VIEWER (VIEWER.SCALE VIEWER)))
-                                      (COND
-                                         ((NUMBERP GRID))
-                                         (VIEWER (SK.GRIDFACTOR VIEWER]
-                 TEXTSTREAM 1)
-
-         (* set the margins so that if the user hardcopies it directly the margins come 
-         out)
-
-          (TEDIT.PARALOOKS TEXTSTREAM '(LEFTMARGIN 0 RIGHTMARGIN 0 QUAD CENTER)
-                 1 1)
-          (TEDIT.PAGEFORMAT TEXTSTREAM (TEDIT.SINGLE.PAGEFORMAT NIL NIL NIL NIL NIL 0 0 0 0))
-                                                             (* save the stream so that it can be 
-                                                             closed.)
-          (SETQ FILESTREAM (TEDIT.PUT TEXTSTREAM FILENAME))  (* grab the full file name if it is 
-                                                             available.)
-          (AND (OPENP FILESTREAM)
-               (SETQ FILENAME (CLOSEF FILESTREAM)))
-          (SK.MARK.UNDIRTY SKETCH)
-          (RETURN FILENAME])
-
-(SK.GET.FROM.FILE
-  [LAMBDA (SKETCHW)                                          (* rrb " 1-Oct-86 18:24")
-          
-          (* retrieves a sketch from a file clobbering any existing sketch.)
-
-    (COND
-       ((SK.CONFIRM.DESTRUCTION SKETCHW "Press LEFT to delete current elements before GET.")
-          
-          (* put the delete on the history list so that it can be undone.
-          This leaves the gotten file there as well but seems better than nothing.)
-
-        (SK.DELETE.ELEMENT2 (fetch (SKETCH SKETCHELTS) of (INSURE.SKETCH SKETCHW))
-               SKETCHW)
-        (SK.INCLUDE.FILE SKETCHW))
-       ((SK.CONFIRM.DESTRUCTION SKETCHW "Press LEFT to include file, RIGHT to abort the GET.")
-        (SK.INCLUDE.FILE SKETCHW))
-       (T (STATUSPRINT SKETCHW "GET aborted.  The INCLUDE subcommand to GET doesn't delete."])
-
-(SK.INCLUDE.FILE
-  [LAMBDA (SKETCHW)                                          (* rrb " 2-May-86 11:29")
-          
-          (* retrieves a sketch from a file and includes it into the existing sketch.)
-          
-          (* also changes the name of the sketch to be the same as the name of the file.)
-
-    (PROG ((SKETCH (SKETCH.FROM.VIEWER SKETCHW))
-           NOWNAME FILENAME READSKETCH DIRTYSTATUS)
-          (SETQ NOWNAME (fetch (SKETCH SKETCHNAME) of SKETCH))
-          (SETQ FILENAME (MKATOM (PROMPT.GETINPUT SKETCHW "File to GET: ")))
-          (COND
-             ((MEMB FILENAME '(NIL %]))
-              (CLOSEPROMPTWINDOW SKETCHW)
-              (RETURN)))
-          (STATUSPRINT SKETCHW " ...")
-          (SETQ FILENAME (OR (INFILEP FILENAME)
-                             (ERROR FILENAME "file not found.")))
-          (OR (SETQ READSKETCH (SKETCH.GET FILENAME SKETCHW))
-              (RETURN))
-          [COND
-             ((NEQ NOWNAME FILENAME)
-          
-          (* change the name of the sketch to be the same as the file name.)
-
-              (replace (SKETCH SKETCHNAME) of SKETCH with FILENAME)
-          
-          (* change the name of the sketch to be the same as the file name.)
-
-              (for SKW in (ALL.SKETCH.VIEWERS SKETCH) do (WINDOWPROP SKW 'TITLE (SK.WINDOW.TITLE
-                                                                                 SKETCH]
-          (ADD.SKETCH.TO.VIEWER READSKETCH SKETCHW (COND
-                                                      ((fetch (SKETCH SKETCHELTS) of SKETCH)
-          
-          (* if the sketch has elements, ask about the defaults from the read file and 
-          set the status to leave the sketch marked dirty after the read.)
-
-                                                       (SETQ DIRTYSTATUS T)
-                                                       'ASK)
-                                                      (T 
-          
-          (* if the sketch doesn't have any elements, use the defaults from the read file 
-          and set the status to leave the sketch marked clean after the read.)
-
-                                                         NIL)))
-          (COND
-             ((NULL DIRTYSTATUS)
-          
-          (* if sketch was empty before, mark it as not needing to be dumped.)
-
-              (SK.MARK.UNDIRTY SKETCH)))
-          (STATUSPRINT SKETCHW " done."])
-
-(SK.GET.IMAGEOBJ.FROM.FILE
-  [LAMBDA (FILENAME VIEWER)                              (* ; "Edited 12-Feb-88 14:13 by rrb")
-                                                             (* reads the sketch image object 
-                                                           datum from a file.)
-    (RESETFORM (CURSOR WAITINGCURSOR)
-           (PROG ([TEXTSTREAM (OPENTEXTSTREAM FILENAME NIL NIL NIL (AND VIEWER (LIST 'PROMPTWINDOW
-                                                                                     (GETPROMPTWINDOW
-                                                                                      VIEWER]
-                  (READFILE (INFILEP FILENAME))
-                  IMAGEOBJ READSKETCH)
-                 (SETQ IMAGEOBJ (BIN TEXTSTREAM))
-                 (CLOSEF TEXTSTREAM)
-                 (COND
-                    ((NOT (IMAGEOBJP IMAGEOBJ))
-                     (STATUSPRINT (OR VIEWER PROMPTWINDOW)
-                            FILENAME " is not a sketch file.")
-                     (RETURN NIL)))
-                 (COND
-                    ([NOT (type? SKETCH (SETQ READSKETCH (fetch (SKETCHIMAGEOBJ SKIO.SKETCH)
-                                                                of (IMAGEOBJPROP IMAGEOBJ
-                                                                              'OBJECTDATUM]
-                     (STATUSPRINT (OR VIEWER PROMPTWINDOW)
-                            FILENAME " is not a sketch file.")
-                     (RETURN))
-                    (T                                       (* save the name of where the sketch 
-                                                           came from.)
-                       (replace (SKETCH SKETCHNAME) of READSKETCH with (OR READFILE 
-                                                                                           FILENAME))
-                       (AND VIEWER (SK.CHANGE.GRID (fetch (SKETCHIMAGEOBJ SKIO.GRID)
-                                                      of (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM))
-                                          VIEWER))
-                       (RETURN (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM])
-
-(SKETCH.GET
-  [LAMBDA (FILENAME VIEWER)                                  (* rrb "29-Jan-86 11:21")
-                                                             (* reads a sketch from a file.)
-    (fetch (SKETCHIMAGEOBJ SKIO.SKETCH) of (SK.GET.IMAGEOBJ.FROM.FILE FILENAME VIEWER])
-
 (ADD.SKETCH.TO.VIEWER
   [LAMBDA (SKETCHTOADD VIEWER ABOUTDEFAULTS?)                (* rrb "20-Mar-86 15:55")
                                                              (* adds the element in SKETCHTOADD to 
@@ -8789,150 +8761,151 @@ Otherwise, type '^'.")
 (ADDTOVAR LAMA SK.UNIONREGIONS SKETCH.CREATE)
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (21911 85500 (SKETCH 21921 . 24026) (SKETCH.FROM.A.FILE 24028 . 24343) (SKETCHW.CREATE 
-24345 . 28919) (SKETCH.RESET 28921 . 30443) (SKETCHW.FIG.CHANGED 30445 . 30785) (SK.WINDOW.TITLE 30787
- . 31174) (EDITSLIDE 31176 . 31582) (EDITSKETCH 31584 . 31908) (SK.PUT.ON.FILE 31910 . 33362) (
-SK.OUTPUT.FILE.NAME 33364 . 33849) (SKETCH.PUT 33851 . 36749) (SK.GET.FROM.FILE 36751 . 37644) (
-SK.INCLUDE.FILE 37646 . 40154) (SK.GET.IMAGEOBJ.FROM.FILE 40156 . 42359) (SKETCH.GET 42361 . 42668) (
-ADD.SKETCH.TO.VIEWER 42670 . 45256) (SK.ADD.ELEMENTS.TO.SKETCH 45258 . 45772) (SKETCH.SET.A.DEFAULT 
-45774 . 53325) (SK.POPUP.SELECTIONFN 53327 . 53869) (GETSKETCHWREGION 53871 . 54077) (SK.ADD.ELEMENT 
-54079 . 55658) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 55660 . 57054) (SK.ELTS.BY.PRIORITY 57056 . 57352) (
-SK.ORDER.ELEMENTS 57354 . 57621) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 57623 . 59117) (
-SK.ADD.ELEMENTS 59119 . 59643) (SK.CHECK.WHENADDEDFN 59645 . 60375) (SK.APPLY.MENU.COMMAND 60377 . 
-61175) (SK.DELETE.ELEMENT1 61177 . 62755) (SK.MARK.DIRTY 62757 . 63423) (SK.MARK.UNDIRTY 63425 . 63756
-) (SK.MENU.AND.RETURN.FIELD 63758 . 64423) (SKETCH.SET.BRUSH.SHAPE 64425 . 65010) (
-SKETCH.SET.BRUSH.SIZE 65012 . 65518) (SKETCHW.CLOSEFN 65520 . 67311) (SK.CONFIRM.DESTRUCTION 67313 . 
-68312) (SKETCHW.OUTFN 68314 . 68578) (SKETCHW.REOPENFN 68580 . 68992) (MAKE.LOCAL.SKETCH 68994 . 69724
-) (MAP.SKETCHSPEC.INTO.VIEWER 69726 . 70936) (SKETCHW.REPAINTFN 70938 . 71766) (SKETCHW.REPAINTFN1 
-71768 . 72707) (SK.DRAWFIGURE.IF 72709 . 73231) (SKETCHW.SCROLLFN 73233 . 77426) (SKETCHW.RESHAPEFN 
-77428 . 79686) (SK.UPDATE.EVENT.SELECTION 79688 . 81743) (LIGHTGRAYWINDOW 81745 . 81908) (
-SK.ADD.SPACES 81910 . 82656) (SK.SKETCH.MENU 82658 . 82980) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 82982 . 
-83834) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 83836 . 84796) (SK.RETURN.TTY 84798 . 85166) (SK.TAKE.TTY 
-85168 . 85498)) (85554 108969 (SKETCH.COMMANDMENU 85564 . 85988) (SKETCH.COMMANDMENU.ITEMS 85990 . 
-106073) (CREATE.SKETCHW.COMMANDMENU 106075 . 106495) (SKETCHW.SELECTIONFN 106497 . 107600) (
-SKETCH.MONITORLOCK 107602 . 108073) (SK.EVAL.AS.PROCESS 108075 . 108688) (SK.EVAL.WITH.LOCK 108690 . 
-108967)) (108970 116774 (SK.FIX.MENU 108980 . 110074) (SK.SET.UP.MENUS 110076 . 112377) (
-SK.INSURE.HAS.MENU 112379 . 113041) (SK.CREATE.STANDARD.MENU 113043 . 113488) (SK.ADD.ITEM.TO.MENU 
-113490 . 114165) (SK.GET.VIEWER.POPUP.MENU 114167 . 116368) (SK.CLEAR.POPUP.MENU 116370 . 116772)) (
-116830 125652 (SKETCH.CREATE 116840 . 117626) (GETSKETCHPROP 117628 . 120685) (PUTSKETCHPROP 120687 . 
-124619) (CREATE.DEFAULT.SKETCH.CONTEXT 124621 . 125650)) (125818 148714 (SK.COPY.BUTTONEVENTFN 125828
- . 137056) (SK.BUTTONEVENT.MARK 137058 . 137441) (SK.BUILD.IMAGEOBJ 137443 . 147358) (
-SK.BUTTONEVENT.OVERP 147360 . 147983) (SK.BUTTONEVENT.SAME.KEYS 147985 . 148712)) (148993 174808 (
-SK.SEL.AND.CHANGE 149003 . 149295) (SK.CHECK.WHENCHANGEDFN 149297 . 150003) (SK.CHECK.PRECHANGEFN 
-150005 . 150606) (SK.CHANGE.ELT 150608 . 150800) (SK.CHANGE.THING 150802 . 152053) (
-SKETCH.CHANGE.ELEMENTS 152055 . 153238) (SK.APPLY.SINGLE.CHANGEFN 153240 . 153813) (SK.DO.CHANGESPECS 
-153815 . 155474) (SK.VIEWER.FROM.SKETCH.ARG 155476 . 155918) (SK.DO.CHANGESPEC1 155920 . 157795) (
-SK.CHANGEFN 157797 . 158377) (SK.READCHANGEFN 158379 . 158838) (SK.DEFAULT.CHANGEFN 158840 . 161312) (
-CHANGEABLEFIELDITEMS 161314 . 161961) (SK.APPLY.CHANGE.COMMAND 161963 . 162580) (
-SK.DO.AND.RECORD.CHANGES 162582 . 163979) (SK.APPLY.CHANGE.COMMAND1 163981 . 165469) (
-SK.ELEMENTS.CHANGEFN 165471 . 167795) (READ.POINT.TO.ADD 167797 . 168741) (GLOBAL.KNOT.FROM.LOCAL 
-168743 . 169203) (SK.ADD.KNOT.TO.ELEMENT 169205 . 170149) (SK.GROUP.CHANGEFN 170151 . 171363) (
-SK.GROUP.CHANGEFN1 171365 . 174806)) (174975 188708 (ADD.ELEMENT.TO.SKETCH 174985 . 176691) (
-ADD.SKETCH.VIEWER 176693 . 177361) (REMOVE.SKETCH.VIEWER 177363 . 177976) (ALL.SKETCH.VIEWERS 177978
- . 178218) (SKETCH.ALL.VIEWERS 178220 . 178480) (VIEWER.BUCKET 178482 . 178633) (ELT.INSIDE.REGION? 
-178635 . 178962) (ELT.INSIDE.SKWP 178964 . 179255) (SCALE.FROM.SKW 179257 . 179507) (
-SK.ADDELT.TO.WINDOW 179509 . 180369) (SK.CALC.REGION.VIEWED 180371 . 180749) (SK.DRAWFIGURE 180751 . 
-182040) (SK.DRAWFIGURE1 182042 . 182426) (SK.LOCAL.FROM.GLOBAL 182428 . 183663) (SKETCH.REGION.VIEWED 
-183665 . 186352) (SKETCH.VIEW.FROM.NAME 186354 . 186784) (SK.UPDATE.REGION.VIEWED 186786 . 187178) (
-SKETCH.ADD.AND.DISPLAY 187180 . 187588) (SKETCH.ADD.AND.DISPLAY1 187590 . 188028) (SK.ADD.ITEM 188030
- . 188362) (SKETCHW.ADD.INSTANCE 188364 . 188706)) (188749 201937 (SK.SEL.AND.DELETE 188759 . 189147) 
-(SK.ERASE.AND.DELETE.ITEM 189149 . 189568) (REMOVE.ELEMENT.FROM.SKETCH 189570 . 190681) (
-SK.DELETE.ELEMENT 190683 . 191241) (SK.DELETE.ELEMENT2 191243 . 191904) (SK.DELETE.KNOT 191906 . 
-192197) (SK.SEL.AND.DELETE.KNOT 192199 . 193324) (SK.DELETE.ELEMENT.KNOT 193326 . 196533) (
-SK.CHECK.WHENDELETEDFN 196535 . 197315) (SK.CHECK.PREEDITFN 197317 . 197801) (
-SK.CHECK.END.INITIAL.EDIT 197803 . 198337) (SK.CHECK.WHENPOINTDELETEDFN 198339 . 199135) (SK.ERASE.ELT
- 199137 . 199473) (SK.DELETE.ELT 199475 . 199850) (SK.DELETE.ITEM 199852 . 200260) (DELFROMTCONC 
-200262 . 201935)) (201976 215810 (SK.COPY.ELT 201986 . 202356) (SK.SEL.AND.COPY 202358 . 202741) (
-SK.COPY.ELEMENTS 202743 . 208371) (SK.ADD.COPY.OF.ELEMENTS 208373 . 210140) (
-SK.GLOBAL.FROM.LOCAL.ELEMENTS 210142 . 210382) (SK.COPY.ITEM 210384 . 211181) (SK.INSERT.SKETCH 211183
- . 215808)) (215850 245871 (SK.MOVE.ELT 215860 . 216135) (SK.MOVE.ELT.OR.PT 216137 . 216450) (
-SK.APPLY.DEFAULT.MOVE 216452 . 216886) (SK.SEL.AND.MOVE 216888 . 217435) (SK.MOVE.ELEMENTS 217437 . 
-228309) (SKETCH.MOVE.ELEMENTS 228311 . 230242) (SKETCH.COPY.ELEMENTS 230244 . 232291) (
-\SKETCH.COPY.ELEMENT 232293 . 233018) (SK.TRANSLATE.ELEMENT 233020 . 233503) (SK.COPY.GLOBAL.ELEMENT 
-233505 . 233716) (SK.MAKE.ELEMENT.MOVE.ARG 233718 . 234338) (SK.MAKE.ELEMENTS.MOVE.ARG 234340 . 234862
-) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 234864 . 235933) (SK.SHOW.FIG.FROM.INFO 235935 . 236303) (
-SK.MOVE.THING 236305 . 237211) (UPDATE.ELEMENT.IN.SKETCH 237213 . 239268) (SK.UPDATE.ELEMENT 239270 . 
-240829) (SK.UPDATE.ELEMENTS 240831 . 241550) (SK.UPDATE.ELEMENT1 241552 . 245452) (
-SK.MOVE.ELEMENT.POINT 245454 . 245869)) (245934 268223 (SK.MOVE.POINTS 245944 . 246231) (
-SK.SEL.AND.MOVE.POINTS 246233 . 246538) (SK.DO.MOVE.ELEMENT.POINTS 246540 . 255197) (
-SK.MOVE.ITEM.POINTS 255199 . 256870) (SK.TRANSLATEPTSFN 256872 . 257256) (SK.TRANSLATE.POINTS 257258
- . 258159) (SK.SELECT.MULTIPLE.POINTS 258161 . 263801) (SK.CONTROL.POINTS.IN.REGION 263803 . 265224) (
-SK.ADD.PT.SELECTION 265226 . 265690) (SK.REMOVE.PT.SELECTION 265692 . 266309) (SK.ADD.POINT 266311 . 
-266934) (SK.ELTS.CONTAINING.PTS 266936 . 267561) (SK.HOTSPOTS.NOT.ON.LIST 267563 . 268221)) (268381 
-271177 (SK.SET.MOVE.MODE 268391 . 269062) (SK.SET.MOVE.MODE.POINTS 269064 . 269403) (
-SK.SET.MOVE.MODE.ELEMENTS 269405 . 269749) (SK.SET.MOVE.MODE.COMBINED 269751 . 270101) (READMOVEMODE 
-270103 . 271175)) (271178 289933 (SK.ALIGN.POINTS 271188 . 271478) (SK.SEL.AND.ALIGN.POINTS 271480 . 
-271789) (SK.ALIGN.POINTS.LEFT 271791 . 272094) (SK.ALIGN.POINTS.RIGHT 272096 . 272401) (
-SK.ALIGN.POINTS.TOP 272403 . 272704) (SK.ALIGN.POINTS.BOTTOM 272706 . 273013) (
-SK.EVEN.SPACE.POINTS.IN.X 273015 . 273335) (SK.EVEN.SPACE.POINTS.IN.Y 273337 . 273657) (
-SK.DO.ALIGN.POINTS 273659 . 284281) (SK.NTH.CONTROL.POINT 284283 . 284744) (
-SK.GET.SELECTED.ELEMENT.STRUCTURE 284746 . 285412) (SK.CORRESPONDING.CONTROL.PT 285414 . 285968) (
-SK.CONTROL.POINT.NUMBER 285970 . 286340) (SK.DO.ALIGN.SETVALUE 286342 . 289931)) (289997 303429 (
-SKETCH.CREATE.GROUP 290007 . 290496) (SK.CREATE.GROUP1 290498 . 291045) (SK.UPDATE.GROUP.AFTER.CHANGE 
-291047 . 291836) (SK.GROUP.ELTS 291838 . 292119) (SK.SEL.AND.GROUP 292121 . 292507) (SK.GROUP.ELEMENTS
- 292509 . 294158) (SK.UNGROUP.ELT 294160 . 294444) (SK.SEL.AND.UNGROUP 294446 . 296115) (
-SK.UNGROUP.ELEMENT 296117 . 297053) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297055 . 297977) (
-SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 297979 . 298990) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 298992 . 
-300332) (SK.UNIONREGIONS 300334 . 302700) (SKETCH.REGION.OF.SKETCH 302702 . 303118) (SK.FLASHREGION 
-303120 . 303427)) (303430 316901 (INIT.GROUP.ELEMENT 303440 . 304312) (GROUP.DRAWFN 304314 . 304764) (
-GROUP.EXPANDFN 304766 . 306329) (GROUP.INSIDEFN 306331 . 306740) (GROUP.REGIONFN 306742 . 307137) (
-GROUP.GLOBALREGIONFN 307139 . 307457) (GROUP.TRANSLATEFN 307459 . 309491) (GROUP.TRANSFORMFN 309493 . 
-312973) (GROUP.READCHANGEFN 312975 . 316899)) (316902 317910 (REGION.CENTER 316912 . 317513) (
-REMOVE.LAST 317515 . 317908)) (317963 323070 (SK.MOVE.GROUP.CONTROL.PT 317973 . 318264) (
-SK.SEL.AND.MOVE.CONTROL.PT 318266 . 319670) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 319672 . 321745) (
-SK.READ.NEW.GROUP.CONTROL.PT 321747 . 323068)) (323329 327953 (SK.DO.GROUP 323339 . 324791) (
-SK.CHECK.WHENGROUPEDFN 324793 . 325503) (SK.DO.UNGROUP 325505 . 326710) (SK.CHECK.WHENUNGROUPEDFN 
-326712 . 327299) (SK.GROUP.UNDO 327301 . 327624) (SK.UNGROUP.UNDO 327626 . 327951)) (328194 333116 (
-SK.FREEZE.ELTS 328204 . 328488) (SK.SEL.AND.FREEZE 328490 . 328880) (SK.FREEZE.ELEMENTS 328882 . 
-329433) (SK.UNFREEZE.ELT 329435 . 329724) (SK.SEL.AND.UNFREEZE 329726 . 331262) (SK.UNFREEZE.ELEMENTS 
-331264 . 331823) (SK.FREEZE.UNDO 331825 . 332070) (SK.UNFREEZE.UNDO 332072 . 332319) (SK.DO.FREEZE 
-332321 . 332714) (SK.DO.UNFREEZE 332716 . 333114)) (333346 343156 (SKETCH.ELEMENTS.OF.SKETCH 333356 . 
-334191) (SKETCH.LIST.OF.ELEMENTS 334193 . 334911) (SKETCH.ADD.ELEMENT 334913 . 335988) (
-SKETCH.DELETE.ELEMENT 335990 . 337722) (DELFROMGROUPELT 337724 . 338524) (SKETCH.ELEMENT.TYPE 338526
- . 338875) (SKETCH.ELEMENT.CHANGED 338877 . 340445) (SK.ELEMENT.CHANGED1 340447 . 341098) (
-SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341100 . 343154)) (343210 347822 (INSURE.SKETCH 343220 . 345835)
- (LOCALSPECS.FROM.VIEWER 345837 . 346197) (SK.LOCAL.ELT.FROM.GLOBALPART 346199 . 346667) (
-SKETCH.FROM.VIEWER 346669 . 346903) (INSPECT.SKETCH 346905 . 347230) (ELT.INSIDE.SKETCHWP 347232 . 
-347505) (SK.INSIDE.REGION 347507 . 347820)) (347823 352153 (MAPSKETCHSPECS 347833 . 348454) (
-MAPCOLLECTSKETCHSPECS 348456 . 349205) (MAPSKETCHSPECSUNTIL 349207 . 350015) (MAPGLOBALSKETCHSPECS 
-350017 . 350718) (MAPGLOBALSKETCHELEMENTS 350720 . 352151)) (352215 378107 (SK.ADD.SELECTION 352225 . 
-352965) (SK.COPY.INSERTFN 352967 . 356598) (SCREENELEMENTP 356600 . 357073) (SK.ITEM.REGION 357075 . 
-357562) (SK.ELEMENT.GLOBAL.REGION 357564 . 358092) (SK.LOCAL.ITEMS.IN.REGION 358094 . 360073) (
-SK.REGIONFN 360075 . 360397) (SK.GLOBAL.REGIONFN 360399 . 360757) (SK.REMOVE.SELECTION 360759 . 361487
-) (SK.SELECT.MULTIPLE.ITEMS 361489 . 371931) (SKETCH.GET.ELEMENTS 371933 . 373356) (SK.PUT.MARKS.UP 
-373358 . 373697) (SK.TAKE.MARKS.DOWN 373699 . 374038) (SK.TRANSLATE.GLOBALPART 374040 . 376167) (
-SK.TRANSLATE.ITEM 376169 . 377096) (SK.TRANSLATEFN 377098 . 377294) (TRANSLATE.SKETCH 377296 . 378105)
-) (378373 381280 (SK.INPUT.SCALE 378383 . 379230) (SK.UPDATE.SKETCHCONTEXT 379232 . 379829) (
-SK.SET.INPUT.SCALE 379831 . 380480) (SK.SET.INPUT.SCALE.CURRENT 380482 . 380773) (
-SK.SET.INPUT.SCALE.VALUE 380775 . 381278)) (381331 383243 (SK.SET.FEEDBACK.MODE 381341 . 382647) (
-SK.SET.FEEDBACK.POINT 382649 . 382817) (SK.SET.FEEDBACK.VERBOSE 382819 . 382988) (
-SK.SET.FEEDBACK.ALWAYS 382990 . 383241)) (383394 384772 (SKETCH.TITLE 383404 . 383768) (
-SK.SHRINK.ICONCREATE 383770 . 384770)) (390462 393276 (READBRUSHSHAPE 390472 . 390931) (READ.FUNCTION 
-390933 . 391448) (READBRUSHSIZE 391450 . 391908) (READANGLE 391910 . 392402) (READARCDIRECTION 392404
- . 393274)) (393277 403688 (SK.CHANGE.DASHING 393287 . 397235) (READ.AND.SAVE.NEW.DASHING 397237 . 
-399005) (READ.NEW.DASHING 399007 . 400747) (READ.DASHING.CHANGE 400749 . 402224) (SK.CACHE.DASHING 
-402226 . 403228) (SK.DASHING.LABEL 403230 . 403686)) (403689 407394 (READ.FILLING.CHANGE 403699 . 
-405680) (SK.CACHE.FILLING 405682 . 406400) (READ.AND.SAVE.NEW.FILLING 406402 . 407000) (
-SK.FILLING.LABEL 407002 . 407392)) (407778 444031 (SK.GETGLOBALPOSITION 407788 . 408093) (
-SKETCH.TRACK.ELEMENTS 408095 . 411615) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 411617 . 412176) (
-MAP.SKETCH.ELEMENTS.INTO.VIEWER 412178 . 412570) (MAP.GLOBAL.POSITION.INTO.VIEWER 412572 . 412952) (
-SKETCH.TO.VIEWER.POSITION 412954 . 413313) (SKETCH.TRACK.IMAGE 413315 . 414169) (SK.TRACK.IMAGE1 
-414171 . 415583) (MAP.VIEWER.XY.INTO.GLOBAL 415585 . 416579) (SK.SET.POSITION 416581 . 416917) (
-MAP.VIEWER.PT.INTO.GLOBAL 416919 . 418025) (VIEWER.TO.SKETCH.POSITION 418027 . 418662) (
-SK.INSURE.SCALE 418664 . 418924) (SKETCH.TO.VIEWER.REGION 418926 . 419732) (VIEWER.TO.SKETCH.REGION 
-419734 . 420072) (SK.READ.POINT.WITH.FEEDBACK 420074 . 431077) (SKETCH.GET.POSITION 431079 . 432959) (
-\CLOBBER.POSITION 432961 . 433409) (NEAREST.HOT.SPOT 433411 . 434939) (GETWREGION 434941 . 435702) (
-GET.BITMAP.POSITION 435704 . 436488) (SK.TRACK.BITMAP1 436490 . 444029)) (444600 475486 (
-SK.BRING.UP.POSITION.PAD 444610 . 450470) (SK.PAD.READER.POSITION 450472 . 452121) (
-SK.POSITION.READER.REPAINTFN 452123 . 453907) (SK.POSITION.PAD.FROM.VIEWER 453909 . 455251) (
-SK.INIT.POSITION.NUMBER.PAD.MENU 455253 . 455603) (SK.READ.POSITION.PAD.HANDLER 455605 . 461337) (
-DISPLAY.POSITION.READER.TOTAL 461339 . 463637) (POSITION.PAD.READER.HANDLER 463639 . 471682) (
-POSITIONPAD.HELDFN 471684 . 473168) (\POSITION.PAD.ADD.DIGIT.MENU 473170 . 474749) (
-\POSITION.READER.NUMBERPAD 474751 . 475484)) (477112 479790 (SK.DRAWFN 477122 . 477488) (
-SK.TRANSFORMFN 477490 . 477871) (SK.EXPANDFN 477873 . 478150) (SK.INPUT 478152 . 478533) (SK.INSIDEFN 
-478535 . 479175) (SK.UPDATEFN 479177 . 479788)) (484955 487111 (UPDATE-SKETCH 484965 . 486078) (
-EDIT-SKETCH 486080 . 487109)) (487712 491657 (SK.CHECK.SKETCH.VERSION 487722 . 488962) (
-SK.INSURE.RECORD.LENGTH 488964 . 490447) (SK.INSURE.HAS.LENGTH 490449 . 491187) (SK.RECORD.LENGTH 
-491189 . 491363) (SK.SET.RECORD.LENGTHS 491365 . 491655)) (492120 493007 (
-SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 492130 . 493005)))))
+  (FILEMAP (NIL (18222 20092 (SKETCH.FLUSH.EXISTING 18232 . 20090)) (20202 31352 (SKETCH.FROM.A.FILE 
+20212 . 20527) (SK.PUT.ON.FILE 20529 . 21981) (SKETCH.PUT 21983 . 24626) (SK.OUTPUT.FILE.NAME 24628 . 
+25113) (SK.INCLUDE.FILE 25115 . 27981) (SK.GET.IMAGEOBJ.FROM.FILE 27983 . 30146) (SK.GET.FROM.FILE 
+30148 . 31041) (SKETCH.GET 31043 . 31350)) (31353 83865 (SKETCH 31363 . 33468) (SKETCHW.CREATE 33470
+ . 38044) (SKETCH.RESET 38046 . 39568) (SKETCHW.FIG.CHANGED 39570 . 39910) (SK.WINDOW.TITLE 39912 . 
+40299) (EDITSLIDE 40301 . 40707) (EDITSKETCH 40709 . 41033) (ADD.SKETCH.TO.VIEWER 41035 . 43621) (
+SK.ADD.ELEMENTS.TO.SKETCH 43623 . 44137) (SKETCH.SET.A.DEFAULT 44139 . 51690) (SK.POPUP.SELECTIONFN 
+51692 . 52234) (GETSKETCHWREGION 52236 . 52442) (SK.ADD.ELEMENT 52444 . 54023) (
+SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 54025 . 55419) (SK.ELTS.BY.PRIORITY 55421 . 55717) (
+SK.ORDER.ELEMENTS 55719 . 55986) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 55988 . 57482) (
+SK.ADD.ELEMENTS 57484 . 58008) (SK.CHECK.WHENADDEDFN 58010 . 58740) (SK.APPLY.MENU.COMMAND 58742 . 
+59540) (SK.DELETE.ELEMENT1 59542 . 61120) (SK.MARK.DIRTY 61122 . 61788) (SK.MARK.UNDIRTY 61790 . 62121
+) (SK.MENU.AND.RETURN.FIELD 62123 . 62788) (SKETCH.SET.BRUSH.SHAPE 62790 . 63375) (
+SKETCH.SET.BRUSH.SIZE 63377 . 63883) (SKETCHW.CLOSEFN 63885 . 65676) (SK.CONFIRM.DESTRUCTION 65678 . 
+66677) (SKETCHW.OUTFN 66679 . 66943) (SKETCHW.REOPENFN 66945 . 67357) (MAKE.LOCAL.SKETCH 67359 . 68089
+) (MAP.SKETCHSPEC.INTO.VIEWER 68091 . 69301) (SKETCHW.REPAINTFN 69303 . 70131) (SKETCHW.REPAINTFN1 
+70133 . 71072) (SK.DRAWFIGURE.IF 71074 . 71596) (SKETCHW.SCROLLFN 71598 . 75791) (SKETCHW.RESHAPEFN 
+75793 . 78051) (SK.UPDATE.EVENT.SELECTION 78053 . 80108) (LIGHTGRAYWINDOW 80110 . 80273) (
+SK.ADD.SPACES 80275 . 81021) (SK.SKETCH.MENU 81023 . 81345) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 81347 . 
+82199) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 82201 . 83161) (SK.RETURN.TTY 83163 . 83531) (SK.TAKE.TTY 
+83533 . 83863)) (83919 107334 (SKETCH.COMMANDMENU 83929 . 84353) (SKETCH.COMMANDMENU.ITEMS 84355 . 
+104438) (CREATE.SKETCHW.COMMANDMENU 104440 . 104860) (SKETCHW.SELECTIONFN 104862 . 105965) (
+SKETCH.MONITORLOCK 105967 . 106438) (SK.EVAL.AS.PROCESS 106440 . 107053) (SK.EVAL.WITH.LOCK 107055 . 
+107332)) (107335 115139 (SK.FIX.MENU 107345 . 108439) (SK.SET.UP.MENUS 108441 . 110742) (
+SK.INSURE.HAS.MENU 110744 . 111406) (SK.CREATE.STANDARD.MENU 111408 . 111853) (SK.ADD.ITEM.TO.MENU 
+111855 . 112530) (SK.GET.VIEWER.POPUP.MENU 112532 . 114733) (SK.CLEAR.POPUP.MENU 114735 . 115137)) (
+115195 124017 (SKETCH.CREATE 115205 . 115991) (GETSKETCHPROP 115993 . 119050) (PUTSKETCHPROP 119052 . 
+122984) (CREATE.DEFAULT.SKETCH.CONTEXT 122986 . 124015)) (124183 147079 (SK.COPY.BUTTONEVENTFN 124193
+ . 135421) (SK.BUTTONEVENT.MARK 135423 . 135806) (SK.BUILD.IMAGEOBJ 135808 . 145723) (
+SK.BUTTONEVENT.OVERP 145725 . 146348) (SK.BUTTONEVENT.SAME.KEYS 146350 . 147077)) (147358 173173 (
+SK.SEL.AND.CHANGE 147368 . 147660) (SK.CHECK.WHENCHANGEDFN 147662 . 148368) (SK.CHECK.PRECHANGEFN 
+148370 . 148971) (SK.CHANGE.ELT 148973 . 149165) (SK.CHANGE.THING 149167 . 150418) (
+SKETCH.CHANGE.ELEMENTS 150420 . 151603) (SK.APPLY.SINGLE.CHANGEFN 151605 . 152178) (SK.DO.CHANGESPECS 
+152180 . 153839) (SK.VIEWER.FROM.SKETCH.ARG 153841 . 154283) (SK.DO.CHANGESPEC1 154285 . 156160) (
+SK.CHANGEFN 156162 . 156742) (SK.READCHANGEFN 156744 . 157203) (SK.DEFAULT.CHANGEFN 157205 . 159677) (
+CHANGEABLEFIELDITEMS 159679 . 160326) (SK.APPLY.CHANGE.COMMAND 160328 . 160945) (
+SK.DO.AND.RECORD.CHANGES 160947 . 162344) (SK.APPLY.CHANGE.COMMAND1 162346 . 163834) (
+SK.ELEMENTS.CHANGEFN 163836 . 166160) (READ.POINT.TO.ADD 166162 . 167106) (GLOBAL.KNOT.FROM.LOCAL 
+167108 . 167568) (SK.ADD.KNOT.TO.ELEMENT 167570 . 168514) (SK.GROUP.CHANGEFN 168516 . 169728) (
+SK.GROUP.CHANGEFN1 169730 . 173171)) (173340 187073 (ADD.ELEMENT.TO.SKETCH 173350 . 175056) (
+ADD.SKETCH.VIEWER 175058 . 175726) (REMOVE.SKETCH.VIEWER 175728 . 176341) (ALL.SKETCH.VIEWERS 176343
+ . 176583) (SKETCH.ALL.VIEWERS 176585 . 176845) (VIEWER.BUCKET 176847 . 176998) (ELT.INSIDE.REGION? 
+177000 . 177327) (ELT.INSIDE.SKWP 177329 . 177620) (SCALE.FROM.SKW 177622 . 177872) (
+SK.ADDELT.TO.WINDOW 177874 . 178734) (SK.CALC.REGION.VIEWED 178736 . 179114) (SK.DRAWFIGURE 179116 . 
+180405) (SK.DRAWFIGURE1 180407 . 180791) (SK.LOCAL.FROM.GLOBAL 180793 . 182028) (SKETCH.REGION.VIEWED 
+182030 . 184717) (SKETCH.VIEW.FROM.NAME 184719 . 185149) (SK.UPDATE.REGION.VIEWED 185151 . 185543) (
+SKETCH.ADD.AND.DISPLAY 185545 . 185953) (SKETCH.ADD.AND.DISPLAY1 185955 . 186393) (SK.ADD.ITEM 186395
+ . 186727) (SKETCHW.ADD.INSTANCE 186729 . 187071)) (187114 200302 (SK.SEL.AND.DELETE 187124 . 187512) 
+(SK.ERASE.AND.DELETE.ITEM 187514 . 187933) (REMOVE.ELEMENT.FROM.SKETCH 187935 . 189046) (
+SK.DELETE.ELEMENT 189048 . 189606) (SK.DELETE.ELEMENT2 189608 . 190269) (SK.DELETE.KNOT 190271 . 
+190562) (SK.SEL.AND.DELETE.KNOT 190564 . 191689) (SK.DELETE.ELEMENT.KNOT 191691 . 194898) (
+SK.CHECK.WHENDELETEDFN 194900 . 195680) (SK.CHECK.PREEDITFN 195682 . 196166) (
+SK.CHECK.END.INITIAL.EDIT 196168 . 196702) (SK.CHECK.WHENPOINTDELETEDFN 196704 . 197500) (SK.ERASE.ELT
+ 197502 . 197838) (SK.DELETE.ELT 197840 . 198215) (SK.DELETE.ITEM 198217 . 198625) (DELFROMTCONC 
+198627 . 200300)) (200341 214175 (SK.COPY.ELT 200351 . 200721) (SK.SEL.AND.COPY 200723 . 201106) (
+SK.COPY.ELEMENTS 201108 . 206736) (SK.ADD.COPY.OF.ELEMENTS 206738 . 208505) (
+SK.GLOBAL.FROM.LOCAL.ELEMENTS 208507 . 208747) (SK.COPY.ITEM 208749 . 209546) (SK.INSERT.SKETCH 209548
+ . 214173)) (214215 244236 (SK.MOVE.ELT 214225 . 214500) (SK.MOVE.ELT.OR.PT 214502 . 214815) (
+SK.APPLY.DEFAULT.MOVE 214817 . 215251) (SK.SEL.AND.MOVE 215253 . 215800) (SK.MOVE.ELEMENTS 215802 . 
+226674) (SKETCH.MOVE.ELEMENTS 226676 . 228607) (SKETCH.COPY.ELEMENTS 228609 . 230656) (
+\SKETCH.COPY.ELEMENT 230658 . 231383) (SK.TRANSLATE.ELEMENT 231385 . 231868) (SK.COPY.GLOBAL.ELEMENT 
+231870 . 232081) (SK.MAKE.ELEMENT.MOVE.ARG 232083 . 232703) (SK.MAKE.ELEMENTS.MOVE.ARG 232705 . 233227
+) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 233229 . 234298) (SK.SHOW.FIG.FROM.INFO 234300 . 234668) (
+SK.MOVE.THING 234670 . 235576) (UPDATE.ELEMENT.IN.SKETCH 235578 . 237633) (SK.UPDATE.ELEMENT 237635 . 
+239194) (SK.UPDATE.ELEMENTS 239196 . 239915) (SK.UPDATE.ELEMENT1 239917 . 243817) (
+SK.MOVE.ELEMENT.POINT 243819 . 244234)) (244299 266588 (SK.MOVE.POINTS 244309 . 244596) (
+SK.SEL.AND.MOVE.POINTS 244598 . 244903) (SK.DO.MOVE.ELEMENT.POINTS 244905 . 253562) (
+SK.MOVE.ITEM.POINTS 253564 . 255235) (SK.TRANSLATEPTSFN 255237 . 255621) (SK.TRANSLATE.POINTS 255623
+ . 256524) (SK.SELECT.MULTIPLE.POINTS 256526 . 262166) (SK.CONTROL.POINTS.IN.REGION 262168 . 263589) (
+SK.ADD.PT.SELECTION 263591 . 264055) (SK.REMOVE.PT.SELECTION 264057 . 264674) (SK.ADD.POINT 264676 . 
+265299) (SK.ELTS.CONTAINING.PTS 265301 . 265926) (SK.HOTSPOTS.NOT.ON.LIST 265928 . 266586)) (266746 
+269542 (SK.SET.MOVE.MODE 266756 . 267427) (SK.SET.MOVE.MODE.POINTS 267429 . 267768) (
+SK.SET.MOVE.MODE.ELEMENTS 267770 . 268114) (SK.SET.MOVE.MODE.COMBINED 268116 . 268466) (READMOVEMODE 
+268468 . 269540)) (269543 288298 (SK.ALIGN.POINTS 269553 . 269843) (SK.SEL.AND.ALIGN.POINTS 269845 . 
+270154) (SK.ALIGN.POINTS.LEFT 270156 . 270459) (SK.ALIGN.POINTS.RIGHT 270461 . 270766) (
+SK.ALIGN.POINTS.TOP 270768 . 271069) (SK.ALIGN.POINTS.BOTTOM 271071 . 271378) (
+SK.EVEN.SPACE.POINTS.IN.X 271380 . 271700) (SK.EVEN.SPACE.POINTS.IN.Y 271702 . 272022) (
+SK.DO.ALIGN.POINTS 272024 . 282646) (SK.NTH.CONTROL.POINT 282648 . 283109) (
+SK.GET.SELECTED.ELEMENT.STRUCTURE 283111 . 283777) (SK.CORRESPONDING.CONTROL.PT 283779 . 284333) (
+SK.CONTROL.POINT.NUMBER 284335 . 284705) (SK.DO.ALIGN.SETVALUE 284707 . 288296)) (288362 301794 (
+SKETCH.CREATE.GROUP 288372 . 288861) (SK.CREATE.GROUP1 288863 . 289410) (SK.UPDATE.GROUP.AFTER.CHANGE 
+289412 . 290201) (SK.GROUP.ELTS 290203 . 290484) (SK.SEL.AND.GROUP 290486 . 290872) (SK.GROUP.ELEMENTS
+ 290874 . 292523) (SK.UNGROUP.ELT 292525 . 292809) (SK.SEL.AND.UNGROUP 292811 . 294480) (
+SK.UNGROUP.ELEMENT 294482 . 295418) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 295420 . 296342) (
+SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 296344 . 297355) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 297357 . 
+298697) (SK.UNIONREGIONS 298699 . 301065) (SKETCH.REGION.OF.SKETCH 301067 . 301483) (SK.FLASHREGION 
+301485 . 301792)) (301795 315266 (INIT.GROUP.ELEMENT 301805 . 302677) (GROUP.DRAWFN 302679 . 303129) (
+GROUP.EXPANDFN 303131 . 304694) (GROUP.INSIDEFN 304696 . 305105) (GROUP.REGIONFN 305107 . 305502) (
+GROUP.GLOBALREGIONFN 305504 . 305822) (GROUP.TRANSLATEFN 305824 . 307856) (GROUP.TRANSFORMFN 307858 . 
+311338) (GROUP.READCHANGEFN 311340 . 315264)) (315267 316275 (REGION.CENTER 315277 . 315878) (
+REMOVE.LAST 315880 . 316273)) (316328 321435 (SK.MOVE.GROUP.CONTROL.PT 316338 . 316629) (
+SK.SEL.AND.MOVE.CONTROL.PT 316631 . 318035) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 318037 . 320110) (
+SK.READ.NEW.GROUP.CONTROL.PT 320112 . 321433)) (321694 326318 (SK.DO.GROUP 321704 . 323156) (
+SK.CHECK.WHENGROUPEDFN 323158 . 323868) (SK.DO.UNGROUP 323870 . 325075) (SK.CHECK.WHENUNGROUPEDFN 
+325077 . 325664) (SK.GROUP.UNDO 325666 . 325989) (SK.UNGROUP.UNDO 325991 . 326316)) (326559 331481 (
+SK.FREEZE.ELTS 326569 . 326853) (SK.SEL.AND.FREEZE 326855 . 327245) (SK.FREEZE.ELEMENTS 327247 . 
+327798) (SK.UNFREEZE.ELT 327800 . 328089) (SK.SEL.AND.UNFREEZE 328091 . 329627) (SK.UNFREEZE.ELEMENTS 
+329629 . 330188) (SK.FREEZE.UNDO 330190 . 330435) (SK.UNFREEZE.UNDO 330437 . 330684) (SK.DO.FREEZE 
+330686 . 331079) (SK.DO.UNFREEZE 331081 . 331479)) (331711 341521 (SKETCH.ELEMENTS.OF.SKETCH 331721 . 
+332556) (SKETCH.LIST.OF.ELEMENTS 332558 . 333276) (SKETCH.ADD.ELEMENT 333278 . 334353) (
+SKETCH.DELETE.ELEMENT 334355 . 336087) (DELFROMGROUPELT 336089 . 336889) (SKETCH.ELEMENT.TYPE 336891
+ . 337240) (SKETCH.ELEMENT.CHANGED 337242 . 338810) (SK.ELEMENT.CHANGED1 338812 . 339463) (
+SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 339465 . 341519)) (341575 346187 (INSURE.SKETCH 341585 . 344200)
+ (LOCALSPECS.FROM.VIEWER 344202 . 344562) (SK.LOCAL.ELT.FROM.GLOBALPART 344564 . 345032) (
+SKETCH.FROM.VIEWER 345034 . 345268) (INSPECT.SKETCH 345270 . 345595) (ELT.INSIDE.SKETCHWP 345597 . 
+345870) (SK.INSIDE.REGION 345872 . 346185)) (346188 350518 (MAPSKETCHSPECS 346198 . 346819) (
+MAPCOLLECTSKETCHSPECS 346821 . 347570) (MAPSKETCHSPECSUNTIL 347572 . 348380) (MAPGLOBALSKETCHSPECS 
+348382 . 349083) (MAPGLOBALSKETCHELEMENTS 349085 . 350516)) (350580 376472 (SK.ADD.SELECTION 350590 . 
+351330) (SK.COPY.INSERTFN 351332 . 354963) (SCREENELEMENTP 354965 . 355438) (SK.ITEM.REGION 355440 . 
+355927) (SK.ELEMENT.GLOBAL.REGION 355929 . 356457) (SK.LOCAL.ITEMS.IN.REGION 356459 . 358438) (
+SK.REGIONFN 358440 . 358762) (SK.GLOBAL.REGIONFN 358764 . 359122) (SK.REMOVE.SELECTION 359124 . 359852
+) (SK.SELECT.MULTIPLE.ITEMS 359854 . 370296) (SKETCH.GET.ELEMENTS 370298 . 371721) (SK.PUT.MARKS.UP 
+371723 . 372062) (SK.TAKE.MARKS.DOWN 372064 . 372403) (SK.TRANSLATE.GLOBALPART 372405 . 374532) (
+SK.TRANSLATE.ITEM 374534 . 375461) (SK.TRANSLATEFN 375463 . 375659) (TRANSLATE.SKETCH 375661 . 376470)
+) (376738 379645 (SK.INPUT.SCALE 376748 . 377595) (SK.UPDATE.SKETCHCONTEXT 377597 . 378194) (
+SK.SET.INPUT.SCALE 378196 . 378845) (SK.SET.INPUT.SCALE.CURRENT 378847 . 379138) (
+SK.SET.INPUT.SCALE.VALUE 379140 . 379643)) (379696 381608 (SK.SET.FEEDBACK.MODE 379706 . 381012) (
+SK.SET.FEEDBACK.POINT 381014 . 381182) (SK.SET.FEEDBACK.VERBOSE 381184 . 381353) (
+SK.SET.FEEDBACK.ALWAYS 381355 . 381606)) (381759 383137 (SKETCH.TITLE 381769 . 382133) (
+SK.SHRINK.ICONCREATE 382135 . 383135)) (388827 391641 (READBRUSHSHAPE 388837 . 389296) (READ.FUNCTION 
+389298 . 389813) (READBRUSHSIZE 389815 . 390273) (READANGLE 390275 . 390767) (READARCDIRECTION 390769
+ . 391639)) (391642 402053 (SK.CHANGE.DASHING 391652 . 395600) (READ.AND.SAVE.NEW.DASHING 395602 . 
+397370) (READ.NEW.DASHING 397372 . 399112) (READ.DASHING.CHANGE 399114 . 400589) (SK.CACHE.DASHING 
+400591 . 401593) (SK.DASHING.LABEL 401595 . 402051)) (402054 405759 (READ.FILLING.CHANGE 402064 . 
+404045) (SK.CACHE.FILLING 404047 . 404765) (READ.AND.SAVE.NEW.FILLING 404767 . 405365) (
+SK.FILLING.LABEL 405367 . 405757)) (406143 442396 (SK.GETGLOBALPOSITION 406153 . 406458) (
+SKETCH.TRACK.ELEMENTS 406460 . 409980) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 409982 . 410541) (
+MAP.SKETCH.ELEMENTS.INTO.VIEWER 410543 . 410935) (MAP.GLOBAL.POSITION.INTO.VIEWER 410937 . 411317) (
+SKETCH.TO.VIEWER.POSITION 411319 . 411678) (SKETCH.TRACK.IMAGE 411680 . 412534) (SK.TRACK.IMAGE1 
+412536 . 413948) (MAP.VIEWER.XY.INTO.GLOBAL 413950 . 414944) (SK.SET.POSITION 414946 . 415282) (
+MAP.VIEWER.PT.INTO.GLOBAL 415284 . 416390) (VIEWER.TO.SKETCH.POSITION 416392 . 417027) (
+SK.INSURE.SCALE 417029 . 417289) (SKETCH.TO.VIEWER.REGION 417291 . 418097) (VIEWER.TO.SKETCH.REGION 
+418099 . 418437) (SK.READ.POINT.WITH.FEEDBACK 418439 . 429442) (SKETCH.GET.POSITION 429444 . 431324) (
+\CLOBBER.POSITION 431326 . 431774) (NEAREST.HOT.SPOT 431776 . 433304) (GETWREGION 433306 . 434067) (
+GET.BITMAP.POSITION 434069 . 434853) (SK.TRACK.BITMAP1 434855 . 442394)) (442965 473851 (
+SK.BRING.UP.POSITION.PAD 442975 . 448835) (SK.PAD.READER.POSITION 448837 . 450486) (
+SK.POSITION.READER.REPAINTFN 450488 . 452272) (SK.POSITION.PAD.FROM.VIEWER 452274 . 453616) (
+SK.INIT.POSITION.NUMBER.PAD.MENU 453618 . 453968) (SK.READ.POSITION.PAD.HANDLER 453970 . 459702) (
+DISPLAY.POSITION.READER.TOTAL 459704 . 462002) (POSITION.PAD.READER.HANDLER 462004 . 470047) (
+POSITIONPAD.HELDFN 470049 . 471533) (\POSITION.PAD.ADD.DIGIT.MENU 471535 . 473114) (
+\POSITION.READER.NUMBERPAD 473116 . 473849)) (475477 478155 (SK.DRAWFN 475487 . 475853) (
+SK.TRANSFORMFN 475855 . 476236) (SK.EXPANDFN 476238 . 476515) (SK.INPUT 476517 . 476898) (SK.INSIDEFN 
+476900 . 477540) (SK.UPDATEFN 477542 . 478153)) (483320 485476 (UPDATE-SKETCH 483330 . 484443) (
+EDIT-SKETCH 484445 . 485474)) (486077 490022 (SK.CHECK.SKETCH.VERSION 486087 . 487327) (
+SK.INSURE.RECORD.LENGTH 487329 . 488812) (SK.INSURE.HAS.LENGTH 488814 . 489552) (SK.RECORD.LENGTH 
+489554 . 489728) (SK.SET.RECORD.LENGTHS 489730 . 490020)) (490485 491372 (
+SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 490495 . 491370)))))
 STOP
diff --git a/library/sketch/SKETCH-ELEMENTS b/library/sketch/SKETCH-ELEMENTS
index 5e56caa3..333f585d 100644
--- a/library/sketch/SKETCH-ELEMENTS
+++ b/library/sketch/SKETCH-ELEMENTS
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "30-Nov-2025 10:57:24" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;25 545903 
+(FILECREATED "18-Dec-2025 00:27:41" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;28 546107 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS SK.CHANGE.TEXT SK.CHANGE.FONT)
+      :CHANGES-TO (FNS SK.DECREASING.FONT.LIST)
 
-      :PREVIOUS-DATE " 8-Nov-2025 14:02:38" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;24)
+      :PREVIOUS-DATE "30-Nov-2025 10:57:24" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;25)
 
 
 (PRETTYCOMPRINT SKETCH-ELEMENTSCOMS)
@@ -5545,7 +5545,8 @@ Click outside the window to stop.")
                   do (RETURN (FONTPROP FONT 'SPEC])
 
 (SK.DECREASING.FONT.LIST
-  [LAMBDA (FAMILY DEVICE)                                    (* ; "Edited  6-Nov-2025 17:40 by rmk")
+  [LAMBDA (FAMILY DEVICE)                                    (* ; "Edited 18-Dec-2025 00:27 by rmk")
+                                                             (* ; "Edited  6-Nov-2025 17:40 by rmk")
                                                              (* ; "Edited  4-Nov-2025 15:34 by rmk")
                                                              (* ; 
                                                         "Edited 12-Oct-92 12:39 by sybalsky:mv:envos")
@@ -5566,19 +5567,19 @@ Click outside the window to stop.")
         (SETQ FAMILY 'MODERN))
     (LET ((FAMSPEC (create FONTSPEC
                           FSFAMILY _ FAMILY
-                          FSSIZE _ '*
+                          FSSIZE _ 12
                           FSDEVICE _ DEVICE)))
 
-         (* ;; "Run through all sizes for all the fonts for FAMILY or any of its coercions on DEVICE.  This gives us all the possible sizes for FAMILY, we ask FONTCREATE to create a FAMILY font for each of those sizes.")
+         (* ;; "Coerce for size 12 to getcoercions for all reasonable FAMILYs, then go to *.  This gives us all the possible sizes for FAMILY, we ask FONTCREATE to create a FAMILY font for each of those sizes.")
 
-         (for FS SIZES in (for FS in [CONS FAMSPEC (COERCEFONTSPEC FAMSPEC (FONTDEVICEPROP
+         (for FS SIZES in (for FS in (CONS FAMSPEC (COERCEFONTSPEC FAMSPEC (FONTDEVICEPROP
                                                                             DEVICE
-                                                                            'CHARCOERCIONS]
-                             join (FONTSAVAILABLE FS NIL NIL NIL NIL T))
-            do (pushnew SIZES (fetch (FONTSPEC FSSIZE) of FS))
-            finally (RETURN (for S in [SORT SIZES (FUNCTION (LAMBDA (S1 S2)
-                                                              (IGREATERP S1 S2]
-                               collect (FONTCREATE FAMILY S NIL NIL DEVICE])
+                                                                            'CHARCOERCIONS T)))
+                             join (FONTSAVAILABLE (create FONTSPEC using FS FSSIZE _ '*)
+                                         NIL NIL NIL NIL T)) do (pushnew SIZES (fetch (FONTSPEC
+                                                                                       FSSIZE)
+                                                                                  of FS))
+            finally (RETURN (for S in (SORT SIZES) collect (FONTCREATE FAMILY S NIL NIL DEVICE])
 )
 
 (RPAQ? \KNOWN.SKETCH.FONTSIZES )
@@ -9076,136 +9077,136 @@ No more font sizes found.")
            (fetch (REGION TOP) of REGION])
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (14197 24607 (INIT.SKETCH.ELEMENTS 14207 . 21770) (CREATE.SKETCH.ELEMENT.TYPE 21772 . 
-23294) (SKETCH.ELEMENT.TYPEP 23296 . 23684) (SKETCH.ELEMENT.NAMEP 23686 . 23949) (
-\CURSOR.IN.MIDDLE.MENU 23951 . 24605)) (24648 25325 (SKETCHINCOLORP 24658 . 24978) (READ.COLOR.CHANGE 
-24980 . 25323)) (25834 28613 (SK.CREATE.DEFAULT.FILLING 25844 . 26145) (SKFILLINGP 26147 . 26780) (
-SK.INSURE.FILLING 26782 . 28210) (SK.INSURE.COLOR 28212 . 28611)) (28614 34224 (SK.TRANSLATE.MODE 
-28624 . 29406) (SK.CHANGE.FILLING.MODE 29408 . 32991) (READ.FILLING.MODE 32993 . 34222)) (34225 64899 
-(SKETCH.CREATE.CIRCLE 34235 . 35047) (CIRCLE.EXPANDFN 35049 . 38421) (CIRCLE.DRAWFN 38423 . 41424) (
-\CIRCLE.DRAWFN1 41426 . 44021) (CIRCLE.INPUTFN 44023 . 45872) (SK.UPDATE.CIRCLE.AFTER.CHANGE 45874 . 
-46233) (SK.READ.CIRCLE.POINT 46235 . 46706) (SK.SHOW.CIRCLE 46708 . 47354) (CIRCLE.INSIDEFN 47356 . 
-47621) (CIRCLE.REGIONFN 47623 . 49304) (CIRCLE.GLOBALREGIONFN 49306 . 50824) (CIRCLE.TRANSLATE 50826
- . 52687) (CIRCLE.READCHANGEFN 52689 . 57305) (CIRCLE.TRANSFORMFN 57307 . 59160) (CIRCLE.TRANSLATEPTS 
-59162 . 60776) (SK.CIRCLE.CREATE 60778 . 61621) (SET.CIRCLE.SCALE 61623 . 62389) (SK.BRUSH.READCHANGE 
-62391 . 64897)) (64900 65629 (SK.INSURE.BRUSH 64910 . 65304) (SK.INSURE.DASHING 65306 . 65627)) (66843
- 96337 (SKETCH.CREATE.ELLIPSE 66853 . 67452) (ELLIPSE.EXPANDFN 67454 . 71066) (ELLIPSE.DRAWFN 71068 . 
-75245) (ELLIPSE.INPUTFN 75247 . 77687) (SK.READ.ELLIPSE.MAJOR.PT 77689 . 78268) (
-SK.SHOW.ELLIPSE.MAJOR.RADIUS 78270 . 79025) (SK.READ.ELLIPSE.MINOR.PT 79027 . 79720) (
-SK.SHOW.ELLIPSE.MINOR.RADIUS 79722 . 80554) (ELLIPSE.INSIDEFN 80556 . 80826) (ELLIPSE.CREATE 80828 . 
-82203) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82205 . 82573) (ELLIPSE.REGIONFN 82575 . 84775) (
-ELLIPSE.GLOBALREGIONFN 84777 . 86590) (ELLIPSE.TRANSLATEFN 86592 . 89138) (ELLIPSE.TRANSFORMFN 89140
- . 90417) (ELLIPSE.TRANSLATEPTS 90419 . 92460) (MARK.SPOT 92462 . 93713) (DISTANCEBETWEEN 93715 . 
-94310) (SK.DISTANCE.TO 94312 . 94697) (SQUARE 94699 . 94741) (COMPUTE.ELLIPSE.ORIENTATION 94743 . 
-95462) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95464 . 96335)) (97450 138506 (SKETCH.CREATE.OPEN.CURVE 
-97460 . 98013) (OPENCURVE.INPUTFN 98015 . 98883) (SK.CURVE.CREATE 98885 . 100630) (MAXXEXTENT 100632
- . 101491) (MAXYEXTENT 101493 . 102353) (KNOT.SET.SCALE.FIELD 102355 . 103157) (OPENCURVE.DRAWFN 
-103159 . 104290) (OPENCURVE.EXPANDFN 104292 . 107607) (OPENCURVE.READCHANGEFN 107609 . 110811) (
-OPENCURVE.TRANSFORMFN 110813 . 113311) (OPENCURVE.TRANSLATEFN 113313 . 113735) (
-OPENCURVE.TRANSLATEPTSFN 113737 . 115118) (SKETCH.CREATE.CLOSED.CURVE 115120 . 115626) (
-CLOSEDCURVE.DRAWFN 115628 . 116412) (CLOSEDCURVE.EXPANDFN 116414 . 119527) (CLOSEDCURVE.REGIONFN 
-119529 . 120326) (CLOSEDCURVE.GLOBALREGIONFN 120328 . 121761) (READ.LIST.OF.POINTS 121763 . 123742) (
-CLOSEDCURVE.INPUTFN 123744 . 124389) (CLOSEDCURVE.READCHANGEFN 124391 . 127286) (
-CLOSEDCURVE.TRANSFORMFN 127288 . 129088) (CLOSEDCURVE.TRANSLATEPTSFN 129090 . 130435) (INVISIBLEPARTP 
-130437 . 130790) (SHOWSKETCHPOINT 130792 . 131097) (SHOWSKETCHXY 131099 . 131617) (KNOTS.REGIONFN 
-131619 . 132520) (OPENWIRE.GLOBALREGIONFN 132522 . 133386) (CURVE.REGIONFN 133388 . 134329) (
-OPENCURVE.GLOBALREGIONFN 134331 . 135738) (KNOTS.TRANSLATEFN 135740 . 136783) (REGION.CONTAINING.PTS 
-136785 . 138504)) (138507 160783 (CHANGE.ELTS.BRUSH.SIZE 138517 . 139127) (CHANGE.ELTS.BRUSH 139129 . 
-139646) (CHANGE.ELTS.BRUSH.SHAPE 139648 . 140049) (SK.CHANGE.BRUSH.SHAPE 140051 . 143563) (
-SK.CHANGE.BRUSH.COLOR 143565 . 148011) (SK.CHANGE.BRUSH.SIZE 148013 . 152971) (SK.CHANGE.ANGLE 152973
- . 155953) (SK.CHANGE.ARC.DIRECTION 155955 . 158334) (SK.SET.DEFAULT.BRUSH.SIZE 158336 . 159035) (
-READSIZECHANGE 159037 . 160781)) (160784 162403 (SK.CHANGE.ELEMENT.KNOTS 160794 . 162401)) (162404 
-163051 (SK.INSURE.POINT.LIST 162414 . 162867) (SK.INSURE.POSITION 162869 . 163049)) (164419 196742 (
-SKETCH.CREATE.WIRE 164429 . 164919) (CLOSEDWIRE.EXPANDFN 164921 . 167609) (KNOTS.INSIDEFN 167611 . 
-168332) (OPEN.WIRE.DRAWFN 168334 . 168926) (WIRE.EXPANDFN 168928 . 172175) (
-SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172177 . 172698) (OPENWIRE.READCHANGEFN 172700 . 175193) (
-OPENWIRE.TRANSFORMFN 175195 . 177318) (OPENWIRE.TRANSLATEFN 177320 . 177744) (OPENWIRE.TRANSLATEPTSFN 
-177746 . 179025) (WIRE.INPUTFN 179027 . 180658) (SK.READ.WIRE.POINTS 180660 . 181191) (
-SK.READ.POINTS.WITH.FEEDBACK 181193 . 183960) (OPENWIRE.FEEDBACKFN 183962 . 184716) (
-CLOSEDWIRE.FEEDBACKFN 184718 . 186074) (CLOSEDWIRE.REGIONFN 186076 . 187061) (
-CLOSEDWIRE.GLOBALREGIONFN 187063 . 188115) (SK.WIRE.CREATE 188117 . 189880) (WIRE.ADD.POINT.TO.END 
-189882 . 190798) (READ.ARROW.CHANGE 190800 . 196276) (CHANGE.ELTS.ARROWHEADS 196278 . 196740)) (196743
- 207749 (SKETCH.CREATE.CLOSED.WIRE 196753 . 197314) (CLOSED.WIRE.INPUTFN 197316 . 197671) (
-CLOSED.WIRE.DRAWFN 197673 . 199718) (CLOSEDWIRE.READCHANGEFN 199720 . 204625) (CLOSEDWIRE.TRANSFORMFN 
-204627 . 206421) (CLOSEDWIRE.TRANSLATEPTSFN 206423 . 207747)) (207750 260456 (SK.EXPAND.ARROWHEADS 
-207760 . 208110) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208112 . 209493) (ARC.ARROWHEAD.POINTS 209495 . 
-210718) (SET.ARC.ARROWHEAD.POINTS 210720 . 211701) (SET.OPENCURVE.ARROWHEAD.POINTS 211703 . 212604) (
-SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212606 . 213876) (SET.WIRE.ARROWHEAD.POINTS 213878 . 214631) (
-SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214633 . 215898) (SK.EXPAND.ARROWHEAD 215900 . 217083) (CHANGED.ARROW
- 217085 . 220257) (SK.CHANGE.ARROWHEAD 220259 . 220712) (SK.CHANGE.ARROWHEAD1 220714 . 225969) (
-SK.CREATE.ARROWHEAD 225971 . 226491) (SK.ARROWHEAD.CREATE 226493 . 228067) (SK.ARROWHEAD.END.TEST 
-228069 . 228993) (READ.ARROWHEAD.END 228995 . 231020) (ARROW.HEAD.POSITIONS 231022 . 232862) (
-ARROWHEAD.POINTS.LIST 232864 . 236836) (CURVE.ARROWHEAD.POINTS 236838 . 237701) (LEFT.MOST.IS.BEGINP 
-237703 . 238584) (WIRE.ARROWHEAD.POINTS 238586 . 240112) (DRAWARROWHEADS 240114 . 242484) (
-\SK.DRAW.TRIANGLE.ARROWHEAD 242486 . 244146) (\SK.ENDPT.OF.ARROW 244148 . 246405) (
-\SK.ADJUST.FOR.ARROWHEADS 246407 . 248912) (SK.SET.ARROWHEAD.LENGTH 248914 . 250058) (
-SK.SET.ARROWHEAD.ANGLE 250060 . 251156) (SK.SET.ARROWHEAD.TYPE 251158 . 254447) (SK.SET.LINE.ARROWHEAD
- 254449 . 256862) (SK.UPDATE.ARROWHEAD.FORMAT 256864 . 258974) (SK.SET.LINE.LENGTH.MODE 258976 . 
-260454)) (260457 262258 (SK.INSURE.ARROWHEADS 260467 . 261649) (SK.ARROWHEADP 261651 . 262256)) (
-265055 327497 (SKETCH.CREATE.TEXT 265065 . 265579) (TEXT.CHANGEFN 265581 . 265973) (TEXT.READCHANGEFN 
-265975 . 274046) (\SK.READ.FONT.SIZE1 274048 . 276214) (SK.TEXT.ELT.WITH.SAME.FIELDS 276216 . 277856) 
-(SK.READFONTFAMILY 277858 . 280328) (CLOSE.PROMPT.WINDOW 280330 . 280754) (TEXT.DRAWFN 280756 . 281477
-) (TEXT.DRAWFN1 281479 . 284981) (TEXT.INSIDEFN 284983 . 285372) (TEXT.EXPANDFN 285374 . 287499) (
-SK.TEXT.LINE.REGIONS 287501 . 289375) (TEXT.UPDATE.GLOBAL.REGIONS 289377 . 290609) (REL.MOVE.REGION 
-290611 . 291148) (LTEXT.LINE.REGIONS 291150 . 294568) (TEXT.INPUTFN 294570 . 295080) (READ.TEXT 295082
- . 295830) (TEXT.POSITION.AND.CREATE 295832 . 298143) (CREATE.TEXT.ELEMENT 298145 . 298963) (
-SK.UPDATE.TEXT.AFTER.CHANGE 298965 . 299367) (SK.TEXT.FROM.TEXTBOX 299369 . 303175) (
-TEXT.SET.GLOBAL.REGIONS 303177 . 304470) (TEXT.REGIONFN 304472 . 305242) (TEXT.GLOBALREGIONFN 305244
- . 305932) (TEXT.TRANSLATEFN 305934 . 307249) (TEXT.TRANSFORMFN 307251 . 308374) (TEXT.TRANSLATEPTSFN 
-308376 . 308893) (TEXT.UPDATEFN 308895 . 313551) (SK.CHANGE.TEXT 313553 . 323831) (SK.CHANGE.FONT 
-323833 . 325563) (TEXT.SET.SCALES 325565 . 326533) (BREAK.AT.CARRIAGE.RETURNS 326535 . 327495)) (
-327498 340483 (SK.PICK.FONT 327508 . 331780) (SK.CHOOSE.TEXT.FONT 331782 . 336053) (SK.NEXTSIZEFONT 
-336055 . 337687) (SK.DECREASING.FONT.LIST 337689 . 340481)) (340902 352576 (SK.SET.FONT 340912 . 
-342179) (SK.SET.TEXT.FONT 342181 . 343183) (SK.SET.TEXT.SIZE 343185 . 343872) (SK.SET.TEXT.HORIZ.ALIGN
- 343874 . 345448) (SK.READFONTSIZE 345450 . 347348) (SK.COLLECT.FONT.SIZES 347350 . 348431) (
-SK.SET.TEXT.VERT.ALIGN 348433 . 350475) (SK.SET.TEXT.LOOKS 350477 . 351934) (SK.SET.DEFAULT.TEXT.FACE 
-351936 . 352574)) (352577 353163 (CREATE.SKETCH.TERMTABLE 352587 . 353161)) (353164 354930 (
-SK.FONT.LIST 353174 . 353500) (SK.INSURE.FONT 353502 . 354024) (SK.INSURE.STYLE 354026 . 354544) (
-SK.INSURE.TEXT 354546 . 354928)) (355470 412763 (SKETCH.CREATE.TEXTBOX 355480 . 357122) (
-SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 357124 . 359201) (SK.BREAK.INTO.LINES 359203 . 370389) (
-SK.BRUSH.SIZE 370391 . 370772) (SK.TEXTBOX.CREATE 370774 . 371571) (SK.TEXTBOX.CREATE1 371573 . 372637
-) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372639 . 373179) (SK.TEXTBOX.POSITION.IN.BOX 373181 . 375092) (
-TEXTBOX.CHANGEFN 375094 . 375568) (TEXTBOX.DRAWFN 375570 . 377606) (SK.TEXTURE.AROUND.REGIONS 377608
- . 383681) (ALL.EMPTY.REGIONS 383683 . 384173) (TEXTBOX.EXPANDFN 384175 . 391331) (TEXTBOX.INPUTFN 
-391333 . 392946) (TEXTBOX.INSIDEFN 392948 . 393361) (TEXTBOX.REGIONFN 393363 . 394217) (
-TEXTBOX.GLOBALREGIONFN 394219 . 394547) (TEXTBOX.SET.GLOBAL.REGIONS 394549 . 395880) (
-TEXTBOX.TRANSLATEFN 395882 . 397723) (TEXTBOX.TRANSLATEPTSFN 397725 . 400508) (TEXTBOX.TRANSFORMFN 
-400510 . 402178) (TEXTBOX.UPDATEFN 402180 . 404073) (TEXTBOX.READCHANGEFN 404075 . 408964) (
-SK.TEXTBOX.TEXT.POSITION 408966 . 409387) (SK.TEXTBOX.FROM.TEXT 409389 . 411994) (ADD.EOLS 411996 . 
-412761)) (413292 416793 (SK.SET.TEXTBOX.VERT.ALIGN 413302 . 415182) (SK.SET.TEXTBOX.HORIZ.ALIGN 415184
- . 416791)) (417176 461651 (SKETCH.CREATE.BOX 417186 . 417669) (SK.BOX.DRAWFN 417671 . 418830) (
-BOX.DRAWFN1 418832 . 421671) (KNOTS.OF.REGION 421673 . 422907) (SK.DRAWAREABOX 422909 . 429510) (
-SK.DRAWBOX 429512 . 430701) (SK.BOX.EXPANDFN 430703 . 434451) (SK.BOX.GETREGIONFN 434453 . 435639) (
-BOX.SET.SCALES 435641 . 436881) (SK.BOX.INPUTFN 436883 . 438816) (SK.BOX.CREATE 438818 . 439519) (
-SK.UPDATE.BOX.AFTER.CHANGE 439521 . 440032) (SK.BOX.INSIDEFN 440034 . 440424) (SK.BOX.REGIONFN 440426
- . 441139) (SK.BOX.GLOBALREGIONFN 441141 . 441879) (SK.BOX.READCHANGEFN 441881 . 445602) (
-SK.CHANGE.FILLING 445604 . 449552) (SK.CHANGE.FILLING.COLOR 449554 . 453210) (SK.BOX.TRANSLATEFN 
-453212 . 454391) (SK.BOX.TRANSFORMFN 454393 . 455338) (SK.BOX.TRANSLATEPTSFN 455340 . 457708) (
-UNSCALE.REGION.TO.GRID 457710 . 458635) (INCREASEREGION 458637 . 459228) (INSUREREGIONSIZE 459230 . 
-460401) (EXPANDREGION 460403 . 461283) (REGION.FROM.COORDINATES 461285 . 461649)) (462187 488542 (
-SKETCH.CREATE.ARC 462197 . 463006) (ARC.DRAWFN 463008 . 464735) (ARC.EXPANDFN 464737 . 467070) (
-ARC.INPUTFN 467072 . 471290) (SK.INVERT.CIRCLE 471292 . 472152) (SK.READ.ARC.ANGLE.POINT 472154 . 
-472661) (SK.SHOW.ARC 472663 . 473273) (ARC.CREATE 473275 . 474630) (SK.UPDATE.ARC.AFTER.CHANGE 474632
- . 474972) (ARC.MOVEFN 474974 . 476557) (ARC.TRANSLATEPTS 476559 . 478444) (ARC.INSIDEFN 478446 . 
-478696) (ARC.REGIONFN 478698 . 479834) (ARC.GLOBALREGIONFN 479836 . 481558) (ARC.TRANSLATE 481560 . 
-482542) (ARC.TRANSFORMFN 482544 . 485494) (ARC.READCHANGEFN 485496 . 488540)) (488543 497622 (
-SK.COMPUTE.ARC.ANGLE.PT 488553 . 489479) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489481 . 490474) (
-SK.COMPUTE.ARC.PTS 490476 . 494048) (SK.SET.ARC.DIRECTION 494050 . 494624) (SK.SET.ARC.DIRECTION.CW 
-494626 . 494800) (SK.SET.ARC.DIRECTION.CCW 494802 . 495075) (SK.COMPUTE.SLOPE.OF.LINE 495077 . 495569)
- (SK.CREATE.ARC.USING 495571 . 496808) (SET.ARC.SCALES 496810 . 497620)) (497623 498068 (
-SK.INSURE.DIRECTION 497633 . 498066)) (499439 545298 (GETSKETCHELEMENTPROP 499449 . 500757) (
-\SK.GET.ARC.ANGLEPT 500759 . 501320) (\GETSKETCHELEMENTPROP1 501322 . 501576) (\SK.GET.BRUSH 501578 . 
-502502) (\SK.GET.FILLING 502504 . 503602) (\SK.GET.ARROWHEADS 503604 . 504383) (\SK.GET.FONT 504385 . 
-504865) (\SK.GET.JUSTIFICATION 504867 . 505391) (\SK.GET.DIRECTION 505393 . 505870) (\SK.GET.DASHING 
-505872 . 506891) (PUTSKETCHELEMENTPROP 506893 . 509162) (\SK.PUT.FILLING 509164 . 510434) (
-ADDSKETCHELEMENTPROP 510436 . 511241) (REMOVESKETCHELEMENTPROP 511243 . 512032) (\SK.PUT.FONT 512034
- . 512848) (\SK.PUT.JUSTIFICATION 512850 . 513861) (\SK.PUT.DIRECTION 513863 . 514470) (
-\SK.PUT.DASHING 514472 . 515807) (\SK.PUT.BRUSH 515809 . 517728) (\SK.PUT.ARROWHEADS 517730 . 519696) 
-(SK.COPY.ELEMENT.PROPERTY.LIST 519698 . 520274) (SKETCH.UPDATE 520276 . 521006) (SKETCH.UPDATE1 521008
- . 522296) (\SKELT.GET.SCALE 522298 . 523286) (\SKELT.PUT.SCALE 523288 . 524595) (\SKELT.PUT.DATA 
-524597 . 526394) (SK.REPLACE.TEXT.IN.ELEMENT 526396 . 527349) (\SKELT.GET.DATA 527351 . 528418) (
-\SK.GET.1STCONTROLPT 528420 . 529932) (\SK.PUT.1STCONTROLPT 529934 . 535407) (\SK.GET.2NDCONTROLPT 
-535409 . 536324) (\SK.PUT.2NDCONTROLPT 536326 . 540514) (\SK.GET.3RDCONTROLPT 540516 . 541394) (
-\SK.PUT.3RDCONTROLPT 541396 . 545296)) (545299 545880 (LOWERLEFTCORNER 545309 . 545555) (
-UPPERRIGHTCORNER 545557 . 545878)))))
+  (FILEMAP (NIL (14191 24601 (INIT.SKETCH.ELEMENTS 14201 . 21764) (CREATE.SKETCH.ELEMENT.TYPE 21766 . 
+23288) (SKETCH.ELEMENT.TYPEP 23290 . 23678) (SKETCH.ELEMENT.NAMEP 23680 . 23943) (
+\CURSOR.IN.MIDDLE.MENU 23945 . 24599)) (24642 25319 (SKETCHINCOLORP 24652 . 24972) (READ.COLOR.CHANGE 
+24974 . 25317)) (25828 28607 (SK.CREATE.DEFAULT.FILLING 25838 . 26139) (SKFILLINGP 26141 . 26774) (
+SK.INSURE.FILLING 26776 . 28204) (SK.INSURE.COLOR 28206 . 28605)) (28608 34218 (SK.TRANSLATE.MODE 
+28618 . 29400) (SK.CHANGE.FILLING.MODE 29402 . 32985) (READ.FILLING.MODE 32987 . 34216)) (34219 64893 
+(SKETCH.CREATE.CIRCLE 34229 . 35041) (CIRCLE.EXPANDFN 35043 . 38415) (CIRCLE.DRAWFN 38417 . 41418) (
+\CIRCLE.DRAWFN1 41420 . 44015) (CIRCLE.INPUTFN 44017 . 45866) (SK.UPDATE.CIRCLE.AFTER.CHANGE 45868 . 
+46227) (SK.READ.CIRCLE.POINT 46229 . 46700) (SK.SHOW.CIRCLE 46702 . 47348) (CIRCLE.INSIDEFN 47350 . 
+47615) (CIRCLE.REGIONFN 47617 . 49298) (CIRCLE.GLOBALREGIONFN 49300 . 50818) (CIRCLE.TRANSLATE 50820
+ . 52681) (CIRCLE.READCHANGEFN 52683 . 57299) (CIRCLE.TRANSFORMFN 57301 . 59154) (CIRCLE.TRANSLATEPTS 
+59156 . 60770) (SK.CIRCLE.CREATE 60772 . 61615) (SET.CIRCLE.SCALE 61617 . 62383) (SK.BRUSH.READCHANGE 
+62385 . 64891)) (64894 65623 (SK.INSURE.BRUSH 64904 . 65298) (SK.INSURE.DASHING 65300 . 65621)) (66837
+ 96331 (SKETCH.CREATE.ELLIPSE 66847 . 67446) (ELLIPSE.EXPANDFN 67448 . 71060) (ELLIPSE.DRAWFN 71062 . 
+75239) (ELLIPSE.INPUTFN 75241 . 77681) (SK.READ.ELLIPSE.MAJOR.PT 77683 . 78262) (
+SK.SHOW.ELLIPSE.MAJOR.RADIUS 78264 . 79019) (SK.READ.ELLIPSE.MINOR.PT 79021 . 79714) (
+SK.SHOW.ELLIPSE.MINOR.RADIUS 79716 . 80548) (ELLIPSE.INSIDEFN 80550 . 80820) (ELLIPSE.CREATE 80822 . 
+82197) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82199 . 82567) (ELLIPSE.REGIONFN 82569 . 84769) (
+ELLIPSE.GLOBALREGIONFN 84771 . 86584) (ELLIPSE.TRANSLATEFN 86586 . 89132) (ELLIPSE.TRANSFORMFN 89134
+ . 90411) (ELLIPSE.TRANSLATEPTS 90413 . 92454) (MARK.SPOT 92456 . 93707) (DISTANCEBETWEEN 93709 . 
+94304) (SK.DISTANCE.TO 94306 . 94691) (SQUARE 94693 . 94735) (COMPUTE.ELLIPSE.ORIENTATION 94737 . 
+95456) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95458 . 96329)) (97444 138500 (SKETCH.CREATE.OPEN.CURVE 
+97454 . 98007) (OPENCURVE.INPUTFN 98009 . 98877) (SK.CURVE.CREATE 98879 . 100624) (MAXXEXTENT 100626
+ . 101485) (MAXYEXTENT 101487 . 102347) (KNOT.SET.SCALE.FIELD 102349 . 103151) (OPENCURVE.DRAWFN 
+103153 . 104284) (OPENCURVE.EXPANDFN 104286 . 107601) (OPENCURVE.READCHANGEFN 107603 . 110805) (
+OPENCURVE.TRANSFORMFN 110807 . 113305) (OPENCURVE.TRANSLATEFN 113307 . 113729) (
+OPENCURVE.TRANSLATEPTSFN 113731 . 115112) (SKETCH.CREATE.CLOSED.CURVE 115114 . 115620) (
+CLOSEDCURVE.DRAWFN 115622 . 116406) (CLOSEDCURVE.EXPANDFN 116408 . 119521) (CLOSEDCURVE.REGIONFN 
+119523 . 120320) (CLOSEDCURVE.GLOBALREGIONFN 120322 . 121755) (READ.LIST.OF.POINTS 121757 . 123736) (
+CLOSEDCURVE.INPUTFN 123738 . 124383) (CLOSEDCURVE.READCHANGEFN 124385 . 127280) (
+CLOSEDCURVE.TRANSFORMFN 127282 . 129082) (CLOSEDCURVE.TRANSLATEPTSFN 129084 . 130429) (INVISIBLEPARTP 
+130431 . 130784) (SHOWSKETCHPOINT 130786 . 131091) (SHOWSKETCHXY 131093 . 131611) (KNOTS.REGIONFN 
+131613 . 132514) (OPENWIRE.GLOBALREGIONFN 132516 . 133380) (CURVE.REGIONFN 133382 . 134323) (
+OPENCURVE.GLOBALREGIONFN 134325 . 135732) (KNOTS.TRANSLATEFN 135734 . 136777) (REGION.CONTAINING.PTS 
+136779 . 138498)) (138501 160777 (CHANGE.ELTS.BRUSH.SIZE 138511 . 139121) (CHANGE.ELTS.BRUSH 139123 . 
+139640) (CHANGE.ELTS.BRUSH.SHAPE 139642 . 140043) (SK.CHANGE.BRUSH.SHAPE 140045 . 143557) (
+SK.CHANGE.BRUSH.COLOR 143559 . 148005) (SK.CHANGE.BRUSH.SIZE 148007 . 152965) (SK.CHANGE.ANGLE 152967
+ . 155947) (SK.CHANGE.ARC.DIRECTION 155949 . 158328) (SK.SET.DEFAULT.BRUSH.SIZE 158330 . 159029) (
+READSIZECHANGE 159031 . 160775)) (160778 162397 (SK.CHANGE.ELEMENT.KNOTS 160788 . 162395)) (162398 
+163045 (SK.INSURE.POINT.LIST 162408 . 162861) (SK.INSURE.POSITION 162863 . 163043)) (164413 196736 (
+SKETCH.CREATE.WIRE 164423 . 164913) (CLOSEDWIRE.EXPANDFN 164915 . 167603) (KNOTS.INSIDEFN 167605 . 
+168326) (OPEN.WIRE.DRAWFN 168328 . 168920) (WIRE.EXPANDFN 168922 . 172169) (
+SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172171 . 172692) (OPENWIRE.READCHANGEFN 172694 . 175187) (
+OPENWIRE.TRANSFORMFN 175189 . 177312) (OPENWIRE.TRANSLATEFN 177314 . 177738) (OPENWIRE.TRANSLATEPTSFN 
+177740 . 179019) (WIRE.INPUTFN 179021 . 180652) (SK.READ.WIRE.POINTS 180654 . 181185) (
+SK.READ.POINTS.WITH.FEEDBACK 181187 . 183954) (OPENWIRE.FEEDBACKFN 183956 . 184710) (
+CLOSEDWIRE.FEEDBACKFN 184712 . 186068) (CLOSEDWIRE.REGIONFN 186070 . 187055) (
+CLOSEDWIRE.GLOBALREGIONFN 187057 . 188109) (SK.WIRE.CREATE 188111 . 189874) (WIRE.ADD.POINT.TO.END 
+189876 . 190792) (READ.ARROW.CHANGE 190794 . 196270) (CHANGE.ELTS.ARROWHEADS 196272 . 196734)) (196737
+ 207743 (SKETCH.CREATE.CLOSED.WIRE 196747 . 197308) (CLOSED.WIRE.INPUTFN 197310 . 197665) (
+CLOSED.WIRE.DRAWFN 197667 . 199712) (CLOSEDWIRE.READCHANGEFN 199714 . 204619) (CLOSEDWIRE.TRANSFORMFN 
+204621 . 206415) (CLOSEDWIRE.TRANSLATEPTSFN 206417 . 207741)) (207744 260450 (SK.EXPAND.ARROWHEADS 
+207754 . 208104) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208106 . 209487) (ARC.ARROWHEAD.POINTS 209489 . 
+210712) (SET.ARC.ARROWHEAD.POINTS 210714 . 211695) (SET.OPENCURVE.ARROWHEAD.POINTS 211697 . 212598) (
+SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212600 . 213870) (SET.WIRE.ARROWHEAD.POINTS 213872 . 214625) (
+SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214627 . 215892) (SK.EXPAND.ARROWHEAD 215894 . 217077) (CHANGED.ARROW
+ 217079 . 220251) (SK.CHANGE.ARROWHEAD 220253 . 220706) (SK.CHANGE.ARROWHEAD1 220708 . 225963) (
+SK.CREATE.ARROWHEAD 225965 . 226485) (SK.ARROWHEAD.CREATE 226487 . 228061) (SK.ARROWHEAD.END.TEST 
+228063 . 228987) (READ.ARROWHEAD.END 228989 . 231014) (ARROW.HEAD.POSITIONS 231016 . 232856) (
+ARROWHEAD.POINTS.LIST 232858 . 236830) (CURVE.ARROWHEAD.POINTS 236832 . 237695) (LEFT.MOST.IS.BEGINP 
+237697 . 238578) (WIRE.ARROWHEAD.POINTS 238580 . 240106) (DRAWARROWHEADS 240108 . 242478) (
+\SK.DRAW.TRIANGLE.ARROWHEAD 242480 . 244140) (\SK.ENDPT.OF.ARROW 244142 . 246399) (
+\SK.ADJUST.FOR.ARROWHEADS 246401 . 248906) (SK.SET.ARROWHEAD.LENGTH 248908 . 250052) (
+SK.SET.ARROWHEAD.ANGLE 250054 . 251150) (SK.SET.ARROWHEAD.TYPE 251152 . 254441) (SK.SET.LINE.ARROWHEAD
+ 254443 . 256856) (SK.UPDATE.ARROWHEAD.FORMAT 256858 . 258968) (SK.SET.LINE.LENGTH.MODE 258970 . 
+260448)) (260451 262252 (SK.INSURE.ARROWHEADS 260461 . 261643) (SK.ARROWHEADP 261645 . 262250)) (
+265049 327491 (SKETCH.CREATE.TEXT 265059 . 265573) (TEXT.CHANGEFN 265575 . 265967) (TEXT.READCHANGEFN 
+265969 . 274040) (\SK.READ.FONT.SIZE1 274042 . 276208) (SK.TEXT.ELT.WITH.SAME.FIELDS 276210 . 277850) 
+(SK.READFONTFAMILY 277852 . 280322) (CLOSE.PROMPT.WINDOW 280324 . 280748) (TEXT.DRAWFN 280750 . 281471
+) (TEXT.DRAWFN1 281473 . 284975) (TEXT.INSIDEFN 284977 . 285366) (TEXT.EXPANDFN 285368 . 287493) (
+SK.TEXT.LINE.REGIONS 287495 . 289369) (TEXT.UPDATE.GLOBAL.REGIONS 289371 . 290603) (REL.MOVE.REGION 
+290605 . 291142) (LTEXT.LINE.REGIONS 291144 . 294562) (TEXT.INPUTFN 294564 . 295074) (READ.TEXT 295076
+ . 295824) (TEXT.POSITION.AND.CREATE 295826 . 298137) (CREATE.TEXT.ELEMENT 298139 . 298957) (
+SK.UPDATE.TEXT.AFTER.CHANGE 298959 . 299361) (SK.TEXT.FROM.TEXTBOX 299363 . 303169) (
+TEXT.SET.GLOBAL.REGIONS 303171 . 304464) (TEXT.REGIONFN 304466 . 305236) (TEXT.GLOBALREGIONFN 305238
+ . 305926) (TEXT.TRANSLATEFN 305928 . 307243) (TEXT.TRANSFORMFN 307245 . 308368) (TEXT.TRANSLATEPTSFN 
+308370 . 308887) (TEXT.UPDATEFN 308889 . 313545) (SK.CHANGE.TEXT 313547 . 323825) (SK.CHANGE.FONT 
+323827 . 325557) (TEXT.SET.SCALES 325559 . 326527) (BREAK.AT.CARRIAGE.RETURNS 326529 . 327489)) (
+327492 340687 (SK.PICK.FONT 327502 . 331774) (SK.CHOOSE.TEXT.FONT 331776 . 336047) (SK.NEXTSIZEFONT 
+336049 . 337681) (SK.DECREASING.FONT.LIST 337683 . 340685)) (341106 352780 (SK.SET.FONT 341116 . 
+342383) (SK.SET.TEXT.FONT 342385 . 343387) (SK.SET.TEXT.SIZE 343389 . 344076) (SK.SET.TEXT.HORIZ.ALIGN
+ 344078 . 345652) (SK.READFONTSIZE 345654 . 347552) (SK.COLLECT.FONT.SIZES 347554 . 348635) (
+SK.SET.TEXT.VERT.ALIGN 348637 . 350679) (SK.SET.TEXT.LOOKS 350681 . 352138) (SK.SET.DEFAULT.TEXT.FACE 
+352140 . 352778)) (352781 353367 (CREATE.SKETCH.TERMTABLE 352791 . 353365)) (353368 355134 (
+SK.FONT.LIST 353378 . 353704) (SK.INSURE.FONT 353706 . 354228) (SK.INSURE.STYLE 354230 . 354748) (
+SK.INSURE.TEXT 354750 . 355132)) (355674 412967 (SKETCH.CREATE.TEXTBOX 355684 . 357326) (
+SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 357328 . 359405) (SK.BREAK.INTO.LINES 359407 . 370593) (
+SK.BRUSH.SIZE 370595 . 370976) (SK.TEXTBOX.CREATE 370978 . 371775) (SK.TEXTBOX.CREATE1 371777 . 372841
+) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372843 . 373383) (SK.TEXTBOX.POSITION.IN.BOX 373385 . 375296) (
+TEXTBOX.CHANGEFN 375298 . 375772) (TEXTBOX.DRAWFN 375774 . 377810) (SK.TEXTURE.AROUND.REGIONS 377812
+ . 383885) (ALL.EMPTY.REGIONS 383887 . 384377) (TEXTBOX.EXPANDFN 384379 . 391535) (TEXTBOX.INPUTFN 
+391537 . 393150) (TEXTBOX.INSIDEFN 393152 . 393565) (TEXTBOX.REGIONFN 393567 . 394421) (
+TEXTBOX.GLOBALREGIONFN 394423 . 394751) (TEXTBOX.SET.GLOBAL.REGIONS 394753 . 396084) (
+TEXTBOX.TRANSLATEFN 396086 . 397927) (TEXTBOX.TRANSLATEPTSFN 397929 . 400712) (TEXTBOX.TRANSFORMFN 
+400714 . 402382) (TEXTBOX.UPDATEFN 402384 . 404277) (TEXTBOX.READCHANGEFN 404279 . 409168) (
+SK.TEXTBOX.TEXT.POSITION 409170 . 409591) (SK.TEXTBOX.FROM.TEXT 409593 . 412198) (ADD.EOLS 412200 . 
+412965)) (413496 416997 (SK.SET.TEXTBOX.VERT.ALIGN 413506 . 415386) (SK.SET.TEXTBOX.HORIZ.ALIGN 415388
+ . 416995)) (417380 461855 (SKETCH.CREATE.BOX 417390 . 417873) (SK.BOX.DRAWFN 417875 . 419034) (
+BOX.DRAWFN1 419036 . 421875) (KNOTS.OF.REGION 421877 . 423111) (SK.DRAWAREABOX 423113 . 429714) (
+SK.DRAWBOX 429716 . 430905) (SK.BOX.EXPANDFN 430907 . 434655) (SK.BOX.GETREGIONFN 434657 . 435843) (
+BOX.SET.SCALES 435845 . 437085) (SK.BOX.INPUTFN 437087 . 439020) (SK.BOX.CREATE 439022 . 439723) (
+SK.UPDATE.BOX.AFTER.CHANGE 439725 . 440236) (SK.BOX.INSIDEFN 440238 . 440628) (SK.BOX.REGIONFN 440630
+ . 441343) (SK.BOX.GLOBALREGIONFN 441345 . 442083) (SK.BOX.READCHANGEFN 442085 . 445806) (
+SK.CHANGE.FILLING 445808 . 449756) (SK.CHANGE.FILLING.COLOR 449758 . 453414) (SK.BOX.TRANSLATEFN 
+453416 . 454595) (SK.BOX.TRANSFORMFN 454597 . 455542) (SK.BOX.TRANSLATEPTSFN 455544 . 457912) (
+UNSCALE.REGION.TO.GRID 457914 . 458839) (INCREASEREGION 458841 . 459432) (INSUREREGIONSIZE 459434 . 
+460605) (EXPANDREGION 460607 . 461487) (REGION.FROM.COORDINATES 461489 . 461853)) (462391 488746 (
+SKETCH.CREATE.ARC 462401 . 463210) (ARC.DRAWFN 463212 . 464939) (ARC.EXPANDFN 464941 . 467274) (
+ARC.INPUTFN 467276 . 471494) (SK.INVERT.CIRCLE 471496 . 472356) (SK.READ.ARC.ANGLE.POINT 472358 . 
+472865) (SK.SHOW.ARC 472867 . 473477) (ARC.CREATE 473479 . 474834) (SK.UPDATE.ARC.AFTER.CHANGE 474836
+ . 475176) (ARC.MOVEFN 475178 . 476761) (ARC.TRANSLATEPTS 476763 . 478648) (ARC.INSIDEFN 478650 . 
+478900) (ARC.REGIONFN 478902 . 480038) (ARC.GLOBALREGIONFN 480040 . 481762) (ARC.TRANSLATE 481764 . 
+482746) (ARC.TRANSFORMFN 482748 . 485698) (ARC.READCHANGEFN 485700 . 488744)) (488747 497826 (
+SK.COMPUTE.ARC.ANGLE.PT 488757 . 489683) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489685 . 490678) (
+SK.COMPUTE.ARC.PTS 490680 . 494252) (SK.SET.ARC.DIRECTION 494254 . 494828) (SK.SET.ARC.DIRECTION.CW 
+494830 . 495004) (SK.SET.ARC.DIRECTION.CCW 495006 . 495279) (SK.COMPUTE.SLOPE.OF.LINE 495281 . 495773)
+ (SK.CREATE.ARC.USING 495775 . 497012) (SET.ARC.SCALES 497014 . 497824)) (497827 498272 (
+SK.INSURE.DIRECTION 497837 . 498270)) (499643 545502 (GETSKETCHELEMENTPROP 499653 . 500961) (
+\SK.GET.ARC.ANGLEPT 500963 . 501524) (\GETSKETCHELEMENTPROP1 501526 . 501780) (\SK.GET.BRUSH 501782 . 
+502706) (\SK.GET.FILLING 502708 . 503806) (\SK.GET.ARROWHEADS 503808 . 504587) (\SK.GET.FONT 504589 . 
+505069) (\SK.GET.JUSTIFICATION 505071 . 505595) (\SK.GET.DIRECTION 505597 . 506074) (\SK.GET.DASHING 
+506076 . 507095) (PUTSKETCHELEMENTPROP 507097 . 509366) (\SK.PUT.FILLING 509368 . 510638) (
+ADDSKETCHELEMENTPROP 510640 . 511445) (REMOVESKETCHELEMENTPROP 511447 . 512236) (\SK.PUT.FONT 512238
+ . 513052) (\SK.PUT.JUSTIFICATION 513054 . 514065) (\SK.PUT.DIRECTION 514067 . 514674) (
+\SK.PUT.DASHING 514676 . 516011) (\SK.PUT.BRUSH 516013 . 517932) (\SK.PUT.ARROWHEADS 517934 . 519900) 
+(SK.COPY.ELEMENT.PROPERTY.LIST 519902 . 520478) (SKETCH.UPDATE 520480 . 521210) (SKETCH.UPDATE1 521212
+ . 522500) (\SKELT.GET.SCALE 522502 . 523490) (\SKELT.PUT.SCALE 523492 . 524799) (\SKELT.PUT.DATA 
+524801 . 526598) (SK.REPLACE.TEXT.IN.ELEMENT 526600 . 527553) (\SKELT.GET.DATA 527555 . 528622) (
+\SK.GET.1STCONTROLPT 528624 . 530136) (\SK.PUT.1STCONTROLPT 530138 . 535611) (\SK.GET.2NDCONTROLPT 
+535613 . 536528) (\SK.PUT.2NDCONTROLPT 536530 . 540718) (\SK.GET.3RDCONTROLPT 540720 . 541598) (
+\SK.PUT.3RDCONTROLPT 541600 . 545500)) (545503 546084 (LOWERLEFTCORNER 545513 . 545759) (
+UPPERRIGHTCORNER 545761 . 546082)))))
 STOP
diff --git a/library/sketch/SKETCH-ELEMENTS.LCOM b/library/sketch/SKETCH-ELEMENTS.LCOM
index 0f9dd78a..4a6c1e7b 100644
Binary files a/library/sketch/SKETCH-ELEMENTS.LCOM and b/library/sketch/SKETCH-ELEMENTS.LCOM differ
diff --git a/library/sketch/SKETCH-OPS b/library/sketch/SKETCH-OPS
index 90871971..25781eee 100644
--- a/library/sketch/SKETCH-OPS
+++ b/library/sketch/SKETCH-OPS
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "29-Nov-2025 21:49:05" {WMEDLEY}<library>sketch>SKETCH-OPS.;8 220561 
+(FILECREATED "14-Dec-2025 00:35:27" {WMEDLEY}<library>sketch>SKETCH-OPS.;9 220612 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS SK.UNDO.LAST)
+      :CHANGES-TO (FNS SK.PRINTER.FILE.CANDIDATE.NAME)
 
-      :PREVIOUS-DATE " 6-Nov-2025 23:30:20" {WMEDLEY}<library>sketch>SKETCH-OPS.;6)
+      :PREVIOUS-DATE "29-Nov-2025 21:49:05" {WMEDLEY}<library>sketch>SKETCH-OPS.;8)
 
 
 (PRETTYCOMPRINT SKETCH-OPSCOMS)
@@ -1020,15 +1020,14 @@
               (DRAW.LOCAL.SKETCH SKETCHX OPENIMAGESTREAM REGIONONPAGE])
 
 (SK.PRINTER.FILE.CANDIDATE.NAME
-  [LAMBDA (VIEWER)                                           (* ; "Edited  3-Nov-2025 16:05 by rmk")
+  [LAMBDA (VIEWER)                                           (* ; "Edited 14-Dec-2025 00:33 by rmk")
+                                                             (* ; "Edited  3-Nov-2025 16:05 by rmk")
                                                              (* rrb " 5-May-86 13:30")
 
-    (* ;; "Returns the preferred printer file name for a viewer.")
+    (* ;; "Returns the preferred imagefile name for a viewer.")
 
     (* ;; "RMK:  Original had IP built in in some way, odd conditions, plus an unbound variable.  I assume that the extension of the filename is something like .SKETCH and not usually .IP (or now .PDF).  And that therefore the intent is really that the result should have the extension that the deffaultprinting host can print directly.")
 
-         (* * returns the preferred printer file name for a viewer)
-
     (LET ((FILENAME (SK.OUTPUT.FILE.NAME (SKETCH.TITLE VIEWER)))
           PRINTEXTENSION)
          (CL:WHEN [AND FILENAME (SETQ PRINTEXTENSION (CAR (EXTENSIONS.FOR.IMAGEFILETYPE (
@@ -4066,84 +4065,84 @@ It can be either larger or smaller than the present window size.")
 (ADDTOVAR LAMA STATUSPRINT)
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (9706 13783 (SCALE.REGION.OUT 9716 . 10697) (SK.SCALE.POSITION.INTO.VIEWER 10699 . 11455
-) (SK.SCALE.POSITION.INTO.VIEWER.EXACT 11457 . 11999) (SK.MAKE.POSITION.INTEGER 12001 . 12669) (
-SCALE.POSITION.INTO.SKETCHW 12671 . 13063) (UNSCALE 13065 . 13193) (UNSCALE.REGION 13195 . 13781)) (
-13819 17517 (STATUSPRINT 13829 . 15191) (CLEARPROMPTWINDOW 15193 . 15600) (CLOSEPROMPTWINDOW 15602 . 
-16099) (MYGETPROMPTWINDOW 16101 . 16800) (PROMPT.GETINPUT 16802 . 17515)) (17575 28606 (
-SK.SEND.TO.BOTTOM 17585 . 17924) (SK.BRING.TO.TOP 17926 . 18294) (SK.SWITCH.PRIORITIES 18296 . 18622) 
-(SK.SEL.AND.CHANGE.PRIORITY 18624 . 19192) (SK.SEL.AND.SWITCH.PRIORITIES 19194 . 20961) (
-SK.SORT.ELTS.BY.PRIORITY 20963 . 21684) (SK.SORT.GELTS.BY.PRIORITY 21686 . 22265) (
-SORT.CHANGESPECS.BY.NEW.PRIORITY 22267 . 22955) (SORT.CHANGESPECS.BY.OLD.PRIORITY 22957 . 23645) (
-SK.SEND.ELEMENTS.TO.BOTTOM 23647 . 25318) (SK.BRING.ELEMENTS.TO.TOP 25320 . 27004) (
-SK.COPY.GLOBAL.ELEMENT.AND.PROPERTY.LIST 27006 . 28604)) (28607 31463 (SK.ELEMENT.PRIORITY 28617 . 
-28945) (SK.SET.ELEMENT.PRIORITY 28947 . 29891) (SK.POP.NEXT.PRIORITY 29893 . 30236) (SK.PRIORITY.CELL 
-30238 . 30443) (SK.HIGH.PRIORITY 30445 . 30948) (SK.LOW.PRIORITY 30950 . 31461)) (31526 38329 (
-DRAW.LOCAL.SKETCH 31536 . 32538) (SET.PRIORITYIMPORTANT 32540 . 33108) (SK.FIGUREIMAGE 33110 . 38327))
- (38373 57317 (SKETCHW.HARDCOPYFN 38383 . 45858) (SK.LIST.IMAGE 45860 . 56967) (SK.HARDCOPYIMAGEW 
-56969 . 57315)) (57318 59321 (SK.DO.HARDCOPYIMAGEW.TOFILE 57328 . 57925) (SK.HARDCOPYIMAGEW.TOFILE 
-57927 . 58289) (SK.HARDCOPYIMAGEW.TOPRINTER 58291 . 58653) (SK.LIST.IMAGE.ON.FILE 58655 . 59319)) (
-59322 65974 (\SK.LIST.PAGE.IMAGE 59332 . 61764) (SK.PRINTER.FILE.CANDIDATE.NAME 61766 . 62937) (
-SK.SET.HARDCOPY.MODE 62939 . 64324) (SK.UNSET.HARDCOPY.MODE 64326 . 64744) (SK.UPDATE.AFTER.HARDCOPY 
-64746 . 65454) (SK.SWITCH.REGION.X.AND.Y 65456 . 65972)) (66213 79110 (SK.SEL.AND.TRANSFORM 66223 . 
-66573) (SK.TRANSFORM.ELEMENTS 66575 . 67830) (SK.TRANSFORM.ITEM 67832 . 68633) (SK.TRANSFORM.ELEMENT 
-68635 . 69093) (SK.TRANSFORM.POINT 69095 . 69445) (SK.TRANSFORM.POINT.LIST 69447 . 69668) (
-SK.TRANSFORM.REGION 69670 . 71856) (SK.PUT.ELTS.ON.GRID 71858 . 72336) (SK.TRANSFORM.GLOBAL.ELEMENTS 
-72338 . 72840) (GLOBALELEMENTP 72842 . 73133) (SKETCH.LIST.OF.ELEMENTSP 73135 . 73439) (
-SK.TRANSFORM.SCALE.FACTOR 73441 . 75134) (SK.TRANSFORM.BRUSH 75136 . 75603) (SK.TRANSFORM.ARROWHEADS 
-75605 . 77196) (SCALE.BRUSH 77198 . 79108)) (79111 99303 (TWO.PT.TRANSFORMATION.INPUTFN 79121 . 81894)
- (SK.TWO.PT.TRANSFORM.ELTS 81896 . 82301) (SK.SEL.AND.TWO.PT.TRANSFORM 82303 . 82894) (
-SK.APPLY.AFFINE.TRANSFORM 82896 . 84015) (SK.COMPUTE.TWO.PT.TRANSFORMATION 84017 . 88355) (
-SK.COMPUTE.SLOPE 88357 . 89122) (SK.THREE.PT.TRANSFORM.ELTS 89124 . 89535) (
-SK.COMPUTE.THREE.PT.TRANSFORMATION 89537 . 94074) (SK.SEL.AND.THREE.PT.TRANSFORM 94076 . 94673) (
-THREE.PT.TRANSFORMATION.INPUTFN 94675 . 99301)) (99304 103331 (SK.COPY.AND.TWO.PT.TRANSFORM.ELTS 99314
- . 99733) (SK.SEL.COPY.AND.TWO.PT.TRANSFORM 99735 . 100356) (SK.COPY.AND.THREE.PT.TRANSFORM.ELTS 
-100358 . 100787) (SK.SEL.COPY.AND.THREE.PT.TRANSFORM 100789 . 101413) (SK.COPY.AND.TRANSFORM.ELEMENTS 
-101415 . 102459) (SK.COPY.AND.TRANSFORM.ITEM 102461 . 103329)) (105459 108654 (SK.SHOWMARKS 105469 . 
-106369) (MARKPOINT 106371 . 107091) (SK.MARKHOTSPOTS 107093 . 108168) (SK.MARK.SELECTION 108170 . 
-108652)) (109183 115961 (SK.SELECT.ITEM 109193 . 111853) (IN.SKETCH.ELT? 111855 . 114241) (
-SK.MARK.HOTSPOT 114243 . 114725) (SK.MARK.POSITION 114727 . 115164) (SK.SELECT.ELT 115166 . 115593) (
-SK.DESELECT.ELT 115595 . 115959)) (116104 128918 (SK.HOTSPOT.CACHE 116114 . 116458) (
-SK.HOTSPOT.CACHE.FOR.OPERATION 116460 . 117815) (SK.BUILD.CACHE 117817 . 118640) (
-SK.ELEMENT.PROTECTED? 118642 . 119235) (SK.HAS.SOME.HOTSPOTS 119237 . 119691) (SK.SET.HOTSPOT.CACHE 
-119693 . 120048) (SK.CREATE.HOTSPOT.CACHE 120050 . 120500) (SK.ELTS.FROM.HOTSPOT 120502 . 121342) (
-SK.ADD.HOTSPOTS.TO.CACHE 121344 . 121745) (SK.ADD.HOTSPOTS.TO.CACHE1 121747 . 122293) (
-SK.ADD.HOTSPOT.TO.CACHE 122295 . 124171) (SK.REMOVE.HOTSPOTS.FROM.CACHE 124173 . 124576) (
-SK.REMOVE.HOTSPOTS.FROM.CACHE1 124578 . 125096) (SK.REMOVE.HOTSPOT.FROM.CACHE 125098 . 125661) (
-SK.REMOVE.VALUE.FROM.CACHE.BUCKET 125663 . 126632) (SK.FIND.CACHE.BUCKET 126634 . 127223) (
-SK.ADD.VALUE.TO.CACHE.BUCKET 127225 . 128916)) (128946 148389 (SK.SET.GRID 128956 . 129377) (
-SK.DISPLAY.GRID 129379 . 129928) (SK.DISPLAY.GRID.POINTS 129930 . 130126) (SK.REMOVE.GRID.POINTS 
-130128 . 130931) (SK.TAKE.DOWN.GRID 130933 . 131244) (SK.SHOW.GRID 131246 . 134860) (SK.GRIDFACTOR 
-134862 . 135383) (SK.TURN.GRID.ON 135385 . 135713) (SK.TURN.GRID.OFF 135715 . 136073) (
-SK.MAKE.GRID.LARGER 136075 . 136807) (SK.MAKE.GRID.SMALLER 136809 . 137562) (SK.CHANGE.GRID 137564 . 
-138012) (GRID.FACTOR1 138014 . 138371) (LEASTPOWEROF2GT 138373 . 139147) (GREATESTPOWEROF2LT 139149 . 
-139764) (SK.DEFAULT.GRIDFACTOR 139766 . 140319) (SK.PUT.ON.GRID 140321 . 140879) (MAP.WINDOW.ONTO.GRID
- 140881 . 141315) (MAP.SCREEN.ONTO.GRID 141317 . 141805) (MAP.GLOBAL.PT.ONTO.GRID 141807 . 142189) (
-MAP.GLOBAL.REGION.ONTO.GRID 142191 . 143908) (MAP.WINDOW.POINT.ONTO.GLOBAL.GRID 143910 . 144453) (
-MAP.WINDOW.ONTO.GLOBAL.GRID 144455 . 144840) (SK.UPDATE.GRIDFACTOR 144842 . 145478) (
-SK.MAP.FROM.WINDOW.TO.GLOBAL.GRID 145480 . 146018) (SK.MAP.INPUT.PT.TO.GLOBAL 146020 . 147237) (
-SK.MAP.FROM.WINDOW.TO.NEAREST.GRID 147239 . 148387)) (148529 157084 (SK.ADD.HISTEVENT 148539 . 149674)
- (SK.SEL.AND.UNDO 149676 . 152590) (SK.UNDO.LAST 152592 . 154801) (SK.UNDO.NAME 154803 . 155307) (
-SKEVENTTYPEFNS 155309 . 155659) (SK.TYPE.OF.FIRST.ARG 155661 . 157082)) (157085 157771 (SK.DELETE.UNDO
- 157095 . 157524) (SK.ADD.UNDO 157526 . 157769)) (157772 164554 (SK.CHANGE.UNDO 157782 . 159765) (
-SK.ELT.IN.SKETCH? 159767 . 160021) (SK.CHANGE.REDO 160023 . 161891) (SK.MOVE.UNDO 161893 . 163286) (
-SK.MOVE.REDO 163288 . 164552)) (164555 166654 (SK.UNDO.UNDO 164565 . 165831) (SK.UNDO.MENULABEL 165833
- . 166228) (SK.LABEL.FROM.TYPE 166230 . 166652)) (167504 175346 (SHOW.GLOBAL.COORDS 167514 . 168063) (
-LOCATOR.CLOSEFN 168065 . 168350) (SKETCHW.FROM.LOCATOR 168352 . 168760) (SKETCHW.UPDATE.LOCATORS 
-168762 . 169348) (LOCATOR.UPDATE 169350 . 170108) (UPDATE.GLOBAL.LOCATOR 170110 . 170911) (
-UPDATE.GLOBALCOORD.LOCATOR 170913 . 171490) (ADD.GLOBAL.DISPLAY 171492 . 172409) (
-ADD.GLOBAL.GRIDDED.DISPLAY 172411 . 172670) (CREATE.GLOBAL.DISPLAYER 172672 . 173749) (
-UPDATE.GLOBAL.GRIDDED.COORD.LOCATOR 173751 . 175344)) (175553 188040 (DISPLAYREADCOLORHLSLEVELS 175563
- . 176399) (DISPLAYREADCOLORLEVEL 176401 . 177436) (DRAWREADCOLORBOX 177438 . 178427) (
-READ.CHANGE.COLOR 178429 . 178646) (READCOLOR1 178648 . 181562) (READCOLORCOMMANDMENUSELECTEDFN 181564
- . 181931) (READCOLOR2 181933 . 188038)) (188041 189500 (CREATE.CNS.MENU 188051 . 189498)) (189777 
-192487 (SK.ABSWXOFFSET 189787 . 190081) (SK.ABSWYOFFSET 190083 . 190377) (
-SK.UNSCALE.POSITION.FROM.VIEWER 190379 . 190948) (SK.SCALE.REGION 190950 . 192485)) (192526 207524 (
-VIEWER.SCALE 192536 . 192845) (SKETCH.ZOOM 192847 . 193882) (SAME.ASPECT.RATIO 193884 . 195248) (
-SKETCH.DO.ZOOM 195250 . 196455) (SKETCH.NEW.VIEW 196457 . 196972) (ZOOM.UPDATE.ELT 196974 . 197867) (
-SK.UPDATE.AFTER.SCALE.CHANGE 197869 . 199738) (SKETCH.AUTOZOOM 199740 . 204160) (
-SKETCH.GLOBAL.REGION.ZOOM 204162 . 207522)) (208161 220073 (SKETCH.HOME 208171 . 208698) (SK.FRAME.IT 
-208700 . 209292) (SK.FRAME.WINDOW.TO.SKETCH 209294 . 213140) (SK.MOVE.TO.VIEW 213142 . 214556) (
-SK.NAME.CURRENT.VIEW 214558 . 215668) (SKETCH.ADD.VIEW 215670 . 216763) (SK.RESTORE.VIEW 216765 . 
-218641) (SK.FORGET.VIEW 218643 . 220071)))))
+  (FILEMAP (NIL (9724 13801 (SCALE.REGION.OUT 9734 . 10715) (SK.SCALE.POSITION.INTO.VIEWER 10717 . 11473
+) (SK.SCALE.POSITION.INTO.VIEWER.EXACT 11475 . 12017) (SK.MAKE.POSITION.INTEGER 12019 . 12687) (
+SCALE.POSITION.INTO.SKETCHW 12689 . 13081) (UNSCALE 13083 . 13211) (UNSCALE.REGION 13213 . 13799)) (
+13837 17535 (STATUSPRINT 13847 . 15209) (CLEARPROMPTWINDOW 15211 . 15618) (CLOSEPROMPTWINDOW 15620 . 
+16117) (MYGETPROMPTWINDOW 16119 . 16818) (PROMPT.GETINPUT 16820 . 17533)) (17593 28624 (
+SK.SEND.TO.BOTTOM 17603 . 17942) (SK.BRING.TO.TOP 17944 . 18312) (SK.SWITCH.PRIORITIES 18314 . 18640) 
+(SK.SEL.AND.CHANGE.PRIORITY 18642 . 19210) (SK.SEL.AND.SWITCH.PRIORITIES 19212 . 20979) (
+SK.SORT.ELTS.BY.PRIORITY 20981 . 21702) (SK.SORT.GELTS.BY.PRIORITY 21704 . 22283) (
+SORT.CHANGESPECS.BY.NEW.PRIORITY 22285 . 22973) (SORT.CHANGESPECS.BY.OLD.PRIORITY 22975 . 23663) (
+SK.SEND.ELEMENTS.TO.BOTTOM 23665 . 25336) (SK.BRING.ELEMENTS.TO.TOP 25338 . 27022) (
+SK.COPY.GLOBAL.ELEMENT.AND.PROPERTY.LIST 27024 . 28622)) (28625 31481 (SK.ELEMENT.PRIORITY 28635 . 
+28963) (SK.SET.ELEMENT.PRIORITY 28965 . 29909) (SK.POP.NEXT.PRIORITY 29911 . 30254) (SK.PRIORITY.CELL 
+30256 . 30461) (SK.HIGH.PRIORITY 30463 . 30966) (SK.LOW.PRIORITY 30968 . 31479)) (31544 38347 (
+DRAW.LOCAL.SKETCH 31554 . 32556) (SET.PRIORITYIMPORTANT 32558 . 33126) (SK.FIGUREIMAGE 33128 . 38345))
+ (38391 57335 (SKETCHW.HARDCOPYFN 38401 . 45876) (SK.LIST.IMAGE 45878 . 56985) (SK.HARDCOPYIMAGEW 
+56987 . 57333)) (57336 59339 (SK.DO.HARDCOPYIMAGEW.TOFILE 57346 . 57943) (SK.HARDCOPYIMAGEW.TOFILE 
+57945 . 58307) (SK.HARDCOPYIMAGEW.TOPRINTER 58309 . 58671) (SK.LIST.IMAGE.ON.FILE 58673 . 59337)) (
+59340 66025 (\SK.LIST.PAGE.IMAGE 59350 . 61782) (SK.PRINTER.FILE.CANDIDATE.NAME 61784 . 62988) (
+SK.SET.HARDCOPY.MODE 62990 . 64375) (SK.UNSET.HARDCOPY.MODE 64377 . 64795) (SK.UPDATE.AFTER.HARDCOPY 
+64797 . 65505) (SK.SWITCH.REGION.X.AND.Y 65507 . 66023)) (66264 79161 (SK.SEL.AND.TRANSFORM 66274 . 
+66624) (SK.TRANSFORM.ELEMENTS 66626 . 67881) (SK.TRANSFORM.ITEM 67883 . 68684) (SK.TRANSFORM.ELEMENT 
+68686 . 69144) (SK.TRANSFORM.POINT 69146 . 69496) (SK.TRANSFORM.POINT.LIST 69498 . 69719) (
+SK.TRANSFORM.REGION 69721 . 71907) (SK.PUT.ELTS.ON.GRID 71909 . 72387) (SK.TRANSFORM.GLOBAL.ELEMENTS 
+72389 . 72891) (GLOBALELEMENTP 72893 . 73184) (SKETCH.LIST.OF.ELEMENTSP 73186 . 73490) (
+SK.TRANSFORM.SCALE.FACTOR 73492 . 75185) (SK.TRANSFORM.BRUSH 75187 . 75654) (SK.TRANSFORM.ARROWHEADS 
+75656 . 77247) (SCALE.BRUSH 77249 . 79159)) (79162 99354 (TWO.PT.TRANSFORMATION.INPUTFN 79172 . 81945)
+ (SK.TWO.PT.TRANSFORM.ELTS 81947 . 82352) (SK.SEL.AND.TWO.PT.TRANSFORM 82354 . 82945) (
+SK.APPLY.AFFINE.TRANSFORM 82947 . 84066) (SK.COMPUTE.TWO.PT.TRANSFORMATION 84068 . 88406) (
+SK.COMPUTE.SLOPE 88408 . 89173) (SK.THREE.PT.TRANSFORM.ELTS 89175 . 89586) (
+SK.COMPUTE.THREE.PT.TRANSFORMATION 89588 . 94125) (SK.SEL.AND.THREE.PT.TRANSFORM 94127 . 94724) (
+THREE.PT.TRANSFORMATION.INPUTFN 94726 . 99352)) (99355 103382 (SK.COPY.AND.TWO.PT.TRANSFORM.ELTS 99365
+ . 99784) (SK.SEL.COPY.AND.TWO.PT.TRANSFORM 99786 . 100407) (SK.COPY.AND.THREE.PT.TRANSFORM.ELTS 
+100409 . 100838) (SK.SEL.COPY.AND.THREE.PT.TRANSFORM 100840 . 101464) (SK.COPY.AND.TRANSFORM.ELEMENTS 
+101466 . 102510) (SK.COPY.AND.TRANSFORM.ITEM 102512 . 103380)) (105510 108705 (SK.SHOWMARKS 105520 . 
+106420) (MARKPOINT 106422 . 107142) (SK.MARKHOTSPOTS 107144 . 108219) (SK.MARK.SELECTION 108221 . 
+108703)) (109234 116012 (SK.SELECT.ITEM 109244 . 111904) (IN.SKETCH.ELT? 111906 . 114292) (
+SK.MARK.HOTSPOT 114294 . 114776) (SK.MARK.POSITION 114778 . 115215) (SK.SELECT.ELT 115217 . 115644) (
+SK.DESELECT.ELT 115646 . 116010)) (116155 128969 (SK.HOTSPOT.CACHE 116165 . 116509) (
+SK.HOTSPOT.CACHE.FOR.OPERATION 116511 . 117866) (SK.BUILD.CACHE 117868 . 118691) (
+SK.ELEMENT.PROTECTED? 118693 . 119286) (SK.HAS.SOME.HOTSPOTS 119288 . 119742) (SK.SET.HOTSPOT.CACHE 
+119744 . 120099) (SK.CREATE.HOTSPOT.CACHE 120101 . 120551) (SK.ELTS.FROM.HOTSPOT 120553 . 121393) (
+SK.ADD.HOTSPOTS.TO.CACHE 121395 . 121796) (SK.ADD.HOTSPOTS.TO.CACHE1 121798 . 122344) (
+SK.ADD.HOTSPOT.TO.CACHE 122346 . 124222) (SK.REMOVE.HOTSPOTS.FROM.CACHE 124224 . 124627) (
+SK.REMOVE.HOTSPOTS.FROM.CACHE1 124629 . 125147) (SK.REMOVE.HOTSPOT.FROM.CACHE 125149 . 125712) (
+SK.REMOVE.VALUE.FROM.CACHE.BUCKET 125714 . 126683) (SK.FIND.CACHE.BUCKET 126685 . 127274) (
+SK.ADD.VALUE.TO.CACHE.BUCKET 127276 . 128967)) (128997 148440 (SK.SET.GRID 129007 . 129428) (
+SK.DISPLAY.GRID 129430 . 129979) (SK.DISPLAY.GRID.POINTS 129981 . 130177) (SK.REMOVE.GRID.POINTS 
+130179 . 130982) (SK.TAKE.DOWN.GRID 130984 . 131295) (SK.SHOW.GRID 131297 . 134911) (SK.GRIDFACTOR 
+134913 . 135434) (SK.TURN.GRID.ON 135436 . 135764) (SK.TURN.GRID.OFF 135766 . 136124) (
+SK.MAKE.GRID.LARGER 136126 . 136858) (SK.MAKE.GRID.SMALLER 136860 . 137613) (SK.CHANGE.GRID 137615 . 
+138063) (GRID.FACTOR1 138065 . 138422) (LEASTPOWEROF2GT 138424 . 139198) (GREATESTPOWEROF2LT 139200 . 
+139815) (SK.DEFAULT.GRIDFACTOR 139817 . 140370) (SK.PUT.ON.GRID 140372 . 140930) (MAP.WINDOW.ONTO.GRID
+ 140932 . 141366) (MAP.SCREEN.ONTO.GRID 141368 . 141856) (MAP.GLOBAL.PT.ONTO.GRID 141858 . 142240) (
+MAP.GLOBAL.REGION.ONTO.GRID 142242 . 143959) (MAP.WINDOW.POINT.ONTO.GLOBAL.GRID 143961 . 144504) (
+MAP.WINDOW.ONTO.GLOBAL.GRID 144506 . 144891) (SK.UPDATE.GRIDFACTOR 144893 . 145529) (
+SK.MAP.FROM.WINDOW.TO.GLOBAL.GRID 145531 . 146069) (SK.MAP.INPUT.PT.TO.GLOBAL 146071 . 147288) (
+SK.MAP.FROM.WINDOW.TO.NEAREST.GRID 147290 . 148438)) (148580 157135 (SK.ADD.HISTEVENT 148590 . 149725)
+ (SK.SEL.AND.UNDO 149727 . 152641) (SK.UNDO.LAST 152643 . 154852) (SK.UNDO.NAME 154854 . 155358) (
+SKEVENTTYPEFNS 155360 . 155710) (SK.TYPE.OF.FIRST.ARG 155712 . 157133)) (157136 157822 (SK.DELETE.UNDO
+ 157146 . 157575) (SK.ADD.UNDO 157577 . 157820)) (157823 164605 (SK.CHANGE.UNDO 157833 . 159816) (
+SK.ELT.IN.SKETCH? 159818 . 160072) (SK.CHANGE.REDO 160074 . 161942) (SK.MOVE.UNDO 161944 . 163337) (
+SK.MOVE.REDO 163339 . 164603)) (164606 166705 (SK.UNDO.UNDO 164616 . 165882) (SK.UNDO.MENULABEL 165884
+ . 166279) (SK.LABEL.FROM.TYPE 166281 . 166703)) (167555 175397 (SHOW.GLOBAL.COORDS 167565 . 168114) (
+LOCATOR.CLOSEFN 168116 . 168401) (SKETCHW.FROM.LOCATOR 168403 . 168811) (SKETCHW.UPDATE.LOCATORS 
+168813 . 169399) (LOCATOR.UPDATE 169401 . 170159) (UPDATE.GLOBAL.LOCATOR 170161 . 170962) (
+UPDATE.GLOBALCOORD.LOCATOR 170964 . 171541) (ADD.GLOBAL.DISPLAY 171543 . 172460) (
+ADD.GLOBAL.GRIDDED.DISPLAY 172462 . 172721) (CREATE.GLOBAL.DISPLAYER 172723 . 173800) (
+UPDATE.GLOBAL.GRIDDED.COORD.LOCATOR 173802 . 175395)) (175604 188091 (DISPLAYREADCOLORHLSLEVELS 175614
+ . 176450) (DISPLAYREADCOLORLEVEL 176452 . 177487) (DRAWREADCOLORBOX 177489 . 178478) (
+READ.CHANGE.COLOR 178480 . 178697) (READCOLOR1 178699 . 181613) (READCOLORCOMMANDMENUSELECTEDFN 181615
+ . 181982) (READCOLOR2 181984 . 188089)) (188092 189551 (CREATE.CNS.MENU 188102 . 189549)) (189828 
+192538 (SK.ABSWXOFFSET 189838 . 190132) (SK.ABSWYOFFSET 190134 . 190428) (
+SK.UNSCALE.POSITION.FROM.VIEWER 190430 . 190999) (SK.SCALE.REGION 191001 . 192536)) (192577 207575 (
+VIEWER.SCALE 192587 . 192896) (SKETCH.ZOOM 192898 . 193933) (SAME.ASPECT.RATIO 193935 . 195299) (
+SKETCH.DO.ZOOM 195301 . 196506) (SKETCH.NEW.VIEW 196508 . 197023) (ZOOM.UPDATE.ELT 197025 . 197918) (
+SK.UPDATE.AFTER.SCALE.CHANGE 197920 . 199789) (SKETCH.AUTOZOOM 199791 . 204211) (
+SKETCH.GLOBAL.REGION.ZOOM 204213 . 207573)) (208212 220124 (SKETCH.HOME 208222 . 208749) (SK.FRAME.IT 
+208751 . 209343) (SK.FRAME.WINDOW.TO.SKETCH 209345 . 213191) (SK.MOVE.TO.VIEW 213193 . 214607) (
+SK.NAME.CURRENT.VIEW 214609 . 215719) (SKETCH.ADD.VIEW 215721 . 216814) (SK.RESTORE.VIEW 216816 . 
+218692) (SK.FORGET.VIEW 218694 . 220122)))))
 STOP
diff --git a/library/sketch/SKETCH-OPS.LCOM b/library/sketch/SKETCH-OPS.LCOM
index 00f42f0f..82c16a68 100644
Binary files a/library/sketch/SKETCH-OPS.LCOM and b/library/sketch/SKETCH-OPS.LCOM differ
diff --git a/library/sketch/SKETCH.LCOM b/library/sketch/SKETCH.LCOM
index 81c0d2b7..0b292838 100644
Binary files a/library/sketch/SKETCH.LCOM and b/library/sketch/SKETCH.LCOM differ
