Article 12668 of alt.sources:
Path: nntpd.lkg.dec.com!pa.dec.com!decwrl!spool.mu.edu!uwm.edu!vixen.cso.uiuc.edu!news.uoregon.edu!tank.news.pipex.net!pipex!demon!not-for-mail
From: Bob Smith <bob@snuffy.penfield.ny.us>
Newsgroups: alt.sources
Subject: Notes-1.0.7 part.03/03
Date: Sat, 22 Jul 95 11:48:01 EDT
Lines: 1170
Message-ID: <9507221548.AA07825@snuffy.penfield.ny.us>
X-NNTP-Posting-Host: valhalla.ee.rochester.edu

#!/bin/sh
# This is `part.03' (part 3 of notes-1.0.6).
# Do not concatenate these parts, unpack them in order with `/bin/sh'.
# File `notes.el' is being continued...
#
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
  shar_touch=touch
else
  shar_touch=:
  echo
  echo 'WARNING: not restoring timestamps.  Consider getting and'
  echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 1231235999 $$.touch
#
if test ! -r _sharseq.tmp; then
  echo 'Please unpack part 1 first!'
  exit 1
fi
shar_sequence=`cat _sharseq.tmp`
if test "$shar_sequence" != 3; then
  echo "Please unpack part $shar_sequence next!"
  exit 1
fi
if test ! -f _sharnew.tmp; then
  echo 'x - still skipping notes.el'
else
  echo 'x - continuing file notes.el'
  sed 's/^X//' << 'SHAR_EOF' >> 'notes.el' &&
X  (interactive)
X  (let* ((input last-command-char)
X         (index (if arg arg
X                  (1+ (string-match (char-to-string input)
X                                    notes-line-numbers)))))
X    (if (not index) nil
X      (set-buffer "*notes-titles*")
X      (goto-line index)
X      (notes-goto-title))))
X      
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-mode (&optional file)
X  "Major mode for editing notes.  When called with the optional argument
XFILE, that name is used for the notes file.  However, the default notes
Xfile name remains unchanged for further invocations.  When called with
Xno arguments, the default notes file is opened.
X
XNotes-mode will open two windows.  The top window contains the titles of
Xnotes, while the bottom window contains the text of the visible notes.
XEach title has five possible flags, which are:
X
X                . : note is currently visible.
X                * : note has been modified
X                + : note is new and unsaved
X                D : note has been tagged for deletion
X                T : note has been taged for other operation
X
XYou can view, edit, and delete existing notes, and create new ones as
Xyou please.
X
XTurning on notes-mode calls the value of the variable notes-mode-hook,
Xif that value is non-nil.
X
XSpecial commands include:\\{notes-mode-map}
X"
X  (interactive)
X  (if file
X      (setq notes-real-file file)
X    (setq notes-real-file notes-file))
X  (if (not notes-old-windows)
X      (setq notes-old-windows (current-window-configuration)))
X  (notes-start)
X  (set-buffer "*notes-titles*")
X  (goto-char (point-min))
X  (use-local-map notes-mode-map)
X  (setq mode-line-format
X        '( "" mode-line-modified mode-line-buffer-identification
X           "   " global-mode-string "   %[(" mode-name mode-line-process
X           ")%]----" (-3 . "%p") "-%-"))
X  (setq mode-name "Notes")
X  (setq major-mode 'notes-mode)
X  (setq local-abbrev-table text-mode-abbrev-table)
X  (set-syntax-table text-mode-syntax-table)
X  (notes-select-current))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-clear-new-and-mod-stats ()
X  "Unset the modification and new flags on each note."
X  (let ((index 1)
X        (lines (progn (set-buffer "*notes-titles*")
X                      (count-lines (point-min) (point-max)))))
X    (while (<= index lines)
X      (notes-set index 'mod nil)
X      (notes-set index 'new nil)
X      (setq index (1+ index)))))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-modified-p ()
X  "Check if there are any modified notes."
X  (let ((index 1)
X        (lines (progn (set-buffer "*notes-titles*")
X                      (count-lines (point-min) (point-max))))
X        (result nil))
X    (while (and (<= index lines) (not result))
X      (setq result (notes-get index 'mod))
X      (setq index (1+ index)))
X    result))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-save ()
X  "Save the current notes file."
X  (interactive)
X  (set-buffer "*notes-text*")
X  (widen)
X  (write-region (point-min) (point-max) notes-real-file nil 'stupid)
X  (notes-clear-new-and-mod-stats)
X  (notes-select-current))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-exit ()
X  "Exit notes-mode.  No questions asked."
X  (interactive)
X  (set-buffer "*notes-text*")
X  (set-buffer-modified-p nil)
X  (kill-buffer "*notes-text*")
X  (set-buffer "*notes-titles*")
X  (set-buffer-modified-p nil)
X  (kill-buffer "*notes-titles*")
X  (set-window-configuration notes-old-windows)
X  (setq notes-old-windows nil))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-quit ()
X  "Quit notes-mode.  Ask to save notes if necessary."
X  (interactive)
X  (if (notes-modified-p)
X      (if (y-or-n-p "save notes file? ")
X          (progn (notes-save) (notes-exit))
X        (if (yes-or-no-p  "modified notes exist; exit anyway? ")
X            (notes-exit)))
X    (notes-exit))
X  (message "Done."))
X        
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-start ()
X  "Internal function to do some inital grunge work."
X  (interactive)
X  (setq notes-text-buffer (get-buffer-create "*notes-text*"))
X  (set-buffer "*notes-text*")
X  (setq buffer-read-only nil)
X  (erase-buffer)
X  (if (file-readable-p notes-real-file)
X      (insert-file notes-real-file))
X  (if (= (point-min) (point-max))
X      (insert "1 1 1 1 <EMPTY>\C-j\C-j"))
X
X  (setq notes-titles-buffer (get-buffer-create "*notes-titles*"))
X  (set-buffer "*notes-titles*")
X  (setq buffer-read-only nil)
X  (notes-parse-titles)
X  (notes-make-windows-fit)
X
X  (set-buffer "*notes-text*")
X  (goto-char (point-min))
X  (replace-regexp "^\\(.*\\)\C-j" "\\1\C-j\C-j")
X  (set-buffer-modified-p nil)
X  (setq buffer-read-only t)
X
X  (set-buffer "*notes-titles*")
X  (set-buffer-modified-p nil)
X  (setq buffer-read-only t))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-delete-internal (index)
X  (notes-excursion
X   "*notes-titles*"
X   (goto-line index)
X   (delete-region (point) (progn (end-of-line) (point)))
X   (insert " "))
X  (set-buffer "*notes-titles*")
X  (if (= index (count-lines (point-min) (point-max)))
X      (notes-excursion
X       "*notes-text*"
X       (widen)
X       (end-of-buffer)
X       (search-backward "")
X       (forward-char 1)
X       (end-of-buffer)
X       (delete-region (mark) (point)))
X    (notes-excursion
X     "*notes-text*"
X     (widen)
X     (goto-char (point-min))
X     (search-forward "" (point-max) nil index)
X     (delete-region (point)
X                    (progn
X                      (search-forward "")
X                      (backward-char 1)
X                      (point))))))
X    
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X  
X(defun notes-do-deletes ()
X  "Deletes all tagged notes."
X  (interactive)
X  (set-buffer "*notes-titles*")
X  (if (not (yes-or-no-p "delete tagged notes? "))
X      (message "notes deletion aborted.")
X    (let ((index 1)
X          (lines (count-lines (point-min) (point-max))))
X      (while (<= index lines)
X        (if (notes-get index 'del)
X            (notes-delete-internal index))
X        (setq index (1+ index)))
X      (notes-excursion
X       "*notes-titles*"
X       (goto-char (point-min))
X       (replace-regexp "^ $" "")
X       (goto-char (point-min))
X       (replace-regexp "\\(\C-j^$\\|^$\C-j\\)" ""))
X      (notes-excursion
X       "*notes-text*"
X       (widen)
X       (goto-char (point-min))
X       (replace-regexp "+" "")
X       (goto-char (point-min))
X       (replace-regexp "\C-j^$" "")))
X    (set-buffer "*notes-titles*")
X    (if (= (point-min) (point-max))
X        (progn
X          (notes-excursion
X           "*notes-titles*"
X           (insert "0:  +*. <EMPTY>"))
X          (notes-excursion
X           "*notes-text*"
X           (widen)
X           (erase-buffer)
X           (insert "1 1 1 1 <EMPTY>\C-j\C-j"))))
X    (notes-fix-line-numbers)
X    (notes-make-windows-fit)
X    (notes-select-current)))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-parse-titles ()
X  (set-buffer "*notes-titles*")
X  (setq buffer-read-only nil)
X  (erase-buffer)
X  (set-buffer "*notes-text*")
X  (beginning-of-buffer)
X  (let (limit index start stop)
X    (setq limit (point-max))
X    (setq index 0)
X    (while (search-forward "" limit t)
X      (re-search-forward "[0-9]+ [0-9]+ [0-9]+ [0-9]+ ")
X      (setq start (point))
X      (setq stop (progn (end-of-line) (point)))
X      (set-buffer "*notes-titles*")
X      (if (< index notes-num-line-numbers)
X          (insert (aref notes-line-numbers index))
X        (insert " "))
X      (insert ":      ")
X      (insert-buffer-substring "*notes-text*" start stop)
X      (newline)
X      (set-buffer "*notes-text*")
X      (setq index (1+ index))))
X  (set-buffer "*notes-titles*")
X  (backward-delete-char 1)
X  (set-buffer-modified-p nil)
X  (setq buffer-read-only t))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-make-windows-fit ()
X  (setq total-lines (screen-height))
X  (set-buffer "*notes-titles*")
X  (let ((lines (1+ (max window-min-height
X                        (count-lines (point-min) (point-max))))))
X    (delete-other-windows)
X    (switch-to-buffer "*notes-titles*")
X    (split-window-vertically)
X    (other-window 1)
X    (switch-to-buffer "*notes-text*")
X    (other-window 1)
X    (if (>= lines (window-height)) nil
X      (shrink-window (- (window-height) lines))
X      (set-window-start (get-buffer-window "*notes-titles*") 0))))
X 
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(or (fboundp 'next-line-internal) (fset 'next-line-internal 'line-move))
X
X(defun notes-next-line (arg)
X  (interactive "p")
X  (save-excursion
X    (forward-line 1))
X  (next-line-internal arg))
X
X(defun notes-previous-line (arg)
X  (interactive "p")
X  (if arg
X      (previous-line arg)
X    (previous-line 1)))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-select-next ()
X  (interactive)
X  (set-buffer "*notes-titles*")
X  (notes-next-line 1)
X  (notes-select-current))
X
X(defun notes-select-previous ()
X  (interactive)
X  (set-buffer "*notes-titles*")
X  (notes-previous-line 1)
X  (notes-select-current))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-select-current ()
X  (interactive)
X  (set-buffer "*notes-titles*")
X  (let* ((line (- (count-lines (point-min) (point)) 0))
X         (top)
X         (bottom))
X    (if (> line 0) nil
X      (goto-line 1)
X      (setq line 1))
X    (notes-set notes-last-seen 'vis nil)
X    (setq notes-last-seen line)
X    (notes-set line 'vis t)
X    (notes-goto-title)
X    (set-buffer "*notes-text*")
X    (widen)
X    (goto-char (point-min))
X    (search-forward "" (point-max) t line)
X    (forward-line 1)
X    (setq top (point))
X    (if (not (search-forward "" (point-max) t))
X        (setq bottom (point-max))
X      (previous-line 1)
X      (end-of-line)
X      (setq bottom (point)))
X    (set-window-dot (get-buffer-window "*notes-text*") top)
X    (goto-char top)
X    (narrow-to-region top bottom))
X  (display-buffer "*notes-text*"))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-goto-title ()
X  (interactive)
X  (set-buffer "*notes-titles*")
X  (beginning-of-line)
X  (forward-char 7))
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defun notes-guess-size ()
X  (interactive)
X  (set-buffer "*notes-text*")
X  (setq buffer-read-only nil)
X  (save-excursion
X    (let (x y a b top bottom)
X      (widen)
X      (goto-char (point-min))
X      (if (not (search-forward "1 1 1 1 " (point-max) t)) nil
X        (forward-line 1)
X        (setq top (point))
X        (if (not (search-forward "" (point-max) t))
X            (setq bottom (1- (point-max)))
X          (previous-line 1)
X          (end-of-line)
X          (setq bottom (point)))
X        (goto-char top)
X        (setq y 0)
X        (setq x 0)
X        (while (<= (point) bottom)
X          (end-of-line)
X          (if (> (current-column) x)
X              (setq x (current-column)))
X          (setq y (1+ y))
X          (forward-line))
X        (setq x (+ (* x notes-magic-x-size) notes-magic-x-incr))
X        (if (< x notes-magic-x-min)
X            (setq x notes-magic-x-min))
X        (setq y (+ (* y notes-magic-y-size) notes-magic-y-incr))
X        (if (< y notes-magic-y-min)
X            (setq y notes-magic-y-min))
X        (setq a (+ (/ (- notes-magic-screen-x x) 2)
X                   notes-magic-x-offset))
X        (setq b (+ (/ (- notes-magic-screen-y y) 2)
X                   notes-magic-y-offset))
X        (goto-char top)
X        (previous-line 1)
X        (delete-char 9)
X        (insert (format "%d %d %d %d " a b x y))
X        (list a b x y))))
X  (setq buffer-read-only nil))
X        
X      
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X(defconst notes-help-messages
X  '(
X"ARROWS: cursor movement, 0...9 A...Z: goto this line, SPACE: select this note"
X"RET: select next note, DEL: select previous note, n: new note, d: delete tag"
X"u: untag note, C-d: delete taged notes, e: edit this note,  v: view this note"
X"C-x C-s: save all notes, q: quit, C-c C-c: abort changes and exit, ?: more"
X    ))
X
X(defun notes-help (&optional time)
X  "Display notes command and variable information."
X  (interactive)
X  (if (eq last-command 'notes-help)
X      (describe-mode)
X    (let ((mess notes-help-messages)
X          (loop t)
X          (secs (or (and time (max 0 (prefix-numeric-value time))) 2))
X          head)
X      (while loop
X        (setq head mess)
X        (while (and loop head)
X          (message (car head))
X          (setq head (cdr head)
X                loop (sit-for secs)))))))
X
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SHAR_EOF
  echo 'File notes.el is complete' &&
  $shar_touch -am 0613212295 'notes.el' &&
  chmod 0644 'notes.el' ||
  echo 'restore of notes.el failed'
  rm -f _sharnew.tmp
fi
# ============= notes.elc.uu ==============
if test -f 'notes.elc.uu' && test X"$1" != X"-c"; then
  echo 'x - skipping notes.elc.uu (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting notes.elc.uu (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'notes.elc.uu' &&
Xbegin 644 notes.elc
XM.T5,0Q,    *.SL[(&-O;7!I;&5D(&)Y(&)O8D!S;G5F9GD@;VX@1G)I($IA
XM;B R,2 Q.3HT-3HT,R Q.3DT"CL[.R!F<F]M(&9I;&4@+W5S<B]B;V(O<W)C
XM+VYO=&5S+3$N,"XS+VYO=&5S+F5L"CL[.R!E;6%C<R!V97)S:6]N(#$Y+C(R
XM+C$N"CL[.R!B>71E8V]M<"!V97)S:6]N($931B R+C$P"CL[.R!O<'1I;6EZ
XM871I;VX@:7,@;VXN"CL[.R!T:&ES(&9I;&4@=7-E<R!O<&-O9&5S('=H:6-H
XM(&1O(&YO="!E>&ES="!I;B!%;6%C<R Q."X*"BAI9B H86YD("AB;W5N9' @
XM)V5M86-S+79E<G-I;VXI"@D@*&]R("AA;F0@*&)O=6YD<" G97!O8V@Z.G9E
XM<G-I;VXI(&5P;V-H.CIV97)S:6]N*0H)(" @(" H<W1R:6YG+6QE<W-P(&5M
XM86-S+79E<G-I;VX@(C$Y(BDI*0H@(" @*&5R<F]R(")4:&ES(&9I;&4@=V%S
XM(&-O;7!I;&5D(&9O<B!%;6%C<R Q.2(I*0H**&)Y=&4M8V]D92 BP!'"$\05
XMQA8'PH<B(%LB,#$R,S0U-C<X.4%"0T1%1D=(24I+3$U.3U!14E-455976%E:
XM(B!N;W1E<RUL:6YE+6YU;6)E<G,@,S8@;F]T97,M;G5M+6QI;F4M;G5M8F5R
XM<R Q(&YO=&5S+6QA<W0M<V5E;B H*&UO9" U("(J(BD@*'1A9R S(")4(BD@
XM*&1E;" S(")$(BD@*&YE=R T("(K(BD@*'9I<R V("(N(BDI(&YO=&5S+69L
XM86<M;&ES=%T@,2D**&1E9G9A<B!N;W1E<RUF:6QE(")^+RYN;W1E<R(@(EP*
XM5&AE(&1E9F%U;'0@;F]T92!F:6QE('1O('5S92XB*0HH9&5F=F%R(&YO=&5S
XM+7)E86PM9FEL92!N:6P@(EP*5&AE(&-U<G)E;G0@;F]T97,@9FEL92!I;B!U
XM<V4N(BD**&1E9G9A<B!N;W1E<RUO;&0M=VEN9&]W<R!N:6P@(EP*5&AE(&]L
XM9"!W:6YD;W<@8V]N9FEG=7)A=&EO;BXB*0HH9&5F=F%R(&YO=&5S+65D:70M
XM;6%P(&YI;" B7 HB*0HH9&5F=F%R(&YO=&5S+6UO9&4M;6%P(&YI;" B7 HB
XM*0HH8GET92UC;V1E("+ $< 2P(<B(%MN:6P@;F]T97,M;6]D92UM87 @;F]T
XM97,M961I="UM87!=(#$I"BAD969V87(@;F]T97,M;6%G:6,M>"UM:6X@,S4T
XM(")<"B(I"BAD969V87(@;F]T97,M;6%G:6,M>2UM:6X@-3 @(EP*(BD**&1E
XM9G9A<B!N;W1E<RUM86=I8RUX+6]F9G-E=" V(")<"B(I"BAD969V87(@;F]T
XM97,M;6%G:6,M>2UO9F9S970@-B B7 HB*0HH9&5F=F%R(&YO=&5S+6UA9VEC
XM+7@M:6YC<B R," B7 HB*0HH9&5F=F%R(&YO=&5S+6UA9VEC+7DM:6YC<B Q
XM," B7 HB*0HH9&5F=F%R(&YO=&5S+6UA9VEC+7@M<VEZ92 W(")<"B(I"BAD
XM969V87(@;F]T97,M;6%G:6,M>2US:7IE(#$T(")<"B(I"BAD969V87(@;F]T
XM97,M;6%G:6,M<V-R965N+7@@,3 R-" B7 HB*0HH9&5F=F%R(&YO=&5S+6UA
XM9VEC+7-C<F5E;BUY(#@T-2 B7 HB*0HH8GET92UC;V1E("((A(X P2 0P@C#
XMQ".(P@C%QB.(P@C'R".(P@C)RB.(P@C+S".(P@C-SB.(P@C/T".(P@C1TB.(
XMP@C3U".(P@C5UB.(P@C7V".(P@C9VB.(P@C;W".(P@C=WB.(P@C?X".(P@CA
XMXB.(X^0>)8D>)@XG5X.- .@.*0XF2"$6)<((#B7J(X@.)E2)%B:";@ JY(<B
XM(%MN;W1E<RUM;V1E+6UA<"!M86ME+6ME>6UA<"!D969I;F4M:V5Y("(.(B!N
XM;W1E<RUN97AT+6QI;F4@(A B(&YO=&5S+7!R979I;W5S+6QI;F4@(@TB(&YO
XM=&5S+7-E;&5C="UN97AT("($(B!N;W1E<RUD;RUD96QE=&5S("(@(B!N;W1E
XM<RUS96QE8W0M8W5R<F5N=" B?R(@;F]T97,M<V5L96-T+7!R979I;W5S(")Q
XM(B!N;W1E<RUQ=6ET("(# R(@;F]T97,M97AI=" B&!,B(&YO=&5S+7-A=F4@
XM(F4B(&YO=&5S+65D:70@(FXB(&YO=&5S+6YE=R B=B(@;F]T97,M=FEE=R B
XM="(@;F]T97,M=&%G(")D(B!N;W1E<RUT86<M9&5L971E(")U(B!N;W1E<RUU
XM;G1A9R B/R(@;F]T97,M:&5L<" P(&YI;"!C:&%R(&EN9&5X(&YO=&5S+6YU
XM;2UL:6YE+6YU;6)E<G,@8VAA<BUT;RUS=')I;F<@;F]T97,M;&EN92UN=6UB
XM97)S(&YO=&5S+6IU;7 M=&\M;&EN95T@-2D**&1E9F%L:6%S("=N;W1E<RUE
XM>&-U<G-I;VX@)RAM86-R;R N("-;*&)U9F9E<B F<F5S="!B;V1Y*2 BP,'"
XM"T3 Q,7&Q\C)#EQN7")%R\RO!LW'KP:'(B!;;&5T("@H;VQD8G5F9B H8W5R
XM<F5N="UB=69F97(I*2 H<F5S=6QT(&YI;"DI('-E="UB=69F97(@8G5F9F5R
XM("@H;6]D:69I960@*&)U9F9E<BUM;V1I9FEE9"UP*2D@*')W<W1A='5S(&)U
XM9F9E<BUR96%D+6]N;'DI*2 H<V5T<2!B=69F97(M<F5A9"UO;FQY(&YI;"D@
XM<V5T<2!R97-U;'0@87!P96YD("AS879E+65X8W5R<VEO;BD@8F]D>2 H<V5T
XM+6)U9F9E<BUM;V1I9FEE9"UP(&UO9&EF:65D*2 H<V5T<2!B=69F97(M<F5A
XM9"UO;FQY(')W<W1A='5S*2 H<V5T+6)U9F9E<B!O;&1B=69F*5T@,3$@(EP*
XM5&AI<R!M86-R;R!I<R!F;W(@:6YT97)N86P@=7-E+B @270@<V5T<R!T:&4@
XM8W5R<F5N="!B=69F97(@=&\@0E5&1D52+ IS879E<R!T:&4@<F5A9"UO;FQY
XM(&%N9"!M;V1I9FEE9"!S=&%T97,@;V8@:70L(&UA:V5S(&ET('=R:71A8FQE
XM+"!T:&5N"F5X96-U=&5S($)/1%D@:6X@82!S879E+65X8W5R<VEO;B!F;W)M
XM+B @1FEN86QL>2P@=&AE(&]R:6=I;F%L('-T871E<R!O9@IT:&4@8G5F9F5R
XM(&%R92!R97-T;W)E9"!A;F0@=&AE('-E;&5C=&5D(&)U9F9E<B!B969O<F5D
XM('1H:7,@8V%L;"!I<PIR97-E;&5C=&5D+B @5&AE(')E<W5L="!O9B!"3T19
XM(&ES(')E='5R;F5D+B)=*2D**&1E9F%L:6%S("=N;W1E<RUT:71L92 C6RAI
XM;F1E>"D@(G# &1K#<8C$( T>!AX'P!6*R X)(8C*=8A@P'^(8'LI$<L.!R&(
XM#@85*EQN<8@)*H<B(%MN:6P@<F5S=6QT(&]L9&)U9F8@(BIN;W1E<RUT:71L
XM97,J(B!B=69F97(M;6]D:69I960M<"!B=69F97(M<F5A9"UO;FQY(')W<W1A
XM='5S(&UO9&EF:65D(&=O=&\M;&EN92!I;F1E>" X('-E="UB=69F97(M;6]D
XM:69I960M<%T@,B B7 I2971U<FYS('1H92!T:71L92!S=')I;F<@;V8@=&AE
XM(&YO=&4@870@=&AE($E.1$58+"!S=&%R=&EN9R!A=" Q+B)=*0HH9&5F86QI
XM87,@)VYO=&5S+69I>"UL:6YE+6YU;6)E<G,@(UMN:6P@(G# &1K#<8C$( T>
XM!AX'P!6*R&5D7"+)'EQN'@ME8H@.7&X."U>%2@#,S2&(#EQN#@Y7@SL #@\.
XM7&Y(8XB"/@#08XC->8@.7&Y4B19<;H(? "L1T0X'(8@.!A4J7&YQB DJAR(@
XM6VYI;"!R97-U;'0@;VQD8G5F9B B*FYO=&5S+71I=&QE<RHB(&)U9F9E<BUM
XM;V1I9FEE9"UP(&)U9F9E<BUR96%D+6]N;'D@<G=S=&%T=7,@;6]D:69I960@
XM8V]U;G0M;&EN97,@,"!I;F1E>"!L:6YE<R!D96QE=&4M8VAA<B Q(&YO=&5S
XM+6YU;2UL:6YE+6YU;6)E<G,@;F]T97,M;&EN92UN=6UB97)S("(@(B!S970M
XM8G5F9F5R+6UO9&EF:65D+7!=(#0@(EP*57-E9"!T;R!R961O('1H92!N=6UB
XM97)S(&%F=&5R(&$@;F5W(&YO=&4@:7,@861D960N(ETI"BAD969A;&EA<R G
XM;F]T97,M;F5W("-;*'1I=&QE*2 BP'&("<*8/X4" </$B<5E9%PB'@8>!QX(
XM'@G*Q65@7"++Q".(BF5BB X)#@98@U$ #@>$40#,#@DA%@@)#@B9@T8 S18'
XM@B8 #@E4%@G#>8B")@ I<,0>#AX/P'&(T" .$1X2'A/$%A&*#@D.!E15@WH 
XM9&*(U FQ H*$ -4."2&(U@G7L0,I%@[8#A,AB X2%A$J#@]QB"IPQ!X.'@_9
XM<8C0( X1'A(>$\06$8I^B X)#@9458/! &1BB-H)V[$#@M0 96*(W-UDS0X)
XM)(C>>8C?"=NQ RD6#M@.$R&(#A(6$2H.#W&(*N @B.$@B.(."2&(R@X)X\TC
XMB,H.">3-(XCE("R'(B!;(BIN;W1E<RUT:71L97,J(B!T:71L92 B(B Q(&YI
XM;"!C;W5N="UL:6YE<R!L:6UI="!D;VYE(&5N=')Y(&EN9&5X(&YO=&5S+7-E
XM="!V:7,@;F]T97,M=&ET;&4@="!R97-U;'0@;VQD8G5F9B!B=69F97(M;6]D
XM:69I960M<"!B=69F97(M<F5A9"UO;FQY(')W<W1A='5S(&UO9&EF:65D(")<
XM;C\Z(" @(" @(B!G;W1O+6QI;F4@(C\Z(" @(" @(B B7&XB('-E="UB=69F
XM97(M;6]D:69I960M<" B*FYO=&5S+71E>'0J(B B7&X,," P(#4P," S,# @
XM(B B7&Y<;B(@<V5A<F-H+69O<G=A<F0@(@PB(# @(@PP(# @-3 P(#,P," B
XM(&YO=&5S+69I>"UL:6YE+6YU;6)E<G,@;F]T97,M;6%K92UW:6YD;W=S+69I
XM="!N;W1E<RUJ=6UP+71O+6QI;F4@;F5W(&UO9"!N;W1E<RUS96QE8W0M8W5R
XM<F5N=%T@-B B7 I);G-E<G1S('1H92!N;W1E(&5N=&ET;&5D(%1)5$Q%(&QE
XM>&EC;V=R87!H:6-A;&QY(&EN=&\@=&AE(&YO=&5S"F)U9F9E<G,N("!4:&4@
XM;F]T92!I<R!B;&%N:R!W:71H('-I>F4@86YD('!O<VET:6]N(&EN9F]R;6%T
XM:6]N(&)E:6YG"F%L;"!Z97)O+B(@(G-N97<@;F]T92!T:71L93H@(ETI"BAD
XM969A;&EA<R G;F]T97,M=&%G+61E;&5T92 C6VYI;" BP,%E8%PBPL,CAR(@
XM6VYO=&5S+7-E="!C;W5N="UL:6YE<R!D96P@=%T@-" B7 I486=S('1H92!N
XM;W1E(&%T(&]N('1H92!C=7)R96YT(&QI;F4@9F]R(&1E;&5T:6]N+B(@;FEL
XM72D**&1E9F%L:6%S("=N;W1E<RUT86<@(UMN:6P@(L#!96!<(L+#(X<B(%MN
XM;W1E<RUS970@8V]U;G0M;&EN97,@=&%G('1=(#0@(EP*5&%G<R!T:&4@;F]T
XM92!O;B!T:&4@8W5R<F5N="!L:6YE+B(@;FEL72D**&1E9F%L:6%S("=N;W1E
XM<RUU;G1A9R C6VYI;" BP,%E8%PBPL,CAR(@6VYO=&5S+7-E="!C;W5N="UL
XM:6YE<R!T86<@;FEL72 T(")<"E)E;6]V97,@9V5N97)I8R!A;F0@9&5L971E
XM('1A9W,@9G)O;2!T:&4@;F]T92!A="!T:&4@8W5R<F5N="!L:6YE+B(@;FEL
XM72D**&1E9F%L:6%S("=N;W1E<RUS970@(ULH=VAI8V@@871T('9A;"D@(G# 
XM&1K#<8C$( T>!AX'P!6*R&5D7"+)6@Y<;E>&(0 .7&[+5S^%5@#,#@T.#EPB
XMB1X//S^%50#0#EQN(8C)>8@.#T% =8C1RR&(#A*#4P .#T%!0&."50#38RDI
XM$=0.!R&(#@85*EQN<8@)*H<B(%MN:6P@<F5S=6QT(&]L9&)U9F8@(BIN;W1E
XM<RUT:71L97,J(B!B=69F97(M;6]D:69I960M<"!B=69F97(M<F5A9"UO;FQY
XM(')W<W1A='5S(&UO9&EF:65D(&-O=6YT+6QI;F5S(# @=VAI8V@@,2!A<W-O
XM8R!A='0@;F]T97,M9FQA9RUL:7-T('1A9R!G;W1O+6QI;F4@9&5L971E+6-H
XM87(@=F%L("(@(B!S970M8G5F9F5R+6UO9&EF:65D+7!=(#0@(EP*4V5T<R!T
XM:&4@;F]T92!A="!L:6YE(%=(24-(+"!A='1R:6)U=&4@0514('1O(%9!3"XB
XM72D**&1E9F%L:6%S("=N;W1E<RUG970@(ULH=VAI8V@@871T*2 B<, 9&L-Q
XMB,0@#1X&'@? %8H.",EE9%PB5H8?  X(RE<_A4< RPX,#@U<(HD>#C\_A48 
XMSPX((8C0>8@.#D% =8C1#@Y!04 A*2D1T@X'(8@.!A4J7&YQB DJAR(@6VYI
XM;"!R97-U;'0@;VQD8G5F9B B*FYO=&5S+71I=&QE<RHB(&)U9F9E<BUM;V1I
XM9FEE9"UP(&)U9F9E<BUR96%D+6]N;'D@<G=S=&%T=7,@;6]D:69I960@=VAI
XM8V@@8V]U;G0M;&EN97,@,2!A<W-O8R!A='0@;F]T97,M9FQA9RUL:7-T('1A
XM9R!G;W1O+6QI;F4@,"!L;V]K:6YG+6%T('-E="UB=69F97(M;6]D:69I960M
XM<%T@-2 B7 I2971U<FYS('1H92!V86QU92!O9B!T:&4@;F]T92!A="!L:6YE
XM(%=(24-(+"!A='1R:6)U=&4@0514+B)=*0HH9&5F86QI87,@)VYO=&5S+65D
XM:70@(UMN:6P@(L @B,%QB,(3Q,(AB,(5QB 5QPW(R2.(R@TAB,O,P2$AB,W!
XM(8C.SR&'(B!;;F]T97,M<V5L96-T+6-U<G)E;G0@(BIN;W1E<RUT97AT*B(@
XM;FEL(&)U9F9E<BUR96%D+6]N;'D@<V5T+6)U9F9E<BUM;V1I9FEE9"UP(&YO
XM=&5S+65D:70M;6%P(&UA:V4M<W!A<G-E+6ME>6UA<"!D969I;F4M:V5Y("(#
XM R(@;F]T97,M961I="UF:6YI<V@@=7-E+6QO8V%L+6UA<"!S96QE8W0M=VEN
XM9&]W(&=E="UB=69F97(M=VEN9&]W('-W:71C:"UT;RUB=69F97(@;65S<V%G
XM92 B0RUC($,M8R!T;R!F:6YI<V@N(ET@-" B7 I*=6UP(&EN=&\@=&AE(&-U
XM<G)E;G0@;F]T92P@86YD(&%L;&]W<R!Y;W4@=&\@961I="!I="XB(&YI;%TI
XM"BAD969A;&EA<R G;F]T97,M=FEE=R C6VYI;" BP""(P7&(PA/$(!/%"\;'
XM(XC%"\C)(XC%"\K+(XC%"\S-(XC%"\[/(XC%"]#/(XC%"]'2(XC%"]/4(XC%
XM"]74(XC%"];7(XC%"]C9(XC%"]K;(XC%"]S=(XC%"][=(XC%"]_@(XC%"^'B
XM(XC%"^/B(XC%"^3E(XC%"^;G(XC%"^CI(XC%"^KK(XC%"^SM(XC%"^[K(XC%
XM"^_M(XC%"_#'(XCQ"R&(\O/!(2&(],$AB/7V(8<B(%MN;W1E<RUS96QE8W0M
XM8W5R<F5N=" B*FYO=&5S+71E>'0J(B!N:6P@;F]T97,M961I="UM87 @;6%K
XM92US<&%R<V4M:V5Y;6%P(&1E9FEN92UK97D@(@,#(B!N;W1E<RUE9&ET+69I
XM;FES:" B/"(@8F5G:6YN:6YG+6]F+6)U9F9E<B B/B(@96YD+6]F+6)U9F9E
XM<B B&W8B('-C<F]L;"UD;W=N("(6(B!S8W)O;&PM=7 @(B B(")_(B!S8W)O
XM;&PM9&]W;BUO;F4@(EQN(B!S8W)O;&PM=7 M;VYE("(-(B B#"(@<F5C96YT
XM97(@(F<B('9I97<M9V]T;RUL:6YE("(](B!W:&%T+6QI;F4@(BXB('-E="UM
XM87)K+6-O;6UA;F0@(@ B(")X(B!E>&-H86YG92UP;VEN="UA;F0M;6%R:R B
XM:"(@2&5L<&5R+61E<V-R:6)E+6)I;F1I;F=S("(_(B B""(@2&5L<&5R+6AE
XM;' @(@XB(&YE>'0M;&EN92 B$"(@<')E=FEO=7,M;&EN92 B$R(@:7-E87)C
XM:"UF;W)W87)D("(2(B!I<V5A<F-H+6)A8VMW87)D(")S(B B<B(@(G$B('5S
XM92UL;V-A;"UM87 @<V5L96-T+7=I;F1O=R!G970M8G5F9F5R+7=I;F1O=R!S
XM=VET8V@M=&\M8G5F9F5R(&UE<W-A9V4@(D,M8R!#+6,@;W(@<2!T;R!F:6YI
XM<V@N(ET@-" B7 I*=6UP(&EN=&\@=&AE(&-U<G)E;G0@;F]T92P@86YD('9I
XM97<@:70N(B!N:6Q=*0HH9&5F86QI87,@)VYO=&5S+65D:70M9FEN:7-H("-;
XM;FEL("+ ((,+ ,%<;L/$(XC%<8C&QR&(Q!8(R2"(RLO,(2&(S0X.(8<B(%MB
XM=69F97(M;6]D:69I960M<"!N;W1E<RUS970@;F]T97,M;&%S="US965N(&UO
XM9"!T("(J;F]T97,M=&5X="HB('-E="UB=69F97(M;6]D:69I960M<"!N:6P@
XM8G5F9F5R+7)E860M;VYL>2!N;W1E<RUM86ME+7=I;F1O=W,M9FET('-E;&5C
XM="UW:6YD;W<@9V5T+6)U9F9E<BUW:6YD;W<@(BIN;W1E<RUT:71L97,J(B!U
XM<V4M;&]C86PM;6%P(&YO=&5S+6UO9&4M;6%P72 T(")<"DIU;7 @8F%C:R!I
XM;G1O('1H92!N;W1E('1I=&QE('=I;F1O=RP@86YD('-E="!M;V1I9FEC871I
XM;VX@9FQA9W,L"FEF(&YE961E9"XB(&YI;%TI"BAD969A;&EA<R G;F]T97,M
XM:G5M<"UT;RUL:6YE("-;*"9O<'1I;VYA;"!A<F<I("((&5QN@UQN %QN@A$ 
XMP\0)(0U<(E2)'@8_/X4C ,=QB,@.!B&(R2 JAR(@6VQA<W0M8V]M;6%N9"UC
XM:&%R(&EN<'5T(&%R9R!S=')I;F<M;6%T8V@@8VAA<BUT;RUS=')I;F<@;F]T
XM97,M;&EN92UN=6UB97)S(&EN9&5X("(J;F]T97,M=&ET;&5S*B(@9V]T;RUL
XM:6YE(&YO=&5S+6=O=&\M=&ET;&5=(#0@(EP*2G5M<"!T;R!A(&YO=&4N("!)
XM9B!T:&4@;W!T:6]N86P@87)G=6UE;G0@:7,@;FEL+"!T:&4@<&]S:71I;VX@
XM:7,*8F%S960@;VX@;&%S="UC;VUM86YD+6-H87(N("!4:&ES('-H;W5L9"!N
XM:6-E;'D@:G5M<"!Y;W4@=&\@=&AE(&YO=&4*=VAI8V@@:7,@:6YD97AE9"!B
XM>2!T:&4@:V5Y('EO=2!H:70@=&\@86-T:79A=&4@=&AI<R!F=6YC=&EO;BX@
XM268@>6]U"F-A;&P@=&AI<R!F<F]M(&$@<')O9W)A;2P@=&AE(&%R9W5M96YT
XM(&UU<W0@8F4@=&AE(&QI;F4@;G5M8F5R+B(@;FEL72D**&1E9F%L:6%S("=N
XM;W1E<RUM;V1E("-;*"9O<'1I;VYA;"!F:6QE*2 B"(,)  @1@@L 7&X1"X02
XM ,0@$\4@B,9QB&5BB,<.""&(R19<;LL6#,T6#@X/%A#1#A(AB-,@AR(@6V9I
XM;&4@;F]T97,M<F5A;"UF:6QE(&YO=&5S+69I;&4@;F]T97,M;VQD+7=I;F1O
XM=W,@8W5R<F5N="UW:6YD;W<M8V]N9FEG=7)A=&EO;B!N;W1E<RUS=&%R=" B
XM*FYO=&5S+71I=&QE<RHB('5S92UL;V-A;"UM87 @;F]T97,M;6]D92UM87 @
XM*"(B(&UO9&4M;&EN92UM;V1I9FEE9"!M;V1E+6QI;F4M8G5F9F5R+6ED96YT
XM:69I8V%T:6]N("(@(" B(&=L;V)A;"UM;V1E+7-T<FEN9R B(" @)5LH(B!M
XM;V1E+6YA;64@;6]D92UL:6YE+7!R;V-E<W,@(BDE72TM+2TB("@M,R N("(E
XM<"(I("(M)2TB*2!M;V1E+6QI;F4M9F]R;6%T(").;W1E<R(@;6]D92UN86UE
XM(&YO=&5S+6UO9&4@;6%J;W(M;6]D92!T97AT+6UO9&4M86)B<F5V+71A8FQE
XM(&QO8V%L+6%B8G)E=BUT86)L92!S970M<WEN=&%X+71A8FQE('1E>'0M;6]D
XM92US>6YT87@M=&%B;&4@;F]T97,M<V5L96-T+6-U<G)E;G1=(#(@(EP*36%J
XM;W(@;6]D92!F;W(@961I=&EN9R!N;W1E<RX@(%=H96X@8V%L;&5D('=I=&@@
XM=&AE(&]P=&EO;F%L(&%R9W5M96YT"D9)3$4L('1H870@;F%M92!I<R!U<V5D
XM(&9O<B!T:&4@;F]T97,@9FEL92X@($AO=V5V97(L('1H92!D969A=6QT(&YO
XM=&5S"F9I;&4@;F%M92!R96UA:6YS('5N8VAA;F=E9"!F;W(@9G5R=&AE<B!I
XM;G9O8V%T:6]N<RX@(%=H96X@8V%L;&5D('=I=&@*;F\@87)G=6UE;G1S+"!T
XM:&4@9&5F875L="!N;W1E<R!F:6QE(&ES(&]P96YE9"X*"DYO=&5S+6UO9&4@
XM=VEL;"!O<&5N('1W;R!W:6YD;W=S+B @5&AE('1O<"!W:6YD;W<@8V]N=&%I
XM;G,@=&AE('1I=&QE<R!O9@IN;W1E<RP@=VAI;&4@=&AE(&)O='1O;2!W:6YD
XM;W<@8V]N=&%I;G,@=&AE('1E>'0@;V8@=&AE('9I<VEB;&4@;F]T97,N"D5A
XM8V@@=&ET;&4@:&%S(&9I=F4@<&]S<VEB;&4@9FQA9W,L('=H:6-H(&%R93H*
XM"B @(" @(" @(" @(" @(" N(#H@;F]T92!I<R!C=7)R96YT;'D@=FES:6)L
XM92X*(" @(" @(" @(" @(" @("H@.B!N;W1E(&AA<R!B965N(&UO9&EF:65D
XM"B @(" @(" @(" @(" @(" K(#H@;F]T92!I<R!N97<@86YD('5N<V%V960*
XM(" @(" @(" @(" @(" @($0@.B!N;W1E(&AA<R!B965N('1A9V=E9"!F;W(@
XM9&5L971I;VX*(" @(" @(" @(" @(" @(%0@.B!N;W1E(&AA<R!B965N('1A
XM9V5D(&9O<B!O=&AE<B!O<&5R871I;VX*"EEO=2!C86X@=FEE=RP@961I="P@
XM86YD(&1E;&5T92!E>&ES=&EN9R!N;W1E<RP@86YD(&-R96%T92!N97<@;VYE
XM<R!A<PIY;W4@<&QE87-E+@H*5'5R;FEN9R!O;B!N;W1E<RUM;V1E(&-A;&QS
XM('1H92!V86QU92!O9B!T:&4@=F%R:6%B;&4@;F]T97,M;6]D92UH;V]K+ II
XM9B!T:&%T('9A;'5E(&ES(&YO;BUN:6PN"@I3<&5C:6%L(&-O;6UA;F1S(&EN
XM8VQU9&4Z7%Q[;F]T97,M;6]D92UM87!]"B(@;FEL72D**&1E9F%L:6%S("=N
XM;W1E<RUC;&5A<BUN97<M86YD+6UO9"US=&%T<R C6VYI;" BP,%QB,)E9%PB
XM&XD<"UB%(P#%#,;'(XC%#,C'(X@,5(D4@@L *H<B(%LQ("(J;F]T97,M=&ET
XM;&5S*B(@8V]U;G0M;&EN97,@;&EN97,@:6YD97@@;F]T97,M<V5T(&UO9"!N
XM:6P@;F5W72 U(")<"E5N<V5T('1H92!M;V1I9FEC871I;VX@86YD(&YE=R!F
XM;&%G<R!O;B!E86-H(&YO=&4N(ETI"BAD969A;&EA<R G;F]T97,M;6]D:69I
XM960M<" C6VYI;" BP,%QB,)E9%PBPQP=B1X&#5B#)@ ,A"8 QPX&R%PB% X&
XM5(D6!H(.  PKAR(@6S$@(BIN;W1E<RUT:71L97,J(B!C;W5N="UL:6YE<R!N
XM:6P@<F5S=6QT(&QI;F5S(&EN9&5X(&YO=&5S+6=E="!M;V1=(#4@(EP*0VAE
XM8VL@:68@=&AE<F4@87)E(&%N>2!M;V1I9FEE9"!N;W1E<RXB72D**&1E9F%L
XM:6%S("=N;W1E<RUS879E("-;;FEL("+ <8A^B,%E9%QNP\0EB,4@B,8@AR(@
XM6R(J;F]T97,M=&5X="HB('=R:71E+7)E9VEO;B!N;W1E<RUR96%L+69I;&4@
XM;FEL('-T=7!I9"!N;W1E<RUC;&5A<BUN97<M86YD+6UO9"US=&%T<R!N;W1E
XM<RUS96QE8W0M8W5R<F5N=%T@-B B7 I3879E('1H92!C=7)R96YT(&YO=&5S
XM(&9I;&4N(B!N:6Q=*0HH9&5F86QI87,@)VYO=&5S+65X:70@(UMN:6P@(L!Q
XMB,'"(8C#P"&(Q'&(P<(AB,/$(8C%#@8AB,*)%@:'(B!;(BIN;W1E<RUT97AT
XM*B(@<V5T+6)U9F9E<BUM;V1I9FEE9"UP(&YI;"!K:6QL+6)U9F9E<B B*FYO
XM=&5S+71I=&QE<RHB('-E="UW:6YD;W<M8V]N9FEG=7)A=&EO;B!N;W1E<RUO
XM;&0M=VEN9&]W<UT@,B B7 I%>&ET(&YO=&5S+6UO9&4N("!.;R!Q=65S=&EO
XM;G,@87-K960N(B!N:6Q=*0HH9&5F86QI87,@)VYO=&5S+7%U:70@(UMN:6P@
XM(L @@R  P<(A@Q0 PR"(Q""(@B, Q<8A@R, Q""(@B, Q""(Q\@AAR(@6VYO
XM=&5S+6UO9&EF:65D+7 @>2UO<BUN+7 @(G-A=F4@;F]T97,@9FEL93\@(B!N
XM;W1E<RUS879E(&YO=&5S+65X:70@>65S+6]R+6YO+7 @(FUO9&EF:65D(&YO
XM=&5S(&5X:7-T.R!E>&ET(&%N>7=A>3\@(B!M97-S86=E(")$;VYE+B)=(#(@
XM(EP*475I="!N;W1E<RUM;V1E+B @07-K('1O('-A=F4@;F]T97,@:68@;F5C
XM97-S87)Y+B(@;FEL72D**&1E9F%L:6%S("=N;W1E<RUS=&%R=" C6VYI;" B
XMP,$A$L%QB,,4Q2"(Q@X'(8,8 ,@.!R&(9615@R$ R6.(P,HA%@O*<8C#%,P@
XMB,T@B,%QB&5BB,[/T%PBB-'#(8C2%,IQB-'#(8C2B12'(B!;9V5T+6)U9F9E
XM<BUC<F5A=&4@(BIN;W1E<RUT97AT*B(@;F]T97,M=&5X="UB=69F97(@;FEL
XM(&)U9F9E<BUR96%D+6]N;'D@97)A<V4M8G5F9F5R(&9I;&4M<F5A9&%B;&4M
XM<"!N;W1E<RUR96%L+69I;&4@:6YS97)T+69I;&4@(@PQ(#$@,2 Q(#Q%35!4
XM63Y<;EQN(B B*FYO=&5S+71I=&QE<RHB(&YO=&5S+71I=&QE<RUB=69F97(@
XM;F]T97,M<&%R<V4M=&ET;&5S(&YO=&5S+6UA:V4M=VEN9&]W<RUF:70@<F5P
XM;&%C92UR96=E>' @(EY<7"@,+BI<7"E<;@PB(")<7#%<;EQN#"(@<V5T+6)U
XM9F9E<BUM;V1I9FEE9"UP('1=(#,@(EP*26YT97)N86P@9G5N8W1I;VX@=&\@
XM9&\@<V]M92!I;FET86P@9W)U;F=E('=O<FLN(B!N:6Q=*0HH9&5F86QI87,@
XM*'%U;W1E(&YO=&5S+61E;&5T92UI;G1E<FYA;"D@(ULH:6YD97@I(")PP!D:
XMPW&(Q" -'@8>!\ 5BL@."2&(8,!_B&!\B,IC*1'+#@<AB X&%2I<;G&(*L-Q
XMB X)S&5D7")5@W  <, 9&LUQB,0@#1X&'@? %8I^B,X@B,_0(8C1=8C.((C2
XM(&!\*1'+#@<AB X&%2I<;G&("2J'<, 9&LUQB,0@#1X&'@? %8I^B&5BB-/0
XM9, ."22(8-/0(8C4T2&(8'PI$<L.!R&(#@85*EQN<8@)*H<B(%MN:6P@<F5S
XM=6QT(&]L9&)U9F8@(BIN;W1E<RUT:71L97,J(B!B=69F97(M;6]D:69I960M
XM<"!B=69F97(M<F5A9"UO;FQY(')W<W1A='5S(&UO9&EF:65D(&=O=&\M;&EN
XM92!I;F1E>" B("(@<V5T+6)U9F9E<BUM;V1I9FEE9"UP(&-O=6YT+6QI;F5S
XM("(J;F]T97,M=&5X="HB(&5N9"UO9BUB=69F97(@<V5A<F-H+6)A8VMW87)D
XM("(,(B Q(&UA<FL@<V5A<F-H+69O<G=A<F0@8F%C:W=A<F0M8VAA<ET@-5TI
XM"BAD969A;&EA<R G;F]T97,M9&\M9&5L971E<R C6VYI;" BP'&(P<(AA T 
XMP\0AA\7&961<(AX'B1X(#@=8@S, R0X(REPB@RH RPX((8@."%2)%@B"%P!P
XMS!X-'@[ <8C/( X0'A$>$LP6$(IE8HC3U-5<(HAE8HC3UM5<(BD6#=<.$B&(
XM#A$6$"H.#G&(*G#,'@T>#MAQB,\@#A >$1X2S!80BGZ(96*(T]G:7"*(96*(
XMT]O57"(I%@W7#A(AB X1%A J#@YQB"S <8AE9%6# 0%PS!X-'@[ <8C/( X0
XM'A$>$LP6$(K<8RD6#=<.$B&(#A$6$"H.#G&(*G#,'@T>#MAQB,\@#A >$1X2
XMS!80BGZ(W2"(WF,I%@W7#A(AB X1%A J#@YQB"K?((C@((CA((<B(%LB*FYO
XM=&5S+71I=&QE<RHB('EE<RUO<BUN;RUP(")D96QE=&4@=&%G9V5D(&YO=&5S
XM/R B(&UE<W-A9V4@(FYO=&5S(&1E;&5T:6]N(&%B;W)T960N(B Q(&-O=6YT
XM+6QI;F5S(&QI;F5S(&EN9&5X(&YO=&5S+6=E="!D96P@;F]T97,M9&5L971E
XM+6EN=&5R;F%L(&YI;"!R97-U;'0@;VQD8G5F9B!B=69F97(M;6]D:69I960M
XM<"!B=69F97(M<F5A9"UO;FQY(')W<W1A='5S(&UO9&EF:65D(')E<&QA8V4M
XM<F5G97AP(")>("0B("(B(")<7"A<;EXD7%Q\7B1<;EQ<*2(@<V5T+6)U9F9E
XM<BUM;V1I9FEE9"UP("(J;F]T97,M=&5X="HB("(,#"LB("(,(B B7&Y>#"0B
XM("(P.B @*RHN(#Q%35!463XB(&5R87-E+6)U9F9E<B B##$@,2 Q(#$@/$5-
XM4%19/EQN7&XB(&YO=&5S+69I>"UL:6YE+6YU;6)E<G,@;F]T97,M;6%K92UW
XM:6YD;W=S+69I="!N;W1E<RUS96QE8W0M8W5R<F5N=%T@-2 B7 I$96QE=&5S
XM(&%L;"!T86=G960@;F]T97,N(B!N:6Q=*0HH8GET92UC;V1E("+ P<)<(HC 
XMP\1<(HC%QB&$% #&QTV(P,C)7"*(P,K+7"*(P,S-7"*(P,[/7"*(P-#17"*(
XMP-+37"*(P-357"*(UA87P(<B(%MD969A;&EA<R!N;W1E<RUP87)S92UT:71L
XM97,@(UMN:6P@(L!QB,$2PR"(Q'&(Q2"(P8F)B1X&'@<>"!X)9!8)RA8(R\P.
XM"<TC@V< SL\AB& 6!\%_B& 6!L!QB X(#A!7@TL #A$."$ACB(). -)CB--C
XMB-3$#@<.!B.(U2"(Q'&(#@A4%@B"(  LP'&(UM<AB-C!(8C-B1*'(B!;(BIN
XM;W1E<RUT:71L97,J(B!N:6P@8G5F9F5R+7)E860M;VYL>2!E<F%S92UB=69F
XM97(@(BIN;W1E<RUT97AT*B(@8F5G:6YN:6YG+6]F+6)U9F9E<B!S=&]P('-T
XM87)T(&EN9&5X(&QI;6ET(# @<V5A<F-H+69O<G=A<F0@(@PB('0@<F4M<V5A
XM<F-H+69O<G=A<F0@(ELP+3E=*R!;,"TY72L@6S M.5TK(%LP+3E=*R B(&YO
XM=&5S+6YU;2UL:6YE+6YU;6)E<G,@;F]T97,M;&EN92UN=6UB97)S("(@(B B
XM.B @(" @("(@:6YS97)T+6)U9F9E<BUS=6)S=')I;F<@;F5W;&EN92!B86-K
XM=V%R9"UD96QE=&4M8VAA<B Q('-E="UB=69F97(M;6]D:69I960M<%T@-%T@
XM;F]T97,M;6%K92UW:6YD;W=S+69I=" C6VYI;" BP" 1PG&("\1E9%PB750=
XMQB"(Q\(AB,@@B,G*(8C'RR&(R<HAB W,(%D_A3D S<P@#5HAB,[/PB'07"(I
XMAR(@6W-C<F5E;BUH96EG:'0@=&]T86PM;&EN97,@(BIN;W1E<RUT:71L97,J
XM(B!W:6YD;W<M;6EN+6AE:6=H="!C;W5N="UL:6YE<R!L:6YE<R!D96QE=&4M
XM;W1H97(M=VEN9&]W<R!S=VET8V@M=&\M8G5F9F5R('-P;&ET+7=I;F1O=RUV
XM97)T:6-A;&QY(&]T:&5R+7=I;F1O=R Q("(J;F]T97,M=&5X="HB('=I;F1O
XM=RUH96EG:'0@<VAR:6YK+7=I;F1O=R!S970M=VEN9&]W+7-T87)T(&=E="UB
XM=69F97(M=VEN9&]W(#!=(#1=(&9B;W5N9' @;F5X="UL:6YE+6EN=&5R;F%L
XM(&QI;F4M;6]V92!N;W1E<RUN97AT+6QI;F4@(ULH87)G*2 BBL!YB"G!7&XA
XMAR(@6S$@;F5X="UL:6YE+6EN=&5R;F%L(&%R9UT@,B!N:6P@(G B72!N;W1E
XM<RUP<F5V:6]U<RUL:6YE("-;*&%R9RD@(@B#" #!""&'P<(AAR(@6V%R9R!P
XM<F5V:6]U<RUL:6YE(#%=(#(@;FEL(")P(ET@;F]T97,M<V5L96-T+6YE>'0@
XM(UMN:6P@(L!QB,'"(8C#((<B(%LB*FYO=&5S+71I=&QE<RHB(&YO=&5S+6YE
XM>'0M;&EN92 Q(&YO=&5S+7-E;&5C="UC=7)R96YT72 R(&YI;"!N:6Q=(&YO
XM=&5S+7-E;&5C="UP<F5V:6]U<R C6VYI;" BP'&(P<(AB,,@AR(@6R(J;F]T
XM97,M=&ET;&5S*B(@;F]T97,M<')E=FEO=7,M;&EN92 Q(&YO=&5S+7-E;&5C
XM="UC=7)R96YT72 R(&YI;"!N:6Q=(&YO=&5S+7-E;&5C="UC=7)R96YT("-;
XM;FEL("+ <8C!96!<(L):&\0=Q!X&"\)6A!L Q\@AB,@3R0Y<;LO$(X@+%EQN
XMR0O+S".(S2"(SG&(?HAE8HC/T&3,"R2(R'F(8!7/T&3,(X10 &06!H): -'(
XM(8C$?XA@%@;2T\XA#5PBB UBB T.!GV(*]3.(8<B(%LB*FYO=&5S+71I=&QE
XM<RHB(&-O=6YT+6QI;F5S(# @;&EN92!N:6P@=&]P(&)O='1O;2!G;W1O+6QI
XM;F4@,2!N;W1E<RUS970@;F]T97,M;&%S="US965N('9I<R!T(&YO=&5S+6=O
XM=&\M=&ET;&4@(BIN;W1E<RUT97AT*B(@<V5A<F-H+69O<G=A<F0@(@PB('!R
XM979I;W5S+6QI;F4@<V5T+7=I;F1O=RUD;W0@9V5T+6)U9F9E<BUW:6YD;W<@
XM9&ES<&QA>2UB=69F97)=(#4@;FEL(&YI;%T@;F]T97,M9V]T;RUT:71L92 C
XM6VYI;" BP'&(P7F(PG6'(B!;(BIN;W1E<RUT:71L97,J(B P(#==(#$@;FEL
XM(&YI;%T@;F]T97,M9W5E<W,M<VEZ92 C6VYI;" BP'&(P1**P8F)B8F)&QP=
XM'@8>!QX(?HAE8HC)RF3+(X.] ,QYB& 4R<UDRR.$-0!D4Q."/@#.S"&(P7^(
XM8!,,8HC/%@?/%@A@"UB#90#!?XAI#@A6@UH :18(#@=4%@?!>8B"1P ." X0
XM7PX17%R)%@@.$E>#>@ .$A8(#@<.$U\.%%Q<B18'#A57@X\ #A46!PX6#@A:
XMUZ4.&%Q<%@8.&0X'6M>E#AI<7!4,8HC.S"&(V]PAB-W>#@8-#@@.!R5CB"X'
XMP8D2AR(@6R(J;F]T97,M=&5X="HB(&YI;"!B=69F97(M<F5A9"UO;FQY(&)O
XM='1O;2!T;W @8B!A('D@>"!S96%R8V@M9F]R=V%R9" B##$@,2 Q(#$@(B!T
XM(#$@(@PB('!R979I;W5S+6QI;F4@,"!N;W1E<RUM86=I8RUX+7-I>F4@;F]T
XM97,M;6%G:6,M>"UI;F-R(&YO=&5S+6UA9VEC+7@M;6EN(&YO=&5S+6UA9VEC
XM+7DM<VEZ92!N;W1E<RUM86=I8RUY+6EN8W(@;F]T97,M;6%G:6,M>2UM:6X@
XM;F]T97,M;6%G:6,M<V-R965N+7@@,B!N;W1E<RUM86=I8RUX+6]F9G-E="!N
XM;W1E<RUM86=I8RUS8W)E96XM>2!N;W1E<RUM86=I8RUY+6]F9G-E="!D96QE
XM=&4M8VAA<B Y(&9O<FUA=" B#"5D("5D("5D("5D(")=(#<@;FEL(&YI;%T@
XM*")!4E)/5U,Z(&-U<G-O<B!M;W9E;65N="P@,"XN+CD@02XN+EHZ(&=O=&\@
XM=&AI<R!L:6YE+"!34$%#13H@<V5L96-T('1H:7,@;F]T92(@(E)%5#H@<V5L
XM96-T(&YE>'0@;F]T92P@1$5,.B!S96QE8W0@<')E=FEO=7,@;F]T92P@;CH@
XM;F5W(&YO=&4L(&0Z(&1E;&5T92!T86<B(")U.B!U;G1A9R!N;W1E+"!#+60Z
XM(&1E;&5T92!T86=E9"!N;W1E<RP@93H@961I="!T:&ES(&YO=&4L("!V.B!V
XM:65W('1H:7,@;F]T92(@(D,M>"!#+7,Z('-A=F4@86QL(&YO=&5S+"!Q.B!Q
XM=6ET+"!#+6,@0RUC.B!A8F]R="!C:&%N9V5S(&%N9"!E>&ET+" _.B!M;W)E
XM(BD@;F]T97,M:&5L<"UM97-S86=E<UT@,RD**&1E9F%L:6%S("=N;W1E<RUH
XM96QP("-;*"9O<'1I;VYA;"!T:6UE*2 B",$]@PD PB"'"\0-@Q< QL<-(5V&
XM& #(R1Y<;AX+'@P>#0X,A4P #@T67&X.#(,A  Y<;H,A ,X.7&Y (8@.7&Y!
XM%EQNSPX+(8D6#(0O ((A "R'(B!;;&%S="UC;VUM86YD(&YO=&5S+6AE;' @
XM9&5S8W)I8F4M;6]D92!N;W1E<RUH96QP+6UE<W-A9V5S('0@=&EM92 P('!R
XM969I>"UN=6UE<FEC+79A;'5E(#(@;FEL(&AE860@<V5C<R!L;V]P(&UE<W,@
XM;65S<V%G92!S:70M9F]R72 V(")<"D1I<W!L87D@;F]T97,@8V]M;6%N9"!A
X@;F0@=F%R:6%B;&4@:6YF;W)M871I;VXN(B!N:6Q=*0IT
X 
Xend
SHAR_EOF
  $shar_touch -am 0613212295 'notes.elc.uu' &&
  chmod 0644 'notes.elc.uu' ||
  echo 'restore of notes.elc.uu failed'
  rm -f _sharnew.tmp
fi
# ============= notes.h ==============
if test -f 'notes.h' && test X"$1" != X"-c"; then
  echo 'x - skipping notes.h (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting notes.h (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'notes.h' &&
X/*
X * notes.h -- Mon May 30 01:23:17 EDT 1994
X *
X * Copyright (c) 1994 -- Bob Smith <bob@snuffy.penfield.ny.us>
X *
X * I hate copyright notices...  They're generally of a lot of words
X * that end up saying -- You can do whatever you want with this
X * as long as you don't rip me off!  So with that said, enjoy, and
X * have a good day!
X *
X */
X
X#include "patchlevel.h"
X
X#ifndef TRUE
X# define TRUE 1
X#endif
X#ifndef FALSE
X# define FALSE 0
X#endif
X
X#ifdef SYSV
X#define MAXPATHLEN 256
X#endif
X
X#define max(a,b) ((a > b) ? (a) : (b))
X
X#define XtGrandParent(w) XtParent(XtParent(w))
X
X#define AddCallback(w, callback, closure) \
X	XtAddCallback(w, XtNcallback, callback, closure)
X
X
X/*
X * this needed by souls on R4
X */
X#if defined(XtSpecificationRelease) && XtSpecificationRelease < 5
X# define XawChainTop	XtChainTop
X# define XawChainBottom	XtChainBottom
X# define XawChainLeft	XtChainLeft
X# define XawChainRight	XtChainRight
X#endif
X
X
X#if defined(NOSTDHDRS) && !defined(NEED_STRDUP)
Xextern char *strdup();
X#endif
X
X
X/*
X * Global variables (in main.c)
X */
X#ifdef MAIN_C
XXtAppContext app_con;
XWidget toplevel;
XWidget **Notes;
Xchar **Titles;
X#else
Xextern XtAppContext app_con;
Xextern Widget toplevel;
Xextern Widget **Notes;
Xextern char **Titles;
X#endif
X
X
X/*
X * storage for app resources
X */
X#ifdef MAIN_C
Xstruct _app_resources {
X#else
Xextern struct _app_resources {
X#endif
X	Boolean defaultsInstalled;
X	Boolean fascistQuit;
X	Boolean fascistVersion;
X	Boolean fascistClear_Note;
X	Boolean fascistDestroy_Note;
X	Boolean fascistChange_Title;
X	Boolean fascistNew_Note;
X	Boolean fascistNotes;
X	Boolean fascistNewNote;
X	Position newNoteX;
X	Position newNoteY;
X	Dimension newNoteWidth;
X	Dimension newNoteHeight;
X	Dimension h_offset;
X	Dimension v_offset;
X	String noteFile;
X	Boolean saveOnExit;
X	Boolean createBackup;
X} app_resources;
SHAR_EOF
  $shar_touch -am 0613212295 'notes.h' &&
  chmod 0644 'notes.h' ||
  echo 'restore of notes.h failed'
  rm -f _sharnew.tmp
fi
# ============= notes.man ==============
if test -f 'notes.man' && test X"$1" != X"-c"; then
  echo 'x - skipping notes.man (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting notes.man (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'notes.man' &&
X.TH NOTES 1 "March 1995" X11R5
X.SH NAME
Xnotes \- X window system notepad
X.SH SYNOPSIS
X.B notes
X[
X.I \-toolkitoptions ...
X]
X.SH DESCRIPTION
X.I notes
Xprovides a mechanism for manipulating on-screen notes.
X.SH OPTIONS
X.I notes
Xaccepts all of the standard X Toolkit command line options plus a
Xnumber of it's own.  See the application resources section for
Xmore information.
X.SH SPECIAL MOUSE BUTTONS
XSelecting the
X.I Notes
Xbitmap with mouse button 1 will display the titles list of notes.
X.PP
XSelecting the
X.I Notes
Xbitmap with mouse button 2 will display the programs version information.
X.PP
XSelecting the
X.I Notes
Xbitmap with mouse button 3 will display a program Quit dialog.
X.PP
XSelecting the
X.I Dismiss
Xbutton of the titles list with mouse button 2 will dismiss all windows.
X.PP
XSelecting the
X.I Save
Xbutton with mouse button 2 will save the notes file and dismiss all
Xwindows.
X.PP
XSelecting a note title in the title list with mouse button 2 will cause
Xthat notes window to be dismissed if it is displayed.
X.PP
XRe-selecting a note title in the title list when the note is obscured
Xwill raise it to the top.
X.SH FILES
X~/.notes
X.PP
XWhen
X.I notes
Xfirst starts, it looks for a file called ``.notes'' in the current
Xdirectory.  If not found, it will then look in your HOME directory
Xfor this file.  This filename can be overriden in the application
Xresource file.
X.PP
XINCDIR/bitmaps/notes.xbm
X.PP
X.I notes
Xuses the bitmap file ``notes.xbm'' in its initial display.  If you
Xcan't install this file in the X11 bitmap directory, an alternate
Xlocation can be specified by editing the
X.I bitmapFilePath
Xresource in the Notes application resource file.
X.PP
XLIBDIR/app_resources/Notes
X.PP
X.I notes
Xnow has an application resource file.  Edit it at will...  See the
Xapplication resources section.
X.SH APPLICATION RESOURCES
X.I notes
Xrecognizes the following resources:
X.PP
XfascistQuit default True
X.PP
XfascistVersion default True
X.PP
XfascistClear_Note default True
X.PP
XfascistDestroy_Note default True
X.PP
XfascistChange_Title default True
X.PP
XfascistNew_Note default True
X.PP
XfascistNotes default True
X.PP
XThe above resources cause notes to place dialog boxes at positions that
Xit determines.  If set to False, the corresponding x and y values from
Xthe application resources file will be used instead.
X.PP
XfascistNewNote default False
X.PP
XThis causes newly created notes to appear at the location determined
Xby
X.I newNoteX
Xand
X.I newNoteY
X.PP
XnewNoteX default 323
X.PP
XThe default horizontal position of the top left corner of newly
Xcreated notes.
X.PP
XnewNoteY default 150
XThe default vertical position of the top left corner of newly
Xcreated notes.
X.PP
XnewNoteWidth default 500
X.PP
XThe default width of newly created notes.
X.PP
XnewNoteHeight default 300
X.PP
XThe default height of newly created notes.
X.PP
Xh_offset default 2
X.PP
Xtwm seems to do strange things to window positions -- that is windows
Xwill report their location on screen with an amount of error equal to
Xthe border width of the window.  If uncorrected, this will result in
Xwindows creeping away from their original saved location.  Granted,
Xthis solution is unelegant, but it works -- adjust this value accordingly
Xif you experience creeping windowism!  See v_offset...
X.PP
Xv_offset default 24
X.PP
XSame story as h_offset, but for the vertical direction -- the error is
Xequal to border plus title height...
X.PP
XnoteFile default .notes
X.PP
XIf you prefer a different name for your notefiles.  Do not include
Xany path information.
X.PP
XsaveOnExit default True
X.PP
XNo rocket science involved here.  Notes are automatically saved when
Xthe program terminates, either by accident or on purpose.
X.PP
XcreateBackup default True
X.PP
XGiven that saveOnExit could be a little smarter -- backup notefiles
Xcan be handy...
X.PP
X.SH BUGS
XAlthough the saveOnExit code has been abused a good bit, and there is
Xsome comfort level that it will do the right things in its own simple
Xminded way.  It still makes me nervous...
X.SH AUTHOR
XBob Smith, bob@snuffy.penfield.ny.us
SHAR_EOF
  $shar_touch -am 0722110895 'notes.man' &&
  chmod 0644 'notes.man' ||
  echo 'restore of notes.man failed'
  rm -f _sharnew.tmp
fi
# ============= notes.sh ==============
if test -f 'notes.sh' && test X"$1" != X"-c"; then
  echo 'x - skipping notes.sh (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting notes.sh (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'notes.sh' &&
X#!/bin/sh
X# this script used for local testing before installation
XXAPPLRESDIR=.
Xexport XAPPLRESDIR
X./notes
SHAR_EOF
  $shar_touch -am 0613212295 'notes.sh' &&
  chmod 0755 'notes.sh' ||
  echo 'restore of notes.sh failed'
  rm -f _sharnew.tmp
fi
# ============= notes.xbm ==============
if test -f 'notes.xbm' && test X"$1" != X"-c"; then
  echo 'x - skipping notes.xbm (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting notes.xbm (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'notes.xbm' &&
X#define notes_width 58
X#define notes_height 58
Xstatic unsigned char notes_bits[] = {
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x70, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0xe0, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x81, 0x01, 0x00,
X   0x07, 0x00, 0x00, 0x00, 0xe0, 0x81, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
X   0xe0, 0x83, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xa0, 0x87, 0xc0, 0xc3,
X   0x1f, 0x1e, 0x78, 0x00, 0x20, 0xcf, 0x30, 0x86, 0x83, 0x31, 0xe6, 0x00,
X   0x20, 0x4e, 0x38, 0x8e, 0xc3, 0x31, 0x67, 0x00, 0x30, 0x5c, 0x1c, 0x8e,
X   0xe3, 0x38, 0x0f, 0x00, 0x10, 0x7c, 0x1c, 0xce, 0xe1, 0x1c, 0x3e, 0x00,
X   0x10, 0x78, 0x1c, 0xce, 0xe1, 0x03, 0x78, 0x00, 0x18, 0x70, 0x1c, 0xc7,
X   0xe1, 0x00, 0x73, 0x00, 0x18, 0x30, 0x18, 0xc3, 0xc5, 0x98, 0x33, 0x00,
X   0x3c, 0x20, 0xf0, 0xc0, 0x83, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x07, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0xfe, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07,
X   0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x06, 0x00, 0x00,
X   0x00, 0x00, 0x7e, 0x00, 0x80, 0x06, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff,
X   0x80, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x81, 0x06, 0x00, 0x00,
X   0x00, 0x00, 0x02, 0x40, 0x82, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40,
X   0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x88, 0x06, 0x00, 0x00,
X   0x00, 0x00, 0x02, 0x40, 0x90, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc0,
X   0xbf, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x06, 0x00, 0x00,
X   0x00, 0x00, 0x02, 0x10, 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x18,
X   0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0c, 0xa0, 0x06, 0x00, 0x00,
X   0x00, 0x00, 0x02, 0x06, 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03,
X   0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x82, 0x01, 0xa0, 0x06, 0x00, 0x00,
X   0x00, 0x00, 0xc2, 0x00, 0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00,
X   0xa0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0xa0, 0x07, 0x00, 0x00,
X   0x00, 0x00, 0x1a, 0x00, 0xa0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00,
X   0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xe0, 0x01, 0x00, 0x00,
X   0x00, 0x00, 0x03, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00,
X   0x60, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00,
X   0x00, 0x80, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
SHAR_EOF
  $shar_touch -am 0613212295 'notes.xbm' &&
  chmod 0644 'notes.xbm' ||
  echo 'restore of notes.xbm failed'
  rm -f _sharnew.tmp
fi
# ============= patchlevel.h ==============
if test -f 'patchlevel.h' && test X"$1" != X"-c"; then
  echo 'x - skipping patchlevel.h (file already exists)'
  rm -f _sharnew.tmp
else
  > _sharnew.tmp
  echo 'x - extracting patchlevel.h (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'patchlevel.h' &&
X/*
X * patchlevel.h -- Mon May 30 01:23:32 EDT 1994
X *
X * Copyright (c) 1994 -- Bob Smith <bob@snuffy.penfield.ny.us>
X *
X * I hate copyright notices...  They're generally of a lot of words
X * that end up saying -- You can do whatever you want with this
X * as long as you don't rip me off!  So with that said, enjoy, and
X * have a good day!
X *
X */
X
X#define VERSION 1
X#define SUBVERSION 0
X#define PATCHLEVEL 7
X#define AUTHOR "Bob Smith <bob@snuffy.penfield.ny.us>"
SHAR_EOF
  $shar_touch -am 0722110895 'patchlevel.h' &&
  chmod 0644 'patchlevel.h' ||
  echo 'restore of patchlevel.h failed'
  rm -f _sharnew.tmp
fi
rm -f _sharseq.tmp
echo 'You have unpacked the last part'
exit 0


