aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2006-07-29 09:59:12 +0000
committerKaroly Lorentey2006-07-29 09:59:12 +0000
commit251bc578cc636223d618d06cf2a2bb7d07db9cce (patch)
tree58e1c6b0a35bb4a77e6cb77876e4bc6a9d3f2ab2
parent99715bbc447eb633e45ffa23b87284771ce3ac74 (diff)
parent0ed0527cb02180a50f6744086ce3a487740c73e4 (diff)
downloademacs-251bc578cc636223d618d06cf2a2bb7d07db9cce.tar.gz
emacs-251bc578cc636223d618d06cf2a2bb7d07db9cce.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-351 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-352 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-353 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-354 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-355 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-356 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-357 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-358 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-359 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-360 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-361 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-362 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-363 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-364 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-365 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-366 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-367 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-368 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-369 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-370 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-115 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-116 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-117 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-118 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-119 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-120 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-573
-rw-r--r--ChangeLog6
-rw-r--r--admin/ChangeLog10
-rw-r--r--admin/FOR-RELEASE33
-rwxr-xr-xconfigure4
-rw-r--r--configure.in2
-rw-r--r--etc/ChangeLog16
-rw-r--r--etc/NEWS37
-rw-r--r--etc/PROBLEMS17
-rw-r--r--etc/ru-refcard.ps6941
-rw-r--r--etc/ru-refcard.tex73
-rw-r--r--lib-src/ChangeLog11
-rw-r--r--lib-src/ebrowse.c2
-rw-r--r--lib-src/emacsclient.c2
-rw-r--r--lib-src/fakemail.c10
-rw-r--r--lisp/ChangeLog425
-rw-r--r--lisp/Makefile.in17
-rw-r--r--lisp/allout.el756
-rw-r--r--lisp/arc-mode.el12
-rw-r--r--lisp/bindings.el6
-rw-r--r--lisp/calc/calc-aent.el38
-rw-r--r--lisp/calc/calc-map.el6
-rw-r--r--lisp/calc/calc-rewr.el1
-rw-r--r--lisp/calc/calc-sel.el12
-rw-r--r--lisp/calc/calc.el1
-rw-r--r--lisp/calc/calcalg3.el6
-rw-r--r--lisp/cus-edit.el59
-rw-r--r--lisp/custom.el31
-rw-r--r--lisp/dired-aux.el29
-rw-r--r--lisp/dired.el1
-rw-r--r--lisp/dos-w32.el20
-rw-r--r--lisp/emacs-lisp/authors.el1
-rw-r--r--lisp/emacs-lisp/autoload.el5
-rw-r--r--lisp/emacs-lisp/find-func.el7
-rw-r--r--lisp/emulation/cua-base.el19
-rw-r--r--lisp/emulation/cua-rect.el1
-rw-r--r--lisp/files.el70
-rw-r--r--lisp/find-file.el52
-rw-r--r--lisp/frame.el4
-rw-r--r--lisp/gnus/ChangeLog89
-rw-r--r--lisp/gnus/gnus-srvr.el20
-rw-r--r--lisp/gnus/gnus-sum.el2
-rw-r--r--lisp/gnus/mm-url.el8
-rw-r--r--lisp/gnus/mm-util.el14
-rw-r--r--lisp/gnus/nnmail.el4
-rw-r--r--lisp/gnus/nnweb.el10
-rw-r--r--lisp/help-mode.el15
-rw-r--r--lisp/ibuffer.el2
-rw-r--r--lisp/image-mode.el3
-rw-r--r--lisp/international/mule-cmds.el52
-rw-r--r--lisp/mouse.el6
-rw-r--r--lisp/pgg-def.el2
-rw-r--r--lisp/progmodes/ada-mode.el82
-rw-r--r--lisp/progmodes/cc-langs.el71
-rw-r--r--lisp/progmodes/cc-mode.el9
-rw-r--r--lisp/progmodes/compile.el76
-rw-r--r--lisp/progmodes/delphi.el3
-rw-r--r--lisp/progmodes/gdb-ui.el24
-rw-r--r--lisp/progmodes/grep.el2
-rw-r--r--lisp/progmodes/idlw-shell.el2
-rw-r--r--lisp/progmodes/ld-script.el55
-rw-r--r--lisp/progmodes/sh-script.el90
-rw-r--r--lisp/progmodes/which-func.el4
-rw-r--r--lisp/replace.el4
-rw-r--r--lisp/startup.el19
-rw-r--r--lisp/subr.el48
-rw-r--r--lisp/tabify.el29
-rw-r--r--lisp/term/xterm.el20
-rw-r--r--lisp/textmodes/ispell.el10
-rw-r--r--lisp/textmodes/po.el2
-rw-r--r--lisp/textmodes/table.el6
-rw-r--r--lisp/tumme.el364
-rw-r--r--lisp/xml.el29
-rw-r--r--lispref/ChangeLog127
-rw-r--r--lispref/anti.texi27
-rw-r--r--lispref/buffers.texi2
-rw-r--r--lispref/commands.texi33
-rw-r--r--lispref/control.texi28
-rw-r--r--lispref/customize.texi4
-rw-r--r--lispref/display.texi16
-rw-r--r--lispref/doclicense.texi24
-rw-r--r--lispref/edebug.texi4
-rw-r--r--lispref/elisp.texi20
-rw-r--r--lispref/eval.texi4
-rw-r--r--lispref/files.texi6
-rw-r--r--lispref/frames.texi18
-rw-r--r--lispref/functions.texi8
-rw-r--r--lispref/gpl.texi6
-rw-r--r--lispref/hash.texi5
-rw-r--r--lispref/internals.texi2
-rw-r--r--lispref/intro.texi4
-rw-r--r--lispref/keymaps.texi2
-rw-r--r--lispref/lists.texi145
-rw-r--r--lispref/loading.texi6
-rw-r--r--lispref/maps.texi36
-rw-r--r--lispref/markers.texi4
-rw-r--r--lispref/minibuf.texi8
-rw-r--r--lispref/modes.texi17
-rw-r--r--lispref/numbers.texi9
-rw-r--r--lispref/objects.texi25
-rw-r--r--lispref/os.texi9
-rw-r--r--lispref/processes.texi13
-rw-r--r--lispref/sequences.texi4
-rw-r--r--lispref/streams.texi4
-rw-r--r--lispref/strings.texi17
-rw-r--r--lispref/symbols.texi2
-rw-r--r--lispref/syntax.texi6
-rw-r--r--lispref/text.texi55
-rw-r--r--lispref/tips.texi10
-rw-r--r--lispref/variables.texi115
-rw-r--r--lispref/vol1.texi8
-rw-r--r--lispref/vol2.texi8
-rw-r--r--lispref/windows.texi6
-rw-r--r--mac/ChangeLog5
-rw-r--r--mac/makefile.MPW9
-rw-r--r--man/ChangeLog42
-rw-r--r--man/ack.texi2
-rw-r--r--man/anti.texi2
-rw-r--r--man/basic.texi2
-rw-r--r--man/building.texi14
-rw-r--r--man/calc.texi2
-rw-r--r--man/cmdargs.texi5
-rw-r--r--man/commands.texi15
-rw-r--r--man/dired.texi6
-rw-r--r--man/display.texi4
-rw-r--r--man/doclicense.texi24
-rw-r--r--man/emacs-xtra.texi2
-rw-r--r--man/emacs.texi4
-rw-r--r--man/faq.texi18
-rw-r--r--man/files.texi2
-rw-r--r--man/flymake.texi2
-rw-r--r--man/forms.texi2
-rw-r--r--man/fortran-xtra.texi2
-rw-r--r--man/frames.texi18
-rw-r--r--man/glossary.texi2
-rw-r--r--man/info.texi14
-rw-r--r--man/killing.texi2
-rw-r--r--man/kmacro.texi2
-rw-r--r--man/misc.texi2
-rw-r--r--man/org.texi2
-rw-r--r--man/pgg.texi2
-rw-r--r--man/programs.texi2
-rw-r--r--man/search.texi21
-rw-r--r--man/xresmini.texi4
-rw-r--r--man/xresources.texi4
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/INSTALL7
-rw-r--r--src/ChangeLog224
-rw-r--r--src/alloc.c126
-rw-r--r--src/buffer.c8
-rw-r--r--src/buffer.h2
-rw-r--r--src/callint.c8
-rw-r--r--src/casefiddle.c2
-rw-r--r--src/cmds.c8
-rw-r--r--src/coding.c9
-rw-r--r--src/data.c64
-rw-r--r--src/dispnew.c12
-rw-r--r--src/doc.c4
-rw-r--r--src/editfns.c4
-rw-r--r--src/eval.c126
-rw-r--r--src/fileio.c48
-rw-r--r--src/floatfns.c30
-rw-r--r--src/fns.c37
-rw-r--r--src/frame.c6
-rw-r--r--src/keyboard.c128
-rw-r--r--src/keyboard.h5
-rw-r--r--src/keymap.c16
-rw-r--r--src/lisp.h19
-rw-r--r--src/lread.c151
-rw-r--r--src/macselect.c8
-rw-r--r--src/macterm.c218
-rw-r--r--src/msdos.c6
-rw-r--r--src/print.c4
-rw-r--r--src/puresize.h2
-rw-r--r--src/search.c18
-rw-r--r--src/sound.c10
-rw-r--r--src/syntax.c23
-rw-r--r--src/textprop.c7
-rw-r--r--src/unexsol.c2
-rw-r--r--src/w32.c61
-rw-r--r--src/w32.h4
-rw-r--r--src/w32fns.c10
-rw-r--r--src/w32proc.c7
-rw-r--r--src/w32term.c44
-rw-r--r--src/window.c10
-rw-r--r--src/xdisp.c27
-rw-r--r--src/xfaces.c14
-rw-r--r--src/xfns.c4
-rw-r--r--src/xselect.c82
-rw-r--r--src/xterm.c4
189 files changed, 9118 insertions, 3500 deletions
diff --git a/ChangeLog b/ChangeLog
index 5c80bf1e874..b34b4d6d09c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
12006-07-14 Eli Zaretskii <eliz@gnu.org>
2
3 * configure.in (PKG_CHECK_MODULES): Redirect the output of
4 $PKG_CONFIG --exists "$2" to config.log.
5 * configure: Regenerated.
6
12006-07-14 Kim F. Storm <storm@cua.dk> 72006-07-14 Kim F. Storm <storm@cua.dk>
2 8
3 * AUTHORS: Regenerate. 9 * AUTHORS: Regenerate.
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 7519bfcee90..51c8fa9100b 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,11 @@
12006-07-17 Reiner Steib <Reiner.Steib@gmx.de>
2
3 * FOR-RELEASE: Update refcard section.
4
52006-07-14 Kim F. Storm <storm@cua.dk>
6
7 * FOR-RELEASE (BUGS): High cpu load on windows server sockets fixed.
8
12006-07-09 Kim F. Storm <storm@cua.dk> 92006-07-09 Kim F. Storm <storm@cua.dk>
2 10
3 * README: Use outline format. Add FOR-RELEASE. 11 * README: Use outline format. Add FOR-RELEASE.
@@ -56,7 +64,7 @@
56 64
572006-01-27 Chong Yidong <cyd@stupidchicken.com> 652006-01-27 Chong Yidong <cyd@stupidchicken.com>
58 66
59 * FOR-RELEASE: string allocation bugs fixed. 67 * FOR-RELEASE: String allocation bugs fixed.
60 68
612005-12-13 Bill Wohler <wohler@newt.com> 692005-12-13 Bill Wohler <wohler@newt.com>
62 70
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 853fdc9d3bf..13469376c9b 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -4,8 +4,6 @@ Tasks needed before the next release.
4 4
5** Update release dates of manuals. 5** Update release dates of manuals.
6 6
7** Get rid of overfull and underfull boxes in manuals.
8
9** Check for widow and orphan lines in manuals; 7** Check for widow and orphan lines in manuals;
10make sure all the pages really look ok in the manual as formatted. 8make sure all the pages really look ok in the manual as formatted.
11 9
@@ -18,12 +16,12 @@ make sure all the pages really look ok in the manual as formatted.
18Requests to have been sent out on 2006-05-23 (Reiner Steib). 16Requests to have been sent out on 2006-05-23 (Reiner Steib).
19 17
20LANG Translator Status 18LANG Translator Status
21cs Pavel Janík No response 19cs Pavel Janík Can't work on it now.
22de Sven Joachim Done 20de Sven Joachim Done
23fr Eric Jacoboni Done (layout might be improved) 21fr Eric Jacoboni Done (layout might be improved)
24pl Włodek Bzyl Done 22pl Włodek Bzyl Done
25pt-br Rodrigo Real Done 23pt-br Rodrigo Real Done
26ru Alex Ott Working 24ru Alex Ott Done
27sk Miroslav Vaško No response 25sk Miroslav Vaško No response
28 26
29Reminders sent out on 2006-06-08. 27Reminders sent out on 2006-06-08.
@@ -41,21 +39,12 @@ and KDE projects, to use the new Emacs icons in etc/images/icons.
41 '(hscroll-step 1) 39 '(hscroll-step 1)
42 ) 40 )
43 41
44** TCP server processes do not work on Windows. 42** David Kastrup's report on strange scrolling of large images.
45
46TCP/IP server processes created with `make-network-process' consume
47excesive CPU on some Windows environments. Usages of 50% and 100%
48CPU time have been observed on different Window XP configurations.
49Seems to be a problem in sys_select in w32proc.c.
50
51In its current form, it sys_select says the socket is ready, so we
52call server_accept_connection which again calls accept() which returns
53-1 with errno == WSAEWOULDBLOCK (10035) indicating that there is no
54pending connection to accept.
55 43
56It seems that to fix this, w32 server sockets must use WSAAsyncSelect 44** Jorgen Schaefer <forcer@forcix.cx>'s June 18 bug report about
57+ FD_ACCEPT to request notifications of incoming connections... 45 fields and invisible overlays needs attention from a field expert.
58 46
47** Implement buffer-chars-modified-tick.
59 48
60* DOCUMENTATION 49* DOCUMENTATION
61 50
@@ -69,16 +58,16 @@ people who have checked it.
69SECTION READERS 58SECTION READERS
70---------------------------------- 59----------------------------------
71lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong 60lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong
72lispref/advice.texi joakim@verona.se Chong Yidong 61lispref/advice.texi Joakim Verona Chong Yidong
73lispref/anti.texi Chong Yidong 62lispref/anti.texi Chong Yidong Kim F. Storm
74lispref/backups.texi "Luc Teirlinck" Chong Yidong 63lispref/backups.texi "Luc Teirlinck" Chong Yidong
75lispref/buffers.texi "Luc Teirlinck" Chong Yidong 64lispref/buffers.texi "Luc Teirlinck" Chong Yidong
76lispref/calendar.texi Joakim Verona <joakim@verona.se> Chong Yidong 65lispref/calendar.texi Joakim Verona Chong Yidong
77lispref/commands.texi "Luc Teirlinck" Chong Yidong 66lispref/commands.texi "Luc Teirlinck" Chong Yidong
78lispref/compile.texi "Luc Teirlinck" Chong Yidong 67lispref/compile.texi "Luc Teirlinck" Chong Yidong
79lispref/control.texi "Luc Teirlinck" Chong Yidong 68lispref/control.texi "Luc Teirlinck" Chong Yidong
80lispref/customize.texi Chong Yidong "Luc Teirlinck" 69lispref/customize.texi Chong Yidong "Luc Teirlinck"
81lispref/debugging.texi Joakim Verona <joakim@verona.se> Lute Kamstra 70lispref/debugging.texi Joakim Verona Lute Kamstra
82lispref/display.texi Chong Yidong Jason Rumney 71lispref/display.texi Chong Yidong Jason Rumney
83lispref/edebug.texi Chong Yidong "Luc Teirlinck" 72lispref/edebug.texi Chong Yidong "Luc Teirlinck"
84lispref/elisp.texi "Luc Teirlinck" Lute Kamstra 73lispref/elisp.texi "Luc Teirlinck" Lute Kamstra
@@ -97,7 +86,7 @@ lispref/lists.texi "Luc Teirlinck" Chong Yidong
97lispref/loading.texi "Luc Teirlinck" Chong Yidong 86lispref/loading.texi "Luc Teirlinck" Chong Yidong
98lispref/locals.texi Chong Yidong Nick Roberts 87lispref/locals.texi Chong Yidong Nick Roberts
99lispref/macros.texi "Luc Teirlinck" Chong Yidong 88lispref/macros.texi "Luc Teirlinck" Chong Yidong
100lispref/maps.texi Chong Yidong 89lispref/maps.texi Chong Yidong Kim F. Storm
101lispref/markers.texi "Luc Teirlinck" Chong Yidong 90lispref/markers.texi "Luc Teirlinck" Chong Yidong
102lispref/minibuf.texi "Luc Teirlinck" Chong Yidong 91lispref/minibuf.texi "Luc Teirlinck" Chong Yidong
103lispref/modes.texi Chong Yidong 92lispref/modes.texi Chong Yidong
diff --git a/configure b/configure
index 32fba29df0c..aeb29bea60c 100755
--- a/configure
+++ b/configure
@@ -5675,7 +5675,7 @@ fi
5675 echo "$as_me:$LINENO: checking for $ALSA_MODULES" >&5 5675 echo "$as_me:$LINENO: checking for $ALSA_MODULES" >&5
5676echo $ECHO_N "checking for $ALSA_MODULES... $ECHO_C" >&6 5676echo $ECHO_N "checking for $ALSA_MODULES... $ECHO_C" >&6
5677 5677
5678 if $PKG_CONFIG --exists "$ALSA_MODULES" 2> /dev/null; then 5678 if $PKG_CONFIG --exists "$ALSA_MODULES" 2>&5; then
5679 echo "$as_me:$LINENO: result: yes" >&5 5679 echo "$as_me:$LINENO: result: yes" >&5
5680echo "${ECHO_T}yes" >&6 5680echo "${ECHO_T}yes" >&6
5681 succeeded=yes 5681 succeeded=yes
@@ -10319,7 +10319,7 @@ echo "$as_me: error:
10319 echo "$as_me:$LINENO: checking for $GTK_MODULES" >&5 10319 echo "$as_me:$LINENO: checking for $GTK_MODULES" >&5
10320echo $ECHO_N "checking for $GTK_MODULES... $ECHO_C" >&6 10320echo $ECHO_N "checking for $GTK_MODULES... $ECHO_C" >&6
10321 10321
10322 if $PKG_CONFIG --exists "$GTK_MODULES" 2> /dev/null; then 10322 if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5; then
10323 echo "$as_me:$LINENO: result: yes" >&5 10323 echo "$as_me:$LINENO: result: yes" >&5
10324echo "${ECHO_T}yes" >&6 10324echo "${ECHO_T}yes" >&6
10325 succeeded=yes 10325 succeeded=yes
diff --git a/configure.in b/configure.in
index 5805c53bf71..1dd45cc6676 100644
--- a/configure.in
+++ b/configure.in
@@ -1500,7 +1500,7 @@ AC_DEFUN([PKG_CHECK_MODULES], [
1500 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then 1500 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
1501 AC_MSG_CHECKING(for $2) 1501 AC_MSG_CHECKING(for $2)
1502 1502
1503 if $PKG_CONFIG --exists "$2" 2> /dev/null; then 1503 if $PKG_CONFIG --exists "$2" 2>&5; then
1504 AC_MSG_RESULT(yes) 1504 AC_MSG_RESULT(yes)
1505 succeeded=yes 1505 succeeded=yes
1506 1506
diff --git a/etc/ChangeLog b/etc/ChangeLog
index f2924f7640d..627d536ee69 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,19 @@
12006-07-17 Reiner Steib <Reiner.Steib@gmx.de>
2
3 * ru-refcard.ps: Regenerate.
4
52006-07-17 Alex Ott <alexott@gmail.com>
6
7 * ru-refcard.tex: Update for Emacs 22.
8
92006-07-14 Kim F. Storm <storm@cua.dk>
10
11 * PROBLEMS: Emacs now requires ws2_32.dll on Windows.
12
132006-07-14 K,Aa(Broly L,Bu(Brentey <lorentey@elte.hu>
14
15 * HELLO: Update Hungarian sample.
16
12006-07-12 Michael Olson <mwolson@gnu.org> 172006-07-12 Michael Olson <mwolson@gnu.org>
2 18
3 * ERC-NEWS: Update for ERC 5.1.3. 19 * ERC-NEWS: Update for ERC 5.1.3.
diff --git a/etc/NEWS b/etc/NEWS
index 4ee8f74fa4a..c00d13937eb 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -238,6 +238,11 @@ automatically at startup, if it exists. When Emacs offers to save
238modified buffers, it saves the abbrevs too if they have changed. It 238modified buffers, it saves the abbrevs too if they have changed. It
239can do this either silently or asking for confirmation first, 239can do this either silently or asking for confirmation first,
240according to the value of `save-abbrevs'. 240according to the value of `save-abbrevs'.
241
242+++
243** If the environment variable EMAIL is defined, Emacs now uses its value
244to compute the default value of `use-mail-address', in preference to
245concatenation of `user-login-name' with the name of your host machine.
241 246
242* Incompatible Editing Changes in Emacs 22.1 247* Incompatible Editing Changes in Emacs 22.1
243 248
@@ -2011,10 +2016,22 @@ discretionary handling of edits of concealed text, undo concerns, etc.
2011 - repaired retention of topic body hanging indent upon topic depth shifts 2016 - repaired retention of topic body hanging indent upon topic depth shifts
2012 - refuse to create "containment discontinuities", where a 2017 - refuse to create "containment discontinuities", where a
2013 topic is shifted deeper than the offspring-depth of its' container 2018 topic is shifted deeper than the offspring-depth of its' container
2019 - auto-fill-mode is now left inactive when allout-mode starts, if it
2020 already was inactive. also, `allout-inhibit-auto-fill' custom
2021 configuration variable makes it easy to disable auto fill in allout
2022 outlines in general or on a per-buffer basis.
2023 - new hook `allout-mode-deactivate-hook', for coordinating with
2024 deactivation of allout-mode.
2014 - bulleting variation is simpler and more accommodating, both in the 2025 - bulleting variation is simpler and more accommodating, both in the
2015 default behavior and in ability to vary when creating new topics 2026 default behavior and in ability to vary when creating new topics
2016 - many internal fixes and refinements 2027 - mode deactivation now does cleans up effectively, more properly
2017 - many module and function docstring clarifications 2028 restoring affected variables and hooks to former state, removing
2029 overlays, etc.
2030 - included a few unit-tests for interior functionality. developers can
2031 have them automatically run at the end of module load by customizing
2032 the option `allout-run-unit-tests-on-load'.
2033 - many, many minor tweaks and fixes. many internal fixes and
2034 refinements of docstrings.
2018 - version number incremented to 2.2 2035 - version number incremented to 2.2
2019 2036
2020** The variable `woman-topic-at-point' was renamed 2037** The variable `woman-topic-at-point' was renamed
@@ -3828,6 +3845,12 @@ If it is non-nil, the function lists only faces matching this regexp.
3828`string-or-null-p' returns non-nil iff OBJECT is a string or nil. 3845`string-or-null-p' returns non-nil iff OBJECT is a string or nil.
3829`booleanp' returns non-nil iff OBJECT is a t or nil. 3846`booleanp' returns non-nil iff OBJECT is a t or nil.
3830 3847
3848+++
3849*** New hook `command-error-function'.
3850
3851By setting this variable to a function, you can control
3852how the editor command loop shows the user an error message.
3853
3831** Lisp code indentation features: 3854** Lisp code indentation features:
3832 3855
3833+++ 3856+++
@@ -4386,6 +4409,12 @@ name handlers. This will be exploited for remote files mainly.
4386** Input changes: 4409** Input changes:
4387 4410
4388+++ 4411+++
4412*** The functions `read-event', `read-char', and `read-char-exclusive'
4413have a new optional argument SECONDS. If non-nil, this specifies a
4414maximum time to wait for input, in seconds. If no input arrives after
4415this time elapses, the functions stop waiting and return nil.
4416
4417+++
4389*** An interactive specification can now use the code letter 'U' to get 4418*** An interactive specification can now use the code letter 'U' to get
4390the up-event that was discarded in case the last key sequence read for a 4419the up-event that was discarded in case the last key sequence read for a
4391previous `k' or `K' argument was a down-event; otherwise nil is used. 4420previous `k' or `K' argument was a down-event; otherwise nil is used.
@@ -4506,6 +4535,8 @@ example,
4506 4535
4507(kbd "C-x C-f") => "\^x\^f" 4536(kbd "C-x C-f") => "\^x\^f"
4508 4537
4538Actually, this format has existed since Emacs 20.1.
4539
4509*** Interactive commands can be remapped through keymaps. 4540*** Interactive commands can be remapped through keymaps.
4510 4541
4511This is an alternative to using `defadvice' or `substitute-key-definition' 4542This is an alternative to using `defadvice' or `substitute-key-definition'
@@ -4592,6 +4623,8 @@ Lisp packages using many minor mode keymaps can now maintain their own
4592keymap alist separate from `minor-mode-map-alist' by adding their 4623keymap alist separate from `minor-mode-map-alist' by adding their
4593keymap alist to this list. 4624keymap alist to this list.
4594 4625
4626*** The definition of a key-binding passed to define-key can use XEmacs-style
4627key-sequences, such as [(control a)].
4595** Abbrev changes: 4628** Abbrev changes:
4596 4629
4597+++ 4630+++
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 9f7d7eb313f..3962459e61a 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -929,12 +929,12 @@ make it compiled by the latest Emacs.
929+ ;; The only way the function is used in this package is included 929+ ;; The only way the function is used in this package is included
930+ ;; in `mucs-package-definition-end-hook' value, where it must 930+ ;; in `mucs-package-definition-end-hook' value, where it must
931+ ;; return (possibly empty) *list* of forms. Do this. Do not rely 931+ ;; return (possibly empty) *list* of forms. Do this. Do not rely
932+ ;; on byte compiler to remove extra `progn's in `(progn ...)' 932+ ;; on byte compiler to remove extra `progn's in `(progn ...)'
933+ ;; form. 933+ ;; form.
934+ `((setq mucs-ccl-facility-alist 934+ `((setq mucs-ccl-facility-alist
935+ (quote ,mucs-ccl-facility-alist)) 935+ (quote ,mucs-ccl-facility-alist))
936+ ,@result))) 936+ ,@result)))
937 937
938 ;;; Add hook for embedding translation informations to a package. 938 ;;; Add hook for embedding translation informations to a package.
939 (add-hook 'mucs-package-definition-end-hook 939 (add-hook 'mucs-package-definition-end-hook
940 940
@@ -2023,6 +2023,15 @@ to allocate ptys reliably.
2023 2023
2024* Runtime problems specific to MS-Windows 2024* Runtime problems specific to MS-Windows
2025 2025
2026** Windows 95 and networking.
2027
2028To support server sockets, Emacs 22.1 loads ws2_32.dll. If this file
2029is missing, all Emacs networking features are disabled.
2030
2031Old versions of Windows 95 may not have the required DLL. To use
2032Emacs' networking features on Windows 95, you must install the
2033"Windows Socket 2" update available from MicroSoft's support Web.
2034
2026** Emacs exits with "X protocol error" when run with an X server for MS-Windows. 2035** Emacs exits with "X protocol error" when run with an X server for MS-Windows.
2027 2036
2028A certain X server for Windows had a bug which caused this. 2037A certain X server for Windows had a bug which caused this.
@@ -2463,7 +2472,7 @@ command when running temacs like this:
2463 2472
2464 setarch i386 ./temacs --batch --load loadup [dump|bootstrap] 2473 setarch i386 ./temacs --batch --load loadup [dump|bootstrap]
2465 2474
2466 2475
2467*** Fedora Core 4 GNU/Linux: Segfault during dumping. 2476*** Fedora Core 4 GNU/Linux: Segfault during dumping.
2468 2477
2469In addition to exec-shield explained above "Linux: Segfault during 2478In addition to exec-shield explained above "Linux: Segfault during
@@ -2477,7 +2486,7 @@ command:
2477 2486
2478or 2487or
2479 2488
2480 setarch i386 -R make bootstrap 2489 setarch i386 -R make bootstrap
2481 2490
2482*** Fatal signal in the command temacs -l loadup inc dump. 2491*** Fatal signal in the command temacs -l loadup inc dump.
2483 2492
diff --git a/etc/ru-refcard.ps b/etc/ru-refcard.ps
index 201708fda8a..8a847504d9a 100644
--- a/etc/ru-refcard.ps
+++ b/etc/ru-refcard.ps
@@ -1,16 +1,18 @@
1%!PS-Adobe-2.0 1%!PS-Adobe-2.0
2%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software 2%%Creator: dvips(k) 5.95b Copyright 2005 Radical Eye Software
3%%Title: ru-refcard.dvi 3%%Title: ru-refcard.dvi
4%%Pages: 6 4%%Pages: 6
5%%PageOrder: Ascend 5%%PageOrder: Ascend
6%%BoundingBox: 0 0 596 842 6%%BoundingBox: 0 0 595 842
7%%DocumentFonts: CMSY10 CMMI10 CMSY8 7%%DocumentFonts: SFRM1000 SFBX1440 SFTT1000 SFBX1000 SFTI1000 CMSY10
8%%+ CMMI10 SFRM0800 CMSY8
9%%DocumentPaperSizes: a4
8%%EndComments 10%%EndComments
9%DVIPSWebPage: (www.radicaleye.com) 11%DVIPSWebPage: (www.radicaleye.com)
10%DVIPSCommandLine: dvips ru-refcard.dvi 12%DVIPSCommandLine: dvips ru-refcard.dvi
11%DVIPSParameters: dpi=600, compressed 13%DVIPSParameters: dpi=600
12%DVIPSSource: TeX output 2004.05.16:0847 14%DVIPSSource: TeX output 2006.07.17:1737
13%%BeginProcSet: texc.pro 15%%BeginProcSet: tex.pro 0 0
14%! 16%!
15/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S 17/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
16N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 18N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
@@ -29,22 +31,10 @@ df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
29definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get 31definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
30}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} 32}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
31B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 33B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
321 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 341 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
331 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 35/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
340 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx 36setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
35sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ 37restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
36rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
37gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
38/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
39/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
40A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
41get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
42ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
43fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
44{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
45chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
461 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
47forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
48/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put 38/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
49}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ 39}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
50bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A 40bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
@@ -68,91 +58,300 @@ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
68rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end 58rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
69 59
70%%EndProcSet 60%%EndProcSet
71%%BeginProcSet: bbad153f.enc 61%%BeginProcSet: cm-super-t2a.enc 0 0
72% Thomas Esser, Dec 2002. public domain 62% This file is generated from `T2Auni.map' and `glyphlist.txt', `gl-other.txt'
73% 63%
74% Encoding for: 64% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
75% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 65% LIGKERN quoteleft quoteleft =: quotedblleft ;
66% LIGKERN quoteright quoteright =: quotedblright ;
67% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
68% LIGKERN greater greater =: guillemotright ;
69% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
76% 70%
77/TeXbbad153fEncoding [ 71% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
78/minus /periodcentered /multiply /asteriskmath /divide /diamondmath 72% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
79/plusminus /minusplus /circleplus /circleminus /circlemultiply 73% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
80/circledivide /circledot /circlecopyrt /openbullet /bullet 74% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
81/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal 75% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
82/greaterequal /precedesequal /followsequal /similar /approxequal 76% LIGKERN nine {} * ; * {} nine ;
83/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
84/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
85/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
86/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
87/prime /infinity /element /owner /triangle /triangleinv /negationslash
88/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
89/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
90/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
91/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
92/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
93/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
94/backslash /wreathproduct /radical /coproduct /nabla /integral
95/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
96/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
97/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
98/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
99/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
100/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
101/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
102/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
103/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
104/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
105/lessequal /greaterequal /precedesequal /followsequal /similar
106/approxequal /propersubset /propersuperset /lessmuch /greatermuch
107/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
108/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
109/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
110/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
111/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
112/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
113/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
114/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
115] def
116
117%%EndProcSet
118%%BeginProcSet: aae443f0.enc
119% Thomas Esser, Dec 2002. public domain
120%
121% Encoding for:
122% cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
123% 77%
124/TeXaae443f0Encoding [ 78/T2AEncoding [
125/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega 79% 0x00
126/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa 80/grave
127/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi 81/acute
128/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf 82/circumflex
129/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft 83/tilde
130/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle 84/dieresis
131/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle 85/hungarumlaut
132/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash 86/ring
133/greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N 87/caron
134/O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow 88/breve
135/slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p 89/macron
136/q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector 90/dotaccent
137/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 91/cedilla
138/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 92/ogonek
139/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 93/uni04C0
140/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 94/angleleft
141/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi 95/angleright
142/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta 96% 0x10
143/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon 97/quotedblleft
144/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 98/quotedblright
145/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 99/cyrflex
146/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 100/dblgrave
147/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 101/cyrbreve
148/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 102/endash
149/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 103/emdash.cyr % CYRILLIC EM DASH
150/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 104/afii61664
151/.notdef /.notdef /.notdef /.notdef /.notdef 105/perthousandzero % PERTHOUSAND ZERO
106/dotlessi
107/dotlessj
108/ff
109/fi
110/fl
111/ffi
112/ffl
113% 0x20
114/uni2423
115/exclam
116/quotedbl
117/numbersign
118/dollar
119/percent
120/ampersand
121/quoteright
122/parenleft
123/parenright
124/asterisk
125/plus
126/comma
127/hyphen
128/period
129/slash
130% 0x30
131/zero
132/one
133/two
134/three
135/four
136/five
137/six
138/seven
139/eight
140/nine
141/colon
142/semicolon
143/less
144/equal
145/greater
146/question
147% 0x40
148/at
149/A
150/B
151/C
152/D
153/E
154/F
155/G
156/H
157/I
158/J
159/K
160/L
161/M
162/N
163/O
164% 0x50
165/P
166/Q
167/R
168/S
169/T
170/U
171/V
172/W
173/X
174/Y
175/Z
176/bracketleft
177/backslash
178/bracketright
179/asciicircum
180/underscore
181% 0x60
182/quoteleft
183/a
184/b
185/c
186/d
187/e
188/f
189/g
190/h
191/i
192/j
193/k
194/l
195/m
196/n
197/o
198% 0x70
199/p
200/q
201/r
202/s
203/t
204/u
205/v
206/w
207/x
208/y
209/z
210/braceleft
211/bar
212/braceright
213/asciitilde
214/hyphen.alt % HANGING HYPHEN
215% 0x80
216/afii10050
217/uni0492
218/afii10051
219/afii10060
220/uni04BA
221/uni0496
222/uni0498
223/afii10058
224/afii10056
225/uni049A
226/uni04A0
227/uni049C
228/uni04D4
229/uni04A2
230/uni04A4
231/afii10054
232% 0x90
233/uni04E8
234/uni04AA
235/afii10062
236/uni04AE
237/uni04B0
238/uni04B2
239/afii10145
240/uni04B8
241/uni04B6
242/afii10053
243/uni04D8
244/afii10059
245/afii10023
246/afii61352
247/currency
248/section
249% 0xA0
250/afii10098
251/uni0493
252/afii10099
253/afii10108
254/uni04BB
255/uni0497
256/uni0499
257/afii10106
258/afii10104
259/uni049B
260/uni04A1
261/uni049D
262/uni04D5
263/uni04A3
264/uni04A5
265/afii10102
266% 0xB0
267/uni04E9
268/uni04AB
269/afii10110
270/uni04AF
271/uni04B1
272/uni04B3
273/afii10193
274/uni04B9
275/uni04B7
276/afii10101
277/afii10846
278/afii10107
279/afii10071
280/quotedblbase
281/guillemotleft.cyr
282/guillemotright.cyr
283% 0xC0
284/afii10017
285/afii10018
286/afii10019
287/afii10020
288/afii10021
289/afii10022
290/afii10024
291/afii10025
292/afii10026
293/afii10027
294/afii10028
295/afii10029
296/afii10030
297/afii10031
298/afii10032
299/afii10033
300% 0xD0
301/afii10034
302/afii10035
303/afii10036
304/afii10037
305/afii10038
306/afii10039
307/afii10040
308/afii10041
309/afii10042
310/afii10043
311/afii10044
312/afii10045
313/afii10046
314/afii10047
315/afii10048
316/afii10049
317% 0xE0
318/afii10065
319/afii10066
320/afii10067
321/afii10068
322/afii10069
323/afii10070
324/afii10072
325/afii10073
326/afii10074
327/afii10075
328/afii10076
329/afii10077
330/afii10078
331/afii10079
332/afii10080
333/afii10081
334% 0xF0
335/afii10082
336/afii10083
337/afii10084
338/afii10085
339/afii10086
340/afii10087
341/afii10088
342/afii10089
343/afii10090
344/afii10091
345/afii10092
346/afii10093
347/afii10094
348/afii10095
349/afii10096
350/afii10097
152] def 351] def
153 352
154%%EndProcSet 353%%EndProcSet
155%%BeginProcSet: texps.pro 354%%BeginProcSet: texps.pro 0 0
156%! 355%!
157TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 356TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
158index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll 357index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
@@ -189,10 +388,9 @@ end readonly def
189/FontMatrix [0.001 0 0 0.001 0 0] readonly def 388/FontMatrix [0.001 0 0 0.001 0 0] readonly def
190/Encoding 256 array 389/Encoding 256 array
1910 1 255 {1 index exch /.notdef put} for 3900 1 255 {1 index exch /.notdef put} for
192dup 0 /.notdef put 391dup 13 /circlecopyrt put
193readonly def 392readonly def
194/FontBBox{-30 -955 1185 779}readonly def 393/FontBBox{-30 -955 1185 779}readonly def
195/UniqueID 5000818 def
196currentdict end 394currentdict end
197currentfile eexec 395currentfile eexec
198D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 396D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -226,6 +424,1058 @@ BA9D46A1C3CBD3FEC92F0C2D2207B273DC24E300E83AB9EED3EBBA394BE52DBA
2260000000000000000000000000000000000000000000000000000000000000000 4240000000000000000000000000000000000000000000000000000000000000000
227cleartomark 425cleartomark
228%%EndFont 426%%EndFont
427%%BeginFont: SFRM0800
428%!FontType1-1.0: SFRM0800 0.3
429%%CreationDate: Wed Sep 12 2001
430% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
431% See the file COPYING (GNU General Public License) for license conditions.
432% Converted from METAFONT EC/TC and LH fonts:
433% ecrm0800, tcrm0800, larm0800, lbrm0800, lcrm0800, rxrm0800.
43411 dict begin
435/FontInfo 6 dict dup begin
436/version (0.3) def
437/FullName (Computer Modern Roman) def
438/FamilyName (Computer Modern) def
439/ItalicAngle 0 def
440/isFixedPitch false def
441/Weight (Medium) def
442end readonly def
443/FontName /SFRM0800 def
444/Encoding StandardEncoding def
445/PaintType 0 def
446/FontType 1 def
447/FontMatrix [0.001 0 0 0.001 0 0] def
448/FontBBox{-203 -320 1554 938}readonly def
449currentdict end
450currentfile eexec
451D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
452016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747
45357609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9
4543894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4
45541C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E
456ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F
457BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0
458C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508
4592666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C
4609A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215
461EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1CE1787EC5930A
462CB162F5B9EAA313D307A0E184C13434C1BD022B99B5412C3C2CCB7E80D459D72
4636BD901DE4D3AB277B44856DA45D8E2155D76F424646B1BA2A4DD97877892544E
464FDC803CBA09D705D43E883FDF9F79A6F8A3CEE49E2407F694112A0C8454F9289
465C328AFDD8890E2BB9C6AB0315D44440AA4F02E7DE2860008607D0237138D37F5
466E0A3F297B18B477AE21A280BFD3EB80E6AC595A0FFC1521A9A4A11FC2937DD74
467E0E81FFCF3EBC70EC3906FB4170A07926FECDEBC9BBCA5C4CA3CCFDDB392437E
468B397A1B6F635A11085E9257B704C2493DCBB627AEB9DD147C72542E1B69F31E2
469A63866E965A1199F5BAD6C11DF3C2415B138E97EAE546C5FBD2819EF84822E71
47004E346196E4B796D7EBE41F2D952A20F347736433B140818D6124A14A8255758
471FF27AE2CE7928A38DCDA7488F5EFF44820F7BAFF46F01FB08E3BBFB5AC0E62AE
472591050BF6E2E03F44DEDA8ADEBDE4C9DD2720E8BB2E7C89F80871A39CD4E9727
473784A87B911491BA13540746426543291BE73DA5FA01E47A5033DF15B5CFAEA9A
4742FB4F86960E14829DCED39A2CDA20655EAE3D9A9FA3B75D97F81EBEBEC283DC8
475EFC417FDB1158C194B8C21EE962CAF2F3CEE9D5D3B7E0E068D8FB28434D54A22
476570A504018E35E5A5D1C6A8229A99A44D0C2556460DDC78775F03A6093BBFB42
477BCAA36262CCA0420EA3B963A5FD3753587DB2DF74C7E087631C219CD2FCECD1C
478C91C552E195D2B9BF9896CC9853BE8714F7DB317EA3224199D021C57FB5F5020
479CDEDD97680DCC51FF73857F4DE131A37AF43FB1DF859AF41E9061111F3941D2B
480D641B845836A57263ACB3A516326029734D7839347248D320852F5CCC677E953
48178A28E7EE1A472EB31BB93B946143A1ED8D930CF195D0445359AE31AE528FB13
4821D87EFEB0200CDBC35CAB95FEB55157A0115144EA5771B7639B4216AC1E9DE98
483AE6889CA0E236D265F815F8E6F6CFD416727119FDD7A16AD079A9D6269E3D47C
48419623A9D31E27EB3689830029A77E8902838DC3B5C4F131C1D25A062672CD203
4854880F94B19FBAFCC9140BA35F54557DFBC3467DD4CE7F8000D71140AE1183D6E
486D5C1D7BB98DB92519A8F57C668755A4A81F46A0C4A01F7BEC519652AFA5F3C85
4870C326082DA3A3003ACF66F2F79D42E2E0BA83FBE69DABD78E652C2F30BBE8FAC
488323EF5A61C3C91A3A139F60B9020D1561D3EE22BBC33950B72719B354E67F57B
4895F9EA0BBFADC0778035C26D33B1E958A5F53BBE99F6DCCF1D50321133EE1307F
4908B58EE812475744CBD3C65762F194BAF8EF1405968330DBEFE8C3E172B5A8B48
4915A16A330F1A782BE7A11B64CA962A42E771F6773733744ABFED58E96F78C2E50
49223A96FA936D1071EBC6837AFBEEE6CCEFA7384F1616D325A4F1E267E79AD9FD6
4932A998F77DBA3A320DE1C232DE21D1C0B66CD9BFF71B8538459AC97D827C7F84B
49466B6170F5272B7BA365964A12653F10A88E4A95E1716E3D1A202580A233574EB
4952A2782F948787DC4FDE207F01D6D3B0C66F25E94F86F24A92A2602AFDB81E6D7
496CC034B232A0D74E8EFF35D7DB57AF27BA09A5F4C064B9BB83253A236A4D2864D
4979B5B8FC933F97DADF735C6B7B778DC72CB1A1E42C71F16AAEA3274474B7B295C
4981A0F09781A22DCC8B8EA7B18FD037257C110BDFD84304EEDA172A99BDDCDCBFC
4993CFE4FB3E4D7D97069E9178CAD5205CF89589C565B8A2B647427475D16E6CD0F
500CBA52E75B6516E19D7710CE3BCF2EE5A72718963EBE9CA74F3B0C9250C31EEDB
5010736EFFA9A358EC45930779B7C9D69CF6BCB12D9C22F926E0F2D1C619E3BF64C
502536F2D6E8E02476647E85C431CDD93F911D0A9AC867025B919C25AB8A2F999BF
5038065FBEF2CAD38CE90C43D1908D5ED61CA4990F2B00074FD94A8B8862158C876
5046928604E5058FECC5E0F3040E33B3A028630AC0E2778C9F8B82591AA72971FF4
505C9F6D17EDD30DCA06F06577895783EA91A820A14D693E9391F6345EF715C5FAF
5069982B447F2D5968DB14B3E8218F367505881414A43EBE15A0E494E11A2DF77B6
50700F65B9A7CBE85F9578FBA23B1A84BC329C53782F73CC58F848D679F04375B9C
508FDC2C6A856666973F4594B6A9B2F03E11F3655959EEB4DDB3F7E7C0D6AACEF81
509F55C426E394175D4F7C895527B5C25240B5C3716E12A243C9BC54F4581C1D433
51065D2DC3E2476FF711265CAF4C37572FCB0D341ECCC7612DD60816E2359CE0FE3
51133FCA575AF040898840134B1E41216806B476A6F56A4614EDC35601E3AA6C0D7
512BAC635775A95703ECE3404FE13BB2DCF2B1E413DDEC853B3DC6D09D96C07FC93
513E96DBDED14F568946C078E41FF3A7C5A058192076D3D39705960D396E4C0A637
514397D08ABA6AECB50B75FE8B344D4237442FE1EE1671D327D3155C6C7E5D26CC5
5152AD6CF713CE61711E44C7592A4F88A8137188FFB9C981BA8C294958AC2048F22
516F444FB867F7FC0A39D60BE6CC01F861FE10D6693B1020F5B39E3958EFD88EC7C
5179BF7316F3F299316809A62AE554D1874EA8F9CC95F26FFEB4EB4E5E0A922FF89
51860E5F9713407B087EAB33A3F768CD5A6F63A6239734C4B7E5AC5E9D63A3107AC
519C1BA676430F0C5C492189D0393409CDCDA952861B3446D798258C632E7268213
5208EF5BCB006353594BBD7BE9385F5978CDA7A13B531AE44224664FAA4E23357B1
5210812E2B8DD05845147DF0967B287FBFE762B859879666549FC7650A0B973D413
5224D0136CA2DE0015CB0206A1CE8C80875B760A3F8FDEA267F6C015FC8EA05AB22
5236B2FDF7D9E62685CD4005000132921E636E9F3805372A2BE42F3D6F504A691CF
524A9BC37EAEFBAA3F57514891FC67761C0F2A1DD706030BF20D49714B3BAC04612
52525359FAE96C1B4AC7858B02D0ADCABCECC56BE5767F216185055E36717092CA7
5268B984ADD891A991B2009B4DD384A4C293D71261F056DD1E351307D32EC613F3F
527A299289B28EA48B83A1FD1E87AA060CEA042816BA7B43F3CC04D9613309C5A43
528E0A3FBA8A2871EC62679EDF0E9BAF8FC3B56C5E37E69EDFEBB6B24D65132203A
529934884BAA87B0D5CCD3353432FAD28C3104E28F1B40621DC4981C49010267477
53063D2683A51D3AF2D6DA8D68E8C01DB68EFD8918344FE3D71BD64E59530B4C5C8
5315636E79B44E6346BE0AC571C31CA133567D66FE5A249CA1F398E66944DC2DF54
5325D0A6C526B1757B2A33BFE7C2212F1D8DB22470CC69C301094C3CC38998B6719
533E0EA158B8AA257AA5481C600B3B2B80B78914E1D232EC35DCC8588CDC4486639
5349877B3DDF7350A2D1E3D84C87C7BF119B71A4BA78303623728A8EDE4273BFF14
535BB7E08D5D985DDAE015BBCB27DC4189230B5771E456510B2AA4A5F5226E2AED0
536AC4101D0EF51C36B43FAFDB3135590951DAC29A65D9ECD9E12114C8E8AE1FF43
53737F8F8F140A361A9FD262DF82DD5E036FA36A2FCB2966E603304077B139B5F18
5381FF4FB2FAB3F70812510AC23802A8039FAAC38379F28EBA7D7C1162573F54297
539DEB65860CE160FC724A35D44D5C5419019CDED21DA0240C8E58FC086993242A8
540F3E97D7E71C8F6C3940B254C9585AFC8392A0F3AD37C946DE09D0FACFE96A27A
5419F47B1BD06E56E03019A715C990C07D59B99FFC4C87D544B17E2A1673FD790F8
542C597FDDAAD58CF3E9F892D369B6F12BAD38D2BD275F52D2032CCA601F9616170
543C9F2F765BCD98F4483FE0BF0141BBD66BF824489624F7D704DC64C8FD286E358
5444BA8F9B3C73D34077A762913DD926E05A517978A13D9B3A0E8776D9D14B16CCC
545772B792396A683BF9E6D882110D14D8CCA6B5D4ADC3474D0497793CD7A345633
54640F4C5D18E8E035185C3A6B25CBD51A7811E110C733FD4AC67CC6B4D451E2F8C
54715F50D7E6BE0C38A556DA239A35712BE7FB03EC02F14F045C51AEDC2771321F8
548DC37266F6E98335E02FB736A5DEA95A929C10BA325299F3F8B3231A8FA2BB6F2
549648779D5FAB6F4C068C0F92E18ACECE3210433FD33A74B2AB42E0E55627C5ED7
5506A531AF2322A19A6C4BCE5D714E2ED794E4F789CFE3F18C589F8D5969A7E8A80
55110DE1F1D17CAFE9261EAB031DC3A6C7481AB5B7E8EDCB96BD0A129E45E3151C0
55268C4A3466D34DF751FDBEB2B123B0269F5D58746AD3511F899AD73546D90FF3C
553889FA0C12535CF9BF81ED5D22C7D4488AB58231EDAD7FD489E95ED64025A6E56
5549079B19F4DAE58F4A81959C7F00B0C8DC36AAF162BA35CAD61832DB7FD0E3C47
5556FEF3616C3EDE4949F89257B8BC394FFB4123025C83DAAB2E41CA448F1A2A7AB
5569F9C16115A546B05EF3E68182DCEA45E5BCA3828D480A07DFDF715B0AA065007
5577436CF8E9C7AD5CC2CB3A323908F04EF6C58A3EC9830DA6008CFCAECFCA51597
5589287566B045913228B9AF937E995DE25B164F92ECE2B20CA39C37DE8DFA27027
55948557459EB0ACDA237C2820AC7D469DFB04BE8629E396F7AA969DB6D8A7A8727
560A4ADF741F0A0CE065EA0CAA4C01A872FEA4D2366A41F749A4A0F3DBA016E91B0
561437AA1FFFB75C1502F623E4865D842640BBDA869DC79D81384246D8C9C333263
562ADAEADFBD4B2909199F3FDDF8A406D54E730263FBED4CF2B0DC261F7600746F7
5631F3104A0BF7795EE5AD69C09BB0E65DA90A6EAACC67DF5835A1564B7B8E7BE98
564428D5D83FFA1C9F60AD9B71E44E5D1F0F33BDAFB33725FFD2BFF11380DB62D8E
565F40B50A4BC239A64B2BBA2850B923872199FA302572EECC7AD678C17BABBF100
5663A76077C2F2C646FEE56CA4C83717D5F912782D18DBB716F848DDA5CDE379CFA
567A4246F698186DF6558A7D73A1A3115508AE417718F8E96EBE70EAFC48FFE9F6B
568AD4E45069E37ABC2B016D44EB1D7C5E2B352E3D552B3DE731DCB114ECEB901FF
5697212B8EF53ED117AC42C40E13EAD24FF248D6E1D4489388506EB42D43FFD22D0
57069C017D667BB9A7801E03AD41CD762C34A2D2D294D50C9511CE4AEAB1E4868B8
571F192141752BDD0DF44B76E01404DF023E59BB17F002EA5001C5F0026D1B964B9
572A39EBD2C0345683C7598991B7971AD959C8114374E49BF0E8147397C65FBEF84
5733969219FE11DC103C8A473FD7BCA303E026431BC89297BB7E463A1AC0DA1339B
57426A213AD5635DC4274EC6E0EBF2F3DCE3172A31E9E8B0E8F028A09EF4454C3A8
575A2039CA50A868AE11D05F5D4C08C461346EFAA3A716151F6E7C12DBF7CE8DF3F
576CC1E436036A002B9839348ECE1A1643925A919DDA56F30DCF88F5999DBB222FB
577502BF42DEFE71EE90CF70EF4A2F176691D987177B4ACD7F70E20616F63B60836
578670B842013D42771E0482BEFB1750AF50DC5A509E50078B49AB90AF028658E67
5790A48BCDAE45C2EDF35C92C4A5E96679AB95ABF8B013698ACE11CABC3E81563C7
580BD442DBA7B5AE87EEC9585C1DD2DF76F3ECD59C0E937396599CCEC208E1D791F
581330A89AEA2888BC36C94595CA615CB84755194506AC7A83AD19F7F19B58FBC36
582DA6EF5A42E268B80F6B6425373644C10714EEFDD6ABE83B981B1A28CD4CBF1BB
5833D95A7B4F265303970278496B58FB9D855EC18AE2A2783A9B6A04D651FAD2DBC
584264C5528CAAC1CC02764D6C138FAD877C8819C937980087C603273FD3BA5E383
5850CF794C8A21BD43EC2C275EEA8847678BF001B4794A52F7867C683D88F1E0541
5866088FE17CE3764D4B737D0DB9A5DCB66DF0F65EF55030C2CDFCB9D1D32F10757
587E7D4C6BF4B370BEC69C7EB84E9764345E0AC515004CF15320E474D48E58E0D11
58805BECDAF170FC211987093310CB0E76F4BC6D524397F787290D7FF8C6777057D
58996CFB3D350CEBEC3F5C9C4AEE1C987556F5DAFB74B28726C5F214187552576BF
59080A50BB8D3E118A48D07852E2B94339C5E0220FB8FDE941E8D74793648762A85
591120D97E46E70E403CA4324D3B14BEF58BB62086217DC4B458BD70438009C4FFF
5924F67D4B68E9063DE5A12CBA6053E07838BA7E80EBD64092A555214F34411F968
593716E4F331166795ACC5DCB27EC72DE470B6199C520CD0A5FE74E649567B4255E
594E18A915ABD4070E7C2A9F04C4DD5A9ED0D90124905E2515A3A522C2B09385BB1
5952AA42E87FD05BF715F47EBE8CD44F1FB810CE30F5A9149A77CF01347412F127C
596C4E8432018559C0757C1ED0C5A1B5B3D53FBA5F534BB79BE22811CD7BAFF119E
597F9DA7A6099E851E6312F5475669445A71FC40FC02BA0C651AF60E24140F72BE6
59815EEEF43E52454E7251BE2E0950E313AFF4BF6EE7EE405A09CF4893F756A35D6
599E9E687F69754A4FF7D6CFD5DA7A975FE3D85D758C54FD237547FF5816D46A9E4
6006BE339A32316087C7A7248392C8F8EC2D6F3E65C9F6BC48A4A4FA660526A6060
601944E43538A977C94968E61B67735D6B9D9782950B53AA7285727B0FCAFDF971C
6024858BB002CDC644D4CCB2DC159EBDB6463B89101CDAD53E859EBDFE766B69B44
6038D51EBFAAFF141EE43367B2619CEABE1E9DF4262D5A5B92337009C13E8ABAAC1
6049350DE4CD0EF6309A8BB7F6E7846D73CFB02F1EB12E99D79F03FFA5B36CEF1F2
6053E2B38306DB5A76F1751EB37415182F40F523BC8373E9632DDC33A3845B6086C
60641EBDADCCF9470B9A1A88679B764D82076C95BF61AA5E528F1FEB2954197D787
607E04A8BD482BEED92658B5C3580A6C8CF71B595868C28507F74C4AB27AA73050F
608486B1F993002C707022951A73024B35D3C26129CB619B507577B90DF7A5E7B75
609AFE0E6F6982403D933863C32A326191A8CEDCFB195416FBEEA99D3773D2B6C47
610B1E99BB1A14514BD26F041E5D568AE5844558FC1C5B080C962D5D7BE9C836415
611B17059290C2404C78744582EEF247AD08B9EA98BAE5792511B0B0B2D33F0D37A
612F96633EB1DE8AC98F91DF932DDED7A2F0320E1B6435230C8D6541D1D3A02FFCD
6130916EA409A82FF79821365C7DBD28DDB39110C818F911E727EEE7B9EAC17AB85
614B1CF1EEC87BCB1F24646286CB6EF9356949ED5DA9C739D62C204556EA7B188AB
615E3C8FF2810F37F0650F94223C4C5B485E3E420F0F6D841F7B6421C735A676809
616003E6D283D46B9487E82B2809B3DFD7CD9936C49BFBB74AF4DFBC37DE98AFFDD
617E3815F5E4EEA8D2295EB84AB91522AD18FE2678DD9CE727EBA8B1474730FD83A
6186927E9C86737AB82D182E9F0D61467DFC393BD3E7D1B6A9D5A0C7E7D959D3AA6
6191032D599D0582A2C89212832C6F0BA4D2F9316E80D3A72025A19848C2EE2DDF6
620A46CB96754DD6278AE4F45B40608B5B10AE8CF0E540B39DFFBBC8A0BF42461DD
6215124AFB033C28C50E44029DC4365DC1D1509734C53F08258868624137187C94E
6224665973A0B63A3E9A84C6DE68BB93B63EEB14E67D089193205D01792BCE5BDF0
623FBE0A0B014B4803B9F40377004955165076E6C293968556CC64556EC5DFA5DE3
624268925E472C1970DBAC2932B59607780612E3E67F979E9E43E8205E94B130DBB
6252878D14C301A3CB6358559FE1ACBAD8DCC77C25BBBB53FF4363FC14A52EEC779
6264366F6F4FA2F411720469953DE4AEBAB2412EE03ADDFD883DC48B8A2E605AB55
627D9802B609A3F376AD9409DE3DA98910E662EB9EC3503C9F4D36F5639AADD67B3
628D33126389786CF1ABFB5DDD867C907DFB9EB86E852C109F5D74891C295A21DB1
629F239FA7504658B3960F98A4F749DB082D8640412C65E7F51C2D2114747EB3CF1
63087BD9B12730BB9EFDD4846E7627C4E51D9D95D8330F083721AF585C51796B885
631176476E3C46F4B4C4022093CE906E54F467864690F9FF4633E307B0AE4B4D3BA
632AA326A787AE941EA13F26AFBDB79DC3DE6C212FBDA727DDC0F67D72C6D9F03AA
63307329268F441F7B61230735CA8CDE44B9E0B0C4EDE1E7B3A8F24532F9B5B95B4
634FF6AD19614EB0F5846C3F39584F07395BDF0E94BDBA3E596943D4601767AC5FF
63537E8A17D3B8FBC8E3A528977340401CCCFA08C2E7C903AE04590716B2B87C777
636AC73621B0CEE8D52BAE71F9B21E8B6FF7D706B3F8611EE3DBCA777AC4DD1A732
63729492316AF4A6179CA9B40078FA6D29085C9FD62AF625845BE576A8AE7707CC0
638109E907CCC13C08A5818D5A1793EB14070D0F21DACCBFEDD1373B405CEB46BE1
6391D5F9650C0F66BB492F0B4303966A802421547922E347AE7B86078D700614732
640F3FBAFE78126A83AA0054F2FCBFD9BA0526D38D2B62A63183AEFBB12601CDB62
6417AEFC03821B866DE2EEF671E9BB731D34333CA08BD3B59ABD343F57D447FBA3E
6422E33939F289D74ACC66238E1670A9AFF90F36EA52B43BF83F3887DF04892347A
643A30E30E0439AD51CA05FE182548BAC9A4E4779842E107AF605DA87B9B8EC5D78
64480A8BBC24B7A3CB1A0FF6AC6CF91D1438FCFF493D16C767057A1527179E6516F
6452DA2F6F1EF7034B0B105989D2306690E731005702E16C267BAA850D9D9F47299
64671049E0713C1259E4452C67F4597929BD1F886EE2C401CAE4797DBBA90C6EE57
64761B51B33E1D3575B231CE23085742109B87E6267D6C72AE747100DEDE157E1E7
6486E88462A7B6EF995DC233FBDBC1AECD25C8320E8D6C7D9F0D92F0CC81BEBB8EC
64936E7D75DD3D914D8665C70AE06F959153B40F83362570423EED2346532C37EE4
650D84080D073BC484C694C9E6AF299409D5DA769D152ED7195DEE9EA5858F641B9
651B205E9C04B52183462F00ABF0860E598A169B0DBF10EC37AE2049EA3D7D646DB
652B6357102E2678F49A9828EEDB4E916F2E43A1420D8487C36611A9C173F501978
653063D5CB2BF0F32BA27284A5C2AAA6CCD4045199E1E658B3F8256A73D24FBFD85
654DCA2D990480AF3E10E463F32FAFD38D3EDDA08253115EF6AE4BB32AF9FDA5D89
655D8FDB4F30174DB0BE99A9EEDDC6102FECAE58D200A1F6839758EAB6FAB286A35
65624FCFB9E4119A186341CFB1AA8E3E68BF3AA81126A7DF90D0FA6D94A42165F8C
657F0EBE41A6528A38D30855606E5038BD8E414F8FADACFD56F1858BD6A32858601
6587AD53A43E30046E876CF2AE38B7D280A9CE82E0F36283EB997E12511E74E53F6
65946497DB76ACB11DCFF1014DE5BEABB6133D42B6866ED2CAB51089E2AF32BFA54
6608FAA2DCD12570443FCD3BDC6D53520404E753034519C81A3E84C3E122D4CC1A9
6610AA2AE164475BE0E2AD6661334764F71C20FEC887BD8EF2B7271A67FA2F7EB9F
66239255EEB4D22E5D7256DED2876CA7F7DF9CA683D412185E385437EDFDF32AE56
6633386A8DA8DB8A4CD28FB8076EA389AE2391E44BF680FAE50DF5E2EEAAAEAFE0A
6642813A3537D1AD9DDCF50F0EF1CC8F8CABD064949F7DE5218BD668A0B46999BB1
6659AA4AAFB14003647CDFD6EF5ADB142F14D1A604F7E99414FCE97D03C016DAF74
6662B7C96ABE807EC5FDC5BC5C6B0CDCE45381BB160ABF82633F4C4B1E7C0B95AC1
6672570EA999477C368E35BB4BA0AD6FA78D3942107095FD062D11B7F47E7A4CB7E
668F71F78BC09019DAAF0AFF6D80777EC6E0EBF2F3DCE3172A31E9E8B0E8DACA7BB
66904D5A74A7A854E6F38BE2FD18650F9E4E501F0ECD4C674EF110B5E03A723CD62
670BD6A5358809C15CDC64BE255F808AD2A9BFEC49CD4CA623943F9D50078D11D6C
67102F53F06905AB2BE3AFB8573FC804919E0EE4DCB39A498F35C5E3E94310F96B1
6728F190A1945C40D9AC30E4989EAEF8B4BB1CBB268FF2B28C1A77C92F2D29C78C5
673011191AAA5654639F0697807C78317A9408FA4D85B5B5386FF5D783A91D9202F
674D513BF1821A66A17A74FB8E90B43C59F73DF237F7522F402A1318C4451865DAA
675080162D25EB096A304B09FF6EB0F09A6759AB4016F34A84B9DBC034DD02A4AF6
676F20A3E1C9B59168843DCD4EA64FA10F2C451F1208BBC4B45150CC89090410289
677B7ACB44FE75ACBFDEE0097F82D37ABD2372CDC3559CAE8B6CB3A8CAF71B74574
6783AFAD713AD907BD89BE20D3890376550DABF8BD6E51017DB5FAA8A1AA52DAC77
679F76702320FA5C140B10E79BF83046010334476F8DE1DB73C290536312DAA72F7
680FDE1FFC42A8E20781E3A8A16C208878786250A2A5B0954E529BBBE321F440F8C
681BDF2B8EFA26F820DBC1D7C6F0844A379C61C3A67973E2F4253A1F1A0DFCFAD4D
682ACEDE777F2D2F7A733B3C4BBFE15A96C8D5ADCE25EF35156AB35544DB9AD54B6
68356E0FFE2322734D19C6ED66639946A5655D4AD9DF6BCF9D32438D63CEEF3B544
684E7D1FC006E8C4C3F2D155B13792823471BF6CB9B9C9B512A591D6BBD2DBA76A5
685BDA3A7FC8A9EB136AD0292B7A2D04B027F9895AF10705A7057302A95FD4FDC69
6865BD0ED514DDEE8A97443E951A14349B9684AB09A0216CA7EB282702007937C5F
687C3B4915B96C0735F911FFFA39DB14BFCE5A17B2D1F1F6FE2968EA102843A33C4
6881A7ED4ACFCD87501895B4C12F6FF094944ACDA44DC93F0101BE268FFDFA70393
6898403CAEB1B1B2F9F239D53F6C5A70960A982D2FFD0E9015BAC8C6E053E1FFB29
690AB077D7C9C30DDC155FF78D7983E522685DFD13A9798F89A254547D0EA504FE8
691DD1550B21E3C8334DDB53A02CA4D48A609AD53CA578EAF162A453176DFBF3D57
692D7A6A1AE1DA613DD527C875A9B507D65A69195472A36DE2F8BFC733C09C2D2E6
6930E95DC0DDE5183DAA9D884A8798CEF1B25F77F2142710DE7B71FA982355B9673
69470A7D562FB29845025DE74A799168EDC8C3FE6A833E4F1138F534C15749E6448
695A0F7AE66099CEF20748BCE485A83A4EEC159C8DADC40A4C224C18346967ED516
696DDA389645D0597B03E2E467338DD786580B7F92E5D4AC255A4B6F12369BE1FB2
6977F0334405838C68FF0150A4059B0C6F18FECC7E5739AAC9EE1D540A4599C2C81
6981F1ED8DCDC2085F52A2D9587EDD34089D289A05C01E31D77A04A784DC764FF7D
6995C7E8DD9DB7134F8CB8CE47391413F5D0E95D7FDF91A1C3D6D6A6377D9579857
70034A354911091A94ED990FB35ECDD21C3CCBE906FABAB6A8B86A55F2C22D9BCF0
701FA25B4200DFDD137447D344418740C7ECEC15E46A1E4117F05362A63C5894A93
7026090BE946598A7B75209AA4DB14E2B31021616D0CBE2AB0CC375A64D25DD775F
7033281803F22BB0E250316916B563A6255648CA76FCB18087B9B5D4A33135AD0A7
70455FF956E5992A758A1FCAC3511A660F947EAE0662B629AB08E4B6E6F50966B57
7051D008A6354ED03FCC0229B82C90E71132EAEDA24FFEA7A4A1C1C422D565231E3
706FE9BE4A9B67E3D3B0831F0CE66CE8EE2BFE7B05B16CE039B8D3289187A6C9C19
707310EFC5E36BC61F687DAAA15BFEFDBC9937241C42219CD3616A5D11228208CC8
7087D5A04AD6C137F45365AF1CDBAD223910BD35BD2EB58AE599692D289182E8366
7097B0969D391FA8209D950AE914E3C26F50676D14A201A7943854EDD7F52833E7F
710F56008284B979CEC35A117AFCF73F21E8C3591B38A540A0C4E8BD600D387A958
7118432E92AAA4B658651C5705B18F3F9E8FB440DDC598FB62B1FEA0094A55B4E45
712C53253484E7E91716700FD203DAF0FA1FC7A8F697A832BD25B063B730B9880BF
71355333A6CE01F971CC5F7868A56ADCC26A319C9BB6A34CDF5E3387FC96653449E
714E9722363DF0EE41B4D100FBF6D005EA0771D97F082C6EDE2BD31BFD64849832A
715EC79257182DABEAC97904055A36CDCD11C026236C919FB9BBBC657E12E012A16
71698F904876922AF7804B9129CF2E8B1DE8F7AF1318DFBFCC20D8DC0B1604ACBD1
71763617B77D65D423ECCE8F6BEFACDB7133CC76213C0CCB254551EC5656ABD621A
71893FEE100A012CE9760134D9D871BD38ACC4F3B3E50CE7B5DCCEE39982DCD39C2
719CAB8666DD40307F715DB7141EBEF90FF45C1568270892DA8E03F79D065067089
720A0100AF38CF7F85524EB9327D1B78219BA61C70B8A6E3055D5E09CDA43120DDD
721426201D85654CEDB93BF85EED01AD9608AA5FD4F91EB43E2BA60664D2B3CFF2D
722A641C65D559F045FC941E58159AD71A3EA6E5483E906ACBC70DD95CAF3E5AC0E
7237921BE5815AFE6F78B047B69B01EDD51BDE9E852337EEB911B60BDCB54CDBEE9
724EFF00404DAFBAB588BB2761DDAC94C969BF0ABDA7CB9384161F986EA6F86EB1A
7259796A0A60B69D92DDBAC1814E86EACD5FB6D70BFFA48734A112325C1A897E66E
72670C4948FCBEB0923B97E2BB3D7FDDB44CBD2E46A288D9C33E400B1AF6CA3E3CD
727BD4B895C63BEB7A0984388833E625269C99CD4FC0A790ED8BD50E7E64FE8209F
728213BD7DE9CF746B2CB1440EAF9CD52B42F144B0017205DB99874CD62A1201224
729A6D8A3CADDF6758764EA8D08BF2738665ED1EA4736EDE4F70D29CB5478EB9745
7305F72F059602D8B973915A7C1F786DCCB6057256197D5794AB9EA2FEC41F92373
7317AF822EC3FE0391CD4458C278E08C1B92F418619E7390034503C71ACAD5790A4
732F95E540442693624FC17FEE33307AEC932F59D55EBEA90EA77370AA8F4036F1F
733DEAA348233939F5607EF930D1492D31A8CD0151DCB3F2E5E9F3E62E1C35CF9F3
7345CE5CE88D17D4C36039AA6FCDC3889AB0112AABDB6CD26559BB8ADE544590F53
735347543911BD163518B55DD16A675565CF5D7D8FCFD3FE4F4BD5FE326BD8D582B
73684B706E20415743D0DF6AD4178462197A88C1E113B90E82875230FFC3D39815E
737541D394C7F082C8EF4D86D0A690F1E74C8D54A376C3995D0B3DCFDE691BC8842
73817598B64FDE8F8532F766B7C6A9B3D936216D3956B620507F47C18A5FE2A0A25
739D3BC9B76D241C6709E4877F9DDEA53717146AFE90ECACEC165897D8B62368913
7405A5537A585EF6A8A8FE7596CF2FC56D4FCE859643E2812ED117912BAF8525989
741CCFDBC9C202D88F6BA2845DFF2C1C1C9D9828F903A1E8CE2D951739BB8D026A5
742936720B633FAB3ED412C719A499C1047C6744CB0892425DD60AFD01BDADD8C7D
743A24C22FC651EF3BAF2B8F2B508D1F2766519D340C1D0355E7F1B35DBBA430894
7446CAF8A0C46F2FA9C717122B0337EC089B991F4C6A8A57CAB93CE582C78D45CE0
7454A2141D8F088B8FAE6346EA8ADB8E2490CB460292AE0EBE73447B9970705FF8A
74683B18986FF5B00FE98C28A090CA9326D2B50BC8CAC89359C4B7F903874E1565B
747380CFC3F7C0B54BADC8412987114A59F9150D97CBA104445F674E322693F54A2
748B9A0A8C6E372580349F62493707EEC78F2599944404B7B0B79A979C28CAA156C
74945671FB5B4F0460B13971D1CFA93D523E09977B2F9A3E312687B3BFA6DA70D7B
750AF2BC5ECE2C1B198297E770D56F2D294CCE9815E786B7812BA06DC7D6D23E570
7519062979D1E3CEE6C21EA9663977FAD359575B9FFCE754572251698C73D2F79DB
752E5829B25FD7977D644213D14B429F3794F213661F2D540CFDD8E485757694026
7530D69B3D22D9CDB0E7D6172EC63B0420817803DD790567258E34B481428336BB8
7548BFA0047BFFC49FE05B87FF208E0CE33921093F6584A826FC240B1C09BD5F86A
755B267E5081D8792F7B595A923E703F053C1379F4479EAFE8298CE6525E588CD80
756C2CE885D80A5FA021D82019BD818FD2B3A23BD832382909C04C816C7281A6C34
757F6E4CB1B8533911531E5A78BA298E6F2CFA64D8635BC8BA99BE306A2FE66F68D
758BE8367DA9CDD98220835DBC6AABB15EEC62319968B96989AD1803EA201601BA9
75963414EBE683208E5BAA9164DD4A185DF4DDD6F99441DADD217940B20CBD8405E
76014009AFBB533EBEE1A84A1CC16ACB7092B8A67802E7057E6E943CE6E928BE352
7611024C4E4EE397DEF71DE6E44FDA017315077ACBD4059377935789BFFDB8444B6
762560E8F1540F4D60638A1B6AC0E3EBD9F7300F14D37179C411309FFFD39A68730
7633EE12F67EAB031DC3A6C7481AB5B7E8EDCB96F2F1C815196CB981CD9E774C89E
764A5F5C6FE10406CEC405D7C9C636559B949E8EC26D42DCC883F4C98E8F1421D27
765E364F998698F5EF8153E9BDBFE859BFD0309F63FC38328AC14A974D380750414
7661E681F461DD52B50B47843EECE9B0D611D1417541EA6139091305BA7FBD8764F
7673B8165F1D5BEE6EA025C8CE694EC1013EC7DA9906D6FE6BF97BC5E5DF7BA4E33
76807DD612C811D1F5EF4154E8517C9A6D1ADC46D04C670733B2C23FCEA7522156E
769606E82C845394F756338384568830D74860E6F5DD9D2BFAE8C95BEACB5EB2C35
770151CBF5B4CEB8CFC307FE6B9688648C5D0FAC55A6E44BB517A2A46C308B15A58
771DB52D07D265C7C3E543008979A1C2B658D0FC9A088BC621561E6B322A2E3B359
772ED857F6E0865F7F174EBDE802A3E06D80034921111DDA60783D93F3D614565D4
77327CCD0DA4972CAA82B3BAF2492765568DF45E747C960CA867B2E61628FA5C021
7746748129E8EA2E2C0E9C5178533B46ED0C393645BD2A7E6A8D60F51DFCDDA6EBC
775C6E808C26B9F11A2703F22C147175154CDBE30E4846980EC5C122E5C62E41C5A
77637A6A184F781387785659D5749B03DFEE967A577C3029DA91CDD158284395277
777753F54F06B9F0575B401A1E45CAE9D7CBDD92563CBDA134FBD216D3ECEB60359
778676B3D5E37F6B17ACE851965E554349F4D724F0D03DFE331519283579B2C564F
7796AD4B474718963EB8518DC88DF321590964525BDDB65D09D387A6859BB4B5754
780D6AD19A3D5CBFB3ABF8FA0A6B188786814127E692F78AEF3018B399D402AE7DB
7812B5F5DF76EC7B0BFD28142BFC5658A0F18579FA9E2976F685A4FEA2FFED40032
782E5385748A6AB1B4B78F117B96D7FF4F776A87F5EB2D258C0C5C8FF044C5D51EE
783944BD226D4263EEA7DFAF3BE09E104E15E8F50FD61EFD84E2F7BE36AFC600D90
784AA4AB24C8D70D7DD605CF2D6CAC857EF9039E0E40D94FC1EA50094338BB87DDA
78595EE2C2CB3EE5241C75A3E484F89E43ED060DBE2C40BC1316BC6EEB5C03D87CD
7860D47132C98C92112710CC7E4C777AD410D4FE76E8C19205BF20DCDDF2638DE42
7877873EFE74BD32E6F175E2041EA03E2F4883F2FC1150C71BBBE6ABA94387BC6A7
788A1493EA767EEC302D5FA50C4F9AA8DE190836B04F5A5A1C15373DA2417F560AA
789D8F7A0F321E2AF047D326D9E8235BA1EEC1B49E10222B18281C85D674A07B0FC
7901EC0418A953C5ECD1140F15A6CC35994BD493853D06D6B24303BEEFB9B13358C
79149F992C7BAD1CA1B67D1E455A4D8FEF844FF846625D4B998C7A49EFC9BA7B9CF
792C0F091D72980787CCACC9A300CC8C57A473B513D0547FD7753572D062A4F3306
7935C6855B4119BDD6B39E62FFA97EDD64670B853F37DBC2067EC814CC8EAF00E82
794A18E979900E45B554F6167ECC9FB3ABAD8AED202BDBC66750C0E1A7B078B3884
795F6EBC2F9C6B78BB2E238C84CE373C46F6B8D65DCB198028942FE2DEA69DF8236
796B7A0D87D4A147C8F6CAF3FF7C69B5883AD5ED8C90B5F8881BDD5C8B919F85B14
797ACC7F679B5E0663DE8B2FDAADC9C7C58A544F9B7B02C4AF59DE093BE7325B646
798D3235BC74A261844D5693B5B4D51E4F77D6F54DCBE33B54E85858C66967652BD
799943BDBF66C0D6F1E120F630EC8D94DB19D986464CF1216850D9A2805A7B0A3BD
800AD4296CEC91CE68FA4C154F2787DF155909FD15CD543C9E77FECB880DC544F69
80102887B4732C0DFF4F888CA1841FA3BE110DF05375A73B359AA659C0A03155636
80210FE6C3304E8FA02762E70BDD5A0248929CD231FA6F6DBF66EED768D77B63FA5
803EBCBC8635DCF6B1D57E13FFE99DEBD32B4F79A0245F7CFFE269A9019005B3147
80495B74CF2961F9A3134794C9DA6D1038DE6B43480FB5EE2544529C26ED6D62B24
8054FAF3CB42599EEDBC5B3019F45B91AEF08090DC5F5C74C085E02E341AD46C463
806BEF42E1508FD510807529017A115D3F7DFF7BDA21C9212688E3157241E5675EA
80737BA5FECC46CC6CAE184B57FF286283A4A8816304D4D372D68B5C88A1927266A
808C2D70049EA6B3ECFF6A9570EE528D5DAD8DE7FAE0570A198165D6103ABD39931
8094AE1462B55AE6781011A7F8DD8C009350DF5A0B1F1F8416FDD6FBE4C4CCC091A
810D43E75946819F8F8F6979CEB210E41CD54E49CC3D05EEAD310D5497F6B79F694
811C12E2294B0FC893AC816C50817B81EEDEF8A16CC709242C8DB9FCEBFB0092E7C
812C538FD53EEADFA0A7599C2FD99C7ED08E6DC49562502D9F906C7334F8CDD2106
8130D35F24B66D6EA6E9A9448041CA120B5BBD8541D72B9E4FB6B098A6974BF3AFB
81478928BC794C012540C98EAC425179A193AFD7293BC86B961BD9462105BC864CE
81515BF8CD37D9B695DAE2AD24C779823B3B68CB259F0DBBA44091627F82A2107ED
816318919D17A6691E51A64CD6A4724202B676BEF8AC977C3D98F22E80F8F2A44AD
8172A69E71605A02036FA8CC986D7978D5385EB3E98013BFAF63A4FD761EE98BDE0
81807F27329ED943F2612F7CB94A0D0218F3735DAAE8FDAD87E1DCC3CDA3AD6350E
819BC037FFE4E5C435BBBB77BB00E9A42DF896943603FCB1F5029F7896994AF242E
8204F815C06D0429017BDB5C63EF2880E068D61F2B88A0B988C95C23E250FAB1A65
821B10806DB00191FA15D133E43AC34CCDF00093EBC7666B6C313D91E792C2F57F8
822E5E3DF6D0AB7F073F2125CCA53E95B0432ED1D2D1E7D8E9E31A9F31E61867385
823CCC3EABC2E11AA696B307C0F917BEB0792EF74A8EDC509992BB43647973FE7E8
824EC1149BD86C9DE3F669EC1E43EE7F6550079955C6F050BFCF9BAAB9E7E886635
825BB25D2A1F860F99494554390A481B2FAB03F71564EF9483CF38C1F6ECCDB714B
8268C7203ECC022D039ECA0E56DCC537CEDF368A8A589519566F2CF2EE2D2813671
82792AC38361E21F854ADE2B3C9339C7F2D5D5F1D4EC0051F70FA03DD920776126E
828CE12840EE7E96F7C530602B5B8758C87D68C6556A313F6633C69F00DE7B605CD
8292D29851B1DFF7B1977BFCAC4AF623DA5F51C801F28FF85B65AA64D0A0F0FCD32
8302693F94BD5B0C148358155098914090C94E75BF46534F22A0A879A6E0FB14291
8316EB455639AB72C00B2748BF2934AA97CFBE378C0EA28694A1F17110415FB578D
83242458CA22E8CB9BAD86DC43503650971AA39EB97A6DF077449CCC2E54301ACB0
8333240C471B5F320965C5833822130BB667821A43528A4722E9ED04606324C1A57
834E233C21AB0545A4870EB8BD3975ABDE7082BD80EF4E68C091050DAB6DB518E52
8357024D7882EB6EB1D995CC1D43CC2A8C9BBB207D833D4AA8A26978E30D10F40F2
8367217A3DC389C4E4502F242872B2A0EAE2EF5B837AB2374CAF3D149C28E917935
837F900BCB267F265A4E0DDCFFC231A5483AB4716AF2F161714DFB69589777AAD8A
838E5FFD07CDB692AB573379B1C2BDFB23580C36AE9665A682B3E70A0BD79B271CE
8395EF9EC4396FB40835264156CBE6E45181D681F68882673E4226C6B8071F790AA
840B877DDBCD883B765526C0DB03090391D0541318D849C05B43B0024BF4E4D11A3
841B4EF5BB7493CAA62376514740EA9B262DF772D45540E911E023E9DE938422898
8420FE79303FA08B26C706B7182E0ECECA6F1A5F28A3BDCC009AA087430E1CAD0C5
843CCA7AA0C8C69E446C5E9E947547AF94E4E92CC4FD0B8BDB826155ABFD0D6524C
8445DEE8878906BE4B099EB919A1D92B1C28891E7E087164FC30DEFA88A0633B814
845D930BB66850360DE1EDD37514032F3FBAB92F4A9451EA11D2BF0761E13A5BA19
846D270E129C114CF11E3F7ECF0DA3B4FC19AC48283426DCDEF6C2D28B23B18083C
8470AB82A8E1C8999F6509CB4B5D5D35511A5C1709C10AC3342C409728BEEBBC460
848F15933CEF659613B4FF9F233E0DA75BE2AB01B3054F3C9BFCEDF6D41356C45EC
8495B4066A584FF5B17E2949D527990C138C1F04497C2BF64BA6446D5BF743DE7F6
8504CCB65987E1C20EF9F5BC4A756A5FB016AC1C16EA8067A159FF477531712CA53
8517EF27C0F787BA056116AF83D4A814C15985CA25AA8953D7C789983AEB0B8D1C2
852699A1C86D56C35889B7448D5E375AFA2D63A122AB374EC2F09C547E2499F82CB
8530863CA1DEEE53FEA5A7EC6709615C2108B3D054CE68034C2A6D708A293DE05F3
8545F21D5ADFC6174D10CD5F096CFEA22775D900069B5DBF57DD6C9020D2B2F4717
855A30A1A61329DDF2702FDFE076E8A829F3AC56AA8919110929BA9D7AA624B0F38
856DA38F9D60A06AE7022A3333F152B0F95536F23C110900CF816B1D50F4DEA8081
8577F0584BA7971FC760DFF6B0C53A633B5548AAB20EF4FB76F9F28748902E0150B
85815977EAEC2C3F420D0FB6099FA9323331CFB1AA87717F1937E11F51844C7CFF9
859CEAC489ABA9675F5F3B9C1493AD1584318B525F8729BF5A75CC740BCC8AFE654
8608467F1215E49EAA00EC86276E5EE27F1A31F0164FD638129B7AD090D5F1B4AF7
8619CED5A9E01AF160394A46573B762BC519E0381DCF47B7DA629D93C16425463AF
862DDFC846DDA7598B052AB49A5028CB45B53A97E58D41FF2432A2B90961AAC898E
8631EC35E0FA39B9C9A1D143BA01D7D0DDC12486083D63DB4BEBB436ADA07160EB8
864159DE52CACA71A5038C75C21261D2C8114A2D7D0DAA90A78BEA38FD84EDFF90F
865BCADD4E255B966DB2921A91DAC9FF182D68984C3CB2D6E6D8EA17C952E76689E
86615BA0AC4784C1265F2D5E1C853972821354ED4AF87297541C8D173328A525BDD
867021509A8EEF039147DFE3DC0A791E0D3455CBDD171190EF2B0E7DEC2F27D8338
868894B268A8C63765C595EB4F94B50CAACB363C9B90560D4FC58B6755640D56BB0
869DA9A012FAA533533A8B61FA50AD2F0DBA6620A2A134EC9DBEC4065CD137700EF
870893AA235E1EA0B2B5B3D0AFEC15249E9FE986CD9D4072082F3A7EBD9537B34B5
871261BEA38922F75D6450580110EA6EDAED269F4CD60146C464AF992111236F25A
8727D6DA6DE13FC1CB9C9B08D902ACD8AEF10BF9D973E8BE85632FCDC5659BCB61E
873A8737E15D4202AF42CC32C491CDE2B427018A2BBA26A2C45A0F04352CF0B3155
87423867AB76CAD6E53F54BAB7DDEAAAD55546EA51A95577ADCFDDC4A58479952D1
8759F81B21259FD46E4C6BBF7A072A4069B75E13F0102CC6B4B8646BF9D7732C91B
876233C05C4EE16860D79BB42219DDBD23908972312AB03D983571659B463CB46D7
87727A6621D519E3F40873073022681554FF98A94D4DEA5549706E7B600E2FE7DD3
8784459EDA02F49FACB9646930CCAA606F4FF8D3B5789972B002720C95A2D5CEE2F
87945485846D5A67E9187C31473E23A91DE40428A105067129E6446B95CAE1FB11F
8800A54A9CEA0561550EBA70D9A44A04E343F00CF94FE622C081287AD00D2E8241A
881799ADAFCBA0293A7E3AEA2007E8B62BB2B827B62CAB8CB0EC5569B2DB12CD196
88295D7A7FEB41FBFAA27D7B8976B201319A4CAA8F84A4D929A12C1C5D7D0C18917
883D607E588656BB3AD6D26D2BA11DCC78243F0216B2D085F23A3599B2D53386700
88411A7DAF4905EA41B92D984A86D4CB723B3506FE1734E7899FAC520ED33A28158
885AF7A3B99CF8192BD991F8911FC331C81B939FE798C7F002A6E40AE7078A95BDB
886FACC554CEB9A3EAB48D2982AC6D77EDF092FEF3BB8A345D4C31821E9F1256189
887BF1382EF65A786679CFB5ABBB5DBA25B73A8B3C76F8827FBFCDF4F069C9E473D
888E8CF8AB7FBA03FA8BEA26BEBE95BBFF7EE492FED29DE87F14739C514452AFEF9
8895753F94E4381611CD41A199C054097A39069AE5760000FB82BBDC79835F6A043
890C7526B5BCF7AF7545F473ACC165EF655F727051CD6C6C0B29CAE7D8530D4601B
891C0E60666979449BF6C6569A6CF07310AA50B8EAAAA737EB43FE9405D7A38EF46
8927C870B1642FB03A5B8C4C1A2602430B8121C9AED3237FB2974ED556CABC84C95
8937FA4ACCE1DBEBC4BE3ED2D84B5CEA691A4A86F49BE122DC7D5ECD64755438C3F
894B63E9A5F665DC054F07A295CA75750164CA685947A2F28A8BCC6313A6ED75C1D
89524E60A2553E618FF5465628A07C98C4A2467D01B541CFECFBCB75E93B814DA4C
89675991244E63C1C7EB591FC6D359BF6F2441A7D0F54599408F38754A1CC3D9F1A
8974322044F33EC757B52F0106177F0F23BCE64E31685AF97354CC36262019E3476
898B1EF9A23349BDA7A0D40A2BF87EA87FF6E81832C56001493187415AC3EDD5866
899A57291B18B39E76363A4E5E257A35D40BCB27417EC261F7FC291A8D6487481EC
900990A434FC53C17836585F6A9D0BA3560B03AD8C992268C3BFD216EFEEA627A6C
901E24B848135D68881A996560BE0074056810896610148F4BF13E2B80090318249
9023BBA16E93050BC1296234E2C0357B669B3CF930F32F813655B8D03F409DEB009
9039129EFC2FD637B8258FC293CECC4D7C7375A7ACE08E5145D51851ABF7A52B3D1
9045468A0A94B2FE8ADF68891F1B4C9133596D02846F6DE8D407F18665E6C8D4FE9
90532F197A0A15F70138388B33AD5E6A3517B8E1F3987FCE1B042E9A1EE908E06C4
906661944B856AD10C675F1360599EB9944A0EF679771C6326D165EB73DF430289F
907B00E5ACFE7C21733BDE367140A03532A10D271133D227B0A6C3A8355DD660C7D
908E6FB054D5C2A7E4A560A0EE40868FE793D27B0BAF57CD3E3879B8A6C79FE24B7
9092B80A8DBB01865237DAE898315CEE46A6B9F75B1EB9C13A18DAEA267D2D0BCEB
910FF371F994BAFB16A9EFC4A085DD627628FF636C1FB297B120CDA157C76215C21
911DC2E84527128624ACAE5653D54A26F1750A2379BDFBDEA0E9538A6DAE6EB0178
912018466DB240C8087EBF064D5A965CF29595BD5A8A00DC94A62D1038DB8FD8564
91312EFE0C12ECFCDFC701E4AC529026DACAFCC13B34B86F0674BC1A3A222556396
9147115894B5493450991FFA9415CC9728B291AA864A247BB25B13BBE6608AC17C8
915C32337397279F2A5006D8D6706AE3543A9003139A00BF6CDA8E6F47F4AF7E408
916833553A532812C0942746433D471B49C180B5CA3308B03E40CBB2214E4588E12
91739D377C60855563C6866D547E713A92EF72B48F0E43559C339A6E8441055FE2F
918F591A28B7C0E1C069B9F9A97D64F85AB7F422BD776FACDFD31ACE6F1E8B1295C
919D3DA706CAE5892E9C28D181385A8DEEA875AE819DCE128EF0EA527B3222B46B3
920E57B2D609823AFA49E43EED3C6A020F738731515C4FC62C42F16A9280870B95B
921AE5DC1F680E6D075C2ADC885773DD9B5E82677A46B5CEF2E0D4C03A321C96B32
922D992E914CDEE573B1CFFE98979C9B5EAA328B5EB1AAFBEA5F5209F7A83B6CA80
923087E824D1AB3713754D4EC765C0C623B98752E1F536B2BCF82346B956F55704E
924BD3FBDE0CA044B82C503D49FCD4062032E133A03DB0F1CA80EC1CCA065626473
92542D7714172F78B674A1A2FE0E8E9B59E2ADD8103447074EC1EAE57304FD5004A
92641CB4F458C94BCA7DC6EA2CF8A1DF50B568A8983D858523953F9EA9D7066AD4E
92754B817D0D677F19A8C689E45A11861E6E57261FE6443E04D616815B238C540F8
928FCF9704727EEF043C756A23822063B431332B0111FF23BB092357DFA5DDF16EE
929569259AFB5A97A32CE7F64649BE083244677C9E67F6F58EE35FDFE0770F1CBC5
9309AF0A6E383F97CFCEAE634F1F770E20899B68CBB0E84909F10E6AB20AD629B8C
931DB3B36D53CEDF0D75FF6A8861D1804686C70EF95949E4B1F89B9D749FEAD878D
932CD1076B5D2A5E0C13FF6091D64837C745817CA28E72273A9AF45059EC4B2187E
9333E5AF4654283920CD8191503E232CE93648185343BDFA7C76758639775B8E3FB
934C1BE8F2E260434DF28B7F23D694364024F92586FEAFF2AF047F983EF4A455ECF
935930727B44E0A07EE0942C47D90DDF5573EF77D36622682F728CC9C318F5FB0DA
936550DF4E3FE6C566DE91910FBFB7FFBBF78E6EE37345196875A3706D05440CAF2
937074DAF626748053A51101B499AC82577C38F3C55A5DF192C32EE011BAD68CBDB
9386571CF2A93C77CE392CDE3A0E93D890670B1B0272C619E6A2C21F3F3D4DC3CCB
939DDECC187750C798B5DBD31CF98D22DC5F1C6DF4689C3BABF5DA280C2C237E497
940C4CE6D19C2FACE2FB850D00D10DE53F83F62958C8230C205B14615B9FADD984F
94127AD672FA6C9427435D7D06BDCEBDED922D68614EF8BAFF8DC2932DDBB65431B
942AB752564280289D1DECA67CF6155D768CEF28EB6DDF2C229901041722A0513DB
94383632B5ABCF9F440C3E32EF365412B509BA54EB538A5A26374DF00301B8A75A0
944950BCE4D780CDE769503A5D8B8555EAC7D6217B2DE3D4FD234996D4DBE8E3F2D
945A2F1A776A723E07319733165F9AE94E798A1DB6EC9E44D1AB2A79192EC03650A
9465C697A6E5FD0ADBD14877ECD01B39360F9DDB768507DA2DF800342B9E5E56D88
947EB007AEE61B8403183BBA21D3B530E8F7AC8B9EF2B15FF13A4D2865EFC5983C2
9482F46B2786FFE54927511655AF37BEB2428FC6F61826C7C96F6F7A06D21A92DF5
9490153C14E14110095FAC7ADDE01FD05DA0F0329462D257D317BD727A79F76CFDE
95032121CEC3C7ED88F3A382164E0102A87BF52ECEC7F32A6A7AFCFEDB62D976755
9514791B0CB6A3EE86561E0F1CD6BD53E98FDFBFAD3110FFD4459C787EE8B5F7B88
952ED8A03B769EA530CD6B73D3D72DD04443629AF93DD4F2BEBA37A5873F70B9AE6
953CBE03E60A6668BB9953FBAAFD8EB663BE5BD4C1FD21624B75589E4B6EB69128E
954560E65150C6D1603097AD0122A05960C9FB80C3043F43E70D6DD772EDEAEDF89
955BD895CF65CEF5068E717611129208909B1597C8D6AB392D181D4775319A80CCC
956E3EBB841BA61F5FE90E9F0BEA8BDB0802A32C3600A4D81F82F434ED577D0F5F4
9577106F104A4BF675C3F29D4677679610367CE4EB4962DDAAF34C1C1B8D4EAC9FD
9584CF7CD1EC456A274647930E61CA8631B774730AB1B05AFA40DB774F03B47672A
959382136D301953FB9524065A9B04885EA4378CE942D14EBD98C2E22D858D5CA30
96074E4FDB73552571D56000EB14777FD7D4D4CBDE5BC1FB3E8F0DF1FEB09D689D7
961A1FE918E814A200FFD1DB572F9CA81D2A44AB6E949A14EB60996D6F35D16838F
9627DAF61336EDB7E5DFCAD6E0BAF8FA004CE56B5FCDF355AB4746F0788BD6EC326
96364D044295E4812E91CB9F50407B61AA86D6CA2656854239C6665D98AF27856F1
96469FC627591323CA7B36653712BD7B63348EAC9049ED1F1E511FFF5C9580B3E2E
9657A5FF1B5694232569216567155154AD3030A2BE940F1C541BCA62E5366A9BB4F
966D86BBCF8F2968868126430B2BAA8096D5D15D99CCEFFC24695F92690FC2E02F3
967C72F91FE5A7BB6D40702640C793B34018632B42602C7E7615581C53C8C57CCF0
9688CB709F40562DA786DA14CA697E7977A060830BE729498CCE79FF1654242E3BA
969C76B44BA44B66A846F72D608463F9DC9A08E30FAA2B3B5DF5C47837374C2741D
9709AF98CA2D6BAF878198E2392B1B63646393A214DDAC0CB6531BBADE768260E49
971F4BB5BDFD72CF231995D772337305CA8D261BE57692E244C0E7A0CE56424C532
972C76F4823178B71F7490D50CB35C742980A7ABDDB1231F72AEBF1B92EC67EC422
9737DE6BEA6E5EAB5D38FE09883E39712D02BB7E5D587DE6F4DAE11F247DDB57070
97460178105C278039076BAE300D1B6FDFEF4412F8D6DC8DF39C4E969F8A173487D
975F644CC7D3E580D4770613039506507863C1EC7346A0D03A661BFF3FCE9D3C4E8
976B26C4AB8D9EE092CD1C0F8069E82BBC376BB9B2E55BA7128973BFFE6EC338C06
9772567033F263A93FF5A9AAC5A1025AAAE1EC0ED91632832683BA3F8F1E0D315BE
9785C3BE1C67CD4F84ECC6EA7F95F1E3F3A52AA51265F3E8DBAAC8127CC18C1C11B
9799F30D95805F328E7823E813F7BE2B243AD6BC607955DFF38A45647DE5980BDF5
9807CB889914B0B47907F08AF08FD95986F0C754851DA0A82B77210012EA35BC0A3
98114A39BE00ADC5ADE5F8D0EE1112BC33AEBAAA8D1C34E1114BB734038E34C9DB6
9822648DBB6357102E2678F49A9828EEDB4E2B5FB644C3719BCE7A46A6B1906D47C
983257CCD8FE3C200741CC02E1468636CABA978DCB64752F71241F6446DD92A1105
984933646F632E07CC0EA72143F5F82A1A3D214AE275086823AA74F0471B6D69B9A
9851B63AC5634E98884E125B9014610BA9F3CB67EBC2E6788126BBA513DB848EB8A
98695703BCF515F36CFD6F9E109CBADB2525E5435E5A6FA4C97C9154BDD47FC9493
987CF67C524702A851BA45C4BF4B8128C9F67C2052F37A31831EC9C680590BF576A
9884AF9D264B7CFFD26BD472F06308826728D3482FAD1DAEE7C7685D77458C7D78C
9899CF75F1A1BCEB919F48A5EC283D22352DEE39DA54CEDD266C3CD4D31ACE2B562
990CD3A620BD8CBC5329D97AFDB3E66189B9E36F1715E22BADCA9D13C11D38C1921
9913D665D0B5BA11511BA9CAFD3ACCB5E5E19A45F49A8CDF6D24C88EF3E11F3B4EB
992349737AA8C8AE9FE413A04D2CA895309C65CE071E625D44BBE7C7E02008C8E78
993D245B1A006319E6C4D9071E763A6D1E71520E0ED9CDA00CE5985B754CA38C6BF
994ABD3FCFF3E61833B6ED678C8D1FE0FA2402F8A7548A0F87CAA5549F5A4265BFF
99536301C9D89D9EF7E2F39CA2FB5D4A370D22E2E00B544890F4DB89FEA84C466F0
996BDF6AAFC42D93376454F1985FF992895772FC29132DE6676FD95641AC100752A
99731EBE517DB61E1D3039E500F5726124BDCC670BD901614682E0D743A82E7D19C
998BF609C323A0BA3BFE6E729430307EFD1994446295C076879B63866E552F0F225
999178BEE68D832FA9310B262738C3B1AF9F74131749538C7805F022D7A58792F43
1000E1376A0B12B4A0B4725D440897927250E744D817E2B8E2106FFF649F753094D3
100146482607441E52B099D08B534992629646C228EA9EAAD051610BE21EE92FA7DD
1002B629A34733ECDFE98953DDCA6F6BBD44761813958267F5676D66C0661EB4A9BB
100338C298B2D25A8A306BAFC22E13D70E9E490381406A6A0AE7190E88EC9EE9AD3F
10042C217744E547BE20A48FB5F9332DE28A27F92472AF1A54FE8F681512C28FF0C3
1005D9644250CAB98E4F74DE422010BA6186C7E8251D2D38483DF24C1A2DA9C76593
10062086953984C5F9BE47E398C00E2DE650DE7BE2BEC59D6785800C2AAE476FAFBB
1007C1293D25DA35A6259AE5B4E78D50991F9B45BAF0ABC51FCBA6005E737A777882
1008C3A6D4F8BBEA8FA43A98760A584F0F19C7AB91209866A2DF316CBE4C5F6E2176
10090EE8CDB2433060A700AAFF7C1EF56AFF93D285E9A5E14A0B8181AA1745AED616
1010B048135CA9CF45ABB3951B0166465BBB66DA36A56EF9FF5FE98CAF3E801A7F64
1011CE14338943767EC89060359BCE5A4690852253975D7915F3E0952134DD6475C2
10128E7E3DD0B2409D6629BCEC3BE789C56CF79853DC1A61C48317ACD72DA2BF34C8
10131B7F2A85577FD61C7B1A017A9BC0C1F47385CC339F73B2241E58AA1C2FD38C88
1014D047F8A95C9DC16D018DE4AA3D9A44EF59E529C025118B542888BC497B767614
10156467B05F8FDC46F8C49F738CE8E686759EA4C87DC66D11ACD5B5AAD0FC7872F4
10168FED658505C3547D6D62AE05BF0C17BD9301866B0E947815CA48217EF03C9A8B
101791B9057A70EFB8642319BE02A2F59F2B7222B33970019592FC2CB6141D657C42
1018AAC219BBF030B00633795273BEF944BCA8D3C9C560604F6D80D2831F91D29A5B
10192FB69BCD78F3DE7516C7C42385048A738747EB936FA92CFB8D5E7339D0AF16E9
1020ED6DF45D1FEDB26731D14016E0DF27ABED7158E2CADBAB7CFEDCEDAFFF1D7BAB
1021B751E5575A083E1B1EC95AEA27FAEA6ED7E10C3F5F0E14226345B12F46B0C27D
1022A442F562597F53C44FE45D74F8B756F9BF64F1FFE56AF2362A5061388B92A6E3
102393D35E45FFD0726F542EE02E1853473BB1241421A1547CE8DE865BD36C91B345
102453FA52C009DFA61A3E4DD48302D7E683BF12201E1B1038EC8D7CED573FD57E8E
1025BEF4ED0B403E60EBDFE9ADA568512DE96AA1571393D4CDF2B40D04DE8B32CA13
102687AC2CACF43D7122A7326EB51EF1326EDA521925BD4FD08CA710161CA661AB65
1027CD62C2FCB8F10C36AE0F9B6B6B91DEFDD23A86E6541A3DB6AEBF5471381422A7
102847C5190A77B1AC66D2B928D0601739845B78F0007B8526F290F5E991DEFE3DD4
10292659633E64853844E903325D527AA087A30861991093A1BDAAFDFF5A7C8B85D0
1030BB87589E8D20D71EFFAC02A91AD60FFEF0AFEE25C1A74933C0C3F6F96B20F14F
1031EC84DA9FD024FC5C21DCC84EB946AB4F026D595B21D407E159E0FAEAD1708AEE
103242C5127F6800542AD54BB5AD7922BF5BB09B4374201DBF5848EAC03D8DFA1782
103382D911F772C4E66F7F9B8A3149BF7F3E93E768EED54CD1B901D961881B6BDE55
1034C6640ABCA77CEAFC1ECEE17BE945EAAE5A65B22E68200202BF126C35FB522B0D
103575F7809F3C777C61BEEC468CDED769F521571C6A90094CBAAEF8A2F62C1B30E2
103657E0FC19562D5C0EF6AF509DC385235B0B385EF20C2408E39D3D0C60E56AE4C3
103763C35198132570951103FFEADBC6D886500F28BE378FCC3A8318A93BC21F7BAB
1038B751E5575A083E1B1EC95AEA27F936AE8283306D13AB70D2E2CE7BBCBB707F74
10391E16C68A2F08FF9E3EFE930AC07EF8E06E1EB0AECCFCE97230A76C3229AB9712
1040618BAE91ECFD67C4736B0FF2EBAD5EACDD53987B43D32393F164F52E157BE9B0
104117AD5C5E6A9DB5B2B562AC113019405B9CB4C946FDBBA95FE7561A0F6C6FC08D
104206E40C508685186420ABE61F510C22B6B5399326C2B7DE4C7ECA54E95EA45ECB
1043AD1E993050B8FCCB457D18190AEEAE4AD2A892E8AC1E90BFA99D34B3F0C8587F
104488FBF9D9FD45259E13F436A2A27845584168BC2A430D06DEEF720C2A4B7775DD
10458180B8F67DFE48BF6D57D1B9E2FA148D62DF24597B0E0ACDF4549F41B90C5FD4
104601D13976B458A7E9FD538C4204709AAD1F75E4D5A1502CC2CC543AC0256DDBDB
10475089BA3FD9A9AF7C7859A6D7316E7F3AAFB1F6E5152BA2DB39D6C3E8B60ACD52
104800D73F13DD53248456F5FE7580E909415AFD0F4D62BD0829DB4D1E7A70393F39
104960A8E49BD7AE2C4244979EB14BA8FFB8750F3C0B15BC34C21954FBECE4294E49
1050F4B9985E304525252397B8C516A5074C31FFEC8DF303C02BCBE567071E250332
10519FA299DD94B3166DDC73E4D69A045A365DD3742E9A9B3EF969FBB1A1C89CD24F
1052B498E67FE4A9DEE1596B6CE165C9B7AFE20F344EFC8217D74CE9504531A6AA0D
10534C54C358E25AAB98F555FE41A893408105F86983284256E7756C4225673D893C
105404FE2FBB81024DA99E7651145F9F6A7917586CD4272637F2EFFB9A370FC5F685
1055A8D52C7F290358AA9CD9E5A311B539ED10EDE77EEDCF560F52A92D0E01A054DA
10560FFF4EDCDFCAE93B9876A2A536E40834E3033FE22F2496AFF7EA72EA1F8C5CED
1057D3BD22FC0D05F643C0BE6B4EA705F7F72FE94A5D2361B7C7880568C75286B8E5
1058432A57197DFFAF472BA2F075BFF945955888D5394A4E220D4D0728FF95FB8515
1059B293590B96F399693567B7223CF6D2B765E13449133EF6E94BB6C1DF9165F034
106013A9334659FB1B848AB8AF7AB51D2EC0C209AB2F31A131A36CA0FA480C85A7CF
1061F5E2C1D183E6492E434EAE1BA0936E19DA29AA77C08192EDCCA27AFB43FC96F2
106272D6CFE0F901FEAE217E4421D35B88BA2B4D3F6F088D0F9C391246268801A724
106328BC41869EE445C59D2E7F060E236F64E78BBFC912ED6BA4E8450EB4CD29EA16
1064466250AF1955A7D8410598244D3D1B5A62907162B395AFF7D2F1551CB919E461
106571281F6615E9F77B8CA0DC0E20B1749EBBA97830506DE264B09359B8FF5E9064
10660C827C099C1AF8DEE7C73D21C577F5F78DE375BB7C0114ADD885B7054999E507
10678A8DF072F6743A4A36CC8EF06577BFFDDD06959CA7D6DE7EE2E57E1EF7679465
106862D76B38A71CCA202C629955EFC693152FE8233BBC3C6D4C990C040338A47C3D
10695716C5FFC37C0BCC9D526C04C0E9B11D392B955915E160B6EA71FF8434677237
1070C694DE103FD053880598442C19E74AF0306FF73C6348C6C0104FAAB95F43A934
1071D7CFB6ACB5AA86203987018C30EDF9198DA3B295A52FEBA91F23C6A080503F95
10721267C814DA30660F5CBB05691126CBA8DCB4B2B8E745D05D92A5E89E143E6348
10731013B1B34382A9944207CFBB5178A2320DBFD2CAEC9B48E523BB9EF1768967EF
107492BCDD01EDC7396510649E1B2937368D65BB5406668651177CB853BE259666CE
1075FE37424C1879C263F53833C574289E8CF6B6425373644C10714EEFDD6ABE83B0
10765B49897FF9750541B1C0E5EFFCA669C4F79E40DFA180E2035E5D135A65E21D49
1077EA8DF28250FD321BE28AE3866F391864DF9B406DA10FF25100E4A7B55D10A241
1078B70626C45A3FA81265C589F9566A0DE3D63C52431A65E478F6C60B6F0C6AB5F5
107990023B275307AF550F3C8C13E73BE444E65664EC42611931FEBB48E1D944D55E
10805257B796091ADB5E11304823F59C0FEB78C3D60680790EA9A57DDBDA18159F64
1081A0207F43EE94536CDADC68BD81E5F16BE5F1CAC4FC71AE40DD936C862424A0BA
1082C81570931316A6FD605E5D024B220DAA367F548020D1E44597BA2B8136F6B4C3
10839D72FB257822D94CD38DD33F020621C739A23460E15A24E346EBA615C4745640
1084D56BB0DA9A012FAA533533A8B069923F9BC6C15C2B90F2B875C69FEDB4D616FC
108508A3EDA1387100AB99012F5925C5DC14AD5AD10D7223B592C2A8A182282AC372
1086524BC3EFC773AFBC1A0878CCEEFD3F19A075FF8715306AB45FF1BC2B95760307
1087BC60159FBFF468ABD0D0DE65E308F66943CB484E59B5BF520B3690A473C03D8E
1088B75769699973F30339A97AD6C21ACA5730E20E928F74CDCF7596C4CD08477EA8
1089A10AC0EDF889F685C6329CB34200253A9865682F4AF47518C14B00EDBAFC19F7
1090EB1ED81B2D427CE3773057AABC817A74BFFE3909373E58065861CCDC04CA260D
1091FECA9314987E3C64A741F0573924ED453E7574D949072F84388B64B150164F45
1092071FAB3A449E4ADE2B774D9A507C35B2DE0562B465FAEEB2946B704CFA85E9B8
10931C81D941119F6CACE20A956D46E24F00818C8B6C191BD6688F83543BFC3DB23F
109465BB7F4D73B66A518C92F21E559AAD015A3BB9AA0163D375FC63A29AC7A63035
1095395B7732702AB2FD0841A2984E41D6F1D1CAEDF7D87A8368B3645354674E9D05
1096C2A2F21919F232567243DFC434EDE85D9E940C2DE6294C204F564C4875111084
1097019DF1E1505BBA2D1762B7829081E452016C9C47C1EBB5A97CFF90F3A9BB46C3
10989AB4059C4C1E6475BE0BD506F7D93A732D49159533F0A776551EFDAF45F42DE4
1099DF55EF5EB148060F15EC1B9269A78056FBBFA94CA8CE853D1669C8B78F6E0D7B
1100BD280FAA448CC5459DCABB85FC2BB9F82186C49854C81C529DAAC256C1113F18
110183DF375342B8752BB898FF54845EBE5A1051F54537269DF1B2469B2758113055
11021E50DE50A9294CBE4ACDBABF62A9C64E6B12A850C0B890ADB17448068F514C48
1103F418F4FD664CF4A14B47910425E1C1A55181E2BD713FD508E71841FBA395E476
11040547CDED5FEF708BC0CAB941DB0F04E833D591665A8EECEE214953CD860E793E
1105991C966B7777ED705A8694E2A18BC898E9B2C39B564606B5A3EDAE9C07AEE310
1106765477A8430DF7C4807966DCD0A083590D0EEA038CBC34921FD978D547A19202
11074C5900F8D4D19C5A8F90D0F4FFEC44169612E6863E2CBC25209AEF2CA999760B
11084C21F07CE4A017188A7DCA2FA52586428602BEC3A2B52D070AED97512E482C10
1109F29C0C9BF26AF416CCACEE7B7541E53B123F4C64EDBD8A47E2F0DD05B8EB4B11
1110C559EBBF0C5793831F8079D606716AB49805DE8EE0BE989F253C99F70FEC44FC
11116751FFB7784D8CE077BB143C350932D5090F88EBEE48C425FB6CF525A89980FF
111227F779C22329FF3EF9736936BFA1677F9F159F56F311786004C781152C01A7DF
11132E63C5CE55A43D1E883072265509C773504E9CD185FB68DD670054CC043964D0
11140CEE7E0EBF2972A42B4377965E2751A705D116805B15434A0198AF290273F1AE
1115C190131D8296B53D99DB83C3C8454E68E939C8180E393C3A59C0057187156D97
1116B290681B74AFD960AC4D52164DEA4954BFE662832D6A288DA32B6A3727A8AE10
1117C1DAB806F66DF64C752CAA4ACCBE63120324CB09647D099F37D57B0B774F5D11
11183689C1751FAA84E322D4D12B1C3AC4CE272A31A235CFC3847A20EB006A10EDE7
1119446B6C20AFAD9B94D7D19DC903969D22D25C8BF83097668C1CD5A60B8BBD17B6
1120F3FBEA2B02ADE6305BED5E3FA72E836C004888A9E3D1E1C084A314499D7969C3
1121E1175CCC946DEFDC0211C72C553CFB252C766E145F7ED680C722D72B59FC8B72
11224D77D84042AD4F1BC759AC75EF0FFF8ADCDD0BC65CB5EFB3FA01075CBCA38F62
1123F716A0D8D0709FF897D28D1A004B586D39934F9AF66E6A3A57133CF478E9F067
11241D80BDE5B721AEC981009946CB280D6B363AFE2E5A2BDC65218BA88536F39B91
11254E5A0227C67942E58265D3CAEB8042ED76611FC167CEE0E2289EDE846293F4F5
11266DE6FB10DA622DFB280F4449B2ECED8A0313F338CD6556FC81C0187AE54D66AD
1127FFC21A73701BE76559565CEACC05FB32ED9F3E77B8511B12315F712F77B0087B
1128C7F19D3F849A6C61544B9C3D02EDC9E8A17FFA5B8022B6BD7854AEFB0684920C
1129377C6146145BDF2BEF868FB889F5222353363B087C84A710814F12C04BDBEFE2
1130C775A9E06AF693EFAB399C45696693A66A3BDEC5337E9D118179748A711091FC
11316EB19B0D6A6859763F7B9A214DCBC47DC8D7AD29DC274A8649D5B4C2F0DE086C
1132AFAFCEF427EC3CA64FABFEF61523B758FDFDD3AF8FB4953A41094223A7DF2565
1133F9FBC37CAD7A6041AF74FE079CB63A71E923150AAB3E846D158561BABC666376
1134781E20D97E007795C893004F0FF6F864B4B4EC2FA91647D519943974CE6BC92C
11359CFB50132566D97A3E9167F0336E74CB76158D3AA128E3F5A94B4F28882C7633
113622B8BD8C8971D38FCD48D970B5AC4817C3F4C930F466C8DA028A78151B3385A0
1137419CB4BDB568A79C75BCA3587E2EE44BA0915A98382870E635E040ABF6290582
1138EAD2D65F03B4F41F53C61527CA98C78F4C6A66BCAB41387510DE1F1D17CAFE90
11398333DA981F25F42CE4A508C64816AA53D20F70BEE9E7CC4E0102F440EF2178C4
11408656E7E1F90C99D7886336B100F563EAEDA1666DBE91C9FEE857CA24D639D1B6
1141C0D11A36DF260B09F64791245396BD98D7150D912BDA36385ECB446B6A381E9A
1142E3EFA16E57CA8AB4A794E20F0F91DE57258E76E62A5EC2864AA97D995CFB5CF0
11438D51635906AE373215DA6BE2D42186EAC29304C335F5B925C040C9D0B9DC8BF2
1144743A55803F83CDAB10D8E6C6AC093048BE1AF532FEA512C3F549800060786475
1145340F4C4EE0AFE289E706863BE5CA703C7E9008569384E748CAE68EC429C1E873
11469CDC6B7CB99EAAA11CB03F520C4A6D93BBCCA0DBBDCEA8CD955399A4C6ED5F08
11473DB926C575C39B48EC426A65F9A209CB529C9FCD3573D3638C9DB5F9E35909B9
11489BE84C6B85C4F826BE36C5DD69E7D75C28F10E36B8102BCB41948176DA539116
1149A823981C022DAA84FF4C34ADB130C45E53242A2E098C8EC311F3825D2F094D28
1150B2D14BB4980CC07458A94A744A8CF85027613367CF38183CF1A91DBA89ED8B99
11515E769DB4970CE05412EA234C0A9685025A4FDDCD201B1758A3230D24D3B4FEBA
11524C862A86B1E821F9D2DB75F392C1F50F74B56D7C138C43F2B48573C899604FE5
1153ECA83E5498528A909BD1EBD3EFE90C52832C20F7A6B20B18AE9AD012FE58489A
1154CEC2AE2D8AFCBE2A4ACF3656C3B8F6F5BE260468792E754C5B34437B4D59F78B
1155BB257E4B6DC1EE172836B50D48FDE84C53DC7B7BB5BED5200C5A84D992093932
1156B2A4AF29B1DADBAB29A3AD9548774801EC346775C1C58B0AA01505D8AF766A2C
1157669E5DEEDBC498A105A631C9029476EB5CF17AD92C3B17437723BE893CA4219E
1158DBC06050E75E10EE0CFBA12254E20A3AD95858C61FE91043392BF28AA3E81603
1159552CAD7BEB03E3B1BD502BB121E1E63D96E03A3D80B7C9DE5BCD2F6C4916F886
11604C66B923534872346F9D77E785F0B9D6F18DD25B324FABD0332CE9F85AF33502
1161B1CCD5C33D0A8CDCB8F364DB9CF4A50AFF8AF33E265466B0998803E2B471A603
1162846D7D1D12D93E6F9A4842B58496DA11C4F3105DA1EAD121C1DAEFDAC451BBD5
1163B3026F46A885C3075AC4F78FA9DD430FC052215D08B3827DB47D2F2A6101174D
1164977AFFA061C446BCC62482B4B2C438721443B85A8CD5F9053F3B0F0F67E5A323
116503AB89407C1F76976E42E4FABF2862CCBE4A792E069D3374A50CE6A910731A7F
1166C1148B92884265B7080CBC5D0A00663E3BAD9A3E5AC290267DE0EBCF4E8A9125
1167C2C3AED7F28F1E960903F3F91AEB7D31425AACE0EE90FC8F7C5A8DF87E7B708C
116854090B44A480BFACC1068F24F4D96949D25BE62A33E9D5D50F333312ED4E86BB
11692D2D7B3C1E78EFDD9998F00C593AF355D01F62A1452100B2B2DC0BC6E8EC2D2E
117054FB9FB9D98C5CD0F9CBC1807DB699B5BBCB8BD25DF64E2380F743CDD7A37B47
1171558E0809189B1F0334050C2AC4BC5CA3B1130DD7881A8A45E3A889F0D94B141E
1172179739A968C1E8D2A16953F241D2B29CE1C264B240804392E39C0059349AFB7F
11734DD2A97D1D2EDDA252F084AC1D366F313550FF12FF5112A4DE06D030921EF357
117477508A91CBCB78D1075447F1BF200C954546CEC71A8CF58015E90FEAA26ACC1A
117582EADD5A9C5A0E2294620867A9EDE99D3E799A3444E30AF7E71E5C38E4836A25
1176720AFFA396E67FBD60772ECF052D12071E3EE60ECF627820565FDD00685C3E9E
11776240DF06FC04BE56C079644071EA53DA652B8DC47C5A2AC31EEB5D70D3037FA0
1178AA5D19143C1686030CCED179A17096991A733B846E5229145BC09212571BDB87
11796AA0C3B4E88F35C6A3A1D05018E2990B2A0A5EAE6B3ED7DBAF8C7CA1CB6AADE5
1180B6C0B6EB20AF9E9E93D0A8329B5C4B02F963685F485B4F6C0CAFAB3A7B26FF5C
118171C5CA9FDAC213E8A421ADD0A860D8AB1FEF0A81B35823980852E3A177445357
11827ADC5EE8561EA5DA8AAF08224A765198DC8855D6211E35631E5DFDEF651275B0
1183AB6F342A4C10ED6463C16D507B28AB8A72ACFB71C8870ABC0277F610F004CD38
1184201FA97E452B299133A3035F4E8894E45F2D22BF10CC5A61D54EB584CF303E55
11853DD815FE141F62C97A9728A28243BCD4E21BE88C01A0B2210EEFF1947B4A363C
11864FFD777EDDB3A4E56F24FDA05C7FE9F60D94755CFAFBA4022AF1DE152549EC2E
118767AA08F39E679E63E859E81EE819AB583F35B45BEF6B083FCC2004F4360E15FF
1188F7D235CB837837EAFEA94DE5AD0278F8540A1AEB43A6BB67E2140467B4659ACA
1189C002635A6AC998BB3F5519D5A88831C4C74F2CD5B426B03370C287308A36D5C0
1190B0ADE2FE7B9D4F0565AA9DF27743C46D3B1D21D42D518497E1B24581DF7AB1E2
11910ACB6222505FE5C83B03BC4B15F19988231B2C8399F89691BFAA0D969FFFD096
1192FE6F622B800F0E072655B09FEF82F4FC83BB38C81787B9AEFB52BA1FFD1549C0
1193C413CA99804164944A1D2219CD7A6640C3869B720107E1B419A31372FDAD3362
11944EC4F36C3C0754A0B4DD592546418C3BE1B694BE3DDEE519A4D0A2A62E6ECC23
1195AEDADFF288C39378BA7BAD73FBA07B96330BE471385C6857F4C126357B0919F3
1196904202F8E72CF54AD0AD0CFF2723351184FF8253357DA2A606F264C0FAC8B9D0
119707F81727C21BA8FE7530F15E7E70AC53DC25BB3381E6E2B76B90EADA49C06163
1198DB92EA227BBE3E5C9A87BCCC01B572E646B9EB17782C2B48EF75784AEA114D4A
119971BD7B1C6A09144D7F5085C1B6E2D85FB13DECD1F6C8FCD190BE2B90FA0CA867
12006489046D5D1AF1B815951D40BFD690BD03828E5DA36B7270ADCDD94BCFA853EE
12017109134D1BFFB8F0EE0BF91EB2CEEE7BBD69175AA3EF7A2B8107874DD9AFE31E
120206B982D00AF5739563BCB18307FA279100C62007C9AE47A86CD0CD5CB82CE229
1203CEC433FC66F1521EB7EFA3B95510B2397DC0288F2CFB622E0C124545FD3F649D
120469EAE69921CF1E7340E7C821C43F4173670C17D388FA26600DDC9DE060DCD50F
1205E01E0B5F51067DF45DFCE5748770FF36626B6D3CA792C4B8D7E456A255CA16CB
1206F85D772FFC5413E6D7C126A5524B3349BB77DE88FC465DBE4D4B2E4E3D29389D
12074AB4EDF41B64F1EEFC8510587306CEE625CCB6DA4201769DD5E1AAF2F9B40D9D
12082B0CD2708112BAB4652292ECFC1AF6B889417E594628F5ED214831E2B1DA3E87
1209632BA0CC11D233AB142845621B7C3C9EE6289A02C1C010440AD2D26963560F79
121037B4FE2516EBC239623E2A9E0A0D8BB69EC82E846FE0C5F56933DCCE3575F053
12118953B5B80F08AAB57175C3848F1B9C3908041A710786F5475D47765EAA99726D
12129BECE2641C252DBB20573F61EF4CECDA2A3D751F25FA921EB806C93543B3EE89
12131BFA4432687739383284265CAFDF623228C312692BCF5E233E8703A7F113FB6D
1214EE634DB4E4D1129C16ECFECCFFECC6011704610345B43711AB5DFACB0CFC7323
1215EA3EE3399BA4A61057AACC02E0A6844A64423FA911D71B78806C3031DE22F546
12164D61357696B0F3EE4B5C41F69CEA685A825445AB53689EB05C4777C20162468B
1217B283DCDC1CCE7024850796A8448B76189D977C895C3A2C926762931AA5302489
12185F86490E21D0DBA19294B44563C55BF94925F8D07A16BCAFB8C797934C021123
1219B88158BDC19F48B210467BC02952D612A863E1F1628F38E56C5BB73C10A179C7
1220A2E5D03F7BDD11BC79EE16C54812C5B0FA1A4774B01DC7DEC115D7C4DC04891D
122175DE7A19F45EE3EEF17C0400176C122F50879B409E635388BA61F67C6ADA3E92
12222CE941F15ADF0B43981360659E02E8A0FA57D13B295A2D3BFA4F098F9296AA4E
1223C8B98810B8AC75FA6659F3C28FB92D9F4BBC6C79741C471345C87672B8A4EE95
1224CC7CDF7F6FD447A6AB04E55DC3D7422EB524A373B8435DA01C4E420249845DD9
122513C1E80E5EA0D68C819969EAA5F3CFF81A7B271261FB6CE7D1C1567759DA85E8
122696BFE3A1BDDD890ABA7FC5B0C44911B91D3953E6A33C1E69B7C58651A49CDD57
1227E740AF490CAA0B3A9AFEADCDD57D640BB4E4C2BFFB2C0AF81972F72459D083D4
1228FF2A18655ED1BF57336ECEE601932AC5B4F718006D144C86383D9CCBC659E831
1229D4002D8F9D8047DE71FC4235575F1D03C0D12F5C047A9930460101E5330B4827
1230E618877FC51051D8D1314DD09291C1ECAF9E16F3FA36D84E0389410D2920A8B3
1231760B578D6C3E6686CD334508064D17F6351AF7C1865F2C4B197539B51293404F
1232B31283545AB983919A2A172D3798E835259766D94C9FB5F2DDF2B7A5F5EB4C51
1233077066BB4BDAFFF8BB96DCDF35EC94A77EF533FEBC52F85CEF1AAA5C089A2939
1234D17D7CA326FB78C1F9F42F4FA6328DB31D4B9D50C97AC52365DE7FC5A1729CBD
1235B9D3C78B677A9532BA3BBC08970570FE982B3B72B9585FA2F8CF585890B4AD71
1236220E37A2C628C024FB9C7B7C12D26CF43DE7CC2A4BCF9103073157993B81B59F
1237529BFDF9560C05C6BC7FAA0977CF57A766C676DF4DA3B163B60D73BC1B3C0FEA
1238F6BDEE612FCDAB38DA30794F2CAA5D7652914325FEB8826321E6F474EFF718C3
1239C76EA97B306D0A408CD94644D4CE6D06F6A3D24C03709C95810D88B38D3C85F6
1240F4579146632D60955FFFFDDC25FA4E018D4047AE4540CF20D9F36A0FA0BA678C
1241A02173ED0E0D96033B84D23EDF250EF867163D5068A63C244BFEBCA03EEEFE6B
12426BC4609A1F6F8107AA8B5AA1AE982ED8D67850CBDECDB7EF8FA7E61447867B5D
12439E3B015635279DE022508F7B111AAE91B4D7431CCE2BA2D56CAFE71C54FFEBF0
12449B8F30AC3D4C7B00DED5E18583987D0657CE49412931B59F777DDE34C32B03EB
124567CC64FD8A0D3DED8ABDAE904F21402A9BBE0773098DF09FD5378AF589A005B2
1246E54C5B8F0223EFE41CF0AF78C7091D0C8B28AFBD271938F41982F06073BDA8F9
124739DBA4DC6590392F3BACE9820D1B0FE88969669E89573056504B8892FB407CC8
1248EB296A870B529B7D9E6C6849BD64FEEDFDE6F82A3AF65B3A4555A111C42D083D
1249F7C6B09F7AD928C28A172F2B3929AA0038F02C440D35189FEF7797C4E8173117
1250355A651CF4637FBACFEA5BEF2ECDAD0835F86D5DFEE8A0D59BAE4517077B1C04
12517FDEC85943101A2BE950BEA0402F71184D33388D59534E01F4422D28F2718258
1252FFFCF6E247896C1A470E6D5821CC27C00B980A0763823134081719637A93E130
12531AC64EC572BD9F960C1B50B55948FDBAFCDC604E51BDC8C0C3B188FB0347BC6A
12544F1B77A3708253BFFEFC7B674EF57F467B96793FBBA4D7672269491583929D66
1255083116243107B26DA87EB8FEA9077B670FAD425F1508DA1BCE72BB1F702E969A
125657DC0520930A222AB71D09383EF842543E6C9BD3ABFB1A864B8CE1F6B0018F49
12579894CF4826113BEF27B379C916A15C122E338ACADBAC6C5C1F4C730EF8387504
1258252108EA4DACF23CBC0C05DF73046D9FBA59599E709CA04C92700233B4442E84
1259A162CE13526CAAFA590FB0E2C40A9F307D3C48C94EE0C5EAFE0E6F09E073F0E5
1260AFBFFB390276CF294671F5E747A7314EAB3F4A1D8F8AAA3908F3FEA68FC77AFD
1261FA0E64AFF2EB3B9036EAF8B9A79107507BF9A4FE20476F6641ADAD2D530ABC17
12624DD991FF20526265E37E4467DBE0CC01BF2C794B37397F3FD242040E11B31A68
1263E40C1790200B7524593AA9D0EAB84A76B67E1D03877FC17F708E0A7AC8CC2291
12645CC200BCDC262825C608DFEFAAB22150E344E744DD2BAE8D23DDB32D99CDE6CA
1265B655FDF9BD1172C721F3B4B4FEEABE1B4F2F061631D79DB0A810917FB836AB26
1266D89DB7CF2B44EEC77257571D873EEC3C16B138ADA8D89C26118A7857AAEA2406
12671EAA6D7341931C22AFD986C991661492A752ABD7A46FA6AF48FA63060E311850
1268854401F0BE9C76396DD5CA7331BD3361B62258806ECDB608E4F41E5E57B95DC5
1269D007A3DF73886E2CE3A6CC35739C3EC19DD66B382E4E99A28DBFCA1D556A72C3
12703669B28EFF355CE14273CA318A5F3A0A1074A6FCE263AEA08A4F7415D5244B29
1271E9130A5A2D42DD31481C8424259688EF24E8075B8F05D5AC8EBD206E20AF5FF0
12725D4B2851247A70292C551E6EBC1BB19BEB6C13F7EC3D8FF9BEB56A8131CE6536
1273E02AD75D553DF139858052C42F0051E3CFE89C7682FD118CEA45A0220FCFAFE5
12742F85B4972DC3824F3DC9E30276592D5AA9F2A8EE2369006515DFA3EDDE6BA960
12756EA9E06A9547DBC1B9323081E03E8F7E9B9B7BAE77926F8DC1D3A3E75E504AAE
1276A415CBFAFA73C4FA03DA023FE965109286906CDB5950B19B5C93B19E7F13EDAB
1277D4EA8EF4DD163A569DDE50AB8935968A187DBFF6126C9CD4A4A0037D43CFE4E1
1278E64686F7797A9F889A6848E25B6BC6DC56421679FE5B5F50145DE56C8A7F5326
127972722E4B2F5F699F5607B659E62E0079926FC32DD941C8C30AB8044B02FF1333
1280858346272BB8BE62E060ADF79880B8E49DEE95E3A9448234DBD0356256866FAC
1281A6320E2DE52A4701D75735AB7C74A141A0E756CD0911E17C15082078479CDED7
12827DA3284098D9EB7EB94C9334B9F828B64EFEDE90AAFB09BCA7EED54A97315114
12839E8374F142219812746B9471C47FEB1A91D72DD4C55EB328637FF82BF7B2BAB1
1284782ADC4EF83F236F2FBF18B709032E82B4707E495957A0AC129607612C5C2FE5
12858D3C37A99B1A72ED892CB47D46DAA2D9B1C31D23BB70059C2AD1BA57363C1E65
128654E9F3A9579366A511ACB6D012C5288F7A044313EB0CDB62BBDBE443B693E420
1287A819BB16E16F05005F83A19BA6F25289C7B97AA785B0E30467665B66E428D490
1288F0816EAC535888EDBC2FB9963E681528CB1CE2FABCF540BC2D4835DA3824669C
1289EA23B51CD0BA683BB2F05CB974DE2B5D1D45D5EFDD9142347AF28EE43923FD44
12909AAF8959C65F4721E18CF74E648E29C14767FC1318844ED896CDA69E9FC3BF06
12912F0B6BC8D036012247886F35057F5F730C1C247454C8F079F49364CBCD0E428F
1292EB3F0F33EE6E814879CF6E1C77C4604088B0B1B7BC9A62A0CD5701E680970156
1293FF9EA53A26ADDACC64F5E982017633F0F52C80C5F8DCBA6E5685661E138A169E
129402EF58EAF37FFB230083EC44545C5B00BDEAE2FE48209BD7D3F104959A2EA005
12954C9D49652EDB0E9E33FE27B7C60E55C4EE9BCA5168480428D8AC31DF912DC4D2
1296F9DE606B1C446AF764AC388FBC83F12A5A5D7694AC6EACAB408384D5BB44E3D2
12979E76767BD9F390AC855C4247DA1E0E85B407DF2A5E1C83309C1BC5A5D17A5AFE
1298D11E12BC74C54B689A62E76AC69A530306263FE922B60F8F40C0985BCD0A0C96
12999C9A9112312154840EA81291E6856D748035874577C95169FC5CBA4CFE871C46
13000C4CC83C226D77B22A181DF66C6BEE70CE2E4F80D43EDC2FC6682A824935EF44
13016067A5211DB2FCCF7E08C5BED8059DA8A48823B13B7F89B94646F3B19ECB7AAB
1302FBECC6A88639981D5A9D0C5C6597FC8603A5CF55AB12C9552259285A49CB8DE2
130341BA124F5560FF9370757FFEC238897167B6B53C0694F2F7AE51BFE24484F544
1304311B394AD8AC70DE40D04A65D6E413F010E2594750908BB57A8D3B14F527499E
1305E50C191933339E2AD31682A947F73F2ABE9600EC2AEBE8E2BFD7984A0DE6FA14
130666979AFBCBC238912F1D9ED75263691E5B5D7FF53E89489DF2A913C5337E0D20
1307B7C44727C0A235170C861616D09E47EAE84878FB85FC4AD451F4252459581A57
1308925F0D5F3E7E8F58921F2C400538B964E31894FDB34D237F708E45173F822E8C
1309ED1D50EC067AB42B5E938BC87BD2ADC343A53CE7DDDA67B802F737450746CF9C
13101998685EFDB9ED0E3BE1B53586A2982CA3083BAB8648B814F7557C6B804F7485
13115BF3F2CEFD04917DBBA375524990A995CD66810CB1ECE7EA958403E45590F1B9
1312B5ACA8C745086DDF991DB49D71D62BF5B3EB7A94C56B3A50C66BBC0A3931AD07
1313D1EC0F919228E607FC8C1AFFDF84421C6B07A5C451945560D1AD4BEB7405C033
1314F783E36EFFF57DD7FD73B7F157F95F43238BC8471751E2F48B100E78F26D427A
1315F55A604F3C026C84622D9A333E6BF853A23C6BDA3E4EC5522E3FA87A556E8F6C
1316180BB34524DC5F88783193CFB97B52E2DD0CC729B9838314CFBB792589524D07
1317CA95197B6ABC9C108FA596B986B986E8924C9549401E63687C75666AC3C9614F
1318C6D1A3A2B587C23E6442DFEE3DB6E217B07AF9B5366909EAF116B929134520CA
131921B2F1AE51A2E86F9C9E63EA1A8D793222BFB7C14B734D93A9DDA0923CAE8BF3
13202869C735E2621B4504F56E95DEBF78945AA14FC3C71E67CA3A14F8E67EA97C4B
13217FBEB8CCE9A8A5E175112BF492BC4676E65812B07AD3FA3602E348559804CF0D
13227F2B7B2D04E1CD54C9EFA0111245D326031F9CD55CE35A9C97864D7D2343029B
1323F63CE981834FC6EDD8637276E75447288C9384C5EAB7221B3EBAC87ACD43A7AB
1324B59A0CED944D84151368D51D842410B8A31AF8FAC669EFA13AEA737A3A1EBC67
132584B5B4FC6CF7FE3B83FCE1FF87C74805066EF65F6ED21FF106648A0B93BC3509
13262C8A67319225BF42BC0E7C5C5EFA1FA1D1A14813FA065330D88465D62995B723
13274D3A5EA85EF4D64897C5DD3613EE8E823156C0DA75DF4C8C3F4B6CF90F4FD807
132818ECD1B542D02B04A2057D9E9813D75473763CE08011FB4B0AA1D677209CAC26
1329ED8E7C2FE95590E9FC14BDC52B3D08FBEFF99C757EBE4C8F2A74A945FB384325
1330EC722326C2A4140F1C069E67C5DFB3B11B9BBE123C76E1451F8F25CC79D8A65E
1331B58CF9668A6F4EF777A127217E16D9C7EBA02293A983A7B36C45D4B124B452B6
13325078234AFE81698ABA4D3F3C271ACD2DA371AD295518BF8E68EFF06703EB4146
1333924776B618637610BCEE5C095F3F94027B142CD375615E110E5D26D4E87354FA
13344F82B8F6690F586EFC0DF41111AE5FAC1DB414CED91061225D30B484D83ED94C
1335CDBE83A188B93133B22EC00CFC6DA0B99F78C27BD9B23BC1AEBE376C94C4F6EA
1336294ED84CB4511E8492B5BF73CED87400ABBF9DD98302C8ED1F40F5E8847B6ACF
13376CABFE99AC65C1032FE30C8E33065C621E89B376C5F90998E7AC246E00368FDC
1338EF9E496A62EF6F273EAC41D3C5C5EE6F78E51F8DE92938A50AAE3CECBC6B297C
1339A6C8D8BEF1E781DCF6CFEBFB1330225A372081079133CED1EB680C0046345F44
13405FBFEDBFCBD163CEEE390C735C562B6F2037F2A1937702272D3B541B4C0DB44F
1341351A6589C1A68C32F5E165C2D75DAFDBB41A6466C6B31FC45A484331AC6B8E0E
1342DDE99F924BD26DB1A4E3508CAC4547445A444D997ABD0F4DD2A6A75E0E5C38C3
1343AEAB391A6496381B12157AA9AA5DBD429DEFCC9E03721E32CB89D42AB2D1DC0B
1344884933739214DB66E632049672EB6493E94DFB7B928C1307D3B9080890CFE30A
13456A201B4DC5EC38193083CDDF3350E8D4B76C0F112470CF896676B2334B7FD2FF
1346AD5E1361C20001217617FF6333D46BC09A688B5DED20CFE9BCAAF46E842E348B
134724434581F35F8D6C275893DEE0328849BC6E3A1B032F8F994F2501977B517363
13489B27CB1D19892FD7B64C7A86AA0BE8E8FE330C4C2C692102688A4174D2ADA70A
134901F8228E5FE55F5C93099AB75444D9DF32E2CD708D54A4F0570F8A264BF542E5
13508284FAA65C42960AC841CB16B017AA594B4BDD4E998629B96D3A4494BE0532FA
1351971F12AED1CD9EEBE6DAA5CBBFB29AD389E9F7C8DA1C32AB6EEB68873AEB3785
13529825B153779CDF820940D8EE3803DA8C19E21BC8EE7CE8C57B321A7F9C9CD2D8
1353D8B9A9AAF795624C8C9397EE3EAC2EF8A94BF7F862A5B05D6DD962716BD61A7F
13541C07EC9FECF339094D377E232E0B81C8C06EBA63D50BC0B64E71D2633683FF45
1355365C146574F189A715AF191BD29FB01CFFD9D9C4C69EEE30BD144B102451CF77
1356CD8D21258F237B1EF44853207D620E7FCCBD0D9F41FEAE8D704F64BA48E9E32F
1357A1615C6F8A18C8D34D8B73148AF6673A4723420C1874486D3B2C66734AC48443
13589EE21E0EBCBBC22C1ED7D5F08AC5AA1A3F22DA2054F4BB10CCD30D513A4454E3
1359FA6CB25DBBEAA4540A2583F5025814C40F0116B4BB430497E519D5CC4E881EBE
136057D9342AAD3FAB1142648CFD6299155D7D6833986BFD28688BD199D43D96C80B
13615232E2B2877EA961FFA8E9DA7EC7F8A75FA0CFADA5B8A97A3A1D8F9D2CF3FD48
1362FA818370F2E7AD2FE03B9F97ABBECF337C97161D2F123944C036BBCA9F983C00
1363EF987631975194FCCBB708384DEB5ABE7C74B85F9D7916470C0740509C6E1422
136422D6417DC2ACE7A9F81196630DD8859F54521C715F370EF1BE899E09B90BD196
13650925B3352173C50B0A734F65ACD272FEE3F5F1D70B6640FBF1D16A4774AD8558
13667047AB50EE33276E7895D8FCA529D7CD3E7F5C944B3F67758335F4F89971214A
1367D4A8C5685A08EBAE962CCC8828AC07852CD86F73C2B29CAB113F30DD712B482E
13687AF5861053B2DAF66D4435BD075F5846F3E4B3E280F4CB9E0D2527727E2717FB
1369FF3AD11BFC7D7CB8AD8FDE1176EB4C5716D326EC07CF6803CCB907F6245008E4
1370918C582387E65AF3975E5A1C723565048F9535F588D2D95FD836ECD4206DD864
1371EC0CA5781B75DDCD16C56F238D5DCE5E2DD5E98410AF9DB27C0FFB82734F0DCA
1372812129B1B4036804F9CE7732C6D8520BC605D08759B8934126C8B4D1E2925BB2
137303D7FABB36ADB0E37DDEEF17A4095EB414458C28EAE187B42330812233D66766
1374DF00EF7269571D8F5B0B9DF4C75147288782A25A5242464BDD62369E5BABCBE0
1375E941903441FEF0D27CCC90DB0B23227F6A6ECB4844B62F7D19EFEA6DAB6C15D4
137693C10ECF818A5371FBBA71990CE09DA9B84BA7A839BAA3DAF1B59DB1093D7892
137709268A57A7CA92AC65B665246981D165D8514BDD36BD083CC7B9548A8E18B2F6
1378F520CE52DBB2AF50CAB62DC30670C55F06F176D0DF351A1C4D3B743CC70EDA78
1379C9A4439521338C0626D62046D3C301AE9C551E952A945C5C7CFAF56590429AAD
1380BF1245E40501DB9C694526CC1D52CE9EA95EE6236812E8C7FA63E559C71275FC
1381FBDB0BED9EF4AF403075082F8E1EA5DFCC3C45575FE2F8163743DCBE275E251D
1382FD1243B28B40E5D435BEAE113036E783C7AB17E71687B0B161D4721D9C5FE168
13835D5DC9DE54915C2B00214318C9249C31294CE618B66C3DFD9ECF8EDF32CDDA2B
1384E9ED3712E48A17120BB7C66D811B88BE02FE18B6B502286781D394AE6057E519
1385CD8D68F5EDAA2BFDEF3D266259ADC7AA1E5E9465A53D9E2ECFA1504C4AB2F944
1386BF2C8967D76BE4B599E3E76A35CE06D51F30263E42764B3168A32B04AB2E001B
1387565911AAB607FA5B8F16F30E3415F82CADE3B1441406CECC125F4DD0D987E23B
138814675EFD78CB464BC514293FBD9B67ED482C7D0B1BF9072C2F631C60E01B5BFA
138988ECA463B4721EAA6E2B34C1E3F0F90A402DBFE03234837B6DAB7E0CD72CA065
139087FBA4C55A8DA3D6BA2A0B43145D46D914291003388940E0328A6CBB0D1E83DC
13910DD20EC415ACEDB31539284B64F240A9D0C2DFD49533EDC6B678B46CA186027D
139269DBBD6DB27B41728167F8152BFD18A07304EAA80D103B76DBE87B208577646C
13930CCBA19118BCCC910212EFF7533BB8730BE292D247089CA71153BE22CBE2645C
139401FB2B85FB39C969431729EB31EC454E429F8E6E1FF836B7343B45F5AEE2FE6B
1395AFC596060D18880375891730CB9072FD5A7D16C56A794C2A1D118DEEFF2CF857
13968CCF6F08242D1892E8DEFF85DD8B8B7BF47AEABDA115B282C27C7DF8F235B056
1397213351D882CDDDF895D14F77E22CA5CC659BFB8B116B83781209B05037DDD0AE
13980E32D8D425CCE833A30E00D2E733FEE802A7912157F5636E9EADB8CE012FB092
1399BCC584613266C607F7E496F0A5A3CF850E821EEC233AD1112AE56956867D258E
1400D242CF1B1A4E3358ED9F50BCA552A1EEF71C496D65B570784A716950D286C187
1401A1A71121B581EA267B569E0DEA8BED793C74DBE3AA2091713D3ACD49D65EE813
1402B2A85B8EBCF6711105915BB3DA9E5FD2A5B5DCCBE823727356A4202746A374D7
14031ED14E687B95AB09340275699FAE367973C1A1B7DC1FFD9D5422E052C8AE2610
14041370314197F6C7631BAE6D1198D59B593C2A2C9CCBC200C83185E63999632B99
1405CE7C5B28B5F02C539660C975B0A18898FAE8C8E906B86D0777D1854BC31988D3
1406611F2302C9DBF6321AB5A4FDBBBAF575B94A167B3E31F8938CC1EAD88654C1CA
1407CBD3106EEE4598DFEDFFB9956BF6C00C6B29B945FE6B9142F8F0519CAC769742
14081FC3659A650CA49BA6D5500762CB2F6204936C52DC24BA48CB5920E51001BD25
14094A5251713D49A17245C219F2B38F87FACF01AFB402C83B84E03DBDF1F7325A93
14106C7D2392274296CEA3123F3CA7D73F6DD889C78929953CBFF4E74E23A02E6EA0
141160F49155C7CCF3C2CA079E7E3D804534C42938EBC7FF94C6129F74C28F527474
14121D1B32DD19E811CF73B39F300DEB78BA1BB953A0A938E9A9A5F2AE613D422F5E
14135518DD630E209642D814D01417FB9EDCFD391436388925A9DB5D663EC84ADE2B
1414E087DCC33930AD2B76194DD4DF12F05BFBBF7100FBA22DEB809C67B46EA0943E
14155D61B15B97B7894383EBBEEBADF5805822454C053DF5089ED484552C4E1D2900
1416A7AFB5152D2CF2C501098AD8B2491CD733DB1A5818C636299FF98F96A7E9027F
14179147FF5EE7A170D301A2A58A32121E64FB78669750EF65233156130BB51DA26C
1418C684CB4946E909544298F6B8EC328D6C7322E838CC41297F5A1E618FFE319124
1419305DB0285964CE1DD0307F1B521E08B5F3C57168A538C2EA1DC3B64D986D9A43
1420BF83C5FC9E6A9FCC2E6EE9D7C581480EA0A1E3BD3171F13D576E75A9C3479A67
1421712DC0D52F47AD6296E5B488F9D3A6E3754C872C2DAA6A5B5FC0EB340F985E02
14223E44E07753BD36D431F4B3385CAFD82B7A593C44F4B090188189ABB97C593CD3
14237F6E41BA6B5EF6F9F7F0BD98236D8A2541D27111BE59C4664B361BC681B3D50E
142428C97EDF51B365CEAA2B43B087B1B6333A27F1C1C01A9E974CD87EDDD7D184DA
142502989F47F1188FC701E66B5306D74B2864397C7F3817DD6A40C5D26E098BB9BA
142658D94EE5FF0BE890CBE7717D9042F405725D2C08AFE9AE6118C2D4024A13CA4F
14274C3FBE1A6686290FBF812C0442FFB474421E4AF7377A106CE8818D4A70E91FEC
142814F6E4493DF86996BEC392E47AEF1B21CF18673682BC666FE16F9A32F752CEF0
1429F86E481067C9C83CFEDEDAC560D390167DE04B9EC0FF3E5FFDEB9CB00125829C
1430B3EED3E9668E4CC601DBA68AC54DE334E5D73CF78D12E4A0B4DD3C4AD8FFF573
143191998254E3C1735FABD53ACB450D03C9E090D57BB542CA8BED6CC382D6E65E89
14326C3D1B34F3ACFBE8A92488F5F5FC840BF7C75AD46945A56B3FA8FECC3EBADCA3
1433D55CE1F07975B0A2D04DB2C3A00651D2C10E900F54372D638E40E90FA811EC19
143428E524F84432828BD8777D919F6C0D1C1AC623EAA258349CF2072AF11544AF25
1435C93133D1D3D358BF8B71E94F367E5641148513CEEFCC461A328DE1A9C43A6DEA
1436123502E2F98A9FA8086198F911168AD85054AC753747E7348F964DF5D039E364
143720C3679FA4659C5F5CA2D3EB75A2620CCA0304AE592073D0C5FC57692235A37B
1438ED21009599AC22E2D2C3E83651B3FA45195BEC1396857546FD63391E28C6084F
143936E782ABA8F7BCC01163DCD85523D0BFA9BC91DBEDAE9D7495E9DE5389A10299
1440AD8EB3974638A05E322A58223D504E234FCEC89629C6FFC6C3790DAF7E6F81DF
1441C46DFC8AE53DE4D3676BD927F348EB7176ECB3CBBE7247775CF0723471EF3085
14423ABB677186121C901275360541EFAD48059105658C99366651C68B4EBFFEBBDC
14435C2B79D537A9D193E041546C25F3FDEC2E760A5410571016F9EAFAAE8501693E
144469D2CB3C2CC6CE248FEC8F1C98654F2A9DD5E0DECFB6913CB22A7B92682E3B32
144522D49ACC4A98E9508CA9BB539DEA589657D96E0E35A205C9AFB73C72CDD485CC
14466E3C435EB51C9E6D50145A568A00F51ED4043D7F6055AF350BC4AF9C733476FA
1447675460F8584B8974D7061D351308F0055BFC3019AB79CBBCC8AC26D229D605B5
144845B1F5D7B506DDAC71F3775DF4BBD00E772BF1A857644E51BC31DAFBB48427BD
1449148C377C6DABE2BC17AE234EBDBF3060F7259A0FB6561B287D4AF864DE29D7F3
14500A7C9A2ED28C6446DA1A5D6F1C6E922A14D621179EB82978C85A49B718534A69
1451895D0C53F03AC89BDFA9245F6903805203EB211499533BC29F5AEEFB01EE285B
1452DE97903C9F88E377AB6FE0D99AC2408C0C62BAE3FD818539DDEF5BCEC605A770
14537C730C9A7D97ADE411301454145B6401CABE6447ECACE2A613F2ADDE4DA61B40
1454BCCC22CB08F7F5E516DB25B1B2291618619C380A67F628567F0495A9EBEC04C3
14553478111CBD51536386DF9E816148287196CD07E1EF1AF1E425E733019201BCFA
145660D2004615986454AE2125A1993E56EE9C8A17C572B69F881D5ECC28E7FCF5B8
1457645DFC1C47B263E7D6CF826708F40C19BA4E3C2085E502247198989AA7478A75
1458E2039E37BE2C697C391587054CD67A9A07DE929BAA58F996BAC2A9158B52B363
1459627582713C7AAF0928073799056084DB51A47D2CBDD1FD98BE64E732D74142D4
14605B0B124187FB0DC5B93602F064D3EE7F58E02209FD3167E9D85AC5DB9E306435
1461609118474D16FA97DF7CE052934BF0443E0E013E5C8DF7FE2B8FB9D5B8E33892
14620286E51A7E3112B865B69AAFE571399750BA685ABD55E1958FC8FB8910EEA7A5
1463C08EF52A8C543568EC4FB1E77ABBCEDD42266067EA264946D3AA4B54EB337D1D
1464C08988FF3CFB685FD00718D8E3399CFC29B26CEE6A4DF1EF624AAD58C1949779
1465D32AD29E2292F7330AC690190FE6A1D9B9148ECD7F2D28F33446A783A4E0F5CE
1466395954048BB8DDA27AEB24D52E77227B64B86F5B806483DB10A7AB800079DC56
14676427EFB5B913236FAE3477C5A1DB97E6B85407AE86193366BAD0505E231F651C
146891BD0B0724B13D8DA4
14690000000000000000000000000000000000000000000000000000000000000000
14700000000000000000000000000000000000000000000000000000000000000000
14710000000000000000000000000000000000000000000000000000000000000000
14720000000000000000000000000000000000000000000000000000000000000000
14730000000000000000000000000000000000000000000000000000000000000000
14740000000000000000000000000000000000000000000000000000000000000000
14750000000000000000000000000000000000000000000000000000000000000000
14760000000000000000000000000000000000000000000000000000000000000000
1477cleartomark
1478%%EndFont
229%%BeginFont: CMMI10 1479%%BeginFont: CMMI10
230%!PS-AdobeFont-1.1: CMMI10 1.100 1480%!PS-AdobeFont-1.1: CMMI10 1.100
231%%CreationDate: 1996 Jul 23 07:53:57 1481%%CreationDate: 1996 Jul 23 07:53:57
@@ -246,10 +1496,9 @@ end readonly def
246/FontMatrix [0.001 0 0 0.001 0 0] readonly def 1496/FontMatrix [0.001 0 0 0.001 0 0] readonly def
247/Encoding 256 array 1497/Encoding 256 array
2480 1 255 {1 index exch /.notdef put} for 14980 1 255 {1 index exch /.notdef put} for
249dup 0 /.notdef put 1499dup 58 /period put
250readonly def 1500readonly def
251/FontBBox{-32 -250 1048 750}readonly def 1501/FontBBox{-32 -250 1048 750}readonly def
252/UniqueID 5087385 def
253currentdict end 1502currentdict end
254currentfile eexec 1503currentfile eexec
255D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE 1504D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -313,10 +1562,10 @@ end readonly def
313/FontMatrix [0.001 0 0 0.001 0 0] readonly def 1562/FontMatrix [0.001 0 0 0.001 0 0] readonly def
314/Encoding 256 array 1563/Encoding 256 array
3150 1 255 {1 index exch /.notdef put} for 15640 1 255 {1 index exch /.notdef put} for
316dup 0 /.notdef put 1565dup 106 /bar put
1566dup 110 /backslash put
317readonly def 1567readonly def
318/FontBBox{-29 -960 1116 775}readonly def 1568/FontBBox{-29 -960 1116 775}readonly def
319/UniqueID 5000820 def
320currentdict end 1569currentdict end
321currentfile eexec 1570currentfile eexec
322D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 1571D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -350,963 +1599,3498 @@ C1654A0861D138AE84F16B962C0122AC9345ED069B0D66F1B775F1D5E3CD3B
3500000000000000000000000000000000000000000000000000000000000000000 15990000000000000000000000000000000000000000000000000000000000000000
351cleartomark 1600cleartomark
352%%EndFont 1601%%EndFont
353TeXDict begin 39158280 55380996 1000 600 600 (ru-refcard.dvi) 1602%%BeginFont: SFTI1000
354@start /Fa 242[71 13[{ TeXbbad153fEncoding ReEncodeFont }1 1603%!FontType1-1.0: SFTI1000 0.3
35566.4176 /CMSY8 rf 1604%%CreationDate: Wed Sep 12 2001
356%DVIPSBitmapFont: Fb larm0800 8 56 1605% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
357/Fb 56 241 df<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A 1606% See the file COPYING (GNU General Public License) for license conditions.
3585A126009157A8714>44 D<B512C0A412047F9018>I<123C127E12FFA4127E123C08087A 1607% Converted from METAFONT EC/TC and LH fonts:
3598714>I<EB3FC0EBFFF03803E07C48487E48487E497E001EEB0780A2003E14C0A248EB03 1608% ecti1000, tcti1000, lati1000, lbti1000, lcti1000, rxti1000.
360E0A500FC14F0B0007C14E0A3007E1307003E14C0A36CEB0F806C14006D5A3807C03E3803 160911 dict begin
361F0FC3800FFF0EB3FC01C2D7DAB23>48 D<130C133C137CEA03FC12FFEAFC7C1200B3B113 1610/FontInfo 6 dict dup begin
362FE387FFFFEA2172C7AAB23>I<EB7F803801FFF0380780FC380E003F48EB1F8048EB0FC0 1611/version (0.3) def
3635A0060EB07E012F000FC14F07E1403A3007C1307C7FCA215E0140F15C0141F1580EC3F00 1612/FullName (Computer Modern Italic) def
364147E147C5C495A495A495A495A011EC7FC5B5B4913305B485A4848136048C7FC000E14E0 1613/FamilyName (Computer Modern) def
365001FB5FC5A4814C0B6FCA21C2C7DAB23>I<EB3FC03801FFF03807C0FC380E007E487FEC 1614/ItalicAngle -14.04 def
3661F80003F14C0A2EB800F1300A2000C131FC7FC1580A2EC3F00143E5C5CEB03F0EBFFC014 1615/isFixedPitch false def
367F0EB00FC143FEC1F8015C0140F15E0A2EC07F0A21238127C12FEA3EC0FE012F8006014C0 1616/Weight (Medium) def
3680070131F6C1480001EEB3F00380780FC3801FFF038007FC01C2D7DAB23>I<000CEB0180 1617end readonly def
369380FC01F90B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F80 1618/FontName /SFTI1000 def
3701F01001380000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E00060 1619/Encoding StandardEncoding def
37114C00070130F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>53 1620/PaintType 0 def
372D<1230123C003FB512F8A215F05A15E039700001C000601480140348EB0700140E140CC7 1621/FontType 1 def
373121C5C143014705C495AA2495AA249C7FCA25B130E131EA2133EA3133C137CA413FCA913 1622/FontMatrix [0.001 0 0 0.001 0 0] def
374781D2E7CAC23>55 D<EB3F80EBFFF03803E0783807C03E48487E48487E003E1480140700 1623/FontBBox{-95 -321 1415 932}readonly def
3757E14C0127C00FC14E01403A315F0A5007C1307127EA2003E130F7E6C131F3807803B3803 1624currentdict end
376E0F33800FFC390383F03E013001407A215C0A2140F001E1480003F14005C143E143C003E 1625currentfile eexec
3775B001C5B380E03E03807FF80D801FEC7FC1C2D7DAB23>57 D<EE01C0EE0780EE1E001678 1626D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
378ED01E0ED0780031EC7FC1578EC01E0EC0780021EC8FC1478EB01E0EB0780011EC9FC1378 1627016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747
379EA01E0EA0780001ECAFC127812E01278121EEA0780EA01E0EA0078131EEB0780EB01E0EB 162857609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9
3800078141EEC0780EC01E0EC0078151EED0780ED01E0ED0078161EEE0780EE01C02A297AA4 16293894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4
38137>60 D<12E01278121EEA0780EA01E0EA0078131EEB0780EB01E0EB0078141EEC0780EC 163041C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E
38201E0EC0078151EED0780ED01E0ED0078161EEE0780EE01C0EE0780EE1E001678ED01E0ED 1631ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F
3830780031EC7FC1578EC01E0EC0780021EC8FC1478EB01E0EB0780011EC9FC1378EA01E0EA 1632BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0
3840780001ECAFC127812E02A297AA437>62 D<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC 1633C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508
38530FCA2EC70FEEC607EA24A7EA349486C7EA2010380EC000FA201066D7EA3496D7EA2011F 16342666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C
386B57EA29038180001496D7EA349147EA201E0147F4980A20001ED1F801203000716C0D80F 16359A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215
387F0EC3FE0D8FFFC0103B5FCA2302F7EAE35>65 D<B612FCEDFF803A03F8000FC00001EC03 1636EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1D9658B03F6CA8
388F06F7E6F7E82167E167FA6167E16FE5E4B5A4B5AED0FE0ED7F8090B6C7FC16E09039F800 1637B946CC6A042A9252DC769230F3BD7E28F4F053048B53BD212C59DA9014DC7AE0
38903F0ED01FC6F7E167F821780161F17C0A61780163F17005E16FEED03FC0003EC0FF0B712 1638EC0B3CDA53F5E7841151CA72391E3A10D7516363D380459F088D76B89C3EF169
390C04BC7FC2A2D7DAC32>I<DA1FF013C09138FFFE01903903F00F8390390F8001E3013FC7 1639B03C4766CA4B85355DB143022F211836E5D6305B246CFBE9FAA7BBC54FFF001A
3911277017C143F4848141F4848140F48481407A248481403121F491401123F90C8FC481500 16402DB17495F48D6E54B6FA8A07F235DDB3A77888969BBDAE1805687208571A3504
392A300FE1600AB127F17C0A27E7F001F15016D1580120F6C6C1403EE07006C6C14066C6C14 1641BB3369B5BA66993CB4F6637C6D78C2049B479579C840FD79266C063FC5C3E202
3930ED8007C5C013F147890390F8001E0903903F00FC0902600FFFEC7FCEC1FF02A2F7CAD33 1642CAD886763ACC659E21F8BD2E4BC8C80B3E38FECFD3B86DAFB461ED9E7E1A0A14
394>I<B712FCA23903F800030001EC007C82161E160EA21606A31607821530A293C7FCA315 164395DEDF3EAF23A3841911D45492010C1EAB95BBD126557690A998052D72DBCE88
39570A2EC01F090B5FCA2EBF801EC0070A21530A217C0A39238000180A4160317005EA25E5E 1644490275B598CA2074F6F567E9FE9BF00422E28353DFB841E0E3C0022F349A558F
396167F0003EC01FEB7FCA22A2D7DAC30>69 D<B712FCA23903F800030001EC007C163E161E 16452BB17A2A6F7BDD8B6348996C73F5B17C75A64BDC52975EE709A13A78235AD9A8
397160EA21606A3160716031518A21600A31538157815F890B5FCA2EBF800157815381518A5 16469D879EFBF0D6F37860D59ABC08F10D3367C5B7DAB76C265E687CE3B6352AD978
39892C7FCAB487EB512F8A2282D7EAC2E>I<DA1FF013C09138FFFE01903903F00F8390390F 16479127D2DFFDC37BA11A4FD123BF2090C3A371D2D4BDA1683B0CDC42D90BFB853D
3998001E3013FC71277017C143F4848141F4848140F48481407A248481403121F491401123F 1648612B9764DA9E47D93BF2AD5A3AAA6CC25DDA316BF4B8A357E0BD8DBFD359041C
40090C8FC481500A300FE1600A992381FFFFEA2007F9138001FE0EE0FC0A27E7F121F7F120F 1649E30E763D97D07A2599B250E855837276A91317E68C073482D86B13EBD8AC1FB0
4016C7EA26C7E6C6C141FEA007C013F143FD90F8013F3903903F007C10100B51200DA1FF813 165084361E47E0529F4EE7ECF91C20AF7F8F0F3C50D555F0CE868F575CA4887169E9
402002F2F7CAD37>I<B512F0A23803FC006C5AB3B3A3487EB512F0A2142D7EAC19>73 165131886F602E3FC3ECE4C8C2A44F2756FCEF03AF7CC9DB3DFBCDF90E884AE2A1DF
403D<90387FFFF0A201001300147EB3AD123812FEA314FE5C1278387001F86C485A381E07E0 16527BACC3A3E210B235B7F548E43221D2B5492C8C2742F7E10B6AC4B028E2534A7C
4043807FF80D801FCC7FC1C2E7DAC24>I<D8FFF8923807FFC06D5D0003EFF00000015F01BE 1653B78CF6A4CABE55C1E5B193BA5A18C3CB83D520B4C370BA1F63FFABB2ACBC287D
405151BA2019F1533A3D98F801463A2D987C014C3A2D983E0EB0183A3D981F0EB0303A2D980 1654AD13AEDEAFE9598B4393F13501807A827B6662A8AA22453875D179A3C519F5E0
406F81306A3027C130CA26E1318A36E1330A291380F8060A2913807C0C0A3913803E180A291 165568809F9BADE016976113E3EC1E77C9D623DB208F4458A01D03FA3098878D8D6E
4073801F300A3EC00FEA2157C487ED80FF04B7EB5D93801B512C0A23A2D7DAC41>77 1656412F0E04466246A5C288DD481826334369F5B4853C7062D03CFA88A1DA6F6F50
408D<D8FFF8903803FFFC7F00019138003FC06DEC0F006D1406EBBF80A2EB9FC0EB8FE01387 16575CA0AF78EA1391B469859B00A7B0820096920ED9B916947493B04A964D732DC5
40980EB83F8138180EB80FE147E147FEC3F80EC1FC0140F15E0EC07F0140315F8EC01FC1400 1658F4084084A521945E1E080B0C9434404BF60D673AC6AC600FC03200B0EEEE8E1E
41015FE157FED3F86151F16C6ED0FE6150716F6ED03FE1501A21500167E163EA2486C141ED8 16593138731AA734976342C0D7B4BCABC4A5526F66B4367215A14348C871E99BC247
4110FF0140EB5FC16062E2D7DAC35>I<EC3FF0903801FFFE903907E01F8090391F8007E090 1660C7777A033F4A061B524B2B97D839C5CA258F772B60076B1FA827241F6AA77817
412393E0001F001FCEB00FC4848147E4848804848EC1F8049140F000F16C04848EC07E0A248 1661DA31C00366C28046CB4A25F352611FE6FAEFADF138942E75D2BC26E84BAF5EC7
413C8EA03F0A24816F8A2007E1501A200FE16FCAA007FED03F8A36C16F06D1407001F16E0A2 1662E9A027D006A71F6165D6BA6C48B28A43277474966DCF750A6B28557C121308E5
4146C6CEC0FC06D141F000716806C6CEC3F006C6C147E6C6C5C017E495A90391F8007E09039 16635D30AD9647EE836E7FEF2A6ED048289E359C54E9010A912ADD3BA1731919AFF2
41507E01F80902601FFFEC7FC9038003FF02E2F7CAD37>I<B612F815FF3A03F8001FC00001 16645C0E3D258B2D0132A4E068D1B3E46C78359A538D3F491EDAAC90F6C2EC51CAE9
416EC07E0ED01F016F8ED00FC16FE167E167FA6167E16FE16FCED01F816F0ED07E0ED1FC090 16658971C101698A4D1DC0570D7F6C476707543F829126E86C981B1ABF777B11464F
417B6120015F801F8C8FCB2487EB512F0A2282D7DAC30>I<90383F80303901FFF0703807C0 166613541B83DF22AEA6E178D5B630BCA75AF6C3954A58E620D561DE09809FB5AC47
4187C390F000EF0001E13074813034813011400127000F01470A315307EA26C1400127E127F 16678F2E52FB517C878F1E7C9B0DF328C1284E4B259EBE17E067DC85486F43A5BF90
419EA3FE013FE381FFFE06C13FC6C13FF00011480D8003F13E013039038003FF0EC07F81401 1668F745659E1138A3DC9E486D4E8E040FB096D06A3FAF7C41FBE2C4749AB79EAAFA
420140015FC157C12C0153CA37EA215787E6C14706C14F06CEB01E039F78003C039E3F00F00 1669A7490F5819E5AA671664772FF9981427AA7B9146CBF9F15521CEA6580851BD4E
42138E07FFE38C00FF01E2F7CAD27>83 D<007FB712F8A29039000FC003007C150000701638 1670642A4D1B0CFAC76C11AD5E3FB277FC745DAFCBBDB74C8CEEA8B64C7D8C3F99C5
422A200601618A200E0161CA248160CA5C71500B3A94A7E011FB512E0A22E2D7EAC33>I<B5 16712B31B8590E76E4852F907802E624888AA3B545837B730AB4F5332D80C9E5B717
42339F003FFFCA2D803FCC7EA3FC06C48EC0F001606B3AB160E0000150C7F161C017C141801 167212EC51B7ACE615B2B6F59CE6F11158F191CAA801ACD47CD16A19541272BFA69A
4247E14386D5C6D146090390F8001E0903907E00380902601F80FC7FC9038007FFCEC0FF02E 167322C76302E47C25720D76B5CA6F55229C7436A0077B2EB8CDE617BF3E94A4327A
4252E7DAC35>I<13FF000713C0380F01F0381C00F8003F137C80A2143F001E7FC7FCA4EB07 1674497A4E63244DE2E03A09A9FD459F6FBD5975E3CD0F4FDB90F2AEA7197E6D7685
426FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F00127E00FE14065AA3143F7E007E137F007F 1675339221906C6F4ABAA86C60E5D1B682D98C99E38B0CFB140C1A8DA85A30FA6C8E
427EBEF8C391F83C7FC390FFF03F83901FC01E01F207D9E23>97 D<EA07C012FFA2120F1207 1676B90E8CD4B1B28B1193A9D86770164CEEEE38D7F23A84AD292F2AA9391866DC5F
428AC14FE9038C7FF809038CF03E09038DC01F09038F8007C49137E49133E497F1680A2150F 1677E396C113B45485013DEF503E52442DC0D8BD0EB8DED6B7F93ED35538EA4D574B
42916C0A9ED1F80A216005D6D133E6D5B01B05B9038BC01F090380E07E0390607FF80260001 16785CFB96FC252707566F1E75D597AF192AFA801A097137A3C06457D8F1D82C084C
430FCC7FC222F7EAD27>I<EB1FE0EB7FFC3801F01E3803E0073907C01F80EA0F80EA1F005A 1679821BC367059E01E3EEE319902CD31BDF01CB939FE771F881F7FE31A4F18310B0
431003EEB0F00007E90C7FCA2127C12FCA9127EA215C07E6C130101801380380FC0033907E0 1680820959855E9387EFD7AD553DFC13377E1A883568C7B98C4BE2651D1DBFA54667
43207003801F03E38007FF8EB1FC01A207E9E1F>I<15F8141FA214011400ACEB0FE0EB7FF8 16810BB0F545C53C146A467A2B1FE385E2F67117502589946B6CCD857646A77A99BA
4333801F81E3803E0073807C003380F8001EA1F00481300123E127EA25AA9127C127EA2003E 1682356ADFF1FEF6F14DEED94625B0198777868BBC8E0539C7748BB7531E32995D3F
43413017EEB8003000F13073903E00EFC3A01F03CFFC038007FF090391FC0F800222F7EAD27 1683FD777D555B22CF936A844FF05750A856764ADC18854135BF8A74C56DFE1DC0F2
435>I<EB1F80EBFFF03803E0783807C03E380F801E381F001FEC0F80123E007E130715C012 168429CDEF162FD7456EFD747DD6665600A4464C388256C0689EA93891C6F7E80F7B
4367C12FCA3B6FCA200FCC8FCA5127EA2003E14C0123F6C1301390F80038001C013003803E0 16858CA32EA57782592F15D28B49C5D78D509F6F6595F7435BC8AED00CC85086B55A
4370F3801F03C38007FF8EB1FC01A207E9E1F>I<EB03F0EB0FFCEB3E1EEB7C3F13F8EA01F0 1686554D41378C0DBD9B4A5F59DA78CF4A345D495A7649FBB5C703BE9B12BAB4F088
438A23803E00C1400AAB512E0A23803E000B3A6487E387FFF80A2182F7FAE16>I<013F13F8 16879980C4AADBE25C90D7096250DFE5F439639F339043DD02D1E7E91BB698E8712D
4399038FFC3FE3903E1FF1E3807807C000F140C391F003E00A2003E7FA76C133EA26C6C5A00 16888D19CC888119EFC8D97C8B44F79C286288A1FD2251AFFA1A1729F12EE46D7546
440071378380FE1F0380CFFC0D81C3FC7FC90C8FCA3121E121F380FFFF814FF6C14C04814F0 1689D91B7F0C2EF2318FBACF5F30AF2D23EBF2E564166A0FD31EB9C8E9E48CED8475
441391E0007F848130048147C12F848143CA46C147C007C14F86CEB01F06CEB03E03907E01F 1690882B9AFA057BCACEC4D91D6861625F254D66F6FC279902ABB867B3CD62F1135E
442803901FFFE0038003FF01F2D7E9D23>I<EA07C012FFA2120F1207AC14FE9038C3FF8090 169158FB7EAD2A047AD848A7363862C3B863D3C871DE8112D4A642C7461ED8C2AD3A
44338C703E09038DE01F013F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0A2222E7EAD27> 1692F0293FC8ED1C9996
444I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCA8EA07C012FFA2120F1207B3A5EA0FE0EA 16930000000000000000000000000000000000000000000000000000000000000000
445FFFCA20E2E7EAD14>I<EA07C012FFA2120F1207ADEC1FFEA2EC0FF0EC07C05D020EC7FC 16940000000000000000000000000000000000000000000000000000000000000000
4465C5C5C5CEBC3C013C7EBCFE0EBDFF013F9EBF0F8497EEBC07E143E80816E7E14076E7E81 16950000000000000000000000000000000000000000000000000000000000000000
4476E7E486C487E3AFFFE07FF80A2212E7EAD25>107 D<EA07C012FFA2120F1207B3B3A3EA 16960000000000000000000000000000000000000000000000000000000000000000
4480FE0EAFFFEA20F2E7EAD14>I<2607C07FEB07F03BFFC3FFC03FFC903AC783F0783F3C0F 16970000000000000000000000000000000000000000000000000000000000000000
449CE01F8E01F803B07DC00F9C00F01F8D9FF8013C04990387F000749137EA249137CB2486C 16980000000000000000000000000000000000000000000000000000000000000000
45001FEEB0FE03CFFFE0FFFE0FFFEA2371E7E9D3C>I<3807C0FE39FFC3FF809038C703E039 16990000000000000000000000000000000000000000000000000000000000000000
4510FDE01F0EA07F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0A2221E7E9D27>I<EB1FE0 17000000000000000000000000000000000000000000000000000000000000000000
452EB7FF83801F03E3803C00F3907800780390F0003C04814E0003EEB01F0A248EB00F8A300 1701cleartomark
453FC14FCA9007C14F8A26CEB01F0A26CEB03E0A2390F8007C03907C00F803901F03E003800 1702%%EndFont
4547FF8EB1FE01E207E9E23>I<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC 1703%%BeginFont: SFBX1000
45549137E49133E49133FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC 1704%!FontType1-1.0: SFBX1000 0.3
45601F09038CE07E09038C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>I<38 1705%%CreationDate: Wed Sep 12 2001
4570781F038FF87FCEB9E7EEA0F98EA07B813B0EBF03CEBE000A35BB1487EB5FCA2171E7E9D 1706% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
4581B>114 D<3801FE183807FFB8381E01F8EA3C00481378481338A21418A27E7EB41300EA 1707% See the file COPYING (GNU General Public License) for license conditions.
4597FF06CB4FC6C13C06C13F0000113F838001FFC130138C0007E143EA26C131EA27EA26C13 1708% Converted from METAFONT EC/TC and LH fonts:
4603CA26C137838FF01F038E3FFC000C0130017207E9E1C>I<1360A413E0A312011203A212 1709% ecbx1000, tcbx1000, labx1000, lbbx1000, lcbx1000, rxbx1000.
46107121FB512F0A23803E000AF1418A714383801F03014703800F860EB3FE0EB0F80152A7F 171011 dict begin
462A81B>I<D807C013F800FF131FA2000F130100071300B21401A314033803E007EC0EFC3A 1711/FontInfo 6 dict dup begin
46301F81CFFC038007FF890391FE0F800221F7E9D27>I<3AFFFC01FFC0A23A0FE0007E0000 1712/version (0.3) def
46407147C15380003143015706C6C1360A26C6C5BA390387C0180A26D48C7FCA2EB3F07EB1F 1713/FullName (Computer Modern Bold Extended) def
46506A2EB0F8CA214DCEB07D8A2EB03F0A36D5AA26D5A221E7F9C25>I<3BFFFC3FFE07FFA2 1714/FamilyName (Computer Modern) def
4663B0FE003F001F801C09038E000F00007010114E0812603E00314C0A2913807F8012701F0 1715/ItalicAngle 0 def
46706781380A29039F80E7C030000D90C3C1300A290397C181E06A2151F6D486C5AA2168C90 1716/isFixedPitch false def
468391F600798A216D890390FC003F0A36D486C5AA36DC75A301E7F9C33>I<3AFFFC07FF80 1717/Weight (Bold) def
469A23A0FF003FC000003EB01F0000114C06D485A000091C7FCEB7C06EB3E0E6D5A14B8EB0F 1718end readonly def
470B0EB07E013036D7E497E1307EB067C497EEB1C1F01387FEB700F496C7E6E7ED803C07F00 1719/FontName /SFBX1000 def
471076D7E391FE003FC3AFFF007FFC0A2221D7F9C25>I<3AFFFC01FFC0A23A0FE0007E0000 1720/Encoding StandardEncoding def
47207147C1538000314306D137000011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2 1721/PaintType 0 def
473EB1F06A2148EEB0F8CA2EB07D8A2EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC 1722/FontType 1 def
47406A25B131CEA7838EA7070EA3FE0EA0F80222B7F9C25>I<B9FCA2D803F8C7EA1FC00001 1723/FontMatrix [0.001 0 0 0.001 0 0] def
4751680B3B3A3486CEC3FC0B5D8F00FB5FCA2302D7DAC37>207 D<B512F814FF390FC01F80 1724/FontBBox{-229 -316 1737 939}readonly def
4760007EB07E0140315F0A4EC07E0EC0FC0EC3F809038FFFC00809038C00F80EC03E0EC01F0 1725currentdict end
477EC00F815FCA5EC01F8A2EC03F0000FEB0FE0B61280ECFE001E1D7E9C23>226 1726currentfile eexec
478D<90B612E0A290390E007E00157C13061304130CAA5BA35BA21370136013E0485A485A00 1727D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
4790FC7127E007FB612E0A2007CC7120300781401007014000060156000E01570A2481530A5 1728016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747
48024287F9C27>228 D<EB1F80EBFFF03803E0783807C03E380F801E381F001FEC0F80123E 172957609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9
481007E130715C0127C12FCA3B6FCA200FCC8FCA5127EA2003E14C0123F6C1301390F800380 17303894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4
48201C013003803E00F3801F03C38007FF8EB1FC01A207E9E1F>I<EB1FE0EB7FF83801F03E 173141C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E
4833803C00F3907800780390F0003C04814E0003EEB01F0A248EB00F8A300FC14FCA9007C14 1732ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F
484F8A26CEB01F0A26CEB03E0A2390F8007C03907C00F803901F03E0038007FF8EB1FE01E20 1733BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0
4857E9E23>238 D<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC49137E4913 1734C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508
4863E49133FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE 17352666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C
48707E09038C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>240 17369A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215
488D E 1737EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1D9F9A167BC064
489%EndDVIPSBitmapFont 173800BECB75078C40B8FE29E6169F9CA9EAD3C8CC4B31F33E66B30F4CA5F0F743EF
490/Fc 197[23 58[{ TeXaae443f0Encoding ReEncodeFont }1 83.022 1739DC2B1859C37C4291C5D64419125B705ADDB0C085612F09D6AC7DC4CE8B35EBC8
491/CMMI10 rf /Fd 145[42 3[23 106[{ TeXbbad153fEncoding ReEncodeFont }2 17401CE8C5F6B0F8EF41A213445DA7BD05638DF2ED81B404B2C3CAB5F51C2A4263CD
49283.022 /CMSY10 rf 1741B74F54D38C2B4C86A0D6E76212B7BEDF7FAE6334339A8A249C1AF2A51EF48DF3
493%DVIPSBitmapFont: Fe lati1000 10 6 17420FF609A25A0FA1EDCFE4A5DE9F3BD59C2DF4BC1D50B4BC3341CE01EB8BD39743
494/Fe 6 115 df<14F8EB07FE90381F871C90383E03FE137CEBF801120148486C5A485A12 17438E79DAF3EC0D27ADDC68BD517E4225CF4C78D8A72E0683D6BC285C21EB4084CE
4950FEBC001001F5CA2EA3F801403007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15 1744E8B4A08A05BF8EDE3D97CCEC74C9E9CB21D7A52D5F7CC453D2240D8168F765D3
496831680143F1587007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901 1745F7ADD78BC19857C2383EBE7036C9E7DD0883919C1649EE0B35396BB484568F68
497F000F0222677A42A>97 D<147F903803FFC090380FC1E090381F0070017E137849133839 174618EBFF229ED655CBB00D1D31F80BE718631475170BDC146470623E7F43790F3E
49801F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F90C8FCA35A5AA45AA3 17477E638F184A19FA7C41FB65C57F943116D297C764A50F6B2BA83E9DF429D8E4CC
499153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00380F81F83803FFE0C6 17482F9564E06F04E59567342AF2B1DE89B1A0960CD69C89E13E08C1063FC92078E1
50090C7FC1D2677A426>99 D<EC07C0EC3FF09138FC38E0903901F01FF0EB03E0903807C00F 174922523E41B1BC8519EFAAD6DCE266E951DEACD1EE1AB160F414C2BE609D0D902C
501EB0F80011F1307D93F0013E05B017E130F13FE4914C01201151F1203491480A2153F1207 1750A8C73258346B52B14D43C252C9A3E7DA8EBF491EC59E07AF64E71172286098BA
502491400A25DA249137EA215FEA25D00031301140314076C6C485A0000131FEB787BEB3FF3 17513ED1AA95CDCF1B2D5E8CB973130E8C0188F9951C62F04404166720C341B35EDB
50390380FC3F0EB00031407A25DA2140F5D121C007E131F5D00FE49C7FC147E5C387801F838 1752458654159220AD7BE5F195D5D1243B062CCDDB60BA4124D5F9BB1FB1585EE99F
5047C07E0381FFF80D803FEC8FC24367CA426>103 D<EB03F0EA01FFA3EA00075CA3130F5C 1753D49D0BF36808DE251352DF811E9F039C1267B2FF5415DC581FAD73549E22E4F8
505A3131F5CA3133F91C8FCA35B90387E07F0EC1FFCEC783E9038FFE01F02C01380EC800F14 17540F05C1A852615B62AEF4155A50A03B5D6AD11645F38AB4EABF4E9F1245797ECF
50600485A16C05B49EB1F8012035BA2153F000715005BA25D000F147E5B15FE5D121FD98001 1755DBEEB8A77D41960A13E886B36C8712E36D1C8D801BC81F3A92E9B9592E3C8F41
507131C15F8163C003F01031338010013F0A216704814E0007E15F016E0EDE1C000FE903801 175666A6597472295C1A0F09781A22DCC8B8EA7B18FAF763F5BC9AA0B9676C4D3014
508E38048903800FF000038143C263B7BB92A>I<D801E013FE3A07F803FF803A0E3C0F07C0 175705160F9B3B8FF7CE836FBE0F4C2A9D0DF3B6F3A3CC2CC70A2B10D3194194A4D7
5093A1E3E3C03E0261C1F787F39383FF00114E0007813C000708114804A485AEAF07FEAE07E 175891F756E98E254A060C183C0FB485F0CBB97C471EB8B35536EEEA92E15404468F
510A20000140701FE5C5BA2150F00015D5B151F5E12034990383F8380160316070007027F13 1759F6A49FC7F0377F86B0E3DA3B83396DEAFC24FFC850E62EE33AC73EF5BF683D9A
5110049137EA2160E000F147C49141E161C5E001FEC3C7849EB1FE00007C7EA0780292679A4 1760332101D526C505AF1EDABF95E5BE758D2EB86322E992998AE060FB7403020E8C
5122F>110 D<3903C003F0390FF01FFC391E783C0F381C7C703A3C3EE03F8038383FC0EB7F 1761BC71BF2164719CE2534E467DB93146EC76A522D02D32DCE37E9DFC2029CB2787
513800078150000701300151CD8F07E90C7FCEAE0FE5BA2120012015BA312035BA312075BA3 176220165615BB48132E0390C70E727962F446E9C589F052ECE51D1F3D2B48DCEAD8
514120F5BA3121F5BA3123F90C9FC120E212679A423>114 D E 1763152BF74D5579B5A41C0A3D72F582C0BBEA7AEF0C210277AE0937E0D3C3425402
515%EndDVIPSBitmapFont 176477D26CC23934FB5CAA3D39A47EBE6BD5E3C4F6E4632F3D26725AF65FA8A79B5C
516%DVIPSBitmapFont: Ff labx1000 10 36 1765062C6CE5331219D3DB3DC54EE1EE6149F64F24049536EC80F2EA982104A9F80E
517/Ff 36 256 df<B61280A819087F9620>45 D<EE7F80ED7FFFA4150381AF903801FF8101 1766163B9464FA8F9A8F8FB04C9D0570259653C198D0616D77CFDCED41C91EDEBCCC
5180F13F1013F13FD9038FFC07F0003EB001FD807FC1307000F8048487F5B123FA2485AA312 1767B299020527C9AE75AB220FF02ABC6F0AAE5F86D21C91800124336EBBD8289D0E
519FFAA127FA27F123FA26C6C5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF901 17689A984A2C7920EBB2722067BA36A6F3AD360A8CC682D8612B8C468B6249A951CD
5201F13E1010113012F3A7DB935>100 D<903803FF80011F13F0017F13FC3901FF83FE3A03 17691AB6EACA1812BAB103BF99520448091D3187C8F9848D28E81242F2AA8C2A0EE0
521FE007F804848133F484814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FC 1770197FC501948A2F1E38D20B0C9A9C9873D4D6C551C870F2AD1C5FC479243BCBE2
522A301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F000071403D801FFEB0FE06C9038C0 1771F0B5980980893DC68CFA0967A1F43D482CDF7EF767F8D869945B938C3DAF7520
5237FC06DB51200010F13FC010113E025257DA42C>I<EC1FF0903801FFFC010713FF90391F 1772859209EAC736C703DA63FD0AC9E9F69B87DF1F84EFCB2997C5DB837A3A55ED7C
524F87F8090383FE0FFD9FFC113C0A2481381A24813016E1380A2ED3E0092C7FCA8B6FCA400 177381B805FB95FB63AA3986D0FE5DCBA28CD7E94393452EC6876E901F2B3EADF02F
5250390C8FCB3ABB512FEA4223A7DB91D>I<01FEEB7FC000FF903803FFF8020F13FE91381F 17749C151E481AB18A39F7865FE0C33632490186FE8FABD0B28E0E1210793D00DB52
52603FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430 177540475705766CFEE36331C606B6A2107D6A48A8E0536E58C703FBE92C089C5574
527257DA435>110 D<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E4813E0 1776832207126FF29BC538452B9CA27973FF22A0D0A42FF0579CA53CDC9A3FCB8E51
5286CD9C03E13FF90387FFFFC011F13F00103138030257DA435>117 1777767F35D50073E17CDEEAE4A7F0959FFA480FF4A42B0C0E056593AEA52D3575DA
529D<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5A 177803DEDBC37B6E851DF1C389B1675ED8953E25AD53FEDC27FA986E5ED3585B4D9D
530EA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF 17794BDBBC980E5BADA5784B94F5F0D320CC36B4125B2AFFB93523D9F15DF7FD8C17
5315BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE003 1780AE5C262337855AC2256A1F88C666D89289FA3EDB6AF6846262DA782903707483
5322A257DA42E>224 D<163EED03FEEC01FF147F0107B5FC011F5C137F48B65A485D4815C0 178111C9CB87BA94275392766C0420610DBA35BE10A214F78F51E932E96201932071
5334802F8C7FC02C0C8FCD81FFCC9FC13F0485A5B5B90CAFC127EA2127C903801FFC0010F13 1782393EDE1269C402F737EC89A37A2BAC8A56474AD6EEC15BF22EA3718F127D165B
534F8D8787F13FF26F8FF807F3AFBFE003FE0B4486D7E496D7E496D7EA28249130382A31780 1783E6CB131EA68FA9F717F9D071D3C018B7321E63AA935B8626B683087751257E47
535A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5 1784D26E7AB250DE4A57B781D221C2E0C92CFF820CBAFCE2B2BB02924BE9E803A1F4
536C7FC011F13FC010113C0293A7DB930>I<B612FCEDFFC016F000039038001FF86F7E6F7E 1785E8CC696F5911BFEF3BE6E1025401A52997D43ADB30816C67D3E4137E2A444E89
537A26F7EA44B5AA2ED1FFCED7FF091B512C093C7FC16E09138000FF86F7E6F7E6F7E178017 178693B9C48680054245EB5498557F6A083C41506866793BD01D1049072AB4CE4775
538C0A617805D17004B5AED1FFCB75A16E093C7FC2A257EA430>I<B712E0A30003EB003F15 1787C2952BEA2FCFBC8BCCF95A937AD3BAFD9547DFBC86EB8EB27522EF0EDBC599AA
5390F15071503150116F0A21500A51600B3B512FEA324257EA429>I<010FB712C0A3903B00 1788A09B236EAF9B48F5D366083E1E62D73A8A2F03F06BE539108CE3D7D6FDEAB359
5407C003FF0001478AB1470A214F0A35C1301A25C1303A2495AA249C7FC5B133E5B5B485A00 17894E3B700F63A024D9A28646BD2778EDD7D7FBE6BCC0DDA25AD823EAEB81855292
5417FB812E0A301E0C8127F90C9120F007E1607007C1603A248EE01F0A3481600A5343280A4 1790A77C4348F534CF6EC42AE08F9109D02CE66AB3DFD317C62A3DA4E58BD27EC19C
54235>I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C000 17918D31C93A7047AA549D061FAF49EF1BEAB02D0ED88C388C055D3F67A2984AB0CB
5431FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678 179215C1E3AEAFE213A2A6444AEB5EB47B2AE56319ABEC36DF0CF09FC63635387137
544121F6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113 1793F29D045F71BE529B96547A3AB2A9B42CAF3BC022AF92AB2D13A00167F4448962
545E025257DA42C>I<D83FFF013FB5EB3FFFA3D803FE010001C0EB1FF0000019C0017F4D5A 17944F7D7045B69A39F2CD165C1C02EED17F9C23C6825C1BBD64429B42AA0E812EFB
546D91FC004FEC7FC6D6C4B5A6D6C4B5AD901FCED0FE06D6C4B5A023F4BC8FCDA1FC014FE6E 17955C64A45C9BDF83822F2CDBDAAE8A14B95868CFE747F700D5F4A778E8CE1BA6B9
5476CEBC1FC6F13C303FC13CF4A6CEBDFFE4AB7FC4A82DAFFEF01FD7F4901E301F17F4901C1 179616B884A94C0B781D76E12A4496F04A93EDB7B6F041EB7D8BAB60F40809A1C563
54801E07F0380EBC07F49496E7E49486F7E49486F7E49486F7E017F844A8149486F7F48496F 1797F00FB88D12C683D583639404958D708826E752C197F861A659E8251E5D7E34AC
5497F4849707E4890C76F7E4885B5D8E03FD9FF01B512C0A34A257EA44F>I<38701FFF007C 1798430E1E2A35E4D405EF5506E704FE9646D327DA01637CEEE4F0A67D901A1D503D
550B512F0007F14FE9038E00FFFD98001138090C713C0127E007CEC7FE0A21278A2C8EAFFC0 17996BF751CE7A783161342DFD0C1BE92E4EAA56A06C320B96A8CCB587B77E53A34D
5515C4A1300EC0FFE90383FFFF815C015F89038000FFE913803FF80020013C0A2ED7FE016F0 1800B9AC1F2149B2D60169538D2A3932A06DD26EB6D15E65ECC5BFEEBEE7573D31F8
552A412F07E007815E015FF007C15C06C01031380261FC00F13006CB512FC000314F0C66C90 1801E6DE1904EB35AD47AC9926A4E0DC847085CE787BBD813C15DA6BE2D42186EAC7
553C7FC24257EA42A>I<B5D8FC3FB5FCA3000390C713C0A25D5DA25D5D5D151E5D157C1578 180293193AEE3A19AAEB1AD63991615A2F1C12F052EC3919FB92DBE1EDF020EE0461
5545D4A5AA24A5A4A5AA24A5A141E143E143C5C14F85C5C5CA25C91C7FCA2B5D8FC3F13FFA3 18038B1C6F2780C6DDF4F26C1B143FF92C2644D45E4FF7148E5ED8DAB1355C50F246
55530257EA435>I<90390F8001F090391FE007F8496C487E017F80ECF81FA4ECF00F013F5C 1804011C107F3E02689A186C8F15DDE7B3A9E18999CCFD551D3AEDEC14E81AE0336B
556ECE0076D486C5A6DB55A010314C0010091C7FCEC1FF891C9FCA4B5D8FC3FB5FCA3000390 1805C012FD2E2BCBE4FB941D2BD6A3048172E176552EEE18CE2997C90C883A0A78EA
557C713C0A25D5DA25D5D5D151E5D157C15785D4A5AA24A5A4A5AA24A5A141E143E143C5C14 1806E913E04ED663EF2C63EA5CB9517AEA8268E3FCF67EA5E3C0CE42CD0E5D8CBAEA
558F85C5C5CA25C91C7FCA2B5D8FC3F13FFA330397EB835>I<B500FCEBFFFCA3000390C7EA 18072E083B0C396418447177FD548D2F87DEA7AD54F0A56D5902AFA79AD535A6A202
5597FC0170016FEED03F84B5A4B5AED3F804BC7FC15FCEC03F84A5A140F143F4A7E4A7E81EC 1808F2052982D388DB7A0B4AB918A12C026CA39F58608A0360F9E92CE707E362648C
560F7FF02C77F02837F14016E7F6F7E6F7E6F7E82150F6F7E6F13806F13C06F13E017F0B5D8 1809A69430AC00F3BAF2B8F2B50DC3B4359F2B3F7356BB8922EEA4D008B69D9F941B
561FC0713FFA330257EA435>I<011FB71280A3903B00F8007FE0005CB3A3EA1E01123F387F 1810A80871AB1512FFF6D54DC35284340CBF8A247B6CE16FEA63B75E6B1B69E4E114
56281E0EAFFC113C3A2EBC7C0138F6CB45A6CD9001FB512806C5AEA0FF831257FA435>I<B5 18111811106954C59C45019557A4A5B85141F5DB1E66132420A36F92A6D278952CEC
5636C91387FFF806E91B5FC5E00036DEDE000A2EE03BFEBDFF0EE073FEBCFF8160EEBC7FC16 181257397B1B19CEFD61D46E8E6251748D3A5C51627595F5384641389D410DC113F8
5641CA2EBC3FE1638EBC1FF167001C0138016E0EC7FC0EDC1C0A2EC3FE1EDE380EC1FF3EDF7 1813E414A2092E1F016894547B9180086F32282A9E5008BF0EC303D795D819315A07
565006EB4FC5D1407A25D14035D3807E001B5D9F00FB51280140015E039257DA440>I<B5D8 18147A53626EC56D1A51A2D63B302BFA5BFE76725BFF2763DF7A1BE276D38F9E4900
566FC3FB5FCA3000390C713C0AC91B6FCA391C7FCB0B5D8FC3F13FFA330257EA435>I<9038 18151347C36E5544A537340D3432C95C0CE6FB109AFAF835F63ABDFBFB87D7CAB309
56701FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F 18168DECB48D92918280061A3B508E3FE77B38DE70C08F2AEEFE4A95E744AC9F187B
56881491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A 18175A56B299D19740758FD5F83FBF45E3CD135925471D708F074CB7052C84BE0880
5696C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I<B9FCA3000390C7 18186D9BE9CC6CDE5123C540750977BD5C40C3A06C2C9635A3D185E483A0A0BCEBAA
57013C0B3ADB5D8FC3F13FFA330257EA435>I<9039FF01FF80B5000F13F0023F13FC9138FE 181998ED8F9E91F811CBA81DD774706285A5D764D47C6619BA577DEFBE2A8F4CFEE4
57107FFDAF00113800007496C13C06C0180EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17 18205D4224C668D733858A9A2BC3165FCA696BFB81FB9F6D9525AF9142F7D9B88CC9
572FC161FA217F8163F17F06E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8 18213C4A04143EFE905C3A53DB1CBB576FA71515ACDC4E9FB046132DF4391BB1BD17
573020F13E0020390C7FC91C9FCACB512FCA42F357EA435>I<903801FFC0010F13FC017F13 18229E3D9F1134A08BBC61E2FF7C22C5414848C2EF8EEA7EA0E3BEA00CAB58234DA4
574FFD9FF8013802603FE0013C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7 182332D462D39FD27B6D7075490FA8F7A2CC0E61131FD16E4730C3E052517CEB7161
575FC12FFA9127FA27F123FED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E00 182454E39C02B4C1C5203AFC3DDF08F9AB41D6DB7BD688D8741907B93DE8D05746D2
5766DB45A010F13F00101138023257DA42A>I<007FB612FEA301811381D87E01EB807E007C 1825CFCA62853EF535C720963D87F6E98BD70CB0077361C63083CC9EB2AB48724F5A
577153E0078151EA200F8151FA200F0150FA500001500B348B61280A328257EA42D>I<B539 1826C7C1EE072EAB1591DE9DF8FCF694C0A0D00897B267BEB94DB325318C02FE0EB8
578F001FFF8A3000790C7EA3F806CED1F00161E6E133E6C153C6E137C6C15786E13F8017F5C 1827F2871ED36C458381955334B2DC5815FB50946F6F84387177D9E09E418B68C687
579ECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D13 182817BA7EDCC0A431639DDED783A0838DB4FEFAC3A50B2DE33B535AFA7D8DD82309
580BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA292C8FCA25C141E003F133E387F803C38FFC0 18296C2AB536486916B2F335A8F897A5D340C636181FC9C7E2BAE55D9A65F4703045
5817C147814F8EBC1F0EBC3E06C485A387D1F80D83FFFC9FCEA1FFCEA07F02D357EA432>I< 183057D3C717030D55D70DAE34526ADDFDE4B3C92CE801EB0158E3A53936693B9D9F
582ED01FEEC01FFA4EC000F1507AFDAFF87EB1FF0010F01E7EB7FFF013F90B712C09026FFE0 1831FF23B80988CDDDB2F94164FABDEB6E90DCC5A7E098E41332AB4A1EA8E070198F
5837F9038E07FF00003D9801F9038801FFC48496C496C7E48486D486D7E4848701380498200 1832C4AE542B3B20A60CFC9EE2368B474D025F05D1F96032D0329F34EE5B5B450ECA
5843F19C04982007F19E0A34848EF7FF0A96C6CEFFFE0A3003F19C06D5E001F19806D5E6C6C 183329655E724FDA6AF338DE98FA754629431BC1E44A567B1408D4DA1C592A0CC28D
585496C4913006C6C4C5A6C6D486D485AC6D9E07F9038E07FF0013FB812C0010F9026E7FE7F 1834D57201857C85A13D6280F1DD4EC25B0A494C9F21F04E2205464FDB78466EFF0B
58690C7FC01000187EB1FF0DA000790C9FCAC4AB512F8A4444A7DB94B>I<B539F01FFFF0A3 1835B058752B8FFDBFF71174C12AFD587BAD4296FFE66EDD97F6A14AEF4FBDCB257B
587000790390003FE006C90388001F06C6D485A6C1407D97FE05B6D6C485A6E48C7FC90381F 1836E600F6AEEFB534AC1E1047CB60C39BA36E561B7BF7EB819155CC4339AC60BACA
588FC3E010F5B903807FEFC6D6C5A5D6D5B6D5B6E7E6E7E814A7EA24A7E903801F3FFD903E3 183720DF47D2D9E59EF22E588431EEFF2EB5EFFC3B585084E89E81DC0C24264F8009
5897FD907C17FEB0FC049486C7E4A6C7E013E80496D7E49130F00016E7ED807FC80B5013F13 183809EBB172D9C25C0D11FF699E670B493AC2EAC2358BD1B72028E00C36ADC9BA60
590F8A32D257EA432>I<B5D8FC3FB5FCA3000390C713C0B3ADB91280A3C91201EE003F171F 1839732B3B26ED56BC82B3DBA957FB4C02E8E2DD90C2FCE345BF97D8FBE13ADCF5A1
591170FA2EF07C0A31703A532327EA435>I<B5D8FC3FB5FCA3000390C713C0AD6C6D5A6C14 1840BE554DCBC49BC30D6E133BADF6D86FC17A341233109015CB52681426BAB5E93A
5920F90387FC07F90383FFFFE010F13F00101138090C8FCAC033F13FFA330257EA435>I<B5 18415E57AAF28A69A9FE2C849713EB0CF82D169006B74C02A1C1F6C380259388923D
593D8FC3FB5000FB512C0A3000390C7903AC0003FF000B3ADBC12E0A3CD127F1A0F1A071A03 184266E40BCF28CF9DBF326C93ED85EEDF22A87FA8790A48774204D4563D51A0B5A7
594A2F201F0A31A00A54C327EA44F>249 D<007FB512F0A301811380EA7E01127C1278A212 18433A71F8E104CC29E7EF753321EBA17CA8283BA88341129513E928612BFB8EB983
595F8A212F0A5000091B5FC17F017FC9238801FFEEE07FF7013807013C0A27013E0A64C13C0 1844331A1D69E8BCCF9303EEB299C30FA51A66F061275483A96484F85AE27775672B
596A24C13804C1300EE1FFE017F90B55A17F094C7FC33257EA439>I<B500FC023FB5FCA300 18453C002AFE7109807FCC60D682BCBBD9984BA2BECB273EA14572ED74D9781C6E59
5970390C913C0ACECFFFEEDFFE016F89138003FFCED0FFE6F7E6F7FA26F7FA64B5BA24B5B4B 1846501E063BEFB1DA90060CB80071B65CDE7FF58FB70849517FE7A0A9B5D572F1CA
5985AED3FFCB7D8F83F13FF16E0EDFE0040257EA445>I<B512FCA3000390C9FCACECFFFEED 1847E6C5B3F9578207D7E69A9F0B69B68517AA4845CE8D31CE3721C4C49FDEC385C5
599FFE016F89138003FFCED0FFE6F7E6F1380A26F13C0A64B1380A24B13004B5AED3FFCB75A 1848933B63098D91B4A33BFE7CB26C8E4D3D81D4D7CCA6305056344B396BFAEBB5C4
60016E04BC7FC2A257EA430>I<B500FCECFFE0040713FC043FEBFF80000390C7397FC07FC0 1849DC13B15B757C5F8F182E8366EC4B3961EC8037F93EFB11E28CEA9B446793278B
601923A01FF001FF04B486D7E4B486D7E4B486D7EA2031F814C7F033F1680A3037F16C091B5 1850612A84F26A47EDE9CAAA63F2D405BDC6B2CDEFF681BF007F9FC5F1FD29578B74
602FCA3EC007FA5033F1680A3031F1600705B030F5DA26F6C495A6F6C495A6F6C495A6F9038 1851EBDBE7A95014F86EE9E1BC3D775C1BC9A898B0917E087BF96EC6E82FDA152006
603C07FE0B500FC013FB51280040F49C7FC040013E042257EA448>254 18527A79AAC0A1C3D0A762D9BA1E7944D50A817ECB31744987159A9F70A08CD713C8
604D<49B612F8133F90B7FC00039039C007FE003807FE00120F5B121FA5120F6C7E6C7E6C13 185365A988A6E45CEA1A61C3941E1176C18EC8A91273B225348A9FF4DACA0B096148
605E06C6CB5FC131F13004913E715C74913875B491307EB1FFE14FC133FEB7FF8EBFFF04813 18546DC314286F42513CD54741AE6F729DE20E79D59BB69C887F7AF3A7D3F8B0A1D3
606E0A24813C0481380121FB500F1B512F8A32D257EA432>I E 18555D40B7522486BED30509528A4BBBBDD2A50A325CD0CA221529B26D1EDBB53985
607%EndDVIPSBitmapFont 1856F718EB894E2A0D724F436FC98BF053D5067935EB118B733F58C0443DD3D64D76
608%DVIPSBitmapFont: Fg latt1000 10 75 18575F774F261FC14E5AA8471D287F1C04BDA0EADD20298237B2352D4E7FCD49F5AC
609/Fg 75 126 df<130EEB3F80497E3801FFF0487F000F13FE381FFBFFD87FF113C039FFC0 1858C93C65A71042892E2FCF538C3403E53291C6E7195967FCC6D767D2C0572B0416
6107FE0EB803F38FE000F007CEB07C0007813031B0D77B42D>2 D<007FB512F0B612F8A36C 185900A679A61D7B8261CC3B395287ADA6B899BE3DE48E1BE994C9BE0AB599DAF88D
61114F01D0579942C>21 D<121FEA3F80EA7FC0EAFFE0B0EA7FC0AEEA1F00C7FCA7121FEA3F 18600F8CF24A8C78A70B4591C6EFFCFD672E9A2D96030C8503CAD9B4EDF49999671E
61280EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B3470B32C>33 D<003C131E007F137F481480 18619684077EF2068F18EBFF909D24102E3E79F997B5E7C5E4E070442AE0685DC67A
613A66C1400A6007E7FA6003E133EA3003C131E001C131C191977B32C>I<0107131C90380F 186204535D97466722D32D8B1042DE5D37BF6BFCBE65A6B6720EA143169B3A34B5DF
614803EA8011F137EEC007CA4003FB612E0B712F8A43A003E00F800A2EB7E01017C5BA8EBFC 1863C57857E636D4619D888315557DBE9DC603F451EC86343CC765CF32BF00E63640
6150301F85BA2B712F8A4003F15E03A01F007C000A30003130F01E05BA86C486CC7FC25337D 1864A7F2697F3D6B82A0614B44268DC41ED693C25C465471DFD0D90158B1ADEF3F2D
616B22C>I<EB01C0497EA6EB0FFC90387FFF8048B512E00007804880391FFBEFFC393FC3E1 1865E761F2FF65C4467FECBFF43F3789D2BA336E083FF2EAE5F6BF7E234913241CE1
617FE903803E07F007E80127C00FC158012F8157FA300FCEC3F00A2007E91C7FC127FEA3FC3 1866D463338059E5DF714572CD9F552DC1788F746DB2285356FEFEF131296558DF6E
61813FBEA1FFF6C13FC6C13FF000114C06C6C7F011F13F801037F14E7ECE1FEECE07F810018 1867D37902E8508E69374508D392FBBA98189605B7114D71719C1184331DF27439F9
61980007E1580150F12FFA312FE151F1600007E5C007F143ED83F8313FE9038C3E1FC391FFB 1868C05F5AB76980EE92597F087828494F7882DC730771332BF01043B0C95CB562A1
620EFF86CB55A6C5C6C5CC691C7FCEB1FF8EB03E0A66D5A21417BB92C>I<D807801307D81F 18696D928920AABC474EE515FA6D3BB0415F05122BD6D0998EA189DF6749FE773621
621E0EB0F80151F487E486C133F1600007C5CD8FCFC137EEAF87C15FE5D14015DA21403D8FC 18705CB19FAE8D4472207AF37E91749ADC4F1CD9752F903C1DD22A7E42C5EE6D200F
622FC5BEA7CF8007F13075D383FF00FD81FE05BA23807801FC75B143F92C7FCA25C147E14FE 18713EEAD0F2030166028F61D005072FEFF3FBB46549507E87F293E9D2A73843ED55
6235CA213015CA213035C13075CA2130F5C131FEC800FED3FC0013FEB7FE0140049EBFFF001 187264F7248CEF3435430F2AE7A106FC01ACB11B33677146306B414CB019ED2B6B84
6247E13F9A2D9FE0113F801FC13F0A2120113F8120313F015F90007010013F05B000F14FF49 1873735840D0CC6DB88F59B5D71780BC8778545636337BD17728BB5C0314CEC937E6
625EB7FE0A20007EC3FC06C48EB0F0025417DB92C>I<EA0F80EA1FE0EA3FF0127F13F8A213 1874AD613635D1D8431DE6749FF3C632B9331B16AE96BBA47CA99C32FBCD23EDFE71
626FCA2123F121F120FEA007CA313FC13F8A2120113F01203EA07E0A2EA0FC0EA3F80127FEA 18751D06D699907B4E95B379B2939A4CF024C1D60D6C032E30DCFA044C4E7AB05ED8
627FF005A12F812700E1D71B22C>39 D<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB 1876595448A85A13A14973415269767D225062845488B79685C54BB97866B13240B7
6287F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3 1877BEF0688C4849D38B065DC55C2B6F86AB0A9BCA32146B352449FF4375C6549548
629127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB 187816765A2EDB6A38E948C291C97C9ACAE35E92FC52FE171632E71CC6EDFD98057D
63003FC130113001438164272B92C>I<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E 1879DA5E3513C61721BDC7694E0384BFE1860945EC1E66FC9392BD9D3C8AA735CE55
631137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114F8A313 188019D94ACA804AE0BD2FF853717146AF0AAF6A5E3A2F218187C3F19216D05BA1F7
6320314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3FC0485A 1881F612BAE6AAA2FB8ABA276E87E4C85A2607441E52537DB089C63A580D43F03568
63348C7FC5A5A1270164279B92C>I<EB0380497EA60020140800F8143E00FE14FE00FF13C1 18826197B85C7E74DED9D79A91166245A8E53F483E7280D32632A289CD36634EFB88
634EBC7C7EBE7CF003FB512F8000F14E0000314806C140038007FFCA248B5FC481480000F14 1883A2B0312681207357626DB7B9E3BC8FF68A9B57B781624CC2EA113D6A52C732CE
635E0003F14F839FFE7CFFEEBC7C7EB07C100FE13C000F8143E0020140800001400A66D5A1F 1884516270191CFACB8F0074C160B2FC703231C3D4A0DCF5DBAE33B706E31A25CF78
636247AAA2C>I<147014F8AF003FB612E0B712F8A4C700F8C7FCB0147025267DAB2C>I<EA0F 18857E35B985D05E5D449DCFE75FE74E519495BAF2A65D179D3D18196C7BA237365F
63780EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201EA03F01207EA1FE0EA 188608D2A398429364E9EE56DE5377A28B11AE28E02041ECFF251F9C922F2A812FCD
6387FC0EAFF80130012FC12700E17718A2C>I<007FB512F0B612F8A36C14F01D0579942C>I< 1887B587912F783B3F36A48A079B930BF0B3F3342C6C829A41F9C61D65D72E5FDDB8
639121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80A2151F 1888A2B925D0E68AF6E969C54F0CD3FC764D2B9444BBF09C2EA1D6E53C51F72EB99C
64016005D153E157E157CA215FC5D14015D14035D14075D140F5D141F92C7FC5C143EA2147E 188952720227BCF80215A0FC71F453CFB1BA34B6168E8949905687194168E2825D38
641147C14FC5C13015C13035C13075C130F5C131F91C8FC5B133EA2137E137C13FC5B12015B 18903A296122AD2AA61DF3EEDF2D8A778070BC8CCCF89D9BF92A47A29D76E5832907
64212035B12075B120F5B121F90C9FCA25A123E127E127C12FC5AA2127021417BB92C>I<EB 1891638BBE1689924AD5E9292726300E5374FF21BD3F460F15EBB8B971ECB356DF4B
64303F8EB0FFE90383FFF80497F90B57E3901FE0FF03903F803F848486C7EEBE0004848137E 18925923FB10B677EE4FCC17498A44E119AFECF07F52EECBB7A09EE9E5E71ECE78FD
644A248487FA248C7EA1F80A2003E140F007E15C0A3007C140700FC15E0AC6C140F007E15C0 189349FD299DBE8D4A381D96D8547DE7CCC235C4026E4E30C1F3DAD4A3E47A53217B
645A46CEC1F80A36C6CEB3F00A26C6C137E6D13FE00075CEBF0016C6C485A3901FE0FF06CB5 189495BC6285CE787BBD62DB5CD545E3CA96832E21C57E912E718E1BB1B8ED4C182B
6465A6D5B6D5BD90FFEC7FCEB03F823357CB32C>I<1307497EA2131FA2133F137F13FF5A12 18954ED6E6BE789B666F0E167E2200C056EE11F50146F3EB4B18067551FAA65BA2CF
64707127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>I<EB 189635A4E0482BEFB17509CCA233B3A69F14B82DBBD9C22377152E913C34532E82BC
6480FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7EA3F 18979F304C531B3AC32D0956C520A7F0516B4D0B294D31AD0F31B506F4B5E57FE4BD
64980007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F1600 189832205CACB2605BEE33352421E79A5C0FE089EE3EBC3198DC157AAED8B8D8D9C3
6505D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F8049C8 1899EDCB06BE895360FCB7C96BF078100DFE97263BD1BA047534FAFDA6AA4F349427
651FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<EB0F 19002049781B4D3F4EAF9C324E6B383448BA7A5863F83A27D0241DDAC2F0E54D46BF
652FC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151FA26C 1901A6937AB38744D515394B702245B4E133B9D839D7474DD1AF70C243566CE2EFD4
6535A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F90380007 1902A2E9F96F4F828B5EFA48EF89EF801A4CD5FAF790DD8F83EE6966700636D6725B
654FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F007FEC 1903911A1353727A87834B7FB91C66ECA1AB9CF110DB1D6824CF111FCA4FF54AB65C
6553F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357CB32C 19048EAD822F11667A54986CFC03292292174887B55B27CAB5EA16F46B393A3AF253
656>I<EC07F04A7E141F143FA2147EA214FCEB01F8A2EB03F0EB07E0A2EB0FC0EB1F80A2EB 1905D5507E766A2E21A8C9D36C3AE2A4CF0D8804596DFEB7AE093BF3A6094DA80257
6573F00137EA25B485AA2485A5B1207485AA2485A48C7FCA2127E5AB712FC16FEA36C15FCC8 1906BC6918172D2E3CDE44D64CBC082956DDA9D5E44340C03EEBA35D4EA21435D935
658EAF800AA91387FFFF091B512F8A36E13F027347EB32C>I<000FB512FE4880A35D0180C8 19070B0393DB1BE66733CCB58DFFD98B2EF3702218FA908C91AB0F45D4395F8B86A5
659FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49EB3F8090C7 19083D3A7960305E7331D9436A41F1259FC7EEE9294875DD4504B1C5039597D8D57E
660121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F80007FEC7F 1909E7F238388CE1AF8834DAD635760D4BF1D98AD023A7C47B0998FD0576EBCC5CB1
661006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF823347CB22C>I< 1910F7AFD52D4174ED125B5C40E904EFCA544DC1C79C1E897C545A48A8FC9783E5F5
662121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5 1911A2402F8A7548AB934FD107E63776442B0353DA7F2533BAB97F342FA42EE2BADC
663EA7FC0EA3F80EA1F000B2470A32C>58 D<1502ED0F80151F157F15FF913803FE00EC0FFC 191232DE8520CC3C9C9235A7D55715527EC8761EE7C2143589684B5B12B4CF38E2E3
664EC1FF0EC7FE0ECFF80D903FEC7FC495AEB1FF0495AEBFF80000390C8FCEA07FCEA1FF8EA 191313DE97D03B5FF43BBE3DE5FE94130B085992A0EC322112CEADDD60DA3A075A05
6653FE0EAFF8090C9FCA27FEA3FE0EA1FF8EA07FC6CB4FCC67FEB3FE06D7EEB07FC6D7E9038 1914F2BFE8BF9CE3B4EBC993D6CDFE3B8EB75065286397FF14640C6AB106ABEB773F
66600FF80EC7FE0EC1FF0EC0FFCEC03FE913800FF80157F151F150FED0200212A7BAD2C>60 191563831475D31E7BA92108CA7DC3E5A2859B20779044AF8D99296CD1BE362540A8
667D<122012F87EB4FC7FEA3FE0EA1FF8EA07FC6CB4FCC67FEB3FE06D7EEB07FC6D7E903800 1916FA6F0CD74BADDEFB530B5F294019BE157CA6968BDB97C00532DB86739389352F
668FF80EC7FE0EC1FF0EC0FFCEC03FE913800FF80157FA215FF913803FE00EC0FFCEC1FF0EC 1917C9D6F02E201D0307A5BB72C321B336DB5250CBB1042BAD9462C337471FAAA6A8
6697FE0ECFF80D903FEC7FC495AEB1FF0495AEBFF80000390C8FCEA07FCEA1FF8EA3FE0EAFF 1918C75ACD9F3829A1FC8042AA6A0E4640DBDA17DC17BC28174CD7DC6F714657AB24
6708090C9FC12FC5A1220212A7BAD2C>62 D<EB3FFE0003B512C0000F14F04814FC4880397F 1919E8A364AD9EF93AAEC79F6C88FD11363CEAFACFEAFD29CE426F9016DD0D3FFCE4
671E007FF90C7FC00FEEC3F806C141FA3153F007EEC7F00003C5CC7EA03FEEC0FFC4A5AEC3F 19206787EF6C73B6DAD0E0AACF3B4C7B3FAA21E6ABCE10A6C77EF9DDEBA18B86189A
672E04A5A4AC7FC495A495A5C13075C130F5CA76D5A90C9FCA8EB0380EB0FE0A2497EA36D5A 1921FDACB87D89C7DE5B6F007D2D886CB91CCD814A74054076ED61779957F878A707
673A2EB038021337BB22C>I<EC7F80903803FFE0010F7F013F7F497F9038FFC0FE3901FE00 19228F23FE16CCF1F3D4F03DA5188DB3C86BE4B0854C6B43CFE107F02A1C4FC6E211
6747FD803F87F4848EB1F809038E00FCF390FC03FFF48484813C091B5FCEA3F01393E03F87F 19233698D6E345292701FA78EEDE4EC1A7FCB2519FBB2B7793C35FC597A24C398F8F
675903907F03FE0007EEBE01F397C0FC00FEC8007A2EAFC1F00F8EB0003A900FCEB8007D87C 19247778F6AFB0691A987F65E23912F5B7A56C0D58859EB49313BFB5237B7534FB7E
6760F14C0A2ECC00F3A7E07E01F80003EEBF03F903903F87F00393F01FFFED81F805B6E5A6C 192532EDE24078C8D01D6B2763FE80E2091B2D5370B7B993DA081DC875F9E3ADBBA6
6776C6C5A3907E00FC09039F00007C06C6CEB0FE0D801FE131F3900FFC0FF6DB512C06D1480 19263A7CDAABB144133AC8D20F57EA85F58D1B7E72E773B24176C9184F8DAFF97ACB
678010FEBFE00010313F89038007FC023337CB22C>I<14FE497EA4497FA214EFA2130781A2 1927D53BEC72B33670F2ACCA99724FC57DD1037C6C00DE7BCF6DBD32C2800D15C1FA
67914C7A2010F7FA314C390381F83F0A590383F01F8A490387E00FCA549137E90B512FEA348 1928FEB6F051EF41ADA2F3F797D883FC87418DFC9DF3AEB72FEA8A4DE63DE27550A6
68080A29038F8003FA34848EB1F80A4000715C049130FD87FFEEBFFFC6D5AB514FE6C15FC49 1929759D7844CB8871CC776EEFCF2CE05493847880E395CB4F64FBA2A1D3B145718A
6817E27347EB32C>I<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2 193088BABD797A6154EEBA8AEC4D18FA06419D43D12E0B439E560E6DC28FA5E3E5D5
682ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED 1931E154937668F60AEF7F1E0BC67F303DC07FC8D62B62E8A423173D97119C98FD1D
68307F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016 19323422E9C6092E964B5BB9DF70E9E4E278EE880D1F0CCA7F099DA7D5687182CF50
684C0B712806CECFE0015F027337FB22C>I<02FF13700107EBE0F84913F9013F13FD4913FF 1933F6C71C1F5FE888E504929E28F5FE875E86826ACE3E12340D6D9567586B290745
685EBFF813901FE007F4848131FD807F0130F1507485A491303485A150148C7FCA25A007EEC 19349F4B8F1920EB0B6ADF80FE64A68CC6A5E45D6216D85DAB27885183D8BEFB8AB3
68600F01600A212FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F06C6C1307 193534698392036C6D4FC06E57BCEA8B7C356131CC2B0EEEDC622E31A0B0D6450853
68716E0D803FC131F6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F0010013802535 1936BB473C3D4EC72A07B4F1DD4E042B673C33FCA0604E225B5B7AE9CD3117B29102
6887DB32C>I<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0 1937A4EF91089B21D067CDD216DCA396EB26D3A93354B1EF9480ADFBF47302944B8E
689A2150716F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153F 1938689BF2A5577E685DD676900267F27D1F0D909E028A8230F1E78D0A5CEB315613
690ED7F80EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB612F0B712 19397BCCE783AEC76A00528495C39288912795CA29E310F14D0254EAF189EC9F6B50
691F8A37E3903F00001A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA516 1940DD11C600E830E8089FF6E8551D922108ED658D7532924122B25779F6249574DA
6923C167EA8007FB612FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7 194123335811A89F3F1BE93397BCBE567DA3FB55EC17EBF96D17351F2E91949BF461
693FCA716781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26 194281BED82C96F3A8D3218A5ADC7636D91F8BE8815E2D87747CEDD0E2318114794C
694337EB22C>I<903901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC0149 19435F9EDC14F93A499036AB8F86D87D8BF69CDA7D7FAF4D7DD01B15D0A65C97635A
6957E4848137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8 1944B519714DC29C3E36FFDB7E29FB09BF477E32BE84816DC51182375E90AB1DBC36
696913803FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F 19455E4D719259BDBD2A2E9DCB025613E537958ACB83B7A86D23B70CB104EF925650
6976C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB3 1946F5DA43B2A18812F4EBA0AB8DB6351BF489CF0A32511D4A1879437E3C226A101E
6982C>I<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025 19471F33FD0F1A5657B51B636BF520BE37193F2BA020B3DFF82D46462F98CB967589
699337DB22C>76 D<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001BC137BA401 194890DA46A5B65F52B78DA019EC900FE6CC2CB727B8B6F3B6640D49F4CE63A52624
7009E13F3A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA201811303A2 1949A2ED29D4C4A28C7B1D7470092EDF41101E6B628E18DD125773E7AE9426A3A529
70114FFEB80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27337EB22C> 1950FBDD996A2DA46A21D720F2F49FBF611DBE110D2678D585115EDD9D5D5C22E4F9
702I<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07F0A2150316F81501 19517F0E675E3023C23EFAC7D025DBF6D767A9012AED3418B583A55D565B5989A17E
703A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0387FFF80 1952D45885D63D8CFBFB16FBEDE6EDC39D706D2246483E21D63B6E43E1878F89853C
704B57EA36C5B25337EB22C>80 D<387FFFFCB67E15E015F86C803907E007FE1401EC007F6F 195309C710D4F20F075E550DEDC0FC1B728E459206168BE1021125DCCABB86087F2D
7057E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E081819038E007FCEC01FE 1954E6F897157BB0FB6824B33C511CEB1DBE4BDEF507614B28AF0A59B028CCAA91FE
7061400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB2 1955A4EE8A00821BD66A3678A4EB6C09A17BF57483FDD188645E6EAA31621CD5260E
7072C>82 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7FC00 195654AC3512EEB1A57C4DA652E89C3792689724B632441BD194B68D9AF88E29C7BA
7087E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC00 195777F888E53B981F6AE9F5515E6D8A968619514F62BD91BD6807E02CFCCA694DC7
70903EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0A200 1958CA9316809A62AE5174775235DCF9BEFB00592F1FF418499B3FECC4E42F652103
71078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F914F0 195936C015C0747BCAC97E12C8BD01C4E9D9D4889DB534E0B2B745E35D08691803F1
711D8F83F13C0D8700790C7FC23357CB32C>I<007FB612FCB712FEA43AFC007E007EA70078 1960F622D4DAC08C124C2C8F4A111166C0481C293E7DD2619A3E5307AE41EA7E04C0
712153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<D87FF0EB07FF486C491380 1961F55A7EB42F83BC3BFA8E8118AA580FF426C75B52EA68D34AC1A2F3FDF20CF272
713A36C486D1300001FC8127CA46C6C5CA76C6C495AA4143E147FA33A03E0FF83E0A214F7A2 1962CB7A2E6246DCB25F3F870E7440A2520B5EAF59B61EC9FEDE3F2F2A79AB4F3DA8
71401E113C3A3000101E35BA201F113C701F313E7A314C1A200005DA201F713F71480A301FF 1963D3E9B9B99513FFC2C1B9555EEF08BC5570B6C1A046795C4CEAB187105607AB6E
71513FF017F91C7FC4A7EA4013E133E29347FB22C>87 D<387FFFFCB512FEA314FC00FCC7FC 1964A7623709DDE1E087F071105B611CDD52912F3D10EAA9A4BFB5B77E75FE6F2BF0
716B3B3B3B512FC14FEA36C13FC17416FB92C>91 D<127012F8A27E127C127E123E123F7EA2 1965458D283935100D526A913FE631A7C7E54F1CE6097795517E83CC396807ACF701
7177F120F7F12077F12037F12017F12007F137C137E133EA2133F7F80130F80130780130380 19665E2AF3C11A75F66D27DC1E84820428B9FAE88EAA0CF06C0F46A2518094058431
718130180130080147C147E143EA2143F8081140F81140781140381140181140081157CA215 19671546612C37B6AD9F91449FB32BE62AB65C32F898D5F9FD416ADC59EA35E306BA
7197E153E153F811680150FA2ED070021417BB92C>I<387FFFFCB512FEA37EC7127EB3B3B3 196811635BBB6361D5378232B80D18BF45B5BE8C6F51F4A2DF04DBF511A468F1BF64
720387FFFFEB5FCA36C13FC17417DB92C>I<007FB6FCB71280A46C150021067B7D2C>95 1969F1A2EAD1FBD42EDFB9B35C8E53829E6D39256B54FFED92CE58F1F9695B073C27
721D<1338137CEA01FC1203EA07F813F0EA0FC0EA1F80A2EA3F00123E127E127CA212FC5AA3 1970A51CD4EC20481BB25C6CA4081CEDEEE63FE726B8EC951A41FABFF83A7F1C70DE
722EAFFC013E013F013F8A2127FA2123F13F0EA1FE0EA07C00E1D72B82C>I<3801FFF00007 1971FAFB8D10522CFA6C33DA23CC1ED63C1CC25003120BB9F3153553EBE6A2870BA9
72313FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE13 1972C8FBB4CD3A6ED75C1D24E60A2553E618FF546128BACDE6DC59A64B812DEAC61B
7241F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383F 19737606A35FB6F06EEC7FDDECB36AF0ADEE58F41316346D863CFD8E114F44FB9EED
725E01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>I<EA7FF0487EA3 1974950D41B8B1D9C9FE6321228CF171B560B8B129F80EA04A82B731C34AE9DC269A
726127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138801FE091380007F049 1975EC08729BBB2824C1451EEFC851AFB32A5485A035E61015488EBE3A5354FF7951
727EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138 1976BF7F795196542F152AA344065C644AB515D95F1DC5471674E5EB3BFCAEBEB97C
728801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027337FB22C>I<903803 1977F4D017377E3A136C63EADBAF7D4729FE78A82ABFDC02AB7DD4A49B269AEDE26D
729FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A12 19785D04A0593A19E626595875789BC83535DD71C6829FF46F59BB1384DC2E6371DF
7307EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C 19793E014F3C26AB00AA55B4CE9B93A645D4990CB2B32B9DD6E2C60D3FD6CD3D48CC
7316C6C5B011F13E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE 1980C662D724F7933A1C544B9C5F16C37FA27D3E028517A687FF469B5376A8EC5C9F
73290B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC007E80A212FE5AA87E 19816156528B841DE6E4357CD98F9CF0363000573026FD561E1E7EB6BD2164C7A1CC
733007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90 19823032E4386A942085F76284F63F02B9FDC1B6B67463B36DF7FB39A7855B791D1C
734390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390F 19834CC9A3A2B130711E646097D65D9F3980E432766C422B5470F1A281D167A5BA2C
735F800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC 19843C15F6AED61CD52A7A12167DE46343604A2C24524AB64B360AFDC5DFD58DE801
7367E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B51280 1985408055D36D4B314A80A66DD7BE1116EA32BB3C646A2EB3BA9E4ADEB587312C09
7376C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B90 198644292F8F328F542E479BBF54177F19A7BA75562F5D36E7F9641535E9047E99AD
7383807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8 1987A579CF75788080388BC3CA8D2789A86A7F9FBDE90E8D9119DDCD2601FC8944C5
739003FB512F04880A36C5C21337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC 1988855E13075943D2FCF133CE3EA0239624D8678DDFF50F1CA43F4595588906B39D
74048B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC1CD9C0001300001F8049137EA6 1989F0F8E92B891FAD86830D1127CA2EB3E81615A138B1F06BD4B59FC4DACE4ECD84
7416D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8 1990ED9D41199B1309CBD5D498C18ADFCEF1F24B85304F54925DE840B4474E27AE9D
742FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E14 1991B4AC1959FEA2110989D7128076138353B81C08F99F19CAAE0B2ABA49609C95B9
74300007C157C00FC157E48153EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7F 1992977E3A62B9DF6F39D245EBFD902B245EFA2CC601864F399D4748C1192B0FCBB6
744F06CB612E0000315806C1500D8003F13F8010713C028387EA42C>I<EA7FF0487EA3127F 19939A2BDC9FEE5D20F4E8415EDFE4800D86725417CEF973CC1D242A501B1BBFAC3F
7451201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5B 1994E66CDA3FCFFE4474DF22648F56EA12FF1F5DF4F84430F2F5A787DE997CE19D36
746A25BB3267FFFE0B5FCB500F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497EA3 1995081B69E41897AF30965733C4064D8B664046940A735F7E0BCDC0F1758078BF65
7476D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14 19965B0562B7CBC32511D668E8B270F61DE04C9E99D7B2B6670A048E973E53096782
748FC1F3479B32C>I<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0 19979B3566BF079BDBA6C9E83ACA1165738C929000F8C2A849D1BA054D2895149FBC
749A37EC7120FB3B3A2141F003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B0007 1998463679A22F07B6E8E1F5E38E2A8418384853B4B7F685733716F42D49935073D8
75090C7FC1A467CB32C>I<EA7FE0487EA3127F1201AA91381FFFF04A13F8A36E13F0913800 19996FDE1AE59F5A0A26EBAB5607DA830C585CC1E8397872ED1E0FF20A7F526FFA42
751FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0F 20002193C1316CB7798708FDCD9E25138064E46C4EB3362970F7C8A6449F1C557E69
752C001FE7FEBFC07496C7E496C7E811400157E811680151F3A7FFFC0FFFCB500E113FEA36C 2001F42F18E817359EC26FD7590199FB158B07DAAC0DFF4D6A55B5AFA1C3707F81D0
75301C013FC27337EB22C>I<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C15 2002BA0651B21F633DB33DF01FD605545BC99BC0CE3C2C846F47DDF7A259E0754BBE
7548022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07 20038BC9FDBEC590EB756997F26C1556CA2249FBC9E56868A62B2D35462D110EE04B
755FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F 20048AAB34FE27F5F3A495FD1ECD64E0FD0679EBE6604F8E00670B60A229A29D9407
75613FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC90 2005B3554892E8239F92DE2647FD08B39FF2662369BD5CF140562AA3AA093F5143F4
75738F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5 2006E234A7D47DB543ABD141B026792056178716D13A0CD10F830E008ADA04292E32
758FCB500F11480A36C01E0140029247FA32C>I<EB07FCEB1FFF017F13C048B512F0488039 2007E2324E1DBCBB84ED85D10ABE559BE9F13F343FE03052FD170A0CE2FD5F34A9AB
75907FC07FC390FF001FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A7 2008B81756931C612B54FFB7C48B8EFBF352E67A8A2CA6706E4EB29D402EE393F126
7606C140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB5 20091857F04A371B8BE53C392C58434E3250B40D0D58AAEE75B1500F7A02CE82C4C6
7615A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE 20104141DCD5474BE9E7ECC08F4724A6508B40890CCB768817174AD09B8CEBD087E7
76290B6FC6C158000019038F07FC09138801FE091380007F049EB03F85BED01FC491300A216 2011E26F3A57DCB97906E1C4AE759DEFB8E5B2CA22485735603DF495B087FF8E144B
763FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280 2012F590AD3EA1E4162DDBF5A1D0E1C5B3989C995738A25BF8FB57ABBA26ABEAD61E
764160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC 20136F721C323236F71271AE347F880CF434F9D47FEFD2A56C190B26F3CA707933CD
765078090391FFF0FC0017F13CF48B512EF4814FF3807FE07380FF00148487E49137F484813 201498EF706460832D64B6B853DB3E53363FC62693FE340EBE8F03A38F4668525177
7663F90C7FC48141F127E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807 2015B3F3F787B8476D86834FA113D4940F264922952353518FE7FA75593992BB7198
767FC0F6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367D 20165720CD02B9F0F9EE7E854D53B85807334FC9EFC84868BD70C437B55086E8EC8B
768A32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138FC 201754C10D293C24C8FB674C65A36614A686D08EECE666928A10F29F26AF6E6B603C
76900F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>I<9038 20180B230840D087C62CD2FA5377941C7D4C1A6A14840243C8DA1ED5E1FE7292D960
7707FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F038 2019B9D610F2C027418A23AA23F5C68A9EBBABB3D61CDDBB1D29EBCD13C0C591F2C2
7713FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F 20207230D296654674BF1B6547AE0E055DBCEBEBBBAAEA6203DE45C18B7DA973048E
772151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC002024 2021DBEE43181ACD15D47341C8D173328A525BDD021509A8EEF2AE8AAF3B87B1634A
7737AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC80 2022D3002E8F1BEEEF87F9754B58358B7615AB339565AC57D38A894C2896D235F5AE
7740F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF0 2023C7BFA18C7FC1931C7FC6AAFCD9800AB858FAE8077F2C67E435D943355F9CB4B4
77503FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15 2024E0BBB2665441CE3460EFD9A98F40CF83B7F46D35AF353EAA542CC2D5F3EF8BF3
776807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A 202510D5A5422F4975082A24C769CACCF8A787B344491E3E4F6F79AED993627B44B8
77703E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5B 2026AB47398C0478B42E67E8799F33FC9278A545359002E94F19D01AC465BDEF5666
778A2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A14 20272CCAD2C2BF89521C1664B08616B5F12FF470C14488E783C3A191547D6381252D
7797C27247EA32C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495A 2028B48967E971CBE03C9BDA3387B36BA3612090F755F46FFAC5F91247BA7417F374
780A3143E147FA2D801F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB13EFA3 20292AEBFCD0C91057AF11DEDF31797AC1008A586429159B593124C8B71EC87C16EE
781D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA32C>I<3A3FFF03FFF048 2030D7840A32481524A958DCC60D989A9E387BE96268611C1C54AA679B279A52F993
782018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0 203132D188253ED0DAB9F7C98955E6118DCACA7CE701BB5D1CD5E70D0188C0CCE8A0
783903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC 2032142B83FC90A97FD06F2084234C078CB926A526B872DFDE42F5ED8508E453B12D
78483E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15 2033045277A3E76EBA27511B4CF0FF6FB3B4B41302DD5E2E25760E30B8BEAA3ACDEA
785FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F80 2034A2D701C039C111A83A46DCD201B947F52F25E1047AF10B5325561B8BAA0E7564
7866C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2 2035DC31D8E8ED2A24847A146B824F2F7798E4461ADDB4C5E75DADE1C253DB22D4C9
787EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214 20369AB28E31E5733B18E42B055A420D77BC98406E980BC92C77A3774555A1693011
788FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027 2037D0D22163A3D0042D2F8DB77722AFDB3403736F02F04DDE50CBDF379F434A8468
789367EA32C>I<003FB612E04815F0A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495A 2038A1E3BCCE78BE91C08004995477A27EDFCD93112678869F9EC08409B3CEBF9A8E
790C7485A4A5A4A5A4A5A4A5A4AC7FCEB01FC495AEB0FF0495A495A495A49C8FC4848EB01E0 2039FC2F9B354A48713B4E2B9328F50C0090C82A06D04576A763849DE2479E5ACAAD
7914848EB03F0485A485A485A485A485AB7FCA46C15E024247DA32C>I<15FF02071380141F 2040BE435CA9D4D06EAAD43B61B9CD7932CE46A69D6793D8FE7C245CA0CB4BE77059
792147F91B512004913C04AC7FCEB03F85CB31307EB1FE013FF007F5BB55A49C8FC6D7E6C7F 2041477C447F6FDE0013AC5E8C97D5131832ACA1B50E853E465AD8C50485E4291624
793C67F131FEB07F01303B380EB01FEECFFC06D13FF6E1380141F14070200130021417BB92C 20421BF809A7397F05AD367EA3B7A971E14DD43DC9298BF52567ED56E189510DB574
794>I<127812FCB3B3B3A9127806416DB92C>I<EA7FC0EAFFF813FE6D7E6C7FC67F131FEB07 2043B5A6F70D7DF08890DC5D837B6A2D09BBB708F7A868A39EA54E733D0482FA9544
795F01303B380EB01FEECFFC06D13FF6E1380141F147F91B512004913C04AC7FCEB03F85CB3 20447F807644F3FC336D78D22EAE12F48254753EFEA3B31F3090AFF572D7F3E77B5F
7961307EB1FE013FF007F5BB55A49C8FC13F8EA7FC021417BB92C>I 20457ABCBA19D7D9C2EEE8ACA58C1E1770DD151E01EA0DFC7CCEB4141A00F85B5EE8
797E 204618461F5A24D4E4B8B7F309F65E974C7F715C1CD466145F5A870F2F424CF33C13
798%EndDVIPSBitmapFont 204778E39A0430CB4BE748BD72E880031077F04EA32ABA3D359AAF79E225B41ECBC5
799%DVIPSBitmapFont: Fh labx1440 14.4 69 2048A9C2944D5267D9FFC194C547D05D92A5E89E143E63481013B1B346260EC1EBAE
800/Fh 69 256 df<151E153E15FCEC01F8EC03F0EC07E0140FEC1FC0EC3F80EC7F005C5C49 20497BE17AA72035DF86B62F46E3849F42D43448BDD4F91DEB4C3F859B9D4E937CBD
8015A1303495AA2495A131F5C133F5C137F5C13FFA24890C7FCA25A5B1207A25B120FA3485A 2050C4D25170D2D80CAAB1CC0253731252CC051D729A6CD87D39C1EBF50C61D9A575
802A4123FA25BA2127FA65B12FFB3A3127F7FA6123FA27FA2121FA46C7EA312077FA212037F 20514445F7F5E51607E97EAD6C933FF531967E6153181AB7D323E42C2CCC78803E2A
8037EA26C7FA2137F80133F80131F80130F6D7EA26D7E13016D7E8080EC3F80EC1FC0EC0FE0 2052DBDB113309B5D75B045D3A5D180673D8917841CB9DC54EE19721A3AD436971C6
8041407EC03F0EC01F8EC00FC153E151E1F7974D933>40 D<12F07E127E7E6C7E6C7E7F6C7E 2053DF9DD9FA78238D37179EC2E7B9BA528C485873F99D209AA53D38084B4BBFCB7E
8056C7E6C7E7F1200137F806D7EA26D7E80130F80130780130380A26D7EA215807F15C0A214 2054C559FD3F939BEDF5BB9A75F11D2F853285E2626C0C6D79CCD2DF4486FDAD3A2F
8067F15E0A3EC3FF0A415F8A2141FA215FCA6140F15FEB3A315FC141FA615F8A2143FA215F0 2055898C348F4D3C6C29BAB02E9686C6DC99DCD203C94B4E8869BAB8083E62D7DBB6
807A4EC7FE0A315C014FFA215805B1500A2495AA25C13075C130F5C131F5C495AA2495A91C7 205622173A97B3481C144B95134419188E297D2521223464418C83752328FD6C84FD
808FC13FE12015B485A485A485A5B485A48C8FC127E12F85A1F7979D933>I<EA07E0EA1FF0 2057F910E26F8F20918AECCF86E937D69C708B4FBA5B94BB1F573274FD9EE6C2F26F
809EA3FFC127F7FB5FCA31480A37EA27E7EEA07E7EA0007A3130F1400A35B131E133EA25BA2 2058C657665EBE9ADA23BE2D4949F52FA4E30A3E9400B3226CE24C4D30807E262ECE
8105BA2485A485A1207485A485A90C7FC121E120C1127768F25>44 D<913803FF80023F13F8 20592D506BE02FDE8A0D4042F908324409E608F45FBF94E7ED12E99D56288A305A94
81149B6FC010715C04901017F903A3FFC007FF8D97FF0EB1FFC49486D7E48496D7E4A7F4817 20607DE50958BBC47A2C7043F560F591B5AA209376AB2EB3E59C3C9A6748E429412E
812804890C76C13C0A248486E13E0A2001F17F0A3003F17F8A249157FA2007F17FCA600FF17 20611823CB5F64D80A93D96FE073F8507F07787499D1A439F2000604CBBD63DF31ED
813FEB3A5007F17FCA6003F17F86D15FFA3001F17F0A3000F17E06D5C6C17C0A26C6D491380 20624C6CD3915D933D0F98CA90FC983C29EDC92B7DF08334E9772A31683746DD4C9B
8146C17006E5B6C6D495A6D6C495AD93FFCEB7FF8903A0FFF01FFE06D90B55A010192C7FCD9 2063CF460446DC8541B503A3DD5EAB9E88107587A93092F201DEFE926F41E035F09B
815003F13F802031380374F7BCD42>48 D<151E153E15FE1403140F147FEB07FF0003B5FCB6 2064CFA90B81E97D8AE484FDC96D5491574CC9884922176D121A3E274B94D239CD69
816FCA3EBF87FEAFC00C7FCB3B3B3A6007FB712FCA52E4E76CD42>I<EC1FFE49B512F0010F 20656D545F87238BF05DAE40FBB7671BEB2AE967DACBAA528E66D57C5C8EC554B9E8
81714FC013FECFF804915E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F80 2066972F83D668216F336A46C0FAC6F066E7776D199DF204E16D8E3E293882716BEC
8186E138048C87E7013C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA 2067B1DC6C9866404A2582D8A9D23F3081EDA0EF3731A8D94D8069D589EB4744B0EC
8190380C914F05EA218E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC 20684866393C30F5A11AF6C0A3F48E7A5C1AAAB80CB6E20A84412802C2862AB121E2
8204B5A4B5AED7FC04B5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A 206971F3C96A25C43C08DABAFA7C557DBEAF679AEBFB53B81D3A7E55710AF3860559
821495A495A5CD90F80140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0 207045932079CC79BF6123FBD852D62C41B049A9A560226939F080E9EA5C72EBAD46
822A4354E7ACD42>I<913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0 2071EDD8390B57DCAC3B55A45C40CD0AD2D521C2BDF299899F52125F78B8477E6953
823007F01FEC7EA3FFE48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B 2072DCA76BA5E2F7D0AB2A29CFB258573A3CF80998F3E6333CE19CEFB58C71D773E0
8246C90C75AD80038168090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC9138 2073C9C96C0C52DD189606B11A8128B97CA631271B28CC49D88070825BB5CD6D9CE2
8257FFFF816C016FCEEFF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F070 207401BB269B0D0010845BE00197F7D0127A32602DDA051556B006DE0534B351F8DA
82613F8A218FC82A218FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0 20758728E60C223D8B759DEF450AF14078F4A393077A68D8B656F0ECC756D4D495E7
827495C4916E0D83FE04A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C 2076AC0090A6C0D2C25B0C18D7144AF78C083374FAF761CDCD8E27044BD090A397CC
82890B65A6C6C15E0010F92C7FC010114FCD9001F1380374F7BCD42>I<17FC1601A2160316 207723025AF4C76C1507205EA91DC41FC1E660010AFD85F1DC2668317588E77F390C
82907160FA2161F163F167FA216FF5D5DA25D5D5D167F153E157E15FC15F8EC01F01403EC07 20786F2BE6E87E64F979C259EB35B9E06ACF5E86EB1EFA669BD9338DC1544221CC77
830E015C0EC0F80141FEC3F00143E5C14FC495A5C495A1307495A5C49C7FC5B137E137C5B12 20797EF9430DE3E878E7D8686781443CC7A11F8DB43CC7EBD5743574E56DA0DAA6A8
83101485A5B485A120F485A90C8FC123E127E5ABA1280A5C901FCC7FCAF021FB71280A5394F 2080FC799ADCD91EBF7D279FAAE08D5683E0E2ADE9C2D1C9C1D35B354090D17BCF2D
8327CCE42>I<486C150601F0153E01FEEC01FED9FFF0133F91B65A5F5F5F5F5F94C7FC16FC 20819E16A48B1668F90634CA41EA3A5CA8D20ED0AC53022B3F1F3C9E17A02C00F379
8335E16E093C8FC15FC01F0138091CAFCAC913807FF80023F13F891B512FE01F36E7E9026FF 2082BBF61D1FF26823FF394BC9B669EC8A32D8C020D3C95AD058EBDE1B512FB8B6F5
834FC0113E09139E0007FF891C76C7E496E7E01F86E7E5B7013804916C0C9FC18E08218F0A4 20834645909503E6D8F0CA833C911766DE63D1E06A7D4DD37B6FB3EFF5AC003BB759
83518F8A31203EA0FE0EA3FF8487EA212FF7FA218F0A25B5E6C4816E05B01C016C06CC85A18 20845EF311D5B8930D775DB5C4F82E519A28488C93E011E22A468E268CF139412DE2
836806C6C4A13007FD80FF04A5A6C6CECFFFCD803FE4913F02701FFE00F5B6C6CB612806D92 208511DB62A7748F9A643E4DFB264DD81A9509DF461FFF1D350396FE190DF9529224
837C7FC010F14F8010114C09026003FFCC8FC354F7ACD42>I<ED07FE92B512C0020314F002 20868C47FFCA391FCA5734666D533DC19E7F41BA0E3F7641681586FBAE859A50BF9F
8381F14FC91397FFC01FE9139FFE0007F01030180EB3F804990C7121F4948EC7FC0494814FF 2087EA343866CAB65326676EF5353273D42A4E8CFF92E11FD0FAF9E754547D2DC133
8394948010313E0495A49485B5A485BA2485BA2486F13C091C7FC4803001300177E94C7FC5A 20881C5A676EF2B6647119CBF8A7FBCB965056D732D8EBCE0EE11D0D37B6625B27B4
840A25B127FA2ED3FF04AB5FC020714C000FF4914F091391F807FF891393E001FFE02786D7E 2089388D1DD60D642547BD6C5C6FAE9A72F4E68DA46757B662DE726985D46DA3215A
8414A6D13807013C06D5A4A6D13E018F05C7013F8A291C813FCA44916FEA3127FA6123FA37F 2090628B0128C0835685588239EF638D489FF9499DAC82F2144E361EB8FF5CCE80DF
8426C17FCA36C17F85E7E6E15F06C17E06C6D5B6E15C06C4B13806D6C491300D93FFC495A6D 20915E1BA97782FA5E81821219387753CB8EAE7EFE65DEA82CFB784469ED32DF6E21
843B4EBFFFC010790B512F06D5D01001580021F01FCC7FC020313C0374F7BCD42>I<121F7F 2092D6D7E94392D8DAA5C62A88E0E7743A34F2C18BF01312B49C035E915E7A317B82
8447FEBFF8091B8FCA45A18FE18FC18F818F0A218E018C018804817000180C8123E007EC912 2093B59504CFEBDF35DD368389D0C89A308843AB31595669E828463E26D5D6E78630
8457E5F007C4B5A4C5A5F16074C5A484B5A4CC7FC167E167CC912FC4B5A4B5AA24B5A150F4B 20948E455D9A6C3EB58E3F58056FA0A30CA961675B1E40AEEFC8F310314F49C513EF
8465AA24B5AA24BC8FC5DA25C5D1403A214075D140FA3141FA2143FA34A5AA414FFA65BAB6D 2095ABF5101F59034D5318C1D9C70C3290434B65FD6D3148B8DAABA24F517EB3F070
8475B6E5A6E5A6E5A385279D042>I<913803FFC0023F13FC49B67E010715E090260FFC0013 20960DE19B389909B2DD5BB43BA3F6DDC2972B40A4DD13C7599C74AFC097175A05E5
848F8D93FE0EB1FFCD97F80EB07FE49C76C7E496E1380484880000317C049157F120718E017 2097F2C307A59DC48A9C15354D57156ADA9009505A602D77C4E7AD4902D9B606B520
8493F120FA27FA27F7F6E147F02E015C08002FC14FF6C01FF15806F481300EDE0036C9138F8 209852BB66B78FA21683FC98259E6A5A9E6027323FF2F879081C6465598E848D5031
85007FE6F485A6C9138FF1FF06CEDFFE017806D4AC7FC7F010F6E7E6D81010115F06D810103 209924DC83B7D18AD3BFAED378AED4F17C6CCBBD9EACE31B800E3174ABB020E32D48
85115FE010F81D93FF71580D97FC115C02701FF807F14E048EB001F48486D14F04848010314 21009CDDE69D160D630F790157BF4DA87B14151692DB846C1D96710AA7266A483346
852F848481300496E13FC003F151F491407007F6F13FE491400177F00FF163F49151F170F17 2101F7060060F10CE583F407B7430BCD1D5121FC9C270291F993538BC10D7A5F7868
85307A21703A218FCA27F127F6DED07F8A26C6CED0FF07F6C6CED1FE06C6CED3FC06C6CEDFF 2102D7D434FE795AA707A63874ED9668F27F101A701BA9E43077A2EA1B7CD576CFA1
854806C01C0010313006C01FCEB3FFE6C6CB612F8011F15E001071580010002FCC7FC020F13 2103B614BD1DA7EF3F9B0EA0AAB021B53BFC5D3C897DBFA7B6079EE99E66346B343F
855C0374F7BCD42>I<913807FF80027F13F849B512FE01076E7E90261FFE0113E0903A7FF8 2104140A350F1B9805485A30AB93486A217AC0CA663E654E533CC9197632A555AD60
856003FF049486D7E48496D7E48496D7E484980486F138091C7FC486F13C05A18E0485A18F0 21052B60047195877B3513FFB99E895F3EC3CD0BE0CF08901AFC3D79479C9DA36E85
857A27013F812FFA318FCA618FEA35E127FA4003F5DA26C7E5E7E6C6D5B161E6C7F6C6D5B6C 21061D6DE801D3ED1C34256011B2035C52B73D98B8F12D707B876D25FB09EB5C1C02
8586C6C13F890393FFC03F06DB55A01074A13FC01001400EC1FF891C8FCA218F85EA301FC16 210789856EFB3D8080F00922F338EC6FBE85CF57B160CF85B658881960A64CF065EC
859F0487E2607FF8015E05E486D15C0A24C1380A24C13005F4A131F6C4B5A49C7485A494A5A 2108B32D2BA2A1FE235C1AF87EAA4373F09AEC05A1C355F4C57E9259AC2BA4A8AD23
8606C48495B6D01075B2701FF803F90C7FC6C90B512FC013F5C6D14C0010791C8FC9038007F 21092E0E3989DD45DFDCB54336D1F249650ECFB21433FA11A14A42141ABB516E3D85
861F0374F7BCD42>I<BB12FEA5D8000F01E0C700077FF0007F191F190785858586A2F23F80 21102887A97334AB91E4134576A74DA397826F6D4659F388F7B722C675BCA42C9338
862A21A1FA31A0FA4DD01F014C01A07A497C7FCA21703A31707170F171F17FF92B6FCA5EDE0 2111934F94B6321CB3885FFA7CD4C7A96E9D14E5A2A5DA68C5B5E11010EE38444B1F
86300171F170F17071703A317011BF8A3F201F0A394C8FCA21A03A21BE0A21A07A31A0F1BC0 211230CEB6F0410EAB6EBBA097E482429763214E4DDE0DB2C004F735B032DB3045A6
8641A1F1A3FA21A7F1AFF4F13801907191F197F060FB5FCBCFCA21B00A34D527CD156>69 2113459DA48453CF6EDBC47CE46609AE01F9EC5433C85608B7D3E1E890E4A64CDA6C
865D<B8D88007B712FCA5D8000701F0C9003FEB8000B3AE92BAFCA503F0C9123FB3B1B8D880 2114BB94399EAC00F06908EC2870FCBA4044F93B016C91C28349EDB7C91C92236D4B
86607B712FCA55E527CD167>72 D<B81280A5D8000701F0C7FCB3B3B3B2B81280A529527DD1 21155347F2408F98D684BA1FC14C27809DA7DDAA414297DAEBFACDF70BDF412100C8
86730>I<B812E0A5D8000F01E0CAFCB3B3A91AF8A419011AF0A51903A31907A2190F1AE019 2116A42C35797E48EFFBDEF5C2F593470234F75E3B0A4EFEFA74FEE6090B884DDD5E
8681FA2193F197F19FF60180760187F0503B5FCBB12C0A545527CD14F>76 2117EC0CA5F53E47917BE27CA2FA1054B232CE95A2CE2E8A70610FDEF00B38F03970
869D<EC3FFE0107B512E0011F14FC017F14FF2701FFC00F13C02703FE00037F486C01007F6E 21183A00FC6C909CD0787D493EB5946352BB90F1C041899C334F7C155CD9B76DDBD1
8706D7E486D80707EA2707EA3707F6C5B6C90C7FC6C5AC9FCA60307B5FC0203B6FC147F0103 2119221FE505EA179D91727B44864AB6DC5E5F48DDD018BB4253600AC4D342CA65EC
871B7FC011FEBF00F017F1300EBFFFC000313F04813C0485B4890C7FC5A5B485AF081F012FF 2120D60A69959428025811042426F7059EC08EA28095BFF175B7A6ABA8BA52E88A32
8725BA35EA26D5C127F6D5C003F03F713C36DD901E314E06CD9C00714FF00079026F01F8114 2121E42E18DB45D00C7A4FFB0BEDD837BF8049BA57DF31F1143DF780277D23C1E197
873C06C90B5C61480C602FC6D1300011F01F0EB3FFC01010180EB07F03C387CB642>97 21223C59A001A97EAB93B4431906E598F0822AE35713D21645B43E13182EAC122EBD
874D<913803FFE0023F13FE91B67E010315E0010F9038003FF8D93FFCEB07FC4948497E4948 21232DFB477AA508D4184085BFC22D1FA6A8DF10D9A916E6179A2CCEBAEE35490CF6
875131F4849497E485B485BA24890C7FC5A5B003F6F5A705A705A007F92C8FC5BA312FFAD12 21245BA6BE437D4D8EF01CAE05FB929861D2BEDF3E9B0053B776F4402CB9D063A71D
8767F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D143E6C6D147E6C6D5C6D6C495A6D 2125E0A1CA682AD69A5D9EA13C86997A779861EA71730FBEE1D9A4640983AF02B703
877B4EB07F0010F9038C01FE06D90B5128001014AC7FCD9003F13F80203138031387CB63A> 2126CD7A85F0793C07EBB57FB9631A781EB54C8DA8ADB872D6A32DCBA78FB0AAF00C
87899 D<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE001039038E0FFF0491380 2127D893FDD8E4981145CCD80A14DB6FBCBBBB03E7D23D492009B98B757F0044553E
87949010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAEB712C0A5C601F8 2128BBEDD139EA52E664EF2A1D4531D16BBEA5EA29AB6491CBB85263B8BAB6D446F9
880C8FCB3B3A7B612FEA52D547CD328>102 D<133FEBFFC0487F487FA2487FA66C5BA26C5B 2129F67AC3A247A29E4A0B081C8D811FE057667DB23F94441C74E11E7AAA6D9BA4C3
8816C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>105 2130854EDE23520C9C4548016DAFD3E791D599D94D6D61BB218BD00E232DA493015A
882D<D93FF0D91FF84AB47EB591B56C010F13F8030302E0013F13FE030F6E90B6FCDB3F8090 213193751B5EE91F63F7B08E72EB6C15160BAFDCCD42D826AB7FD8A992555BBE5A44
88327F803F80F7F922A7E007FFC07E0077F000302F890283FFE0F80037FC6D9F1F0011F4948 2132E6FD0C46DCD45FB959CCCF2EEFE037176FA202416441C59CF5A27D8354427AA1
8847EDAF3E0DAFF3E814B153CDAF7805D92C76C496D7F14FF4A5EA24A5EA34A5EB3ADB6D8F8 213367C15E6F2E90B55B3C46B7B0F1410B17BCF452948252AD4C661864CB6CC39F03
8850FB66CB612F8A565367BB56E>109 D<D93FF0EB1FFCB591B57E030314E0030F14F89239 213431AD003356A4C7C92BA73804C28B416C836D8D655790C53D3818E70C62C38D48
8861FC07FFC92397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5C 21356FA6C6CBA2ABE8AEDC125C8541B3B1FCCD73F4474560F5BE1A07A7D1A04D5ED9
887A25CA45CB3ACB6D8F807B612C0A542367CB549>I<913801FFC0023F13FE91B67E010315 2136FFC20BE392021C08442619BAA93F499D6AE85D70F787BA03434DDC7B800D8146
888E0010F018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F 2137A14496AC947CD17252756D40F0465DD2D9161E344936C65A4CAF63B5C8EB9E34
8894883488349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D 2138ABB1A6E2B6A76F7B91CC1AAA8903B86EF621F76E7606EAC8A8F0B63B704E102C
890153FA2001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB 213998C4185D33007D1B98246949B8BEEA380613E9B81D3E2FC3F894AA4F4C1DA876
8911FFE6DB46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<D93F 214062E92D9FD8589A5C7A0E9D4D28733C08DFF7189A0232A8289FF537376AE13C08
892F8EB7FF0B50107B5FC031F14C0037F14F09126F9FF0013FCDAFFF8EB3FFF000302E0010F 21417D7E43CC83CE9DF0D6372A075AC8063CB89AF6EADAD6179F03F5D3898DCF51AD
8937FC602806D7F92C76C7F4A824A804A6E7F85187F85A2183F85A4721380AD4E1300A44E5A 21420D8833EB69C68C0D6429CCA12C5E2D9182035B3F771A8D7A5FBFD40A44F12351
894A26118FF616E5C616E4A5B6E4A5B6F495B03E04990C7FC6FEB7FFE913AF9FE01FFF802F8 2143E3F42D3A5BE0FB4D0AD2E899D289127D8EB4D8D4030784E884ECB9FE60B9DD9B
895B65A033F14C0030749C8FC030013E093CAFCB1B612F8A5414D7DB549>I<903903FFC00E 214431F5190BF95FD48CC1CF0E50E61CA832589FB380F0AF14852C60EB4EBC0179F0
896011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F4848130348481301491300127F 2145455F3F48433DE6CFC41A89273B628219E57E88DF7AFDC72414AC323B89926A5A
89790C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFFF06C14FE6F7E6C15E0 21460A06E29FBBF7EE9E3BE5562CE995096595EFE5F6CD7A2CACECBF2303753B8CB4
8986C816C15FC6C81C681133F010F15801301D9000F14C0EC003F030713E0150100F880167F 21473465F3922D3E963CDD093688F57330254883BF082BC72116ADE2D8E750992458
8996C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03FE9039FF801FFC486C 214847D8CE7A1529FF9983F6CD56A7575F0BB34AE438E6ECD37EE83D951A356B83C6
900B512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>115 2149AAE7234343325AE51BA0AA1E517669AA7B662C09A55AFF9910201E9B47C45B01
901D<BB12FCA5D8000F01C0C7000F7F1800193F190F1907190319011900A21A7FA286A386A4 2150DDB755242819FCB31941359CD47CB9B03A162C719DBBB92A4041B71B8D22B10C
9021B801A0FA497C7FCA684047FB512E092B712FE737E1AE01AF89326E0007F13FE03E0C700 2151597418225DF3DC20044D7A7FF360150AE91D9F6770BABE3D15B0AFB2151500BC
903077F4B02011480726C13C07313E07313F07313F8851BFC851BFE85A37313FFA91BFE61A3 2152FFD6B5DA992A4B999A4E9C9460B76879998E2D4BEB467026B321E156B06716A1
9044F13FCA24F13F8A24F13F04F13E04F13C04F13804EB51200060F5BBB12F8621A804FC7FC 21532C242A93F2239763CD4541C9C6AF7F2E1F956B9A484B254803C85B29D7543D20
90519C050527BD15D>193 D<B912FEF0FFF019FE737E1AE0D8000F01C0C7001F7F06037F72 2154E40C07A636F07436935229401B071955A6C722387418F3D99E3389FD50ABCB5E
9067F726C7E867313807313C0A27313E0A37313F0A94F13E0A34F13C01B80614F1300624F5A 2155D61A9D0B26CCBD6DC47B8377C078DE3B0DB9462E0B1C8040B92E1994E44B5704
90706035B4E13E0063F5B92B8C7FC19F8A2F1FF8003C0C7001F13E0060113F89538007FFE73 2156425DD3348E5745B29A620FC3048456AAB6A24800CF394E13707B6FB778A0B4DB
9087E070F13C01BE07313F0851BF87313FCA27313FEA31BFFA91BFEA2611BFCA2614F13F81B 21571923DB961A83643CD1E70B5701C56564E061E2F46F9FA8C531BC01D01F937BB6
909F0614F13E0077F13C04EB51280060FEBFE00BB5A1AF01AC04FC7FC19C050527BD15D>I< 21582C4FB758B07E60B48338D26AA856702E68A92CA42AB1BFDDFB7953FDAF8133CD
9100038EC3FFF003C0107B512F8003F013FECFF806DB712E001E316F801F7D9C00713FED9FF 2159AFCDC4D995020706DFB6CAF3E07EDC4AF9750E3253CB72C00FE6AF5765A61F39
911FCC77F02E0023F7F02806E13E091C87E01FC6F7F496F7F496F7F5B717F5BA249838490CA 21604ED724F4B0E4459B678F7E8CF774C7AB87AF78E38615F23ACC8EC71E0591B71F
912FCA3123EA395B5FCCB5BA24D5BA24D5B614D5B4D5B4D5B4D48C7FCEFFFF8040713E0020F 2161254978D3DE271E2C182FDF190809E6551E7606C78492A7BA274DDB0CCAFA320F
913B612804A02FCC8FC5FEFFF8091C7001F13F0040013FE94381FFF80050713E0717F717F71 216289ADB50F35734028847A5A09473EEF19A11FF5597FE05A429A3C8DD312130032
91413FE727E841A807213C0A21AE0841AF0A312F8A57E007C19E0A2007E5F1AC06C5F1A806C 2163C4D64B5B02DDAF78A4C08C00BBDCAF6D72DBB7B636E4A9403E66A9AFD4FAE520
9156C5E6D93B512006C6C4B5B6C6C4B5BD803FC4B5B6CB44B5B6C01E0027F13C06DB40103B5 2164A96367FE821B98B497AF9B86F31D90ACE82DCA3EB3A6636335EA4061E10E917E
9165A011F90B648C7FC010716F8010116C0D9003F4AC8FC0200148044547AD250>199 2165BE2BDD1CAC5395B4679A7ED1E7319AB670CBA366DBCDC8FC5607A8DE17E59E44
917D<B8D88007B712FCA5D8000701F0C9003FEB80006297B5FCA261A26161A261611ABFF13F 21664E700E43F88C00B1EF4BAB74CEF90A9095C1B168F680E550CCFF2D480C070E27
9183FA2197E19FE19FCF001F8A2F003F0F007E0A2F00FC0A2F01F80F03F00A2187EA2604D5A 21676D1347BEAD1A40A57CB502339C9827354732B1986FFDFEBF48160453A1F559BC
919A24D5A1707604D5AA24D5A173F95C7FC177EA25F4C5AA24C5AA24C5A4C5AA24C5AA24CC8 2168F6E83A71523A3BBE399DBC0B757082BE6CADBCAE340EE1331E4755D359AB9256
920FC167EA25E15F15EEDF3F0A2EDF7E015FF5E5EA293C9FC5DA25DA25D5DB8D88007B712FC 216932BF4E2B1E3BBB8EE25F2E0572807D082ED15829B0CCF054BCEC1378198AE033
921A55E527CD167>I<B86C0103B612E0A5D8000701F0C9000FEB8000E001FCC7FC505AF20F 21705802B209BB452DF331A8EC46FFF63358C7288B7C0F20D6FCF54398D7BCBB1493
922F0505A505A50C8FC1AFE4F5A4F5A4F5A4F5AF13FC04F5A4FC9FCF001FC4E5A4E5A4E5A4E 217184217642755C6A8D56467866294B5D7E4B2E760A5075A7931F63DE69CCD47FBC
9235AF07F804ECAFC4D5AEF03F84D5A4D5A4D5A4D7E4D7EEE01FF4C7F4C7F4C7F5E4C7F4C80 2172FD845CC09093DB75E3ED88CDBE9298089E6A1E663D934225B0023ABF54E95D10
924EEFE7FDBF3FC809226F7F83F7F9226FFF01F7FEEC00F0480804C6C7F4B7F4B814B6D7F4B 2173F614D3602CF4509215683F5B9773ED0F1EEA41E17454CF8503AF1BE23AA251DA
9256D808486727F8486727F727F8486727F8487737F737F8587737F8587737F737F8588747F 21747874A62289A3983E6F95444B98A35BA3B8A45FE375FA58BCAEEF768EFEBD25AD
92697B57EB86C90B712F8A55D527CD167>202 D<B600F04EB612F06F606F60A3D800076D4E 2175117A393B999B2B217C66EE4FF70F8A91B4153E771E19AFC195208215F9502DAD
92749C7FCA2DADFFFF01F7FA202CF6D173EA302C76D177CA202C36D17F8A202C16DEE01F0A2 2176945201A987E71FCC93B5B27976C77A53AB5F34CF1A6D2F2A4C8B3CC0941ECF70
92802C06DEE03E0A36F6CEE07C0A26F6CEE0F80A26F6CEE1F00A36F6D153EA26F6D5DA26F6D 2177791BF425A729C9EA2C09C54FBBDAE3CBA84A89AC4BCF397EA1A028F5656DEFA8
9295DA36F6D4A5AA26F6D4A5AA2706C4A5AA3706C4A5AA2706C4AC7FCA2706D133EA3706D5B 217843FFF3553ED9D8FE19DB02DB297EAE11DC8D88C2EB0F1B89904537E99B360BD2
930A2706D5BA2706D485AA2706D485AA3716C485AA2716C485AA2716C48C8FCA37113BEA271 21790BE004711612CC9CE6F2BFEB4B8AC1DEE1079059BB5C5D6D5C19659988959053
93113FCA2715BA3715BA2715BA2D91FF06F5AB600FE050FB712F0A2725AA272C7FC74527CD1 2180D1B4E9321AE28D8E7706929157078BE75D1234A03DDEFB8E636A6187703BCC63
9327D>204 D<B8D88007B712FCA5D8000701F0C9003FEB8000B3AE92BAFCA503F0C9123FB3 2181FF7FCC512EDC737EBE5AEED7D6080F061DF3E11664F736C22D88BBE00C61FCE7
933B1B8D88007B712FCA55E527CD167>I<93381FFF800303B512FC033FECFFC092B712F002 2182BCBC47AD3C84146019EE40FC356F70B68E05669879AEC46F561E891847EA5E80
93407D9F80113FE021F903A80001FFF804A48C700077FDAFFF8020113F049496E7F4901C0ED 218316562374B1565FCF6DBF4DEF8FF6A6D5D67B09FD32487B6BC502F3EC1533CB39
9353FFC49496F7E4990C96C7E4948707F013F854948707F4948707F48864A8248864A177F48 2184A9BE9D7BD861C1272D48AB737B1A3B424894410A48C810447252ECBA3F738EAD
936864849717EA3481B804A83481BC0A44890CB6C13E0A5B51AF0AF6C1BE06E5FA46C1BC0A2 2185C29AFA3B3E2C150AFD5D5BA383EE691119F0B04C16FA47E1A15C0D6694FECD90
9376E5F6C1B80A36C6D4D1300A26C6D4D5AA26C626C6D4C5B6E5E6C626D6C4C5B6E5E6D6D4B 21863E3D710D92D8F623D19D6F13F87DF43986A4A3ABFF6952EDC7793A94933AC704
9385B6D6D4B5B6D6D4B90C7FC6D6D4B5A01016D4A13F86D01FE02075B91263FFFC0013F13C0 2187AD4ED8729263AB7450219B0BF0A83B7FCA0E16DB6A9C249BD77E49EFF7EF1603
9396ED9F801B55A020790B648C8FC020116F8DA003F15C003074AC9FCDB001F1380545479D2 21884D9E34ACC2990C7F4DDB992B2101828CEA1116945990B0AB6750D72A1EF77409
94063>I<BE12FCA5D8000701F0C9003FEB8000B3B3B3B2B8D88007B712FCA55E527CD167>I< 218904930C8D7381295F022B1835EADB9886F5ACEC4E032303139719FB0B65E8DB0B
941B912FCF0FFE019FE737E1AE0D8000F01E0C7003F7F060313FC06007F737E7313807313C0 2190BCF2D520F59F3AA73EE4ABC2B26B0F0C911A88E9FA7691DC71D3ED030BE70CC9
9427313E0851BF0A21BF885A21BFCA91BF8A3611BF0A21BE04F13C0614F13804F13004F5A06 2191556B9D0D0F630A53008B29C8ACB54341178302F82D52358FC75943445AD091C3
9430713F8063F5B92B812C097C7FC19F8198003E0CBFCB3AEB712FEA54E527CD15A>I<9326 2192CB5893B1482357017AA5A68785AC8EE74DE29816B1BA3ACD8C715411256A34D3
94403FFF01407047F01FF140F0307B600E0131F033F03F8133F92B700FE137F02039126C003 2193AF0F727E32EDAC4EB9B929EC85DA20566902F0EDBE49DBDD2D6DF571EE858268
945FF13FF020F01F8C7EA3FC1023F01C0EC0FE391B5C80003B5FC4901FC814949814901E082 2194E76959766C9F890F86FF7249BCB77E0AB1762E4C41DEDC2692A8073992FF5FF7
946011F498249498292CA7E4948834948835A4A83485B4885A24849187FA2485B1B3FA2485B 21957D8FE0EB091A682A00A2D1F3E2C1478337ACD4AA713A0F9381DC407175A09FAA
9471B1FA25AA21B0091CDFCA2B5FCAE7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F1B7E6C 2196830C3B7BAF6B9FA80B65C43349C3083704B67E445BD2F352B055A0ECDB6EC24F
9486D187C6C1AFC6E18F86C19016D6CEF03F06D7E6FEE07E06D6DEE0FC001076DEE1F806D01 219770FACB80CBD977ABCA4500126F669B117455573E0B7B2876613CA5A8CFB9023F
949F8EE3F006D6D16FE6D01FF4B5A023F01C0EC07F8020F01FCEC3FF00203903AFFC001FFC0 2198482DD6A956F5C39236674BC75B59A713CEA196D7EE20897C89848DA95F5477CA
950020091B6C7FC033F15FC030715F0DB007F1480040301F0C8FC505479D25F>I<003FBB12 21997B58559AC776CBD692D7752C1926FFBB82672464B26AACF44F3AC1A9E311FC60
951FEA59126C0007FEB000101FCC7ED001FD87FF0F007FF49844984498490C883A2007E86A3 22007C2342334EC63F9E082826600AA2789B974541766D3052AFA1AA42560EA78666
952007C86A500FC1B80481A0FA6C994C7FCB3B3AD49B912C0A551527BD15C>I<B700F8033F 22013C82EDCC89B3BF8F9AEA3E0ACF605258A7D29FB862487FAF82C4624BEA65DEC7
953B512F0A5D8001F01F0CA383FF0006DF10FC06F606D6D171F7F6F95C7FC6D616D6D173E70 2202CD829E1C41D8769E07B6CCAB1ABF40FA83ECA22A5E8E3ECC88CD3079561AA3D7
954167E806E6D167C7016FC6E607015016E7F6E607015036E6D5E6E1707826E606F6D140F71 2203F56CAA4CC0C4BE4AAA3CEC37C5752A23CC5AD3684883D1970CEF660084A17E3D
9555D6F161F6F7F7192C8FC6F5E71143E6F6D147E8171147C6F6D14FC6F5EF08001827001C0 2204EC6FDAE4815BA9F11CC1705A7F9963DD4BD0238B8C4BE251FD0B208A6672C465
9565BF0E003705D70EBF00718F8705DF0FC0F7001FE5B70141F18FF70029FC9FC7113BF19FE 220512DAFE3233FADF4561FA10FFA9A3996CF1EC24EA5F6EFA9CA0830B631247BAEF
95783836183715BA283DA03805DDA0FF07FDA3FF86D5B4A7E6F6E5A02FF153F6F5D72CAFC60 22061011C5F51850A1F05B7E0762B15A5EA06DA454569F30084FAD88A2A0B5D8D4A9
958187EA24B5C4D5A6E48495A4B130FDA3FE0495A4BEBFFC091261FF80790CBFC6EB55A0203 22072D81C477D6E73799848B6A009E52A51CD9489D571FA534D5BF163F338EB81195
9595C6E14F06E6C1380DB0FFCCCFC5C537DD163>I<92B812FCA592C701FCCAFCA74BB612FE 220810000C2F8466F1B211CCB6BFAD21BD7E8411CFE75B7200EEF00CDD7EBEFF4A8F
96092B812FC020FEFFFC0027F18F849B500E0D9FC1F13FE010FD9FC000200EBFFC04901E004 22091DDEEE82DF38693C9FEDBB1D0981E57B49B4EE8D1505ACAD76BCF07E46560F56
9611F7F017F0180040713F84948C703017F4849717F4849727E484972138048497213C0A248 2210A672F5C4F615521D851946EA0086F13A550BA75A7D42E032910DD366138D58A8
962497213E0A248497213F0A2481CF8A291C882A2B51BFCAB6C1CF8A26E60A26C1CF0A26C6D 22112716B1BB741A539BB4F2211885E321470C26EBA3156DF3B2135BAF9337718E38
9634E13E0A26C6D4E13C0A26C6D4E13806C6D4E13006C6D4E5A6C6D4D5B6D6C6C04075B011F 22128A5B516645B1EACEC6E71701DBB86940122975371B8C60D578A3686BBF6B3FD7
96401E0041F13E06D01FC93B55A0101D9FFE0021F49C7FC6D6C90B812F8020F18C0020005FC 2213A4FBAAD3E11A6C8A2B7985C9DFA85C082E656C708FF52752A82C012D7A19EEB9
965C8FC03014BC9FC92C701FCCAFCAA92B812FCA55E5279D16D>I<EC3FFE0107B512E0011F 2214FB4D90A6BEA4E75B898D4408DFB91085163593C4082EF66A4644FFF02DE50E6A
96614FC017F14FF2701FFC00F13C02703FE00037F486C01007F6E6D7E486D80707EA2707EA3 22150572D75884312C043840C7163D7694E45113B324B5C317B0AE18F2D3D361F4B1
967707F6C5B6C90C7FC6C5AC9FCA60307B5FC0203B6FC147F0103B7FC011FEBF00F017F1300 22169DC531DBF5A21F286776E9D39A81E49B93622879450537902F71257FDA210C0C
968EBFFFC000313F04813C0485B4890C7FC5A5B485AF081F012FF5BA35EA26D5C127F6D5C00 221744FF7C2706E38C88D6DF57EFCD3F62844D72ACC7C0584C4BFF6B60DB256AEF5A
9693F03F713C36DD901E314E06CD9C00714FF00079026F01F8114C06C90B5C61480C602FC6D 221873FFA790805D1018D173DA5C75FE525D4F01F40B6B382FEAC93772718AD2C69D
9701300011F01F0EB3FFC01010180EB07F03C387CB642>224 D<18FC170F17FF163F030FB5 2219186CE9153A28A246243D9CD121911557C38B73C6CD3724E9481409B572F0F347
971FC4AB6FC021F5D91B7FC01035E130F495E49168090B8C7FC17F04803E0C8FC4802C0C9FC 2220413AE0FB9150D55679DE7DF297B238CB8DB93DA772F248100528EC959B80534D
9724801F8CAFC14E048138049CBFC5B485A5B5B123F5B5BA23A7F0001FFC0023F13FE91B67E 222123619F594217262B1220C9E7C1141605718A8E589F967C810E2B9ED6436040A0
973D87E0315E0010F018013F8903A3FFC001FFE267C7FF0EB07FF49486D7F00FD496D7FB548 22229E204EBC6397C6EEC571BCA43788624296A4179DB3D4976EC6D27B14EEF92349
9746D7F91C8127F848449153F84A28449151FA284A41980AC007F1800A3003F5F6D153FA200 22236EAD3716721F52EDBA5517EA740322327A62F96D0B9D4D715D64B4794384B410
9751F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB4 22242BA9F8F442D1BE31B5C48761E44EB339F061EC3213D4EF1EC6D8F294C5B222C0
9766CB45A010790B512F0010115C0D9003F49C8FC020313E039547CD242>I<B712FEEEFFF0 222502911E1D61B7D2663255BE13FCEAAD6E665829E79CA81DFD5627E22BE4B91D8C
97717FC17FFC69026F8001F7F040713E004017FA2707FA2717EA64D5AA24C5B4C5B4C5B041F 2226839BFB35C7ACD48BBDFFC61A4811A4875061855934E445B60C9B5A965C636778
97890C7FC91B612FC17F05F17FC9139F80007FF040113C07013F0717E717E84171F84A21980 2227888B0E87E60BC83018E4BC16F08EE8891BD3C56B8F7EB4C1B6A6BD11D79FF638
979A61900A25F604D5A17FF04035B040F5BB912C095C7FC17FC17C039357CB442>I<B9FCA4 22289EFD2243A9E7CE1D2A492868EB148AD8D3CA2B939FF3CC36557464E71E64BE13
980C69038F8001F160382707EA283A2EF1F80A4170FA694C7FCB3AAB612FEA431357CB439> 2229133946D7BC1DED761EF1EDF4D8524650B9A02319DB72BF0B5321B7D9BF8C357F
981I<91B912F8A4DA00FCC7EBF8005DAE5DA21401A55D1403A35D1407A34A5AA24AC8FCA25C 22300D8D66A54EE088E9C270FEEAFD68735B046E4CEE851A2D03C97AB895A6AE96B0
982143E5CA25C1301495A495A495AEB3F8049C9FC003FBA12FCA491CAFC01F8171FD87FE0EF 22311A29DA9A4C96698F319D8BD1D5087F36D5112AD45A9F059D291C5507563933D8
98307FE49170349170190CCFC1A7E127EA2007C193EA400FC193F48191FA5484880B449>I< 22325FF87C7DEE8FEDE23D505ED6F0A14383E2BFC7A2B020A8598453B16D2DD38D5D
984913807FF80027F13F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49 2233A8BB4F0D5A4523E5FF4FCFB19DBBEB5B1E2AF5EE260AC450FDC82A6A92E61707
985486D7E4849130F48496D7E48824890C77E1880485A82003F17C0A3485A18E082A212FFA2 22342237B50DD36599D476225CBA112763A8A5DD3B1919A91A79B9F324BD30B990EC
98690B8FCA401FCCAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F 2235A32C3828BC991F8F43CE31FC202A2690DABCB64F814CCE11309752251E7EE559
9876C6DEC3F006C6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D02 223680D162949E7E578498C0338C6EEF3546B5F938D08699711D635ADD67B81C2230
9883F01FCC7FC020113E033387CB63C>I<001FB50103B600E090387FFFFCA426007FFCD900 2237FFF3B1C0FDCAC4FF5A625E9D56B0BC229E605681E46F18737C599F914DB1FA42
9890301E0C7001F90C7FCD90FF8F10FF8D903FCF11FE06D6C4F5A6D6C4F5ADA7FC04D48C8FC 2238C6FACD77380689C14646E71F2C5A6DC68B119262D433326B181CADE47B2D7DB9
990DA1FE0EF03FC6E6C4D5ADA07FCEF1FF0DA01FEEF3FC06E6C4D5ADB7F804CC9FCDB1FE0ED 2239214740E622F3A06383234F46C28586121C64B10A5B1ACB8ED7AFCF5E0E653FBC
99103FCDB0FF04B5ADB07F84B5ADB03FEED3FE004FF157F4B01834A7E4B01E301E37F4B01F3 2240D3C5598CC6D21FF5C6BD24C114BCDCA63F8485BB592356115B32998E4DEFCEFA
99201E77F4B01FB01EF7F94B7FC4B834B486C023F7F4A496C496C7F4AD9F80FD9F80F7F4C6C 2241D63CD51CB54A69FE5690999F41FA2106A76A27C194FB44568FC7268D1D40FFD4
993497E4A6E01E0804A01E06F7F4A01C06F7F4A01806F7F0400167F4A854A48717F4949717F 224224E553F660C83FD34271347E987897650C93DF64EA0F9D41AD68A40908E42729
9944949717F4949717FA24949717F4949717F4949717F4990C7717EA24948737F00036D4F13 2243E008565141930C48395703F5FB61A99D2B087C065744126AF226CA5EC2659BAE
995E0B6D8E003B6D8E003B61280A469357EB46E>I<0070EBFFFED87C0FEBFFF0D87E3F14FE 2244AB0A9F3EEBF46796547B29CED71BE3EF5FDD8AC6594F482E5E01C1A4EA33F401
996007FB77EDA801F13E09026F800037F4901007F01C06E7E5B707E90C8FC007E6F7EA3127C 22450CFCA0798A5686A379E8603CA1AD7034764157987DA0901DEFC5AAA57E97329C
997A2C9FC4C5AA24C5A5F4B485A4B13C0030F5B49B500FCC7FC4914F0A216FE90C7381FFFC0 22467F297A594169E6A3598C75AA98DF3FEC78AD50D50568DA02DBFDAD9695DFFF4A
99803037F030013F8707E707E707EA2701380A218C0A412F8A36C1780007C5D007E17005E6C 22474F88A68F986F657E2C5B7290ABDDBDDE38C80E98D7A97654662C9F19190E1444
9994B5A6C6C4A5A01E001035BD80FFE011F5B0003B712C0C693C7FC013F14F8010391C8FC32 22480E7ECBDF22F295E5A09E988979D581313C9B8CC19D96723FB0BAD1657D50FFFE
1000387DB63A>I<B6D8F807B612C0A4C601F8C70007EBC000A25F5FA25F5FA294B5FCEE01F7 2249DA1CDFDF513E88D869598E6B396158BF9A35F49BC1810EC7CC6AD1C2374D66DD
1001A2EE03E7EE07C7A2EE0F87EE1F07163F163E167C16FC16F8ED01F0150316E0ED07C0150F 2250061112B679739E3840DBCA3865E2AE5600C8DBEED513F4BCDB0B284E655A2DC1
10021680ED1F005D153E5D5DA2ECF9F0ECFBE0A2ECFFC05DA292C7FC5CA25C5CA2B6D8F807B6 22516A6E53F78760A4FA927C16B4771DC7084308640A43E87E6B4AFC7578E20848B2
100312C0A442357DB449>I<023E141FDAFF80EB7FC0496D497E496D487FA2496D487FA54B7E 22528F77803EFB46E7E7798DF886E113A37B7C1223EFEC68CF74DD5038CFC927E41F
10046D5E4B7E6D496D5AA26D90B65A023F92C8FC6E5C020714F8020114E09126001FFEC9FC92 225382452EB90C565065B9B182920DA7F2FDC0CF13E00A9604B5BD1C51A3F2D938AB
1005CBFCA4B6D8F807B612C0A4C601F8C70007EBC000A25F5FA25F5FA294B5FCEE01F7A2EE03 22541415CF0981B8A1ECBBFE6067358E5A480866728CCE529B799262E165CDB9A0D6
1006E7EE07C7A2EE0F87EE1F07163F163E167C16FC16F8ED01F0150316E0ED07C0150F1680ED 225597BAA5D4934879D6CFA9B881CB0569B38DADFA5AC8C3A3146E68B8D250CACD6E
10071F005D153E5D5DA2ECF9F0ECFBE0A2ECFFC05DA292C7FC5CA25C5CA2B6D8F807B612C0A4 2256E1BF0BFDCDCE70485D603ABED0151F454DCE7FFF60C72B532C42B2D1B7C70F35
1008424E7DCD49>I<B600F8011FB5FCA4C601F8C7000713C07148C7FCEF07F84D5A4D5AEF7F 22571848AC903E659691DF5D05A1FC3F8DC8269A2ACA77E1DC53C22F875FC62BC325
1009C04DC8FC4C5AEE07FCEE0FF04C5AEE7FC04CC9FC4B5A4B5AED0FF8151F4B7EEDFFFE02F9 2258AE4E9042CD3B9F3C231B8BDA0D4F37C7A84A8C79A48F3D926F5A4B1685B0BBE8
10107F02FB8091B6FC8303CF7F03877FDAFE037F4A7E02F8806F7F707E707F8284707F707F70 225993D2231A97FC39EEA3277BC29EEBA0CDAC4B77938051A9DAE8832CE9269807E7
10117F707FA2707F717E717F717FA2717F4D13F8B600F890B612E0A443357DB449>I<0103B9 22609017D8DF9DF20A500562B6E972F82B99B7081B21E6D444D2A50763D0DCCCEBF5
101212E0A490280003F00003EBE0005DB3A914075DA4EA0F80EA1FC0383FE00FEA7FF0D8FFF8 2261D018D9E7561F50F7A20FD012F33363E821FE54E387A194034B5674F376EC373B
10135BA2141FA292C7FC5CEBF07E387FE0FED9FFFC0103B612E06C5B6C5B6C5B0003018090CA 2262A22F533904D6B1B3539F1BC6737B49112866320385714601584D8E69C4042B67
1014FCD80030CCFC43377EB449>I<B500FC93387FFFFE6E93B5FC8060C6F1FE0081F003DF01 226371BB7F3DEC4FB857B25A2CAB22746CA62C762CC64B341A435439564895335D26
1015FB7FF0079F01F97FF00F1F01F87FA2181E6E7E183C6E7E18786E7E18F0A26E7EEF01E06E 2264D3F2E02948F17BA8533C75D628A46F7B88D33ED5CCB75E54BB9147DB9E567E2B
10161380EF03C06E13C0EF07806E13E0EF0F00A26E13F0171EED7FF85FED3FFC5FED1FFEA25F 226529E73361C786B38F1DE733E52DF6997641D52C70786E4524C049194EE1DB9A6A
1017ED0FFF5F815F815FA28194C7FCD807FF7FB500F849011FB512FE167E167C163C4F357CB4 22662D49CFE5C4A47998E043DF5ECE933482EF1CC57B21FA44A84F02F194A4D7284B
101858>I<B6D8F807B612C0A4C601F8C70007EBC000B291B8FCA402F8C71207B3A5B6D8F807 2267AC4D4DAE7E51D869D41DB4E35F95136E16149413FD1D3703553F601ABCAED979
1019B612C0A442357DB449>I<913801FFC0023F13FE91B67E010315E0010F018013F8903A3F 2268602F094A08297C2AB3F2A31E80985C819FACDAFA757DA43C9BDC811F2A425631
1020FC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883488349153F001F83 2269D288E459CF99F6EF06B16724C0FEC9F2437FDBC7B9C85D55B418C6B8FFE40961
1021A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2001F5FA26C6C4B 227057D94FEF03B5031B566D1FE3FB0C3CB87A873AAA83A7171B657B8997F834B17C
10225AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB46CB45A010790 2271197F2083E048E1AD59C265C4CAA03BDD0535F8FE7D2B427F447BFAAEC0BD0D6A
1023B512F0010115C0D9003F49C8FC020313E039387CB642>I<BB12C0A4C601F8C70007EBC0 22724E4B208966DC35AA64E3421829069560D287D04DCE2463F7EC261A6F4E11F2A6
102400B3B3A9B6D8F807B612C0A442357DB449>I<D93FF8EB7FF0B50107B5FC031F14C0037F 2273809F98E311E174BB528EC1E6EA4A00C22DD62F6B3419DA8AE72615EE06C98ACC
102514F09126F9FF0013FCDAFFF8EB3FFF000302E0010F7FC602806D7F92C76C7F4A824A804A 22745E3E4761B20252EA0AD0DA374306E234B808D13750FD60D4422F66E4720C57A9
10266E7F85187F85A2183F85A4721380AD4E1300A44E5AA26118FF616E5C616E4A5B6E4A5B6F 2275FC981D2FD198C2F51F1E7DEEB22E9E0427B57AC7A12031F1C5B5EC9A026FC2C7
1027495B03E04990C7FC6FEB7FFE913AF9FE01FFF802F8B65A033F14C0030749C8FC030013E0 2276CB4F7D30B6C3FC5E1B19F55044A44C2BE1E9B622E8934C6B90222979861F1A89
102893CAFCB1B612F8A5414D7DB549>I<913803FFE0023F13FE91B67E010315E0010F903800 2277BE1F41D1E68910404F0E53851B8955C1BD99F92AF952E736E2FEF0AF768B9A2F
10293FF8D93FFCEB07FC4948497E4948131F4849497E485B485BA24890C7FC5A5B003F6F5A70 2278BDAC44D8167A705B9B91F17796BEBF45666F32714D158899CBB6818134829B35
10305A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D 227927EEA46B37916844A4ED6EA1DB6C3DAF66FEF84BC095C904BDA9CE9388E09D40
1031143E6C6D147E6C6D5C6D6C495A6DB4EB07F0010F9038C01FE06D90B5128001014AC7FCD9 228080D8723585600F9C024996C01857F44F4C2F10EB24C5E4C99C1FB6BE46174FEB
1032003F13F80203138031387CB63A>I<007FB812FCA4D9F807EBC03F01C015070180150301 22810DA222EAED2D4CF261BE9EB24EE0EF1782E075A0ADD653F5E05BFF4C9E1D5A04
1033001501007E1600A2007C177C00FC177EA348173EA7C71600B3AA017FB612FCA437357DB4 22825A821C376579B34D54BF28F55D967702C96A6C5A552D55C614B4B1689F7DDC97
10343E>I<B600E090381FFFFCA4000101F8C700011380943800FE006C177C6E15FC017F5E6E 2283A940063425E330B9F154AB0ABC96641CA8B494509F72D6B9C3378DFBD88E2961
10351401013F5E8017036D6D5C17076D5E6F130F6D5E6F131F6D93C7FC815F6D6D133E177E6D 2284C67751A36C59E77D930F1939D6B5861176423B69866E4389B9FD6EECF71887B4
1036157C6F13FC027F5C811601DA3FFF5B16036E5C16876E5C16CF6E5C16EF16FF6E91C8FCA2 228557DF13F2F86B5CE3F56665E376539E9F1B92256185A61E30A29393B95AE3404C
10376E5BA26E5BA26F5AA36F5AA26F5AA26F5AA35E151F93C9FC5D153E157ED81FC0137C487E 2286E1979DD13CAF1EA6B654E378EDB6A471CD09182F578D593ACD9FBA780682FD72
1038486C13FC486C5B14015D4A5A14074A5A6C48485A4948CAFC495A383F81FC6CB45A6C5B00 2287D0B45CC90DCAB0D5CAED2EE39FAA5DA935820CF6DE4E77518C14859B3DB3A611
10390313C0C648CBFC3E4D7DB445>I<EF3FF893B5FCA516031600B3A4912603FF80EC0FFE02 2288AF2ADD391ADAB116D038872613C586E58A2E7CE0C387283E9E301FB7F61EAFC2
10403F01F091387FFFE091B500FC01F9B512F801036E01FB14FE010FD9C03F903AFFE01FFF80 22892315EF6AE4BB9199B5B30A6ECC7BE93B393BDA0D565CB3B9CF2923F4C6D3626F
1041013FD9000FDA800713E0D97FFC6DDA00017F49486D496D7F48496D496E7E48496D496E7E 2290CEC8A7CE3441FCA79BB25987EEC36B78B6F18F87CB9C167EEF297866C7524EAA
10424849727E481C804A84481CC091C882481CE0A248487313F0A448487313F8AD6C6C4F13F0 2291CC8E5732D9E9D2D43792BE3EA5B7328AF20BAAA203F731B5CE600DF471C426B5
1043A46C6C4F13E0A26C1CC06E606C1C806E606C1C006C6D496D4A5A6C6D4E5A6C6D496D4A5A 229288388F81F5F0BA6EBE6E4BE25C0862B6410507C6F44649521C831E794BF5084A
10446D6C496D495B6DB449DA80075B010FD9C07FDAF01F13800103D9FFFE01FBB548C7FC0100 2293F11B3FFB2FC371B22589C174699892A622EBF13A62A5D21F95A11E28921CB346
104502F801F814F8023F496E13E002010180DA0FFCC8FC91C891CAFCB193B612F8A55D6A7CD2 22942A1A01E5D870664D158C97F177009385C76197231AB4D0E1C90FBC0C5AF9991B
104666>I<B6D8F001B512FCA4C649C7381FFE00017FED0FF06D6C5D6D6D495A606D6D49C7FC 2295689BF14CFA6C64E7B1258F4EEA28B543E2CA4E62F2D0A3FD773ECA
10476D6D137E6D6D13FE6D6D485A4C5A6D01FC5B6E6C485A6E6C485A161F6EEBBF806E01FFC8 22960000000000000000000000000000000000000000000000000000000000000000
1048FC6E5B5E6E5B806E7F6F7EA26F7E834B7F92B5FC83DA01FB7FDA03F17FDA07F07F4A5A4A 22970000000000000000000000000000000000000000000000000000000000000000
1049486C7E4B6C7E4A486C7F147E02FE6D7F49486D7F49486D7F4A8149487F49486D7F011F6F 22980000000000000000000000000000000000000000000000000000000000000000
10507E013F6F7E48B47EB500FE0107B6FCA440357EB445>I<B6D8F807B612C0A4C601F8C700 22990000000000000000000000000000000000000000000000000000000000000000
105107EBC000B3B3A9BB12E0A4CB12071800F13FF0191F190F19071903A31901A41AF81900A5 23000000000000000000000000000000000000000000000000000000000000000000
105245487DB449>I<B6D8F807B612C0A4C601F8C70007EBC000B1137F80013F153F6E91B5FC 23010000000000000000000000000000000000000000000000000000000000000000
10536D6C130F010790B512F7010115876D6CEBFC07020713C091C8FCB30407B612C0A442357D 23020000000000000000000000000000000000000000000000000000000000000000
1054B449>I<B6D8F81FB60003B612E0A4C601F8C7001F90C70003EBE000B3B3A9BF12E0A463 23030000000000000000000000000000000000000000000000000000000000000000
1055357CB46C>I<B6D8F81FB60003B612E0A4C601F8C7001F90C70003EBE000B3B3A9BF12F0 2304cleartomark
1056A4CF1203F4007FF51FF81D0F1D071D031D01A31D00A41EFC1E7CA566487CB46C>I<B600 2305%%EndFont
1057F8037FB512FCA4C601F8CA387FFC00B291B512F8EEFFF017FE717E9126F8001F13E00407 2306%%BeginFont: SFTT1000
10587F04017F707F717EA2717EA2711380A74D1300A24D5AA24D5A4C5B04075B041F5BB9D8C0 2307%!FontType1-1.0: SFTT1000 0.3
10597FB512FC180017F8178056357CB45F>251 D<B612F8A4C601F8CAFCB291B512F8EEFFF0 2308%%CreationDate: Wed Sep 12 2001
106017FE717E9126F8001F13E004077F04017F707F717EA2717EA2711380A74D1300A24D5AA2 2309% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
10614D5A4C5B04075B041F5BB95A95C7FC17F8178039357CB442>I<4AB712FE147F0103B8FC 2310% See the file COPYING (GNU General Public License) for license conditions.
1062130F013F903AC0003FFE004948C7FCEBFFF8485B5A5C5AA67E807E807EEB7FFE90381FFF 2311% Converted from METAFONT EC/TC and LH fonts:
1063C0010790B6FC1301EB001F1401EEFC3F4A13F85C4A13F016E04A13C05C4A1380160091B5 2312% ectt1000, tctt1000, latt1000, lbtt1000, lctt1000, rxtt1000.
1064FC495B495B5D5B495B495BA2495B495B90B5C7FC5A1207B6D8F83FB512FEA43F357EB445 231311 dict begin
1065>255 D E 2314/FontInfo 6 dict dup begin
1066%EndDVIPSBitmapFont 2315/version (0.3) def
1067%DVIPSBitmapFont: Fi larm1000 10 86 2316/FullName (Computer Modern Typewriter) def
1068/Fi 86 256 df<486C1360000314E039070001C0000EEB038048EB070000181306003813 2317/FamilyName (Computer Modern) def
10690E0030130C0070131C00601318A200E01338481330A400CEEB338039FF803FE001C013F0 2318/ItalicAngle 0 def
1070A3007F131FA2393F800FE0390E0003801C1981B91C>16 D<001C1307007FEB1FC039FF80 2319/isFixedPitch true def
10713FE0A201C013F0A3007F131F001CEB073000001300A400011470491360A2000314E090C7 2320/Weight (Medium) def
107212C048130100061480000E130348EB070048130E485B006013181C1980B91C>I<B81280 2321end readonly def
1073A2290280962A>21 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA2 2322/FontName /SFTT1000 def
107412075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F 2323/Encoding StandardEncoding def
10751203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40 2324/PaintType 0 def
1076D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F 2325/FontType 1 def
1077A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2 2326/FontMatrix [0.001 0 0 0.001 0 0] def
10785BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80A213C0 2327/FontBBox{-208 -360 1374 838}readonly def
1079A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>44 2328currentdict end
1080D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<1506A2150E 2329currentfile eexec
1081150CA2151C151815381530A215701560A215E015C0A214011580A2140315005C1406A214 2330D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
10820E140CA2141C1418A214381430A21470146014E05CA213015CA2130391C7FCA25B1306A2 2331016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747
1083130E130C131C1318A213381330A213701360A213E05BA212015B120390C8FCA25A1206A2 233257609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9
1084120E120CA2121C1218A21238123012701260A212E05AA21F537BBD2A>I<EB01C0130313 23333894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4
108507131F13FFB5FCA2131F1200B3B3A7497E007FB512F0A31C3779B62A>49 233441C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E
1086D<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0001E6D7E001C6D7E486D7E5A6E7E1260 2335ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F
108712FE6CEC7F807FA56CC7FC121CC8FCEDFF00A25D14015D14035D4A5A4A5A5D4A5A4AC7FC 2336BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0
1088147E5C495A14E0495A495A49C8FC011EEB01805B5B49130348481400485A485A90C75A48 2337C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508
1089B6FC5A5A485CB6FCA321377CB62A>I<EB07F8EB3FFF90B512C03901F80FF03903C007F8 23382666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C
109048486C7E390E0001FEEA0F80391FE000FF7FA56C5A6C5AC7485AA25D14035D4A5A5DEC0F 23399A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215
109180027FC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2 2340EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1F7797042A1CE8
1092121EEA7F80A2487EA316C0157F491480007EC7FC0070ECFF006C495A121E390F8003F839 2341F39E2475DC2936BFA24A71D879CF46FE753E2C63BEAFDC65589FD17B18155220
109307F00FF00001B512C06C6C90C7FCEB0FF823397DB62A>I<1538A2157815F8A214011403 23421044C366077F0DEDA5BFC03931758CAD2A066BF49A7C1889BB0582A174CE59A2
10941407A2140F141F141B14331473146314C313011483EB030313071306130C131C13181330 234359693720FDAA7CA1BB8015F9BD51B468C01600BEA3AAB225F4B800EC1614FF01
10951370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C73803F800AA 2344B5B9AA6122750A57EF7694D92C4128F15BC6AA1BFFF59BD99696A942A03329A4
10964A7E0103B512F8A325387EB72A>I<0006140CD80780133C9038F003F890B5FC5D5D1580 2345DA4A4BB6688CF1633E3631EFCC8BBC4E1E846D5B831E795053288965201B6D62
109792C7FC14FC38067FE090C9FCAAEB07F8EB1FFE9038780F809038E007E03907C003F0496C 2346C485D993C7676717C6F652970F8C71AA5948C43E2613965EA9CB1FDBEF39EA12
10987E130000066D7E81C8FC8181A21680A4121C127F5A7FA390C713005D12FC00605C12704A 23479804EF497008E1665E769A11316D98C991D65B35E667629F1A83377B4440FEFA
10995A6C5C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB1FE021397CB62A 23482316C3143FAD6F4EFC2480E093CBBB3B0D57290ACBC802CE585B70BC89FD0400
1100>I<EC3FC0903801FFF0010713FC90380FE03E90383F800790387E001F49EB3F80484813 2349AB0D76CA8CE7E9E4B042C6F15C00A965B4CF8C986FC975B41877FD2F7B8991BE
11017F485A12075B000FEC3F0049131E001F91C7FC5B123FA3127F90C9FCEB01FC903807FF80 235092E4F228FCBF7E51CD29ED70C5236A59B5098A689930DEE73D114EC6414B19A8
110239FF1E07E090383801F0496C7E01607F01E0137E497F16805BED1FC0A390C713E0A57EA4 2351C51FCBA6005E793F7EF33A6AC89F8075C30DEC81BAB27F3973CF898C308445F2
11037F123F16C0A2001FEC3F807F000F15006D5B000714FE6C6C5B6C6C485A3900FE07F09038 235227C37CC99307E7D2EDDFB0073070337FB681F73F2E43061F1D2236B326103D10
11047FFFC0011F90C7FCEB03FC23397DB62A>I<EB03F8EB1FFF017F13C03901FC07E048486C 2353CE9957519DC15C5E6123AEB1AD8C87F74965E2326DC9E018F96DB9F031C527F1
11057E3907E001F8000F6D7E4848137E5B003F80A248C71380A25AED1FC0A516E0A56C143FA3 2354427DC1009F3020BBC82F52A7957E4674F4EA2232D4114834A511BD053DA38ED4
11066C7E157F121F6C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD93FFC13C0EB07F0 23559C619CBBD8B273A2A1D12D74B161A800FDF0B0B1A8C29D9CB9E207BE22F6378E
110790C7FCA2153F1680A216005D120F486C137E486C5BA24A5A4A5A49485A381F000F001CEB 23565764E59B1AF384D8654E21B4798087F2B70245683C7598991B7971AD959C8114
11081F80260F807FC7FC3807FFFE000113F838003FC023397DB62A>57 2357374B2C5C17E2AB9130B642421543DC77566E0658A3230D2443A28CFE4BF80988
1109D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317> 2358B578C71908F2165D39E588AD8CD668493FCB46571A5E2DC20AB95C1E01F539C7
1110I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF 2359495DCC3506D9665B38656B1C6735F2E4903C3D9A5CAE8580EEE684E5FC47B8C0
11113F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F 236072DCA309FC8C5B8AFFB5C5C8813CB052EFF2E73C4A53C193B3888D7F0A43DF8A
111280A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036397DB83F>68 236149D4EFBD56A6A7AFB5DB2C47C7A6B6CB3DB7D048B7EACBE1CA0F60F794E41D60
1113D<B812FEA3000190388000076C90C8FC173F838383A383A31880170116C0A394C7FCA315 2362CF5131DCE442BCA4E670B93B4B89397E91919EF8DF9A36F60320139D158B9CA2
111401A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C712C0A41701A3EF03 2363F8E93C1F0AE8CF59D623D090FCCF6D6AD66E47C4C503F5AD782ED4BA8FD6B959
111580A21707A2170F173F177F486D903807FF00B9FCA333397EB838>I<DBFF8013C0020FEB 2364D5E5DCF2E781553AC903944A0D64CB893874114823A05F2A2F38A719C2373607
1116F001023F13FC9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F4948 236549358DBC1FD1CFA6CC0B73C6CE231015DFDAF48360371D61B0D523C06678F931
1117143F49C8121F485A4848150F48481507A248481503A2485A1701123F5B007F1600A44848 236661CC97D03C016DAF742B7C96ABE807EC5FD9DDDB48BEF35922CB4CF649C3503F
11181600AB93B6FCA26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C 236709911C57F704575A2E3547481E6F365643205C90D1B145B394BAB0B56007BF7C
1119157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFFFC 2368C7638FECA128568AF90469201E64134B6D968A2F1E38D20B0C9A9C9873D4D6C5
112000020F01F0130002001380383D7CBA41>71 D<B648B512FEA30001902680000313006C90 236956CE0B113B53DBA617C3277F59A41F129ADA297929914BA65AA45D2F0BFC9BCB
1121C76C5AB3A491B6FCA391C71201B3A6486D497EB648B512FEA337397DB83E>I<B612E0A3 2370F13C49870D17368E6E655B321D70FBC7D0F1E12D309A24544D560CB3BCDCC053
1122000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A216011603160FEE1FE048 2371D86F455F45E4C4476C08318B70D386CEF4E20CE7CB4722090265C89C158A1BA9
11236D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC002600DFC0ED1BF8A2 2372348730A9DAE214BDA6CA97DEC6FE4167A888FA70DEE5B1CE56815D212539DF21
1124D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2027F1406 237321531966A4FD7DDA9498F6710A4716E17C3829CE4FD4877180A3B8D2A1DEAB5F
1125A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC0180A3913900 2374005E49E79FB981B5CDAC4E05D5B7B7BD979DC57863EB039C8D9885DAF4095A1A
1126FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48497EB500C0 2375876A054D85D2C32FB58A5E3A0F8F21766DC58E46B447335B6ABC0C952107129C
11270203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007FE06EEC1F80D9DF 23766D2F7025AC3F86B32F0383A87B3D74498463B350075D682B7FD7B008602477E0
1128F0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81140F6E7E81 2377E17679FFFF591DDB337A4C5CA16CA40041B87E1F0CB447DB5D69790A3CAD5161
112914036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F1386A2EE 2378715BBE6577DA7B5642F97B047EF82E199099F4E035A443EB52D755CE80CFD3D5
11307FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E487ED80FFC151E 2379180D223C92CC05887A552AF39A3226A85688257A0ACAEE74CA2C60C50747A04C
1131B500C0140EA2170637397DB83E>I<B6903807FFFEA3000101809038007FE06C90C8EA1F 2380E8B24764D050C43A37597B2A807669B37EADF65179AACF71809E2FE040F0603A
113280EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F06D6C5C6D6C495A 23815125CC8749B0792422AE7DD3DE695AE830FEC7280100B7438A5DB747E46FEE92
11336D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80373B7DB83E>85 2382CF64E7E6A79BDF0F17F399854B5ADBCAE31AB4DDF4392C2D008D745D290CA44A
1134D<007FB590383FFFFCA3C601F801071380D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C 238326EB148E00C2331B456E30F9B29425C2E6BBCE3B73DA666D16385BA6A4CF2F31
11355C6D6C13034CC8FC6D6C1306160E6D6C5B6DEB8018163891387FC0306E6C5A16E06E6C5A 2384031957018202E91FF38129A1DC67101691BA63C29C3A6225C428A72EBBBF5EDA
113691380FF18015FB6EB4C9FC5D14036E7EA26E7F6F7EA24B7E15DF9138019FF09138038FF8 238519D83869EFEE31289EC203D44D54EA89132B185D5F5010E54AF1B227F9FEE4E2
1137150F91380607FC91380E03FE140C4A6C7EEC38000230804A6D7E14E04A6D7E49486D7E13 2386953342626EF81DDA0F01CD4E367FB5BD58074443951308885DAAEB9A473ED328
11380391C76C7E01066E7E130E010C6E7E011C1401013C8101FE822607FF80010713E0B500E0 2387A9E1117E316216150FDA64CD94A8CB8582B36A070B070BE6573C82584E261A1C
1139013FEBFF80A339397EB83E>88 D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C 23884F6EAAB676E720F06A40B386A9E6968BF6DAA0E1A671EF99B1D587C464B806EC
11406C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0 2389E1DEEF5C791A36E49878E16F092EFF96B6BF4E1AEF672B7DCAFB475E1810CDC9
1141123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E3A0FE078 2390ABB2E9415DC4E6071978BA7B86885799F51B86475F3CC24B135F82BA9F5DA055
11421FF03A03FFF00FE03A007F8007C026277DA52A>97 D<EB03FC90381FFF8090387E03E039 23910808AE2CFDC476B635511344BCF63E09DAACD30A86AA97CAB22BE70E0BAF94BC
114301F80070484813F83907E001FC380FC003A2EA1F80123F90380001F848EB00F01500A212 23922D4F757FD2D92405876E5B62CD35B5F1224243A9295C84B5D2CFC66EDADA202E
11447E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E0 2393F23086E3B533ABF7C79160207D979A968B940908D65F1D6FA995ABDB0DDB8D98
114539007C07C090381FFF00EB07F81F277DA525>99 D<ED0FC0EC03FFA3EC003F150FB0EB03 2394B31DD25B1C97585581FE1ABDBA264899FD8BB1A26E4C283F7565A75FE0D8F0DD
1146F8EB1FFF90387E078F9038F801EF3903F0007F4848133F4848131FA24848130F123F90C7 23953FC02D26B2766E577C4251D4853ABB17909E57392327DB9D09E35E4620D18B26
1147FC5AA2127E12FEAA127E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F8 2396A7B3C39D282B768E6D52D4E391FF23ABB06ECB9CF4F2318C5845C333FF05B9C0
114801CFFF39007C078F90381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC0 239790DA827BF8D40B4D1A2C270E9F7012B8711E6F7285D5241ABF47EC404A81B6A9
11493901F803E03903F001F0D807E013F8380FC0004848137CA248C7127E153E5A153F127E12 2398BB2D9C19FB99A2F6349C73D488961C0D203C995E7B4F9D76DC7093A2EDAD2B14
1150FEA3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C13060007140E6D131CD801 23996B0362656BF728154AB6B5C1F425673B34CA0E705F28A1EDE4273BFF14BB7E08
1151F013386C6C137090387E03E090381FFF80903803FC0020277EA525>I<147E903803FF80 2400D5D985DDAE01532CB7951416B89E3A4527472AA97B87775188ED740BB8936DE1
115290380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7 2401867D7C5CFDF28F8A46CB87DED2564B9B7B6500ADBDD6ECA0DBDA155FA928DD54
1153FCB3AB487E387FFFF8A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F 240211849D2D1EBE4E3590D1D0C006DBED988E33B7D90D3BC021B9530B25897B461F
1154707C3901F00FE03903E007C03A07C003E010000FECF000A248486C7EA86C6C485AA20007 24036F73384EEDA74A8F94FA5D65CBBF949F0B461AB7FFB7086E252C67924FBD9AA7
11555C6C6C485A6D485A6D48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F8 2404D152C36BFEF08A6FCBE03A77CA2A9B790591C1B6BCE260A08980D4FF46FA16E5
11566C14FE6CECFF804815C03A0F80007FE048C7EA0FF0003E140348140116F8481400A56C14 240564810BDB02559E8B90B384D0F3BAB44FB8CD1C47F94C807C9FA1BD662287328D
115701007C15F06CEC03E0003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF001 2406D1C4FB30ACFFC018F46AA386EB1C7EC5148AB2B9A2D1449253111FAA6D5196A4
11580790C7FC26387EA52A>I<EA0380EA0FE0487EA56C5AEA0380C8FCAAEA03F012FFA31207 24077C66A781B70228D645BB02F7E34FC5413DF4043D7366CF3B738CF40765F3F0D5
11591203B3AA487EB512C0A312387EB717>105 D<EA03F012FFA3120F1203B3B3AD487EB512 2408160260DD49DC31524A88C597DC8468A0097594875138D6E4ABAB99D719EF3819
1160C0A3123A7EB917>108 D<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903B 2409CE3C02690267D3DB7A027E2E9AD10EB2377642839F5BF88B037C97CDED504D10
1161F1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3 241047440838DF57CDB61132BA4E9789E83139B2250D1AF45D7B3EAF0A0CCF457DCB
1162495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<EB03FE90380FFF8090 2411C891C937B5A8590223348E583B708ACA629AC90E5DDCE728DB55A59A2CD189DA
1163383E03E09038F800F84848137C48487F48487F4848EB0F80001F15C090C712074815E0A2 241204381B8A89CCFFBFA86407A133C0550FC35102731CAF9E2E219188350856B1FF
1164007EEC03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F 2413333F0267B6CB8CA666215006C9511786D8A31D1748622483A20A40492CC4A8FB
11656C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25277EA52A>111 2414539ADEAB500B13EFDD792DF12A7CC63B5B75FBE2AF8F77EF4A390FB6028AD884
1166D<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB 2415FC8A25BDF7A4AA59AAEDB2F3419C17C0C2BACDA129495A0DCBA462D58B23F405
116703F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB 2416598AD9898017A55E9DBF2F34EBB244773D048AE37A8C0E86B138CB0E2E5874A3
11680FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328 2417F32D7D55815DE48432BBAB96BF9C394E36E4551F17BE8A34B9B8DED5E017FB32
1169357EA42E>I<D903F813C090381FFE0190387E07819038FC01C33903F000E30007147748 2418B5CB9FAB426C90CF016B6AB8429D0486EE22E7E48F1DEAABF717F9D092DF600E
117048133749133F001F141F485A150F48C7FCA312FEAA127FA37E6D131F121F6D133F120F6C 2419465C91C83961232C5005066F234A334480837D71F84D7A0176EDBF89C7C51FE3
11716C137F6C6C13EF3901F801CF39007E078F90381FFE0FEB07F890C7FCABED1FE00203B5FC 24207A8D9A77D29CA666C46C7A182347BD7837CA4B2868279FA9CDD72ACA8195737C
1172A328357DA42C>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE 24217D1AA33274C3012431411F730F8F7B9F42B371DA95ED6F871F7EF9D23EC7B1E5
11739038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>I<EBFF03000313 24220DAE5204700DBBB0040E5D7EF576D995A6053D2F6D7B66DA87A1533DB0EDA641
1174E7380F80FF381E003F487F487F00707F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C 2423E24CBBB11341F56826B6E811AADFCC865B260D204D0F9E6863D0A5BE19FA101B
117513F86C7F00037FC67F01071380EB007F141F00C0EB0FC01407A26C1303A37E15806C1307 242488EBFC9AEB25654D7609FD9BDCAD47C282AD725F2115E4FF0D00EFB74ACA8AA3
11767EEC0F00B4131E38F3C07C38E1FFF038C03F801A277DA521>I<1318A51338A31378A313 24251889A372F349A80E6AB44D714042BE5459B26B502AA27CC38AFF357AE6A53900
1177F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E1300 24262A6F111DC0E1EC2955C1741CCF689B9936DF4BFC4169E55F7124D503B3FC8CAB
11786D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E000FFEB01FFA3000FEB001F00031407 24275BC735A8AC6CC6CD84B69089EDD9D9E9D4E9E1DCB2C2AA2FD0D42E5D595ACC5B
1179B3A4150FA3151F12016D133F0000EC77F86D9038E7FF8090383F03C790381FFF87903A03 2428377A693D547C54662D56705BD350DB066AD3906E061403C4ACB7D926033F767B
1180FC07E00029267EA42E>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E13 24297CF04E1878DEB73398289AC51FA285DD573AD8351FF5A2DF77B600F65C43FB9A
11811C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114 24301170F87A7B93755951DAB75CDE41C9AB87FF4A3C0642DE3CFDE50FF58784936E
1182CF903801C7E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E48 2431CAE75AB6621737D0038CDBD5145F0FAD8F48D2617C371AD2430706B3533DCA6D
11836C80000FEC3FF0D8FFFE90B51280A329247FA32C>120 D<B538803FFEA33A0FF8000FF0 243253423007F10788F4CA8EB2E70F6C7F85853C81AE62A672AB1CD3BE9F8CBA6147
11846C48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070 2433E6650683D3506ADFC6B93221B94ABF2240E2A71CC79A3AAB0BD12641091F0437
1185010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214 24340196094CE0D6A735884B0FF9C7ECFE22AEFB771050062D3A32D368C2080CB82D
1186701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357E 2435852C8994B9C760480F19C7AB91209866A2DF316CBE4C5F66AADDD91F5566C6E4
1187A32C>I<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283 243654A9293E6098E23F8754F16EEDB301F732B2B8E0A0BB9CE60BCF90AF2219C2C6
1188A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E 2437709E93564A44AE56F46397C1A13B9B8230B750CD8DED6CEAB6E2FFAA5EB8B704
1189707E83707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812 243868B9C883251C000F8CA08911AE9F92D5C55721D5A3D4251446381F0BE1593DCB
1190C094C7FC16F832397DB83B>194 D<0103B812F8A3903C0003C0000FFC006E486D5AAD92 2439D61A0098CA8DC95DB7D76DAFD1ADFBB7A95E614F2B3F382C3E3D889FDC79CAE7
1191C7FC5CA81406A55CA45CA35CA35CA25CA2495A130391C8FC1306130E5B5B137801F84B7E 2440859B778969438652EC9FAB39D7E7229BF60D804CAB12CDBBE899E6428AD036B1
1192003FB912FCA301E0C9120790CBFC007C183E0078181EA20070180EA200601806A400E018 24416894D56733F80BE71815EA32A4464964CA6BAB229830CA86F446D702836418AE
119307481803A4404980B841>196 D<B812FEA3000190388000076C90C8FC173F838383A383 2442EB3BABBAB53F489F6F40A677701401FB744D3FDDD905D1B917821BC4A3BEEA81
1194A31880170116C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860 2443EB1E25B8B7A26FF50CEB02308F1017345781971846BBB054A5ED96A85D73655E
1195A318E093C712C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA33339 2444D39839A29A59176CAF28B281CF2D539CF52CC6B6D3A523B80543E5C5BC117BAD
11967EB838>I<0060EBFFC0D8700F13F8D8783F13FE3A7C7F00FF80D87FF0EB3FC001C06D7E 2445EE7AF4F435A714897CA1F692BE45D405B31E18DF51010B078F87BF7A118A9E95
1197496D7E90C76C7E007E81007C6E7E12781501007081A41260A3C85B15035E15075E4B5A4B 2446B32BE62AB65C32F898D5F9FD416ADE303432D46C7142AA024752680446F888A0
11985AED3F8003FEC7FC903807FFF85B90380001FF9138003FC0ED0FF06F7E6F7E6F7E6F7E17 244749219F805C5234B34324EB8230F9DE24876C85EE6C874F1FC02F482D3C35939A
119980EE7FC0A2EE3FE0A212C0A57E0060ED7FC0A2007016806C15FF4B13006C5D6C4A5A6C6C 2448D5402B9FF25F128794E8251BAC9DF7903F684121B4E94812780E1B31CBF68174
1200EB0FF8D803E0495AD801FEEBFFC0D8007FB5C7FC011F13FC010113C02B3D7CBA33>199 24497FD266CF682FD125D77501D606D116DD87E53498554C02271DBAB03D03C86F3B
1201D<B649B5FCA3000101809038007FF06C90C8EA3F80053EC7FC173C17385F5F4C5A4C5A4C 2450D362C41DD7FCF07A1BE52F1EFCFD28E53796831C17BD9FA5BA906BCDE88AFEB1
1202C8FC160E5E5E5E5E4B5AED0780030EC9FC5D153E157E15FF5C4A7F4A6C7E140E4A6C7E4A 245128AC8277D947D080B9EBE459C27A9DADE26221A016066AFD35F3CBE6616842EB
12036C7E14704A6C7E4A6C7E14804A6C7E6F7EA26F7F707EA2707E707EA2707EA2707E707EA2 2452764AA3D6A504892ABBFDB04B5EC7D3C8E69068F30CD463BC757AFBDD141A36D3
1204707E707F8484486D497FB6011FEBFF80A339397DB841>202 D<B6013FB512C0A3000101 24536D7C8A8421237F5E84C46AF675002AFCF312E015A27EBAA026FA7A544D921800
1205809039007FE0006C90C86C5AB3A491B7FCA391C8123FB3A6486D4A7EB6013FB512C0A33A 245429E624F2ABE0AECC6D391FEAE0DCC445A5C53D8CEF3E46E4EF8F8F3488250939
1206397DB841>205 D<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7E 24557573EDAF90A4DF18ABBEC8F6ABDCB407C71CA45EC8D45A2424561A6F9D36FB76
1207D93F80EB07F049C76C7E01FE6E7E48486E7E49157E0003167F4848ED3F80A24848ED1FC0 2456A714B5E2F6E508F5C083AAA8A2C57AEDCC25C2A6CE7BA7EBECC4F9C2A0F1A167
1208A2001F17E049150F003F17F0A3007F17F8491507A300FF17FCAC007F17F86D150FA3003F 2457444F363854E70D2298B815068C58BCA91885E74104A683274642E06644521D0E
120917F0A26C6CED1FE0A36C6CED3FC0000717806D157F000317006C6C15FEA26C6C4A5A017F 245886A38C600346B06752666973F4CD5635455BD6FF14D50CB1DCCD2E56FCD72D9C
12104A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC903900FE01FC91381FFFE00203 245967D2ECF30C6D99EE6740095586AD5E67668D5E10B5ACD3A1F34ACAE923D009D2
121190C8FC363D7BBA41>I<BA12C0A300010180C7387FE0006C90C86C5AB3B3AD486D4A7EB6 2460A88D0C730E9F51B7608CE98C2071B8EB9B760218116F1200912C0DF585CCEA93
1212013FB512C0A33A397DB841>I<913A01FF800180020FEBE003027F13F8903A01FF807E07 24617D81A4C56E85C49E1046B825E6E51EC5C12CD1DEBEE93BB42BFA61E16923C8B0
1213903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848 2462E9551CB7B408BEAB7B01E971293BF6B237DF6F81CD1B17E8E2FAFA616D1ACE96
1214151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED01 24638363BFA08C5031B8BF2B867551BE8C78234B6ABA804AA79FBAED815CD13DB9EB
121580A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5C 24647D8664EC6F3CF2D7A37A8811D9ECD9008017A8EE5071BBBD6D42C75C2E333816
1216D91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F0020113 2465A1331E7AE419A1D07C3F4BAB14F678725C804C8038216792799A76206DA6F8A8
121780313D7BBA3C>209 D<49B612E0A3D9000101E0C8FC9138007F80A491381FFFFE0103B6 2466C0D0A0B7D6995AB4BF80641C1F340A1BF768DD25A05DF2E27D18D2C6FCDDCB35
121812F0903A1FFC7F8FFED97FC0903880FF802601FF00EC3FE0D803FCED0FF048486F7E4848 24673F1D40E461C4859F5172B69E1AAEA8D0BF251C0573F0379E1A96FAF6E8D4EA87
12196F7E48486F7EA248486F7EA2007F188049167FA200FF18C0A9007F1880A26D16FF003F18 24687B0E32D0191E418D036889E73D8F4082594C8EDC306F8753B6B05165C6BE3F89
122000A26C6C4B5AA26C6C4B5A6C6C4B5A6C6C4B5A6CB4ED3FE026007FC0ECFF80D91FFCD98F 246948E5A8C892AC942C12CF6F8C2BCBFF1CE76B4B0966C53E3A3B0D9FEB53EFC640
1221FEC7FC0103B612F0D9001F49C8FC9138007F80A6913801FFE049B612E0A33A397BB845> 2470D25B5C822A214878CEB4141A00F85B5EE818461F5A24D207238CE13E25AE2C9F
1222212 D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A 24719850AEEB66D566CEC7FB666E7897473CAB6683BB18DF86BE795E1FF383AEDF5B
12236C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FE 247251EAD818B276D7DF579A394FD748651F735A15A38A79C8D06FE44D96DA3F4F4A
1224A31401A26C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F 247364F68FE714749A197A4731EB63E0FF2CB3CB4C20D8AA9050F3077109A452E9EB
12258007C026277DA52A>224 D<16C01507153FEC07FF027F13800103B51200010F13FC013F 24744351D7CE4C8466D99A6B5E6703526C18F4FFEBEA04314EF677B432A407FC3C3D
122613F0D9FFFEC7FC4813C0D803FCC8FCEA07F0EA0FC05B48C9FC121E5AA212381278387003 247509B51301F8DB6945841A7D57E124AA20048FDB60F5B7127CD910EF599E7195F5
1227FE90380FFF8090383E03E03960F800F8D861F0137CD8E3E07FD8E7C07FD8EF80EB0F8000 2476FE5336A8247990B75EB602AC8551147686B1F50867CA015D3978B9CFC3BFA870
1228DF15C090C71207B415E0A248EC03F0A416F8A9007E15F0A2007F14076C15E0A26C6CEB0F 2477214856B16DE4DF92802CA429A4734AAA7A8E15F91D25EB006A10EDE7446B6C20
1229C0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC 2478AFAD9B94D447A1614B3636B6A7E621ADFF237E9135E28F1173E4C47654CA1ED2
1230253B7EB92A>I<B67E15F03907F801FC3903F0007E81ED1F8016C0A5ED3F80160015FEEC 24794F41481153D90B7371BFB1C4BA3248B8E9F566478C522E1C2760B064559D0503
123103F890B512C0A29038F000F8153E81ED0FC016E0150716F0A516E0150F16C0151FED7F80 2480C4BB3ADF55F4C8A7A026DD0A69B38E393AC2C8110004057BF9DF430C851718FD
1232486CEBFE00B65A15E024247EA32A>I<B612FEA23807F8006C48131E150EA215061507A2 248195B5504D4932479E48E7E85BBD023FC3D28ABC1F7C21BB8ABA0C945A3B9C06B0
12331503A51500B3EA07FCB512F0A220247EA325>I<013FB612E0A2903A01E003FC006D486C 248218DBD0CF1B46BDF91F6A2A22889FCBD730B54966DAAC3652475F29A5573CDC99
12345AAC14801301A5EB0300A31306A35B131C13185B13F0485A00074A7E007FB712F0A290C8 2483A23EA5FF4BFDB666C49BE08571244EC8AA811E5EF31ECD781013A2AB8EE4213C
12351207007C15010070ED0070A20060163000E01638A3481618A52D3180A32E>I<EB07F8EB 2484F001F5A2E89A41C2FD72D65B625F9BE81E9A3D106138C21F43EC284C0804B778
12361FFF90387C0FC03901F803E03903F001F0D807E013F8380FC0004848137CA248C7127E15 24856C224A88A9F81F469362528A78C899C531EFCDD69AA98D0317E182A20B24E56D
12373E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C13060007 2486BB752A5F90F941B274D98C9CAA11D4B1B44670D943FB3A4B59EDA1F766D0FB2B
1238140E6D131CD801F013386C6C137090387E03E090381FFF80903803FC0020277EA525>I< 24873B58543B3403BE46503E917A73197FEC953C79F6D0E430ABCB066F69FBA05327
1239D83FFF90B538C03FFFA2D807FE903A07F8001FF8D801FC6D48EB0FE0D8007C1780011E04 24880FEB8A24B15286EF3157EE25826AF5AEBD9210ABD04515CF1566AA299D28776A
12401EC7FC6D5ED907805DD901C015E0D900E04A5A02704A5A023C020FC8FC020E141C020F14 24897D9127CDBC812A7A1BD9FBC456DD79E7F189A29616E96407A2967E6607678AFF
12413CDA1F83137E91393FE3F1FFEDF3F3913A7F3BF73F80913AFE1FFE1FC049486C486C7EED 2490EACACD957127800C14210A12F526494FDDE7F1256189BF1382EF65A786679CFB
124203F0D903F86E7ED907F06E7ED90FE06E7EA2D91FC06E7ED93F80157FD97F006F7E017E16 24915FA5F058FA48F6F257F934737F41CD6C5D5B514ADC7E3D38D7DFB95A85F95EB9
12431F01FE834848707E000384000784000F4A6C80B590B539C03FFFC0A242247FA345>I<38 2492E16E2938C709DA68B180A7F6D08F1E6042DBCDBEC93B08EA55A8208B15B3999B
1244C07FF000E3B5FC39FF803FC039FC000FE048EB03F04814F848130115FC5AA2C7FCA215F8 2493814D50658FC41593B994E844FA61DA13E2944C3A15D1983D8FF658B4E4B6E016
1245EC03F0EC07E0EC0FC0EC3F00EB7FF8809038003F80EC0FE0EC03F0EC01F815FC140015FE 24944DC17B9B2D7A5C0CE7004E47D28984E3BB231F9B2BE823CA8ABB3BD0B0B339C1
1246A312C0A315FC6C1301006014F80070EB03F0003CEB0FE0000FEB3FC00003B51200C613F0 2495FE3EC4C064E66A2311BC9693F3D0489C50D8D3FD070C486BF3EFD0C036465D67
12471F277EA525>I<B500C1B51280A23B07F8000FF0006C486D5AA4150F151F153F157715E7 24960AFD502DF4C1AB403583C928AC4173A43A7B825C2C67623B12EA02AA67EA7E1A
124815C71401EC0387EC0707140E140C14181438147014E0EBF1C0148013F3EBF70013FE5B5B 249760A26CED51F1B2F763A6371F05029340A32BB6477A05334C624F5882B92407F0
12495BA4486C497EB500C1B51280A229247EA32E>I<011E133C017F137F6E5A01FF80A46D48 2498D29D11AD06F3BAFC13D97E54A8BA33619EF88EDD1276660C3F6D10188FFB7C69
12506CC7FC013E133E90381FFFFC010713F00100138091C9FCA4B500C1B51280A23B07F8000F 24991A75C3064BA8187484FD925439D79DEFE0B301053F9CB8CCBF3D9CFF436C37B3
1251F0006C486D5AA4150F151F153F157715E715C71401EC0387EC0707140E140C1418143814 2500B40C4C9DE82D2B856EB27BBC2DA4075F9AA787E3AAB686093BBF1F6D6439CD63
12527014E0EBF1C0148013F3EBF70013FE5B5B5BA4486C497EB500C1B51280A229347EB32E> 250151047A85CACB17666FAC752200BAA227236AF985E13DC26F9CCC64406DE5D90A
1253I<B538C03FFFA23A07F8001FF86C48EB0FE01680031EC7FC5D5D15E04A5A4A5A020FC8FC 25020EC78EFB6F9D6E3F13BB1F1F73DB96EF2F43B98AE9B8AAFECF0386C2C12BF63A
1254141C143C147EEBF1FF13F39038F73F809038FE1FC0496C7E13F06E7E6E7E6E7EA26E7E15 2503091BDA8DC38B9E9BAB4CFD0414C1E26279776ABE590F7F2360A7322CB68667C4
12557F6F7E151F826F7E8282486C80B539C03FFFC0A22A247EA32E>I<90B712C0A2903A03C0 2504C42DDC9F719976FD548D2F87DEA7AD54F0A56D5902AC1E56E86951DEDC46FE8A
125607F8006D486C5AAF13031400A65B13061238127C12FE130E130C131CD8F818497ED87038 25059875FB3AA771E57926A5FF95672766EFA6F78D5F6FA9E78578EA2EF20252A869
125790B512C0EA3FF0D81FC090C8FC2A257FA32E>I<D8FFF0EC0FFF6D5C000716E0000316C0 2506A5D05695FC1F275B90BB4D110BBAD769E72D8B6D636E17D9385659B9224A0888
1258017C1437A26D1467A36D14C7A290390F800187A3903907C00307A2903803E006A3903801 2507F4BD685A9864F05F1EAB073215AA33A0B045FF4BABA91AF4CB1A21CB0D12C410
1259F00CA2903800F818A3EC7C30A2EC3E60A3EC1FC0A23907800F80EA0FC0D81FE0EC0FE027 250811E99E553FA98F494A4E80FF15912E762AA915F9D0CCDA9D6D0AAC8815FDD47A
1260FFFC0701B5FCA230247DA337>I<B500C1B51280A23B07F8000FF0006C486D5AAC90B6FC 25099A7B5889ADA2C89FE6F77C8B07CF300D39DCE33DB22C072CBADCFB1E70FAEC4A
1261A29038F00007B0486C497EB500C1B51280A229247EA32E>I<EB03FE90380FFF8090383E 25100BCCC84A00033A28AA9ABC971AFDB87660AEE00DC098B3CDFE5B5AA49F923426
126203E09038F800F84848137C48487F48487F4848EB0F80001F15C090C712074815E0A2007E 2511DCA91BEA8D1C85E1DC21B21E89E4A8B625984095150CDCEB505AFB2077F3B799
1263EC03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6C 251275EAD0E03F21DD780AE10B38AA356AE01C55CABC65EEC6EB4A48EB5AD41941E7
1264EB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<B81280 2513FFE2E16A653DC385E8FDDA1B9EC3D923F68C15C23762E5080D4B96BDF3B99FE5
1265A23B07F8000FF0006C486D5AB3AC486C497EB500C1B51280A229247EA32E>I<3903F01F 25143DDE41092EFBFE768BEA738A0340BD56FB5C86C115432E7EC81538FA1F7518FE
1266E000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914F8 2515BA8B1DE9F90256F708E878B47AE7DE9F0339DAC4F30270C0ED8D059CD6E1A55F
126749130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614 251628866AEB5DB0AB4365A84355FC7A0AC358010C359883C9873391EE640A47BE5F
1268C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E> 2517D984D7B9102FE3B76F5D283D9EB5AF30A3F9941F4529C475E5D473CCA759DF74
1269I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC003A2EA1F80 2518000D4AAA50E2C4B396D944701CB9EF8534AA6784E6594FC3D6B57700B115E4B1
1270123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F140E6D130C00 2519283FAE9E4BF83897DDCFD26F72EFA374935E68F7527488B25CA376EC614BEA4A
12710F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277DA525>I<00 2520B849C2355AEDCFEAAF1B36A4B19F80378367D1C0C83854D45F2EE5368A9E6D98
12727FB612E0A2397E03FC07397801F8010070140000601560A200E01570A200C01530A50000 2521EE5DD441AFDE03D1D1275C361B1A766262D2B1A1AB776AD75E9AD7F3A170A87E
12731500B3EB07FE0003B512FCA224247EA329>I<B538803FFEA23A0FF8000FF86C48EB07E0 25227A66931EC108559B53DD956C071723890FC7E35E829E2F8184A18CC89B89B019
12740003EC03C016806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F13 252309EE55639B95B350455BD69E29B64E8C9FDC96111549EBF88CFB6F9D6E3F13BB
127560A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460 25241F1F73DB96EF2F42F04792B4576BD85457D8F23A620060C06EAEB4A400109BA1
1276A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C> 252595AE8F8FA23C07E45A72482896E0DCE82EE449EF82118F07B7C4CC5C063EE4F5
1277I<153FEC0FFFA31400153FB0D903F8EB07F0D90FFEEB1FFC903B7F07BF783F80903BFC01 25265CD03A9295F44F79BFB78626CBD0CC4EF9443709A499321715A18BF8445DB96C
1278FFE00FC048486C496C7ED807F090397F8003F848486F7E496DC7FC001F834848167FA248 2527DB5E597C4C53AFE6E66913D3A897198CEDC1E9DAD766A096CDED882DB34E1265
1279C7ED3F80A300FEEF1FC0AA007FEF3F80A36C6CEE7F00A26C6C16FE000F5F6D90387F8001 25284BF5CE400B5E3DBF836072ED471DF04F8B764CF5DF96395076772A359FB2DF0A
12806C6C496C485AD801F8ED07E06C6C486D485A903B7F07BF783F8090280FFE3F1FFCC7FCD9 2529D89A592F52198A6569C06585EF6D1A99402FBAB1AFC824E2B4185519D69D84A4
128103F8EB07F090C790C9FCAB4B7E91380FFFFCA33A4A7DB941>I<B538807FFFA200079038 25308D7F94BEFF657959EF9750028DECD616F6D9A0E87C09440EC4067167E2F94439
1282003FF06C48EB1FC06C4891C7FC6C6C131E017E131C6D13186D6C5AECC070010F5B6D6C5A 2531CD793871669471556217EAE80B0B15014882FEEC8C9515D8E5EA7326EA3A84A0
1283ECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383F090380703F8 2532AFAA3A3689003AF20FAA38D2FB319A42C704CDFA38D00DD181A881EC11A66834
1284EB0601496C7E011C137E49137F01787F496D7E000181000381D81FF8EB3FF8D8FFFE90B5 2533F578B65D50C22030ED28F8B08DBA25871C468685029B2462ED59C31B4CA1D152
12851280A229247FA32C>I<B500C1B51280A23B07F8000FF0006C486D5AB3AC486C497EB812 2534B689BBB4F12FD99B9DDA73263D25AF07F4EBA45699E4BB7662AAB7D35853A9A2
1286C0A2C9121F16071601A2160017E0A31760A52B317EA32E>I<B500C1B51280A23B07F800 25352E7D0490827DEAB840559364C871FC632957E34C337ADEA7201CDD73F522BB21
12870FF0006C486D5AAC6C7E0000141F017E13FF90383FFFE70107130790C7FCAD4B7E4AB512 2536829737BFD4E9ADA1387512E98B21EE4E016B527EE20FFCEADD41FF95EF7C0937
128880A229247EA32E>I<B500C3B5380FFFFCA23D07F8001FE0007F806C486D48EB3F00B3AC 25372F2C81E804FAF02E65184BBFB93CC260FC98F89D301A67FCCC3ADFF44DEF32FD
1289486C496CEB7F80BA12FCA23E247EA343>I<B500C3B5380FFFFCA23D07F8001FE0007F80 2538BE0C5D4FEBA843BAEF012940FCF6BAF7CFADB29320B06FB1BEBDB8D583A65FD8
12906C486D48EB3F00B3AC486C496CEB7F80BA12FEA2CCFC193E190EA219061907A31903A540 253948EDE89EB679AAF16A6915909F2B67CA60F43724210924A7EE8CF146CA8985E1
1291317EA343>I<007FB5FCA2387E03FC387801F812701260A212E0A212C0A5120091B512E0 2540FE9D341D00CE4A3C20E7108D5BC85D7A354BFFC18E6A4309069B4D29B8780324
129216FC9138F800FFEE3F80EE1FC0EE0FE0EE07F0A2EE03F8A5EE07F0A2EE0FE0EE1FC0EE3F 2541620366F20EFAF3F49CC767C4ADD9AED4DD342F6BD1F58F44A32B4B69BE873FB9
129380496CEBFF00017FB512FC16E02D247EA333>I<B500C00107B5FCA2D807F8C8EA3FC06C 25429E6B03BB06E190C786A258D699E6BFFFC94BEFA09929F74C066777C0EEE3F46D
129448151F1880AB90B512C015F89038F001FEEC007FED3F80ED1FC0ED0FE0A2ED07F0A5ED0F 25435964CE8CE031D2246BFF5CEB95637073FC36964D5D235898F90A8F9EC168D8F3
1295E0A2ED1FC0ED3F80DB7F0013C02707F801FE133FB6D8F807B5FC15C038247EA33C>I<B5 2544F0D19A5478BF8C7532201FBD807679F344E0B89DA7A1A94773BC1AA1F90888F9
129612C0A2D807F8C8FC6C5AAC90B512C015F89038F001FEEC007FED3F80ED1FC0ED0FE0A2ED 2545574E6263837E6C89C6B147D977BB0EE409B509D7884DA5EDEB4B417A21BAD240
129707F0A5ED0FE0A2ED1FC0ED3F80ED7F003907F801FEB612F815C024247EA32A>I<EB3F80 254662D37A3B63B5106C16F763F5A74118585FD6336EB49D655B6C5724EA082C8B2D
129838C1FFF038E7C0FC38FE003F48EB1F8048EB0FC048EB07E05AEC03F04814F8C7120115FC 2547DAE96AFDE134B1223D2A02F6922A1E6C0375F2C85A6C1F0C709611910A9CCF30
1299A3140015FEEA03FE380FFF8014FFEA003FEB0FFCEB03C090C7FCA315FC1401A200C014F8 25487F6D71E889F3A3AEDBA377C49BD73551EE33D2181C5FCA0E5C1334331B00DF5B
130014036C14F000601307007014E06CEB0FC06CEB1F806CEB3F003807C07C3801FFF038003F 25490D0FB1E381BF7904A96D4DFD0595CB6D68524816961B459205A04DBB3106D8BA
1301C01F277EA525>I<EE1FE0EEFFFCB539C003F03F923907C00F803C07F8000F0003C06C48 2550DD31C832B487C1776543BC136CEDBC7768DA2E1E7D41D88DF6B71C6DCD3B7A3E
1302011E6D7E033E804B6D7E03FC804B147C0201157EA24A4880A302071680A290B5FCA2EBF0 25516DF18600E51B9CB6F5E40E6AB442D39B8DDF3117169AE6FABD5BEC5A6D4479CA
130307A602031600A26F5C0201157EA26E6C5C037C5C037E1301033E5C6F495A486C903907C0 255209754EC4FF5B5A012DE8E4D0FB41685ED114909B51B46F37163C30A3E6AAA64C
13040F80B527C003F03FC7FC923800FFFCC9EA1FE039277EA53E>I<49B61280131F903A7F00 2553A50484708849FC2EA4BD68A4878D02E16C29E1B4D1EDD55535898FD82F8CDF99
13050FF00001FC6D5A485A485A1207A512037F1201EA00FEEB3F80010FB5FC1300ECFE0714FC 25548D154DD37FD6DC5EB0C03DF892BD3CF68BDF8A180D498869E6DA7BF32FD8BF40
1306EB01F8EB03F0130714E0EB0FC0EB1F80133FEB7F00137E13FE485A485A1207001F4A7EB5 2555FD9DF0F6197AECE4483E74C30C6B87C58C0F879CA6E6D86A6065AAC962D26847
130748B51280A229247FA32D>I E 2556BA338048B5C0F4FF9B7A027A2F0C9B1B0E0E0A2758D703B135945389E00FDE71
1308%EndDVIPSBitmapFont 25575A12BF0256ACC5EB54A166B0844F3E2B85300042F83D0FB78671CEAE34CA174E
1309end 255899FDD2019DFBAB30D236C7E1AC683FD9D4AC55BFB5357C9B8AFA0B208A66C823
2559D92F2190F679B4AA238E6997790715FF3A7D193D29AA6E064CE74632B9FCAB8F
256008F414904BB943CBEF6C5A0E0F782934492BA0298D1F27766AE939908650C5D1
256143A29B56F5AD7ECACCDEC2C22F0116C1AE65B566EE84451C87587310AF1C459D
2562BC8383A2DDBEE9E91C51725CCB20B2DBA38FB775EA6381B18319141D0F640C23
2563FE11241E5E5A735C0F03483314B5B66B1CFA2112A88D2EDB3CAE1DD1B07F793E
2564BF81AC8A49B118B30B722A9A239E9C090D34E7152B75D38846B1FCBADB2BBAEF
2565975DE30A4C54C358E25AAB98F555FE41A8934276B8DB71151A5223CABBE0A285
256632BB1E7CD5B961FE37D6C1FC7CB28D61FA5DE6B930337F59F1CDC9101ED5E553
2567AB897E1D4B399C60C1D31764B442E0FD8FB0F64592C48ACF4502373E3A5348F7
25689AFD8ADD64A0A7A8E208EC630E1834E7884D372DAB56438F1ABD0AFA5C07CD9F
2569B7EF6D04ED4AB2CFDEDC6B66D1E0999B1F8587A8E6377DA1F5B665B438D0AFA4
2570C6E7E81C1AD7B8FDAAA92A383826014909EEDEAB4FA1585EE041F16B13185158
25719C5427FC5AE2C80C3C6C6EE5F2571934B834C09F0382F957BAB8C4EAEC254BF9
257257FEB935764507DAD1D156FEF121AFDF84668426C4EAB2299AEA936CCBEF4183
25737673BD98B1CC22BC42E4C7CA56235F280A1B098A78B1E954A35EC2280593CCB4
25741A92B9761758DD36BA22A9A8AF83C0BAF60689956A45E64A4B4AC7C6D2E7CBCB
257560046602A6FC6B851D58C07D20CB3ED1B6827637A805D8409FB7FB6329E44BA4
2576BB7D31EFCD46CE22625C3F77FA97E827D07A1F1DEB1CA290E518A20604ADFDE3
25773354F37F2F1460A7619ADB0457A1F423302AAA7F1CCE1A08A96ADFD7A0D66FD6
2578003BFA038693E420353870922B9DBA3658D26ED8804E63DBFD9635B4FA44FF9A
25792DB58AEB208F005BC288840D93CE8B43CDC028313A7DA1487FBC4AB1C1842F0A
25805266D5122D00C0C12130E00F6F434879B74127DBEB77437A408C35BFA7760367
2581488AFB9DE892B1AEF2C3DBACD21613127F49B87DC3A2540B73E0EF4601DC0EDD
2582AF6ADA62C68879679485698934499738157FF184D20486B00BFD6ECBC7D80993
25835CA7CB827B4CFF9DE61704AE3E2FDFB5303979CE2E690FBE869A352FD3012372
2584F5F50B62E4E1C751EC21A85C9EDD308EC0A3654EAC3D7F11E8AC439771701C8F
2585FAFD897BC9C6E093D11AC1B1BCB48BC643EAAA929A1D4FDEFDF0B037D4DB2FB8
2586200E2D718595958A47E665A5AE0826ED4BA2E9F16E3C80DC2BD0517C37C5E66E
25871A4AB402419224B691FB11A7769676912DC04F6EA1C569B6D3A3EAAEDD0BD057
2588586AD16D5DB6039036132D39A440B46165FBFAB1531E6483CEFDE9D7A8A0D9EA
2589B462BD85C29B1BBE07864314B9EF98E3FD411C35CFAB4328FF9AFA383238F60A
2590BC7E57C953753548797FD1F408B1C5AD935A40D2BDE614D343A17EF3B666EB21
259152A3926B97DED6574A1A9C83F60A56BFAD8971B8758DCE3149285DDE1AAE1F4B
2592CB401296D15E5C6126E3443D41F16E97FF2A12FDAEB88773010B1F1AA68FBF03
2593F004B65B0209209CDB01F49335D95DE480459AEA993B1A8E7152B690D8D57EE7
259411B0E98D8364936989F8DFD7C6BD029122E7DA3B1F8128ACF24B559DC47BFAEE
2595A5EA01803C0FF1033BE01128E284D81AB576C8D2E6E71EEAB6E93910414F0EA7
25965B223F0421D2F75EC6106C4A13E817D8FF5FA42DCBEA02FF29B64C360D5B8D07
259738D897A538D88D9B5E441590EB25F26840F533B9FFECAE81E0EEB35BCA1FF7E2
25985EEA35E306BA11635BBB6361D5378232BFD77DB099D52B2229CDA4E05B38314F
25996AADB8564795031C2883F21A8F27FBA3E1DBDBB2D37FAEA29EA59C0F040CF9D0
26008057C9CEDD3F0083858C1BC2539B6CA23A8418AC968906C5A509E50078B49AB9
26010AF028658E621F55B331890A74C6A822AF7359BA3562E5BC15DB5E4120CB0A92
2602E3F3370A0216FE0DE36E788D33CB2BFDCAC8C30DDEC0ED585E585C6126E3443D
260341F16E97FF2A12FDAEB881454B8A4735F2C79F25B7930A9C69CE41441A14422E
2604D8EC630FD949B7EEC2606AB346F667E05D7DBF0043A84CD19EFED7D65BCCBF86
26056AE01EC417ECD42B8D1D6FE49724DC7BF38B98BC11B3A59C930053655C34F921
2606332A5B15B7EE275BFE52845A80DD99643F1786082F7E85AE5161C3C3EBB3655E
2607E3F29EE24CD27CC0A4FB07CB3803C83FC4B2B3A78354D0E954278AFC74C77C98
2608ED17D4D511BB3C28CE5379CF6E561B155C720BF9287911E93FFF1AAA67D0C3BE
2609D44A2D79E369B1D96AA5C41F946B9A294F6B673D04BD30A1FB997A7A26A7644F
26100445359AE31AE03EA362A97855EABA676B6984520897A55A25BE65ED13BCEB2B
2611B0C86C036F2E0E5008B22AC502A96C815D6E15E1AF4CFA20F1D4F46F225BA8C8
2612659792B456273B4422C594CD306613794A1D78B294AA85806BDBC521573B6865
2613FC8ADBC92B86F62BE70941CC72F3CFCC098CAA2F521A2A640B1244D999ABE068
2614A0201D628A9206F4691EDD31135B79628EB6261A861DE26CBB0AE63E6694438B
26153D602190E7D58DAAFA82132FE1FFDDCADFD4C81377C8B8BBF22CF5443F03CF7C
26167A4C656B329C751D9AACC110997A5CC84D1EF86C370EFA237E333A7E22BDD9F9
2617A8223F7E3BE4A245B091707F5B73FB24648387F15FC584868DFC551050E958FA
2618CCBAF383B70B03E31ECF9296008E7E14A0C8FD4F4FCBB377CD4FCB267FB1E0F6
26198E315C56035A8FFEFF815AC6E2BA30C4DDE0218E6BB90C96ABE2D5ACFCD87501
2620895B4C12F6FF094944AB2B8C6025E035338A53DCE6B389149BA88A6BD774E7BC
26213D775CF8635908D0EAD76F745E145C98480B614B497A452DA716B05A622439D0
2622C0DC565AFC9F86C40B618FA651F9BE192578F812E5286C24E7DAB522E1F4AA4F
2623717F6FC1A28D9ADEFE78899CE46B9008C808E2331F55F22AF8E6DE837F563BDA
26248D554C43DD2CB687C00DF5FFB4E64A8D0B29796AF5C9812F2C6980F6082E7DB9
2625AB152394A44733ECDFE98953DDCA6F6BBD4476158E308B6A4F413A567B1B47FF
26260015EA3478504249B082DC068BDD21BBAAD7F22D53ED67A0EF44057BB1512B0E
262759A0D741E384B6BA9B38874661DF5A96B4A62B2EF5319D08D8FF512FED3E63B7
262858FCD495A44E006FB412CB1D74FB02D446A8FC0C8133A84721DFAF10426E3110
2629AF168E8A1A2CDECCBC03A0ED7B6510819F6D4430EDB088B45034BDCCD85181FE
2630A89AADFBBF1795BE768420D36F7472A72487D7BC29ECC169B466DAE292D82A29
2631A1408073FBFA39CABD1D3E005374772B7BA2DC611215A54DF064498636F2E30D
2632B2F1CB3DBF5C9072F60FA592CBDEF437D74FC29AB096B64A94F46FCA7003A222
263351C2BEA0FC2704E7CB9FE42B02F1C5A129EED9910C3C63649FDC8CAF160FAA8A
263400773A6FC77227BB9109CEEFC23CAA6AC4AC771A7A9122B0D9439184620D64E6
26352BBA8F01DFC0EBD21DDD87BB6FC299C48D3BF406A132E0C0C05EE36342942ABF
2636B7F8F252EC70527E2614E9390E31647B34FB4F4BF9DFDB49745C71EF9E01759D
2637ACC64DCDC7C5B7562B0B5B7D111AD8538E5C96B3C3483531E3DF9F0377CD2B1A
263884A01C795AF1E6D48BD6778C227BA9788E48DDDF0DF942B87D3A7155DEA85128
263998CDA3AD587269922F3BF63F068AFF141145E9E3A5558C4202B4B61395653528
2640E85CA52D6FF10DDDFA8675CC72516F8C50ED9620DDB62D651709E14D4201384F
26412666A84518A2142AA88621D2D81176BA98D9A5895B8EEA6205215E4AE4456332
26420D69DEB7D901F49335D95DE480459AEA993B1A8F2272DA8844EB5425426DE443
26432AAAB19E4ABF72035EE6521D41BAF09A62BD8BCC4CDB858302400F780F84C78A
2644FD2FF6750E6A33A54BFBC084DE81466C56591BA554EF5D757446811AE3EF7F02
26453236D34C0000F2F3136C8B83FDA302999F0A1255E592C1AB0CB1D9948A2E2A59
2646F8B1742AEB3CDEB3B476604DBB8C7BEEBD84C17B295C99C4EE2418D7069A3F8F
2647AC34BCE1640DAE78B9D00EA80BA14AB1E0B60DCCBA7F7CB2310E08D89635A472
2648A2DF671C74B2791EA65773E679768B6CDE2E1239D5C4E70AB2B88B24D2A7E6A8
2649D609BACAC74C18F6C99926FD7C3A3F37E15B750010CF1358C94266F6BB667061
26505D883FBCDEEF6F2D2FBD5E69FBC5ED80B4481836492D0A452AD422880BDAAFB1
265148FCE2FD8C7416636B23190C01E28D768768D62E3196DC56CF511C1740FF5DCB
2652FFE8F2DB95A06948135F748A5C51ED13422D16E9493A282C0416C7AC08B6A1A7
265345F83F1ACDE163362AC0E6635F833BDD50AC84EE8AAB6F15B42EEEF07A21D848
26548348B85E9355B1CA091B788D218E73286B897635CCE51A3A5197A1A5A28D242C
2655601D7156E2CAFFE9D75627B7F5E17E1975775B62121C9DD9C4208BDE99766E53
2656E87681D0F6227CC9B19628F781B150860D0D01F1C5FCCC8270AF90627DC9C775
2657F7BF9440D2631E1F1809A5FBD84954BB3505DCD659B2BF1621DFA6E584333C38
2658C766AE282BD49866E13BC4ACD9224F0ADF973D8E905BE1D53EDFE9DAE60211B1
265954A5E95314EAFECB96469398711001ADE80BA875935F4B381B470F8EC3BA011E
2660B3FBCC801CF04261F97988E5FA87693B20BC52584238681B1FEDA48B197B0275
2661DF2DF5977ED674C75A31D82802C0F04FCB4B9DD6CB1D746E055B9517B3BE8D4A
2662CE080DB5F5641CDE1F94CA36C0411FB479F8AED77C57E0A3DECE776F2DE35806
266343C2FF74532ED4CB1E9D646229D1F4732CB2357C711BC40FBE2DFD45B7CE6A03
26640BF267ADADEA3B09E1A3FA4C1ED8E6DFF061F3DAFB0F0857C29192867A14D1BA
26650C8C10A5C0648AB8A1F7E68C35848C100815B82B72A98EE2D78AE5FDEE28D417
2666FBF2A17C4F3DD614960CB5CC2DD64BDF00B9C5923C7F62D79CFA9222492F7617
2667EAEF8A2E677760B57ABFC9D9B5BC3E26BF856F4CB223D90D64677C00BFC3E7B8
2668C6FFAF9234946D3C60A0A3A977B37516886C28EF3CA2F75CEB9BCA1C35F319F7
26697A136CADA3BF2485F16EFD4335811D7615849FA8B3641AE4702706DB511000D9
2670E1B4D14DCD6AD90B65B133189BD36F932442C0D55E062CDFDE27E0390034503C
267171ACAD5790A4F95E54057A12D3CB0A2EDF34F1172E84955B590C7887F60DA4E3
2672BCB74A19FB5C753FDBA67801BCF0DF8AB8B6025C64300079E65214FF6069BEEF
2673266573BAD749B169A312C95C6F22DE6FBA80EA8BB281E7AA88E0740F8195CBC9
2674AD443F6E69C007FE1C06C98575E4DD443B01FD8DC906C03F12A77F12506C02F1
2675A02E5804D38302E0FA81AA5CB2C343CA865E2210D2EE038C3F78BF402688366F
267692ADDDD55F19349DAC523CFD7DBD4CDACD8E52AFE3CDAE38D07CC29CF6DF05E6
26773CA91A99D0A49FD8676CF7767315F1B315231BA851FECDCD0C0A4ABC2B46D019
2678AE179E316C22CB30CF4FCDAB9568D28AF18CB636FFEE11D9FB220D6FF27AF9D5
26795A23559A57E9BC3E39112C3366F1A023D9A302B915FF910E63CD9EF6085A99C9
2680D7CD8782E05C9EC0288EF48DE7E39BA940B07F9D5B204656BC172C25541107F9
2681BE15F3263D2757CF5808E562AE237D04E629DD665E8DB14DAE5A39C14B11C295
2682B0FA514300B8EA7D1536894DBD4663A1B50AB9C0FB3CE55AD1A8CCC3E6FB3DB2
26836C76DA3A623F60D70D0BB625E227C1394DAC31F739AAD64524308A83DB3E2C7F
2684AB24124A59E12F18EEC79A35C72A1C95BF082BD0954721494C407085E1D0EB52
2685E57A53569CE8E37FB3DAE116CFBA0393321EC741425E063D5D3333E92AE5856D
2686B02D336DEFAF80280BE69864DDD8F313E448FB954363E91EDDDDD658AE358CEA
2687489977374C6F891DEA415DEED53F78B2C96E50DF4E50C83467B3ACB980EADE1E
2688D7641A5CFBC55DE441898A1FF2A46FCAEE3E46319FA22E72C0C52730A8BFC3CD
2689D927EF0DE76B31E059A7CA7B8FDD12E05379231BEACB696161BC77B245AC94E7
2690C72D4E3355096B85EB2987B681097B77624C3941FEF32D760B94F04E7E98600B
269139883A5C8BC421C93B70DAF8B686861E4561A057D452BDDB45FBF3990F78D693
26925706B6F40E423AE58475B7B83A70AA730E29EBCE084FEAC9C44F9ABC884EE745
2693F76032B3DD7E1E345385838DD6C6F57D6D9CAAC29D32BADA33D5762A612CB8A6
2694654F600384177D6AC008AD0256C66635B0554F26F62D4E912B80B497AD29762E
2695D3B68E1300629833F96DA4A210B9F1DAB53B3D24FCC49E480BD4A377910D0CB4
26960BBC38A2A33E8E4DE18CB57B816D4923B7921E10281F4D0A41D347A9A9E94359
26979AB6E7D87891D43882F1E6BDE85AD0EDA3C662DB95B03D4BFB080F96D362EE37
26982219E70F5A49FD44FF87F2389B9E35143EED4D9B6238C596181D514047E4BE25
2699F323C2BFE6AE236DFE8F685E652A0518596249C5004013C1C4FB989BA4A7EC2F
270020EAFB8A3EC255B1A3B63D2136661EF3CC66EC1EB8714D9A35763F965DDD347E
27014A5AD0B2498D3F0A4D3871620A68AC317CC09B45B88C7AA8F0F18DA458C81515
27020659CDB421AE4D723FA5EBCBC8635EF65F73700A3262F94C34FBC8B052084E3F
2703ED683624FC17FEE33307AEC932F59D55E90C47AD5AF93DBBDC12F32BDBB44F3C
27044C46E1C44A12AC14C9270FAA819DC341467C251FAFD0E455FB0E33C554BC3EB6
27059533374188F2E15C3F2940FEDEB21EDF5CFADB42D371CBD1211C195AE2A2C1DB
2706FEAC0256D2EDE6E14BEDB87C87E7677F0F09834F266D75297A5EA9E7664FE0C4
27075ACE4C06C4901851656B6CB6FDFF86A455712337397279F2A45CC5C37E3119B8
2708301A63610A91FAACDE090CE8CD317805BF616A66AFD71DBD125526927DA8D3E5
27093FDF89C76833DEC9F84A7A0263D3265A7F01F2EE19E84AD94379D3ECCE690334
27108CF7A4D21DD718CB10253F3AEA499502E5FD0A803F755911A900FED35B6100FA
271186E8A76DC062DAA42385E23E7BFB8DADB2ADE8FAB01E5DC7FA016CF35B353A16
2712BFF6312093F1B6BAAD298CB839DFA7ACEBF9ECC3C3F4245A7F1062066CF520A1
2713EA42110DF28ECED7E231BE9D5202D6A34B82FE309050DD97A3EDACB53C18F522
27148D9C350F56F4579FD3051FC3D211B2A16ADF483A79F5AD662FA1EDAC95994C16
271527D63C59F47F0A2A0818E65867B7161F83E14DFB03A64A85D62374278287AAAD
2716C2E4C11086C1F8EA9341C57558D1780E9629943100DC958C443BC43A2D385191
27178A0CC23A8013455DD6BCBCC78BD24BD0BA72F182910F9A54F39C3B3428C7344F
27188F7C114743B853D7F77E37356AEF3A87A3AF643D025F05D1F96035671D1143B1
27190B4F2D2B2D68BDEA255789EEA9C7FA30B012030508228BBDECA4F73DB091E29F
2720973DA79B49BBDFD3366CBFCD58173FF078BB583C58A99395F56B969C8038FAA5
2721BF1A184D08BA19717B6F2F761AE6941490D7A3D8A5413350D7F80E18DF0980B9
27224E6A76363ADB4A40DE137306109DA8B55B5820326F8753B6B05165C6BE3F8948
2723E5A8CCEACFD49EF48ECDAEF8BD4D458D882F528A980B646847DBC2683798CB6F
2724A5EF4ED2D269A13BC8F6DEBC7B77A0BBCD01C3AEEB1487C07FC9540F4E6150D6
27252B8F1FD538A20BA1375E4E2D1A6B9A3063F127E4F23DBFEB60029DA19D2BE3EA
2726475F8365D2D6786863BAD98F52363C7D94FBA64A560A0EE40869A1D98B65DD28
27272E5E4E83E17B88AB50F1B6716D73D50077C1B18171DBE993CD1AA09238F08ED3
27282879F02F28E97C76A0C811390F9294FAD538373A242FB78ACB51BCEFC9021D2B
27292299E1863D0F96396824DE103926BD4D8763F5ACF719E5F6F67F39C312730300
27302CF61000D206CFB809F4ED2686995EDCA2CD087E0D879E9D279B62A7D82A16D2
2731AB62148D2A6EB3670C83FD026A2574748D297E014A42A55432D5EAA6104B726C
2732D2B9B1844E0458A81D478BF53F44409CFD7519C05FD392D7B05CFCBDE18F40C3
2733F25AAAB3B0B47746FE43E19436021ADD192EFAA0B14F8C3365B83DA2B08A45C6
2734EA594D46E0483414B9C232E07BE7DCEFBEA147451DACFEE99AFB8A47E53438E5
2735BCB621172D6A36BECCF3785BB9A0216DCC76AAECD6E8B378BA7BAAA5F583DCEC
2736D8BEC310BD56FAB3C659E171B0BB525342F8FAB0D292F871F304B4DFCBAA0651
2737C7A072E1BE2DB874998CBEA5DA5691672DB6F5382A471E5194C4E07EE9BFE298
27381B0CA5D6F239AA5DF6AE37E4830BDFE930E9E2A7743A49497AFDF2D8116FCC75
2739A63F16F5B035511344BCF63E09DAACD30A86AA97C22C1A689BEF2A7BA65FA843
27406EDE35AD60150B758449C0D93B0DC0CD43322399787701A01986C83EA5FF16F6
2741DB42EAF18494A4CDBE2917793A90FDF9C6E47200F0601ACA6FF6CE313CC90392
2742EA44550A03D98CFC064B616C166234DAB848CCDCBD76D78C10C2B8696E5308B0
2743B80C7190D1FAD81AA210A4E9E2CB5661475E1A02CD82D93D9AFE101F28C26AB3
2744840A241FE593B475FCC1191961D0CBF0CE90AE74784F52CAEB87491AFC8668D4
27452113D07432DABD196340D32CF19140FF95FB63AA3986D0FE5DCBA28CD7E94391
2746E5E9E8FECCFA6183E7A9A4340D67B1EE8BC15BDD8E82810A67B279EBF42D1767
2747C2A7776CBFB97B90B5677553F37C495B95A559A31C24EE5D80ECFC1D340A12D5
274809E1A6257086DF3D8AC3B654C9B7522CCA662CFC62C1693E1E872F8367873609
2749A7312EE7E49C963ECD9CCFEF19337B39725C13676E0978694ACAEA999DEA79E9
27504EAB8587031174CA5483548BB5D156DDA82B1A9CCC6587F9A25214DEF1E3DF49
27512E31AA77AD96270F0C267D6E166B55809E4CAAAD00969C92D66E125F9E5DDDE6
27528AE101F5BDA1A741023CFBE9F67C85E0CE7774D57D3B8930D7C3D779D8BECD88
27536D57BBC9598552B299BD66CEDB67D27677753704E4C38F455C59552906D8A1D1
275424F085347992F0A90BD6E7E017A42A6BCFFF5C07D6DF8B7B3732D86FD0CA9AB0
2755011869B3670C83FD026A2574748D297E014B7B10CCDB7AEECE8DC7771718DBB0
27561E4B3E6CCCB6B1A41E8730B874BF14E532D888A1FDF43C439BEA165478DF6EA3
27575ABF5AC19769600F7B8C941284296E67936A72132D1CA61DA6B51C2B0A93CD1A
2758148B9E6F4CE18673A6B808DAAAC242D262024BD62DB3B00F44ADCB96480DE056
2759D81DFBE22BFEBB308580E7F7E902C2C6A18FB7C0BE10B406C01A432DDE0CBF1A
2760C54019AD3E8183EF460A18EAF0655635E1B5711C32E17928D1B6DF670054CC04
27613964D00CEE7E0EBF297406D598C01DB574903BAA23F18EEAC5CB36F41E6DD1B7
2762E12C321884C5D9C35184B130B2B81B4396442A7ECFC14B5F3F44C0A04F909D82
2763D59CAD0D6F69314B2C1BE29ED3E6F129785A8F19C81EF24FFE681D2B4CC3FF07
27642F5A915AB8B0CA2414C2B1A4C8DF83ECF617AF17E598DCA2BB9F3FD72133E2C2
276514CE0D596D39460AD4D257DCDEA1A6706E851DF1C389B1675ED8953E25AD52C8
2766EEEB464040B2C785D4A2BD238254DBF49A7B5D41AC27C13150D4ED8DD3F3E9F9
27676D496A48C71E27774623BCBFFF856FCECFD4BB43CA0CCB89524A7E1482AFE68A
2768C59109ED6A12325961ED29667AAB1980EB2CA0828D717D15A4514C96122B5317
2769C1AC61864D22368C48000AE99A2BDACAE3C922AA636F38AAB3EE61D681403B3C
2770FE5AF7F85118BCA69CCE0FEA03DD5DD3F1A177F0D86E0DC7B0D373B6D8FE2218
2771E26EBEB6A6D4E7C9DDEFD33B72309C45696670166CD8F39F442BDF5163D9CCAF
27725E69D2389F643CF6D2EC9382C441D10989CBFB8ED964F7110A7AFEC7A30B04A7
27735885A54B561FD72427DBBE528FF8381B327BCEAB4376746DDA53FD1F267F5E2E
2774D65FEE8633BB86C3CDEEC6ABDAF38CA975030FAA951762C0B127C8D1B49232D8
2775B077EDF0C89D0EB6A21EF3DB40EFD19B8557BC75D148B686A87D07B17B077EAA
2776C299C8E78F6025E035338A53DCE6B389149BA889B3620DFBF2089A0E6C4A8F35
2777E8D451109E119AE3AB48507AB8BFEC54BEE42E887A285A61065A282A4AA2E870
2778658CC6B6D44365CA23036C8A9C60E545B0D9222D8185DE4BBD34935C33D2AB8C
277970640A3B07EF857768FA8460E895C7935B3927327D503B6481CF7F0F7B0B8158
27800F7A84034ED80CED0DF4AF79983D51707C258188D0A4B2BC685A4D900B71104E
2781372DD006C09D5BD8A615C1AAA83E8FEA614E03116AA3E53AC69535F016DE1959
27820722452B9E96CF0A9E18BC9FCC1BF0180333B6DC8505120B7C287D34A13C209F
278357B300578FB2D6FA2C7672E337A837C07F22EE69CD649916C35773D079D26FFA
27849827200E224E0FB6DC681B7A4DA6F3AB42129ADFE6CAFBB65DD5BEB334D5E337
2785DB4644474B7F22C02B5527421785CC508450D6039B7EB158A5EF039C8EC45DC9
27869D12241F2AFA2AE929E7696D31CD8A1ED77D571FB57B9BF0AE25212A52D33A0D
2787D829600699FBF3B6096D0141213E6B67A4DA27CB17746D0DE7EC085A1D1ECD91
27886FC88CF8A8369C49B092A0A4E923DBB843CAF6F899F53C3380BC1F07AC4C818E
2789A103F170565DAD8DF42D54E4D439F1C0056BA48005B43F6940B4EAC49650049A
279025249432DC74B09FF1640E1E4BDF8F4B6F8A5E3A74345E38D29FCC3E44C93804
2791D115640EF9C73792C9E9DF233C10030731B2FE8FF49E753057359646924CCBB0
2792AA354F1ABD3099FE129A576BC7E2B1650C7A47226C1B0D8ACDA775B785638667
2793081E297D5436660D5056FFD0D3DEE7207889B1A7E131BD76E748078A8B045728
27946AC280D35634C288550DB20C261C0BD15FA3B7E7DDD25741803DB72B962DC65D
2795F1269FB36CEF3DEBF2AA4D0051D39A57B6212893BE7CEA7E4AC7694B7CFCEEC0
279674FE8447CB362A9A9513DCAB9DCE465C13768AE95D4CD1FD5D7177762C5D47A2
279726D0E16201E484DC939CE41D4A4AB1691081BC0D48CE7D358510F14A207D5A31
2798B6271A50010E1AA336BD73133F6006D5667320A8F4E8B29E5130373D8517C72F
2799B2161C0D0C4459ABD8BD65029A9698D078C5052A1A75C736A723DFE0543AE32F
2800AC28AB8D540CF4BBAED697FEE5A08CF07ECD1927BD85A776D20558A8A1E0DDCF
2801FC57A6D8473B2957BEFF319D32180098AC3C1BAD394692FF9CDC1E32DD3A7B5D
2802320295697422AECD4652A881D50C9DF5BD1E25370499AAD99B2BF5FD6C097D90
28033E87B291F94D0DF9D4DFBAD4F365A705238728DAD394CB6AFA870A1B4B48EAD9
28044822B08D66902C80C45B2949B8D1B947EB79E90166D70429F89E4CC19AE91F43
2805081B993FD24B99CD5B7F09CB0424C5EEE503AE51162A0A611190E892D1C3377A
28064D9AC90E5053C20AE8C8D5AE084F120F523EAD11E87D3BF96987EC8E3DD4CCFB
280750DBF6A58583363104120084A5B4DF5BED6475F467ECD47FC82672F4DF953813
2808D97A5A57A70667A9DEA17233E545F186E375B2E7C66E8DEE2FD6CF5808C50411
2809E3E995021BFF530EDF03F0F37DD81F84508FAC8B0C39574526207A9A15ADF33E
28109562D6853E4634BCF507E7AD0376C57438BCEC02B710F47A1C83530D8209DC87
2811A889789783D7BAF435D9D4424DEA71B30DEA52C8BE16216CB98B5BC6C000D783
2812A35DA4ABB72A8A0CB3A0EF60A20EB9C3A14046A033A9127228D38514EA1ACE4E
28131CABB39D662DF9AC5871E81DCDF0EB03E3E5D5C45087084FF5BCF2AD8DB66001
281490E9D17A10723D5092244E59DA1A31FDC7D428FDDEC90C0BBDB7D33C17E67AF5
281587343AB6A2F77A9B5610E99EE28760C893004F0FF6F1824C362DE0BD574ADFD0
28169199AB33E984B1932C2F37D72CE8E289BCE928D33FFE478A3D0579EF48C1B6B7
2817D9D2C0CDD61043B7396BE6E1B31863BEB7A09843844F99739B2B395C1E1FCB5A
281850C614A3CF4D2F074926073116CC0E21A6AB4CAA2CEDBA125816385BA6A4CF2F
281931031957018202E7A279FA2684744B44E53995A57FFD2AF2902DC0E2D8D23222
28203135D6DC1CED640204057D5EFA1B959041FEDE65D99A38C4418DCC15832736C4
282141BCF3EA39F06B94C76B4627C85DD8D9A19C29C595C180FB895544396AD83BCA
28223C3EE87B3B7DA0659DC9016C341D7281784F095CC3FB07990FCEE3EA3747D114
2823B2291AB473A00400C0D2161C45AB7666C0543D1151199B867435D34DE4FB36D1
282411529F4CD2A906E6EB0E6B8BDA20700DB08EB09832F5AB8111BA022F3DE7D033
2825481A58BEEDC9D18E6A4C4F010DCE7727E2C39A22DD8C32F8320AA4EF2448D307
2826C029D465ACC69F29EA9E146E743FF23E464EEA52BAC94E8987B671EFFBDA7FED
2827F68C44148B894F0D317234E5B93A07705F6D5E131582375A39192FC7079E1AF3
28286527967B6029658F4A25AA6A3A2A31184D9E799F1A89AD23AC72100FAF00BC44
28294976F95E0D29F58A1F30CEA9589841761C3C4AEB59EC5B7CE530B7D9209A054F
2830AEC5DB7FD50BA11C7C8E75F60B96B3F32224BCD621FE8B60436A92E7810F4EF1
2831A383EB5CC7C9D905FF68679CD1419595FD349D0426A06D8399D29D37034D5E32
2832AD8B11FBD160CC6F35687A7C9329C32B26C0670E76028B6A0ED2EE5FCA0E5E5D
28335495FED4BB91E5EF23184556FDD8D91AB1786629028DCA382465BB2E8E2F86C3
2834AD61AB24AC4352EBB4032EF81E1E424444AB41624E57F1F0D632B10222361470
2835C87235908D29FB5C111C70E20DD363C0E4E80AEFED2994F529E8FF5CB04C5F53
2836BFFBB695A74B0CE299A184E5B456C0325CDE88001328D680E755908E37FAFE91
283772F99F316BD4E977C5AECE0148D5C1569CB76470E812371F2C85AFC224047588
283861A20861FE013FD244059FDF56DE90F179491EF5DC2BDC2E562B5D110F55204F
2839B97C7DE262534D9D78FC171C4E45C410CFCEE4D0F24DE9BD790EDFCCEEF428FA
2840C68C969A795F827F3CD34AF57DB2C2EE097802C73848ABB8A2DE9D61A86898BC
284130968AB0F3815C1EFD9A5D5A5EAA5E69FC9990605BE8B25A0783950018B1D1BC
28422B470727B8E5735180291E72CE3F05A96019464892E2148B22F73ABB8ADAE775
2843D48C160373031EC17934534919D0CF112E98F0AB2D1660CA2E5FC05F132544A8
28440A3C8121C2D778EC5AB7389B6D2AE3E93BB2AAD079DB6B489C4D126C29073659
284571AB75F9FC3A7279A43F791661CCCE9F84CE854986B22A73DE85208B7E1CCF8D
2846430A55097F0247441D29E0473BBA287F9DCDA628378F55BEB25295679DE33656
2847DE4A57B781D221C2E0C92CFF820CB5F52D08070481ED64C864407BB4F8412C99
284853514689FFAFEEB7EB9DB0B0B6AE73C7FDEACDC880CFEE01D42113A5362855E7
28496633C0371716F1C2E561BF468F25A14171E98AEE8C4EA2787A64FE298E93FF9F
2850EE194145CF213A79D737177B7CF395C28634677237C694DE103FD0538805984D
28516AAE5FFBB8DB67B63131F6FA30DFE295B57F8F1835D1265B5A7E052A766636F5
285242479784B0449805D5F3D31C084ECEF4405FC13C1840B84D6AB848266C0BF823
285379048B1FCD8822EC75011790B2F773E4767C85BDA76030EDA4D7FD489E95ED6D
28544B8BDB902B1BEBB98B09D75EB3C549DF9F96E8E43DE333691B46FD11AA5A0323
28551016B6213E8612D2E9E418AE44415555C1BF26A96D24DC6363A3B14E0B3AB195
2856EAB86047652767F4EE0B1D25341EB5DC714A0AEA5431FCF44889EE69F967F3ED
28570BFA9623AB0236098AB59593042533CD81AAD8A9C471EC6F606499F6B3A7AFB1
2858235297260AC4EFB99EE5B4C8D47D3A66093CEB824B80E7F0A9205E6E3272B595
28597E5BD6DCBEC86456F4E8E3F12F16E6A5393669400982F75538BA7D723DC31930
28602977F80396CAA5B9B2786EF4F0118B9BC1B4387634BD356B6212A9591C3B528D
286102B24C4F66A8B42A6863873B8FC2C23A3C4CC050B71418C1621225A259AC38AE
2862AF34019F352C728C91F2FE8158445F14F544470EE28AFA3499B8A9F747224C9F
28637FE712328C23570BD17A64553B08E8D176F9854A6CB34369AD260BAA8A23BF5D
2864CBB68BC527D556455F2EE04826E7AABC974969B84B8B5ED945005796D6E5CE30
2865B9FC75CBBE150489AC693C7DF6E18940558F0B55872E2A8FEAEE6F3EFE676529
286645517604ACBE3FDB2D9AEB2B491FF8476CB513596CC4CE074A404A45DACBC206
28674B8E5B3A05B911B89D67DFC33C7A3AF53D83724AC09702571F5CD690DF2B3904
2868A6D968DD313F8B6620A91E59C279D9963FC18B01491576807C53E6376B190465
2869789380E191267592709AABDC0CC32A09318A9C95D8F77E844A2DEBCF0EA68497
2870581770F83952F5020238599613FCC511AD78A8EF3243D6377346E3C13B4E11BB
28717DA45B6B2EC3CD85FFEFA5B1A5AD10FFBC85F554AD7B9F50285ABFD57B6078B5
287253AD3DE612AD0CCF5AFC45F7BD1AF11FE4F13A61BF776933E36F8009058113D7
287383D4BA20262CC542547DFFAFA5F98F5D00E4B188CDC731482BCA919A3A1F896A
287419A2DADD4D86FF1A0F9F7F3BD2784B527526F940386ACA2DABCEB8C62C49061B
287562F2D50B706D71E95F697AE8307A03BBF73E9C20D6C810852B208B14FE526225
2876F24695B3525CF75CC7661DA8BB4E577282DAF0CD7567DB7B0CEE6A589E968CB4
287739BE739482947F1C6D1EB30E7BE6BF792852370A1E8F480BD4A37773E7E94D1C
2878E78A704905CEBB6BB5F416EE4D1761CC6A69F94C15CBAF6993C7C1320D17015A
287962221E2CBE5373AA639F3E79E65C233D1FCEBB85B138839C183D51C008EC7521
288023B8F51C5FC6AC81C0BC54649D642C43D19C7F2CFD2FF2ECF25F01E4B8AD5E6A
28817BF8AE22D7AFB4A1FB5E6BBF5CFEF55888C05C911E862BC7FC1D418EA1E169E3
2882F8FF9ECF4E5CB80644208DC1FA98C478F58DD1B4887D39F4E68DB6BD275E1FD1
288311304A34AABECF0CEF5235E1EAD65EFCAF25A910309DE273147EA8EC4184591B
2884C3FA3ACD7D3D2C88DEEC558274FC74A6ACA1EECAE6AEAF1C0EEBCE74333650B0
28850B0165AE4C8A9BE5593DC6B1B6794C65035B1158CB8AF6B4ECBE34ECC1C42036
2886F8176820D3BA2C3629B20D494FCA27B6D4C07BFD3B385B425A562F78DE222F62
28875A1691CE8CE57ADE018FBAB4888095E72D3BDAFCED350C75731470AA64535A61
2888B226BA5DFED762812F048EBEFCA6F34D79C33B5DE9FE84CF9087B563B38255AC
288932B2D894EED8B618B3695A3D6FB37C7A96309E02D86BFE14AFDCB4C2422AC330
289019E9583A08776779F286B56A27E4435BD7ED0F7E76FA03BAC080CEB7AFC4D525
2891AFF12EDC7599454C8ECCAE5CAB7D23983538F5B8BC0F4D0E4ECF9FFD37B6146F
2892783A463CB52C3F987588EF1671A0A771A5920B527A69199B7DDE664F040B07B3
2893C752CAB169C4DB746D708D0ACC9590B7DCA104DD9EA1DFB6039D2C59FF69B34D
289418E0EDD3F8117581D1D2699F0BB1E027C2A2353B63C7154C219881FD13E554E9
289506513EE93A265EE65DD2585CA59320010A1363F72E2FB94D7604F659C42F46B0
2896BB09A3BF5B224E83C822654CF5BC4D062322F2334343EC50F3BBA86B055407C8
28976CDB7C52B728791E55F013B9AEBD4395C36978583836894DFC08A2A1DA2BADBA
28987EC0BCCEF106ED93EFE20AEF2504E5881A5749981A897E7EBE0136DA2990EF19
2899AEA0AA9213089D45A24617FB1BD1465059E7002AECB3A497E39819D7241F3CAC
29001E067BB075EC8BDF94C35AFF9972B28E627BDFBD753ECC7B5664999F24219B77
2901A4969716151F1B3741D6DEE0C27F05220142226D8CBF2D503C8F0D77EBBF9D30
29029286264EC426283B7585C1CD855ED1F18D7D9BC60F6CA00F108D6D2683633F04
29032E15ACDBA49399844FF84BF593920F876CAB1BB06220CDF7309480B2D66A534A
2904A4D10E4716AF17AB6D274EC67FA6ECA9EF8BDD18912FD7D3740C6D85C5725607
2905FCE37C111AD8538E5C96B3C3483531E3DF93B21D30F2014E2613B1ED8F550E96
290659338D922D770274B0A5459322547F1F829DCF455715EC94547193B9CD9840CF
290787F65670BD7CB5E2283FA61818360A5DB870C2E63B923D7FE705AA7185CEB4BE
2908424923A196FF423742A1050102B840BD2BBC6E36608A56610F67CA49491CC1CA
29094DD07180A8849721EC7395A7B8F1B3C54F9B3DFDABD7F3AE4C9AB94DDB066FEE
291028F66CD402FB770916FBA1F1F958E0AEDB13CA76A19E5289872538A6CCFAD70E
29113673C8BED4931027AECEDCFF854CC3AC19482CA681418BB883B4550C5B6CE6B1
2912F3176B8003D25BA625C6A749C366609D095954AD206420C18C7AFDC4CE39D27B
29130B0ADF02B146CA121A70050A18073850174435FA6F9E72C238B7A48CACB4AC69
2914B3D1D6E1D3D17A3B106E635904F196627E241F253DE8D54756898AEF86B18CEE
29158238655681B001971F293CF8EB6A54859C49042A008423964CB56DA11B02BFBD
2916BB6B95C298DD4689290BC979F03FB1E2A7451675B8F0D622758768A74278259D
29172732EDA8600201A4250517F399854B5ADBCAE31AB4DDF43923E2969A8F4CC0D8
2918924C90E2E028F14B685D483A849D29F1CC10D6CA809478563AFE463015807B51
29196444DF3D790E32BA259FC90335C2A77E83D1A804550EEE8C7E7C399B8D09DEB6
292046BE09DAD67B3496168CA488A7C61A08C6659ADBAD689ED3094CC31833BCE783
2921C9C376BE3EBC327007F6F08731634F35CF7103EBD648B95EBC2300146F9D80E0
2922B685671E2881895138C2DF073F9D118179748A711143B125418C68866DC4DD53
29236A07F238E7B27ADA83DD1AC8F18610FCC7CDFDBFC2A74E488E4F7C82023F6B53
2924E7702EDFB5C56D031B0BC96C5A6A9B7EE808EA3C36CCE4069B1FCA4C93737280
2925CFF37D45E848DDD7FF85285CFE4B72F5011977C4F4FC48C919B6867B1C0322F3
2926C8F60100F20FE3D7C3D6F202369C03C964E130A6A3B33F40E2462B9D23EEDD23
29277344E597FC54638A67156C453F496263FC5B5B8227429E50D1FA9675AC21373A
29280843EF4143E5FABF69310BCF766906A395AFC353ACEED85F6557B423C06C89DA
2929157F70DBA8CB5ED2E852BC19201CF22E5C169EBE06307F1ECC4F900F7E81EB26
293096AFCE64C1080F0DCBB5532A4F584E700049B3CC8FE919D55E03AB6A69A4B916
293182DB727263624B35D22FCA7CCE9A67D4504FC1BAFA1652D965E6E8ED6DB964A9
2932A2C4867AB5F552E54DE92D9DF52CB8C6EBBBD5813BB11DB6B147F75D950DCDED
29337405C1B49B48B94474AD10F88DAF3697A076A9D67EA899B19687E506BECF1947
2934D2ACE1E45048A8FD7AAF81C1D5837392B1EB9E514580E6097FD825B080ADF0CB
293546435431DEDC5096CCD5DEDA9B4EC965F20FD452DAF79E3CE3E32A46986D1902
29369F54CA543AF69D52E5EF1CA0E3F2D03F15752D5A8AC3A9BDAA9FD62A998F77DB
2937A3A320DE1C232DE70425A046A4A1C69698A882DA14ACAED323DEAFE079D8E7FB
29384E4218D2AED884DC7088B6E37BFE194D145345D1F6D09757F728E56482127BA6
293954667224C5C327BA7C4059535C34BA975A756A4775529B87C76AB5FB9081462E
29403701D485345FA762B5C47718214ADE09FE538B23688F844B44253958A76A0582
2941998EBABC0D7584F171D99039326CE8EB82690E7CD815EF823F57EA5E29CA97C0
2942747BA67335F672BA95A862AEBD5E357AE63F9A97A2C92AAD8041372C63A3E020
29436C9841236404728304F8447E9EA64B143CF6AF5C08136AA11496D880A38BF73F
29444D12FCACF35DD8739E42C58FBFBE458C94707C825C53B327D89EF39C556012EE
29455E31D9C11A0A60AEFE0E7079E7C04CEB52B02DCA88DE1B6EB0C1C47C8B7DC5D2
2946E8AE95B1FA4C2F60D1F8DD87A889789783D7BAF435D9D4424DE3AB25CAC39266
2947D3E4A190F18BAFF8145444A4B33DAF9D83A46EF9BC4210C3652D589681C49267
294897C5878337B23DE5DE7D508B5D2E4B9FFF872FA2EE85982E48BA5ECA86A3BEBF
29493DDC5FB1D62336C6DC98BA3D193ABE5CAF809C6AF9CF31345A8EE0B0EF884808
2950520A08D611AB049D38D79C6EF9F538A5B366063CE605C921BE7EFDD5865D649F
2951955FF368F3E3153D1BB6B398ABE3BEA00CAB58234DA432D462D39FD27EFD08D9
2952C5B958F98C9705C655CFD1D12CB2857F376D4CE59261BAFF1A8A50279607C8C5
29530EFED335B0FD0EB25D58F5309529F24EB9BFDCAAFC4A23CC6FAB0DE4F8B78FCE
29549BF97A624E689F4E593E15CA50F009E610CBF667B8F013E5BD513714707D5E75
2955122E9BD66526CBA0ABC48E8AE6B1688FF8C25C464C8DE841813C3438080D2057
2956E7B69F4345188CDF8229A2A9475D08CCC2A3B9A71C78D97D57AD16CCAB7AD48B
295774BCEAD013AA352ED6369B602A6820FB41BE653402C988B1197DA58CAF8A510C
295859E13F2A893DA448E31527E6085EC42BA53B144B8A437A0874F11E6E78FB33DB
29590F0235D303D5186D6770D7E095A90349D3CC302E4E863FE63C4EE141EDCCACF1
2960BAB40513F7D25384B0D340430A5F9B3F92EDBE20BBC686A00D258068BC1A62F0
29614404166720C341B35EDB4586541593F8536E8D473A35FE8BDA05362C779ADB80
296209BEEDA495FB7E96A9D101C6688152F65850E258E9545B720871B869DE025AEE
29639FFAE558501E9D8BD94A35F727AA9A71C33D368CE03E7045BF99AAA7F7BA00F3
2964C55757BAC2F85E6355C0A2EB388B751A404EBE1D6E4A85FA54648D55A6CC58E5
296599F5423B549EA4606DE426020F95E07A58B2B9F86769175F99F90508F5CE503B
296644C533D473316168274219A3D52FDFD91F501260D47FB341FA124B395111FF22
296786AB9F162B86EABC2008C55DC2822D61D9FD8AF7C15086E5FD1820DDA9CB849E
296806FC42AD1B381A7FC8F2074DAF626748053A51101B499AC140EA0AFCAC525A24
29692798E9AF66587D0F331BF14A5FAD8D01980777AF9FE9ED826DADA4972390EE80
29701E5FD7734D167AFACB2415433D3E55B504919FCB2BCDDC054CC91C85B3597B7D
2971BCBBE833C0916F666504245ABAA2635F3632B4CAB549BBF294D1BDC3AD51A118
2972DB4E6B848DEB130A56DCDB935ABD3260FDCEC2B6116127D4313DCEE81AD1E409
2973405895F8C6A43E375E4AC001F20E9FEA7872B3775E1FE556DB100BB5E216B775
297453198A68F75051096681B771253439471A25D61F2E91A96E16FDDB337474D437
297581699AFDAB98393605EB377F7EBD25E7B62C2DA82CF09948A46297D3DF65E84A
2976150AF97D63621D7887E6D25DAC343737B9E9E6D048D7E2D64F2604418C884641
2977113D7FCC36B76034F37A3CBC3367DAACE9A220DFF0F6C95BFDF4909D9FB5B381
297882110BAAB191FF5B0389A77DA7110EF40898D7F2206E9C8751A1DCF4CE35B2F2
29793DB6068ADEA4771A6B5A94E01D479AC152C7B16B0DE4C97C1C2E379B2BECB9CE
2980C1E9CBD2182564CBC6D032FD49D5AB137C172E040482181D88EE923137013492
2981BE918865CEB7D7904FBE0D6CE8EB82690E7CD815EF823EA6C2877253324B87A4
2982C12A18D08F7EDFE563197C89A0100AF38CF7F85524EB9327D1B29FBBB07B8D31
29834CBB30FA57688C97CD7C7C9EC37930E27512B968ACD62F9C5DE49C03FB720403
298411E96719D178A8CD7EB7504A31AF3D78D061307879F2608CC69105C029BA8D4A
29857B964A305F8A2101572777E59B3CB401C9A2671A7E019746C28E8CBB5DAF0430
2986BF2B6039464E356B50BD9E3128227794FDA75C0305C968BD907D9138544B713E
2987F29426A30BD387E54F1BD6BD48B2DD3EEF0434EE61ED7C48B0F9D65B1B0697BA
29884437173CC6A46EAF491CE04DFA281908DE892FACA4D1ABA93042CAD9B3058B16
298957B2C480D92CC613AC5B947AAF21CBD08A2E3B1BF6B7EC58FADEB7214E434723
2990BB02264F53B52A9221A13865E8864E6F75D40A38ED471D2B68BFB683965CE95D
299109719C82246C7F9AD6801A25C85FC14D3716B645EE3FF46B759E75EB57C655FB
2992CBEBA20E12A6B89D792D69041F008F36B9F5777C45F61CA7707EDED071FB0976
29931997C01E99C910D18C1DCBE9942830173961D1EE5F1403E30D3B9265ADF81528
299418A2DBD40C1365F2863F24E3D0E77D9071466ADD35EA17B49FC53E54F0180C3F
299520BED95BABFA45C59BB87134F56F6DDC7CDD5B3D625DFE4BC40DCE69F4361E52
299673DA715BE8EBBBFC6365EEA16AEC84B561C94007AFB3B9D2B58A91DEE9802B6C
29972B7EBCD0F0E28CC1198A84ECECE33D7A162F781736FCA7D87E54E2B1DD43A458
2998C557E303C569492C3DCC7C3A1162682A719FF916E6BF859686F6F08A3CC07CEA
29999151BB3C676519D0968C7F70B0E01D9569049031B0CB8D9271589795CB99777F
3000D2D8A4F18A6EEFA9BF9407D73C5BA42F50D139A2F87C2614D3548980353A6C53
3001F47F0BC75FA49BE3FA0347CF24E7C89BAF56C8C376AE1E9568204D34D67FC196
3002A380248F5F7C4DCA4A1AB06A04B309EA45653D1CB7231B90B4FBEF4BD42CE514
30038E2E8B29F7189FE0D4BEAE918F3B43E35DFDF3E388792697DDF193801C220F92
300414878C181A430FF6E45BFA39AF25EEE7CAD916AF093B9CFFF3DDC21C184C9124
300550DCE380331BA4ABC51615EE5D8441A99DF86E7BF7F4F19B865E66B2436238C2
300605B14615B9FADD984F27AD672FAF0AD31F3CC7F2ABFA021B56CC1B2283621D7F
30073D46A5B576F5C3504555BA1C468685029B26DC46EC8C2071B8EB9B760218116F
30081200912C057A90E5402A179F2CE4038057A8E54B86751CBD2C6F8FCB4C69B81B
300983F3DE4BFF9AA2FDB171BB810200EA42792B05EE8604E044677CCEECF15A358A
30106D9B701DAF00476083D7E55E62BDF3F1387A5765C889845BA3E641BFCD71BA0E
3011FFC60665EA8C7D1911675EB2AAE536E5981CF029D6044761F6AC4248B4DD0A85
301201455C630EA8B2FEDDC4ECD2E027CAA7E47CD79BA6590ABFE3D82563182ACE5F
301326F28357151F0312297D4488AB58231EDAD7FD489E95ED6400E6C9E03ED38DCE
3014D8595FD2F0F24767A37905556DF8D9EA9F089E6255751DA6992A60954063C678
30150A5D0DD42AF1F80B7C41C28075ABD939AB3A0F6DC112020338A99EB84A014856
301686CC04EF6188FEC4340FC7724F9739E9BF73C80C90A98A4BFE80B440ED5BB438
3017642E42FF7E89F7B7EC58FADEB7214E434723BB02264F53B0214DFE59BBC83093
3018AA0097057E98511746178E03DD8016396A43CA64927852E3D9861C668F21F154
30194E638C756553C296724A240A89A859DE1890CB49909A2811CA7986436F225200
3020A24D95F2ED54290D18669353307B572DC6669803A1FC4949AC98BF3A8F45BFB5
3021024F2D915BDDF06338224565A9CD8CB62CF82CF9A610BC392B6F93AB77C10207
3022D2C8B19311384F24598722F9B696D09272F8D6706CCC05401F995AB75AA569B6
3023CAFAE547713D0F7BA5103FAFB49EF22CA8F00F055CD83E7D52E442EA02E581CA
3024D63F033B04D0A17BB868F8B54699D1CCB02E6143A0EFE51D2ABB47787AB8FF47
302508C6F40E3075D884212459C6D27DC1FFFC271547C1152EAF04B84479FE9FEF9B
3026EE08C93E676D71335A8E3751C29155B007398319845C28648410EDFB3F813E16
3027648DA877C1E3EADC98DD86AC283210AFC93EA37CC2F783594DE6123338345A8E
3028E0B0EF884808520A08D611AB054EC0179769635EA058F2856281564D7EC944B1
3029E2009223C277E6A0FC6158005511B081AF211EE4ECAB2CF1E1A7F12E6405D970
3030EBE676CA582D1D69099DEA0FED70B3DC135B4F6BB07F45CBA6FBDB4418225E53
30318C9D8D83343E89075F5EAAEAB6F3F9CF07DFCD9B962A65F8E5AB88436BF64E3D
303245BD2863327CCEB361EC854814F692C90E50531DD64039C230A6A9FE0071C240
3033477F32573BD733E0DEE8A4F5B8BF91F528E8A014CFB8690DD38F18F77A31D381
30343FFB58E225C51FE22F794782F47EF717845F2D4F899C7F1323D614E16C7733BF
303556AE6BA3F64F76691CA5A4833BC348A1E61CA45D557DA14428D1221FA8330AC2
303663BFC99EF7C10ADBFBFC2E8211676F375782CBDCB2E42C04E3ED3F1DA3AF6456
3037E1F3CA3831A76F106E667F9E91865F8975FD450125C9EB1502D64929BFB8E89D
30385313570AFC25B6FE29D40BCE62841432BB56EB8DFEC5E56EA980AF8A14F46FED
30396BE897BAF99BD16EC9F360B9B976ED055189493B71486D921DF62EA1EC80DA59
30409184F48143580DF45B39230434930F24F928EAC244CAD6F9BF5528DCEEEFF00D
3041865999A09D5AD428839828542FA8FE12343741AD49384B9C069FBDB0831C6116
30429B250F1A80B8A883C5D2B3B78959EE59DE1CFFBC4EFFAFF00D29054A5911CEBE
304302EC916BB486871FDACACD9F4BB11F629865683E164AE60471A6340C4308A3FE
30443B2B5EC30A47C3FCD41E7BA921C341FE2DB804C2195EFD9817CD55AA40B796BF
3045F1833FCC9BA70E3A369E78E8AF00B974938842FD01B7ECAFC159A997FE183D49
30464EBD62F23805FED20C07398C16EAA2B2C822BA7A8048BADB860F1538363AC9D6
30477696EE9341D32AA35D91124EE5DCEAC78C8F28787EB15CF3E4F68CB4DB29E22F
304872F6C86F41D02E5346CDEF765B7B097C8EDD95A5F9611B35D898DCF84D403B9C
3049082FEDFD718FAE8C7E66BB3E8D6817070CE96D322EE6880AA0CC336D1B5FD0E3
30503CCA75F5FB1507ECD236EB945506F442C105B236BD37E1C7C43CB9DA26F9D0FB
305121C434FE2DE3BDFA26D24C4FCC92C1A8998026BDB99E910E615A5189A41081DE
3052B45DD711488E406853A5A013581A46DF8B9288C97C1AE272FE83AB5351D5C38F
3053ED668260EA8879EF78B4C92970F5F516904AC4A1A00EAF33C65CA58BA761AC62
30542EA8AA58FE0B5DEC627172D10DD0A55213B5F2404925368DCD3A257C29E84AD1
3055386C6B61A5E15EF994AEAF8BF6853531B9436E94DDADAC273939DD770974B196
3056CF4680521C166453070EFA5A968937157CAD1E44C4FC5F060A58A4B289F71E0A
30577B6C57A9DE0839022947957AA9A1C98A74287704A56D2134BFCE5702C75743A1
30589EB312118BFF5A24E4FF1888ECEE4BECC76AE143C0B8F46598B144BC6FC56F4C
305960915F5886B34D8B0E8770F45F08A49A1B5F33685187943C7B3EAE5F31C66313
306015532CC81E6B68697A78C0EA28694A184C9FC05A5C20CC812CACF7FF11B4B138
3061F5B71737DEB70C29FAAE5CA8513697176088F976548B25494413A8E9A76EB90F
3062760875A07674C9E9886B199B3099B051B7D6BAF653662EFE131B5FAD9FFDCB5C
3063D1FBB4CDEB5D7E8002400221C12A9D9E4EBDAB441DD7633F7E773036AFC95EF5
3064D66120A2E0DD954ABFE0C0A68306BF04D894FF7239C0727D31A47273D009FE3B
30655BB0705A054BD4656A6FA42F3010A127B90553E52B30909144726492A9381FA2
3066D444C8BA71E64046CA64B07041A32A2CD4E2DC961805C11F33D554529BBED98E
30679B33E1A28F8FDC11342F692C47424F6E1F4059C474F38CCEE148B9BB0197602E
3068779D8721C358C413D885ACFDEFB9466A40768F3FBEE331237AA5651C685C892B
30695CC6570CA4757961B6636831ECA0F8B87BE3549FE64C282F92BD7ADA0071AEA3
307037BE6580744556CEF3EDA3FBC4EB639ED805C1160DEE19259864EDA6D5958092
3071060E1BBE06F336F9B31BC43A659B9224A277E39DAE4B1F4329D0578D921F431E
307252D386C5C3C820C77B0614508AEC91C5BF1D9BC4BC86A0447DF2D2F8AED9616D
3073307713089224F1B957C12FC00B99594E3B7055A2E28E9E929720A9A8E40BC0AC
307469332572834FC089732AB9257978765B08FD1933564A845F18148B481E89B057
3075408A7366EEE0638C1B2A9C39C6C54F8DDB7817CE07AEC10D671EB0E1214231AA
3076D4743B196C108C4C08A13AB566167064AB08542DB96F22756F879171F49500C2
3077CC2F349E947589A7119237DEFA4CB7D83522B1B066597E4C9CF54DE449335FEF
3078F104BA204536CA3D1F9C73EA6B21DE24A4633E8C4FD5A5026FB1A7687E22E6C1
3079D5D4AF8B97E1BDA1B94A5B9CBCAF2550A9A909E205BEAB20B9C50F06EB219E9F
308034BAD5A87B9D289C5F0228E28996554F6DBC2AB4E2B6673C79F5569843D01C9E
3081ECF3F8709EFC582D4B381136CF3EFF857D7E72529BF5E2B164936143663A1B48
3082946531719C594B300DA573A543FA3813C8C501A9D40DE20885985399BC432FF8
3083FDDA9AAF6701121CC345DA2CBC59C08B8DBC55042C8D7BD026B159A61E712E1C
3084BBA825B8DA3C2B95B40BA3B134DF7B43AE695E86255FA5EB839E2D73F12DCBEC
3085A349561889268551933B05EBEDA717EAE6F06D02F4B36052A66FC4ABAADEC307
3086FF1D04E857F077C359419B32B4AD76E8E15929C11019F60055CAA3336A72D2E5
3087046169FADF335767CC27E611C815D6B6DF63FE65E92A428C4351AFC8A18ACEE6
30889A16021B0A6188A69E24579291B94B09493CA7656DA2CD7661D66AEE53CB1F39
3089B56EFDDF93A1E45B47724E41DB4205D1200CFCD7F510798D2EA69D685F8592F5
309059CBE379E1CBCDDEDA1B69FBBAFE27CEB5E868B2CE2113416A56856B2EC2B06C
30915698FE079E7A564EEFD0487561C9049EF7D5DE455D3E2445D997DF463AEC9962
309291983B29F0773CA253CB694395FE40C7A582F443817A2DBA36F655B7864D8BE4
309302E67959A853734C237CC5C2AAEB4A8E0028DC3CC80D3BF33EA8DDAEB7ED807B
3094849BF7008A9B513D1958946B3105AF4F88FEE69EC2D3FF638042BC75D0876359
3095AA48A4627A7B49F80E4E727703DEB6BAA91BDA86AE5CC081E2657740EF74D19A
3096425917974EF7A02C99A3FFF334625A47FC66EE11954463D6600A17ED4C028542
309725B42ADB4ACF269D70EBCCA996BD48AF33D63080218EF947F06F8CC552C9A6BD
3098C6F04A612DE0A010C16E27EDA16EAA18A7760E11E9873BB0EF9262F18A75D9EA
3099C932ED1B2FC469A51FDCB3692D818549BAA79C71FC44B61BCE2A53D14C9CD1B3
310069AA1D89B9BEFFB4D8C8D4CC21955C0BC8534A8D042A2892904AA055F13EFD67
31015747E1403BC46BF01EA715E0BE3C0B37FC5F13D9598FFEE4714DC6A4E85650AF
31022902D1D4E796D3F9592975D46A86D4ACE66BD5B1E4895B24E34B9E7D5C4D3300
31036F55CEEF9DD439477DBE791957058A1BFF3D38510A8B1E8D692F82221C0D0228
31044F4E1A03F2CBE758744C4DC36BC0B3C1533E1AB95D2D5BAFA00555363CE9A004
310563422485CDB2BEB86B7BAA4DB298E92EDBA3B4CBE5DBCB63063E9CEF4190C3D6
31060DB8F69EC10ECF8C4350D1B42C3F463C91787BDB31D261AA410CA1F6033533B2
31077A95E93DACC191CDCA7B1B7E1BD2E7B169804610DDF6CBE34DC4B3669F9D55B8
3108214ED5DE41244A94AEDF8B39312798C5CC828F8DA0799EF23F0E13B5C402119D
3109EC0E921DE7E75BFD5014A39D2820506253A21FC3F3DC447CE0ADFAF8AB10FED3
3110202C5D70278D34189977217FEAE275E008BE2A9E46CD4E13586642088F523124
3111089540F8F01858D08C9A11FD8478484519A21EEA38ECAACC578E6AFF2A78F0F2
3112655E0D319A46AAA1AA99E374E08414CFBC44D28486B6BD2C8806D062834B5DD1
31137EF5AC689609C39ECD8878AC5033ED10E0124AA411C1D25C37E7DE50B54ACF35
3114735C298A3C0B345FA3AB6C46E841B009890EB081211B28BD1BBA03E9F31528CC
3115992709DA92489200C8665A75BC8E80AD171B40042CCCA9C93A5C1D1196B2B5D5
31168422043C9E6FA5E03CBC0644D19F5DAA9DAE04D05B31B5252F16C538C76DA224
3117B72B3FD6D176F819E31E7D3DF647E2D4999FE6A0DE6DF6DC47D17EC51B652DD5
311816B02507AE571FF88E0ED3D63F36691F13AC80D0F63AC8F58F8A66F6DB1D353D
3119F72592DD06C9E3B6642B88E3B9453AD8432E02EF88C5BFA8EBD9980E0D46B855
3120BC68799E247A08C67F0553E9188FCEAE7175F58C41EAD02F1E04DBB79D433DC7
3121C6EDEB9DAAD6B4B9EB4F58721FBA5678E67D28758503B8AF2F7D473969ACA8B3
31226D260178BBFB4E9085C76827CE47DB355BEA13D2F2EFE1FA920B455CBF179FFC
31236332060F58DE7C7D9FCA742EB0F64D0BC20FF0C7A765ECA7433820D0AA0C416D
3124CE23B325E84440EE2576F50A9965537A2D8378AF8DA2DB25326B93F68807D6FE
3125251A45DBED45FE728E41AC313E09B1E98DDDE4534127DECDA30528589B23CABE
31264D575F34346D0142B84AD90EE9C0C952BF67D04D706334D3BEE929AFE318F4E9
312742B5B7B9F5783ED140DD88C3CBA66FB93D605A16D0252822F78FCB375FE11CCB
3128A0BE6657101D19D38370AE8EE4C6CB3794B363E47536FFCBD994CECBC290E973
31291790E0C229E76B96F368D072A5411DBC3229305342B3654D962C496008320B46
313022FD094D0990BAF08FF7B8CD3B214C27E246BE731809425575B7B78FC6905EF7
31317F476C56DC2D466B3E37A8964E85F3E332599A6862C056CD8D6A6E5BE4A68D2F
3132BE01781FCB57630DA28784DD2C1ECA1B0F29D33EA21E1EC7D98753CC0B0DE8CE
31332EBC01607F748CBF09BE6B304B6A7C8B20A4CCE1F21B70E9A72196619B2885F5
31343B5613FBB6AA7828EE0DE066DAA0F7B37584E69D3846E4CAB40F4C3363E7CC30
3135F5C8497AF7F3CC55FF1E5E038185C219143116B1216E617CA3B4B2CD42E74283
3136B405EC73C48682A684ED9C4C3C88D6C66595F801C53733B844B1FF523FEAE6DD
3137EFF36D20E721C0E2990EDB17BC7E7E6B47B44B6CFBAE1FC1EC2E37AF4EA714DF
31382EE9258DB011C37A10167D70AE8E74941ED68BD2DC37A3A0CFE28993C9DB0149
31398C28EA049592F7FEF72BF3252CCCB4FE5D9E0395CC4A27E0AF50087CAE709C80
3140E16198740B6C64682D60644CF6982E936026833D02357AFAF505BBB4399AF5B3
31419B571C9CBAB1CB76146F11DB9C67E171D02695507FB58C02AF64A3F9A3E44046
3142215E511A29D9ED23A8DCE42E09F8AEC681D2BE52F45D126B05BF0774D61F8AAE
31434F41599D4EA851F298FBBAF954DD2452740CE664E3AB4F0A3A1D23E3D7A1FF95
3144A19E9F7C25618DF3FF44EA5130DD54CAD6771F05B8D8930F24CB7D51EC0FEA67
3145A6F22E6C0ADC4A53ED2E67BEF5621FF6EC41A11BCFEDE3DFF1E55520432F60CB
3146F8DD4952BBB002F5BBE7B326CFFF9DC25A9FDBFF6DD130E12D453750B02CFB9D
3147A8F7DF6AC43C7BCFB5CBE8BEE5F43AFCBFE1DCFC843BEF122EC34136FF9604A2
3148B187C515FE807F7501C0F79DD13A91E165B94E21F21F3EC5025979795A28D8EE
3149E8CF1F375E4072DB154BDF85D4A4DB6558C02F080607C5833A1234E63221E5EC
31505198D3AA4E28734996C848D09B52B70D7014877C4B912431BCD6F322E71DBF12
31517ADCD2145D1E57AB7485F8424431724E17611AA60DBC04464FF1C1F0DF8A1798
3152DBA973568222F20C665B28C93548C53FC4A80FA632845A15AB5EDDD225374A5E
3153E30CA81873184F97C0F359FB1633D9478DD42337023E6C31D3CF0BC861D5120D
3154ECA23E694C8920F87882A33EC2C796A816C32C8129151AE11F492142246E7760
3155713FCE2AB36097A94D72BBEFC2437377995B71D79AF8ABA3C7DE20C23F80A9E7
3156B596E2E89B18FFEF3E37771839E50C253D90E3AEF7BB4ABED3E92680242F1E85
3157DBFFC65A6651FE8AF5306DB5BE81CE0678EC10D256B22869F66CE2AB8C64A7BA
3158D995D50787848CA545832F287EF1E894A6357A35CA5DF2E6CD14AD95400FE6E7
3159CE4779C51FED4DB577E1133E2ACD0DE778F9F450777832650C685334E19449E8
31603388A7EDC1A2E8C45F11C10DF016A08A86EFD0417C0C368313C13C7CB6D860AC
31616E3C4D2909609692CDC68CC32CD8F13DD25BF2E9FFF3798F8626849A475A4F8E
31627D640B9AE1348ECE5AFA0CD99BA67E24211B729BE417329B705E0AD40D58A1B3
316360CA6264BE9A6BC3161A16DBC05025BE2365DADBE6C25A22E9503771B4E01844
31641737B8DB12AB27E665D176B23321BE58F4F60344746A140943A21BB8375FAD62
3165D4880707D784D8B988AF4ADD547B5EA2130DAB02853A77B923BCCB1F2AF7F3E8
3166CE9ED8CA8EE0764B91FE8E5EB90B0C17B107AF6A64FC51737FAC17A32FD0B699
31672AD0E4E5B9DD6F801ADBC455288F30774EA0F02618741F944B7E91828123EADD
31684AC58810C5CB85EA6C4C52D2D613CD1E3138F8BDB1AF4950CE4F5336F7AD8703
3169C0178F058CE9D7D762C3266F419E61B87FF82CD98E00D7650101A99921ADB106
317080BB85CBDE4E8BF9207852CCBE3E415E591B9AA7F51C630A6E818EFA57DF1EF3
3171CC6133EE41523FEDB4761D52B2C2366C2188DCFDD17610FE2ECEB2BCE883590E
31721DFBCA43E5C88EFB24788F19B1C893F3343331B8A03AB1076BC7C96F1DAFA16D
3173E4E2C5B0E12DB3115AD17D43453312DC576AF60E797F13DA12AB2BDDBF839F82
3174FB4F4CCCEA3ED3A3C4C4CA336644E9CC92BD9173A222FE465954469BB637146C
31756B98D3FB9952053804387743D390B807C5C16D6B26DEC3AA76EB39F6F520E0D8
31764D3CC188A9551F14B8C668988CC65134F561FA9ED6CCD6594F8E2B6DC8546C7F
31776779095AA991D32FD25E5E7A133DBA1FCBD74BC7B0EAC0F718185FDE400C2C44
31788B59991C9C1DD018F3902727EC317F7B28D28ADAEEF244BC3B09E010C290C8D9
31790E83373E1EA2357EA3162D613396A11D1C38BE31430A9F883C87EBE445088684
3180CD799FE721AC49AAEAC072130E8D2F2173C4E634CA6E69F5DC6E4E89E53E7C3C
3181FA380AFAF5115FB1000AA9A99791865EA1E194BBF52EB343933AE0A363697910
31821883D3BB3F2B5BCA74BF77AA0AE780748CC9DEB8F919594616FAF14CC038FB48
31836CDC991D5714E8CFAF29ED79F3D14B529CE8E3A72E8770C02C84221628AA110D
31847D7F6FF3841D4A13E188538760F8C276B50C43FC3A5A440297582ADC8675B878
318590EF08FCA0A37F34C988401381B30225C18C5946D56866014A3FEB1BC623EF38
31863E7B0F8471CEB9022545F3D90F2F21057CE945980EE45965F7C6AACFB71A8FD0
3187EE68B1078AC40E104ABF5FB58A5AE3DF8DFB99ACE094367928AAF1B85FBDE001
3188FD299A2D3243D0D4E1F9BF5639BBD7A96D502C48A5932056DE708A7CB88A8CC5
3189E352322A9E0E8ED6E05E963828E3D76B2ECEC872496754139B3697776C022DED
31909FBB8B7BCA4C1BFC078B1B4BB7E3530FD2DC2FA1BE263801506F142B686C6879
3191BB487A74B38968D07A02DFDD52AFD396E88CBB10933037B3211C57F25EE294E6
3192EB777130AC311A0EE1FAF898ED8F7216070DA8C51892E04AC47E93A6D11B0364
3193241AE3FB0674C4299EE3C4FD162F1E40E6425E3E11CA760A1AFB8D2E27CC70C5
3194615BF53D9717E0332F020ABDBB793ECB04B7303F40685A0D8B29A4E2C6167BCD
3195AA4565873E4A7E1AC131303800BB7E84F79AA98B7E792B8157FA38292BCD8949
31965E15ACE436C8BE29834F524552D810D2FB67017734AD4C03C73BD7C9841CA31C
3197ACB7FB3464E39F61016235DA61ADA8710BCE5519767276D2242B757B3B0B5699
3198935DAA1B4A0701AD24097B65D3769EA5E45508A6D2579A081F3173F0F32F1E28
31992EC97C05787A7BCADBEBC7A1E9504983E856E98145C3EA1296B9565998A60B37
320058BDA0A88ABF39136FD74EDD15DCF459489A567222871889DF6543CD1E90855B
3201ADC971A6640670D14D5A2C369EE753676755568A45CE78BEB75DE98FD6A6105C
320281BD69680D82DBFC86A39F5EADEDF270D9757F982699F8A3ED83CD8F5E26374A
320382CB21947A0DBB6D7A6FC4F6ADF6F8CE74B7895AEE7F0C951F6AC2DEABC3A5E2
320438EB6D4FB4CA828E7984B0758B60E93291FA65BDA41BDD1AD3C890860A1626F8
3205CA0C11872CB7C9E628A78F2E7EAFA7BF167CCDEEBE829BD3BD1302C0E4E37870
3206313601E5C5CF14454CA69B3B5F2A38DF8F352848ACEE5F1045004BDFC92F534C
32076E00875001F682FBEEF952CD8DA111CA9DB3031DAB0D0D8A71F41AF4AE7E9BC8
320855BA6FF6FAC74294E1DC5F047600D3E9790A434F5AE586587E2355C6BC8F4122
3209E46DA77C3BE64AC6535AEF02CA9A56C7D6A1525E565157FD5E981041BC4EF514
3210CD2DFB705CFD64C9A237EB0C2EC52DE80DB36049C5921791852AA9761B870221
321175F9B6F780EA47027FEC5DC776DE29E6E446F8425969C2A1A772D0F80DB2ED3A
321212B279D3CDE0A3FBD24BC2F2BC54D522EA256139EE9281C54924042C6EEC4564
321327B3EC40268A5A7CD4BA5D279A8AE7E20F3132D0AC3798367D6C65D20F3CF20F
3214E712E9D1C49EB2766BC242BA82FE2894B780773725B2BA465CE5EF5D246064DC
321529797C23D1C37356A111BD205AFC8678BA8F2EC47B2A4EF8DA50D34F075DB648
321644B346FFE6E7DDDAABF4386BF3AB848D548B2CEDB7AE775C2274ABA1708EDB5E
32173E67CDB15ACA37A8DE363BEDAB04E822A04436FBDA67C76A1A0BC48B71A1F3A9
32189EA7005A7F3939BA5B8C5272B7F11BA12CBE776981DDF6C614CE1A218973A98A
3219EB3147C5BEACC6D85C0218D399AB8E6EF8C7DA136FA18CC47DBB6C8F4CC905E4
32207EE6F5246B76FE94E16C95E92125BEE0E5977582FBC5321C4D1B50BFB6B8CB40
32216DA97DB9C7085D38A7371ACA81217AFE2066BE751EEA53269D66A21E9EB85A82
3222F924B6908295B8D3C2CB66E32BF4BEC8E5F914FD03A0229BC6C22661CA09E790
322379FC30E2A564561EDF97155EC22B17FC8C0E24BF95EB84FED35F15729BA9E65E
3224EB7D617822F3759FC4BE5D26B8A81A86502CABCBEB2821F31C81289487A35B2C
32256634F1915D079B2510CBAD6B8A8A310FFB89C3DBF54835E2440EF380D5CD044D
322679C868C8E19833928C61A638C12B14764C2E1F3EBB7D53F6488CCA64BD46B121
32272EF4C820F77C36CD60881000957331905C3CAE890191646652584BDC25006454
3228B7DD9D36CC5CE676CB05648FA49E0D4C40CF8A467DC3073F1BE6123231E4BFAA
322929D020A47CFA392063172C2D39388118D2B97A4D0B0FE56E8F5C75D5DA0670A9
32308518B93771382B5C9CAB5171A9B7E7BE3EDA56FB6F46BCF1D8A8F55E5DEB25C3
3231120AF42C35A47212F61223E0F5DD9EBBD071E0E454CEEAD5E1AED7FE401135FE
323254FF2515FE7F2AC181F05681230F2ADFC21480178265377C0B863766F3A89EBA
3233D5FDA711B2F2F7D0AF305603E515611515C03CE0D497F7009B15FDD3CF7B9BBB
32348774AF7295A5FB58326524CB2A5B2DACAEA5169D358F6DB97A059AF69368F85B
3235637689ABACE3C095B5B5ECBED19406A241F0968E82FFB4E8B2DD8895A7D05413
323635471E17B3121C46DFE1F3393302541C9589089632A939336ADD5B2CEC8DFA77
323731A2F8034EBB20A451830E33233330851DB80D558FE1945A08F977FD569A7097
3238DDC256C3BB5E0335A4E9FF1F59E458A23F4A8CC81A4A545BD85F86CC1E7DBAED
3239BCF58249BE18C57546F2A2CA9BAEF5E8D0C5128307DE9698591DCBCFF4A45588
32403CD844FCF4D1B7D546D66B6E9A10F0475CF8A4425DB318762FB207AAD6A3AF2F
324118F8B93F0922D3130F2F34E309B03F50AC68ABC8959061BB7B67C09A947D258A
32425B5B318E80062317DEF35BD7ED949C408CC920CD22D36D7C6033DF960D539E2B
32438EA682A180C37F04528FA5069858C80EF05FEE3158F8B16EA9C6D0008F27D0E4
32449301620F7B635E985141CBE37D546A349B9EB1F0C2EE079A0758FD2F034DEE63
3245A77F4905E3202EBFCBF5D9AF53194AFE947CF122C02F0223FFCE52C30C13ECA7
3246741D9FB2D337992C1200E011B9D2BE0292D632EA63AE091B937B00CA429CD6FB
3247D7E27B3C53133F3C860A0EFAC0C263822746022580664DA465C985EFA421D112
324825BD0B56DB824848F63412C8E26838415BE8840613DE90502764D49643990BF3
3249913E895BC87FE2D45134910D9F2AED57E244FB907BA1EE1782EF6A1908D52EB8
32508A0E35712798D4AA803C95AA6A10E4A8F537C1A1B4BA4668D04DA0C3CB01EF27
32512D2FB81322FF42743B00A5B0A8D406DE4C93A10C73CA28FEA7E3D181886E708A
3252D9C71530EE481BDB0DC7D5635615D2EA224398D73AA957D193D8D310C85E8988
32534F34BBE83B0937CDB02C06F09FE30E9D32611D7BB552F8CAA973546B52B039D2
325413C8CD65DF3E9220E12C475B486DDC9D1AE4AF17AB2B8BEFA630187D3617B938
325541721617F7F316402A65DD78B644FE2D3EC762FEF2F33A9DE36076FFFF7EE562
32561E1A2AA33889B1371F37AB9D21782745B0638EBAE39A6A91573F271CD97B1F2A
3257F784155AC7B610456C284BB92C0F1B3BF42B112F0F069D15ADD414134EC80EAB
3258B4BF36A66A43F756B609A29029C1A9683204FEA9B86F461555D654FF76D6DDE2
3259A4B043BFB9A74D49BCC0F7FF07AE0445B5000696547B96FFB3C200768DCD28CC
3260D168368EC0E5400710A8EB3320F0243E0F8A271FFE250A165AC3D0717EBE2572
3261379F61940798C6BA81EB5B295150DE6AFE2CBDF32706C489203D1D0B99114063
3262E3F46CC6F1E8D9885872A81C7D7ECE0E1D10B6A9C035557B9537EDC5D0012529
32634081E0FB641A94147642D1D1F09AC50BD39587C4FAAD1963151A42886F73CE86
3264FF3E369046B5987DC6AC3FF490B2412614DAF252DF71C6382D9520EC24C6C80F
326532038BB8EE6F1F0653D3FE87028748A822CAE716E3BD16B401D405F5C0ABB7CF
326676209DFE817EC80AEFBB6AF4CDA68F1A9AEFC7093AD38E31106B54F878D34C36
3267C05CFF435107489ACE0DC8F0669443BCBAD218BA35100DFC6967E8C5A5AE0FD4
326855A7B09E58547CDF8ECCF986BB4642E3DA6E5AAE8447CF15180CE44851BC5AB2
3269AFDA9162E3F8EE5345A84AE8353F0ADB44AC1209AFF4D937B5B797B348429D95
327026AABACED222D29F01A36108B86F4B1B5BD8AA39DDCBFC834D684E3903F209ED
32712573806438DAA3A2B46FCDB66AFF13047A4B1221D1759B6E69A80F09012F107F
3272154CB57D1FB3EBEDA7AA800F1A217B92A73A591A89DC43F2C58CC2D7A5CDF71D
32731DAAC77CDF41C6B305DB18C3ABCB9B36DE8522EEC89DC3B7CCB35B0AA89D1C43
32749F67A1E01AD73F77BD202D4E2520E4CB014F8147E0C01A2528E674AE656F8E50
327573148827D3A5C9CEF2C3B7788A0914332687E1468DE710546C7FB46E9D9BEE25
3276E6ABAB831ACE7B5B8CA4339C98476ABB2B51D6394C6C8DD3A394588828CD7FDC
32774194B1EE61CDC06B1057E8BC62594F8F223167CA500F4FADDEEDCBC99778B482
327856DA1E7B5C09D1A6EBC77D7B527419A6235438CCCD2112D5536B80E3FB85839C
3279DAE6F186D3099AED4817EFA52B7F568F6940CA90EB18F12E17B1E6942A12438A
32800E134923AE5F9ED242551FF8A746218BD100E7499EF45C0C873BE6AFBCFB2B21
32810D1355A6849EB0A3EDA9A5F7C7A1A42E1AE72CB34B7597D3EA0ED9348C49DE6D
3282CBD1F63D6FAE6E7D46CF0D67C4201CDF6BAD0E1EBB264644B90C4B0F670DD266
32832DFCD60C2B28F1CF139D373675F6F30799E4B355229AEA6486DED99CF690C0EF
3284A4DADA7E0E0AAD1CA0C6FB2F6FDC6E988EBAFCFD7A49DCB0AE7391EE980DEE6B
32857E63947C86B0B274A510814E5153EA73DFA9341796C27F88F76ADCEC27438B5E
328652E6A675FFECCF216D46716944628AF91F663E10A973F38507293C0D170B1F46
32875DB5158FE0288C667934D6F9574BA49DF45293D460A24A8DC1DC391ECBCF74DE
3288109B067AE2E26EF0B7E2D94D3B70C712A92531D9CB97FB8300D047FC81DFFC50
3289C86A58A7322DD04647D972236BD4B9170EF93C2C1E6779F26285B7C594244684
3290BA6C28A87ED95CB5AFEDD99E7035DB8AA7D50A1FDBC56507F2DB7A83E569F69F
329197BC7B84626E6C5BFD743D5B333447BDD19B1D5E8581978E6184174D46652F64
3292132CC85A954F7006FDB2E82A61E3625A18C067F82CEF40ED7574BE9C2688B25C
3293DC95E3203506A0A9CBB17125086E0F1098E3B79176E11BA65F055706568E9319
32944572DD5CAB0E4C50984910FEE5818FF78F92C2054A1B7C556135836E902BA3A2
3295596AE6A0D4355F8CFF05DBBF3FA66B8A7AEDE8337A2026893E03E65BD561E68D
3296DA32592C403464C7CCAD732FC4F3E827891B4CC9D8D1C3D9829513A93A6B355B
3297B89DF9194143FC8AB686B945D6E6FE3FA7C5096AF68CF78D2CC516D36BA30374
3298AFEA624B77D557F06DAD638DCA11ABD1839850FFE5CD135E28B939659F815DBB
3299465A8D53C87C8EDF1E9FEAAC316DB62E887D0F04ABE77F9A337855FB33E744E7
3300373316512D9BEF04FBB2995E8AA887FCE7F0F7BDAB71C0CEA58E944D58AEE590
3301E4DD89CEDA2EA32D8D99DDBD44567C9485F4BBA3540428CEFA9AC0F6BB177AE2
33026150A53365D9AA500F78DE6C04D5BD49B655A927FA217CD2DB0381CED30C03F2
33032912F274AFD2D3A219A71331FFB90DF76E0C24A157090BB8B3A9233E89E4AAF6
33043DB1591D03AA5200F0C73F534A1EB4484BFB861F323BE67330F9BAE3401FAA3D
3305AC07A2CD5D10816C4A88E4B31E6DC79D757062DF3B506DABE5BD33B319B7AB11
3306B92BA9C1C4C3B40CE4A6020E7A6363D879ED0884E550BB5AFF11F7328B25237F
33077CF530A97DC7EC462519E6D3EA80D32752FC08132F30DB72592F4520F10CEEF8
3308185123CEF67B82E8604380D41BC0CC65BCE6DE08EEAAB28AF3D3311E405579AF
330901077188CC85297C76D9341C4002C123C8F00362FF6478BFC4D1B7CABD23330F
331077B2706BEDB00F3FA8C33BF5F21211AD68FF3AC9B4C34F6738F2D41A6BB8CBB7
33118AB0806A424C01997D029B9A3338BE99CF8FE6C39EA2FA98FB7BCFD7774085D6
331235BBABB6698D60C171CF51895DEE35F2C56694698A8301E86E93B19D02C3B5AB
3313D2DB7BBE132843259C816E8795A19FAA736C0EAC5C487CB6312AE9E0748CD117
33143CC93892BC103760CAD3E1BB7BB548A78DA576C742DAA725DAB163826914F029
331530FAAEA08463BFE61B6CF30EE8F3DBBB6656D451A7D3DC90F1DC7DE683B0A0AF
3316934E0587FC22B99D4ABE58B46919818D09F74389CFE25A3DF25B3ED6C21C3EB1
3317538B282139B25CF35733F5840023E64C1662D2201F2875F0F08246A76ADB344F
3318530B619148A2BF8F7C6554EDCEAFE8498BD27518E2C7910EF47E5F9A85D4D8F4
3319D9ACE62FBFE34477E0ADB4BEAAC4FAE1DB32E022F1C9AFF04979EC82C9988493
3320D4A6FA585A2827A7399D8EE9E358376E67B9C9EFBA4ED3F30C98C4A2098C7441
3321BA86101856C3A60E1D0B1842162748E15163076C1300B1A59A8EDFF026986451
33229856D5DB23DD10046A42824F3953C87A67EE2D2F3EE62E8CD1512A4D18D9ADA2
332346EC9F0A186AC7783791EDC690F34D6308C7477C2FB5006E5254312AF4AB964D
3324870E218598F552C0F26D7A1299982A0578090B984C1F11BB5D0C3A5386BDB016
33250BD5D2EDB71D3FB791FF33423C6B527FDFEA50DB07C4AA8F65B9AE2D7079EB58
3326EDBFFFE5805D5E4D2D5DBE66F3B5F2EC864F69356976E51873EFD945DC5D33D4
332717842941F2861E93908852528BC23BD6FF56CF9094F9C80AFE957FA18225229B
3328149DC5C15F421799834DEA3260EC1D93CD18C4A75D20DD24CB58BDA9185A8199
3329ACD6562679E296B37051DE676E374163601F79685390D147A8CAEFDAF22D0BFC
33301858984471FF1690EA5916654BFBE10174B3CCC84F89805E609A61AC9C5CF960
33315BE2ECCD12E5DAE53FC55B77CDD2A9BA3592A007431F576C5DADF36D5C1427AD
33326189B8F415FAA1E38F4D04F2E8C6386E25C3BF311761D95F8688B68B5BBC1FB7
3333D91400CD00EAD6BF646785E094D3ECFB8100BA65B665D6F5E8E35D2F5C3B3A57
3334DF49B89D9151ECFF486567D35132F830E59CF04B8F38F00E9BD8EC4149591B0B
333526E4F598D58FB3315151A810C7109C8A77E9FDE6C0BF8C551437BFACB42464FE
3336842F6792EF99F600C66D1204F8FE6288F1F8259A8358B4CA21C1B82DFB5AA997
33379FD878D6864CA660BD89DBAE38ADF821769D9DFFDDB4946F2DAB422F33458D0B
3338999FE26D8023866BF38CC544129513D2B37665176E8B0F15C3554B699B59E1B5
33399EB0CB8A0CF137AF32A805821D2F5EF806D9DDE968CEA58B1DADFAF0BE960B68
3340E124580F7C3BC4089D9865D0971CC45CE74868C8122CAE43B57E58A5A862D5B5
3341751016CDCEC16222435B5E823F121DFF1D88245E745FD51F4E971DA916E6C8DB
3342CC1B15755F72F5692A2C47AD1967E812F21563CF2A0F8274289BF22405AB8158
334373B8BB9AAAF846691CF20B058B800FE1C75D8FC586FBF3BE85F1B87073565DBE
3344FC1DD2D7C3006FD775C2349DDF659D05224178173E8A7AF73F982C90750F8356
3345BD2BC9AFA1DB2007B89D6387A97BA32AD4FC4BF559EA5FD2DC6412E8B460B251
33468A1CD242CE0BD3CE22A7F97834BBD4475E231794036D0040A8EAE9ACADFAAABD
334783EA88CBF0BB9CD0C3C60F5379FEA1FF57255DFA6CD97042BCC0C9CFF68E71B9
334859E6080A165B650DE75BC264B113A3D00EB5BCAA2F4E7B2F5BAC3162CF23BA3B
3349E4C2D2AD908ABE5C63729DF4CAABB6B2987483B8BB39AB836B05E30B2AF3211A
335065CD7280C50427159F00E27094F7DF1482A0F5C11ACD1FA25174C78BC44084FA
3351B83A8153875B85D1DED601875334A8F20819A018D1F05EE6D840331DE4CF5EA1
33529C1778E223D44F8F85D20C5D8B5B6EC8CC1773B7072122BDF4C41E0F66FD50D3
33530993E010D9DE243826BF3791DF41EF81B077C095BAF5A84D44AE4EF6AC3B5396
335432712CD96F96C4951D991765C2A80D4BBCFDCCBD87EC0677787C5DA8EA93F859
33558A0F9B2B2FDCEA5A22F19F0050EC0A6A4A1F164DE87F1F29B6D49A58D71EDB77
3356A1E4D554685156F111E288F0CA0919364B7378DF77BBD2FF9EB451E106AF3279
33577982AA2A5A87C95D170F2CD52A37EE49193CCFFD6ADEDBB09A355B76C351DD5D
33581A345EF1AEB6AE1E0F97F775214137797E433D351A6DB5B7111643C283D24181
3359D0E270296D43E11375325C95765C3C5665260A6DDFAF7DF22D248190C525946F
3360B6B0ECF3175CB05B3FB54AA3629F910573037B8FA53F85FBCF6C702E36293661
336155E05060813F639DECA4E473CEC7B7542AF0ABC91F1A51B07EA37BBA4FF366F2
336288689B2414C8F2CC0E18C630B2DA735AAB8180F58A551535C34ABD8CCB1093F5
3363D933E742D3B702572F06EBE5D60DA7AEE103E825868D663044338ADB3C9D1899
3364D9974325D740DB84212971625B8E379471C5C90AADCF0A9AEB1D2D0C092373EE
336525F02A57DBC7E2973CCA7A6BDD71B32D81E970731F6B46436EC5DF7971150881
336690B48748B0C9E9BF661E3BF9BF428254095BE013C649C2E99CBE108437E64185
3367EE4EA13FAAF2C823049C9EDF27B5558B3D94E21A246CAC4EADBE7E31AA3BAF46
336815EBBEBA067037F1FD1EDC9F9488AC031AEAC11EE61D9ACAFDCFCB2451B7D944
336989F148028EE70BF5550474B8C34474A38404E53B10C0B770619502A2DB4138B2
33704BA812344D3D86C1DD1FDFC25507CA39CC10BA327B7188B30177D2B49DA94740
33718FC3EF502B0B535BDF4A81DCC8B0FB99E9117351523E1ABFA0C2879EBA5B374D
33723CEE4C80264717EC5073908F8E60B704457C3F0C1D32A1B61E6F25D08C36C051
33732EA798E6BE78EDBAE978E9F41D87446F0D3F724F1BA22895465D091BFD8B6E7D
3374BB3D4EFC2E8D59FEA35263C964529F9E0F1CDB2AC0DCA9BA134461602D22AC2A
3375CFEE36E15CF4CE30D74BB5A98A96AB6D31E3D418797B2EBBBF0ABA03F20DDED0
3376B437CF69A1066F5EDAD9C21DC18BC390E0DE088B82EEFC23BE67EC5EDD0BFAB4
3377FBED26930AE2185C1FAF80B9596416522B0B615227330FA99659A375F261FFDC
3378FCA94B360DFF79BAA8E856DDCDFC95DFA4F0778A4F4BD99BC43EF344CCE1FA95
3379F0E7C74A0E38AFAF9AF2F7A4613E8ECE116018437555CD00451A28946AE8196D
33803CE6273620A0EB981DF43395E52FD05DE06C76AB5E8148BEE6A6AA07C945943A
338106C90FE2F5EFA4EF1B6DE6BFEDB6B673460D4B55452EF438AA0ACF7E9DACF826
3382BF1C7EFD78F501EF65D3A77750464EA1C36BAE51DFDB1F6ACFFDAB646297889D
3383EF18491F4BFAA9C2255D6D66D6E975C56436FA1291424C3A3FFB833285EB6118
3384FE8AFE03F16A8C99DEAD2E987B97B9B6F5DEAEEB3418FBD95B0E0F8062D8B445
33857AF2917A3E50C1FD2CD917A4DCA5CEB841A393F12716FB067C4C431D3738C4CC
3386616FEAE739955EBBF2388AA113249FDD3CB65614972EA2ECA678858EF2FD5A95
3387D0161F05EBB9F859D155E7FF70B567BE42FDEF8AC8FD584BD6F3848121E02397
3388DA00A73E52025070CF6D6C44CA0FFAAAA6EDB678306A3CE8D469F94B4511E4F3
33893581CA8695A0E5BB64116D8DD899837931DBA3862B69B38FFB6CCBF1D6199DFA
33904801D1007F9E4CF391406F0AB61352D6053A2C3A38BA40BDB894EB7EBC2DAB34
3391BE2E082037DC7BCBCF8DED1852250412F6ECB9BEC20A04FC012D2F97159A979B
339271E19442DBA788E65CBE9ECE846FD307CE7103323FD49AC37565FD450B5B4662
33934381EBEBB98186F7C6DFDAA22AD161B30A48D6C8B233158A1EC56BE74188ED67
3394DD8937011B01FB6F690B6EFA7C9416561682ED59D6067CF28827291915878663
3395A2CF19D86B2AAD2476F03A1786D6072E9E14321CB4643C3586D8D3378E12CCE7
3396EEAC5BF5478783F5600A46BD929BF75E254F5B9991ECE829CC0DA99C2DE73C8E
3397A1438CFEC618F8239FCBFBA63C3CC68EF3C84D492EF39E428A4EF041FC7A034F
33988DBF169C96C7AAD7EF572EA9D8E7995AE9B5820918604E0245A58196E870C92C
3399A4269B9F06A7945D516A8C1F571D2C658A9A95D02935628CF61C7E8E099E96A9
3400A0CD9F497056AC91DBD40D589F463DFC63B665107EEDE9A7702B9002A4839612
3401FD9B2CF0ED8B9E899B8A311435081E387998496097F860C70B0856217D31077F
34020628139533B6B19973D86231548E6D47E7167B1475063B8970391B9D1622D8F1
3403CB1B46509E78AED81B437787B47B8711712239D43F2ADE009EF927548DF663D2
340421E2CB3AEA75D642BA7BB2DA3AE9191BBB1534EA87AF0C8BD688A01C8AEFD429
340559453063E34CD9378EF7DC4517E5007FF110C2AE71504E3BDCD9EBA1694C4785
34065A4022233893F25684FB1B5FB3967FDCDA0E19CBDFBA7F4AD16E91B798F38A0D
34070D9382A1A371236BEC93664BA5C5F96BF93FECF823D8F11D2BA4BD28396FEBE5
34085A65BFDA938F6D476F3D850A6A9E0576E82C72F0177076866FED31245B67B7D4
34092C09118B904D86972671B7F202EFA9FD9510419FC9589352E6004237B6140EE9
34105677B11B6F16C881CC0678BFC2A47F6F4EB7B86D424A28AF414D5D14AE8EB2B8
3411CFBE634D951E20AF1C2E5461075CE0120C4C28AB55B3D1C7FA2C8DF5FDA22888
34123F91696288A283879D31036F9A7B0F1627BD7D3B1830DC3EA77BD4BEEBB66CDE
3413AB448B52C9B7E44DC1121A01CD198D6C53E84117BB796508B053D85567C8DD3F
34142BA6C3EED05EF6CCC6FF9A6BFB1860B6E302982DDE2068781C15473CC0BA8C30
341510C7D99F3CCA2F31CBF0994DB5746F78021809AB116E7686907AF69AE07269C6
34163633795268FE168619CC3BD6CEEBCE16566E581FF7E2EED20253155807B7CC5F
3417E3C3CEB9B6610CAE9A6CB710B84DC00E6E7D4F53A0F82FA4E9C9240578DAD3BE
34186FBC79391DBE1F06569C0D0DF69CEEB4C47C1C839041B828D6B8260C29009FAC
34193A166A6D04B47E4EC4C57EFFAD93596D486FB21E8CCAE06BB3BC4CB8E191B3C3
34205925792FFD99715ADFAF58605AEC477934BB2DA781713B740D3ECFB6903B9D0F
3421BF0DDE2FBBC352312FECF74430C923C9E634CC8887973B949AD5232B0F674D52
34226500120AD24310F078117DCBC671F4C7885313A5F5579A639127C830A4BCD859
3423832EAF9236FE60F0BBE3DE38F19E55F7CEF8D3CDB218A63A387A8B4F2B12380D
342409D39DBFE2D8C471047B36549DF83B517DD57EADD7B34476DA3974DFEE987759
3425AA1E2EB8F835BE740FDB2DB6D5118E9082302065CB6E91A2F3C7B5657F12F842
342689B702DEAEB322FF63C34FDF5293CFAED441F7692B5FA225EDCF155BF3105E48
34277E6A3A99F68C20F5499CB9B26B5D7E915175F17B6D9D2B012906BFE07EA38F28
3428EBEDD8E34246A7C6184FEE0E4CC01F5C6F8970DDCF67D3F7AF3E64E2E0EC0F85
3429363953AE8A29969D71357EB11AC7E21DE2BE5723E8416A639ECFEA20D0042D72
343087E92A6EF2027C1C8ADF7788A169E06F50268D1AD9012DCB7965F9173C4995A4
3431C1264D0AFF2A649B8DB2F0EE7CB5F74E0FFF03AB75E2A32BE4B1D4261EA69B5A
34327D0A4625CF33D5B9B13439BA2ABB30AB399211A7FAEACA25C721845795FCE18E
3433C752871F1D5B2E8F42FB13E785ADF1612802979C374F124F1FB8F85D328F3A09
34341987C577078D35BBD1892C84DAA254000DE099F7220375BA244025221D83AE07
3435767160AEB66FD0D8A9D1D29A68836F837C8149C2402C6E42C7AA1E51DB4701C8
3436FF47C9D9B89191E914C0B5E2D464201C987856B5C8347CB567E86F2B040B6B4F
343715A09258EDC942844D997873259392890204CFCF0DDC475E846658E161204272
34382BD48A1032E05D73F49CF87C0B4AB361E0A8087D5BCBE2F1F4068B635BBFEA3A
34396595BEF5DF4F34F0375C89AC1F42D264C16E61B4861250873B67ABF0CA8CA846
3440ED91961EF609560C74746062DCAF92A8EC4010BC9FCD79D7DBA48753F02363A6
34411A6BE1BC087E48C334DADA1F21C5BEB5C169517D1ECA54FB284C9919532BEFFA
3442884961384205AC450A6329C27678C7AB2AE0BBDB3378F9F3CC026C48413B13D5
3443EF8C2AEC6F34C44B7BA04D71971C62BE351560798D2FCA419BD75ED389044AC9
3444E62AE8B3EBA2CB0826DFFD5D6270DD802CEE51E7C137217EB34094B44846EDBA
34450FA5BDEAFE7DE979FAB20CF48B28543AF71AE789D3CD910BA237E6D292C9DBDD
3446078EE3101F557D5403ED2F73BA84E97541BAE26673D53250FBD8B67B16CE6682
3447CCF3EB4DA7889B718063CED7EF8D4B97E12EF318DE2E0C9F5B439B85B038D979
3448B442A57E96C0E0D3CFF2352361978F71ED74CF86738D0F8AD77ACD20CB9B305D
344952DA163086C39FD967DE099AF9798F59006DD0BCC8508410C13A626838192AD2
3450EA130256AD24CFE5A1605C1F679CB7D030D76945370A7C2E6B045608CFE10D55
345119C6C9A84788ADF3EEB12D9742E04CD0E4633FAD0EE1DBE291C13EF093FB4C8A
34521BD8693178646959C4C9EEEA2EDCFBA5F31896B86636933A6F7DC43BA8196F28
34535487F3259CB21448E37B1708CEB1E1651C53BEAF0D09A17741E2B1B7870B431B
34549AF492A59351A536E15167D5F5E26BE73D66405775B956653D2B5B23A0B29D43
345524A5507583E35056011CB334A7FA08FC5BFB50819FC146515A069EBFD291C5FC
3456E0AE26EA930F5DE0934EE1986AFC357FFEBF99CA22AD12086542E2DA9C2F3157
345739F1D7E591F392304DC264337262594A64B6EF4F9741D034B2C291AD19B7F13A
34584EBFE6A338443914BC6B81625C7140C817D39436B6AC4C2908603CC8D4642E52
3459CA7A0B9CD1D230BE607A5FE89771E21B897F0BFB8C7A1315B554A4F036F8F50B
34604DB04A6FB17F9D6F86CA00F8621E2216683BD2BC4668091700BE1EDBF9377C7E
3461A94482C1251D227466ACB8BCE5AED8578F0A4CBF78BA3D909D9096B2CC7E48E7
3462E346355C3455C20A80A93F1492C285C427581C7D10A5459FA997C96F9F51ABA4
34637D28A48CC9E59B8D8476F6A3AC1CBA05DEE690F33E5A75C2290CFBA105FE38F9
34641EB9E309AF3F7A1A44273B2BD0FFEEBEA9ECA9F60E4008F83ACD56078C698C8C
346595BDA63B876CD63990B23F1EF7E4B6FCAFE47C62EE9AEF014071117FC1851F61
34662514BEB09DE651B7AEF1716B7D4C49609F125050559DCC289D410CD59B4AB0ED
3467554449BF070327E9822A863430F59444AD4B6B91C88A7DC58FF1701EB2CA81D7
34682DBA5B749716E09CCD9CB8DCF747546F24967985F4CC7B052FCE186DF5976864
3469F465517D8F479192285345CF7401073D5DBB5878EC2C6DCD11E94A0649CB320A
347061CDB0D6A0AE01F4CEDA46094F100F58B7F7BD9A1C40610B5B2C08193B3CB9AE
3471AD7BE2796D9B40A9602282EF0DF395FC8A27CE9B880C73A7AA7B9498324669B9
34729BCA199EBF63D883FDB77ED213A8FD450633D1DD9AAE6534E3672F4795F49713
347372C1D053F5BFFA6093FDAC3F7527426740B53193DBFA84375E2F697ECCC2AF76
3474C8CA746B032C293989FB9ED210703244493EA7C3A01CADDF218D3FB543DFA5BD
34750296333039C5AE67AF1D3FB1491E54B4631B65806A30B279AF8F82A8222BEDED
347644A451B84EB62FF653AE3C3C1FAE373FDFCF5EC38F6736518BB69B250797FA03
34776D4843E535F9BB28830230482FC058A1001E061552B4E00386F048883BEB18AB
34780F1799221D3AB37963487BDBD9B298500606512C282DAF37BAD73D5402252F47
34798F30C91E42B4A5D2F2DB3E750D3189CE6613EC3DD73B055C
34800000000000000000000000000000000000000000000000000000000000000000
34810000000000000000000000000000000000000000000000000000000000000000
34820000000000000000000000000000000000000000000000000000000000000000
34830000000000000000000000000000000000000000000000000000000000000000
34840000000000000000000000000000000000000000000000000000000000000000
34850000000000000000000000000000000000000000000000000000000000000000
34860000000000000000000000000000000000000000000000000000000000000000
34870000000000000000000000000000000000000000000000000000000000000000
3488cleartomark
3489%%EndFont
3490%%BeginFont: SFBX1440
3491%!FontType1-1.0: SFBX1440 0.3
3492%%CreationDate: Wed Sep 12 2001
3493% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
3494% See the file COPYING (GNU General Public License) for license conditions.
3495% Converted from METAFONT EC/TC and LH fonts:
3496% ecbx1440, tcbx1440, labx1440, lbbx1440, lcbx1440, rxbx1440.
349711 dict begin
3498/FontInfo 6 dict dup begin
3499/version (0.3) def
3500/FullName (Computer Modern Bold Extended) def
3501/FamilyName (Computer Modern) def
3502/ItalicAngle 0 def
3503/isFixedPitch false def
3504/Weight (Bold) def
3505end readonly def
3506/FontName /SFBX1440 def
3507/Encoding StandardEncoding def
3508/PaintType 0 def
3509/FontType 1 def
3510/FontMatrix [0.001 0 0 0.001 0 0] def
3511/FontBBox{-218 -316 1652 915}readonly def
3512currentdict end
3513currentfile eexec
3514D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
3515016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747
351657609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9
35173894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4
351841C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E
3519ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F
3520BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0
3521C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508
35222666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C
35239A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215
3524EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1D9F9948B28E5C
352588B31806AF1433ACB13EE555D069E50649D3C93032500DE92DCEF42B7487E4A4
35261ABF7F6C8F177A4CF5776AFDE02721C8B9F69A7CA769B2466EB4501A7E5683FC
352758FFB0982039E9154719C1C110840B2DC207902F8EE3E83464C763A03C52F60D
3528D7194DA5888BCAFEECA5C0AC8DE6DCA956F1D0E6AABAB6E20F7B64BBC9871543
3529D62E73F596D732C3A412E916A3EDADAC745BED5D2176C14AF05DC28DBEF5C944
3530FDFFD52D98A35990F8D5FE21D5DCF5C9900FAFFB698C14E56B6667CF8734534D
35318698ABFC9B4BE68E86CC30704F0CE920EF1B2B0F3A73E6FB24B20F9702ED522D
3532C0854E870B8B81B62B48650AA5E74D2F06FC2BB2E06DAE38B8F0D829E2240B76
3533CB76085648CBE820C02A50638D84251325835B79D82034373114FA691B029ED3
35347E265B00258A76B193EC155C0A4DE5338B95073EFD9CE428E8C7D9F8CA3819F6
353559291A239C1CBB8629179F79B794CC64ADDCC520647C90B2AC97E3129FFE6A47
353671E86300F2FB20F2CE0D6482A2F94630EBE822C060B15F1B57B51C82D4AC05CE
3537B552810FFF3EABE30E288BF601AE1003C0DCB4B555167DB1E6F4004684B76258
3538726C1DE83C45C8CFF7EB05B68EEF717FB397BEC159B148060F15EC1B9269A780
353956FBBFA94D7E8333173E4BA3BFE2854107F555F08E9105A080F1DC512EDC2A15
3540A74776E3A18FAB7C1F64921B8A976D7E279395659E0886ADFECDBFF558F1E4CA
354170E9A40AEA239D0DA342BBCD975C13315C3951A6527B3BB9AD87064C0B4A3C2E
3542FE1FE92EF6EFE9DDA2D709D94E00EF85C03F169FF99CCABCE91F2140BA287866
3543E237994F72E705AA7185CEB4BE424923A196FF49955CE55BE7066690E780E3B8
354476EACEA86F719D6327C049905B70F9F72252A06126C8B4A56669AE182EF98465
35454059FA3C23B13593FE6A5DB1C5C2E7B9BA528C4E0CB9D1B93019A8E265824344
354686947FDEE9A49733A27ED7F51ADE0FD2A113DD2612350DEBB93EFEDAF6F39C6F
3547ABA7F3D9349EDAE7EEFC31F9D510418FF169EE4D6B05905B96130EE6FA2DB817
354849EE49A4F4C49FDAF4F61073438D53D676F5D5ADA65791E20C3E433BE062BF8B
35499D022DE963F8DDA6A8CA1A304AA20C31A589D07090EDDB762A308F74E12C8424
355024E029E5AA85A8D7039EB206F025EE75EF233DF666CBD0FE4F0C4106E016CCBC
355173C481D62BE2CD71103CC54D60E4E66AF7CC62795466A3E7B1A94AB4E7D377F6
3552B7BB47F307D72302B8F94274D83EF5C41C3C5F8114B46CCA0E57EB32802E5416
35532EED9743461D2D1A76E3AEEDCBB9185700010921FBE9A3BF6AFBF1942787A468
3554FA39B093E080B08F124A61528B5C6434FFEF6D68C98B9F1C3F5C60ED024F57E8
35552DD0F836312FA51F866D49187B3E2A2915E0454A4AA688165089897077D8C442
35563D10F8A2CE50554183F312A7BC87D5C3EE7287DA937B474209957BD46971F5F6
3557EF5B5ED47CD8B004B57C3F8810014C31481600E2BD4D7B418A019F3A92B7D92D
35583BE4E7795410423165EB84744390FF2A6C0A69DB32F2039182AAB2696F59551E
3559A794895BA40F8AD7CEA83C899387E2A5C860D9EAD6AB9E2498BF607FC96D2ECF
356092AD53351FA9A291FC9CC8C8B191298B1DE626D05C96A5EAC0693CE5DF610DBA
356135BE10A0BDC92DE2D075CC9EA0B352F70D344305DE698B13F0EE51BB8C838848
3562058B25DCA0273105F11543E86C215CE9B0DB507A58B5B98FC3BB678BEBCDFB46
3563C68793400B20E042BA55E2A3356EAB836DAC4800C97EEA153A44CF4C4C0FA45C
35645EB8C4C9824EF4E9CF895B8BF91443591A8845AA3D9E7850037241E18CC0FDE3
356514BC8E0ABDFEAD85B5A4BA814CA2B258558D55DB22566FCB135A4E492B3816CD
3566777C55A00BCE19F67E919617D5FE5382E07A0335AC8324405024951654F4D037
3567DF90A94D5F72455ED72162D199CCC38215CE324D0488F9574E6263837E6C89C6
3568B147D972BE838A53674134236CBBB25691DEE7635631DA60F55432929A1C0816
35699CB9C24E2062F345A33653C64546E560F1515876812BF0CDBB53AF8F8017D43C
3570472CC042D06C6CF00D11367B38D977823C021047D0CA9A4CCCB636E923D56791
3571014712DD21E2AC4B36F2C44A99FEE02231973454E506A7EDA19FF225BA338890
3572C5E4C89C600A19B44DAFBD70D9D22EB3E9292F3ED47688F7DDC03516C5EE15BD
3573E294CC18F968DCA42CEE062184CEFC151AC9B70B321CE632A9134E57DC364AEF
35748D56EBB2809C91FF3FD1322AA99B6390DD9AA79B27397F787290D7FF8C677705
35757D96CFB98975BCEA1293C2D4F168426A80EB406A67AB1E075F05481E39E7D0C8
3576B621DCD49E8597360265F1D80A2EEE072875ADA58EE90965EB0E987C0B3B7917
3577BA23FE14C2AADE06B13BD007E3776FE26688D3AE88D250DC6A85C3FF736F7D09
35786DC25761E86AFDE134B1223D2A02F6922A1E6C0928734867CF629CE465DA20E5
35795FA2C6A6B1F946BCB7EF85045B2B1E29781C91E02F43C1D0E4C1A6F0FC474330
3580D5548FC854AF646F86F1A125516E25FD221A20181680F53ED87DD09D744CBD3C
35816576252E726D201916D593A35C00F1073FEBD4D4A0A76151A9471489A27E9CF6
3582405EE4C86F34E7E66D3F9AF497C0E16231807435E72A74B9B5C4BA8889012BF8
358340FD65270EF8EB3A1425BDC5BCF4C85CCF00A1D59BA4667982D2224354EF7FE3
3584F3841E13D4F36E015D90333A175C8D8DE89E25D510AB158618CFA2D579FC5C30
358527341ECBD768AE5844558FC1C5B080C962D5D7BDEACB02BDCF20465A8A79F72C
3586444B2D7915D902725939390051529D3A80BC3FBEFCE09EE1974F6CA604752952
358732BF2BBDD15216C57251A94A2E7348F3DFB5B8FA36670B1438E6A168F565A5CD
3588E781D8908FEC9886FA4B0072557C5EC4D1F91FB39541B8757874D2BE4842AA01
35892D8F4F735C79C8251FAF27472437EB991C97AB40F7A50968EF23A47A2494352A
35904EBBE0BE0ACA51F2AF6CE3C6EC2110159D662590BA16F111B283D212732D8DAE
35915A86550E0FC62990F3A8774A6880960BF2869E3CB846CC82BA6CA3B20B1E56A4
35926BDA417FE127C21585D66F95FAF7D1E9752C8D3B41E0A123FBBDE22F8187AF34
3593646FEBD88F13134F93BF24ACB6FAAEAE69863F1B01521E754D9086BFA198297E
3594D08DD57201859FB92EA58FD6661205683F9BC9C74EE0BC58AC36C802A06B3A54
35955B9D3778C5DE154C7D677AD25547888AA4DA562C245D9611D6B9A0F43D1D2724
35963FCA3AC2A85AE8B0F4C743CCAA43EFD1439B4E4F0634451D086A7F44262EEDB1
3597754D92D4FCF6767209C3DD2C4E988752AF6C7189714F48484F0C032E3F0B911B
3598A2946D40D26538C0A2FE6FF83B554B290734A845FEAB6923FA5B4BAAFB29F046
359914DDA7052FF516185055E36717092CA78B984ADD80D97CF969EBB7BE3D9AF57B
36007CC30B6CE0F4A20B0352B2CB4C6D9B48624A4E81527F6BEB58814CAA58557A3B
3601331EA44FA926093CEB9775B5F46CB4228D472AE283F5507F6A97549A6281584F
3602024023060F377820DA5991797492318B4A7FB9BDB94221EF653D3B19FD733028
36031523A24D3FE3D8A87EC7D1C2012EFA8553B0ECA1E53FA0604F07F199DF340E05
360478AF13C8BB4B01F056552345D69417AF66307EA431D1DD4AC2CE36F0C62099F2
360529A909F8C89D2FD614D0A1C73129BA80F98D57358C5A6A2BE8F779FBFEC09764
3606D216BE0194193F12F5586AD94A9B7A7F52C5226042107AAEEDC19442FBDD8350
36073D108C1D2A535C76F2015EACCDA0533E943977A5952997A76EE71BD8315FD944
36082C290FABA1C9270D3BA6137B67316819E3C86A6D4BC4D1CA6AB363C5B025F48C
360920EA921AF6B8A0FE01D023CDFD9F2FF79929CAA374AA5BD5B16A244B6353F10B
3610AE5F4A5D720BBACB948F8A484DB1BA09AADF05EF93D978075598F37DF29454BB
3611F727ABA4802F0818924031DEBDAA8BACC3A9198798B7A3A82E3FEFCD34A540C8
3612FB9616F9CFCB7E8EA5467758F590CF4C75851E8ACA14E5FD6BA44209BF5E3A4B
3613A9E7582D800DA6B4E644F5AFF9BDE1D94746B56099CF4C69DD98887B0558D80F
36146AB73672D36BFF375543122059CCD4972FDD5A13226B636F31A9670EB8ED6BB2
3615F154C62CC43CFC0992B53CED0B6E1698FDBA922439D31B485997AF2FA2172F2F
3616A52264F8F41A202FCFFF3D4F59EE2B52D2DF34CB3032D235AC8D305F677FF348
3617E8ED022BC8896E1F0D19DA566E1A005AA9FF5890A3EF59251992896E2DACB179
36182DA8AA542CF25DC62707F8197943268BF6C4EE974A29E11E616206524AE42399
36195F527A2F37D55A4BA4FB7C83E095AE14BC3576B74813C32CAAE86DA2CCA4CA4B
362067BDF25AD0563924032DB576103CE40DDC83CCF7770E6E7C59C4558FA322B3B7
36212F00014A634554C3C0157825F1BE1F15AA3302B07DB3D998AA3DF32558EBA96C
362217EE5BFD98C6F798796C3B32AD100A7AABBF9CEDB3F956010D4F44273492DDC4
36233003C0E99AD88DCA692BB289A3160110CD44E8B9911569BBE5859C5D5E32E767
3624BF3B2DCE86D087063159E197F46AAE7CE33A000E9606C7FFAE669141EEC6706E
3625FB1092E65F6D8D4DA45DE6FBF64947CFB2BE1DA039D5234B380545252B0FCF63
3626F4D1AC55E1D63AD86FF3B1EDE08D8E0531224B173C3D95DDEEBEF6C21F32802E
36277B644F74737BB4D418C8D726BD0069D63A29995C8F1A10B2C2DD83360B845F8F
3628777B7AB59559AC79BDA3CF37ECD8E5A8A722A37AA9E2BBAFD0DFF297412F05BE
36290ED66AD153091804325EDBBB42CB75B6B0387037465E8326ACE6F0EE58D3E084
36301829EEF6296BD35F40ECD773CC32F9177051B66626037F2EF8F72D3E8810F44C
36311F90A29F713C4B6784C28130E159196D62685E0BB74FA8D305566BAB9535BCEC
363211888D480C4FFBAA2913871A921E3786DE1A12257A2F80BFB32FBF06EF866BDC
36332078EDA35B3EF74B76F7BC2334609D8770C72038D2441924CC860D5D6ADE6ABA
3634C1A2B9F1957D2BC023287E0586C1DE490362FAF9F6F9DC2727A6C59FB2B5D964
3635FE2285E31989960E6FF2AE617BD0942BCA05F9EC6EDDC6AEA463308DCF934F95
363647239ECB8F2E788BEBF2316DB4434CF4778BA8A08F81174FFBC7909AF179689B
363720B21F6CC7A175FEABDA80C9F12A93F017BA002DC0100066E149089669FC652E
3638DC347D8345AD1FDCAFB9194886DE76368C58A3A0E2B7EE5C291BF7DC9D492ED2
3639034880F94B19FBAFCC9140BA35F609878F63563690FB6616CF4F561C0F16F1B4
36400123114AF5F6119F3E31DF844B80FD932ECA2B1FEFDE6DF002F020CE5552EDD5
364196640576111071F9842E588E8A53FFE7F6E0C73B532238190F81728C8E84AA50
364234CA2A83C89317C2C12E0849D0730493F2B71BCF385A9A7F1371490BD74E5555
36434E8CF3E58A1F64F68659A329118D5AE4A04B529CC5FF1D10005BAD9127E3DF9F
364489CD1DF2EFBC61DE2167A4EAC0BBB553D2E25F739057AE5FF0400536C96ED9B1
36453E2D62C6373B30B200B46E02CE575D7548424E8A62509515B1F8D4A203B55606
36463CABDEECA106FFADFC82AD0F108B53BA73F703D0EFA348DE07C687E6AA0A1A6E
36478D7EABA86EC05EB9182E8CE99206EC7058C6E834DB285C80DB394CBBC16C8D8C
3648BF96C549535FF126795B4815AA6C81BB02BDAC98F463F9F2DB713F617DB098BC
3649D2C0A21B60BE57B6E9FC564DCEF51473A34B1180C87FDB21B1106FC1AB1434BE
36500F486BEBD3ECCB35189CDD7CDE672342B98C8B6DF5674D6A259A56F4C16261D6
36512BF54A98653BC12D34082E154839D2D146296AA6AB6EE175A70D1B7E169CC492
36520ED7DD0EA7E721B24437AAD1B71850694AE73296A0548CD56785013A5C6A7C57
36538242F9C073D5C913A9DC12FE9C7A00AE3900BB5282962120BAAAE8825552418B
3654A6EF605546465D1D51CF44DEBB3177037AF0A01B8533E61CE4EDBF519D72A09A
36559F65D4BE9EA9D8BE9CEABA2FA6652BAE2A60CC8E3DB2F96FD40D8CEFA73AB0C9
36562DE2D075CC9EA0B352F70D3443024DB75306E86948992EA2F55881B9BC5D665D
3657E316B46FA1C7B9BD37D974AC8B12D710E9F234815612041D65F7AB542C1FFFE3
3658D303687A70056A21792FC0CAA7A490C010EF2354760171613751436F61169344
3659F16D65F08323792D55018D00466D467D451A5EA9CDAA07C11E9848171A2060E1
3660F47F0B7609CC7E46B115C9D6D6FBE5DB269D6C785041CF4C252DBB92F6103E5C
3661F27544A9A4DA9C733CBAA2104C13D509344199297288159243942BDB4B57EF7E
366258F7B026929CA4D6209472C58851280518BBF10BC64AA63302CAECCC09C46AB1
3663192DCEF6D7E7BD3D0CA4E480D6327B3A5608D50778A51145669DA65C070D9E60
3664E0A797E0EFBF9FCA57130803563596ECE28F6C40CD614F18EAA944673BADB4E7
366520E5D872AAAA47A65D325F70930E8D7DA817AB20E2F5767F2497968B6F19CAE5
3666CA70E18DDBED0789AC6FA67A329BFF8DC7D9233840841431FD101E684692AB6A
366720102DE05AE4CF51C7AF1347F5A1C8768CBEE53402787A22BF5DA37F4B3EEAA7
36682C0E4537AA133EECCB6D285EAB4720FCF2FC99376EBBE20F6354928D3870F6E3
366907F7EEFB23493FFC0733B474B943DF0EA5ACCE8ADF6D1AEA39EE9FDC2A1223CA
36706D6776B9E4A7AA577DBB49F1DC54CC0994D3927A26BCFC59BEE455F29C564B60
3671FA5C65BF595737280992EA0CA133296F5544899E9BC19773B1F7C9FA10B3A52A
3672D51618595AB6D1FC6EAD553A520F2676A88DB50E260794595C7AFA244C9DB0E9
36739A3098954BBC19648EBDD8C739C68E778FCEB19755D84E02F4D57224CD9813AF
36741D7FCCE72138258FE2EADCC25BFDFC9F6BC27D09621A5C5E9822E8CCF89283F2
367526681393A95422DC7897E3FD02939B72BE23C90B0192438832D2963055947FC1
3676067D5EBBCC34A8424B1B7F820C3863CDA8AC53C3E9B70C22F4B2BE684B749A1D
36775F47814A253DA746B96C3013D38EFB1B705ACD02BED2868524C4B7F7EBE4C9A8
36781AC251A26EF66A325D2590889763C0BB94D94C79362041DC8E6923B21CC19F58
36791EC026DE5DB104A8F2391DB2EC4704E4C7DB807BBCF3CC3A51C28763E7D96C7E
3680879EB79905E020B6A3F62B37E30213275A6BB5ADEA1F68825054C17452983D4D
3681DF9CF1A646DAF4C199AD347F880CF434F9D47FEFD2A56C190D816C4CFCD5941E
36821ACF6A13BABB9017E6E32546DA2CBB3D700532353A0A09EAFD6CD4620F24BB20
36836B04189D3793748591978319C613B7CF53983E67FC1E1E54A9DEF9CE726F3EF4
368425D14BB8004C5D0272CFD969120081D57AF688617314B6294A8BD979D0E18AC3
3685194C8A46D164857F29AC8DC0F34527ECA7D071B372032A0A2203C66B672C3C04
3686B87D64AA24788C2DD47F3EEA2CAF5D87C2BF5A1360D3887EA695AC8D1190BA07
368719EE75F37FE348A344A81F1C9434AB91F771A43E794647CF42873A11216F1AB9
3688FDAB2AB6C754BA721FCA3CDC3DD7E469B37CE1EB1D1369A4F7D86AF87683EB1C
36895E2D089DEC3F27752170482765960AA313ACE31F06B8DF8A8717C41296075286
3690EC52EC611FED9B67011D26A5B089D2FA6D5F95637897D9F07AC6BDC79702571F
36915CD690DF2B3904A6D968D66BA2F252EAF13ED8DFED86DE9A50266375C4A16CA4
36925AD99C6F46F4FEA9D490254D0B8B890E332E065FC825D15C8042ABAE0FE6B7FF
3693C9E74AB677EF964F1B2C75F19ADCA0383AA86B2CE30AD8442D0D5BE930B51F65
36945D426F0258AD3AF3762B10F34C6E09398C197F4AED4B02C50A9C7BEC3EB7D8AF
369504516D0A58BF46BDD0B08A487186EBD24ECEE90D6B327A49AAB860397BC02A2F
36966319B8DC5410786F5F980817FB5C3DFD8EC23ABB784AE1B93C6BA9E500D12BD0
36979D01776436F2979F3EE368F0F87EBA74FFAC047CB1E113C4BB90C43C27E56990
3698C6266654BE466F7F65FF8022545893B42918ACD45660016B2865C0D3E47B18B2
3699A77609A5D2B18E3AA351B5A5BDB53A9752A2F8ACF2221AD60D8B22DB6384862E
37006B822DB60B75370E3098DB08BE8A70B0B58FA824CB1132A858400E64626B6B18
370123B60F897C57D8C0C83854D45F2EE5368A9E6D98EE5C2FFADAA076D0238E90CE
370257E74E9D32600C3B7ED4086C8FCC3A8318A9302FCF2021B83E6DA70C0C99CA2C
3703AC35CEE42814C9CB5EE2434F6D77319964639CAB6F918B521D4937B828C2FBC5
3704D75A7FC59B06C2972A7A2C21BD5F26752BA385333CEAE62B18F8B7C2226896C5
37056FD93713226D0A59D3F62D908AD571BB330A7A81EA1D38E208A7DA5DBC09AD0D
37068549341C97D75B3BFE1026819B52AAAD08987E79FF608A2575B8B4447857A30E
3707F5E29C75198B3502927A6357657E1EFA718B04F89D0C92DE6592FEC3A7904B25
3708E8F13FFB675BDD72726715B7672296E2823BC2C72D57F5D625228E8899862082
37095E5DEB864CA08B2D4F08E7A6707AB7328908FFF44A8B6B3FD5F4AE9C33C6CE5B
37101CA3D4F3A0DD6BC7FDA232425F6BC550EBC6F4D7157AC2B3C51C3B43EDB59353
3711C3AD6E4ED6FF8D4B2054A8A2DCF72D6E53197F7BF6793C6C5F94E518AD693D9B
3712D825BA5E2E148DB8135259BE7A2B30104B9B29ED568DF576EE7F9745A93A475E
3713BFCEC10B11EE0303EBF47707ECA0EA73E1EA8C244C6F1FB0B2D4971F24421D15
371482EA2143BD718FBC25D1458F1D6454D0B1E18027FC4E025334A0B67127E4A11B
3715C3DE5341C6E2DC7689796749F1D31ED0007E952D15DC23F217A218623BF9A149
37163D6BBC92804715D15EAB09AA2066A46A548EC53C567618F86E1B2D41867F2125
371700FCF22375719E96286C44547C33373105AE0E871939D02873061B41E8800AB0
37180ACB4C4E8426E4A1D3745B85CF550FE0561561626D33617426738916FCE32FD0
3719C0D0726F542EE02E1853473BBB13471F941EC4348F8A47251F5B90A8BD181B01
3720D12E148B3C4F22C866D8A0180E5676683D488BD2B13810A80AC610FA22DA7709
372142EB0D3F839A019200746DA3FCE6BD16E0B71E4D72FC1ED751488FBCBC196D14
3722CE1D4DBF68F87FF65D712369BE1FB27F04E1BF56BD94EE5A645BBA7813F98DBD
3723D94794794A08724F976D788157F92E6A39E5CDDB2C2BD14323C7511828EEDE84
37244A1F915890069ECFF80A655017ACF73F4900B22B2EA07EDD6AA349720177E3F5
3725B4555EBD9C95B09208872E72AFBD70D9D22EB3E9292F3A8000D5EBC6BDC8417D
3726C9736A3A5009F8ADED7347DC1B49DA9005744BBF9CD44C4946901986D81A6703
3727A43E43A8491373352251F2CC97EE45B95F25469CFC69F443133F64D3FE06D833
37286A7F8C73AC819FCD5879179D17CB5100F73620FC5E9646094C740B89626C2CA6
3729A8D35E94283B20AF70088E031574FBC64F7EBB0D1CF4D0983BA3E2095F15EF46
3730277703A7262419F77B452D11BCF43C8A30F8927D223D5752A6F6A7A22B1E79D2
3731E6258C0A799F5D5F71E41E7FF4731BB6385AF7AC4A31660EE294C4EFFEF96961
373262D5E63BED7A26EBCC92748B548A1D0CE72227D78A20B22F15AF23BB70DB99A5
373379EC88E8BA13A7B8DBB6040E07D6CF5DFE97F0350980004263CC8877906845D2
373443DC0167B40150C337CD600BCEEA49E2AE83C19E45C3C94DF43F771986154128
3735FF270D5C81BDA1A9E1302F69FD2FA841F2A90B208F4F0C823FEA1A509E8C911E
373620C54625CC9E12C44829209E67A14CF35A06A1EEE241876108A66876E209818D
37370CE088754032317DBACBF1F0E7E89F92C55E0DDB42EC76756BAF902B8D65A3C1
373883E6C3DFE282FDC5512B75228E70132B4B5FF051501F581F21AE095296988C32
3739170ADEE55684051D476A5230FAFDEFA9CDDF1BA46083F1DAC8EA472D0BE425CB
3740951677D71E6B6C1C3405C4E97763B354C220227D765CDEDD65CD119F97268907
3741AC9E31BEF927E571D90AF7E77D6924521843A12A491E774EB8849FA1775336E9
3742A76DF04E27D2A8C4365BD1E7D40BFED18F51EC704293A2D38CC6490326117E11
37431B592701C02026181F8FB67C9AEF7F5F87F0ECA8AEC7F5FFFF60D2D3A2CF45C1
37448D1DE6E4357CD98F9CF0363000573026FD572C2591DADEBAC1ADA3DC26D77EA9
3745BD91B1E6E6B7159D03943C0FEC7288B07A530E4E2AA8EB94830D582DAA0E393C
37469CBBCC3304D5EBD32BFC296E9E2EC7D26069399999CF1CAF479526CEE1A51AF1
3747286DB7DCE087C6E8F683B4D637C70514A3FE524F1D370B28DB6C7E6757E74C40
37483966D0FC1770164273B023CE921B27A0F732EEF21AF015CD502F8FAEB4AFA2DE
37497A4F86CB3511004549A91A4D01D469B990F68784D5D76AECE35F32AE20D6FBE5
37505A867B35C3486D00A5941DAEC733E34F7EC597F9E51B8ADF515DCF95E1C1BCC3
37512B6E3D6C1D8D72028B38DD56DD19DB4920F0B8EDA4236F2140E3C7246BEFCA59
3752058620D20DC9E964094F9572C6947FFE7F8A67E78A412846AAF99F6432BF22BD
37538E38168FD327996198CA0BD62025B18894A854816928A70877FACFCBE01B479D
375435FC6543A55AAE8B8E5DDE11742F3526336D19861EFDF62604F4459A725888D5
375540FF922F2E230880F9B4732D92BF326C93EF78A741F33C05B536E8A261D42541
3756141BED166EA9972F0DA7E17EAD1438FBF0BD10A5EAE4F3AA6154776C04921FFE
3757C808630E4959DFCBF48583D0F506A80F6CE267095F20E0157EDE32F7306FC510
37589E9B82D49241BA31AA6FD2A3147460D6652EE135F41F3D4DF71C8733A6BDED1F
3759A6599D85EB7D3520187287FCFB9DE9652139BCFF47D5FF7EA0C9299D8264EF75
3760B074C0D09FF870058252DCB98F0B82A22191BBF5E844D33992B77FD5465C5F86
37612365912A6F1A096B83DEE05DA44B14F667B66958B8607BCB4A3CD42FDFA83E04
37620D218B2ABF7415F0C8C7C42C5BE575F35FA041022BC39F96901E870F2A99727F
3763422B9DE8019687B6DA4FE510CBA51D8EFF47001442E1881576241C445EB8A775
376428DB431CC384CC3056213447475CB38C7A634F0F59DA5E42054ED0BFAF257293
3765D1C97721CCD5B23C889833A9F19277013D89DC6BB13F37C3902F0EA39A778405
3766729FA64B31BA789C5F12B6186491AC8F8E86E7ED3B5537732964C054592F4504
376728E8EF8D5806C643A8DD9562843B44CF9E118F8AE0E11915A9AC3A3E28660653
3768E130D1B67B2952D41647F8AAB650AA5D6961A855BA0A223B94F37DB212B481BC
376986FEADCEAF1B833AFDB4BBAFBB02C101F62C24FA2BDD8BB304DD76E088EB464D
3770DE4EAF62DA53E442A214481C40C737920F27AD208D73660A5E192DC2FD59AFE2
3771BA5E3C41EC046CC3AF9BE96507102DE80EA9FE08D50A1618AF6D25ABA53D20CA
377208E41336016AAFA30970124211829E7332C090BF144C4DF8A023A37D8C7CED05
37737A56657DE220EC3C7A4495E79EA70AB1288DEBCE8AAE26FC92FDB92492DC9FF9
37743B5B17B5785482A577FF8B9D7CA04798EB5270B89D4C10114DEA1E2280D53137
37752163C947A4585876A5FE591ECF97AAE832AE56F29DD74CADC12D2B0A1236A9A2
37763271148BE4C58BE707FD277A265473BFAF99632083D34FBF011B53CB86D76754
3777EFCCB35F92C8E0FE3E1345C0B29C55D4AFEE09D23E4FA1D036E199AE43740CE4
3778C68F4E30ED050A4DF59C547C662B898F653305C0A3A0EB26BEC9D164FABD6E0D
3779CEEDC405D5F4209598D1BF46C9D0986C34C08358A2C0AE6B18BC3B645F2882D0
3780AA9A795BED8C35342DF7E95C56007922C46FE8971B81C555C9877459E17F88BD
37811AC0D43F1AA6550592055A9B44EF7FDC49297465AF931B313168B5E91FEA3E81
3782108B19009B3A8AC756F0843AA6CEB0C54FD6770499060FC8F91369FF3E6B4DC5
3783A089CB7A1CD5A3E4CD9AF2A396F2F3C6AA6CC767360DB84D20BF831737E6C856
3784B07350100C49C8F660952474944B025266C0705E278A51FB608112267C75E02B
3785E4192A75D90F43FF3340E34526A6639C45A949627DC528813437A0B89250FD36
3786D0605470D52C1CF767595670D82F5E017BCA5A3E256F7339C0CFD82F9975D946
3787F5C0721154CC2FC7E68C5434949A65C90F6C30E58DE3AE6D6062FF81CB388A15
3788FAD5C938189870AB14F58909271C4BA31B68DC43875B3416729E4144860F483D
37892CCA10261512EF7EFEE399F8DFB0D5F1B6381728B0445301771208D54EEF81B8
3790C90E71F6DA858BB65821D74880A8B9D20BC2925DEC67311DBA920DCDA36F0BC8
379106F4206253C2DA56406FB0D0E5F67CAAA56F5F5AF989A1D8B01FAECB1596066A
3792358E0E25A0732B430D997E287E5C3D2929125EFB9B17F2D3ABC27D05B79BE843
37934DBE405F44ABB8C1529CD42158ED6F9E16660C8C03A111BD9BD87A1BE4D3CA0B
3794358B5E56BE56A6A7AF5936425746D90F6B7C040356E13E3986298B5F78F50FB7
3795AA073453B24D191F700286BB68AAAE6D77E1529AAAA00D86FE40526E96273134
3796E283864A2170296053C539A9D5870507804E1E2865C1F737A7BE978579C9829E
37974B339205283CE90F6427F402AD9A67EADE1C6C34415FC36307D8A1A2A86A51D3
379898662F45140B3DB6E751F508634C04D9C36103A31288689D9A1CCE52D495FDA5
379957D1F221A883E6A86931370FF1C57833575EAA34BC2EB5039799BAB1D6B99860
3800716466C2D0C37F3373021F966AF6EAA5DB28498FD290D0114241D47C520180CB
3801454D1F3BEC6F63AD2BCDA34F7503A6265C8AC3115688FB738B09E180F55C8935
38025A821A9FA5A598353C7EEF9A2C5428275184B22D22E0F60C0A0C1D1C43AE5F03
380301A06C16AB8144034EC715D55C8882930890FF5C1FB93E4AAA49D99D2C147C27
3804EB3220A36FA8F9A611CE125A9831E1BD8A1409BC845D9FF89CE952EAC659EF8E
3805B2509CFA7CD4D5E918E1538E5F46D118F048C61334358D515339099932CE5476
38064556B808C39169EA6C55C5EDE0699EB9218B431353C15FAA6F7B4261C1333D9C
3807213A5625F088728150E0A2C212DAD07FDA7694AED68F9FA3ED9BEF89C393A15C
3808A7FBD8764F3B8165F1D5BEE6EA025DB8DE272269316208385F8BD4BFDA5D2D44
380927BF42005B10DFF2CA1C1701AECC58B5FD92E0D3EE02A8EA64170AC5F9A9A995
38105142860A85181C11CB1CB494AE4C7D41C3B93D94A7D5C8038529CB996463A2DD
38110036C9CA06029A725F7F84530D75D9E1072D4D4BCCBDC25A56E4B7681BC2BE97
3812B7151637D8B786A2B7FDF83ABAAF6D7A9042CE0AE98F7C3781CC2F8901E947B9
38136B4D31E8D6D5E8F7F66D11B3BC666376C284EC24C9D1D083F76C56D0221FFF60
3814AA585F1C4FDE0541624C7D92EFFEBA06DAD2BF6148B60BCC727F901724AD97E0
381561B6C512E9D49917F01C5AA51EE291BA98527840293EB33C1C4257740B261FFC
3816C47F6BE71B96FA40713C2AE046AE59FB6653E874E1787E50F3CF3F625B87308D
3817D7D777588AFBD43F9038A3EC5210029FB97BA9CB2E5038BA520005A88CD39230
3818CC2FA8D7EF81D7B872925482A267B4E0A71AC8A6025EE6E12A9AFDCEBCA19848
381981D91D8393DED88F3D182E922AE2A122A36D71C766EAC46F4B4C4022093CE906
3820E54F4678628C782D4DACD64B60E411CF9FF433F53312C44D5E96101DFCFF50A7
38215DDCCA88D2BC7B7B97874A2179E9EB0381D66D058BE17FECD3BC681BA215ABA1
38225D2F7777624B250F7A9E77E98C2F07DFE6869C459C2392CC420B43C6861BD4EF
38231EC66FF22F8337966F12D57691B4B85CE075FA01DB14F5613DDA0C47222A397B
3824BCA1AEC22D912D45893081D52B8E639E82956EEAF9797953DEDB23C805F59669
382520B9EB86E852C109F5D74891C295A4FE101038EC8D7CED573FD57E8EBEF4ED07
38260BD79563058F8653B31CC2BB74C92AC1A71F9537A854D3848E5B49B1C0AAE1F2
3827A93C4ABBC0B93523D9F15DF7FD8C17AE5C2620A5BBB996C90D0A556D73ECBF08
38281EB27E2E40002C3205A1255A8E343EB23944236E551BED8AEFAAB5AE6016D941
382947F28C20CEB75AD6AF5FE7C52CD35133B97F3DBE73F5B14393C47A79E7B97B72
3830638761994F100F98117860AD354A8BF649FB4ED2F640D9972ED5F152BD242CC5
3831B02E3F967012DF37335ED9CD7011A15DC9333C10CE70D23A90373D4EA3F4ACE5
3832EEFD0D203E01E164FE2634052ED21D0F948033FCA14776DCC03B779611E4B6E9
38331882518BC17AA8EF1CBAE9775E4F3DE0D556CD5D4A726F74D2930C1F354F5726
38344C15C7AD6CD21FB9C73B029888C8905DF2A02603E0306AB7AD095FE32595B2F9
3835E65F068F498CDE2290ACDEE596993FF175FB8620931A3C680419B9CB7F8FD2D8
383633755466D111342F692C47424F6E1F4059C474F7CA53DE4C8F6EE60210F1ADE9
383783F653DD92E2C15A595D19EE15F60AC88518D2E33F83E83C303CA49A5C39F295
3838D7D147B0AC82510AC0DFFDD6F8390A175066AF343CFFE077DBB0DD27F9B41AEC
383919DD3115141F83FFE2575FC2676122F9ADC83E22555C164BB3A8122FCA8876DB
3840CC17324EE79571B219B385E5454C121D84A767D398EA0C5F34CF5783AF410B76
3841991CF963530BED15BD9149141587FEAF5770DCC8A32C9FC7518B524263D56FE2
38429FC4876E46194F9BCB692B3A7FFFEB22CFBEC8405A8286DEA6533EFA1DBEB4DE
3843ADD8F906C7334F8CDD21060D35F24B66D53E3C4D2C37E9A6127C76F77F2A35EA
38447D7BBB05C8BA583DD9A269D4B38CEDA90AFAE002A19B4EE957E47D5B75C2B3C5
38451C3B43EBDB21D843F29DE2CA844E6E1C6218C453A82F70A6C8848C67F2E63A79
3846A37EC8F5AC92611404E5268DC2F1A70C0ED29B4BD7FF380B7544C88247386091
3847B97D303A0733B90BD95C13228B9AF937E995DE25B164F92ECAD1B62B9C8623A4
3848340C904D5178CC9EBDB7971E6839758EAB6FAB286A3524FCFB9E4735FBA867ED
3849FFE39A045F3841E352111EB5CF018CE47819A335D93508D544A070C12B251168
38506ABBE6D30D803DF8C414D751106EF919AA9CA0F59D9208A5085721D1A09931E9
3851ED5A6CC3EAB277162366D2EDD758AB2F3175CFAE2312D2AE49E1E87614A9035E
38527D8ADE1137E73AC45E6F9506369E8E8645AB4DBBE8388DBD8AF05BF0B8E4DFB2
3853332F353941875FF0566E52F8B65FBCAAFC7EA12342B90C8D927DF8FEE42F4556
38540883B5A3B4D6FE2BF837D27982CC1133B810916A7AE03EFD3F47D393CDB4386D
3855F2FFB814E1A0E71BBCC475BA8BC06953FA5C8AF351C911935428ED22ABEF3822
3856BBC0466F8151BFB286EF8275EFE5022D585805DD9838C5C286885BD5B17E6FE6
38579970133A14BC5CAC9AB898C57569EB8C39D367CFD48C7BD62F4D3D8EE1D306C0
38589D5BD8A615C1AAA83E8FEA614CA16688B07D6BE1DF5DC925E6C50D9EC45195EA
38594A41EB8E78E6F68AED4CC8E4733788DA2636CA7EA16B5EDE02A53172B7D2FF25
38602DEDBBC24F63F407ED3A2BE7DB640FE0D2B5580AB196B1076F266483B8C867AF
38612D6FAFB2A57DCEA9747723965BBFF9ADFBA707E5220277AE0937E0D3C3425402
386277D26CC49FB0E6B6301422543F0E771136153514EAA879E7F0B684E456BC80BC
38630DFE56DEF44A300335D0703BBC2FCE8D020E555E6236DFD5243F9546BAF6E281
3864BB02AA4A7562A64F902547069E8F4431148F69B40EA3E5BFEFB5881319F7AAC5
3865EC4E0D04E7F5BEA1C0AC4932A5F654E1F944636D1F0A3B15C5702DCB79A765DC
3866EF6A50455566931C6FE5513D47CA245099A74DF9D29AE42FB802BF39752F7BE6
3867BD64BE142E903C737091B799071AD3407D5AD671CC46D0B3D4FF116C73301F59
3868B5AE136C368A2C7E38243846F12B91D1B0C15C1B10A90143231CDF75D63B04C6
3869160F0CEA97D14C2E4D2CEC832D600437B3DB129E8196DC52965FF723B9E56881
3870ECE08B6A933F02A7B755312E119B22530A22EB11E55111543027CF23A6620EE0
387145C29D0A1CEFBD8FF7C5D624B0655B73A98A39CCD624DCB0649B7328EFBB2606
387221A92EA19C1344CAF6F5A5D91D45AA9832FCCC5A41CF3B12DD35015FE337027A
3873AABFE5E503DBB9D4ECF793FC16B81EE8A12CF6EE2136877E9C2D4FD9B87AAEFC
387497ED41FB430770C73FE1E61A47C73C9A99117DFF5DCE9A459F0286042ED80AE4
3875C211364DBB9683475F6ED9F7793858CB5FF0A1F564E7AFE6C32351C12221FF5A
3876C4DDF536F4EDD1F3DAEA3D24AF7FF4ED05D3731759FFFC0F7E0A0FDC3161EB03
38770829C04E5B450B055CD784DAC694A4AA4C0D49C29C1346628CA40CE09357C127
38783147D5EFD093623F22F1DBECC416C1BD43DEA0D128AFD923A3939203D77C5ECB
387949FEFB8D74EECE5FEE601D0E666EC8E4063A7BC2BD910C0C87314FC298428208
388016F61BF02FCC8193C050AEC765768A7640EBB3B873BFC4BDF0905CC7CAC4CA9C
3881CBF035E2A2B469CE530BA8EB46B1005255BEAB3A63FDE2070F840A7802A9FFD9
38825FB0035BA885A201C9A3343499A503624BB1D0F0AFA77133E13CFA4C0830CC48
3883D8BD18A5525590F4C56A9F29B6EA82DA0786DE33D1919DD855EC6B588C2339CD
3884BC635FC1AB2ABB867B15E64840DCE1AA53373BE1722DF73AFF158125FCD6F66C
38858FF756B566126D8320252E2244A82710082B7142B9BEADA2ABB8EF5DD7EF7998
38869BA81DB5C9CCF2FE8C3271385D29E5D4EF28FEC6854626A9D0A128C16E16F63E
3887E6D4E78C5745321549A0011C4B48A4DF9B463C5BCF1E1230D8D9B7E9905911A9
38880EE492CCAAD3CECB9C051BEA22C3839E3319274936057F666376A65F78060089
3889BB721072E7F5DF2BC13134B6A3F95EFA914E404098FF8D2C69AAFBAE692AB402
38902C270E9F70B8265D39966B8F336C39C7A901E9E48058318C260AD2ECDF4316CE
38916CA9191C42CD6A16AAC55CAF82592CCF64C1D5B6CF58810503B24F203AEF0F1D
389248B91FA07509D782C441167205F96FACF1588CD956DC1320874DB1CB40FD961A
3893676654E3DAECA127F9C5A80092AF6827E0E2F2B31CB11ADDB5E5724856DBA60A
38948ED4312EFC1591FB582AD4DC0390A5F8963C5B2B852082AE76BA29ACAFC624A0
3895B268166077DBBF55392400E9C8160E25125CE6C4ADA29B83551623376FCD59A9
389689F1C64A1FA901CFAA20D063E103899CE96808BFEF9C3CF36BFEC63ACBEC2675
389793F27BF76686F9DA3E341D168D65A53F7D1220A13FF179912864E0C7F860F1A1
3898AB3B1A045EAF52E4752FA0A6F1BAA8A2495983ED9D1EEDE32B19BECC7CCBD142
38992A19EC2A6E2CBAF5D0E525D6494D63A9C004B1D4A33C27848275C678F413674F
3900E0D464565FC16624590E085E26243740701F3D87D6D4F3765216FDD6783D571B
3901248D7F541869B4CC1785C29687880CA396B0C5B06EC910AF0568D802D0C81292
39029AFC214CF0BFE9A999965402E7BD676B552880C68197BB2E2FF5932155A907E0
3903716E1B84C49B17C05C9A309BB6DDEE004808301EFBA46CCC5A571B50D254C940
39044DD4C43F17534450FCFDBB093EA68D2FC282B48F5C20B7F9EB2E099A3B4ACACB
3905181C5F37C9C6276E3049FD7E2F8C67A07E507A25CF1BA751294D9F5EFF4CFDB5
39060B837215EC6CA4347342488502D6F1B8BE446A3AE862A03E0A36402A4EB45264
39074567E3EEC5DB5F69EAD5B7522411DE7AC8AA9522B079A962286315C150EE549C
3908D5C1EEB3FC63B66929EEB6FDEF526BE7AAF06B4DF9F188705E0B2C851FD5AD29
3909BA9F00BDCF9EF177DD7407BA10E5AB0C3A4F9F8DA48048A61C7CF873767870F6
3910F66E669F6D2C36BC776D4B8EEF8581A9EE4E1DD3FB181D957111D0B74EB1362A
3911C5398FC8DCCCC14A6C2D755864DC8B2DB199B7FFA06EE2FC613E1A7D2B5D74EE
39120EFF99E30FB56296D126A7D108387967167AFB5D2F5E0C0AFE7E26F464AACEC9
39137E6ECC700D6FE76A6D5D265E0A0BED62A1A0ABBFD7A3BA87CFC4F9162ED52266
39144DA164033110DDAD5A30B28DCF16E23C4C055B24FA9EAA2AEF953720C6039D1B
391585402575844BE848F03CBF445CBF9593F1C2FFEB8BFD1F8CB78163EDD46BF1CC
3916704F60C6538BBDC15C2997BDC1939A52E63091F6F50F332538D19A917CEB60C2
3917A8B575246A1F9A00418F7E4B9EA6F10DE15B91C2EF861CD35CAD1EF020E5497B
3918F806253012D440B3D3D0E2FF114C5BE5E011D8B603E7D02800AD5C0D3D505155
39196F5F1292B1C92CE55DF5F6BC891772AE09CBFACB0F06551B3BE274ADCC737DE9
392001B9C192D9FB3BC3FC0127D0CA32A8EF4C99E0BEA94D9B9A9721F6AADDBBA2E1
392118E5282105B05AC38E82CC63560AEAAD3A6023A03078CA6F4D7BA8E59D92AF84
3922777002D0007ED4CBE93F81EADF695DDF9C9763E4B98700B54A969D7226602024
3923883B5909F6A0056034B86E55C59347465898AED8A4C2A5D6A13B93FEF4FB66EC
3924201C79B5070116EA08E0B4246195E0E070442AC2C1F955A591E19474D21DEF78
3925FF1DD6F8E90B1414C8A195BB6843098C33187A1FB662D6CA57A04CE2B97B495B
39264EF86DFEFC97BEC5D2CE01E20590AB41FD07ED81799A722462439A3985EC7B0B
39275E07C7687E2F76C93766EAD9B9F6274A23A4A655390CFE3870152FDCE07E39BF
39284748C4AC86F8519F86E3450593BAECCD4EC66F3D083CDE2CEE85A18E41EA57ED
39295511DC93E98B633F38F180F1A5E48F4DE97B62D0D91AFC5A14087F52FC166ACA
3930220F8E85398E3EE5B0971C052BC9C0A2D9092A09712403B8F4DBD3E999E3C036
393113302D5CBB0FCF3790196D5E38C87315AE202183C49A21741D1E2EA3CDECE786
39322AAA84AFA22F071FC98484B06E390DD0F5750A03091A3E9EE7556481EEFD734F
393374D2ADD097F8D95F46C5C386EA0F842E393A5FA11BE51601ACB4832BB89EC037
3934683F13C68618CB6F5E9363C317786FAF58B0F46F5F364E155D41A4561C193BF1
3935F808A6C7152FE62A702FC13202F73F747C75C890DEC65A2459A698796E3A9CD5
39366AED0A64756FB43FB5321E3693DB6CCBD6720CC9815FBD9BD742BEE29E72F820
3937E2ED969D138CB051EC3FCA2B82E22DD21B648BDC83FC2301C25D6AA7DBEDF65F
39389E2699546274DFDB81451874B04ED3BADEFA126373955D64DF0B15F10C67EFF7
393930643BA1C7AA8089739BA8C779FC707BE1F681ABEC3C34F2A6284C264903255D
39400A63D5EB37B977E9B00F3003CCB358AD48507587CE02341A0A226E30B35E3DE7
39413A3B0B396F3F1C2EBF42CBC55A195B47452791ACA9B9802FE687F3B994348A04
394290FC420D56AE7616C0EF0542F340380D492BB4B900C40F91AB57913A58CBDCB8
3943480B6B525B4EC2D232DD997EEBB3600B73A39A2DD2A713DE7E69683B1766E7B6
3944AD65B4EFD88C0D159A80B9BCFC033E4466CFC36CFB9F34014B0CF902F5F9A7D1
3945566547928426ADBC9097A5F7842DBB10059678532856521034ADE873B55C3E06
3946EC8C1D78334313CE2DFB1DE71FEEAA17710B4A9B3773D3225379756B979149FD
3947135D37B1022358386FBFCDEBD2B26D91C9EF0CCCA1B27ADA83C5F0CC48C04BBF
394873BCC497ED5DB855296314CF8AA79DCD8AF08F1493F65426D72AA86D7DAF2F47
3949551B35A525DDB19AABEED9C99CC89C2F0C6EAE7C60DFCE56C4F69C4CB5FCE33D
3950828E3B9F3CDC1ABA6CC6476C1156CFEFEBFB89815B800C0B06BF64825BE72678
39518C0AF76ED6F8E76D26A98CF7AE75AB109ACDE596FCF8F4A502911CD757354DD9
395257BB7795063FBC1C1AF4E1B567061B8A975316C0159038E34BCACA5BFF8EEB06
39535134B38146B3C5E01DA5E097B8F5DC9FCF7014B4A811AEF0EAE2E2977F6F50CE
3954E28156444214ED37532E40C23CD2F4A55AC0AD2943703B152CD3B22ADAA5FCA4
3955D02AF7D8E2DBCE39A91C0FD0D0F540CF97A76F3FEF75E36DD33033C1A2331475
39563F2A8C610F2CD04070339637915738523110D80F6FA7AB8722DD6A06C975E6D8
3957D5AA5DAF47C1B37D7B0B38A5734F4BBF05A68C5999A6E614786581B6AD202BEA
395869AEC361C1BF58A5900C1E3D00C4BFC5596CA9A8522FEA0DDEC0B7EFC34F8DCF
39593EDB2E29624A7FA8FA1A3474C7D919E1558AE84F3BBAB40AC30E5D405E523E70
39607FF71732C91D3C25126205F7E3A0E56BD61CEBC6F1CEBD520B1B93E0BFA17517
39617016303B83D18ECA1EFEAB621A38848F5408A41A0DC52319DEFF5931A506AF2D
396223A017AC71738EA9CFD6439419CB2F094548586C22591429C24F179417386D6B
39637422E76397F9BCADEAA0323ECBA854C07A158077EDD502B03C1CC1D29D1EE80D
396491D58ED070BDA692ADAA98C08661F1F848836F856C78F9A7497E063FD7904D71
396564AE15B1BC14EED1A7E6717246CF2FD7235D2770753516FD9AD1DFFD399319BC
3966393209D3253310F10EDCA47E7BB81231EBECE4B3B64245F7894C4888CCFF45E1
396753F6DF629C8A33D73EF26EB4A7B2C94560F8B9F3EDF5B6E8FC3032C557539FC9
396814B2CD642B4459D613C65D97567F33C5BC96052BF155A25D0065E9BD1C3A6492
39698F0194EF29C0182D2A2E2A2591D792BE071B4B37587CE75F747ED760690D1CEF
397012C1443F997CB68FB4921F929E88F19CAF7991870C124AFF94A5D2C768433D92
39717E053F8F96D142AAC303D1D114B6C52E2C6ACB257E47DF6863827915A854BCF5
397298FAF350F71D9BDF2F70CFF4378BFF0B13113C591626F01F8486B7FE64B88E7B
3973B7A345CBFD09CC9E048245D10714516508CC6AAF66A613E8563D2D8D5430FB69
3974FE9F89E000847CD5CCCC73013953C50AA5FAF4068CFE756EB490ABBCAD7B5B22
3975681476D1026CEEB22C9702209D92D7359E96239195769E009793E7B78E47E07A
39769C378E37183C6C2BD11866717CFC0778E4ECF8E6E7C0E0950340E052AE8F4116
397722561FCB48DFE8D56AFE3A922DBBF60E5CBA7005D748AE1BA7863BA1AB290236
397825DEC1881C106CF4B457E9F69BBC0C6A2092FDD566B742C167987998A9041F86
3979BB6D8A9ADC7947D4BA39C1600358609C90D1AE51A5E3BE9AB15A208A9817EDF8
398090175FC2C67139BBF9AF22010160FBD7CB032A1E078C53A64F948BCD855F6BCB
398155B0DD46C6FE7A2F09CB814CEA71705F600F2B306EA9A0C06AF8E67413DFB694
39824749731403B81292D9FDB2F7F5C749C1623F854B2FBFB5A15ED4D3620592E9E2
3983FA8FD26DF4D792893441CE3EA2987966AEB4AD527F395DC5128E494A5E0CD1D4
39849F9F01BE1BB170A75CD9D4557D055C485BE54C3447CCCFC90C5745150EEBD88C
39858F3BE4E795AC9F4EE141C31CEC15D2A91735AFA894D0706178102537C2485D76
3986E3B1D929E45C742411D004E77D2D8D2BA2632EEAF4C356633DA4CA20ADDBE1B1
39875B64EBA05CD5F8566CB10268C4F534B775415F8FE9A2FBFAF6AB880B0892C3DC
3988849522CBA30C08FBB753917347CE8BAE7B99EDBD3FF2895F0954DF907E64B531
39897B85E1DB2F4040E9088BAF2B2FB51CD757564165E8C660EDE3C88279EE790172
399068B73DE643527E75333759B02D7BF8621881B3CAFA2CDA69BF9F3102C983A252
3991B16A35294703F2DF89A757B72F86E107CB90BDAC614F0A0C7612174445D87B72
39926F396D7BC86514691C3F8B04F9F2A61B44DE1E80CDB15E7F49BCA245501E3953
3993205AAF574A8FAF5AE129614646706C9A11FD4531D45111A87138240CE39C7F6F
399448FFA2EC3EF86B3D7152DA2C6093FF9000EA9CC9E571E13F65E1E39C7AC62B40
399525631747274A7CE9A68B9A47CED36586DB1D08A931161F011B5544781D32D90B
3996685F0313DCE4AAAECD2573587A412F0E7326DE5B5F83858809F956AC82477CCA
39974FA06852CC31ABACDDFCDAD1D9B85647A713FF5ED8642B725664A2C369C33EA8
3998B6F212D0FAA14BB54D881376CA91439197AC47153BBEC903A4D5D0F5D6F871E9
3999B020FDCEBFCC521CC8E2187BE479CE9914F9D7D4519E9474D14EEE6699B03114
400006EED1B8403F02E7963A072366FA61CC46452D1619655A89710182107DE93375
400130C3EB937E9F0AE11EBA12F04386FCF004E72BA6A2B85B30B7AF3D015559ACE8
4002130C3B90FDD4294EF0D78250B9738A7C99B117309754B5646BFE82E5B811DBF0
4003101AE44042BBF22A0821235022416C6EF8E21BC9A2563E554F63CD3B4130D380
4004298A29C3AFA8AE9CE1C78C77D6D493FAB5CAFD2D9547A72D13DCFE650373C46F
4005A28017FF48FEF310AA54120C199C6616B1DE3D45DC374F2C7B8FCFD11AFC7242
4006CA94DEAC7454310AC71DD00933F5520F7B7776224AED667957C4131DACEBE83A
400797D3C036775FEAB8E4C15686627D9CEAA50B891BE937F995D1BB72D2D4479C5E
4008BB29C15909565C86D6EB623FD067627674B9D636AF0E6AA2E3AF08185C91A87C
40091DAAE7B207B75FC41232A1170A765AE4CE21208B49287C7753D652DDCA751C6E
401068453CC16AA4AE7CC3808A6DCBAE191793B0047787419565757447E98B6461B4
4011E6C2C0016BAA0BC279C6ABD2EBB32702E669A5F4E2B5F7B4EE5F53D83524E1DB
401275F4532484BB396364F2F4514F91102A493315D70E2ADD132FB31906E8A23BD8
4013E3121DC3AF7A196D2054698AAE898F65B6D0D84F65EA918CE1C6FC4B1E6CC23A
4014CC2FAE0FD96D36EDC5C50A0D6D7C4A1E36EB1399DB0E29D2D4964C058CAADCB7
4015C19C5D25981FFE4BC66EFB316487608625D0DC726022772A661C0E69A5B6741A
4016CB3D37ED0852C328148527CEA461A92FB4698097E72244964AA9C69DDA2BF798
40173D125CB8B896EAC1AB0F16BA3A50DD34BB8B3529E9A7F37793A50E012E35BFE4
40187E8A70B289655BA976BBC5EEC0165653D00116A4FCACB1F49C427B0B6C7BFDFF
4019FF4AAEA93AB473305577D134C3240D970E17D42F407420461FE5125C3A03FD8E
402004351E0314203320E51EAC86A74A3CC821DF3C70E3A6C678FC04133C5FCA2145
4021A5153EE6548A340FB382A6ECEA394498EA1A041987F27817B36022F600E9CA57
4022E338C98521C2DD649D05A1130B609FBC342EEFEC00D990DA97E8348E84623859
40230D01DFD10457A38102BA8F93C97640A4A143EA1ABF7A141EAA0D7535632158C2
40245F0D0FBAB8683C09EAFC8AE79DB8AF83FB7766EE83BDCD08917600D41B4BFB1B
4025B7A993B6809FBD7273A89D47086504E318FC677C635166D9F5DAEDA7207428BF
402626781C40FA494292225F8FFAD4B29DEDFF234D66B5F1A945C31A8559AEE0F072
40276580BD40D977FFEC00A8EA73886A58D7EBDBCD099D5304735B08F7ECBED90270
4028924DFCFCE0AA43130ED047F1161C564E16D6BEDD6B85B131BBA6C0BD2D2AB7A6
40292F0A31DE15C08015B82763A6E83E2682251C713F2CEC26DB1217A0606A4EFCFA
40305C3DFF669F1E2412F14A23A8E132D7E183F0FEB3E872F784903A41176E4228E5
4031B4747A475C7A05BCB99DF8DD0974BE2BD374FAC3C8FF1DBCA5D6F5EAF1943510
40326231E304573E7CAFDDFE2F2A5DFB5F7C441AE694F13C3F90F54A187E07000686
4033E8554666AA962B433DC096AD033E73BCDC78788E352835A88CD054DC6E1F6E89
403495D1430EF5D91A510BD891FDCE152BE0DC3E331688CBBEA9459BEA0D12AC8AFE
40353554737BBD944E0FE6973109B2777EA764F30B21625D4ACF425D3E463A46C670
403677534C69D0C456044E1AF87B7819DF303D13A8B88260C7D72BCBB4273D123A1A
4037209EB37512843398BDD13B04E649ADD0E0714DD33429D228984140630C8D982E
403842D4E0EFAF96751775F9936C66836AE953DD2266A3477030B65707CE8429C662
4039D6E4A9865B4B8C3716C4F6DC9B00D92F230CD90AF3586B47AFCAA4DCD3F5E76F
404022F99D84EFA2F474D4C0AF342EE09992950988E269D3615915A3ACC187E568EA
4041EDEED2521392544E774D3C91AC688CBF7CAB911C6375F94166B8A8F432778604
404263944E7C3BCFE056A8631B89D2F21EEC2884A1D9974AD6C511331FD45FE7F51D
4043270C0362D808795F2F6C9B2661E1407DDFB94AA0568F0A53459C7CD395D0E240
404493744CFA9F4DB3800483459E08AA1AB49C569196B58F3C6B0089555C497ED7F6
40459CAABDC938BBF909E8AC4900C1F700D4C0ADCC1437143D8CD4486850C4A98F70
40463ED44B1B180DC8BA328618EE7B1BFA006D0C6F1BB121EA39CA4B1C961F3F83BC
4047174FE36B60A0F4DFD84E26CD9B17DB938D8D35312393CC3336F2393A61E612F4
4048BCFA3077FF17C7ED3B01194A6527184FA0C38A8CA0EE84590A2CFA74267997F3
404935BE395D2BEDC4691B1F68BB9808EB0A8FA62E7CACE9289C9345320F475FE4DA
4050329DAA8D136E076411738169C37E9D6040DA5C1105A93FCDE630F8797A7BAFDD
405115182536D44A40A27A1A17E932B247892517DDB143F1A22E05D23B09D6787FC6
4052C7B2635083E1D333A3E3D5D1FF875BC7160135A9BC4DDA6D13A27F647C825724
40536CB21F7179E3F643A508822C1528A06BE1CF7A2F25D5E5D18EB6F73555681784
40549E901B128614560B8800FA6FA010DC0EA0CA726DB85854138EC839D520D122EE
40555D990B29FEC8ECD9C31D6A740F7491AE02B51B1872A7DB7EDB851BACD2300D0A
405601C97B022888A5EE25AF1FD9CDDB20A2E567E38C57B1D5EA2C27E2321264E885
405701DBE50E5A3C4590E992E61EB9008611F110C9396F3BCFCE936AD3E11D4918FC
4058B8DCA8F34BC936DDDF6EC7B3B449944B29ED6A3C6C3F9292E48F9EC5CF0F70C5
405960D8D671C3DBF64224108F741EDE19A60BE29D64871F726BF7ED1E02089CE2BB
40604DC8F4D23E0CF34C3B7F6C90C4043DF2D8B85A13B0CAABBDD01C81EEB01041F4
40614980B5187BC8C1B08DF9C8C7AB70A337AA568B0F6714F74E4DDD88295CB99A8F
40629D4CD756F1034D00C46C8DAA25DFDF3018EA67DD0E6E5374EE0D0586ACF095D1
406383B44831C0CFC5E7130F44D938B9EAB2B740216133854C417E05CEA62A49F2C2
40645FCF3455D9AA96945C01D73C814CE1F7CB9A54544F144B4883F4D8CB00AC5450
40656506F0F59DB5D9C144500012D4F41E8D1B8197581FF138CFC8CBA235FBEBE153
40661B6850C7D3C8CA2B79BE7BDE1EA748BE8ADF3FB09D187341199C84FC0CBF9453
4067C238BCD1C4F82A8688A575F0B15F3F7D82565BA62A5F8F0F6363392FC3262A37
40688750900A22A9116C01BF4533DA211174072F34C21EEA44BF35B3D3C3BC8D6AE9
4069BEA520E5EAC71304ED8CEDEFF92F93E7FC553A9168D41BCD5FD977A6CAEF584A
4070DCC74C50CB37968AE9C0C5BBAD0BBDFA9DA2B421DC89DC332C4C6C0426DB97E5
407181B170477DC4B6F62C6A4960030882C28F0B3FF50A08CF18E359D6E95BA2BD8A
40728552F0338DF12E4DA843E3EAFC4444EC39269D61860704D722E422BA502C1633
4073A23D5BAF15CD44CC22F67D2FBD8D855931558641255F1F2CB8DA3ADDD771CF6F
40742D6C503C9C3BE2F593E475A16B0DB7570D142DD81549F099773BA5267BBCEB7C
4075C4CF66E68FE221970E61593EAE06013A9C790E542C820945D764D01C7F4D9EF9
4076245A07C9304B784201D7D06566C91363B45CB5D6577F385456697575572276E6
4077B310AFF7485325E5056F7123C839AF630CCC9A410FBB33C0636DA87C9A0B95C4
4078BF0E8FE113F965BB23EB631F47AFAE6418D00C6F809B49E2DEB14828BFD11B7D
407906CFA669102A6EF9D864A6230FD0AFE54A93A25EA70A53CC3CFE060E40A281E9
408007FD9CE479DDF79C5034C592B80010A289834350AF08EA9C1C6464EDB2C07695
40815D1327C7FA939CDCDE954662772C3A6B96FB1ECF5B2D63FE4266A67D4A806FAA
4082237B3ED16C85321764EB8F35523F79C016C50033784C3AAC9E5908EEDF249078
40838DADEB4EA95E674B598EA6A30DF9AB4740C4FF4439C023452B444585E6CA5707
408444A2CE2B3DEDBA44257870D42C8A02199C02569B71E8984041AEA872770760C6
4085AA6297E946516A3FEE3EB0F2BD88226A11FA23A6D5A61F4AAD0F8E5CDD1B7F7D
4086169A04C8E460E0FEBC845D87AB60F69A85F8664C9E3373F3909A72B3967C6E7D
40879E261C02FE726DA6D1D8D34D042B0024C63C532DC756763C4312E9F7759992AB
408826861822BBB6BE290F1C377FAB01D8902FFC8F48288BA6DD0AE875ED602CE204
4089A6B28360BAF0A5FF2BEA0875C8735270DCB7C22491FA9D1D8977E8973A4DE0D5
4090A57A1D80E712B347A3E28FEAFF9C94BEE26A75C900504F958804263CFF2D6BF9
409166C661889332BED6D47D1B846A69E48AF64C32381A282C9E3FC6E116C2FCC8A9
409267D3E29EACE37661BA2BA4894BD25BCF2C5D241D8D949928151B006593CB212E
4093106E738462CA9F739D7A8EC6FB6F80C4E5CC436F0E6AA2823E3B83C58CB4B785
4094AED595A4B0F32FD91835A8F039EC8D7CEDD667E0F5F15E9572BE2CC98D8EF6DE
409521861EC36D3B67B5846F77E4C388130AD5A9EAF4B492FC29C669A6A19E3A5444
409664B3E7D88C8B5F776AF63F6F10CD7A4614B2B7EE47157E6AA4B8F9D65B10B4B1
40978813D4F973080740F233737AB7F02D5CA201015CBFBABBD54759726D51E8CCD7
4098E3CBF2507AC8453DF0EA66191AF825FA2D3132C8A3B7CDA71BD0366214C0F30C
4099ABF5C6D70A3DDF63A6BD2E9DAB500B4F45A405B74DB1C83E20C49A2041258C47
41005AED28A9A49B78C09A26F0FE35C1A335C499DF22D581142015C3B1E27D35AC3D
4101541EE3895566BB73D53845FF46B2E15C4A56A136E20B0218A0987E8895551B9F
41024EE133028547F1C2EF1BF327269854B54682345726C3BA64F900722E23E1B32E
410384C56A843A1A2CB2B8CC1B9644A1DED4A0DD1AABE5B5FBF19A30668B0C37316C
4104E15373017428A860DE9AB9F07C89FC156FF537B7D768D22C7B1E5744CAECCD85
4105FF5AAAF42104A71FBDC2CB06DE8500D4193CD9DA4CE0D54DC0113A64740CADE7
4106F504414F21869B11F1E26B035FC36CE0DF91EB27378647EC234F989C87EBF296
4107156471CD28F3188FA329E0923DC7AB3BDA4F786509B2B6E7F52F77EB95A3BB58
4108CB41A58AAA15161710C72000839CED32FF315E86D952BF10E4EE28B6018A6D98
4109EC796CA11E15826E961D0F425B1EBD9A21BD23FCE74E74C2D67717464CE9891C
4110285543C3D10E627DAE2D768417B081EBCC569B7ABF80FC581E2A2E5A86644711
4111B23A61B5AE9C65B846B190A7856AF3D6C8C97A96B6B7B9DEC43E9B6A26AF6240
4112579B9C80AEB704CAF7464F451ECCAF59A1863D0A66257649EF103D46F622E382
4113A4C705292E23FAA9D3E23B11E90726406DB6215B55B74A71F7F66D54977AEF48
4114D39911E099B51ACFCD72A9042ED5A6A5688B3ACE3B6D8775CF238579EEA7DF90
4115198CA615034333503D4D5938CD789F063384BCDD5E52AFB69CBB3EDFEF8942AA
41166D3AB76D2285A21B183FF2ED76DBD17E63BA58223183D9D672BA4C5A38DEBED1
4117F710BD9FA9B75ECEFF35FDAF9A81C84336562ADF81D7A6E2DF956FB531BA83C9
41184C9BE454947D6CB9CBDDABF2119A1EB830533B33EEE3389276096503FEAC58F6
411964E11E68BE3B895B0B2EB353A8218938A9A8CA6D36270ECC0C8290D35B3AC0E5
41203401652E8AEAFD415E72A8B4D8F3C13882F78918AB86F66A305804775D31F053
4121E947D0C97CF3C48550B2074BEACA87B9532A83C43B44DA8815BF1E7694AF202C
412260E66AD2B22D13A21C05F441E0D5E11024568743F5664FDE68856BA289C9F6CC
4123EA29D561996F7FD4C8657BFAF84D2B51D9105A6B56DB485B74317C8965859786
41245B9483DD4F13DE44A8A5793123046206DCD6B4B8D7A366F9899CF8882B21EDAA
41253041428849998362A954CAE8793A846B24F186D117E36844322EF158EEF4D1EA
41267C594BD937757D94D165A51358DAE698DB5B0F3F5267DE03190FDD51C2B684C0
4127E38799610E553E5A9B4FA27E3BD3726597634F456D0C61B51DBFADE1B7179DCA
41284F8ADD2A8E7F2A0C12F7324EF1CD7DA47F3D5913029662FA9C6077F3C9902897
4129D363984CFAF467296F72C3DDB15E6A8CC9B60C3DB7F15062D8F32ED1677C52F4
41307BD71768C5B14E9E8254B77D80203D61C7A46B18279866D219A24F1B23358E6D
413111D2B7160BFA3393EB9D1794304A8C7D094D234F1424DE481F1F5DA9C1EC4FE7
413231D4229941A14B401F512EAA7C0C74A42E47741B03D1A78706470834ED36923B
4133C0A52AE6D31A08CCCE1AC02E994FCBB9218932F6CE8B0BF79EE393BDB4988244
413483C384FB3333E09DF0BBA34656623242AFE31B39F827BE534333A93C1D3CAD95
4135CB3D9E1587FB694FCE9472358AB2A99A820DEB422A86A715B15CAFFFA1BAEE74
4136475E99BF177ADED5E1A12ED5E3C662E2D3F26EFBE780DD045978D5965E89FFDF
41370A5948E692CF7DE29E5B1A1D33A030D55E1D7BD6A0A717EEEE4D3EAD512DBF4A
41383A8D6918D3396D326257D17386DB2BA6B55D5E8DE1D070A8D3E844D39E35BBF8
41392EDE74110186F43A09F751C485289D9BA0B7949E287BBE648DF618CE9A028358
4140DD8E5F2758AC8358DBBDA07ECDB00B77407F5D09D87AFBCF20F02AC950C52FC7
41418DE7844C4C4AC8CF70EDA68E9BD55C00013DEDCA5C814D36B53FAC4064B8796A
4142EBFFA24DA2DDDA25D3738192BA50F2F12A68596A9D3AFF33CE3C040DC62FDDB7
4143B8CBB3A5E878E6E9A0C52F970946D81E5C873186109D4777ADAC59F855A483B7
4144D796DCF4FE6DD4D01CA9A3466BA843D4EC7D665B8719F669429CF0BDB4FAB6C1
41458F34DBEF53429D1A006BE23F1DE1BBAE68E53BBE40B4D979B6C0A09134C57853
4146A385B9AB8D220BACCC1D8726417B838510BC1C5BCDBC81E62A18A54417DDBBB1
414780725F5499CA08CB1A01AECDEC7ABB36CC518A35435425CF3B4AA1BE49ADBC1B
414817278DC8E698CD55316B57C1FEA461ADFED533808F009FE161813F5783FC76DC
41496E3590BCD34C91DCE8B35F73BC42C44E5C477225FE02DBDA4F42F4A482E0E6CF
415019EBF5F31E2D425E80C4FDC8FC06B57DD9AA060682A242F159C3B7EBC50A1832
415160DB7B5602085F119E471C805A89772FD6B97E9AF9749E2EF7DDF69D39E71153
415246BC2E75654757D539D23460E4AD8F2039080D61B412B37A6042C090A8939E33
415323A2CC49B48B72E6C59AE422EA56911399115816EF6EA7E4C0F75CAAC5AE9180
4154AE852BEC0BA3D2D6CDE9DCB32E67E682AE5C115CAE3FCAB4570B6902B6B25E89
415559F4294FD6F4E8512EBFE752152DF26F9503A0754BC8ED48EE5F9FC492701314
4156F9D38D2F5931DCBE8BD011BAC4EB016E116AFF7225BB06F9D7CCC047FE5B8995
415706CE92D0E1777D667C4145B015D726CE8AF0C560124DF89C95F58D6C6BF2D263
41587057FE497302D6DCC60064812AF0250DF9754B16B0840929349814DC489EDD37
415962475072F593EEB69745E85CC13A74F5B9D676440B64B757B2DB67B105054373
4160F8F77BA303A993787AE579F7C16120818C4621FB69A359258FE74A93880B3ECC
416165C6C091B4E3C4781039C7B4E5C60DF19954B5E16BA170111535184DF978A32F
4162C259E863DD2531BA6F7583C856842289DB822F21249C54669773215ABEC5ACB4
4163B75B09618E9816398DF9F6441B06AA3CAAD7471371710648585E03830E4CFF79
4164C2E132E9E3443E3181296AC32463EE77353B63E56202198ACAF00F6C3B18594D
4165ED45B5177BA8444BA0BA960186411576299AD0390A96038F9272533228E60579
416639DB6A07F76CBBDEB0771B212E6C115220DAD4F40A4D72580E7F4F35D7BACBAE
4167C85AAE2B5C19337E826B304B0F2275982B9E53E9197C104FDD31AE6CAE916076
41689D883898467FEDDB51926CAE802AAE1B0B854574DD225193C8B8175D5FC3698D
4169F91518F7E295C63A4E0CAF526BC5133528D08ACEAA51CF2EAA12F19BE72028B7
4170BC0B9012A6399ECBE07D6C0A8A63F4FB16171E8144596F7E72E9212979FBFD51
4171CB22E314BD0945C253AEB226F48C14B09D1E16994F4F998C6ED0FADEAF6FBCAB
4172928A9DFD791B0798336B167AE7DFAA142E7F66615DBFA5C60C9D648DF5C7CE0A
41735EEEF5328AC3CF5DC8069F3FCF387B0AE5998EC6FDF6473735F09A01C134305D
4174A849A5CADAE3A5D75268336262DAA145FCDB8367C162F34FB2129D5B891D2834
417519D225B9AFA19B886A24E63347C8C3F6D18555A491CFE87FD375FAE4CCBD05F2
4176068306B114F719C5F815325C816E544BB18B23EA3696AC428FA93EC820A0962F
41774F87BBB1451B061EFFA4CCD006F824A2EAF335FBDBCE70364CB2B1B6A6536893
4178B0898C620114F8EF0F1A08DC61EA905B21FC040BC94A876233382BD4A2240F58
4179937DC70061DB2EB774DCBB5D8EB6AB0040C653DAC66BDAF02B475A325B15C68B
4180D84BAEC97D714EDC21B11DFA7DA5F61E9F8F3BAC60C831392BB2E06ED6D91A39
4181E117056185DC97511DF6CB8A98E7082C61B8CAAE36F27C6A610181677A1F9D72
418233EF80D91BD0F2B243BD9B959250758E5EE8410E9BDFCC6A40A5D1BAA134531C
41838C38CA61BA2F5BA9288F548690B54D6C3005F3510F008E56A5121EDD51FC3D7E
41845851184867F203F69CFFD9F1652553DDE002AEA1B94F9671C2B4EB05105644DA
4185F94991928BBF13A68801BAE4D3BC27C289662E40799D5398416DC5FC110D5890
4186BC3ED389E572F9070767E5DBD1B95EC0019C218CA73CD21BA7EE9460B7DA19FD
4187AC097C35D3ED5C31A263C03B748CBF5799DE41EF262CAA6D796E3E4BCA7D5BD1
41885C80F9C7BDD9C2D6480A00667B3CF26BC2CBEE260B3D3DC0BE0F9A0401354325
4189854CE9D8F5B990D83CE7E7C1920924F6EFFA5361F9AEBE2F666048F67ECE58DE
41906271401C9A585CA2EB43A70DD58768B76457A27BBEB4072994860266CF32A8A0
41910C4F99FAE668972FDB8A6CC60DE13DDA3D597255E4EE1E3ED43A91754F6B8513
419211202A7096A93C7846C2BE0BC9ACC628659FAE7B46502144CEC96BB97BF461F6
4193A6835D550BD5220C8FF579F52BA42B32C76D624F9F2E7347C48622202B3BCA1D
4194366509F881A31D9C3FAF365F1C20975D5677A2ED441E169144F8D0B6925962A5
4195AD92CE8338B8145122D55B938684A0056E8E9B09E20D8FD4C26CB0A8DFDE84A6
4196A7778ACC28EF7DBA6FC1CDBC5705800A29FBF238AEC1763E0F9B02339FA6A8E4
419711D8C3E9DC97CDA9312D91A3A64E72ED65ACC8B9460E77688BE8C5315E31010D
41981A2595442F58965BCC7AB3E245D7E82C869FF631D6B5154A178DE4C5C7CD0DEF
4199B5FE7A13BE0EDDB3478F24E9E415E0999936DAF4001200CB69010A27046EA11B
42002C677F2F838885BBDE9F370E6D981EBE3814A6E26DF7398E71307C267E91CA52
4201FC7E4039D45A538B225E1B285688E4CAA243E1A05ACAC6BD29DA173D99831049
420270C9EE5EDD31D644683A5458E9167AC38BA9EFD44923463298A683D449936D01
4203DE6366E1369E9D1D37A68CAA3F379A012895980857A510A624C669CC103B71CF
4204E507EA75854F0ACAF25FF1B0AC5CAF338D21FFF0F7941D9FEA340A2AA9659F58
42053EBBBBF52469CECD979F4BD3FAA32763EC2304810EC2341F52678AD8F267385A
42061FB9DAB00F1ADE83E37741CCACED5214460FD8A487F9B9C77A401095434AB8BF
42072243497A1732510CBD90675E073BAE7CB2C4FA32028EAC040AD5B5B3FE4675D7
4208D8CD9173A7486EDBF9FF59B02F42982CEA6E2E54CA12175E3065808CA54124F4
420933C0B1047BE03EF8550BB6D63FD312B9DB10713A6F4EDD439452083586A22172
42105D251910014D503B571862FC2B9A9F6818E5FC4D2BDC61B0BF3A65A8DB578C99
4211A34263CC197B3E08AEFFC1A50AEF145004AFE122098FD5B31D98C1301FA9FF3C
42127E5BA9160E88980715743756E34F840C6950023A6C9D6114348AEC5F4236D34A
421314E80D884B0AC4D368AABBD7E4955F2818C157ACE66AAC950919ECDF8038A985
42140372A6DAC4548E8E17BB5CB06C20F08A9DA85132C20B91F5CF0D902190C25A44
4215F045FFF129E607D49FD4B707D437E97A1B1303954636B4C541FFB0F8354C946B
4216E258179ADD8096A1AD49C11C81AFBB5564252BE349486A7AC8A26C20F7B5D404
421718A08B4412E0AC1FF8A18B687722041F3AC5A1F1E7567299CF906AB0E37143CB
4218A3703FCAAE846FA55B7FF43FF7EFE2AB34F3FDD9A66360D669459A54D96A23DA
4219B5BC73CE7DD9B433773D9F4F0FBB55BFDD6BC18EB47CFBDF3503E7C60CC785EC
4220F6D032CA9A9E8F9DFE7156F76ABFE4F2436BBD3F0C942C65D1E182F04FAFF45F
4221C6CDE75ADC8E0292D7EDE48FC45E9A6E35D5C45B87E4FF82BCFBCF95025C2976
42227901B6740EF3ABA5AA29111252003BCE13CD6A3E6C834FA0E4C01BD076E47962
4223EF303BDE9DD09D6907D836CF9199E7C47416D24D24093317F5DCF5C833956031
4224CDA4943283F99C0B308D5857856EF286F8E020F7EA923F17101A582806939AF9
4225EC02BD1B9CDAB8373938B9BC961389D769642ADAADB26B39FE2DF0FB8E812655
4226040F93A9C9C44BABB746F0CB51D8B2018B1F5620D60F624347123ED831268F35
42273F14CD8E693F35CA35F84478B68BAF34A519167202596E9A087583E56DC53AB3
422817B8C3B396453156E007DAA86D441AC8E874A987855928CF78D990B027C3F4AC
422935B7CEBE10A5225B84AF0AF2FB814384986D5B50D624B7C2CEAAF3DB1C300AFD
42305D492291111EE99F371CBD35B6B301F6F141B12148B9B48F2981261CEA0781F8
42312C6EAF4F78E03B8EF8FACDF79C2EF33FAFA7B3695D0F259005B896FAC44D34D6
42324C590D55E611C34A22E1F61D1A58251C0A962115D58E0695DF6A98F505DF44FA
42337D7C21170D98D3A6652F8A8893CD739FA8A9DD73E6E26A3A3B6D7605C9F7AF75
4234FC8A71DCD925BAC4BB99203BF81D2617C2E0C6E4BC21721299013D3B9644120B
42354ECB846F77B3AF897F92813102E8004F14443BCBE6B81F15A9423994B749EF4B
4236C3737CE7791B0577BBC54D29EB458A841E6DF73FC36DBC2D6EF65DF0E53544DA
42371CD9FABE29F7172EA3245EAA958D05ACD9B91E5BA30414DB41ADDF8317F5B7F5
42381FF06DE55AE1573A5D0FA138DE4D2F078DD7D7926C6E98374871586E6ED9F5FE
4239BE15D9433127FF0CBCE30846CE71E4D84704AF00F19FA0D4D54DC1CE2E4991FA
42408ABE228220D150AF3211E672064B4E59FCAC1B48CF99306519C7C1053E422CE5
42412EFC96E981C5227BEA54F9651B59B9F3026AC34080355FD05CCF22871E0FB75A
4242BA05BBE538541922695F1D8FCE7D6D0D92FA5A11412203296890C83FC49EE6BE
4243FEFE63B3B3E868F92AD389ED479C04D76192DE6DC0D13DB91DEA4651C1936BC7
424449181A960FB872A8C68AC09A385A0EEB9C9C85654A208EB86B2173453292CA9E
4245634EA2944F64F96C259369AAA0B9EB07535352C25DDEA8E92D030BFC41D66670
424688F861BA06264496B2BFCB8DE46084CCFC4F3D3BB76E402E97980B08A9690DC3
42478FBDD6721961810D32E8626D528C704F7F1818FDEE1F91A4AB16A6B817A33CC6
42481AB08A2A36D424929872FDD701E83163DAF18B14B101A809E737C4137834A764
4249607B4F416980EC7EBC542BD62DFB6CFD355EE815A64D14299B9656ADF85000C3
4250AB5CF404FA4D3C771AD37E1CDBD3DE70687096790950C0E3EDF6A57FC60989C0
4251A421A529E6C3AEB98A225704C97F5AFCFBB755C6C9FA193F5E89EE8D21A6E043
425229D48B6D90798E4B1B82AA0ABD368099962C339FB640CEC9CC1192C751EAD1AC
4253E1E450E56D503D7D091AEAF955B537116ADB479C90F16BD815AD592031DC85DF
425406E0EB7AE0F5F35E69720B5BE8318F7033F49E92FD81CEB291720B3160C897B6
425574F5865F950CD8769A92DCAA6A45BCD37DA94DB12E5C12B942D1884E5D050891
4256B24B82A650D059218A5DBFF61B6BF399C916A7E1D9134C1AC1ECA2D2EF33C249
42574A38B17EA1A050FE2D6F24F4B44D03633D37F84636B2035336C7DF456C23447C
4258CD73BA41C1D5A811D06EB84BBC21AB877DD9BC3FF1949DC783A184BDDAEC71CB
425913FD629F24410728C2D96FE91493C54E70FB17F6B9FB28B1B6BD03A2610E09E7
42602B393DC0B4F138C003B3FB77177761E7B84BF343C940CA39B6C8E2B725C7F055
4261D559E296F87AC291047F0068D3CD555D151C1EBC85
42620000000000000000000000000000000000000000000000000000000000000000
42630000000000000000000000000000000000000000000000000000000000000000
42640000000000000000000000000000000000000000000000000000000000000000
42650000000000000000000000000000000000000000000000000000000000000000
42660000000000000000000000000000000000000000000000000000000000000000
42670000000000000000000000000000000000000000000000000000000000000000
42680000000000000000000000000000000000000000000000000000000000000000
42690000000000000000000000000000000000000000000000000000000000000000
4270cleartomark
4271%%EndFont
4272%%BeginFont: SFRM1000
4273%!FontType1-1.0: SFRM1000 0.3
4274%%CreationDate: Wed Sep 12 2001
4275% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>.
4276% See the file COPYING (GNU General Public License) for license conditions.
4277% Converted from METAFONT EC/TC and LH fonts:
4278% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000.
427911 dict begin
4280/FontInfo 6 dict dup begin
4281/version (0.3) def
4282/FullName (Computer Modern Roman) def
4283/FamilyName (Computer Modern) def
4284/ItalicAngle 0 def
4285/isFixedPitch false def
4286/Weight (Medium) def
4287end readonly def
4288/FontName /SFRM1000 def
4289/Encoding StandardEncoding def
4290/PaintType 0 def
4291/FontType 1 def
4292/FontMatrix [0.001 0 0 0.001 0 0] def
4293/FontBBox{-189 -321 1456 937}readonly def
4294currentdict end
4295currentfile eexec
4296D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
4297016CA6B55C6E47AD7A9A958A6E22E00FDD4D6492D53ADDC90ECD778346C06747
429857609FE8907DFFFED75E2CF963A64C7F72488F4A02372BE681E9BBF09A9CE5A9
42993894F6358C244FCD46C148F1EB60DE2137E6D3079D6AE03B3724F7D7BBA47BC4
430041C27FFFDFF9FB7B7738A8D88C27573A53E244723E07C995948DED2516B6044E
4301ADED62C496A56BC14483D307884467ADE985655A4712DD06ED00811F9A05BF9F
4302BF2AC66203817289FFB5BDCD0445293981AF6F55928C132E885ED009DE1B5FB0
4303C230370EB5156A8B609E466F00F768F0A52ABCFBFCE3514C0FDDE31E601AD508
43042666AD26D9DB386B9FEC80AC197C9FE7447928C0C6A2858375F0A1D7AD3BE53C
43059A926DDFBAC60D846783AA97CB86F804701BF53F7C4D18B925FD604F60231215
4306EBDF4FAD73F2D13518E1901C3DA00ACE65647765106EFCA89D1CE17ADBB75815
43077BF819C45DA64CEAA10062501C3B0FE0387FD5406CBDB17A69376AFED2632E2A
4308C400D16CA3657327EBBCF7CAC55A62AC9AB3D07691C97D98ABFA2A4C85DB2345
4309C8773110004A7812B031AB3F9B3AB9C7D0E5A2317931334466110BC5C95CE00C
4310E1CD16242B71CCB962978DB5B8FB03BB2FED25589D10F8B3861F73DAEE17BC59
4311B909B17D2510F640D341330CCF08ADF9E3106B0C8BB0D04D5F939FAE21AFE501
43124614CBFE82CAEF30ECC2B6B47B373FAB1A828AA3CDF7B59BF013442EEFE267AA
4313AF153EE99EBE4743CA764DA09185666446630553F3D278E1953BFF08FE477C68
43144661A47656EC28B2039365CA017F4F1B6E9F85525565795336F7136A054E8C15
4315A5DC42CFF335C364E4CE3AA6B2D994C06755AC8F47D2077CE2E78D55C139FF3A
43168FB1AC9F23B06E08130D5636F60DD5462F796B9572D41602B364404046DBC3C1
43172810C5CB192F06CCD0DEBB630AB851F83DAA632969F031210CCAE081481BC26C
431870241E3B6A9E5D5C9D03D0CB3894B67C56FC42B85256FD869D386F4E111424A8
43195440D6DD0F8339C5B26FF77B5369B85AEBCADDBF3B8F0497D01DBAB7D519ADBE
4320D96E0CEC25689C42CEDF7DF03D7E272CD37586B57E786E92070292E9C3E1D47E
43210A6896FDBE0E928D5DB66C5EA2E6854382AA5CA5685B9153690C89F9054DDC6D
4322B3FD91105C0A009CEA600CFB92229B74CCE1D5CD54B5B98FC3BB678BEBCDFB46
4323C6879344596FB5F8D06F944125CDF74583DD980518AE2D21CEFDC37035CD52B8
4324F789FA9EFAE3616AD9FD1E3DE672487EEAB7641CB0BD529CFA779D760050C8CA
4325845F90A4A3C17D3345F693A399DCA2F57D33E98FF89327E11F4488C1178F7685
432690168A50018F480BD4A37773E7E94D1CE78A7042A09FB8FDFC8825307CBEBAC1
432770EF577F4FB5BFCF260A4A974D2819B6AB69628EE35FB5C9410C2DD7492E5B20
4328ABE6A0B351A2C7848EDC71C154BEB335CB8D729783439C3C30F66E2B5A056986
43298C1976D07F0EB87DD9A66432ECCE06E3CC7AF6A949BC0F04038ADC737397AE47
4330CD1B4DA2FA4D345E513FD2989E631538416DE27A398249225FBA2283D19DB053
433132FED3F58AF914AE91715B82C9609E21115B51A1BF84E206CE9AE237101EBE5A
4332D2A733DE210660CAEBCC0624FE053CD1BC4E240BAB92A63D02BB936FE3FC1B51
43334C17ABB4CFB6B5D336695D6564C4D558F15D8B8DF67E2DCFA2329B685FC7E54D
4334643F7C28AC6661022E895E2BAB631ACE06A9A9FF209EC740EB5778F383FAD114
43353830B37E5F85BBAF87266E04926AC28EE58208E5FF3A7F77691670E52EAD9547
43367C862FDCC7E38291F9D57A5CFC242C3A6CA52CA6F1FD70DCBD7775A922A82BF8
4337FE45235B905B88AA1F57077E40DC39A24FD0F31FEF0E8AD8D232194435E1E46D
4338BAF38F0A1DF997F7BB595A7DD1FB0641EEAD89461E96EB0CA9B8F74507554EF5
43399D717625D44575E168799E96910161478FAB68C09FBEB2C71851C9A266D00F71
4340935DED5BAF7ACF97F2903EC9F39DBFE5034F884D07B3DCBC37AFA1AD3FBEFEAB
434115171D267262E0EE3A1B308928220DFC4ECF5B47D69E05FD209C78EB04C02E57
4342BB179CB25CDBB9EED3113315449A91166245A8E296F5506423CB0976CFCDAFE4
43438A6325C7CC8C296ACA9F65445301BAED4B5C0741D4A6E842DAA661EDF41F56AB
434444A01ECBF24084E8328724C6B96C4AA9861BFEDD8B868D0901C0F1A6D8DE936E
4345063A86D882388FFE83164D48F8ED5325D93A44718CCA766DB7E79308A424BB95
434696C01223258CE375CE848749E9776BAE09E9DE0B40A4E60CAB87F5DD44027A7E
43478A840B4655DCC73B3605D2AA42440D81C64C56F274B3AB76DF147153A71361A2
43488CDF1B9EB3B7408A2061915D01EA2FF8FD0FCC2671D7598440AE0BB0BEF2B686
4349CEC58565836FDADAB8AF8B41781E12C156A0C13ABF92BFD5D3AD648739B45BDA
435063F1667EF43B5BFEC525CDCD5EBDF6055A56F8EFB0F344029B4FAE13F5F39D43
4351D1BB90436218D25A2700E4F9FEC0024E40A9EEF27DAF0B9E8644F305289E2720
43520220E95F5B2C235A30D2F970486820AD219033ADF8EE59614415C725D247D1C1
435313A2A3E97AFF7A7C4754B34F0F887D0DA522E23CE4B53543EE23274A4E35AB90
4354126937F05024AA805E0C9B1247F592823A4FD66516885AFF7D982BD9961E83CB
43553A428737E1BAE9CE248E218B8F3C6BBD771BA744450ED82E0F6F47D14C8F37EA
435653E0871C69C57E357DD91C6EE90FD8DDFFCCCF53675B9256CF5387097B94F548
43573928FFC038877FFBA23FDDA0BCD20A59239032099C1D4E81FA79D1B73F657FB6
43588AAA09DC49CF836758C3ABF74F86BAD5DEF2C0E27A67924722964C457907EF85
43597768FA8BCB78A942A6AC7E735519F76EE1819C62311CB7231B90B4FBEF4BD42C
4360E5148E272C6A07C62E44B634B80EAF77C4678AA003ADCCE107A62413223359F4
43615D49BE8F9E394D1706FA900038FB78A0042C6E34F9EB2430255451EA8BDBED24
4362B33D2C321A8AC238508C65A7891ED5A200D311A5CCBB984CCFFF4984B6C973E2
43636B49D2DE75366CE29B7370714477487F7DB9B92AC6CDC752C1A8E9347AF4D8A6
4364BA18F7E20D5266D5122D00C0C12130E00F6F4345E5ECBA9FA07AD34BC3736E7F
436505D1DDF60397ACE0B3D05AF6B3539B9ACF4C51DD58485557CF0E93122F862442
43669EDBA0EC2349B037277B12C1FDB1A140C181447FFEBBFE1B129C727B97DE0CBE
4367BF6566D46CD929F59D56E5EDBD46C31DA97B354C30C957C8AC043A1A15ABD592
43688B0BE4AA2722B21DA5486F6C7E238C2B1D51D0941763DBCB00EB4AC62F92DAAA
4369C3BFFEDA5D2707EFB6C956FB2938A9F7692A0C7F53F0FD64B09DACC9C7369094
4370236A028036BB2DBB9A8BAF17F2E1683E2CBBFAFF80AEDF853C4B6AE0029F09D6
4371F82000FD6F9610EF405DCF2341ED099900F9CBF3D4A0DD4CCEB0A322FD64128A
4372A67682A05FE781364D5EFEC8F31FF038572A939790B6F8D8922E39B848EB8A79
43736774E35E6A9E4FAEEC157AB1E76F5F1FEB3C51EA2546A25390A0B65779A96176
43743DA072A2F7E6D9C645D2EA3E572DCEE4367E5C48C027D889C21EFD9CB662BCAC
437506E1FC6AA5FEF8EDBDA26B381F1DC93BF9CA6308CD93E5C302B483BD8C5DC96A
4376E0A549D43F0F0FF3C26AD6F167A57E16AD3A4BABCB916C1DD38F7DE255AF984E
4377731FB5DCC43D4F092C1F2A7C4B66383E542DF5EA6C93D92EE11F97CF96D876E0
43780ABB14CA302180B5F195594927A440961CC682212B91C49A34CBB31C63BC213E
437901333C8680E45C2E567244DD437C9DDA01C31989FD377E95446C12AD4B31AFA0
438036642676D7A11670C012ECB95A1698FA15591CE3DD9459D56F730021623FB950
4381B5AD26DFF7B8875FF41E027995C83844A337AF36BFB304EE0B1474CAF944D3F3
43826F6578809A8C34F93467C904661E073277126B478167DA127541626E069F54DF
43830487319E7372F40C4B5B596817F2352D88E60966020B1AC5069A272613C152B3
438467BDDA469E4AFD9A5C6CA5940C6CF164F5A879AA563F78644782FDAD4A040839
4385172AE1B40D18E3EEAC3DE65FF1E36B990182A7C552DC797F9282E0058FB833A4
43861FCA23C93202D5E80E91968677B980DD72D4849AB7182B587234FAFDA66115E6
43877207A8E469C59D8D75BFA359D398EEEFF042E3039E13DD9EBA754B4F0E7EFCEA
4388598C4D5D03A83FE3E12ABAC555A090772904542194D0FA7B8DF087D28C520370
43890A1B0467A3410C344225461587359DE2D0ABA8AFCE946761C3C25E6DB3BA225C
43907EBB46ACB75BF41ADE04A99CFA6F40A62A8DC06D1FB428CEE7220A24C4F710E9
4391390E31647B34FB4F4BF9DFDB4970009E87181A28BECD9DDEF0AD7C4F17AA5DA7
4392355D53A731F040A2E03562C91747F8D772202104E707F4E1A4BBECC58D564A2A
43934AE1EB3766EF2447C59CEFBF4DBC586BB076ECD68865DF1005883DC31FB277C8
4394A73DAA9C33F7584DBC29C1E854B6433ABB0C95B20A2D15E7B8783FAD53D6DBF4
4395C0C7733A6C466E3F9957D7D204A06E5E8AF2CEED07C08939A3DDE2C62A9EBA62
4396E260D893C887B93C492852AC88D4C0349125EA311F492951B2CF10C40502BE6F
439743BA2AFD0CFB80D2FCFFAFBC9326373439B566F1D520AEEC90B1CE7814753631
43980A007016DC9436272D0F7D02F07E8865685360068A7324BB45C4E1B14AF5222E
43998260659A7EC53FB6559ED82662A6A71040D5DC5218644D0B6E89C7B307B119A9
44002DD149B68AEB439BEB6004D3BEB951C5A77E2347719C840F9D80FEB166DB2921
44014561FDF5DEA9847290AE36776450A82E332578CD68E18C8694A3A112789DCB9E
4402BDE1370D442C2268BD02B689A06E3BF6A7D973D0558E38708EB224BA8532DDB5
44036F9B45F5A779188F573DC300C9881CA3FEA82759F805795998A134028BFEAC36
44048CA611C301EE8888A6B5E23A054BB979C3B2765A1A31039603476203DD8A41EE
44054E5F2458E582904611C1E7D6A5D35DDCA32970271BFB1B21A18EF7A5064CB064
44060FE67FE477C08B31C99A1F412C57EC52F22DE68C10A032E2DB4E9EF0BF7E947C
4407AF49A788DEFA49953AC2CB3A80199AC5564A78467A0DE9653164C690E5E1A43A
4408A0934806C61442FBA48C3A72C6DE2DF791BF25A0818628A3A2D6846B3F80CCBA
44090D8C4A73AF4A83C3A8A67B5B7C1105A8A616425C8C01430CD53B87B4453E661B
4410B5135F61CB43AE29A4BBECFB543F88A65BE5B62BD9292D3A8AD77E104D23A2FF
4411E0A8B42D8361F4F4AD697AA4113FC736C6BCE4AB5EC199BC38509DFD6F770F66
44123F30AD895A1755943936612438AEA57D95DF26492FFF58DB28F3E9D392EBCC63
4413FBC6312A96DB7AC1828C9F348AC84AE11AEA0EF827A4990AC8B56F7291E33D92
4414E4238E710DBF23765DE7F55E4CF0E5E3B1B7752ECEE67DEB3C4B8B5621EB3026
4415B1B7D86DBB3CB49480D82EEE041AABAC78B9A0159066C9E1E1B3F0B609F7D6A8
4416D961E40A742D4DEF88749B7866BF40BDB197273DBF932EAD731158AE8E59584B
4417F2C14FDB41055DF050AAA294962C772E462E596A2BC5859DF71FB76EE853DE28
44186F488D1911107F16D275CAB98E00218FA8EA1466420A6948354C4C2107BA9A66
44196A0419394BAB966F6F8438EBD7C3BF803B2AC884DFF567CFAC4F14127EF9F57C
44209E871B94888726133B02EF8612DB5D9C59FA6753CD52FCAFA6EAD1547E674B9E
4421AC2F89769561942B30CD8F435656170684AD5F833A4FA58300298B11CCC10DC6
44228BD3C456E755A3C7659ABBE847174A74375CDB6AC5EF4370E07D7B3AF4B2CD1F
4423FD6E1BCCC6D554BA23AE35137D9179ABE05CD7F44E3EEEE83ADA9D54DF5BF992
4424DF73B6ADABB828E32E0E5E776B6A4EE93F19E0C7CADE72564CB02A28FBD48EAC
442590FF5D7101B9A16DAD8F0CB047B3AE8446D1FFBBB040C8D257870A08DE2618D6
44269C46649DDEEEE098F242169281079AD5F94F4D46106E917A6D8E5C341717EE4C
44274E5B30C8EB8C34A6B1BA22E733B3FDA9F9B21E328A19BBF80843B2584EACDBA1
44283ED8C992268C3BFB41C1BF8699D1A13E6DB023FD71495D647DBB227A144719F4
442900805345777C502E4DD741CD96F9F3A2E9A8F1935AE395D789B19C45C34E00F9
44307E97D2DB43CFAF1B243B7AD72631B7A9EF583A03CBA575788EB9B9FC13053A7D
44312ED3646C0C4EFD1B5BF8E9EC27CD83CC3E5EE9328797E9B2711285B001D05DD7
4432F47A20ABEE6D518129A645176E1413548F70D8B645FCB5729D3E371B43BA4B41
4433CCCBE44E4B57B7363E38006F628938193BAA442B075924607D035DBE1253BEC8
443468510AAEE4FF4165FE35E149F14A7ED8305E2C673A29D1F779DE999433EBEB76
4435456B69DDC90A88CE30C854EABA1498CDEF8BD9F3DBA0A1C28AD58F4C24DDBDCA
4436E422301F9D4C7E84577468E2942E4627EEA57F01D7B319F8F498EB827FA3329C
4437744C038CA5E93FC02A160331EA4C88D993A41F182B7A47EE9CA676E7D19BBBCC
4438A0DB5E4D458BDF3DE1588DCFE5A854C998C7DCB12CA41F02EEE710E7AA734227
4439DA8754202ECBFC7F94C8534E760D1EB092A16569B09343888C8BFCB4BA4D75FD
4440B0B027DBE706DC8A504273FDD95DAD898911647236459B07957983587B8F7265
44414188680A02D5CFA911032205BFB45CDE8FB95873D394AA7CE5EF8DA0E7F02425
44421BB0EC195873B5FD273B3093EF21DAC4222BAD0927B55FE301E0FCCAC9A7BE0D
4443F9C8123DDD1FE98240762DF9025D6C30DEB1309E95FCCDC39266D3E4A190F18B
4444AFF8145444A7DCDB5273C7511CB4676FAD01FFAC7B89E13A6F1745E4694A1E16
44456823D7AED054EEECB7711D6F0D5A93815ED9352CD15484C1411E018549DFDD11
44469754FFDA86DD1AA3B98D810436824DB68165D8994030FA0A897B4D235905878E
444770CE626B47EE5C6C45364246A167EDDFD67AC003084D6BB74CAB963863B3D691
4448578C22DA7FEB9E4F12937740FC7632D193CFEB06FC43C66D1201EC8C699C4F03
4449FE04A62538384BF244A807198071847D6446F0DD57F541F3161074E3B41CD919
44505326E283FEC7943DB8616B89DD9632E1213A919DFDADFD2B6E55C511820062E8
4451C72ABCE134A3479BF750E341F372EF0550084F40A06DCA1790E7DAD0CF58D396
445265E2C28B103AEE91740E2A3BF369ED246E697AC0ECBA84B0993E312892B18CC5
44531B2055286AC280D35634C288550DB20C2619F4C14BBFAD0EC565E737CF8477DD
44549E6268868F98D03CF2BC22D2EEB9533447DF8C324BF709E951E6E688E7186D30
44550837F93F3BE85FFED7D5EC27E0388F551282032FBD3217F7EFE75804C70BB9AE
44564309B34137B90E4417B0C5E9D85B02E60F4C6D5341C850C8AED4239A550A850D
4457AF7CA372A9C7C4FCF865F9A22253ED79C70534B5B76DCB93A22FB9658B4023F2
4458CB37AEA49B6707443F7F882AE90FE5927569CB2EB20409F295F67DC7C58C0215
4459FD9FFDF32CF460832254061A2E632AA48264F9A14CFACA295C846272F1FBF107
44607E786DB51FCD79924BD3CFBBE3A4BE19D82FBAFDAF96BA395D0F02753A2401D7
446126FCED7A6F36F438A5C0478BDEAAFFD1706040F93AAC1DD9A616421ECE4982A6
4462E06F5F015987A8D0377B0A329BFAA39EB5F85BED22992E463158141E2B98A8D2
4463C6AC693DCDD077425545D1A85B96F792FCC991DFF2A444F01AF5C5D0B311EFE6
4464AF127E30074DFCF486F41B2D86C404C1BBE3AA3E9EF090367BAE451A303D6A41
4465159F56CC2695CB214296C9100E09A751C10AD9809F58BF1F55B3EFF6084DADE6
4466B065BD20BEEBCE9EBC2BEF084C26F81DC1CB69E49659140DADD4CA458F966944
44678E4F15861C21A44A7CD2DA1C3F466BF4E857E48A7AE87E62F7F3ABECBF57FAB4
4468DA37992C12F98C614BF0BCF98668E3F24338AE9B7DD34F72BCC6858F1F68149E
44694C7078836335CB3830C3B2E11A6248C4485AFEB935764507DAD1D156FEF121AF
4470DED848C1AACBD7A024C2FE254B67D6A21F2B50FBFDDECCF6193CBDCF1336F8E4
4471D8E154C278108E93449AB8BB31789982D566148A8850A72D727146622E76B9EA
4472470066F36B30E7BD4A284E2E82D444573D6CB83D9A7BEA26F2BC85C2E56055C6
44731BF45C869DD22F3C72E98AF8910F5563FD678734863351A9658DEA635D04CB10
4474803B3002C8A34C0A5D928469C8C8E6BA569DF26A74F7A8D5A62FBD9D6A89DAA8
44754D6638A415E49E919F3B1276071D81F9578FBA995DEA9DB194030ED94F94903E
4476C5185272635659CE152AE8FD1E3E418B1B83BAE915F099648D6FF77B12E4164D
4477577B2E68B3BB4D0707DF97F5BB698636E7B8920ED125D8D57C331FF687912D6B
4478FD8798D27394AF7F4F0012382AA3BBE0CC5384D1756478B78D2A4912465AA29E
447975AED6891EC0E5A59156F005A297E7D0CCD7A756035987F6A5346041A936CEB3
44800C5D2010BDBD866DE57AA7A10C10DD37A377615FC761955E88A9E462426A9F04
44816987618DE9906C730EE8CDB2433060A700AAFF7C1EF561B5BD2B6C371C8BE8DC
4482A56E15D6E646EC32BA4FD02BCBF9146D5BDA14F53765437534FAA86A8E4D25E7
4483A0751195B28CC547809329AECAEE551B608C8BCAABB224C18433977140446D2D
4484AE060B4D7C12AB3E3D1F7E6724ADE6D1D9E3E1A67BB68257AEB962FA85910498
44858C95C23E250FAB1A65B10806DB045CAE0D07C101288692191BCF9C3FF4D5ADDD
44864E089905350C682DA4BC85BE0B5CB46EB73650F2640205DE8C16112ACB0A383A
4487F510EEA3B982B25AB0F93D296CAAB4BF0452C7BACC8D65B001332729CA1B913B
44886C41741A8706EE125994271F0B5B3A5148DF78B2022F0BE413CEED24F5B8C579
44899479C0B57C8051B509168898F0A39FEFDF2C960468100A145D29180BC2878F89
449082639A22D4B5C215518A53BB54B02999698ABC09A67527FF711B3D85FE62F9DA
44917DEA4ACCADF5182E7A12026AAD54821B1F41AA1A7A7519E343CBF0A3ABD99337
4492A09AC0E24A1304B93408ABDCA9B2C1730401C35271F36704CAEC1A529C1A7B56
4493EA04B8ED502534DD90080F5DAB27885183D9665CBD6EAA5B20C2BF4E401C1B6C
44943B4FFAE53351B23B3F2564A9012AD2DFADAC4C372E4C019A9C4BD0698C165698
44954DB029444F6DE6DDB7E52D5CE34C08E8DF98C6DB6D919A4DBDD7DD4B8F205C30
4496DF8D13F727ABA4802F0AF842531FBF5E0C9B1247F592823A4FD661C56D618EE0
4497795577D5ED25EC385D5B226926FCB6434473B77A07B20C78DF99DCD01FD12112
4498008036A7907A9DB3C16EB097563A4C92EFAEF890D326F10BF2A11281521268BB
44995301EA6D07BC9BB8F9480F3AF8A3CD29D75FC977F1D5C1C5A4378F3E7135BA20
45000F79B1AB0948DCC35C3E6C2AFBC5585C31DA3FA5F356AADFC778254D8CDD4AA8
4501165084651EC81A24201AF897B1D8302690CA150BC09B08A61AE9DF20F8083439
4502CA6F46FA3B8D40A76F33EDB0DEE3AA7EFAF24577849E9CBA64AACE3F6D272193
4503D709C5A9B8CAD7CB5E32D0FCA727506D064E8B324AF1D92A3ED4AD4B797C0CE9
450420DC63A01D1490C53B9A91E3F22BE45C2D6F1BA4570F9C2E4BB6CD489175DE3E
45057FCCE905119830D82966E313281CF175BF4A02A4E4BD33A157D34E3A36070989
4506EE94FCB35E3C0A16CEFDBB6560259437E0DB5D8E13419C36B655F11DAAA8D795
45071BE78517A0088804099D1AEDA76B839194716463616218D2CA3C534DD2A83DCE
4508E4B95082A10E8E04BE4073CD3360E850730A1086613A2FDF97981EB804B358D7
45092858D1D25120FF3149420784C4C7F3A235E86088B3BC53306E0C6E7DB595F7FB
451095599C75FA4BE52C24C31581720F2C4FAD37A635BE422C1591ADDAFDB0B100AD
4511D37C1E564957ED7310E67438FFC63FEB697077B3801C21F18FCE12ABEB1C9949
4512A52123E6333A0AB8699E2A1BD96042E480EE7CB17B98A3967CDD77B448449333
45136AB5E89D40F1B0C83C5BDE3B1B91161CF2F197157BB0FB6824B33C511CEB1DBE
45144BDAA1224952E9325C1A491C31F98EF3E461051BB13C89FC4E59BCFF14F2559D
4515AF8ABEEBAC75E9F2E2CB4EC847B931D9857C3B16A31B399274458A9A8EA1ECCD
4516C25C60E8A164928EE967F7268C30C7B204597577BFF28F0565290B0827C19A46
4517E567FEE4D90ADC53EBDA0EE7FB4414650A0311A0D89DF6A6DDDEB3E960E1FDFA
451888E6AB0E385830AFA2263859644C302D4B0F7D629E27D5F96365F28F360936D9
4519CDB35B049FD91C042AFC47494C9025BF6134E762AEDBA118ED153CF2CD73DFD0
4520A97DD66320CCB3D57E6BE3EB4F59843AA5D748BAE9E2F7B45AC79C44C9C6E094
4521849D6EE2900C4AAA0650C2CAF200E1F8948C114D16D8E04E5B37E88852235919
45224529FCCF947372ECB27BD2636287654006B368FC50488D4E5E6E335627F3FFBF
4523CCF21DFF345ACF67BFA7C3C3E2988DDAF1C1C8B655548A969D432D227A34FC33
4524E497FC0401A88EC6C5EBAB2EB93AE45F43A20BDB91831CD7DDA151201C9120BE
45254991B5DEEFFFF4DF109F46AE10AE5316F3CFA69EBD674FA754E7EAEA3B458443
45269D34DDD10C20B0E29BFE91C393F64A38BEB5A2A18AC8C48F7238152E496B4134
4527C7E3E3368EC6EFF8B80E1A4FBCCF67BE85C01E69EE23261A0372C6F83E579F27
45286B4478FEE973646B6E717CE9A1DB92A7F896839267A93396495809C6B3B4BEE2
4529521324C2BF474BF1DA8D317B2053BE6C071B55907ACB1A1E4257DF179671B533
4530CE41F0FC1C372CFE35BF066C34DB109D3925CC15BDA9840B9B9CC28854DB2D25
4531E958FD52B8B85F5F4C08682D632C6EFEF3EA9F91771F168792F7B595A923E703
4532F053C1379F429CEDCCB1CFC850A30E51CFFF5F34F292CEB37EDBB7F0B90805FB
453372DC6E795A18DDE81C99766134F0FE694BE854C3F6DB8A516B41B37B8731A157
45342344FA5F7265890DC8E107A624F0E3A9DA8242D507E267481CD15AFF67B2CF6C
4535EE942F67A0ABA8D0FF2FA9FC89057F26F5E4F613C4D50E879D955834D8B57860
4536EB209E5D3A05649BF179DA515A288478CCDD5814AD3DF03ECA6EC567C589077B
4537E973B40D709C856EB500E8B0F68ECDFFDF65B4D74A7E48756142547DB43E1DB3
453808EE0AA452F417D274651C0A2290F147A4C1A34C26965CAAAC2C5026600A5584
4539E6D37940939D2ED8069FB7CB9CA174D8A84F5D7914A2F3A209EC712949F1E2B6
4540772F4BCE71D4A4B506A966D1242954A80600EE3ED05672B457D8FF1C5611F5B3
454142B1553FA2643DE22ECF8AAFA7F60D7D25E1D0E9B6F30672158A5779A6802E2D
4542FA6FDE2EFDB4C68AB115DBC45077B9BBEFF0E498AC4040D939A89C378B22176A
454373620D97B5E4EA1CB56E1CCAC3F42B43B61F708BABA1C0C34B7AFD27F6D4652F
4544976633B7F566D32F1196F3C52F6957C31A3EB7D6B01CB47BCDCF769950AC8567
45457C29A9CAF1600662AA1244171EC66956E70153D62714A07ACD1FFC9D96703EB3
45460AA4F00C5D894D12CE8C51A971E34DDEAC3960039B6C949F611D1F4DE43BD9C0
4547A148F4BF13E2B804E7AD2B882CF498FE6B3C7B9818D3B7D3B6F77A913B7DE079
4548B27F8F9F8C86D8D507AC1FC45D541E1DA1C045F4FD8DBF4C824594E450D7416E
45494B4AD35A717D2A8506E9720398830C106C342F853A8ADC462AA8FA3A05598229
4550BD14C828AB255F860128995EB7C8D61F14F2A7137A0BC12E17A15C58FC473154
4551F14440BBF863FB76057F4EBBBF2A1D8221F9E9A0C65B29FB3516285924E18F07
455227384F65035B1158CB8AF6B4ECBE34ECC1C92BD43122D50F769BF2635DB3A6B2
4553809013C7F3BDFC734C4FE9BB0124492B397CAE8063F9DB7FBF04107A9732BBF1
4554DE23785F7C93D8CF4EF71CF5AA2B15FCD672EB3B04BF0C20F2BF7DDC6C96DA05
4555B51212FC3C15A1341DF03FEFDD72D3ABC34E8CCF7D3B607C058336EA3B39075B
45565D33BBF0FB0D9F6D1007B5C863156EC1636E573FFF75376588223CB5CAE66BBB
4557DD2F28F62A6CAA01A20DC6ED5A1BBA09D3D2E2DFCE99155F8560A05501371B36
4558C77B9CE789A7F1A25BB7E76970E14CC4D68E6A9F965AC81144B2C7A3AACE0F16
4559B204918623195E9355B1CA091A4E7DA97C5C9B44EF7F4C684B6BB7195CE4CC15
4560E287E6B9920195C092924B8AACE106D06861196230930C3BD9127C11C9FF2304
4561428ACB7AAE7CD7E03F532CC982DF1C25E9AD6277642A8F3DA96322CF2F5D6E13
4562C91D1370B77CF7193C0882B54AD63C130BC46B3F28D248C9EBA436D460355880
4563DD260F8D71419DBF63E5440429CC98DC77C52DC3B8DE77120720FC8AA96D6A21
456430FAF109A22DE2C5B6BE985DAFF4DCA56A210552323E27BA7A6287353054CF3A
4565EDABDFAAADE9F324EFFD62189F1E95F04ACEF0E929AFB87CFB60A8276BF4F24D
45663838D406A98E13C5BEC9B802419FC877272B644165D1DF5C73C752A5863A2DB4
4567169AE81B73309EEDED85D8EA7F0DAD22346E6D7292084C9B54AFEAA96DC29BDE
456865BC23762872730DECB549E68CACDEFCAF9C9D91EF5EDF6ED379E1DE2D6CB5FD
4569306F441CE0548CB861C8D7E3B2C742FD653E61560560C0F89453A945E332A36A
4570296F42C631B8D278A30243C88CA4B1E861486F0DC8961CD57059394C09E56B34
4571F35885F657994EC8A1DAE33E25F9FF539D3BACF73444EF96E9B2D1D5EA98791C
457283DDBBA89A6045A974E591706CA03D2EFCA2BB9E185D1DDF9A5EEAC158ECF8DF
457324E56860EECEAD7885CDC00B3E21B3A43F18056F4B929F1D6B75D752E2785946
4574B825FE322EA5D4C2395A33DAA0610011102B166D2E179046B511EC03D1F5A404
4575FB627E610BBB972F36591F3CCF344D42512CAB0C290380675C45947463CE4143
457629500F0314F1A48D9A7778204143BE17E8AEDF446F747C7C364EB2DFDC09F907
45777349C960579FCDBD0DFAF5367DF13854712FDB8103894469BFF7A072A4BC1E8A
45785DB3DE45991030E879CDA191CC5AF0F5AA4EAF9537010E9E59D7FC5A9E50D5D6
4579FFB14E7A93AA0159E380CF5F0062593F64B1DF91A7D4664C8763BFD550A8D800
458048A00D9A295EA233C4642F336B38DDB19F5AED826805973D94A4EA9543566CC1
45816D3B423A5B99F34840B539410A0A5D8E3FD2F3966893386573FDB37DCD596508
45821E7638FFED5E34F70561F300FDCCE6DDA284C287D7F863E2B69CE5BF2C7F9DD8
45836354761166DBF57784BCD075E72C5317E27A4011C0DB293E503F892E2AD632C2
45849F98F3A63182E9A86CEC90A5A7090091ECCDDAF83672289EA7A2B57540F4BD87
458532D22447CC9DD97F3A620431903D20979303EAA16BAE50167B0DDF5BC57E563C
4586368FC2CD7A5EA5D9F773FD3D2E8D1832882148100051BE9A99A124C37F99DA8E
45874B3F9DAE12DB3A65E948DBEB692D031F96A76025C00AC519BAAD5F369B6D4FB6
45889034EB7994DF1480A64BB598FE6F7090DE0D19C3220AFFEB9355DF4897412731
45898A206241AFFBB20E758129A7F35FF4A6752FC9E1DA5F8E11A5703CDE29DA1619
4590E09C929AD4C3FACFA5909A4971A117518246B2ABA0253A688552D0590F4B765F
459179E725EA40F375FBAFD4DAD73EBD3654AD70897CAFF2471EC2FE30D64D2E5C3B
4592F765B99291FD42FEB07E977B8ACFE7D2355E58BCBD94E02CF68E1D0497C5DD3C
459399847FA65563015C802A996F133B5FBFC7A222E39A4B7ACC1C818272A97FADD0
459464206627AE413D164072E7C803D8ADDA2114723BE7AD318FE993D38DEC3AAA98
45955020BBCD6F870D8D390A83349B27672BE6D090E0479B4A0901D7C54A74BD8DFE
459636E6D747C388FB658A5092178338F8659FB80001BCC025B40493AC5A76827726
4597D334CCE482851C048EA5CAA13D93F66187FEFC42E3E7DB653EA0C47DC416F4A3
4598C2B24B7CB4A08927877E724E70684465D34B23743B6453C7A02B9AA54AD0FB1B
45996C846EFFE12104BEAFDA92A62AEF4C895A60296186938AD595D3E7EA6FCE8AF4
4600814FB2B875C2380FA12EC3DAF09B58F3A0F0171850AD6D916C75CE5BE5F6BAFB
4601FC8A6B4AF68BB427D09E5FB2D47D5A303DC6981BEAB387453351F27C23AF8F03
4602532D45517E7E6BB74C3DC7A1AD93C29A03FE6592242656C4A98F0A2E28EDF77D
4603D7A0B6FC1678B3031971AF047C29FBCD26DAB7E8923845AC28CA14A2D00CC01A
46042243992ED937B3B774B6D5FD4A82F0D1D94AA1301FA12FC0D8B7D2789930DCAD
4605864E457136836EEB963D6ED1B46EF76C15708BBA6F90FA081E481BDA28A390D6
46065E9A37F8AB0B02DE5B852D4191BFA0C3F5554F0F8186CEF21EF8C4C383F1BF6E
46071974834C58792A2B87DA951C2F0D52F8860C6A8D26A9873AF9561C2AACC8C899
46088B1FECCF491A1574DBB58A1C5F136D935B95F0A6E785B86F0FBC14613073C42D
4609B8D6FF8FA86578A22D63C06CFC2AC3BB100F1C883072DCEE52154377C2B9A8E9
4610465D60A64C56FC19E61CFC45920FB27E112C34E23948D65BB3AC06B6382DB63A
4611E23F744BB1D936332AB3745769187AFB47A0133512C73F4D8EDBDD43B779EB6E
4612DC0E422BE6339A43C224954178698E838C5519A1D839BB41CF11EE97B2C26BF4
46137CA9C5D6E2CBCD435A92A1A427EE0F0BB3EA1BEC0D1E91C80D3A1D6E3FBCE208
46140FAA6C65303A45147DFA54F13132D662BC22FF5188E31FBB61E185C306FA4B8D
461507A9407EB913B0CF46407B012F74B242EE91E49232CA891BB6F44013354C6F60
46168269BD1421DEFEE20BBDDC308A1594FADCD50C57443EB3E9DA038CE1AFBB215E
4617558CF8732A643A3E872B40D8F972995B8885560E5013507CD300C8097D0FA096
4618B89593EF262C5951D69A325131D37F94D841BEA633834CF9119F9D32981F9F24
4619B5F167AB828483A08488AC0EDF72BBE1B16BAFF6AA7C72A97F769CA412E3A1A3
46203A5137FAD91FB87C5ED4CBF4BE19E38C8F82FEFC3C0D86FDA37B588258B7FD69
4621C96195ECAD77DAECBE37AA065E7FDABAADBBC2482A84A983B1D6FC6BEC6B66C2
4622488AC43CAF218059F65BBFA205E9803908FB4FFA49248CE056296BEA7A56789C
46230978CA8EDFDEED12B8CB85A01312AF855EC909FF285309DECDE04CEC2FADE907
46247970AB5551B3F3044F2672917989D1A1D235707F0218FD63FF71B313F10F88BF
462577D9454E5B86C9586D5971176129D7A47939238549A75359DF402AB3D7B1E6F8
462690A0ACCC3787DA0A89646872315271054AF016B6DF90387CBEFAC608C9D9EEA8
462726AB565CCA3BF7042FC15259AC9009384088995A3D51C87F30096BF2677D2E69
4628FCA08B573AF910E7BF3BFC68CEE469A5D43CB25A903E2D77A4AF7E431BE839E7
46292D4DE8488376C1312B32C1388C67B6BE84FD9C2F0379562523954D8A37E50D1B
4630FD1E53FEFD6709A3B7663213647A18FE44251A38D552E21571C41AB78C9E6CC6
46311352497E467B1898FFF92161293FA538599EA073CFC13A4C67B5BC2602D56D9D
463234BBB9C4A5885970D4DB827C41CD812D659E49F6DD0D9CD6D9BD96737591F86A
46337BAF41608E5FFEF7864F76265CDD3368BF096F85076B374E78D4336C9B0D786A
463450CE8CB5E1D6862E2579C425D422B497DD0A61D6AD28F40B482710FC02034D43
46352B1890DB210CC277254FC9BD9501456B8225FEA8DF1C112295F596D6AE42F13E
4636EE59B7A725FE363FCB85AEA7AFA2860D420E064914DBF6F4D2013FB9749330BC
4637CB37E8950621262289B1B7BB265075AAE83FE40A166529EAEA7C04B32C077C1D
4638EDF5183668C9C42C319BFFFE729E6FF86D4DC989D50533A2EE41817B1B58CFD1
4639B963954AFF54F04E22F0C3C724C2189075A9DACB00933383F00B21A098739BF2
4640E2449E6B9EBCE2997498579A92B43B6480F4FA07A89D9643B63E1CF6DDADB36E
4641DF4CCAB0F285164F3F67F5BD1670A7F671750BF50F1E5D0064B35F1245DFE167
4642DA31AF15610D612CF82741DAA87C9DA7A37EFCB2E5144B1E269A33394A1EF019
464374DC8777576F8BED09FCC38FE9A3D2085638CAC31CDDBC2CA8615ABE70E9FAC3
46443779D68F2B8B73C9CCA30266A231D674C44ED3FC017E955F43B9B5D780267BA7
46452FED48D96658269BD1E6EB164FDCE3055D2CC76B47003E47BE312543571F4CB0
4646102FA8751F36521DDB32767C1B277589259BFC81BB97FFB0A41D485FAA543358
46476C59593C7978279C030154DFD4667A4F6C8E273CFE145A86EABF868487AB741B
464819C602C0B03CDF0FDA0593B7C8673E3EAACBE78C4787AFC3BA3B12C759B8916F
4649017BC5D20C9A44079F6D498A1C25B94826B5333D18BC4B8C6ADEE04B65911FD6
465042896B0285ADF7F35C5EC1F50FE79DF97F8D2B3B71AA6F456BE3DAA660D34D02
465174D2BB73D36F4904788B2DD16BB226F98B4BD777E155738DEC48E943E61EEA3F
4652BDE79DF8345ADF83F6B6D3957621050FB9DFFEC6F9584BBA5F1E478A5B5DE778
4653D2F1A4CEE58283C8AFDFB8E35F149FB8DC9FC2E16E72E28ED76A2A09BA282A1F
4654D0E49578EFA3EDFDE303C71FC21E9B96FD2FF08831244583176D584DCB1D2233
4655C86A5AE43D621777B513932F82095BBE4F8762751022D37595B7DAB995F65199
4656C0AA4C5E75B594AB52DE0FB02DC65AC91FF4346B4896FC3359EB3009B5C1419E
465772ACA9198E1D466CE84EA09E097B990F5E466FDE2E891E7F8B0D13D40C311E9B
465882BE678F4F785AB9BB1E7F576AD26956C9F857CAA625D457157665973CB8AAB8
46591FECA4F9221BD05FF8F8C4B89679147CC37681F368489D9ECA5EB6239F91E141
4660037EB988BE2D06F88A17E5633E78DB9180012F0F5AEE29F15A5F117B6C954771
466155EE4443DED24466560091C6267F088C409BBD078E329CF3505FDF91EF714A69
46627C43CBEFB6679AFAFB68F0DD80AD2EDE4BE111A4CD7AC4119ADC27DDF293C981
466332EE548578983E7137939BB871239042968D517931A6F589330E4BAEA98ABD74
46643FEF957F2F46EF50D401E980EAB3FDD90CFEC312B9F0812E15E8288A540BCDF8
466515BBA03705A0ECA18074D48E15FDE6CC47AAA10BEC3CEC4ACF8B5550E537CE67
466690655A3AAD5F217E097178E4367E6931E63903A93217C68714F2D465C1A4C3C3
4667B9B764B201D8D93A82BAF2EFE3D86A5DF79E381D28264FB88D912E1D77902ADB
466821EA9D2219D153584E94F9FDFC2325E5F615A7E600C6691A54DA416ACCF5ED15
46691D53E2FF69910578BB1BF0B0EEC4F999F15176D71AE7537C87F9F800B5754CDE
4670E7BD92845C78AF1656610B36DA4DC0DBA53E19D5288394F54908863AB68E95BC
467190052E32FCB6390957B06E5A42722F8DFACE67A03675B8698089E8152222401F
4672C9C8CFFBE0375715E4C30AC63845B23BDB4D840EAA8108A67FF7591642BF9B67
4673325D3991167F89DFA624F1807A25E114B182E55D01CF6CA05BF8E259C5FBE4C5
4674FD0FE95DA708294C72A38BAF210B354522DB91D286D266F6C81AFE11CD0709EB
4675BDFAF570ADBFC20A39D6FA8F8BEC6009B6785E7CB4CB5D7F7504653D6C52BE87
4676CD426944523A30005209D41636C2BF62846EDDD45D13B463FDAFD4E23A849A40
4677FDAE2096F1E621D4E37AADB4C39E6785812BC481598A270C5B9D581EECAEDD8C
467878131C4EBE23798B9E58BDF8C74CE05CFFA998F65DB1A30D18EAF50C4751F85F
4679578FA29E32D03C428A1CE0F80C12B562F3B844624D72CB78010859F2CB54CEC1
46802F7E69FF6478BFAC05A041898A8385D0FB6BB1F69C5FFB7590804251C7C84ECC
4681327760A145A97673ECA9277DC026FBBFF0291055F564130BC875C5665A7B39EF
4682A1BE2084901B152495EBBD8A6F47A0552D553C23248F2B0009111656145E033A
4683ECE1F226E79CF2E061E9EA17CCDECF783B81E18B6D3E4937B0CE938108C4660E
46843FD4B431378B84D43221BE9FC86D81C5D7F08AA10902A068936B8C1439700F25
4685CBBBC8395643AC598F133DDC673827B5556711B6E34A554457147F43029E5F96
46865146E572064831FA3AFD7B1D2C4340933C0ABEFD8836BBD9CA6A0D11B76DFEBE
4687480CED36649148849EBC4244757F735E53096F608F33A5600A6E8D540EB6AD0C
468820F4C6FD071BEBEFE1C4F405ED2355BC2EC089D18EC8D0328412DE548AE6C6ED
46893D3B170635E9E18433600FE85386C2123732E0F48FAB34ADF478EF6A15BF0C7C
46903A83AD9AAB014D1565AC521A29AE6717E57E3A201B32B88EBC7E8DC58EAC0913
469128682A1B36B62A57DF1E920CAA1CC32173E609C70AD9EF2B466A32A57BBA0E99
46922189E6AE9DB4A3809B5BE2691F103990FC64D8523D13EC813393222F59911045
469373257885DEBBDD8EC3F13BF531962BC50B7F83A6FE14047B4281BC2683DE2FE7
4694F98813EDD87E65D129AA30DC8C7CFA636A933F7CF6C8148DD5D9B4B362911EEE
4695EF3FC22BDCDF68D998D6B22DB90EB63BB638C8B1C95CD991BD958E0693A02D86
469657D1589443DB506CE7001207F7B2CE7BFF543E1F5A9556776B02C6F2EB9D26C3
46972E68460D2D911B99BF28161BF454F328430D41BEF231BCD413E5B62C0B137606
4698B331843027DA93FD6409D468E7F207C418D9F9B43878A271E765C171EFB44B17
469941083D56B45E57C9CDEA401AD81CFE5A7BB360D49C03A5CFEC272EB9DC4CB5BE
47006D9EAFC2D428CAFC8151BAD609C48E75B40DB9C996BF99F6CCA12AF4801AFEB9
47010907D417E2537811E71E4C8ECEF9F2AAF6DCFD9F98562B77561280A5373F6A5B
470211E9764A322EB673EB08E53ACBDA5BFFEF0796D41D04EC3CBBB6355A361A8C30
4703B1C312C26950D4B3DCA3594A3BFFE53A5574EA5520FAF1EF6EEF7F1A1B3C62EB
4704400C1D3975E6E0A7EA95B7543797BCDC917C44BDAA8AF8842ADB73E6CD95826F
4705C496F73CE76501D712078FE6801D02D0E0E173DFA1D98C84E4285EBA15E962BB
470623A7A4C5AA06BB88CB36186CA7E61192567CCE04AB5FF208C0A199712E2F1A2F
470723162FE782A4EF4FC664DAEB734DF821FED6AAF92E29A45984DF2091905DA9BD
47082F840C231FA9104AC77F1D95068093498AC1A00253B2115C9971DBE9E482C4AA
47090FFF7B9A9926774BCD6DFEF484A3086199AD2A6A58F14D87CA346ED05A6F363D
4710EAE4CEE0E3082035879E4C9FEF9C02DEBFBDBD6B3C0935F1C0ACE06FC7E13A7A
471106450092BE11DB0920581BEC4C011186A7F122F042E8FAAB14B6BCE226CD341E
471283FAE799F59ED9090A70146803EB2F86E4F42B8B84E11BEFD1C2A9C8B61B2A43
4713CF448822268F0A491A97F4F6C5DC5B43A9D8250EDAFE4FEB14F24F6303CC5971
4714A711C098C81729F7F35B99DBD753C539B86ECB65AA2BAA55C75936E8CEF37E91
471595AF20D9F224F73427A9F000572D016CFFC77CEA8B9A0402C2C46567F9F816E2
471689319162F65A77A4E99FBD9802A63ACCC30F9AAE53636F6916D81C0A28A522D3
47171CF9A59E77E8982F47ED294A09AD1F2A250F4F5ADB0BA9DAC8DA18DF71714E98
47189395E968624ADBBDA27746B0D7CC1B603151002CD636A375584C6EE2FE2105B1
4719039B51C1C39CBB5683C4E1BD4B14D0F175C2B873DF772EADF3AA1175D2500818
472080A2F57522D6CA59FB7225373007E2F2CBA005C270D09793011A5DA47959B628
47211B367CA1043A5971A45C6E3240E06C9A80756936BF6325EB6BDF91E97F36CCC9
4722A5669B4D48852E840E65DA93221B917976439346EC6E7ABA0FD8541BA614E61B
4723E2E8F7BDB89B16505D3D7C47FD3C74B1E83D14C554904681FA19EC7E802098FA
47241FF0631D7EBDC8011F81F8C5BFD29A9F108DFBADBEFFCABF7A7EBC86E44E9B25
472527523B31E0969354056B3704E8844E631F3972518FAE7C856C1918C3FF7E06DE
472632915E48633EC500E54559595732842915FD9817C29CDE1BD68E4527CDA3A77E
4727AD9B363E69A665224EBEF23DB3C381A8B6FACFD444EA729A2EE211AAD61C900B
4728792ADE52D0DF52057FEAB8001BF8881B256E73D0C4C334054C8664EA864CC1C7
4729A542E153768791D04D4223ED3AAE140684F92A9C72B3E6AAD4FB887E457EA578
473074109CEC10D1E60610B41D659DD71C4A2F8FD38951725CBBD1C133B67E947FAE
47313A8AD0736B361807ED883E9567077E8A0DD343BC2B1C5BBC0BC051C8A53C444D
473215D641059119EB18A99BE095CCA1150AB21602583117CD5C5E4AC9F857D00F37
4733469AE7A0C9F4FE41FC0062D7E08EB8D8E9128B82DE5FA04593461EC01F440085
4734CCC56A662F46A22D07FB50EEB071896D83F85B9BEF82A732ADB0C6BA37072A79
47350D4973A038E2853053DA8A45FB38177C1C1D7A888488A00688413CE0E02B05D2
4736ECD672F7DD5A65260ED11711A8941B63BEFB346635C0747DFA0AD1F074B0114A
4737E0A65C17CD7BBE57E5543E6D67DF4A4EAD3D338A77F50E62AFF1A90DCA0725B4
47382793296A690D303A0AD24862BBF3B6733A07936598E990702AAE191A0F75E052
473957801DD80B8C342B8A8EA3249C19E0F276671738E2CDF73E9A433BA49A5C3948
4740CF1BAE2C669A00619960E265E645C63B0057E5E140D2F0455D982A90D648CBE0
47415433B67EAB2BA27FF59FC74165954C05D77FD3445BA270CBDAB9D5FA7896A83F
4742F4D25B9FC040B67462C4DBE2D391983A40C2FAF7039DDF74329FF242C867FCF0
4743E8111D8CFBD4881331CB71214D2F63B6F9EDDE7BCE10D108CC73443F4C427281
474470CB57B6B1019340AD05DCC150ECBCFE6E92EEB6FCA584545CFE4663648BE3F4
47456A3A9CD35F1DF7750F0918047DB04114039D4EF050A4C260292A2C758B7A47F1
47460ACF5426EBB0737916FB4F11BA621D7E8A278376DA1C14EF2C661121336D81B0
4747037D3FF76E1B90193E7FF345B4CC6936125B998CBCBE15349F1894D1E20041B7
474848A6751B9FA7192F62F7F421E5FBA187188486D17849B5209CA0F8AFEAAD76C4
4749E642485A6FE7810033A8ABE856B9E94C98425C60735132F1334A9652F3143BF5
47509D6D129AAC142E3EF0374F2E58BB6DEF36480BC2990BF8A21929AD4DB14B42CE
475191A1B5E60587F84C709693FEDC3B816A260A2BBAB8CC350B082F154173E8AE31
4752C92B50CBD0A3924BC6FBA9946E327705771B975D3FAFB0D8FB8AC745A6A91D67
4753BE7395CB842DF341EF9B6D83563F2AC654EE9A65182C90D88AEAFA8EA1BE1854
47544BE31DAEDBBB59893F5E4B03964D8AD2E2837B404D44DCF4BFA700A051A82BC9
47558E7C8826FEB2967956F02F09D05D665FE4C26A4142A153D7A38937E3DFD06515
4756F63CDEE0D89EB9C58350FF50694624D04AFE896DBFC51B5A4621F946EDF34547
475786169212677D2B1C2407B21B0B08119C4CE2BAD69C1193AA97753D75E2275DE3
4758E7F6302DA95E3B53580F20727127FD7CFF5DF4E5CE5E272867EA5DC55566108A
47599EC3705D2B91A1BCE32BB38C9F3B95D30DC7141B6779A86A8FEC66C3A11FF58D
4760B32D30E4ED92C8E016A6889FEFF22E6265CD4349B6D956C2E957814F954DB2DE
4761799BA1DD8E53945101C2C5952E3BF17D397E3EAA15B900D369F201925F8FC24B
47620E37AC46EBE8E9F9A65680EFDE1F2B6238C5B2B80377121714610EAE0CACFDAF
47636E3E74E0D412020222D476F1C89D2E12E13F6B1FE025B29E96B6349D4BEBD1DF
47641DBD75B5D3016BA270D85895CAAC893C2FD780A00816002ADC3DC7B87B087252
47654BE70E24C4B26724D8B1DECF7FF8AA4F4BFEB5CCEC4E75D7E7326A17AC40EFA3
47668346207C2CDB1A90248A4A51150F79734286FAA1A778D5509148BFD638482978
47673E99A0F19E0AD62F9011EED4A9C200B10AB781CAE42617AB2B556D5B9C1C79A8
4768DB31D6D1E2CF6FD906FE031C0555CEAB54A999079A92857F73ACDEFF8F10DC5C
4769737D0AB3226D238BC3D8D90F12DE65E3DBE6363E3C9C2CE711179B349733A2B1
4770C3E8FED39817FC942A6E6F77D4C19F1242FF494556027BC01488E481D2665306
47713E2FB9869153DDA63695114A96208F3A8A40E0908597521E543B9605305A3554
4772C65C1829BFBD44EE65AF78E1B47B1ECCEE9B863C0A050484E0A247332221455B
47731791B8CE5D6BD9C823FB8F6C1F6E7DAE68AF6BD0F237E47A8091AC0FC2243EF4
4774D4086A051A32B5F1493B68CA3195D4F379DE7C7A2EB721ADB457E5B7BA35AFFA
47758B72D274749CFC33D9808F94D6B1CD50457F1A62B29EDF379204141F1F5E8704
4776CCDBDD0DD514EAABBDF147F09064F334B7FA79C280C5E1CA75D53BF349DB87E6
4777C33C5F9E960D8EF643325BFAD04686A2E1269DA228431D37423DC52D99D8D3AA
4778D12D50916BD9EF448CFFEDDC9CE27B33AC96F09CFB58A84831594F137AA7FCE9
477970A338782010C94F7EE70ECF37001EBBB6B907044AF6F572538BB9779806A2CF
4780DADFF8FD509DE21D04122957AA7837EA48C6C74EEA5A9113B8BF4054EEDD8653
4781BFEE326920DCB736B762580CA96D533B36EACE82F90F059EBCA326D65AE6E522
4782AB642CE6BB3F729C1BFAC98B0CE631D310BB17E7DC5600A708571FBB219E0216
4783606FE121BEEED2F8F97D397DFE374111C19FA21AE47B055E55957C38EDBAC055
4784454814D6E9988EBDF6CA74950F34B79DE2979AEA3B3FD43C18A7E19F0A43E94A
4785978C3548C21020BC615545AC9B75C6BB37A0C0CC7D7D8448A2CF9C89A25FB81D
4786A4FD219C47DF3B80E8F25FEB6EC541CF077BB1837B55B997A06747FD83BA1D24
4787596515B43FCE88D00FDE476531F8B841D7FBC1F4B1A03636965913231158D060
47889532930BC7A2CC1FDF2215C20B5A8033B59F711C864B01762C06AB8722F61F57
4789A491BB5C6776CB2ED341108C013242F5475D2F19676A8893BF85E733367414E1
479012478278355809D9497071C5BAD05ADA9CD15A32A0DACA6DA9CDEB7629B092B0
47914A6BB34EE05D2E789F9732C7ACB292EA5066188DEAF310FBCFEB02F99399AD30
4792B7D97E0F9012FA1CE47B3947A824EEB39C28B1D89DD2BE6F57042EACF571FA47
4793665D8A9079DC3510738F3FD185979BE657853F12F0EBD47724BC7C203E3F51C3
4794E3DDD6C0AE7E8822CE7AE60662382B66F9FCCE607E3CAC3AF3612EBE2E3E083C
4795B2B2C1728A729AD4CBAE78C7104A3A362DA1A4F1981383E0D103A0BC8B3D62BE
47961FB63D6A51AFFC15DEEA743C06614A3FCF40EFBD685D77E6AB48EE882846BB9E
4797E860E7B4A6202084871E7FF6300A8E5F8B16F2A86D75566D92780F0580B0CEE6
4798D2B859860630AEF80A1FBDDC726BD6B30EA80A3265C3FFB578C4B1E39260C3A2
4799389C5FF2E8FBE8EA43E4CD79E54F4D5B5B59FD8B2293242797F61F260A5B2ADE
48000C0B4547EA3F7B0DD04AAB31244DAE58A91EDB297737457DFAD63F1B87BCB9FA
48010AE1C1E82BD8D428720D5DAEE09B46EBEB2602A7349FF303BF69B56ADC05819D
480214B0FDB8FC85A73B4F8EF524F3F7FF3AA39D7160A8E9DD4EAF62DAEC21FCDE1C
4803D23C570BEA16460403BEF4C196F74022EC0A24384F4CD05588BFA794B5E0C7B0
4804B071E289EED906E7CEB2E3D1ED30D0FB125EF89E13486846FA5C81B128F932F1
4805CBD0E31E24FD3F87C1EE2C7A0AAF68B5378C96DD454EFAD9C47ADCA3F1988077
48062660DA5AEE769F9089EE17A4178F58A64A403B519137AB2E5F90D63E155AE0D4
480702B5D9DAE5102946198107DB1720236D687D6D04A21C1DAEFE52DE1E5F2EF71D
4808C7EBE02A6C81BC7CEEE4A3326DDFFCE28DD5A858B1DB6013A4A488EFBDAC6C9F
4809544A8719FF0D02B6AE164937C952DA80EEC61AE1C7D1642C10F5AB314F767907
4810E1D2FDA315D84A8CA30D7B0E15C68BA024EC1AA66A079BD129C457085DF51001
481108682A2306BC671D498B7D135C42C9B260E9EA44171B5234A49AD8FF367530C9
4812C7DF39E95B7E302853AF3D99DF356EFE27B0F9862828B69B2B18962B5BD686B2
4813ABF4C9D2E968354FE837109AEFEFD7578BCBB155ECFEB7CED3A48225DCCDF210
48148095DED73E54BA52D77B7FC47D6F330F0E9E84DB1D9B083D8423A1585E8C336D
4815D1DE7CECFF81F6775B3D71E7F4EBACAEFDFF837009C5E826776349F4D2F7E3BE
48161D3A25B2C140BCFD02D0A728805989D0B396694433B21858E338824DF618A7E6
4817CBDE101C5E311C471679B0D8CA27699DEE0C3A95FB003DF172358CA9C34293A7
4818323A4D72A6DE8857874C91BEF80CC0584320BE481977BF7A359BA4249BCC5DC2
4819D8A2DCD1E9B1555EB5EDC1894AB2400E63810510375E4C72848BBB8A2B4189FD
482009CDF6FDD521DDDD14E4CF760BBA2A73303E53718B53262B2FA1867E5995C89C
48216C47DCA3ED3EAB2EEFB82F121E31653127DA5213879B1A4F86A44D4038660CCA
482209C4DBCF72409686B2406DC9B406D9BD2BFB134F7F2737C84B61184EE543242D
48232D0E1581AB39C26D0E0AFB95623E918B06A4DDA9E79E287DB8682F299E71B2FE
4824A1F7B26B8A2EEE3E641A5C93D1CE20B7AECF7DB1776968879ACF768642A52D80
482521D0ABCF1E797A49FBE5A0C424B1DE19613C46C87E40950C64291CC080C3C832
48269C756112F945E72003AC34E90281379A3EE09D38BABFCC6DB2DED54ACE56D7F9
482790E1D9A3FEB42F07BB95F31D6C5845F477985B5BFDB5C6E52DCF62A84DAED840
48282F44C11313946A625875C5DA492867B0DA26FA4BB1A96D92237D1663D3CDADD7
4829272F3F7634677AF947409848132D43E8E9860F3E42A1BD27656F3530CA23E6EF
483048DA81778F5387183CB5DD3A59344F5DB6BF6405ADB42CDECB85CB48E4527FFC
4831D2A2458ADE0EAAC8ADA5506D8855890D8597BC8F4891D83E942E58BABA21F9BE
48326CDB6C8BC17C2DB20DDE01223C514054CED58E68BE804D0C1472CA3CCA46839B
4833F07D4F6CA156EE2AF61CD359EC312456BB0B5C2320103A8A502E87A2C0CC468B
48348E96B1F277CCC33BB475E3D3749F33B2F835CB591D3A80C6154C8889B4BD474C
4835A2852CD0004542ECE3F65501C8E3AD2223EDEEA592BA7315B3E9315857324987
4836EDDFB0D51B7903E78CBD47FC1423EDB27E0AF64C5CD536513EB7179CCD32AB97
48379D7AB250E019510AD038621C110FC960664F12E2896E098914303524EEB86BBE
4838D4E81332710F387271A54656A3E43EBF02A1BEEB3FBD7ED3BE4ED7CB3036B88E
4839AFC5F0291249DBFD9B2072C3F1254554C9B1363EF1652DC266A9DD50BF1EB3DF
4840623D239EAAAB6333B2BF269D9B0BE3DB020B97ED6834404F5F92640E958A72CD
484136116DA64327E126927467CE722674FB3E120D2185E9466757DE5F70420D719D
48428E2673E0DA0544136FB80CB4C562B498EE18B39803B2B0B3AA834EF47780B5DA
484379FB95FAC386FCB9F7D41851BF7A947B019A5D84558DD5D2D65F0D66FBAABDB9
4844B84F04801861022F61ECBBBCB9E25C5EAA4B6440400AC4E21AEB7DBC209BBA02
48457A16B6C76EB5A9D91D1F8FBFE9322CCFA33617C57FDCA52D9923E32522273A4F
48461617D2B9132B156AF2512C439DB118DC19861FCB61189153C099CB5BFF20A4D5
48475DCB4E2CC65C0573FEABFC0C7E21C6E866DBB1424D69F24C43176E44479CE006
4848730FE4AE1B0237CBD990B50AAAD05B270E78E5CEA05020C6722F519C9A842F5A
4849BE6655B847AFE2A55000718BB9F4B270264A50D80FABEF3EEDD999A3A3D2BCE6
4850802F13EBB6299CDA5A5AFE6076841A93ACD6935DCE3D4010C2A533084558BA1A
48519B016D10457B99C50029E92896867A4E176FAEB2DCB99A3532EF4DE084CB1E96
4852F4BE65BAD8F8C25AAAF3584932157FE9127A1D7835570CDA77B6F7D0229615B2
4853AA21D3E3431778144B7EEEBB956B3595BAC07AB0D751FD62C9A6CECB950C3538
4854BC6CD77C8533DDEC5C372AC27C6A2E9A79CCBE36864B8348ED91E9976785CBC4
4855EF07FF48B49B29BF1206D7240DAC3A12F989DBB8CBE5F6FA91BC0EDEC04A2A7A
48569A6299785CB40219C27824F58C55BCF547FA8DEE5654A43DAC8280B440662928
48570D4E4DC6EEEE1F0C0E35E9228E96B4F573153BAA1D35CF53D894A74C51BB6E4A
485855E9B2FFB61F092B4F888065038B55D958BDEBE9598FA3DAD90E5709F0B0E0FF
4859DE79BE14618CF79A8662E5568F18A3CBC6D09B68DF0FB332D46C40F590987A61
48605E393DB2AB0477C10C8480F0B9A867BF6A02F20351EC59B2DEB1FE00B2EC860D
486183E76D2CDF1F213F0497A12BB8AEF9CDC4D03EFFD0B8F3AA9D8ACDE4617960A2
48628EF4C506BE24F2A3B5CDE1B98368A88BDF59015F5349D81684340FC068D66765
4863BB73373ECA89499B4F59A4927D2C570A2DFAB416448A04D8DB0A295AF120DA50
486430BE22C955705463FD41D6B601DFB5E620E8FB613286B36DEB36EC9490C2994E
4865D5435DFC3F0F0F4745A98A60611C5193F1388CD48A18F3E721A524C3F88D1CE6
4866373050987B34D4ED2DCD8DA4D8DB16D00A1F0CF4F8CFEBD149EFA78E737B7230
4867AF131677ABFC07306CE38120F2953D76A84E39565DFB324E8A5A923914E5E054
4868687503DED4E80DE9AA25A7DB3F77364C6F12C00BD8F11C49F08BA70308F9A4DC
4869E509B0C1319FE1984FC01335AA5A0EC5E7309D2C1EC843575DFCE8B4C2375AEC
4870C92184932876BAB2367A5B5DB41242F7B409EA9EAD239AD00A804EEEA0787FD3
48712E43FE0F363EC52E5A15897B6075A85548FBD06638730EC69F38F338639319C0
487289809A3CDCB60FF8A60208022DF3468FD483C0B5BA43F46C1D39B5B2CE9B85DF
48737A47299E90962361BE2D4AB7910FA184C2BC48AA3B20780D66B2B4EA0EDF5B05
4874B6C48D4387773B6D67DF8A9A239475F84E70C0FB2D406020F48D1773913654F4
487545132D01525B3C7BB7AF17F19A8A039BE7F182C1EF0807E02CD76AA543A9E257
4876E74BA7A4EF067A92BB470D39523E31F0FC152BCF85932F1C38DC41E67CF045C8
48779B4F7B909D35F1E602D3A3A229AD15F49F02342D7B0D3705679321E100A3407A
487895DAF5081DF7D98B53CB97C9D51AC86EC7CCAE3927BF6AA5BACA993455D27408
48795931BFC2ED2F6B06AE0627DD2B697AF0355B2594DCAB53003EBCC39F7BF0C3CB
4880E299796249322787174180262E89DFED4E33DA5E5E6D60631BA92F43FED7E91D
488108408B588D5EA4D42129518881043CD91EA3D8AB42F255007995DC970D1419D7
488267156C21B76893B61FDF55BBA4CD1FA7B4B90AA3F1C64B42CD4BE8714D61B9F9
4883D1CB7BE88BC050CED54CCE63B075542943E73E87C2B2EBB941F899184B19C59D
4884931BAF7F53133948A9B4D302464486909D207BF5D135ECC528376E0FC7DB93DF
4885849C6F29F1673CD08EEAA67C80EC193D80E9B3502716061AB96442A15E76DFD8
48863A7B74968EFF508B62C4A4C2360095A74F9D039C9A66E5F0BCBF0ACFF1D43B69
4887FD50C16DD6ABAB1B320E5463089D771FD4DB65D66129E61F29786C8C249DC8A5
4888758EEF3DE93CD763698AE76267C1EAB9A5AF224892D3F743DEB40374E8D6C02D
48891A7861E8531EB9918ED5FFF642293D93D41D08299EF196B58D5CD3A1BFAAA350
4890A20D2111CFC616ADD3AFB71415FF98E30F5FFE957DEE5E9D803222C6C35D94BD
489140A43FB3F565B462D1A8039BD181106EA03C38E1EF81FEF3601203B9F26CA2A5
4892BB2EAF08608A52C7C19EF2704F9131312EBFEDED137F7A79C99D1095FF85E470
4893B0F79637B3A6F6C45E2589143C070403B2466EFBEABDBDE0895E50379D7D1052
48944F2FC50ABF9EF4BF4483FB93683426701669C3F5E28199B8C87D858D6B1B25FA
4895D871DCF81CEAB71D3FB7AD2E1E2456A2792720EC91143FCF5B5DB15484E72F84
4896FE2A10F5A726363A1F06362BB889E4FAD1A0AD2340E27C644B392A89D7D3484D
489773F96123AE36D03FFFFFE633BF015C145A0B25B98CA7D524160379DF43CE3C36
4898673F45FAC8A8D63CD03717ECA647F6A3B23634E33BC43B79CB2EEE95CB7E9F01
48994184D7C6B634B9873B04C179D355D829B77A52FF118A9C16D854D4F2E83CF7EA
49001BD60244590A81536BD27FBBD5984B985BD6493D8CDEE4C84684A371CEB06102
49017E4D023F72BFE609D408AD65B4BA561365B2B355D5DA63482ED9807D20DD2427
4902071139A2D1B1EDAC50899265FA12DDC0FF16568B460F6B3C526276D3966777EE
4903C6C21E5BFA32145F42081FFF25C70B0AD3230087863840FA43005C337EAA3BE9
4904AF577E52D58A351845C91366AC7198B22D0C6019F6C63CEB8109EEED7DA89B24
4905D9559DBCD40A9825D40F65BF01E0A8804ADB6B145B9B94AEE12FFD31F57FCD5A
49061EA298C3BCBC1646F181516FFFD2FC43046B6BF503DEAF982B479315D5402E63
49078A02A7973465CFD2A7E1B17E20BCAF12B3B17676BC6BCB0DA42A5D339837B76B
4908ED1B51449B8EE8807D330015006402877FEE9027A263A257C40322A9048803C5
4909ABF417D357B4461A99AEEA9AF74755E140986FC19AEFB15AA42AAD4FE9ACB5B5
4910358EE6B0F472FF26792FF63664B18307DC2E0E5BAABD1C9C2DCD0524085885D0
4911E7F7F8B4FF423B47C7364D615F43FF2E5C3FF57A3662F47418B2B03CE8BC7B2B
4912667A7F47C7A74E79FF634628D59569261A3A387B7B3FE7ED20E9D705EDE34756
4913AEF02031C54E49C9D42A371738870E13B8137627218FD2703FA8FEB440CA4198
4914F6A2A43CF219E144108B6CEDEECE86EFCE68A9BC1716B4712420298BA32C1453
49157E6D10684F386702583E55C3A94DB2388EE18EB35261AD61B08A7DA98AE9854C
4916332A64BA203123AAD3576BE2C635DC60D6B49D116AD99B59FB8CD87AB171AAC9
4917ADD81250ED29A7F1F96D3482BEA33964C4AC4719ABC0F647DF5F908E73153610
49180133582A1C79A2D9DB8D643A79CEFE77615806C61DFFFC84C007E3CBF716D4A7
49197D83C8A04F24D096BD77F013440938BF95EFEB58F9AC3839D78F65C86B2CBC32
492053F47E432207E4126D05AA29FF693722863F82130BF90474670D60915279F001
492123408B2F6D821D4DD6EEFA54470DCC72D00F0A67BECB0D1215C461529BC37D20
4922FB10CB7342B3EEB935184FB18E309DCF4761F4F69BF29C900534C016B93745FD
492339F4B7A4B995597BE15E27ABE6E5A241EAC5F138251E38DADA82A3D2991AC97B
4924FB5CFA577644F19D176BAD9E33429B14063A8EC1DD93643A9F47AE6F3F5E7F7D
49253B1B85C9EADFF3D1B9C015506DCED1166DBDDFBD25AF9A126A5FD97A3486AE49
49261D843BAD8865CF0123F45BE95B08141E270E448D4CC467A7FC3439686C0572E5
49272A9440B9680F6D0F4CF80A43447A4EF4DF2FDD399F3BFAEBD3DAC8B088DFDBE2
492858D27CAB82A1DBF2AECCD34307B873B6AAB6835BF678CC1C1B41E3C0249210D5
49290AF7DBEA28E57D520173E62D8CC1CE880211BB8A5AD7C7C7A9FA113B3D041845
493024E75396857842C00021719D0B458373D7E330036DD09EBA8BEC1CDC59726D59
4931B42EEE1C45E26F90454973ACE698117140D912647F9B319651729A722C70E929
4932F7D2B04709632AD5A599D0E1BAB38EFDA3BDCE499B01D36EBD12C83C4B3ED5B0
49330E4A2E88DEC143BE3D29A3BB4C833D4F660EA761CE84235CDFFC4A9E234CFE35
49349E1076EB2775DF5345F6A1BA1D40D76B79BD396ED1E83557B5F2FAED0196CE2C
4935C7611C67C44879CE1012F2A5107FCAE7E1320A267156993D8D0D5940C3FA3AC6
493686488587BCAB96B544F57033A493E6B57A0CF5C72A94DADD111B56D6415FF06C
4937D7B431EBBF62A745C5E547DA458F5F9A116C7A4C80CC6DBCDB687DEDD9FFCF04
493814B9AEBC57F35F59CEC7EAAD33BFEA3212118D133A71A5C06B665A85FA82E5A3
49390D505148263B59211572B1A3E2138969DB43F18138EE430AC2828566BB5AC27A
4940BF7E8F06B7CFFBC51E8CB1A41DC1530F29DA63A98BB237E1DBAA8B2DB802F927
49412BEB6DD48DCAD7FA334A3257263855A70D72AE577EB6B3A3D7DBD03BC2FCE5A2
4942390387FF25EDBD9BA335F92208AC2BE0AA6928B0986082F65D8541DA9EA536F4
4943FA80888DC2C7D0B2E99221F8E5D2E662839363315AC6E2450010438D4D4F4292
49440E5E1CA07E95CF3D5387B7248CFAFFF26BE33F257377364620D7B25AD3F89046
4945E733BF97F99C3F73D972934C3E49A591B990DA34D349AED34F536F67D226056B
494692A0297DD6D847F4FEBD58298A0A3F4098CB587C22B4A98FB853A5324E66974F
4947DB075C4B0356D7DA6BA14D11F52250CBA270E51A9132FA75B83755070BC3E8AC
4948CE3323F5930AD95B8C38722789C58FD2FB323DC4042F80220A7D6785FBA2F391
494978CD6E8DA8C5A6E73782B78412719F576767FC8FD32DB37A7A42188D67A0D11E
495018D51E9828ACD95C92070AF1E3BEFC32350FAA0477023C88B2722AC43CFC4678
4951544264E96CA849ABC0B49B050AE29C18BD1F81B9150A965B51AAB408E1F8E275
4952410E7779A6E30B867100662C6E387F681E2AC94DF450B163710C5A6AB2AB2F7A
49530E4E202A3F276AE9BB5685AEC43E0E9B24AACB6CF30DACC57CCB156A2FE5757F
4954D5060CFC388FF0CDAD86B2F175A17F1E16012D7507B49EF5A694D6B285E7590C
49559278371F4FDE7DABBB21518DDF727117D06C8ED481024E3B54C9FE40B781881A
49567B7A9E2EB81DA0504CEB7F6CF8369932E8C258EA7916DFD51E49FD93E2D9922C
4957FB2C2215B368E8FE85C2248C9593756C11AC52299404A93C2D2CF7E8E580FFFC
4958817B83140261CB056F1B6AB7FEDDC7CF955C77D906B289AF67864931141F5DD8
49596B9009FB2248940C916FFF9F46791F00FB64D50866C790ECA8B242FB54AB3745
4960FB3BBE5355FE7B899F4CB013D43F5236FAB1AF707BE2F7B0D8CF4897F885EFC6
4961434CF862AA4F638B71E9345C5EC197599B7CD674ED6C1ACFDFE8C2C84D1829E7
4962FA741F877C54EF07D95C735711AA314D50B51FE139907AA8748898E2610750B3
49639EE46B01902C530E798CD7A8675C51B782ECEA51A3F152B600E92D2DCC1E1137
4964CBF2657B5ACE3C4919E82A2A486BBF07A73D115DDD8373AB72A8ABA000155A1E
4965C02C7652E9D96EB87FAA286234F71A79197EAEC163AD6224FCEDCE51EAC4AB19
49661A775B623C4AC884B17575E6DDAF6AE55E64FA5C2F1CFDC3AD95B5B665C7C9F3
496782D20A58C6BFAD430C801F63B6C91709849FB4AA42F075A4D25D21F1D83C8391
496804C859D4F355BA56099653AF1D7F591C06423CB8BAC0EBB82E43AE0B7E061F7E
4969F6E29D8EABE89DA4630501FE2378B642A171BFA6F6F4F647489CFE85C25C2AB4
49703F963F2E52AAEAE8368BCA11A0123D406F78AFE1FFB4B87537429AE2B1611D6D
4971A8BAD3DBD8CADA2C66849D3E8BEC5CD6F0BA84304EB3F8D75EC1BC91383EAA57
49722363EC047B0ADC98B5DA2D44012C2367DA3A6D2B99C3323A0A6B15CCFF8B533D
4973BC4C76F76940967781AB6D1AF8C5C0CD16619C0FC295158A597000517D6EA409
4974EBDEC75A9D06293588D595D8A72136D3FB97B64D2ADC86CAB5474BB8FE548E9B
4975DB41C23C4F5AD0655DD946774AD42213C7D49B45CC132F37CEEDF23E8D3B6FE7
497620589E789EAF0B5EFCAFCAA03A1B62A5BC96171C596FB110773FCFB0D990901D
497760E06DB0CBF1395F0E90191E27D944F83BDE324122C5F4824681F03FD8B3F8E6
4978BC46A595722E9280577251C0E31C0E693FACD76E0A6A212D34E4A8069E5DAA3F
497913804E428A8CC22A51F754BF6B3D42DA997EC496492BEDD45C282EAB489A79D7
49802DE49123947BDCCA0C2DDCF8CE8781128E25289B9BC15D2F18F292A0E8B642F3
4981D6F5B32DD53A5C578E9F39B2680F1CAB85A319B5F037710AB7968F1DCF08BE88
49825D2F8D1CDB27737332BE3520DE708B90481CFEB893BACCE3451FE5F3F6E734A3
4983FD24BA5DB023A8BD03434BF30D9523C4CF7325E15D2A159B003B358057DCCEEF
4984605C461466437F7A6286ADFE9AFFB9B13BF24489814551B2AA2760AA1AEFC2F2
4985722B8BE418B704E7D785705CD22865304D060B216D506C07E1059B2DD14B5AAB
4986D57A63B2957EAA3CDB10E48C37D66221BC05FFD7489DD7B6F19FB775AF6BA0A6
4987CF5D12898D8C2A8EDDE1CCE54913EDF074ED1E35D7EF734BCF85D6C154F2DC90
49885478277243B3D7DC58674BB4608C95DDF7C8444C8B6AFD129541A6D9DF2A9903
4989B4D251AC301ECF1042A857306EB3980BA89838253FA7644BA0CBFD4CC574CACB
499077E33D64445C0A4A64EFA36037EA854EDA52E903EE14C251B8D73D4BFAAB4FD6
4991F2D24373DFEEF7173099659B9855785C10060E8E26F005337F64D253DE9E85E7
4992662E9D4D68F1B027252DF51AF44DC0DD7E6F05994A792B3CBE26C2BCF66F64FF
4993A752ECDFA0A802238C5DC3CA4AF92DA47E1A013D9F930437F677A55EC03EDB6C
4994B57F0B26378F7887F4C54C520F0DA3ABDE09D74BE8A3DE2236F1C1EFABD69C0C
4995D3EB0DA09BB16DD0376A0B77C3E28D2DD959BEF829B11EDAA1CF13C7F5F9BFB8
49961C231350208DD35DF45D7FCD20C242CAA437DD7E614E51E37BCFD47019D5608B
499795173A100A3701F25FF43125C2AB17E17352B3E41466F51693451A986CD2C642
499840EA04ABFA6BDFBFC31AB307FA726E033D613031AF06E4C6EA569192B99070A2
49995D82A614648F304920496ABEC8502ABF45C0CBD754CE7EC7D57060E03B384538
5000BF894FCF7EA07E746A94AFB5CDA77FF669953C174966BC2652FABB40EE00AB25
5001337A06AA440580F4F6DC7400BFEC6AC5C58D5C73E87AAF5040ED64B588053864
5002432F749B68D6AF46C091114958859BDB75DEFDB2CFC048E1AABCA0FE28113B27
5003957AB07CAFE27BEC706BC62948C484A9A5333E8A392326C88A55D973D95DCC70
500492CD97A8EA3D66CE661E4ABAFD6D83229ECF69EE50888F6BEF924D5D63CADD11
5005C4D7A21DA0675EA2BF15C9C4DE84998D0B69F5686D4C9B73F085DE5CB431B7D7
5006D137CCA6203197EF104B1FAE6B3B7B4B6664F2364E69B1A96D70CC1D817EE595
500754A50F7F0C46F29A20A0BB9E11DA2CFF991921357FB4BC5656B67BA91C5A8243
50086C907AF6C9614230BE133595F665F3ECA8E5E4CD6F9B2006D428EB3BE7DE3397
5009E33AAFBE50E2F1E6FEB83FEB404BE3899043ACADEBFFC78CE883BF26D14D84E5
5010DAA3D87223393403FE12BD1CF8E6C16EE61427F28841576EB4C112D236981C4B
501114A0B373C06015136FFCCEFA2B8ABCDF316265773A1FCE899A4E22D8245A7557
501246998F7D6FFD0BBF1AFCB7EFABE5403BC84CAC9EB3309B8966862B87415EA54A
5013CB99F5AFBE5037B030B0DC196974895C9EB75A12D5EDACC83F3EE4258B448D2A
5014167C4DF31B3546B0EAEEDCF31F61134DFC17A6063FCBE09FDA70F7CB8DF5C1F8
501509618DBB3B1FE9E33593AA2B9F4B0F5EEC9202C346B0F15C95D62D7914230F35
501642ACAE6ACE600DDF35F6CB1EC986B5763FC2CAFE50645CFA457AC1843A83B1B9
501745F2743ED899C19C931A852E56BF0BF69F0C433A9F9B45179654A65B4CE96CA9
5018FA9F5037C967FCD6DE25880719BE90F58FBA561C3EC59DBFE3CA2A29E95A15AC
5019EA30AB69593AD005809B105B28C5CD980E8744F48F8B1EDD24E699655ED26D84
5020B5629040FAC51F9CFD85D6321453A4294F0C890EF6E9ED7AB312F521C04AC1FF
5021950B02FE73C055BB10353DA73A25A6E38365B0DEF614B35507173F8D50508C07
5022C3D07CA3382F12780D285F882BA433FF021A815380B3C0F16142BCFCB0BDFF7B
5023E01DB4582A7DA86602F8A6712A346941164F113D2691FCB96DFCCEEC226C3052
5024784B1DCD80E20584997B037F581E422829E964D0244CC122EFAE87AE71CB2F9E
50257DEA702C99C4FA29569650D150DD0895751A98C965E88764FEC259166FEE1E01
50262322B00834D35DF7500F95CA1A6230667CAF5C9DAD75C0236FE3F8DAED492D1A
5027AC9A77FD054D15A8F421C67966E5285F8F1A5F3081832718324C1645160BAE46
50287631243A007DEA8E5EC0B31F59AEBD54213F3B113E2C11192A6202BF726C609E
5029D7AB5FCE51A7BCFBEDC0953E78E669C27239380E74808EACEBE455152E0D20B3
5030AD1521947D5035C0E1FEA838CE7A56C032275C12BC254934C49A519353E205CA
5031116E2E4EAC45278BE0BC8BE3D0668E0A818AAE007661A73CFBFE968C60E5923C
50324D74BEA1587335CBB6770C6A319D0BB7F02DB3F01AC52ED574E006BC70E925D0
503397EBC2D8BBCA9E6719F26CFD5EA4BF25567B383C4627CC03490D9D1F95A18BC6
50347FEA0D5481CE6C856FCD37B8EF8FEAF0D3250CF4471ADEDC6073A5E003FD8602
5035A890102EA5B9B94C845A4C3C77AED948C590E054B11B06DDFE55413E222308AC
5036DA972DE63E749FC0FC0548A91FA786359585078B7870002C54E27F81E360E965
5037EE71DDC73025CFDB4089ADE1B259C00D2E6125E4C46995C638CCC0B98FE00F23
5038A61B9DF8D38DFAEA0E2194AA27C74A1221688937B4AE747FD597244B5DC8BB3C
5039E8BC00BD0DE53D4A65DB275692F6BD0F99C7FFF99D5CA0394090A51EDBD8A75B
504087D35EB07733862636D9E13A5D7CBD3B22FCC97710D52D157D7E5083E49381F4
50418D91CA4331B070A7D90C41D235056947C21C186A9110F31970DA20D2172ECA80
5042B9B01B7C965CEA77C1B4C939133425FD0DE08055EB456F71072A77420EFDADAD
504346E32BEEE986589FE9140678D83F1874B83D6F7C2D44CBF1A40B920A0FACEC2E
504482A4A92EF9D32895C8E97BE6A743C75BA0DE734E669B051BE4443A084D04E679
504549B13B564C6F8C26E09A7F3B1B36A80C4AB6486111DD6B8BE2A73D3D96E8477D
5046FEF6703EC13578805F29F18D1AEFD56F4F6E6E786CE0636E87B7BBA3E49D58B1
50477F1DD67D7A514B14285BB3BB4CAFA2B493ED4A7990B413F8872EC4D06F43A07A
5048F7580AEEE11315D01E5E4483B5923B13CC62935561D3AE18D91ED0BF62FFEA21
5049CD6FA372F614E4B9FDDDF8159C291DA08A694D9A81C05DA69D2E15CDB29A8A87
5050D8C95EE615FF831C3CCDBA64EDA6CE6E1DB95C062E0DC3B301DB5CA1A9AABB6E
5051637D7DEF9E402CE90BAF65900FF480DBD9FE983FD3845737BB86DF197C087187
5052657AAE6FF5F3091EFCBD689B
50530000000000000000000000000000000000000000000000000000000000000000
50540000000000000000000000000000000000000000000000000000000000000000
50550000000000000000000000000000000000000000000000000000000000000000
50560000000000000000000000000000000000000000000000000000000000000000
50570000000000000000000000000000000000000000000000000000000000000000
50580000000000000000000000000000000000000000000000000000000000000000
50590000000000000000000000000000000000000000000000000000000000000000
50600000000000000000000000000000000000000000000000000000000000000000
5061cleartomark
5062%%EndFont
5063TeXDict begin 39139632 55387786 1000 600 600 (ru-refcard.dvi)
5064@start /Fa 242[71 13[{}1 66.4176 /CMSY8 rf /Fb 15[39
50651[35 8[31 39 1[35 18[55 85[37 37 51 37 39 27 28 27 1[39
506635 39 59 20 37 1[20 39 35 22 31 39 31 39 35 11[53 1[39
50672[48 55 53 65 2[36 25 1[55 46 48 1[51 50 53 55 1[55 1[55
50685[35 35 1[35 35 35 35 1[20 24 20 44[{T2AEncoding ReEncodeFont}55
506966.4176 /SFRM0800 rf /Fc 197[23 58[{}1 83.022 /CMMI10
5070rf /Fd 145[42 3[23 106[{}2 83.022 /CMSY10 rf /Fe 141[35
50713[47 5[42 38 3[38 1[42 97[{T2AEncoding ReEncodeFont}6
507283.022 /SFTI1000 rf /Ff 50 72 1[48 69 57 78 1[53 53 50
507374 50 45 42 53 53 48 53 64 53 53 53 53 42 80 44 53 41
507448 48 46 106[53 6[53 7[29 44 53 54[32 45[{T2AEncoding ReEncodeFont}36
507583.022 /SFBX1000 rf /Fg 130[44 44 44 44 44 44 44 44 44
507644 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
507744 44 44 44 1[44 44 44 3[44 2[44 44 44 1[44 2[44 44 4[44
507844 44 44 44 44 44 44 44 44 1[44 1[44 4[44 44 44 44 44
507944 44 44 44 44 44 44 44 44 44 1[44 44 44 44 44 11[44
508018[44 2[{T2AEncoding ReEncodeFont}75 83.022 /SFTT1000
5081rf /Fh 69 2[66 95 1[108 108 73 73 69 102 69 62 58 73
508273 66 73 88 73 73 73 73 58 110 60 73 57 66 66 66 11[110
508399 91 95 90 103 1[103 125 1[103 1[103 80 4[93 93 77[52
50842[73 66 73 110 3[37 2[40 2[58 1[66 20[79 2[48 103 2[86
508511[66 66 66 66 66 66 66 66 66 66 3[37 2[51 51 40[{
5086T2AEncoding ReEncodeFont}68 119.552 /SFBX1440 rf /Fi
508745 62 37 42 60 51 67 67 46 46 44 65 44 42 37 46 46 42
508846 55 46 46 46 46 37 69 37 46 37 42 42 42 14[60 1[65
50891[65 2[65 4[56 65 1[59 72[44 44 2[46 32 33 33 44 46 42
50901[69 23 2[23 1[42 25 37 46 37 1[42 8[62 2[62 6[62 76
509152 3[62 65 1[56 63 9[23 42 2[42 42 42 42 42 42 2[23 28
509223 2[32 32 18[42 3[28 28 16[{T2AEncoding ReEncodeFont}82
509383.022 /SFRM1000 rf end
1310%%EndProlog 5094%%EndProlog
1311%%BeginSetup 5095%%BeginSetup
1312%%Feature: *Resolution 600dpi 5096%%Feature: *Resolution 600dpi
@@ -1315,98 +5099,96 @@ TeXDict begin
1315 end 5099 end
1316%%EndSetup 5100%%EndSetup
1317%%Page: 1 1 5101%%Page: 1 1
1318TeXDict begin 1 0 bop 1234 -45 a Fi 5102TeXDict begin 1 0 bop 1258 -45 a Fi
1319(\321\357\360\340\342\356\367\355\340\377)26 b(\352)n(\340\360\362)n 5103(\321\357\360\340\342\356\367\355\350\352)27 b(\352)n
1320(\340)h(\357\356)g(GNU)i(Emacs)1583 55 y(\(\344\353\377)g 5104(\356\354\340\355\344)g(GNU)h(Emacs)1583 55 y(\(\344\353\377)h
1321(\342\345\360\361\350\350)e(21\))-128 330 y Fh(1)132 5105(\342\345\360\361\350\350)e(22\))-128 330 y Fh(1)132
1322b(\307\340\357\363)l(\361\352)45 b(Emacs)-128 511 y Fi(\304\353\377)28 5106b(\307\340\357\363)l(\361\352)45 b(Emacs)-128 511 y Fi(\304\353\377)28
1323b(\347\340\357\363)n(\361\352)n(\340)e(GNU)i(Emacs)f(21,)g 5107b(\347\340\357\363)n(\361\352)n(\340)e(GNU)i(Emacs)f(22,)g
1324(\357\360\356\361\362\356)g(\355\340\341\345\360\350\362\345)h 5108(\357\360\356\361\362\356)f(\355\340\341\345\360\350\362\345)h
1325(\350\354\377)g(\357\360\356\343\360\340\354\354\373:)f 5109(\350\354\377)h(\357\360\356\343\360\340\354\354\373:)f
1326Fg(emacs)-128 611 y Fi(\316)h(\362\356\354,)g(\352)n(\340\352)f 5110Fg(emacs)-128 786 y Fh(2)132 b(\302\373\365)l(\356)l(\344)45
1327(\356\362\352\360\373\342\340\362\374)g(\364\340\351\353\373,)g 5111b(\350\347)f(Emacs)-78 966 y Fi(\317\360\350\356\361\362)n
1328(\367\350\362)n(\340\351\362\345)h(\344\340\353\345\345)f(\342)g 5112(\340\355\356\342\350\362\374)24 b(\360\340\341\356\362\363)i(Emacs)h
1329(\360\340\347\344\345\353\345)g(\324\340\351\353\373.)-128 5113(\(\350\353\350)h(\361\342\345\360\355\363\362\374)e(\342)h(\350\352)n
1330886 y Fh(2)132 b(\302\373\365)l(\356)l(\344)45 b(\350\347)f(Emacs)-78 5114(\356\355\352\363)h(\357\360\350)g(\360\340\341\356\362\345)d(\342)i
13311065 y Fi(\317\360\350\356\361\362)n(\340\355\356\342\350\362\374)26 5115(X\))255 b Fg(C-z)-78 1065 y Fi(\302\373\351\362\350)27
1332b(\360\340\341\356\362\363)h(Emacs)g(\(\350\353\350)h 5116b(\350\347)h(Emacs)2307 b Fg(C-x)42 b(C-c)-128 1310 y
1333(\361\342\345\360\355\363\362\374)f(\342)g(\350\352)n(\356\355\352\363) 5117Fh(3)132 b(\324\340\351\353\373)-78 1471 y Ff
1334h(\357\360\350)g(\360\340\341\356\362\345)e(\342)h(X\))255 5118(\356\362\352\360\373\362\374)28 b Fi(\364\340\351\353)f(\342)g(Emacs)
1335b Fg(C-z)-78 1165 y Fi(\302\373\351\362\350)28 b(\350\347)g(Emacs)2307 51192014 b Fg(C-x)42 b(C-f)-78 1570 y Ff(\361\356)m
1336b Fg(C-x)42 b(C-c)-128 1410 y Fh(3)132 b(\324\340\351\353\373)-78 5120(\365\360\340\355\350\362\374)29 b Fi(\364\340\351\353)e
13371570 y Ff(\356\362\352\360\373\362\374)28 b Fi(\364\340\351\353)f(\342) 5121(\356\341\360\340\362\355\356)f(\355\340)h(\344\350\361\352)1627
1338g(\341\363\364\345\360\345)f(Emacs)1717 b Fg(C-x)42 b(C-f)-78 5122b Fg(C-x)42 b(C-s)-78 1670 y Fi(\361\356)n
13391670 y Ff(\361\356)m(\365\360\340\355\350\362\374)29 5123(\365\360\340\355\350\362\374)26 b Ff(\342\361\345)h
1340b Fi(\364\340\351\353)e(\356\341\360\340\362\355\356)g(\355\340)g 5124Fi(\364\340\351\353\373)2104 b Fg(C-x)42 b(s)-78 1770
1341(\344\350\361\352)1627 b Fg(C-x)42 b(C-s)-78 1770 y Fi(\361\356)n
1342(\365\360\340\355\350\362\374)27 b Ff(\342\361\345)g
1343Fi(\364\340\351\353\373)2104 b Fg(C-x)42 b(s)-78 1869
1344y Ff(\342\361\362)m(\340\342\350\362\374)29 b Fi(\361\356)n 5125y Ff(\342\361\362)m(\340\342\350\362\374)29 b Fi(\361\356)n
1345(\344\345\360)n(\346\350\354\356\345)d(\344\360\363\343\356\343\356)h 5126(\344\345\360)n(\346\350\354\356\345)d(\344\360\363\343\356\343\356)h
1346(\364\340\351\353\340)f(\342)h(\362\345\352\363\371\350\351)h 5127(\364\340\351\353\340)f(\342)h(\362\345\352\363\371\350\351)g
1347(\341\363\364\345\360)809 b Fg(C-x)42 b(i)-78 1969 y 5128(\341\363\364\345\360)809 b Fg(C-x)42 b(i)-78 1869 y
1348Fi(\356\362\352\360\373\362\374)28 b(\355\363\346\355\373\351)g 5129Fi(\356\362\352\360\373\362\374)26 b(\355\363\346\355\373\351)i
1349(\342\340\354)f(\364\340\351\353)g(\342\354\345\361\362\356)g 5130(\342\340\354)f(\364\340\351\353)g(\342\354\345\361\362\356)f
1350(\362\345\352\363\371\345\343\356)1226 b Fg(C-x)42 b(C-v)-78 5131(\362\345\352\363\371\345\343\356)1225 b Fg(C-x)42 b(C-v)-78
13512068 y Fi(\361\356)n(\365\360\340\355\350\362\374)27 51321969 y Fi(\361\356)n(\365\360\340\355\350\362\374)26
1352b(\341\363\364\345\360)f(\342)h(\363\352)n 5133b(\341\363\364\345\360)g(\342)h(\363\352)n
1353(\340\347\340\355\355\356\354)g(\364\340\351\353\345)1534 5134(\340\347\340\355\355\356\354)g(\364\340\351\353\345)1534
1354b Fg(C-x)42 b(C-w)-78 2168 y Fi 5135b Fg(C-x)42 b(C-w)-78 2068 y Fi
1355(\302\352\353\376\367\350\362\374/\342\373\352\353\376\367\350\362\374) 5136(\317\345\360\345\352\353\376\367\350\362\374)27 b
135628 b(\361\356\361\362\356)n(\377\355\350\345)f 5137(\361\356\361\362\356)n(\377\355\350\345)f(\341\363\364\345\360\340)g
1357(\341\363\364\345\360\340)f(\020\362\356\353\374\352)n(\356)g 5138(\020\362\356\353\374\352)n(\356)f(\344\353\377)j
1358(\344\353\377)i(\367\362\345\355\350\377\021)581 b Fg(C-x)42 5139(\367\362\345\355\350\377\021)927 b Fg(C-x)42 b(C-q)-128
1359b(C-q)-128 2413 y Fh(4)132 b(\317\356\353\363\367\345\355\350\345)43 51402314 y Fh(4)132 b(\317\356\353\363\367\345\355\350\345)43
1360b(\357\356\354\356\371\350)-128 2595 y Fi 5141b(\357\356\354\356\371\350)-128 2496 y Fi
1361(\321\357\360\340\342\356\367\355\340\377)19 b 5142(\321\357\360\340\342\356\367\355\340\377)19 b
1362(\361\350\361\362\345\354\340)i(\344\356\361\362)n 5143(\361\350\361\362\345\354\340)h(\344\356\361\362)n
1363(\340\362\356\367\355\356)e(\357\360\356\361\362)n(\340.)h 5144(\340\362\356\367\355\356)d(\357\360\356\361\362)n(\340.)i
1364(H\340\346\354\350\362\345)i Fg(C-h)d Fi(\(\350\353\350)i 5145(H\340\346\354\350\362\345)i Fg(C-h)e Fi(\(\350\353\350)i
1365Fg(F1)p Fi(\))f(\350)h(\361\353\345\344\363\351\362\345)g 5146Fg(F1)p Fi(\))f(\350)h(\361\353\345\344\363\351\362\345)f
1366(\350\355\361\362\360\363\352\366\350\377\354.)g(\305\361\353\350)h 5147(\350\355\361\362\360\363\352\366\350\377\354.)g(\305\361\353\350)i
1367(\342\373)d(\342)i(\357\345\360\342\373\351)-128 2695 5148(\342\373)d(\342)i(\357\345\360\342\373\351)-128 2595
1368y(\360\340\347)28 b(\360\340\341\356\362)n(\340\345\362\345)e(\361)h 5149y(\360\340\347)28 b(\360\340\341\356\362)n(\340\345\362\345)c(\361)j
1369(Emacs,)h(\355\340\341\345\360\350\362\345)f Fg(C-u)43 5150(Emacs,)h(\362\356)f(\355\340\341\345\360\350\362\345)f
1370b(C-h)f(t)h(Russian)e(RET)26 b Fi(\344\353\377)i 5151Fg(C-u)42 b(C-h)g(t)i(Russian)c(RET)27 b Fi(\344\353\377)h
1371(\342\373\347\356\342\340)d Ff(\363\367\345\341\355\350\352)m(\340)p 5152(\342\373\347\356\342\340)d Ff(\363\367\345\341\355\350\352)m(\340)p
1372Fi(.)-78 2789 y(\307\340\352\360\373\362\374)i(\356\352\355\356)g 5153Fi(.)-78 2689 y(\321\352\360\373\362\374)i(\356\352\355\356)g
1373(\361\357\360\340\342\352\350)2072 b Fg(C-x)42 b(1)-78 5154(\361\357\360\340\342\352\350)2104 b Fg(C-x)42 b(1)-78
13742889 y Fi(\317\360\356\352\360\363\362\350\362\374)28 51552789 y Fi(\317\360\356\352\360\363\362\350\362\374)26
1375b(\356\352\355\356)f(\361\357\360\340\342\352\350)1940 5156b(\356\352\355\356)h(\361\357\360\340\342\352\350)1940
1376b Fg(C-M-v)-78 2988 y Fi(aprop)r(os:)26 b(\357\356\352)n 5157b Fg(C-M-v)-78 2889 y Fi(aprop)r(os:)26 b(\357\356\352)n
1377(\340\347\340\362\374)g(\352)n(\356\354\340\355\344\373,)h 5158(\340\347\340\362\374)f(\352)n(\356\354\340\355\344\373,)i
1378(\361\356\356\362\342\345\362\361\362\342\363\376\371\350\345)g 5159(\361\356\356\362\342\345\362\361\362\342\363\376\371\350\345)d
1379(\361\362\360\356\352)n(\345)921 b Fg(C-h)42 b(a)-78 5160(\361\362\360\356\352)n(\345)920 b Fg(C-h)42 b(a)-78
13803088 y Fi(\357\356\352)n(\340\347\340\362\374)26 b(\350\354\377)i 51612988 y Fi(\357\356\352)n(\340\347\340\362\374)25 b(\350\354\377)j
1381(\364\363\355\352\366\350\350,)g(\352)n(\356\362\356\360\340\377)f 5162(\364\363\355\352\366\350\350,)g(\352)n(\356\362\356\360\340\377)e
1382(\347\340\357\363)n(\361\352)n(\340\345\362\361)n(\377)e 5163(\347\340\357\363)n(\361\352)n(\340\345\362\361)n(\377)e
1383(\352\353\340\342\350\370\345\351)835 b Fg(C-h)42 b(c)-78 5164(\352\353\340\342\350\370\345\351)835 b Fg(C-h)42 b(k)-78
13843187 y Fi(\356\357\350\361\340\362\374)27 b 51653088 y Fi(\357\356\353\363\367\350\362\374)27 b
1385(\364\363\355\352\366\350\376)2257 b Fg(C-h)42 b(f)-78 5166(\350\355\364\356\360\354\340\366\350\376)g(\356)g
13863287 y Fi(\357\356\353\363\367\350\362\374)28 b 5167(\364\363\355\352\366\350\350)1623 b Fg(C-h)42 b(f)-78
1387(\350\355\364\356\360\354\340\366\350\376)f(\356)g 51683187 y Fi(\357\356\353\363\367\350\362\374)27 b
1388(\360\345\346\350\354\345)1672 b Fg(C-h)42 b(m)-128 3533 5169(\350\355\364\356\360\354\340\366\350\376)g(\356)g
5170(\360\345\346\350\354\345)1672 b Fg(C-h)42 b(m)-128 3434
1389y Fh(5)132 b(\310\361\357\360\340\342\353\345\355\350\345)43 5171y Fh(5)132 b(\310\361\357\360\340\342\353\345\355\350\345)43
1390b(\356\370\350\341\356\352)-78 3717 y Ff 5172b(\356\370\350\341\356\352)-78 3617 y Ff
1391(\357\360\345\360\342\340\362\374)28 b Fi 5173(\357\360\345\360\342\340\362\374)28 b Fi
1392(\367\340\361\362\350\367\355\356)f 5174(\367\340\361\362\350\367\355\356)e
1393(\355\340\341\360\340\355\355\363\376)g(\350\353\350)h 5175(\355\340\341\360\340\355\355\363\376)h(\350\353\350)h
1394(\350\361\357\356\353\355\377\345\354\363\376)g(\352)n 5176(\350\361\357\356\353\355\377\345\354\363\376)g(\352)n
1395(\356\354\340\355\344\363)682 b Fg(C-g)-78 3816 y Ff 5177(\356\354\340\355\344\363)682 b Fg(C-g)-78 3717 y Ff
1396(\342\356\361\361\362)m(\340\355\356\342\350\362\374)29 5178(\342\356\361\361\362)m(\340\355\356\342\350\362\374)29
1397b Fi(\364\340\351\353,)e(\357\356\362\345\360)n(\377\355\355\373\351)g 5179b Fi(\364\340\351\353,)e(\357\356\362\345\360)n(\377\355\355\373\351)f
1398(\357\360\350)h(\352\360\340\365)n(\345)f(\361\350\361\362\345\354\373) 5180(\357\360\350)i(\352\360\340\365)n(\345)f(\361\350\361\362\345\354\373)
1399895 b Fg(M-x)2857 3916 y(recover-file)-78 4016 y Ff 5181894 b Fg(M-x)2857 3816 y(recover-file)-78 3916 y Ff
1400(\356\362\354\345\355\350\362\374)27 b Fi(\355\345\346)n 5182(\356\362\354\345\355\350\362\374)27 b Fi(\355\345\346)n
1401(\345\353\340\362\345\353\374\355\373\345)g 5183(\345\353\340\362\345\353\374\355\373\345)f
1402(\350\347\354\345\355\345\355\350\377)1502 b Fg(C-x)42 5184(\350\347\354\345\355\345\355\350\377)1502 b Fg(C-x)42
1403b(u)h Fi(\350\353\350)h Fg(C-_)-78 4115 y Fi(\342\356\361\361\362)n 5185b(u,)h(C-_)2857 4016 y Fi(\350\353\350)g Fg(C-/)-78 4115
1404(\340\355\356\342\350\362\374)26 b(\341\363\364\345\360)g(\342)h 5186y Fi(\342\356\361\361\362)n(\340\355\356\342\350\362\374)24
1405(\357\345\360\342\356\355\340)n(\367\340\353\374\355\356\345)e 5187b(\341\363\364\345\360)i(\342)h(\357\345\360\342\356\355\340)n
1406(\361\356\361\362\356)n(\377\355\350\345)1086 b Fg(M-x)2857 5188(\367\340\353\374\355\356\345)e(\361\356\361\362\356)n
14074215 y(revert-buffer)-78 4315 y Fi 5189(\377\355\350\345)1085 b Fg(M-x)2857 4215 y(revert-buffer)-78
1408(\357\345\360\345\360\350\361\356\342\340\362\374)27 51904315 y Fi(\357\345\360\345\360\350\361\356\342\340\362\374)26
1409b(\347\340\357\356\353\355\345\355\355\373\351)g(\354\363)n 5191b(\347\340\357\356\353\355\345\355\355\373\351)h(\354\363)n
1410(\361\356\360\356\354)f(\375\352\360\340\355)1321 b Fg(C-l)-128 5192(\361\356\360\356\354)f(\375\352\360\340\355)1321 b Fg(C-l)-128
14114560 y Fh(6)132 b(H\340\360\340\371\350\342\340\345\354\373\351)41 51934560 y Fh(6)132 b(H\340\360\340\371\350\342\340\345\354\373\351)41
1412b(\357\356\350\361\352)-78 4743 y Fi(\357\356\350\361\352)28 5194b(\357\356\350\361\352)-78 4743 y Fi(\357\356\350\361\352)28
@@ -1414,50 +5196,50 @@ b(\342\357\345\360\345\344)2436 b Fg(C-s)-78 4843 y Fi
1414(\357\356\350\361\352)28 b(\355\340\347\340\344)2477 5196(\357\356\350\361\352)28 b(\355\340\347\340\344)2477
1415b Fg(C-r)-78 4943 y Fi(\357\356\350\361\352)28 b(\357\356)f 5197b Fg(C-r)-78 4943 y Fi(\357\356\350\361\352)28 b(\357\356)f
1416(\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28 5198(\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28
1417b(\342\373\360\340\346)n(\345\355\350\376)1616 b Fg(C-M-s)-78 5199b(\342\373\360\340\346)n(\345\355\350\376)f(\342\357\345\360\345\344)
14185042 y Fi(\357\356\350\361\352)28 b(\357\356)f(\360\345\343\363)-5 52001335 b Fg(C-M-s)-78 5042 y Fi(\357\356\350\361\352)28
1419b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n 5201b(\357\356)f(\360\345\343\363)-5 b(\353\377\360\355\356\354\363)28
1420(\345\355\350\376)f(\355\340\347\340\344)1376 b Fg(C-M-r)-78 5202b(\342\373\360\340\346)n(\345\355\350\376)f(\355\340\347\340\344)1376
14215142 y Fi(\342\373\341\360\340\362\374)26 b 5203b Fg(C-M-r)-78 5142 y Fi(\342\373\341\360\340\362\374)25
1422(\357\360\345\344\373\344\363\371\363\376)i(\361\362\360\356\352\363)g 5204b(\357\360\345\344\373\344\363\371\363\376)j(\361\362\360\356\352\363)f
1423(\357\356\350\361\352)n(\340)1527 b Fg(M-p)-78 5241 y 5205(\357\356\350\361\352)n(\340)1527 b Fg(M-p)-78 5241 y
1424Fi(\342\373\341\360\340\362\374)26 b 5206Fi(\342\373\341\360\340\362\374)25 b
1425(\361\353\345\344\363\376\371\363\376)i(\361\362\360\356\352\363)g 5207(\361\353\345\344\363\376\371\363\376)j(\361\362\360\356\352\363)f
1426(\357\356\350\361\352)n(\340)1580 b Fg(M-n)-78 5341 y 5208(\357\356\350\361\352)n(\340)1580 b Fg(M-n)-78 5341 y
1427Fi(\357\360\345\352\360\340\362\350\362\374)28 b 5209Fi(\357\360\345\352\360\340\362\350\362\374)26 b
1428(\355\340\360\340\371\350\342\340\345\354\373\351)f 5210(\355\340\360\340\371\350\342\340\345\354\373\351)h
1429(\357\356\350\361\352)1659 b Fg(RET)-78 5441 y Fi 5211(\357\356\350\361\352)1659 b Fg(RET)-78 5441 y Fi
1430(\356\362\354\345\355\350\362\374)28 b(\375\364\364\345\352\362)g 5212(\356\362\354\345\355\350\362\374)26 b(\375\364\364\345\352\362)h
1431(\342\342\356)n(\344\340)d(\357\356\361\353\345\344\355\345\343\356)i 5213(\342\342\356)n(\344\340)e(\357\356\361\353\345\344\355\345\343\356)i
1432(\361\350\354\342\356\353\340)1248 b Fg(DEL)-78 5540 5214(\361\350\354\342\356\353\340)1248 b Fg(DEL)-78 5540
1433y Fi(\357\360\345\360\342\340\362\374)27 b 5215y Fi(\357\360\345\360\342\340\362\374)26 b
1434(\362\345\352\363\371\350\351)h(\357\356\350\361\352)1994 5216(\362\345\352\363\371\350\351)h(\357\356\350\361\352)1994
1435b Fg(C-g)-128 5636 y Fi(\304\353\377)26 b(\357\356\342\362\356\360\340) 5217b Fg(C-g)-128 5636 y Fi(\304\353\377)26 b(\357\356\342\362\356\360\340)
1436f(\357\356\350\361\352)n(\340)f(\342)i(\353\376\341\356\354)f 5218e(\357\356\350\361\352)n(\340)g(\342)i(\353\376\341\356\354)f
1437(\355\340\357\360\340\342\353\345\355\350\350)h 5219(\355\340\357\360\340\342\353\345\355\350\350)h
1438(\350\361\357\356\353\374\347\363\351\362\345)f 5220(\350\361\357\356\353\374\347\363\351\362\345)e
1439(\352\353\340\342\350\370\350)g Fg(C-s)g Fi(\350\353\350)h 5221(\352\353\340\342\350\370\350)h Fg(C-s)g Fi(\350\353\350)h
1440Fg(C-r)p Fi(.)f(\305\361\353\350)h(Emacs)g(\342\361\345)f(\345\371\345) 5222Fg(C-r)p Fi(.)f(\305\361\353\350)h(Emacs)g(\342\361\345)f(\345\371\345)
1441h(\357\360\356\350\347-)-128 5736 y(\342\356)n(\344\350\362)i 5223h(\357\360\356\350\347-)-128 5736 y(\342\356)n(\344\350\362)h
1442(\357\356\350\361\352,)f Fg(C-g)f Fi(\356\362\354\345\355\350\362)j 5224(\357\356\350\361\352,)g Fg(C-g)f Fi(\356\362\354\345\355\350\362)h
1443(\362\356\353\374\352)n(\356)e(\355\345\361)n 5225(\362\356\353\374\352)n(\356)f(\355\345)h
1444(\344\345\353\340\355\355\363\376)g(\367\340\361\362\374.)1860 5226(\342\373\357\356\353\355\345\355\355\363\376)g(\367\340\361\362\374.)
14456192 y(1)p eop end 52271860 6192 y(1)p eop end
1446%%Page: 2 2 5228%%Page: 2 2
1447TeXDict begin 2 1 bop -128 -45 a Fh(7)132 b 5229TeXDict begin 2 1 bop -128 -45 a Fh(7)132 b
1448(\317\345\360\345\354\345\371\345\355\350\345)-78 139 5230(\317\345\360\345\354\345\371\345\355\350\345)-78 139
1449y Ff(\345\344\350\355\350\366\373)32 b 5231y Ff(\345\344\350\355\350\366\373)32 b
1450(\357\345\360\345\354\345\371\345\355\350\377)1944 b 5232(\357\345\360\345\354\345\371\345\355\350\377)1945 b
1451(\355\340\347\340\344)450 b(\342\357\345\360\345\344)-78 5233(\355\340\347\340\344)450 b(\342\357\345\360\345\344)-78
1452239 y Fi(\361\350\354\342\356\353)2667 b Fg(C-b)558 b(C-f)-78 5234239 y Fi(\361\350\354\342\356\353)2667 b Fg(C-b)558 b(C-f)-78
1453338 y Fi(\361\353\356\342\356)2726 b Fg(M-b)558 b(M-f)-78 5235338 y Fi(\361\353\356\342\356)2726 b Fg(M-b)558 b(M-f)-78
1454438 y Fi(\361\362\360\356\352)n(\340)2683 b Fg(C-p)558 5236438 y Fi(\361\362\360\356\352)n(\340)2682 b Fg(C-p)558
1455b(C-n)-78 537 y Fi(\355\340)n(\367\340\353\356)26 b(\(\350\353\350)j 5237b(C-n)-78 537 y Fi(\355\340)n(\367\340\353\356)26 b(\(\350\353\350)j
1456(\352)n(\356\355\345\366\))e(\361\362\360\356\352\350)1916 5238(\352)n(\356\355\345\366\))e(\361\362\360\356\352\350)1915
1457b Fg(C-a)558 b(C-e)-78 637 y Fi(\357\360\345\344\353\356)n(\346)n 5239b Fg(C-a)558 b(C-e)-78 637 y Fi(\357\360\345\344\353\356)n(\346)n
1458(\345\355\350\345)2441 b Fg(M-a)558 b(M-e)-78 737 y Fi 5240(\345\355\350\345)2441 b Fg(M-a)558 b(M-e)-78 737 y Fi
1459(\340\341\347\340\366)2726 b Fg(M-{)558 b(M-})-78 836 5241(\340\341\347\340\366)2726 b Fg(M-{)558 b(M-})-78 836
1460y Fi(\361\362\360\340\355\350\366\340)2589 b Fg(C-x)42 5242y Fi(\361\362\360\340\355\350\366\340)2588 b Fg(C-x)42
1461b([)472 b(C-x)42 b(])-78 936 y Fi(\342\373\360\340\346)n 5243b([)472 b(C-x)42 b(])-78 936 y Fi(\342\373\360\340\346)n
1462(\345\355\350\345)27 b(\(sexp\))2261 b Fg(C-M-b)470 b(C-M-f)-78 5244(\345\355\350\345)27 b(\(sexp\))2261 b Fg(C-M-b)470 b(C-M-f)-78
14631036 y Fi(\364\363\355\352\366\350\377)2597 b Fg(C-M-a)470 52451036 y Fi(\364\363\355\352\366\350\377)2597 b Fg(C-M-a)470
@@ -1465,389 +5247,393 @@ b(C-M-e)-78 1135 y Fi(\357\345\360\345\365)n(\356)n(\344)27
1465b(\342)g(\355\340)n(\367\340\353\356)f(\(\350\353\350)i(\352)n 5247b(\342)g(\355\340)n(\367\340\353\356)f(\(\350\353\350)i(\352)n
1466(\356\355\345\366\))g(\341\363\364\345\360\340)1508 b 5248(\356\355\345\366\))g(\341\363\364\345\360\340)1508 b
1467Fg(M-<)558 b(M->)-78 1243 y Fi(\357\360\356\352\360\363\362\352)n(\340) 5249Fg(M-<)558 b(M->)-78 1243 y Fi(\357\360\356\352\360\363\362\352)n(\340)
146827 b(\375\352\360\340\355\340)g(\342\355\350\347)2054 525026 b(\375\352\360\340\355\340)h(\342\355\350\347)2054
1469b Fg(C-v)-78 1343 y Fi(\357\360\356\352\360\363\362\352)n(\340)27 5251b Fg(C-v)-78 1343 y Fi(\357\360\356\352\360\363\362\352)n(\340)26
1470b(\375\352\360\340\355\340)g(\342\342\345\360)n(\365)2016 5252b(\375\352\360\340\355\340)h(\342\342\345\360)n(\365)2016
1471b Fg(M-v)-78 1442 y Fi(\357\360\356\352\360\363\362\352)n(\340)27 5253b Fg(M-v)-78 1442 y Fi(\357\360\356\352\360\363\362\352)n(\340)26
1472b(\342\353\345\342\356)2302 b Fg(C-x)42 b(<)-78 1542 5254b(\342\353\345\342\356)2302 b Fg(C-x)42 b(<)-78 1542
1473y Fi(\357\360\356\352\360\363\362\352)n(\340)27 b 5255y Fi(\357\360\356\352\360\363\362\352)n(\340)26 b
1474(\342\357\360\340\342\356)2251 b Fg(C-x)42 b(>)-78 1642 5256(\342\357\360\340\342\356)2251 b Fg(C-x)42 b(>)-78 1642
1475y Fi(\357\360\356\352\360\363\362\352)n(\340)27 b 5257y Fi(\363)n(\361\362)n(\340\355\356\342\352)n(\340)24
1476(\362\345\352\363\371\345\351)h(\361\362\360\356\352\350)g(\342)f 5258b(\362\345\352\363\371\345\351)j(\361\362\360\356\352\350)g(\342)g
1477(\366\345\355\362\360)i(\375\352\360\340\355\340)1306 5259(\366\345\355\362\360)h(\375\352\360\340\355\340)1329
1478b Fg(C-u)42 b(C-l)-128 1887 y Fh(8)132 b(\323\355\350\367\362\356)l 5260b Fg(C-u)42 b(C-l)-128 1887 y Fh(8)132 b(\323\355\350\367\362\356)l
1479(\346)l(\345\355\350\345)44 b(\350)g(\363)-7 b 5261(\346)l(\345\355\350\345)44 b(\350)g(\363)-7 b
1480(\344\340\353\345\355\350\345)-78 2070 y Ff(\363\355\350\367\362\356)m 5262(\344\340\353\345\355\350\345)-78 2070 y Ff(\363\355\350\367\362\356)m
1481(\346)m(\340\345\354\373\351)33 b(\356\341\372\345\352\362)1956 5263(\346)m(\340\345\354\373\351)32 b(\356\341\372\345\352\362)1956
1482b(\355\340\347\340\344)450 b(\342\357\345\360\345\344)-78 5264b(\355\340\347\340\344)450 b(\342\357\345\360\345\344)-78
14832170 y Fi(\361\350\354\342\356\353)27 b(\(\363)-5 b 52652170 y Fi(\361\350\354\342\356\353)27 b(\(\363)-5 b
1484(\344\340\353\345\355\350\345,)28 b(\340)f(\355\345)h 5266(\344\340\353\345\355\350\345,)28 b(\340)f(\355\345)h
1485(\363\355\350\367\362\356)n(\346)n(\345\355\350\345\))1510 5267(\363\355\350\367\362\356)n(\346)n(\345\355\350\345\))1509
1486b Fg(DEL)558 b(C-d)-78 2270 y Fi(\361\353\356\342\356)2726 5268b Fg(DEL)558 b(C-d)-78 2270 y Fi(\361\353\356\342\356)2726
1487b Fg(M-DEL)470 b(M-d)-78 2369 y Fi(\361\362\360\356\352)n(\340)27 5269b Fg(M-DEL)470 b(M-d)-78 2369 y Fi(\361\362\360\356\352)n(\340)26
1488b(\(\344\356)h(\352)n(\356\355\366\340)e(\361\362\360\356\352\350\)) 5270b(\(\344\356)i(\352)n(\356\355\366\340)e(\361\362\360\356\352\350\))
14891972 b Fg(M-0)42 b(C-k)384 b(C-k)-78 2469 y Fi 52711971 b Fg(M-0)42 b(C-k)384 b(C-k)-78 2469 y Fi
1490(\357\360\345\344\353\356)n(\346)n(\345\355\350\345)2441 5272(\357\360\345\344\353\356)n(\346)n(\345\355\350\345)2441
1491b Fg(C-x)42 b(DEL)384 b(M-k)-78 2569 y Fi(\342\373\360\340\346)n 5273b Fg(C-x)42 b(DEL)384 b(M-k)-78 2569 y Fi(\342\373\360\340\346)n
1492(\345\355\350\345)2512 b Fg(M\025)42 b(C-M-k)340 b(C-M-k)-78 5274(\345\355\350\345)2512 b Fg(M\025)42 b(C-M-k)340 b(C-M-k)-78
14932676 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)28 52752676 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)26
1494b Ff(\356\341\353\340\361\362\374)2116 b Fg(C-w)-78 2776 5276b Ff(\356\341\353\340\361\362\374)2116 b Fg(C-w)-78 2776
1495y Fi(\361\352)n(\356\357\350\360\356\342\340\362\374)26 5277y Fi(\361\352)n(\356\357\350\360\356\342\340\362\374)25
1496b(\356\341\353\340\361\362\374)g(\342)h(\361\357\350\361\356\352)h 5278b(\356\341\353\340\361\362\374)g(\342)i(\361\357\350\361\356\352)h
1497(\363\355\350\367\362\356)n(\346)n(\345\355\350\351)1265 5279(\363\355\350\367\362\356)n(\346)n(\345\355\350\351)1264
1498b Fg(M-w)-78 2876 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)28 5280b Fg(M-w)-78 2876 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)26
1499b(\344\356)f(\361\353\345\344\363\376\371\345\343\356)g(\342\365)n 5281b(\344\356)h(\361\353\345\344\363\376\371\345\343\356)g(\342\365)n
1500(\356)n(\346\344\345\355\350\377)f(\361\350\354\342\356\353\340)h 5282(\356)n(\346\344\345\355\350\377)f(\361\350\354\342\356\353\340)h
1501Fe(char)916 b Fg(M-z)42 b Fe(char)-78 2975 y Fi(\342\361\362)n 5283Fe(char)916 b Fg(M-z)42 b Fe(char)-78 2975 y Fi(\342\361\362)n
1502(\340\342\350\362\374)27 b(\357\356\361\353\345\344\355\350\351)g 5284(\340\342\350\362\374)25 b(\357\356\361\353\345\344\355\350\351)i
1503(\363\355\350\367\362\356)n(\346)n(\345\355\355\373\351)h 5285(\363\355\350\367\362\356)n(\346)n(\345\355\355\373\351)g
1504(\356\341\372\345\352\362)1306 b Fg(C-y)-78 3075 y Fi 5286(\356\341\372\345\352\362)1305 b Fg(C-y)-78 3075 y Fi
1505(\347\340\354\345\355\350\362\374)24 b(\362\356\353\374\352)n(\356)e 5287(\347\340\354\345\355\350\362\374)23 b(\362\356\353\374\352)n(\356)e
1506(\367\362\356)i(\342\356\361\361\362)n 5288(\367\362\356)i(\342\356\361\361\362)n
1507(\340\355\356\342\353\345\355\355\373\351)d(\362\345\352)n(\361\362)k 5289(\340\355\356\342\353\345\355\355\373\351)d(\362\345\352)n(\361\362)j
1508(\357\360\345\344\370\345\361\362\342\363\376\371\350\354)f 5290(\357\360\345\344\370\345\361\362\342\363\376\371\350\354)g
1509(\363\355\350\367\362\356)n(\346)n(\345\355-)-78 3175 5291(\363\355\350\367\362\356)n(\346)n(\345\355-)-78 3175
1510y(\355\373\354)k(\362\345\352)n(\361\362\356\354)2857 5292y(\355\373\354)28 b(\362\345\352)n(\361\362\356\354)2857
15113075 y(M-y)-128 3420 y Fh(9)132 b(\317\356\354\345\362\352)l(\340)-78 52933075 y(M-y)-128 3420 y Fh(9)132 b(\317\356\354\345\362\352)l(\340)-78
15123580 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)26 52943580 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)24
1513b(\357\356\354\345\362\352\350)2177 b Fg(C-@)42 b Fi(or)g 5295b(\357\356\354\345\362\352\350)2176 b Fg(C-@)42 b Fi(\350\353\350)i
1514Fg(C-SPC)-78 3680 y Fi(\356\341\354\345\355\377\362\374)27 5296Fg(C-SPC)-78 3680 y Fi(\357\356\354\345\355\377\362\374)27
1515b(\354\345\361\362)n(\340\354\350)h(\352\363\360\361\356\360)f(\350)h 5297b(\354\345\361\362)n(\340\354\350)g(\352\363\360\361\356\360)g(\350)h
1516(\357\356\354\345\362\352\363)1546 b Fg(C-x)42 b(C-x)-78 5298(\357\356\354\345\362\352\363)1540 b Fg(C-x)42 b(C-x)-78
15173779 y Fi(\357\356\354\345\362\350\362\374)28 b Fe(ar)l(g)36 52993779 y Fi(\357\356\354\345\362\350\362\374)26 b Fe(ar)l(g)36
1518b Ff(\361\353\356\342)2219 b Fg(M-@)-78 3879 y Fi 5300b Ff(\361\353\356\342)2219 b Fg(M-@)-78 3879 y Fi
1519(\357\356\354\345\362\350\362\374)28 b Ff 5301(\357\356\354\345\362\350\362\374)26 b Ff
1520(\357\340\360\340\343\360\340\364)2144 b Fg(M-h)-78 3979 5302(\357\340\360\340\343\360\340\364)2145 b Fg(M-h)-78 3979
1521y Fi(\357\356\354\345\362\350\362\374)28 b Ff 5303y Fi(\357\356\354\345\362\350\362\374)26 b Ff
1522(\361\362\360\340\355\350\366\363)2162 b Fg(C-x)42 b(C-p)-78 5304(\361\362\360\340\355\350\366\363)2162 b Fg(C-x)42 b(C-p)-78
15234078 y Fi(\357\356\354\345\362\350\362\374)28 b Ff 53054078 y Fi(\357\356\354\345\362\350\362\374)26 b Ff
1524(\342\373\360\340\346)m(\345\355\350\345)2071 b Fg(C-M-@)-78 5306(\342\373\360\340\346)m(\345\355\350\345)2070 b Fg(C-M-@)-78
15254178 y Fi(\357\356\354\345\362\350\362\374)28 b Ff 53074178 y Fi(\357\356\354\345\362\350\362\374)26 b Ff
1526(\364\363\355\352\366\350\376)2148 b Fg(C-M-h)-78 4277 5308(\364\363\355\352\366\350\376)2149 b Fg(C-M-h)-78 4277
1527y Fi(\357\356\354\345\362\350\362\374)28 b(\342\345\361\374)f 5309y Fi(\357\356\354\345\362\350\362\374)26 b(\342\345\361\374)h
1528Ff(\341\363\364\345\360)2102 b Fg(C-x)42 b(h)-128 4523 5310Ff(\341\363\364\345\360)2103 b Fg(C-x)42 b(h)-128 4523
1529y Fh(10)131 b(\307\340\354\345\355\340)44 b(\361)g 5311y Fh(10)131 b(\307\340\354\345\355\340)44 b(\361)g
1530(\347\340\357\360\356\361\356\354)-78 4706 y Fi 5312(\347\340\357\360\356\361\356\354)-78 4706 y Fi
1531(\350\355\362\345\360\340\352\362\350\342\355\340\377)28 5313(\350\355\362\345\360\340\352\362\350\342\355\340\377)26
1532b(\347\340\354\345\355\340)f(\362\345\352)n(\361\362\356\342\356\351)g 5314b(\347\340\354\345\355\340)h(\362\345\352)n(\361\362\356\342\356\351)e
1533(\361\362\360\356\352\350)1398 b Fg(M-\045)-78 4806 y 5315(\361\362\360\356\352\350)1397 b Fg(M-\045)-78 4806 y
1534Fi(\361)28 b(\350\361\357\356\353\374\347\356\342\340\355\350\345\354)e 5316Fi(\361)28 b(\350\361\357\356\353\374\347\356\342\340\355\350\345\354)e
1535(\360\345\343\363)-5 b(\353\377\360\355\373\365)27 b 5317(\360\345\343\363)-5 b(\353\377\360\355\373\365)27 b
1536(\342\373\360\340\346)n(\345\355\350\351)1333 b Fg(M-x)42 5318(\342\373\360\340\346)n(\345\355\350\351)1333 b Fg(M-x)42
1537b(query-replace-r)o(ege)o(xp)-128 4901 y Fi(\302)28 b 5319b(query-replace-r)o(ege)o(xp)-128 4901 y Fi(\302)28 b
1538(\360\345\346\350\354\345)g 5320(\360\345\346\350\354\345)g
1539(\350\355\362\345\360\340\352\362\350\342\355\356\351)g 5321(\350\355\362\345\360\340\352\362\350\342\355\356\351)e
1540(\347\340\354\345\355\373)f 5322(\347\340\354\345\355\373)h
1541(\357\356\353\374\347\356\342\340\362\345\353\376)f 5323(\357\356\353\374\347\356\342\340\362\345\353\376)e
1542(\344\356\361\362\363\357\355\373)i 5324(\344\356\361\362\363\357\355\373)i
1543(\361\353\345\344\363\376\371\350\345)g(\356\362\342\345\362\373:)-78 5325(\361\353\345\344\363\376\371\350\345)h(\352)n
15444995 y Ff(\347\340\354\345\355\350\362\374)g Fi 5326(\356\354\340\355\344\373:)-78 4995 y Ff
1545(\344\340\355\355\356\345)f 5327(\347\340\354\345\355\350\362\374)g Fi(\344\340\355\355\356\345)f
1546(\361\356\356\362\342\345\362\361\362\342\350\345,)g 5328(\361\356\356\362\342\345\362\361\362\342\350\345,)d
1547(\357\345\360\345\351\362\350)h(\352)g 5329(\357\345\360\345\351\362\350)j(\352)h
1548(\361\353\345\344\363\376\371\345\354\363)815 b Fg(SPC)-78 5330(\361\353\345\344\363\376\371\345\354\363)815 b Fg(SPC)-78
15495095 y Fi(\347\340\354\345\355\350\362\374)28 b(\375\362\356)f 53315095 y Fi(\347\340\354\345\355\350\362\374)27 b(\375\362\356)f
1550(\361\356\356\362\342\345\362\361\362\342\350\345,)g(\355\345)h 5332(\361\356\356\362\342\345\362\361\362\342\350\345,)e(\355\345)k
1551(\357\345\360\345\354\345\371\340\362\374\361)n(\377)1238 5333(\357\345\360\345\354\345\371\340\362\374\361)n(\377)1237
1552b Fg(,)-78 5194 y Ff(\357\360\356\357\363)m(\361\362\350\362\374)29 5334b Fg(,)-78 5194 y Ff(\357\360\356\357\363)m(\361\362\350\362\374)29
1553b Fi(\361\356\356\362\342\345\362\361\362\342\350\345)e(\341\345\347)g 5335b Fi(\361\356\356\362\342\345\362\361\362\342\350\345)24
1554(\347\340\354\345\355\373)1487 b Fg(DEL)-78 5294 y Fi 5336b(\341\345\347)j(\347\340\354\345\355\373)1487 b Fg(DEL)-78
1555(\347\340\354\345\355\350\362\374)28 b(\342\361\345)f(\356\361\362)n 53375294 y Fi(\347\340\354\345\355\350\362\374)27 b(\342\361\345)g
1556(\340\342\370\350\345\361)n(\377)e 5338(\356\361\362)n(\340\342\370\350\345\361)n(\377)d
1557(\361\356\356\362\342\345\362\361\362\342\350\377)1468 5339(\361\356\356\362\342\345\362\361\362\342\350\377)1465
1558b Fg(!)-78 5393 y Ff(\342\345\360\355\363\362\374\361)m(\377)29 5340b Fg(!)-78 5393 y Ff(\342\345\360\355\363\362\374\361)m(\377)29
1559b Fi(\352)f(\357\360\345\344\373\344\363\371\345\354\363)f 5341b Fi(\352)f(\357\360\345\344\373\344\363\371\345\354\363)f
1560(\361\356\356\362\342\345\362\361\362\342\350\376)1337 5342(\361\356\356\362\342\345\362\361\362\342\350\376)1334
1561b Fg(\002)-78 5493 y Ff(\342\373\351\362\350)28 b Fi(\350\347)g 5343b Fg(\002)-78 5493 y Ff(\342\373\351\362\350)28 b Fi(\350\347)g
1562(\360\345\346\350\354\340)f(\347\340\354\345\355\340)g(\361)h 5344(\360\345\346\350\354\340)f(\020\347\340\354\345\355\340)g(\361)g
1563(\347\340\357\360\356\361\356\354)1508 b Fg(RET)-78 5593 5345(\347\340\357\360\356\361\356\354\021)1453 b Fg(RET)-78
1564y Fi(\342\356\351\362\350)38 b(\342)g(\360\345\346\350\354)h 53465593 y Fi(\342\356\351\362\350)37 b(\342)h(\360\345\346\350\354)h
1565(\360\345\352\363\360\361\350\342\355\356\343\356)d 5347(\360\345\352\363\360\361\350\342\355\356\343\356)d
1566(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)i 5348(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)h
1567(\(\344\353\377)g(\342\373\365)n(\356)n(\344\340)e 5349(\(\344\353\377)h(\342\373\365)n(\356)n(\344\340)e
1568(\350\361\357\356\353\374\347\363)n(\345\362\361)n(\377)-78 5350(\350\361\357\356\353\374\347\363)n(\345\362\361)n(\377)-78
15695692 y Fg(C-M-c)p Fi(\))2857 5593 y Fg(C-r)1860 6192 53515692 y Fg(C-M-c)p Fi(\))2857 5593 y Fg(C-r)1860 6192
1570y Fi(2)p eop end 5352y Fi(2)p eop end
1571%%Page: 3 3 5353%%Page: 3 3
1572TeXDict begin 3 2 bop -128 -45 a Fh(11)131 b(\314\355\356)l(\346)l 5354TeXDict begin 3 2 bop -128 -45 a Fh(11)131 b
1573(\345\361\362\342\356)44 b(\356\352)l(\356\355)-128 137 5355(\310\361\357\356\353\374\347\356\342\340\355\350\345)44
1574y Fi(\312\356\354\340\355\344\373,)27 b 5356b(\355\345\361\352)l(\356\353\374\352\350\365)g(\356\352)l(\356\355)
1575(\357\360\350\342\345\344\345\355\355\373\345)h(\342\356)e 5357-128 137 y Fi(\312\356\354\340\355\344\373,)26 b
1576(\342\362\356\360\356\354)h(\361\362\356\353\341\366\345,)h 5358(\357\360\350\342\345\344\345\355\355\373\345)h(\342\356)f
1577(\357\360\350\354\345\355\377\376\362\361)n(\377)g(\352)g 5359(\342\362\356\360\356\354)f(\361\362\356\353\341\366\345,)g
1578(\344\360\363\343\356\354\363)f 5360(\357\360\350\354\345\355\377\376\362\361)n(\377)i(\352)g
1579(\(\355\345\340\352\362\350\342\355\356\354\363\))h(\356\352\355\363)-7 5361(\344\360\363\343\356\354\363)f(\364\360\375\351\354\363)h
1580b(.)-78 236 y(\363)i(\344\340\353\350\362\374)28 b(\342\361\345)f 5362(\(\356\352\355\363)f(\350\361\357\356\353\374\347\363)n
1581(\356\361\362)n(\340\353\374\355\373\345)f(\356\352\355\340)1869 5363(\345\354\356\351)g(\356\352)n(\356\355\355\356\351)-128
1582b Fg(C-x)42 b(1)-78 344 y Fi(\360\340\347\341\350\362\374)27 5364237 y(\361\350\361\362\345\354\373\).)-78 336 y(\363)-5
1583b(\356\352\355\356)g(\357\356)g(\343\356\360\350\347\356\355\362)n 5365b(\344\340\353\350\362\374)27 b(\342\361\345)g(\356\361\362)n
1584(\340\353\350)1825 b Fg(C-x)42 b(2)472 b(C-x)42 b(5)h(2)-78 5366(\340\353\374\355\373\345)e(\356\352\355\340)1869 b Fg(C-x)42
1585444 y Fi(\363)-5 b(\344\340\353\350\362\374)28 b 5367b(1)-78 444 y Fi(\360\340\347\341\350\362\374)26 b(\356\352\355\356)h
1586(\344\340\355\355\356\345)f(\356\352\355\356)2143 b Fg(C-x)42 5368(\357\356)g(\343\356\360\350\347\356\355\362)n(\340\353\350)1824
1587b(0)472 b(C-x)42 b(5)h(0)-78 543 y Fi(\360\340\347\341\350\362\374)27 5369b Fg(C-x)42 b(2)472 b(C-x)42 b(5)h(2)-78 543 y Fi(\363)-5
1588b(\356\352\355\356)g(\357\356)g(\342\345\360\362\350\352)n 5370b(\344\340\353\350\362\374)27 b(\344\340\355\355\356\345)g
1589(\340\353\350)1904 b Fg(C-x)42 b(3)-78 643 y Fi 5371(\356\352\355\356)2143 b Fg(C-x)42 b(0)472 b(C-x)42 b(5)h(0)-78
1590(\342\373\357\356\353\355\350\362\374)27 b 5372643 y Fi(\360\340\347\341\350\362\374)26 b(\356\352\355\356)h(\357\356)
1591(\357\360\356\352\360\363\362\352\363)h(\342)f 5373g(\342\345\360\362\350\352)n(\340\353\350)1903 b Fg(C-x)42
5374b(3)-78 743 y Fi(\342\373\357\356\353\355\350\362\374)26
5375b(\357\360\356\352\360\363\362\352\363)h(\342)g
1592(\344\360\363\343\356\354)h(\356\352\355\345)1530 b Fg(C-M-v)-78 5376(\344\360\363\343\356\354)h(\356\352\355\345)1530 b Fg(C-M-v)-78
1593751 y Fi(\357\345\360\345\354\345\361\362\350\362\374)29 5377850 y Fi(\357\345\360\345\354\345\361\362\350\362\374)27
1594b(\352\363\360\361\356\360)e(\342)g(\344\360\363\343\356\345)g 5378b(\352\363\360\361\356\360)g(\342)g(\344\360\363\343\356\345)g
1595(\356\352\355\356)1629 b Fg(C-x)42 b(o)472 b(C-x)42 b(5)h(o)-78 5379(\356\352\355\356)1629 b Fg(C-x)42 b(o)472 b(C-x)42 b(5)h(o)-78
1596850 y Fi(\342\373\341\360\340\362\374)26 b(\341\363\364\345\360)h(\342) 5380950 y Fi(\342\373\341\360\340\362\374)25 b(\341\363\364\345\360)i(\342)
1597g(\344\360\363\343\356\354)h(\356\352\355\345)1795 b 5381g(\344\360\363\343\356\354)h(\356\352\355\345)1795 b
1598Fg(C-x)42 b(4)h(b)385 b(C-x)42 b(5)h(b)-78 950 y Fi(\357\356\352)n 5382Fg(C-x)42 b(4)h(b)385 b(C-x)42 b(5)h(b)-78 1050 y Fi(\357\356\352)n
1599(\340\347\340\362\374)26 b(\341\363\364\345\360)h(\342)g 5383(\340\347\340\362\374)25 b(\341\363\364\345\360)i(\342)g
1600(\344\360\363\343\356\354)g(\356\352\355\345)1775 b Fg(C-x)42 5384(\344\360\363\343\356\354)g(\356\352\355\345)1775 b Fg(C-x)42
1601b(4)h(C-o)297 b(C-x)42 b(5)h(C-o)-78 1050 y Fi 5385b(4)h(C-o)297 b(C-x)42 b(5)h(C-o)-78 1149 y Fi
1602(\347\340\343\360\363\347\350\362\374)27 b(\364\340\351\353)g(\342)g 5386(\347\340\343\360\363\347\350\362\374)26 b(\364\340\351\353)h(\342)g
1603(\344\360\363\343\356\345)g(\356\352\355\356)1786 b Fg(C-x)42 5387(\344\360\363\343\356\345)g(\356\352\355\356)1786 b Fg(C-x)42
1604b(4)h(f)385 b(C-x)42 b(5)h(f)-78 1149 y Fi 5388b(4)h(f)385 b(C-x)42 b(5)h(f)-78 1249 y Fi
1605(\356\362\352\360\373\362\374)28 b(\364\340\351\353)f(\342)g 5389(\356\362\352\360\373\362\374)26 b(\364\340\351\353)h(\342)g
1606(\360\345\346\350\354\345)h(\367\362\345\355\350\377)h(\342)e 5390(\360\345\346\350\354\345)h(\367\362\345\355\350\377)g(\342)f
1607(\344\360\363\343\356\354)g(\356\352\355\345)1149 b Fg(C-x)42 5391(\344\360\363\343\356\354)g(\356\352\355\345)1149 b Fg(C-x)42
1608b(4)h(r)385 b(C-x)42 b(5)h(r)-78 1249 y Fi(\347\340\357\363)n 5392b(4)h(r)385 b(C-x)42 b(5)h(r)-78 1349 y Fi(\347\340\357\363)n
1609(\361\362\350\362\374)27 b(Dired)h(\342)f(\344\360\363\343\356\354)h 5393(\361\362\350\362\374)25 b(Dired)j(\342)f(\344\360\363\343\356\354)h
1610(\356\352\355\345)1766 b Fg(C-x)42 b(4)h(d)385 b(C-x)42 5394(\356\352\355\345)1766 b Fg(C-x)42 b(4)h(d)385 b(C-x)42
1611b(5)h(d)-78 1349 y Fi(\355\340\351\362\350)28 b(\362)n(\340\343)g(\342) 5395b(5)h(d)-78 1448 y Fi(\355\340\351\362\350)27 b(\362)n(\340\343)g(\342)
1612f(\344\360\363\343\356\354)g(\356\352\355\345)2003 b 5396g(\344\360\363\343\356\354)g(\356\352\355\345)2003 b
1613Fg(C-x)42 b(4)h(.)385 b(C-x)42 b(5)h(.)-78 1457 y Fi 5397Fg(C-x)42 b(4)h(.)385 b(C-x)42 b(5)h(.)-78 1556 y Fi
1614(\363\342\345\353\350\367\350\362\374)28 b(\342\373\361\356\362\363)e 5398(\363\342\345\353\350\367\350\362\374)27 b(\342\373\361\356\362\363)e
1615(\356\352\355\340)2049 b Fg(C-x)42 b(\002)-78 1556 y 5399(\356\352\355\340)2049 b Fg(C-x)42 b(\002)-78 1656 y
1616Fi(\361\363\347\350\362\374)28 b(\362\345\352\363\371\345\345)f 5400Fi(\361\363\347\350\362\374)27 b(\362\345\352\363\371\345\345)f
1617(\356\352\355\356)2148 b Fg(C-x)42 b({)-78 1656 y Fi 5401(\356\352\355\356)2148 b Fg(C-x)42 b({)-78 1755 y Fi
1618(\360\340\361\370\350\360\350\362\374)28 b 5402(\360\340\361\370\350\360\350\362\374)27 b
1619(\362\345\352\363\371\345\345)f(\356\352\355\356)1982 5403(\362\345\352\363\371\345\345)f(\356\352\355\356)1982
1620b Fg(C-x)42 b(})-128 1901 y Fh(12)131 b 5404b Fg(C-x)42 b(})-128 2001 y Fh(12)131 b
1621(\324\356\360\354\340\362\350\360\356\342\340\355\350\345)-78 5405(\324\356\360\354\340\362\350\360\356\342\340\355\350\345)-78
16222085 y Fi(\361)n(\344\345\353\340\362\374)27 b 54062184 y Fi(\361)n(\344\345\353\340\362\374)26 b
1623(\356\362\361\362\363\357)h(\344\353\377)g 5407(\356\362\361\362\363\357)g(\344\353\377)i
1624(\362\345\352\363\371\345\351)g Ff(\361\362\360\356\352\350)g 5408(\362\345\352\363\371\345\351)f Ff(\361\362\360\356\352\350)h
1625Fi(\(\342)f(\347\340\342\350\361\350\354\356\361\362\350)g(\356\362)h 5409Fi(\(\342)f(\347\340\342\350\361\350\354\356\361\362\350)f(\356\362)h
1626(\360\345\346\350\354\340\))470 b Fg(TAB)-78 2184 y Fi(\361)n 5410(\360\345\346\350\354\340\))470 b Fg(TAB)-78 2284 y Fi(\361)n
1627(\344\345\353\340\362\374)27 b(\356\362\361\362\363\357)h(\344\353\377) 5411(\344\345\353\340\362\374)26 b(\356\362\361\362\363\357)g(\344\353\377)
1628g Ff(\356\341\353\340\361\362\350)g Fi(\(\342)g 5412i Ff(\356\341\353\340\361\362\350)g Fi(\(\342)g
1629(\347\340\342\350\361\350\354\356\361\362\350)f(\356\362)g 5413(\347\340\342\350\361\350\354\356\361\362\350)e(\356\362)g
1630(\360\345\346\350\354\340\))775 b Fg(C-M-)p Fd(n)-78 5414(\360\345\346\350\354\340\))775 b Fg(C-M-)p Fd(n)-78
16312284 y Fi(\361)n(\344\345\353\340\362\374)27 b 54152383 y Fi(\361)n(\344\345\353\340\362\374)26 b
1632(\356\362\361\362\363\357)h(\344\353\377)g Ff(\342\373\360\340\346)m 5416(\356\362\361\362\363\357)g(\344\353\377)i Ff(\342\373\360\340\346)m
1633(\345\355\350\377)h Fi(\(\342)e 5417(\345\355\350\377)g Fi(\(\342)f
1634(\347\340\342\350\361\350\354\356\361\362\350)g(\356\362)h 5418(\347\340\342\350\361\350\354\356\361\362\350)f(\356\362)h
1635(\360\345\346\350\354\340\))617 b Fg(C-M-q)-78 2383 y 5419(\360\345\346\350\354\340\))617 b Fg(C-M-q)-78 2483 y
1636Fi(\361)n(\344\345\353\340\362\374)27 b(\356\362\361\362\363\357)h 5420Fi(\361)n(\344\345\353\340\362\374)26 b(\356\362\361\362\363\357)g
1637(\352)g(\347\340\344\340\355\355\356\351)e Fe(ar)l(g)36 5421(\352)i(\347\340\344\340\355\355\356\351)e Fe(ar)l(g)36
1638b Fi(\352)n(\356\353\356\355\352)n(\345)1445 b Fg(C-x)42 5422b Fi(\352)n(\356\353\356\355\352)n(\345)1445 b Fg(C-x)42
1639b(TAB)-78 2483 y Fi(\342\361\362)n(\340\342\350\362\374)27 5423b(TAB)-78 2583 y Fi(\342\361\362)n(\340\342\350\362\374)25
1640b(\355\356\342\363\376)f(\361\362\360\356\352\363)i 5424b(\355\356\342\363\376)h(\361\362\360\356\352\363)h
1641(\357\356\361\353\345)f(\352\363\360\361\356\360\340)1493 5425(\357\356\361\353\345)g(\352\363\360\361\356\360\340)1493
1642b Fg(C-o)-78 2583 y Fi(\361)n(\344\342\350\355\363\362\374)27 5426b Fg(C-o)-78 2682 y Fi(\361)n(\344\342\350\355\363\362\374)26
1643b(\356\361\362)n(\340\362\356\352)g(\361\362\360\356\352\350)h 5427b(\356\361\362)n(\340\362\356\352)f(\361\362\360\356\352\350)i
1644(\342\345\360\362\350\352)n(\340\353\374\355\356)e(\342\355\350\347) 5428(\342\345\360\362\350\352)n(\340\353\374\355\356)e(\342\355\350\347)
16451293 b Fg(C-M-o)-78 2682 y Fi(\363)-5 b(\344\340\353\350\362\374)28 54291293 b Fg(C-M-o)-78 2782 y Fi(\363)-5 b(\344\340\353\350\362\374)27
1646b(\357\363)n(\361\362\373\345)f(\361\362\360\356\352\350)h 5430b(\357\363)n(\361\362\373\345)f(\361\362\360\356\352\350)h
1647(\342\356\352\360\363\343)f(\352\363\360\361\356\360\340)1442 5431(\342\356\352\360\363\343)g(\352\363\360\361\356\360\340)1442
1648b Fg(C-x)42 b(C-o)-78 2782 y Fi 5432b Fg(C-x)42 b(C-o)-78 2882 y Fi
1649(\356\341\372\345\344\350\355\350\362\374)27 b 5433(\356\341\372\345\344\350\355\350\362\374)26 b
1650(\361\362\360\356\352\363)h(\361)f 5434(\361\362\360\356\352\363)h(\361)g
1651(\357\360\345\344\373\344\363\371\345\351)h(\(\361\356)f 5435(\357\360\345\344\373\344\363\371\345\351)h(\(\361\356)f
1652(\361\353\345\344\363\376\371\350\354\350)h(arg\))817 5436(\361\353\345\344\363\376\371\350\354\350)h(arg\))817
1653b Fg(M-\002)-78 2882 y Fi(\363)-5 b(\344\340\353\350\362\374)28 5437b Fg(M-\002)-78 2981 y Fi(\363)-5 b(\344\340\353\350\362\374)27
1654b(\357\363)n(\361\362\356\345)f 5438b(\357\363)n(\361\362\356\345)f
1655(\357\360\356\361\362\360\340\355\361\362\342\356)g 5439(\357\360\356\361\362\360\340\355\361\362\342\356)f
1656(\342\356\352\360\363\343)g(\352\363\360\361\356\360\340)1211 5440(\342\356\352\360\363\343)i(\352\363\360\361\356\360\340)1211
1657b Fg(M-)p Fd(n)-78 2981 y Fi(\357\356\354\345\361\362\350\362\374)28 5441b Fg(M-)p Fd(n)-78 3081 y Fi(\357\356\354\345\361\362\350\362\374)26
1658b(\362\356\353\374\352)n(\356)f(\356)n(\344\350\355)g 5442b(\362\356\353\374\352)n(\356)g(\356)n(\344\350\355)h
1659(\357\360\356\341\345\353)g(\342)g(\357\356\347\350\366\350\350)h 5443(\357\360\356\341\345\353)g(\342)g(\357\356\347\350\366\350\350)h
1660(\352\363\360\361\356\360\340)1036 b Fg(M-SPC)-78 3081 5444(\352\363\360\361\356\360\340)1036 b Fg(M-SPC)-78 3180
1661y Fi(\347\340\357\356\353\355\350\362\374)27 b 5445y Fi(\356\362\364\356\360\354\340\362\350\360\356\342\340\362\374)23
1662(\362\345\352\363\371\350\351)h(\357\340\360\340\343\360\340\364)1799 5446b(\362\345\352\363\371\350\351)k(\357\340\360\340\343\360\340\364)1513
1663b Fg(M-q)-78 3180 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374) 5447b Fg(M-q)-78 3280 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)
166426 b(\361\362\356\353\341\345\366)h 544824 b(\361\362\356\353\341\345\366)i
1665(\347\340\357\356\353\355\345\355\350\377)1739 b Fg(C-x)42 5449(\347\340\357\356\353\355\345\355\350\377)1739 b Fg(C-x)42
1666b(f)-78 3280 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)26 5450b(f)-78 3380 y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)24
1667b(\357\360\345\364\350\352)n(\361)h 5451b(\357\360\345\364\350\352)n(\361)j
1668(\347\340\357\356\353\355\345\355\350\377)g(\352)n 5452(\347\340\357\356\353\355\345\355\350\377)g(\352)n
1669(\340\346\344\356\351)g(\361\362\360\356\352\350)1108 5453(\340\346\344\356\351)g(\361\362\360\356\352\350)1107
1670b Fg(C-x)42 b(.)-78 3380 y Fi(\363)n(\361\362)n 5454b Fg(C-x)42 b(.)-78 3479 y Fi(\363)n(\361\362)n
1671(\340\355\356\342\350\362\374)26 b(\355\340)n(\367\345\360\362)n 5455(\340\355\356\342\350\362\374)24 b(\355\340)n(\367\345\360\362)n
1672(\340\355\350\345)2065 b Fg(M-g)-128 3625 y Fh(13)131 5456(\340\355\350\345)i(\(face\))1833 b Fg(M-g)-128 3725
1673b(\310\347\354\345\355\345\355\350\345)44 b 5457y Fh(13)131 b(\310\347\354\345\355\345\355\350\345)44
1674(\360\345\343\350\361\362\360\340)-78 3808 y Fi(\361)n 5458b(\360\345\343\350\361\362\360\340)-78 3908 y Fi(\361)n
1675(\344\345\353\340\362\374)27 b(\341\363\352\342\373)g 5459(\344\345\353\340\362\374)26 b(\341\363\352\342\373)h
1676(\361\353\356\342\340)f(\347\340\343)n(\353\340\342\355\373\354\350) 5460(\361\353\356\342\340)f(\347\340\343)n(\353\340\342\355\373\354\350)
16771672 b Fg(M-u)-78 3908 y Fi(\361)n(\344\345\353\340\362\374)27 54611672 b Fg(M-u)-78 4008 y Fi(\361)n(\344\345\353\340\362\374)26
1678b(\341\363\352\342\373)g(\361\353\356\342\340)f 5462b(\341\363\352\342\373)h(\361\353\356\342\340)f
1679(\361\362\360\356\367\355\373\354\350)1704 b Fg(M-l)-78 5463(\361\362\360\356\367\355\373\354\350)1703 b Fg(M-l)-78
16804008 y Fi(\361)n(\344\345\353\340\362\374)27 b 54644107 y Fi(\361)n(\344\345\353\340\362\374)26 b
1681(\357\345\360\342\363\376)g(\341\363\352\342\363)g 5465(\357\345\360\342\363\376)h(\341\363\352\342\363)g
1682(\361\353\356\342\340)f(\347\340\343)n(\353\340\342\355\356\351)1457 5466(\361\353\356\342\340)f(\347\340\343)n(\353\340\342\355\356\351)1457
1683b Fg(M-c)-78 4107 y Fi(\361)n(\344\345\353\340\362\374)27 5467b Fg(M-c)-78 4207 y Fi(\361)n(\344\345\353\340\362\374)26
1684b(\341\363\352\342\373)g(\356\341\353\340\361\362\350)f(\347\340\343)n 5468b(\341\363\352\342\373)h(\356\341\353\340\361\362\350)e(\347\340\343)n
1685(\353\340\342\355\373\354\350)1585 b Fg(C-x)42 b(C-u)-78 5469(\353\340\342\355\373\354\350)1585 b Fg(C-x)42 b(C-u)-78
16864207 y Fi(\361)n(\344\345\353\340\362\374)27 b(\341\363\352\342\373)g 54704307 y Fi(\361)n(\344\345\353\340\362\374)26 b(\341\363\352\342\373)h
1687(\356\341\353\340\361\362\350)f(\361\362\360\356\367\355\373\354\350) 5471(\356\341\353\340\361\362\350)e(\361\362\360\356\367\355\373\354\350)
16881617 b Fg(C-x)42 b(C-l)-128 4453 y Fh(14)131 b 54721616 b Fg(C-x)42 b(C-l)-128 4553 y Fh(14)131 b
1689(\314\350\355\350\341\363\364\345\360)-128 4635 y Fi 5473(\314\350\355\350\341\363\364\345\360)-128 4735 y Fi
1690(\321\353\345\344\363\376\371\350\345)28 b 5474(\321\353\345\344\363\376\371\350\345)28 b
1691(\352\353\340\342\350\370\350)f(\(\352\353\376\367\350\))i 5475(\352\353\340\342\350\370\350)f(\(\352\353\376\367\350\))i
1692(\356\357\360\345\344\345\353\345\355\373)e(\342)h 5476(\356\357\360\345\344\345\353\345\355\373)e(\342)h
1693(\354\350\355\350\341\363\364\345\360\345.)-78 4734 y 5477(\354\350\355\350\341\363\364\345\360\345.)-78 4833 y
1694(\344\356\357\356\353\355\350\362\374)f(\355\340\361\352)n 5478(\344\356\357\356\353\355\350\362\374)e(\355\340\361\352)n
1695(\356\353\374\352)n(\356)f(\342\356\347\354\356)n(\346\355\356)1727 5479(\356\353\374\352)n(\356)g(\342\356\347\354\356)n(\346\355\356)1727
1696b Fg(TAB)-78 4833 y Fi(\344\356\357\356\353\355\350\362\374)27 5480b Fg(TAB)-78 4933 y Fi(\344\356\357\356\353\355\350\362\374)26
1697b(\344\356)h(\356)n(\344\355\356\343\356)e(\361\353\356\342\340)1907 5481b(\344\356)i(\356)n(\344\355\356\343\356)e(\361\353\356\342\340)1907
1698b Fg(SPC)-78 4933 y Fi(\344\356\357\356\353\355\350\362\374)27 5482b Fg(SPC)-78 5033 y Fi(\344\356\357\356\353\355\350\362\374)26
1699b(\350)h(\342\373\357\356\353\355\350\362\374)2026 b 5483b(\350)i(\342\373\357\356\353\355\350\362\374)2025 b
1700Fg(RET)-78 5033 y Fi(\357\356\352)n(\340\347\340\362\374)26 5484Fg(RET)-78 5132 y Fi(\357\356\352)n(\340\347\340\362\374)25
1701b(\342\356\347\354\356)n(\346\355\373\345)g 5485b(\342\356\347\354\356)n(\346\355\373\345)h
1702(\344\356\357\356\353\355\345\355\350\377)1677 b Fg(?)-78 5486(\344\356\357\356\353\355\345\355\350\377)1677 b Fg(?)-78
17035132 y Fi(\342\373\341\360\340\362\374)26 b 54875232 y Fi(\342\373\341\360\340\362\374)25 b
1704(\357\360\345\344\373\344\363\371\350\351)i(\342\342\356)n(\344)e(\342) 5488(\357\360\345\344\373\344\363\371\363\376)j(\361\362\360\356\352\363)f
1705h(\354\350\355\350\341\363\364\345\360)1390 b Fg(M-p)-78 5489(\350\347)g(\350\361\362\356\360\350\350)g(\342\342\356)n(\344\340)1130
17065232 y Fi(\342\373\341\360\340\362\374)26 b 5490b Fg(M-p)-78 5332 y Fi(\342\373\341\360\340\362\374)25
1707(\361\353\345\344\363\376\371\350\351)i(\342\342\356)n(\344)e(\342)h 5491b(\361\353\345\344\363\376\371\363\376)j(\361\362\360\356\352\363)f
1708(\354\350\355\350\341\363\364\345\360)1443 b Fg(M-n)-78 5492(\350\347)g(\350\361\362\356\360\350\350)g(\342\342\356)n(\344\340)1183
17095332 y Fi(\357\356\350\361\352)28 b(\342)f 5493b Fg(M-n)-78 5431 y Fi(\357\356\350\361\352)28 b(\342)f
1710(\350\361\362\356\360\350\350)h(\357\356)f(\360\345\343\363)-5 5494(\350\361\362\356\360\350\350)g(\357\356)g(\360\345\343\363)-5
1711b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n 5495b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n
1712(\345\355\350\376)f(\342)g(\356\341\360\340\362\355\356\354)g 5496(\345\355\350\376)f(\342)g(\356\341\360\340\362\355\356\354)f
1713(\355\340\357\360\342\353\345\355\350\350)293 b Fg(M-r)-78 5497(\355\340\357\360\342\353\345\355\350\350)293 b Fg(M-r)-78
17145431 y Fi(\357\356\350\361\352)28 b(\342)f 54985531 y Fi(\357\356\350\361\352)28 b(\342)f
1715(\350\361\362\356\360\350\350)h(\357\356)f(\360\345\343\363)-5 5499(\350\361\362\356\360\350\350)g(\357\356)g(\360\345\343\363)-5
1716b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n 5500b(\353\377\360\355\356\354\363)28 b(\342\373\360\340\346)n
1717(\345\355\350\376)f(\342)g(\357\360)n(\377\354\356\354)h 5501(\345\355\350\376)f(\342)g(\357\360)n(\377\354\356\354)h
1718(\355\340\357\360\342\353\345\355\350\350)361 b Fg(M-s)-78 5502(\355\340\357\360\342\353\345\355\350\350)361 b Fg(M-s)-78
17195531 y Fi(\357\360\345\360\342\340\362\374)27 b(\352)n 55035630 y Fi(\357\360\345\360\342\340\362\374)26 b(\352)n
1720(\356\354\340\355\344\363)2247 b Fg(C-g)-128 5627 y Fi 5504(\356\354\340\355\344\363)2247 b Fg(C-g)-128 5726 y Fi
1721(\315\340\341\345\360\350\362\345)31 b Fg(C-x)42 b(ESC)g(ESC)30 5505(\315\340\341\345\360\350\362\345)30 b Fg(C-x)42 b(ESC)g(ESC)30
1722b Fi(\344\353\377)i 5506b Fi(\344\353\377)i
1723(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)e(\350)h 5507(\360\345\344\340\352\362\350\360\356\342\340\355\350\377)d(\350)i
1724(\357\356\342\362\356\360\345\355\350\377)g 5508(\357\356\342\362\356\360\345\355\350\377)f
1725(\357\356\361\353\345\344\355\345\351)g(\352)n 5509(\357\356\361\353\345\344\355\345\351)h(\352)n
1726(\356\354\340\355\344\373)f(\355\340\341\360\340\355\355\356\351)g 5510(\356\354\340\355\344\373)f(\355\340\341\360\340\355\355\356\351)g
1727(\342)h(\354\350\355\350\341\363\364\345\360\345.)-128 5511(\342)h(\354\350\355\350\341\363\364\345\360\345.)-128
17285726 y(\315\340\341\345\360\350\362\345)c Fg(F10)p Fi(,)g 55125826 y(\315\340\341\345\360\350\362\345)26 b Fg(F10)p
1729(\367\362\356\341\373)g(\360\340\341\356\362)n(\340\362\374)f(\361)h 5513Fi(,)h(\367\362\356\341\373)f(\360\340\341\356\362)n(\340\362\374)e
1730(\357\363\355\352\362)n(\340\354\350)h(\354\345\355\376)h(\357\360\350) 5514(\361)j(\357\363\355\352\362)n(\340\354\350)g(\354\345\355\376)i
1731f(\357\356\354\356\371\350)f(\352)n(\356\354\340\355\344)g 5515(\357\360\350)f(\357\356\354\356\371\350)f(\352)n(\356\354\340\355\344)
1732(\354\350\355\350\341\363\364\345\360\340.)1860 6192 5516g(\354\350\355\350\341\363\364\345\360\340.)1860 6192
1733y(3)p eop end 5517y(3)p eop end
1734%%Page: 4 4 5518%%Page: 4 4
1735TeXDict begin 4 3 bop -128 -45 a Fh(15)131 b(\301\363\364\345\360\340) 5519TeXDict begin 4 3 bop -128 -45 a Fh(15)131 b(\301\363\364\345\360\340)
1736-78 139 y Fi(\342\373\341\360\340\362\374)26 b 5520-78 139 y Fi(\342\373\341\360\340\362\374)25 b
1737(\344\360\363\343\356\351)i(\341\363\364\345\360)2071 5521(\344\360\363\343\356\351)j(\341\363\364\345\360)2071
1738b Fg(C-x)42 b(b)-78 239 y Fi(\342\373\344\340\362\374)27 5522b Fg(C-x)42 b(b)-78 239 y Fi(\342\373\344\340\362\374)26
1739b(\361\357\350\361\356\352)g(\342\361\345\365)g 5523b(\361\357\350\361\356\352)h(\342\361\345\365)g
1740(\341\363\364\345\360\356\342)1849 b Fg(C-x)42 b(C-b)-78 5524(\341\363\364\345\360\356\342)1849 b Fg(C-x)42 b(C-b)-78
1741338 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)28 5525338 y Fi(\363\355\350\367\362\356)n(\346\350\362\374)26
1742b(\341\363\364\345\360)2212 b Fg(C-x)42 b(k)-128 584 5526b(\341\363\364\345\360)2212 b Fg(C-x)42 b(k)-128 583
1743y Fh(16)131 b(\316\341\354\345\355)43 b(\354\345\361\362)l 5527y Fh(16)131 b(\317\345\360\345\361\362)l(\340\355\356\342\352)l(\340)44
1744(\340\354\350)-78 745 y Fi(\356\341\354\345\355\377\362\374)27 5528b(\344\340\355\355\373\365)-78 767 y Fi
1745b(\354\345\361\362)n(\340\354\350)h Ff(\361\350\354\342\356\353\373) 5529(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n(\340\354\350)
17461842 b Fg(C-t)-78 844 y Fi(\356\341\354\345\355\377\362\374)27 5530h Ff(\361\350\354\342\356\353\373)1842 b Fg(C-t)-78 867
1747b(\354\345\361\362)n(\340\354\350)h Ff(\361\353\356\342\340)1982 5531y Fi(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n
1748b Fg(M-t)-78 944 y Fi(\356\341\354\345\355\377\362\374)27 5532(\340\354\350)h Ff(\361\353\356\342\340)1982 b Fg(M-t)-78
1749b(\354\345\361\362)n(\340\354\350)h Ff(\361\362\360\356\352\350)1925 5533966 y Fi(\356\341\354\345\355\377\362\374)26 b(\354\345\361\362)n
1750b Fg(C-x)42 b(C-t)-78 1044 y Fi(\356\341\354\345\355\377\362\374)27 5534(\340\354\350)h Ff(\361\362\360\356\352\350)1925 b Fg(C-x)42
5535b(C-t)-78 1066 y Fi(\356\341\354\345\355\377\362\374)26
1751b(\354\345\361\362)n(\340\354\350)h Ff(\342\373\360\340\346)m 5536b(\354\345\361\362)n(\340\354\350)h Ff(\342\373\360\340\346)m
1752(\345\355\350\377)1727 b Fg(C-M-t)-128 1289 y Fh(17)131 5537(\345\355\350\377)1726 b Fg(C-M-t)-128 1311 y Fh(17)131
1753b(\317\360\356\342\345\360\352)l(\340)44 b 5538b(\317\360\356\342\345\360\352)l(\340)44 b
1754(\343\360\340\354\354\340\362\350\352\350)-78 1472 y 5539(\357\360\340\342\356\357\350\361\340\355\350\377)-78
1755Fi(\357\360\356\342\345\360\350\362\374)27 b 55401495 y Fi(\357\360\356\342\345\360\350\362\374)26 b
1756(\362\345\352\363\371\345\345)h(\361\353\356\342\356)1974 5541(\362\345\352\363\371\345\345)h(\361\353\356\342\356)1974
1757b Fg(M-$)-78 1572 y Fi(\357\360\356\342\345\360\350\362\374)27 5542b Fg(M-$)-78 1594 y Fi(\357\360\356\342\345\360\350\362\374)26
1758b(\342\361\345)g(\361\353\356\342\340)f(\342)i 5543b(\342\361\345)h(\361\353\356\342\340)f(\342)i
1759(\356\341\353\340\361\362\350)1776 b Fg(M-x)42 b(ispell-region)-78 5544(\356\341\353\340\361\362\350)1775 b Fg(M-x)42 b(ispell-region)-78
17601672 y Fi(\342\373\357\356\353\355\350\362\374)27 b 55451694 y Fi(\342\373\357\356\353\355\350\362\374)26 b
1761(\357\360\356\342\345\360\352\363)g(\342\361\345\343\356)f 5546(\357\360\356\342\345\360\352\363)h(\342\361\345\343\356)f
1762(\341\363\364\345\360\340)1624 b Fg(M-x)42 b(ispell-buffer)-128 5547(\341\363\364\345\360\340)1624 b Fg(M-x)42 b(ispell-buffer)-128
17631917 y Fh(18)131 b(\322)-11 b(\345\343\350)-78 2077 y 55481939 y Fh(18)131 b(\322)-11 b(\345\343\350)-78 2099 y
1764Fi(\355\340\351\362\350)28 b 5549Fi(\355\340\351\362\350)27 b
1765(\356\357\360\345\344\345\353\345\355\350\345)g(\362\345\343)n(\340) 5550(\356\357\360\345\344\345\353\345\355\350\345)h(\362\345\343)n(\340)
17662037 b Fg(M-.)-78 2177 y Fi(\355\340\351\362\350)28 b 55512036 b Fg(M-.)-78 2199 y Fi(\355\340\351\362\350)27 b
1767(\361\353\345\344\363\376\371\345\345)g(\342\365)n(\356)n 5552(\361\353\345\344\363\376\371\345\345)h(\342\365)n(\356)n
1768(\346\344\345\355\350\345)e(\362\345\343)n(\340)1659 5553(\346\344\345\355\350\345)e(\362\345\343)n(\340)1658
1769b Fg(C-u)42 b(M-.)-78 2276 y Fi(\363\352)n(\340\347\340\362\374)26 5554b Fg(C-u)42 b(M-.)-78 2299 y Fi
1770b(\355\356\342\373\351)h(\364\340\351\353)g(\361)h(\362\345\343)n 5555(\350\361\357\356\353\374\347\356\342\340\362\374)25
1771(\340\354\350)1807 b Fg(M-x)42 b(visit-tags-tabl)o(e)-78 5556b(\355\356\342\373\351)h(\364\340\351\353)h(\361)h(\362\345\343)n
17722376 y Fi(\357\356\350\361\352)28 b(\357\356)f 5557(\340\354\350)1594 b Fg(M-x)42 b(visit-tags-tabl)o(e)-78
55582398 y Fi(\357\356\350\361\352)28 b(\357\356)f
1773(\370\340\341\353\356\355\363)f(\357\356)h(\342\361\345\351)g(\362)n 5559(\370\340\341\353\356\355\363)f(\357\356)h(\342\361\345\351)g(\362)n
1774(\340\341\353\350\366\345)g(\362\345\343\356\342)1392 5560(\340\341\353\350\366\345)f(\362\345\343\356\342)1391
1775b Fg(M-x)42 b(tags-search)-78 2476 y Fi 5561b Fg(M-x)42 b(tags-search)-78 2498 y Fi
1776(\342\373\357\356\353\355\350\362\374)27 b(query-replace)f 5562(\342\373\357\356\353\355\350\362\374)26 b(query-replace)g
1777(\355\340\344)h(\342\361\345\354\350)g(\364\340\351\353\340\354\350) 5563(\355\340\344)h(\342\361\345\354\350)g(\364\340\351\353\340\354\350)
17781237 b Fg(M-x)42 b(tags-query-repl)o(ace)-78 2575 y Fi(\357\360\356)n 55641237 b Fg(M-x)42 b(tags-query-repl)o(ace)-78 2597 y Fi(\357\360\356)n
1779(\344\356\353\346\350\362\374)27 b(\357\356\350\361\352)h(\350\353\350) 5565(\344\356\353\346\350\362\374)26 b(\357\356\350\361\352)i(\350\353\350)
1780g(\357\356\350\361\352-\347\340\354\345\355\363)e(\362\345\343)n(\340) 5566g(\357\356\350\361\352-\347\340\354\345\355\363)e(\362\345\343)n(\340)
17811346 b Fg(M-,)-128 2820 y Fh(19)131 b 55671345 b Fg(M-,)-128 2843 y Fh(19)131 b
1782(\312\356\354\340\355\344\355\373\345)43 b 5568(\312\356\354\340\355\344\355\373\345)43 b
1783(\357\360\356\366\345\361\361\356\360\373)-78 3004 y 5569(\357\360\356\366\345\361\361\356\360\373)-78 3026 y
1784Fi(\302\373\357\356\353\355\350\362\374)28 b(\352)n 5570Fi(\302\373\357\356\353\355\350\362\374)27 b(\352)n
1785(\356\354\340\355\344\363)e(\352)n 5571(\356\354\340\355\344\363)f(\352)n
1786(\356\354\340\355\344\355\356\343\356)g 5572(\356\354\340\355\344\355\356\343\356)g
1787(\357\360\356\366\345\361\361\356\360\340)1245 b Fg(M-!)-78 5573(\357\360\356\366\345\361\361\356\360\340)1245 b Fg(M-!)-78
17883104 y Fi(\342\373\357\356\353\355\350\362\374)27 b(\352)n 55743126 y Fi(\342\373\357\356\353\355\350\362\374)26 b(\352)n
1789(\356\354\340\355\344\363)g(\352)n 5575(\356\354\340\355\344\363)h(\352)n
1790(\356\354\340\355\344\355\356\343\356)f 5576(\356\354\340\355\344\355\356\343\356)f
1791(\357\360\356\366\345\361\361\356\360\340)g(\355\340\344)i 5577(\357\360\356\366\345\361\361\356\360\340)g(\355\340\344)i
1792(\356\341\353\340\361\362\374\376)720 b Fg(M-|)-78 3203 5578(\356\341\353\340\361\362\374\376)719 b Fg(M-|)-78 3225
1793y Fi(\357\360\356\357\363)n(\361\362\350\362\374)28 b(\361\356)n 5579y Fi(\357\360\356\357\363)n(\361\362\350\362\374)26 b(\361\356)n
1794(\344\345\360)n(\346\350\354\356\345)e(\356\341\353\340\361\362\350)h 5580(\344\345\360)n(\346\350\354\356\345)g(\356\341\353\340\361\362\350)g
1795(\367\345\360\345\347)h(\352)n(\356\354\340\355\344\363)f(\352)n 5581(\367\345\360\345\347)i(\352)n(\356\354\340\355\344\363)f(\352)n
1796(\356\354\340\355\344\355\356\343\356)f 5582(\356\354\340\355\344\355\356\343\356)f
1797(\357\360\356\366\345\361\361\356\360\340)210 b Fg(C-u)42 5583(\357\360\356\366\345\361\361\356\360\340)210 b Fg(C-u)42
1798b(M-|)-78 3303 y Fi(\347\340\357\363)n(\361\362\350\362\374)27 5584b(M-|)-78 3325 y Fi(\347\340\357\363)n(\361\362\350\362\374)25
1799b(\352)n(\356\354\340\355\344\355\373\351)h 5585b(\352)n(\356\354\340\355\344\355\373\351)j
1800(\357\360\356\366\345\361\361\356\360)e(\342)i(\356\352\355\345)f 5586(\357\360\356\366\345\361\361\356\360)e(\342)i(\356\352\355\345)f
1801Fg(*shell*)1098 b(M-x)42 b(shell)-128 3549 y Fh(20)131 5587Fg(*shell*)1098 b(M-x)42 b(shell)-128 3571 y Fh(20)131
1802b(\317\360)l(\377\354\356\363\343\356\353\374\355\373\345)44 5588b(\317\360)l(\377\354\356\363\343\356\353\374\355\373\345)44
1803b(\356\341\353\340\361\362\350)-78 3733 y Fi(\361\352)n 5589b(\356\341\353\340\361\362\350)-78 3755 y Fi(\361\352)n
1804(\356\357\350\360\356\342\340\362\374)26 b(\357\360)n 5590(\356\357\350\360\356\342\340\362\374)25 b(\357\360)n
5591(\377\354\356\363\343\356\353\374\355\363\376)h
5592(\356\341\353\340\361\362\374)f(\342)j(\360\345\343\350\361\362\360)
55931139 b Fg(C-x)42 b(r)h(r)-78 3854 y Fi(\363)-5 b
5594(\344\340\353\350\362\374)27 b(\357\360)n
5595(\377\354\356\363\343\356\353\374\355\363\376)f
5596(\356\341\353\340\361\362\374)1691 b Fg(C-x)42 b(r)h(k)-78
55973954 y Fi(\342\361\362)n(\340\342\350\362\374)25 b
5598(\357\356\361\353\345\344\355\363\376)i(\363\355\350\367\362\356)n
5599(\346)n(\345\355\355\363\376)g(\357\360)n
5600(\377\354\356\363\343\356\353\374\355\363\376)f
5601(\356\341\353\340\361\362\374)637 b Fg(C-x)42 b(r)h(y)-78
56024054 y Fi(\356\362\352\360\373\362\374)26 b(\357\360)n
1805(\377\354\356\363\343\356\353\374\355\363\376)g 5603(\377\354\356\363\343\356\353\374\355\363\376)g
1806(\356\341\353\340\361\362\374)g(\342)i(\360\345\343\350\361\362\360) 5604(\356\341\353\340\361\362\374,)g(\361)n(\344\342\350\343)n(\340\377)g
18071140 b Fg(C-x)42 b(r)h(r)-78 3832 y Fi(\363)-5 b 5605(\362\345\352)n(\361\362)g(\342\357\360\340\342\356)821
1808(\344\340\353\350\362\374)28 b(\357\360)n 5606b Fg(C-x)42 b(r)h(o)-78 4153 y Fi(\356\367\350\361\362\350\362\374)26
1809(\377\354\356\363\343\356\353\374\355\363\376)e 5607b(\357\360)n(\377\354\356\363\343\356\353\374\355\363\376)h
1810(\356\341\353\340\361\362\374)1692 b Fg(C-x)42 b(r)h(k)-78 5608(\356\341\353\340\361\362\374)1651 b Fg(C-x)42 b(r)h(c)-78
18113932 y Fi(\342\361\362)n(\340\342\350\362\374)27 b 56094253 y Fi(\357\360\345\344\342\340\360\350\362\374)26
1812(\357\356\361\353\345\344\355\363\376)g(\363\355\350\367\362\356)n 5610b(\352)n(\340\346\344\363\376)i(\361\362\360\356\352\363)e
1813(\346)n(\345\355\355\363\376)h(\357\360)n 5611(\361\362\360\356\352)n(\356\351)g(\362\345\352)n(\361\362)n(\340)1289
1814(\377\354\356\363\343\356\353\374\355\363\376)e 5612b Fg(C-x)42 b(r)h(t)-128 4498 y Fh(21)131 b
1815(\356\341\353\340\361\362\374)638 b Fg(C-x)42 b(r)h(y)-78 5613(\321\356\352\360\340\371\345\355\350\377)-78 4682 y
18164031 y Fi(\356\362\352\360\373\362\374)28 b(\357\360)n 5614Fi(\344\356\341\340\342\350\362\374)25 b(\343)n
1817(\377\354\356\363\343\356\353\374\355\363\376)e 5615(\353\356\341\340\353\374\355\356\345)g
1818(\356\341\353\340\361\362\374,)h(\361)n(\344\342\350\343)n(\340\377)f
1819(\362\345\352)n(\361\362)i(\342\357\360\340\342\356)821
1820b Fg(C-x)42 b(r)h(o)-78 4131 y Fi(\356\367\350\361\362\350\362\374)28
1821b(\357\360)n(\377\354\356\363\343\356\353\374\355\363\376)f
1822(\356\341\353\340\361\362\374)1652 b Fg(C-x)42 b(r)h(c)-78
18234231 y Fi(\357\360\345\344\342\340\360\350\362\374)27
1824b(\352)n(\340\346\344\363\376)h(\361\362\360\356\352\363)f
1825(\361\362\360\356\352)n(\356\351)g(\362\345\352)n(\361\362)n(\340)1291
1826b Fg(C-x)42 b(r)h(t)-128 4476 y Fh(21)131 b
1827(\321\356\352\360\340\371\345\355\350\377)-78 4659 y
1828Fi(\344\356\341\340\342\350\362\374)26 b(\343)n
1829(\353\356\341\340\353\374\355\356\345)f
1830(\361\356\352\360\340\371\345\355\350\345)1675 b Fg(C-x)42 5616(\361\356\352\360\340\371\345\355\350\345)1675 b Fg(C-x)42
1831b(a)h(g)-78 4759 y Fi(\344\356\341\340\342\350\362\374)26 5617b(a)h(g)-78 4781 y Fi(\344\356\341\340\342\350\362\374)25
1832b(\353\356\352)n(\340\353\374\355\356\345)g(\344\353\377)i 5618b(\353\356\352)n(\340\353\374\355\356\345)h(\344\353\377)i
1833(\360\345\346\350\354\340)f(\361\356\352\360\340\371\345\355\350\345) 5619(\360\345\346\350\354\340)f(\361\356\352\360\340\371\345\355\350\345)
18341220 b Fg(C-x)42 b(a)h(l)-78 4859 y Fi 56201220 b Fg(C-x)42 b(a)h(l)-78 4881 y Fi
1835(\344\356\341\340\342\350\362\374)26 b(\343)n 5621(\344\356\341\340\342\350\362\374)25 b(\343)n
1836(\353\356\341\340\353\374\355\356\345)f(\347\355\340)n 5622(\353\356\341\340\353\374\355\356\345)g(\347\355\340)n
1837(\367\345\355\350\345)i(\344\353\377)h(\344\340\355\355\356\343\356)e 5623(\367\345\355\350\345)i(\344\353\377)h(\344\340\355\355\356\343\356)e
1838(\361\356\352\360\340\371\345\355\350\377)813 b Fg(C-x)42 5624(\361\356\352\360\340\371\345\355\350\377)813 b Fg(C-x)42
1839b(a)h(i)g(g)-78 4958 y Fi(\344\356\341\340\342\350\362\374)26 5625b(a)h(i)g(g)-78 4981 y Fi(\344\356\341\340\342\350\362\374)25
1840b(\361\357\345\366\350\364\350\367\345\361\352)n(\356\345)h 5626b(\361\357\345\366\350\364\350\367\345\361\352)n(\356\345)i
1841(\344\353\377)h(\360\345\346\350\354\340)f(\347\355\340)n 5627(\344\353\377)h(\360\345\346\350\354\340)f(\347\355\340)n
1842(\367\345\355\350\345)g(\344\340\355\355\356\343\356)g 5628(\367\345\355\350\345)g(\344\340\355\355\356\343\356)g
1843(\361\356\352\360\340\371\345\355\350\377)342 b Fg(C-x)42 5629(\361\356\352\360\340\371\345\355\350\377)342 b Fg(C-x)42
1844b(a)h(i)g(l)-78 5058 y Fi(\377\342\355\356)27 b(\342\361\362)n 5630b(a)h(i)g(l)-78 5080 y Fi(\377\342\355\356)27 b(\342\361\362)n
1845(\340\342\350\362\374)f(\347\355\340)n(\367\345\355\350\345)h 5631(\340\342\350\362\374)d(\347\355\340)n(\367\345\355\350\345)j
1846(\344\353\377)h(\361\356\352\360\340\371\345\355\350\377)1395 5632(\344\353\377)h(\361\356\352\360\340\371\345\355\350\377)1395
1847b Fg(C-x)42 b(a)h(e)-78 5158 y Fi 5633b Fg(C-x)42 b(a)h(e)-78 5180 y Fi
1848(\344\350\355\340\354\350\367\345\361\352\350)28 b 5634(\344\350\355\340\354\350\367\345\361\352\350)28 b
1849(\344\356\357\356\353\355\350\362\374)g 5635(\344\356\357\356\353\355\350\362\374)f
1850(\357\360\345\344\373\344\363\371\345\345)f(\361\353\356\342\356)1287 5636(\357\360\345\344\373\344\363\371\345\345)g(\361\353\356\342\356)1287
1851b Fg(M-/)1860 6192 y Fi(4)p eop end 5637b Fg(M-/)1860 6192 y Fi(4)p eop end
1852%%Page: 5 5 5638%%Page: 5 5
1853TeXDict begin 5 4 bop -128 -45 a Fh(22)131 b(\320)l(\345\343\363)-7 5639TeXDict begin 5 4 bop -128 -45 a Fh(22)131 b(\320)l(\345\343\363)-7
@@ -1856,22 +5642,22 @@ b(\353\377\360\355\373\345)44 b(\342\373\360\340\346)l
1856b(\356)n(\344\350\355\356\367\355\373\351)g(\361\350\354\342\356\353)g 5642b(\356)n(\344\350\355\356\367\355\373\351)g(\361\350\354\342\356\353)g
1857(\(\347\340)h(\350\361\352\353\376\367\345\355\350\345\354)g 5643(\(\347\340)h(\350\361\352\353\376\367\345\355\350\345\354)g
1858(\361\350\354\342\356\353\340)f(\355\356\342\356\351)f 5644(\361\350\354\342\356\353\340)f(\355\356\342\356\351)f
1859(\361\362\360\356\352\350\))388 b Fg(.)43 b Fi(\(dot\))-78 5645(\361\362\360\356\352\350\))387 b Fg(.)43 b Fi(\(dot\))-78
1860239 y(\355\356\353\374)27 b(\350\353\350)h(\341\356\353\345\345)f 5646239 y(\355\356\353\374)27 b(\350\353\350)h(\341\356\353\345\345)f
1861(\357\356\342\362\356\360\345\355\350\351)1901 b Fg(*)-78 5647(\357\356\342\362\356\360\345\355\350\351)1900 b Fg(*)-78
1862338 y Fi(\356)n(\344\355\356)27 b(\350\353\350)h(\341\356\353\345\345)e 5648338 y Fi(\356)n(\344\355\356)27 b(\350\353\350)h(\341\356\353\345\345)e
1863(\357\356\342\362\356\360\345\355\350\351)1904 b Fg(+)-78 5649(\357\356\342\362\356\360\345\355\350\351)1903 b Fg(+)-78
1864438 y Fi(\355\356\353\374)27 b(\350\353\350)h(\356)n(\344\355\356)f 5650438 y Fi(\355\356\353\374)27 b(\350\353\350)h(\356)n(\344\355\356)f
1865(\357\356\342\362\356\360\345\355\350\345)1940 b Fg(?)-78 5651(\357\356\342\362\356\360\345\355\350\345)1939 b Fg(?)-78
1866537 y Fi(\375\352\360\340\355\350\360\356\342\340\362\374)26 5652537 y Fi(\375\352\360\340\355\350\360\356\342\340\362\374)25
1867b(\361\357\345\366\350\340\353\374\355\373\351)h 5653b(\361\357\345\366\350\340\353\374\355\373\351)i
1868(\361\350\354\342\356\353)h Fe(c)1536 b Fd(n)p Fe(c)-78 5654(\361\350\354\342\356\353)h Fe(c)1536 b Fd(n)p Fe(c)-78
1869637 y Fi(\342\373\341\356\360)26 b(\354\345\346\344\363)i(\340\353\374) 5655637 y Fi(\342\373\341\356\360)26 b(\354\345\346\344\363)i(\340\353\374)
1870n(\362\345\360\355\340\362\350\342\340\354\350)f 5656n(\362\345\360\355\340\362\350\342\340\354\350)d
1871(\(\020\350\353\350\021\))1501 b Fd(nj)-78 737 y Fi 5657(\(\020\350\353\350\021\))1501 b Fd(nj)-78 737 y Fi
1872(\343\360\363\357\357\350\360\356\342\352)n(\340)2454 5658(\343\360\363\357\357\350\360\356\342\352)n(\340)2454
1873b Fd(n)p Fg(\()42 b Fc(:)14 b(:)g(:)44 b Fd(n)p Fg(\))-78 5659b Fd(n)p Fg(\()42 b Fc(:)14 b(:)g(:)44 b Fd(n)p Fg(\))-78
1874836 y Fi(\362\345\352)n(\361\362)29 b(\342)e Fe(n)6 b 5660836 y Fi(\362\345\352)n(\361\362)27 b(\342)g Fe(n)6 b
1875Fi(-\351)27 b(\343\360\363\357\357\345)2227 b Fd(n)p 5661Fi(-\351)27 b(\343\360\363\357\357\345)2227 b Fd(n)p
1876Fe(n)-78 936 y Fi(\343\360\340\355\350\366\340)27 b 5662Fe(n)-78 936 y Fi(\343\360\340\355\350\366\340)27 b
1877(\361\353\356\342\340)2394 b Fd(n)p Fg(b)-78 1036 y Fi(\355\345)28 5663(\361\353\356\342\340)2394 b Fd(n)p Fg(b)-78 1036 y Fi(\355\345)28
@@ -1881,7 +5667,7 @@ b(\355\340)m(\367\340\353\356)79 b(\361\356\356\362-)2857
18811243 y(\342\345\362\361\362\342\350\377)3547 1144 y(\352)m 56671243 y(\342\345\362\361\362\342\350\377)3547 1144 y(\352)m
1882(\356\355\345\366)127 b(\361\356\356\362-)3547 1243 y 5668(\356\355\345\366)127 b(\361\356\356\362-)3547 1243 y
1883(\342\345\362\361\362\342\350\377)-78 1343 y Fi(\361\362\360\356\352)n 5669(\342\345\362\361\362\342\350\377)-78 1343 y Fi(\361\362\360\356\352)n
1884(\340)2683 b Fg(\002)645 b($)-78 1442 y Fi(\361\353\356\342\356)2726 5670(\340)2682 b Fg(\002)646 b($)-78 1442 y Fi(\361\353\356\342\356)2726
1885b Fd(n)p Fg(<)604 b Fd(n)p Fg(>)-78 1542 y Fi(\341\363\364\345\360)2701 5671b Fd(n)p Fg(<)604 b Fd(n)p Fg(>)-78 1542 y Fi(\341\363\364\345\360)2701
1886b Fd(n)p Fg(`)604 b Fd(n)p Fg(')-78 1650 y Ff(\352\353\340\361\361)33 5672b Fd(n)p Fg(`)604 b Fd(n)p Fg(')-78 1650 y Ff(\352\353\340\361\361)33
1887b(\361\350\354\342\356\353\356\342)2262 b 5673b(\361\350\354\342\356\353\356\342)2262 b
@@ -1890,163 +5676,170 @@ b(\361\350\354\342\356\353\356\342)2262 b
18901750 y(\361\362\342\363)m(\345\362)131 b(\344\360\363-)3547 56761750 y(\361\362\342\363)m(\345\362)131 b(\344\360\363-)3547
18911849 y(\343\350\354)-78 1949 y Fi(\377\342\355\373\351)28 56771849 y(\343\350\354)-78 1949 y Fi(\377\342\355\373\351)28
1892b(\355\340\341\356\360)2450 b Fg([)43 b Fc(:)14 b(:)g(:)43 5678b(\355\340\341\356\360)2450 b Fg([)43 b Fc(:)14 b(:)g(:)43
1893b Fg(])419 b([\002)p Fc(:)14 b(:)g(:)41 b Fg(])-78 2048 5679b Fg(])419 b([\002)p Fc(:)14 b(:)g(:)42 b Fg(])-78 2048
1894y Fi(\361\350\354\342\356\353-\341\363\352\342\340)2423 5680y Fi(\361\350\354\342\356\353-\341\363\352\342\340)2423
1895b Fd(n)p Fg(w)604 b Fd(n)p Fg(W)-78 2148 y Fi(\361\350\354\342\356\353) 5681b Fd(n)p Fg(w)604 b Fd(n)p Fg(W)-78 2148 y Fi(\361\350\354\342\356\353)
189627 b(\361)h(\361\350\355\362)n(\340\352)n(\361\350\361\356\354)f 568227 b(\361)h(\361\350\355\362)n(\340\352)n(\361\350\361\356\354)e
1897Fe(c)2039 b Fd(n)p Fg(s)p Fe(c)566 b Fd(n)p Fg(S)p Fe(c)-128 5683Fe(c)2039 b Fd(n)p Fg(s)p Fe(c)566 b Fd(n)p Fg(S)p Fe(c)-128
18982394 y Fh(23)131 b(\314\345\346\344\363\355\340\360\356)l 56842394 y Fh(23)131 b(\314\345\346\344\363\355\340\360\356)l
1899(\344\355\373\345)43 b(\355\340\341\356\360\373)g 5685(\344\355\373\345)43 b(\355\340\341\356\360\373)g
1900(\361\350\354\342\356\353\356\342)-78 2578 y Fi 5686(\361\350\354\342\356\353\356\342)-78 2578 y Fi
1901(\342\373\341\360\340\362\374)26 b(\377\347\373\352)2406 5687(\342\373\341\360\340\362\374)25 b(\377\347\373\352)2406
1902b Fg(M-x)42 b(set-language-en)o(vir)o(on)o(me)o(nt)-78 5688b Fg(C-x)42 b(RET)g(l)-78 2677 y Fi(\357\356\352)n
19032677 y Fi(\357\356\352)n(\340\347\340\362\374)26 b(\342\361\345)h 5689(\340\347\340\362\374)25 b(\342\361\345)i(\342\356\347\354\356)n
1904(\342\356\347\354\356)n(\346\355\373\345)f(\354\345\362\356)n(\344\373) 5690(\346\355\373\345)f(\354\345\362\356)n(\344\373)h(\342\342\356)n
1905i(\342\342\356)n(\344\340)1457 b Fg(M-x)42 b(list-input-meth)o(ods)-78 5691(\344\340)1457 b Fg(M-x)42 b(list-input-meth)o(ods)-78
19062777 y Fi(\360\340\347\360\345\370\350\362\374)27 b(\350\353\350)h 56922777 y Fi(\360\340\347\360\345\370\350\362\374)26 b(\350\353\350)i
1907(\347\340\357\360\345\362\350\362\374)g(\354\345\362\356)n(\344)g 5693(\347\340\357\360\345\362\350\362\374)e(\354\345\362\356)n(\344)h
1908(\342\342\356)n(\344\340)1473 b Fg(C-)p Fd(n)-78 2877 5694(\342\342\356)n(\344\340)1473 b Fg(C-)p Fd(n)-78 2877
1909y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)26 5695y Fi(\363)n(\361\362)n(\340\355\356\342\350\362\374)24
1910b(\361\350\361\362\345\354\363)i(\352)n(\356)n 5696b(\361\350\361\362\345\354\363)j(\352)n(\356)n
1911(\344\350\360\356\342\340\355\350\377)e(\344\353\377)i 5697(\344\350\360\356\342\340\355\350\377)f(\344\353\377)i
1912(\361\353\345\344\363\376\371\345\351)f(\352)n 5698(\361\353\345\344\363\376\371\345\351)f(\352)n
1913(\356\354\340\355\344\373)705 b Fg(C-x)42 b(RET)g(c)-78 5699(\356\354\340\355\344\373)705 b Fg(C-x)42 b(RET)g(c)-78
19142976 y Fi(\357\356\352)n(\340\347\340\362\374)26 b 57002976 y Fi(\357\356\352)n(\340\347\340\362\374)25 b
1915(\361\357\350\361\356\352)i(\342\361\345\365)e 5701(\361\357\350\361\356\352)j(\342\361\345\365)e
1916(\361\350\361\362\345\354)j(\352)n(\356)n 5702(\361\350\361\362\345\354)i(\352)n(\356)n
1917(\344\350\360\356\342\340\355\350\377)1338 b Fg(M-x)42 5703(\344\350\360\356\342\340\355\350\377)1338 b Fg(M-x)42
1918b(list-coding-sys)o(tem)o(s)-78 3076 y Fi(\342\373\341\360\340\362\374) 5704b(list-coding-sys)o(tem)o(s)-78 3076 y Fi(\342\373\341\360\340\362\374)
191926 b(\357\360\345\344\357\356\367\362\350\362\345\353\374\355\363\376)j 570525 b(\357\360\345\344\357\356\367\362\350\362\345\353\374\355\363\376)i
1920(\361\350\361\362\345\354\363)f(\352)n(\356)n 5706(\361\350\361\362\345\354\363)g(\352)n(\356)n
1921(\344\350\360\356\342\340\355\350\377)1041 b Fg(M-x)42 5707(\344\350\360\356\342\340\355\350\377)1041 b Fg(M-x)42
1922b(prefer-coding-s)o(yst)o(em)-128 3329 y Fh(24)131 b 5708b(prefer-coding-s)o(yst)o(em)-128 3329 y Fh(24)131 b
1923(\310\355\364\356\360\354\340\366\350\377)44 b 5709(\310\355\364\356\360\354\340\366\350\377)44 b
1924(\(\361\350\361\362\345\354\340)g(Info\))-78 3519 y Fi 5710(\(\361\350\361\362\345\354\340)g(Info\))-78 3519 y Fi
1925(\347\340\357\363)n(\361\362\350\362\374)27 b 5711(\347\340\357\363)n(\361\362\350\362\374)25 b
1926(\361\350\361\362\345\354\363)i(\344\356\361\362\363\357\340)e(\352)g 5712(\361\350\361\362\345\354\363)j(\344\356\361\362\363\357\340)e(\352)h
1927(\344\356\352\363\354\345\355\362)n(\340\366\350\350)1275 5713(\344\356\352\363\354\345\355\362)n(\340\366\350\350)1274
1928b Fg(C-h)42 b(i)-78 3619 y Fi(\355\340\351\362\350)28 5714b Fg(C-h)42 b(i)-78 3619 y Fi(\355\340\351\362\350)27
1929b(\363\352)n(\340\347\340\355\355\363\376)f 5715b(\363\352)n(\340\347\340\355\355\363\376)g
1930(\364\363\355\352\366\350\376)g(\350\353\350)h 5716(\364\363\355\352\366\350\376)g(\350\353\350)h
1931(\357\345\360\345\354\345\355\355\363\376)h(\342)e 5717(\357\345\360\345\354\345\355\355\363\376)h(\342)e
1932(\344\356\352\363\354\345\355\362)n(\340\366\350\350)615 5718(\344\356\352\363\354\345\355\362)n(\340\366\350\350)614
1933b Fg(C-h)42 b(C-i)-128 3719 y Fi 5719b Fg(C-h)42 b(S)-128 3719 y Fi
1934(\317\345\360\345\354\345\371\345\355\350\345)28 b 5720(\317\345\360\345\354\345\371\345\355\350\345)28 b
1935(\342\355\363\362\360\350)f(\363\347\353\340)g(\(\355\356)n 5721(\342\355\363\362\360\350)e(\363\347\353\340)h(\(\355\356)n
1936(\344\340\354\350\):)-78 3818 y(\357\360\356\352\360\363\362\352)n 5722(\344\340\354\350\):)-78 3818 y(\357\360\356\352\360\363\362\352)n
1937(\340)g(\342\357\345\360\345\344)2257 b Fg(SPC)-78 3917 5723(\340)f(\342\357\345\360\345\344)2257 b Fg(SPC)-78 3917
1938y Fi(\357\360\356\352\360\363\362\352)n(\340)27 b(\355\340\347\340\344) 5724y Fi(\357\360\356\352\360\363\362\352)n(\340)26 b(\355\340\347\340\344)
19392298 b Fg(DEL)-78 4017 y Fi(\357\345\360\345\351\362\350)29 57252298 b Fg(DEL)-78 4017 y Fi(\357\345\360\345\351\362\350)28
1940b(\352)e(\355\340)n(\367\340\353\363)g(\363\347\353\340)2074 5726b(\352)f(\355\340)n(\367\340\353\363)g(\363\347\353\340)2074
1941b Fg(.)43 b Fi(\(dot\))-128 4112 y 5727b Fg(.)43 b Fi(\(dot\))-128 4112 y
1942(\317\345\360\345\354\345\371\345\355\350\345)28 b 5728(\317\345\360\345\354\345\371\345\355\350\345)28 b
1943(\354\345\346\344\363)g(\363\347\353\340\354\350:)-78 5729(\354\345\346\344\363)g(\363\347\353\340\354\350:)-78
19444206 y Ff(\361\353\345\344\363\376\371\350\351)f Fi(\363\347\345\353) 57304206 y Ff(\361\353\345\344\363\376\371\350\351)g Fi(\363\347\345\353)
19452245 b Fg(n)-78 4306 y Ff(\357\360\345\344\373\344\363\371\350\351)27 57312245 b Fg(n)-78 4306 y Ff(\357\360\345\344\373\344\363\371\350\351)28
1946b Fi(\363\347\345\353)2184 b Fg(p)-78 4405 y Fi 5732b Fi(\363\347\345\353)2184 b Fg(p)-78 4405 y Fi
1947(\357\345\360\345\351\362\350)29 b(\352)e Ff(\342\345\360)m 5733(\357\345\360\345\351\362\350)28 b(\352)f Ff(\342\345\360)m
1948(\365\355\345\354\363)h Fi(\363\347\353\363)1932 b Fg(u)-78 5734(\365\355\345\354\363)h Fi(\363\347\353\363)1932 b Fg(u)-78
19494505 y Fi(\342\373\341\360\340\362\374)26 b(\354\345\355\376)j 57354505 y Fi(\342\373\341\360\340\362\374)25 b(\357\363\355\352\362)j
1950(\357\356)e(\350\354\345\355\350)2020 b Fg(m)-78 4605 5736(\354\345\355\376)g(\357\356)f(\350\354\345\355\350)1769
1951y Fi(\342\373\341\360\340\362\374)26 b Fe(n)6 b Fi(-\351)28 5737b Fg(m)-78 4605 y Fi(\342\373\341\360\340\362\374)25
1952b(\357\363\355\352\362)g(\354\345\355\376)h(\357\356)e 5738b Fe(n)6 b Fi(-\351)28 b(\357\363\355\352\362)f(\354\345\355\376)i
1953(\355\356\354\345\360\363)g(\(1\0259\))1357 b Fe(n)-78 5739(\357\356)e(\355\356\354\345\360\363)g(\(1\0259\))1357
19544704 y Fi(\357\345\360\345\351\362\350)29 b(\357\356)e 5740b Fe(n)-78 4704 y Fi(\357\345\360\345\351\362\350)28
1955(\361\361\373\353\352)n(\345)g(\(\342\356\347\342\360\340\362)g(\361)g 5741b(\357\356)f(\361\361\373\353\352)n(\345)g
1956(\357\356\354\356\371\374\376)g Fg(l)p Fi(\))1330 b Fg(f)-78 5742(\(\342\356\347\342\360\340\362)f(\361)h(\357\356\354\356\371\374\376)g
19574804 y Fi(\342\356\347\342\360\340\362\350\362\361)n(\377)27 5743Fg(l)p Fi(\))1330 b Fg(f)-78 4804 y Fi
1958b(\352)g(\357\356\361\353\345\344\355\345\354\363)h 5744(\342\356\347\342\360\340\362\350\362\361)n(\377)25 b(\352)i
1959(\357\360\356\361\354\356\362\360\345\355\355\356\354\363)f 5745(\357\356\361\353\345\344\355\345\354\363)h
5746(\357\360\356\361\354\356\362\360\345\355\355\356\354\363)e
1960(\363\347\353\363)1089 b Fg(l)-78 4904 y Fi 5747(\363\347\353\363)1089 b Fg(l)-78 4904 y Fi
1961(\342\356\347\342\360\340\362\350\362\361)n(\377)27 b(\352)g 5748(\342\356\347\342\360\340\362\350\362\361)n(\377)25 b(\352)i
1962(\363\347\353\363-\352)n(\340\362)n(\340\353\356\343\363)1841 5749(\363\347\353\363-\352)n(\340\362)n(\340\353\356\343\363)1840
1963b Fg(d)-78 5003 y Fi(\357\345\360\345\351\362\350)29 5750b Fg(d)-78 5003 y Fi(\317\345\360\345\351\362\350)27
1964b(\352)e(\363\347\353\363)-7 b(,)28 b 5751b(\352)h(\342\345\360)n(\365)n(\345\354\363)e(\363\347\353\363)i
1965(\347\340\344\340\355\355\356\354\363)e(\350\354\345\355\345\354)1617 5752(\364\340\351\353\340)1748 b Fg(t)-78 5103 y Fi
1966b Fg(g)-128 5098 y Fi(\304\360\363\343\350\345)27 b(\352)n 5753(\357\345\360\345\351\362\350)28 b(\352)f(\363\347\353\363)-7
1967(\356\354\340\355\344\373:)-78 5192 y(\347\340\357\363)n 5754b(,)28 b(\347\340\344\340\355\355\356\354\363)e
1968(\361\362\350\362\374)g Ff(\363\367\345\341\355\350\352)h 5755(\350\354\345\355\345\354)1617 b Fg(g)-128 5198 y Fi
1969Fi(\357\356)f(\361\350\361\362\345\354\345)i 5756(\304\360\363\343\350\345)27 b(\352)n(\356\354\340\355\344\373:)-78
1970(\344\356\352\363\354\345\355\362)n(\340\366\350\350)1183 57575292 y(\347\340\357\363)n(\361\362\350\362\374)e Ff
1971b Fg(h)-78 5292 y Ff(\357\360\345\352\360\340\362\350\362\374)32 5758(\363\367\345\341\355\350\352)j Fi(\357\356)f
1972b(\360\340\341\356\362\363)d Fi(\361)e 5759(\361\350\361\362\345\354\345)h(\344\356\352\363\354\345\355\362)n
1973(\344\356\352\363\354\345\355\362)n(\340\366\350\345\351)1455 5760(\340\366\350\350)1182 b Fg(h)-78 5392 y Fi(\357\356\350\361\352)28
1974b Fg(q)-78 5392 y Fi(\357\356\350\361\352)28 b(\342)f 5761b(\362\345\354\373)f(\342)g(\350\355\344\345\352)n(\361\345)2107
5762b Fg(i)-78 5491 y Fi(\357\356\350\361\352)28 b(\342)f
1975(\363\347\353\340\365)g(\361)g(\357\356\354\356\371\374\376)g 5763(\363\347\353\340\365)g(\361)g(\357\356\354\356\371\374\376)g
1976(\360\345\343\363)-5 b(\353\377\360\355\373\365)28 b 5764(\360\345\343\363)-5 b(\353\377\360\355\373\365)28 b
1977(\342\373\360\340\346)n(\345\355\350\351)1028 b Fg(M-s)1860 5765(\342\373\360\340\346)n(\345\355\350\351)1028 b Fg(s)-78
19786192 y Fi(5)p eop end 57665591 y Ff(\357\360\345\352\360\340\362\350\362\374)32
5767b(\360\340\341\356\362\363)d Fi(\361)e
5768(\344\356\352\363\354\345\355\362)n(\340\366\350\345\351)1454
5769b Fg(q)1860 6192 y Fi(5)p eop end
1979%%Page: 6 6 5770%%Page: 6 6
1980TeXDict begin 6 5 bop -128 -45 a Fh(25)131 b(\320)l 5771TeXDict begin 6 5 bop -128 -45 a Fh(25)131 b(\320)l
1981(\345\343\350\361\362\360\373)-78 139 y Fi(\361\356)n 5772(\345\343\350\361\362\360\373)-78 139 y Fi(\361\356)n
1982(\365\360\340\355\350\362\374)27 b(\356\341\353\340\361\362\374)f(\342) 5773(\365\360\340\355\350\362\374)26 b(\356\341\353\340\361\362\374)f(\342)
1983h(\360\345\343\350\361\362\360\345)1810 b Fg(C-x)42 b(r)h(s)-78 5774i(\360\345\343\350\361\362\360\345)1809 b Fg(C-x)42 b(r)h(s)-78
1984239 y Fi(\342\361\362)n(\340\342\350\362\374)27 b(\361\356)n 5775239 y Fi(\342\361\362)n(\340\342\350\362\374)25 b(\361\356)n
1985(\344\345\360)n(\346\350\354\356\345)f 5776(\344\345\360)n(\346\350\354\356\345)h
1986(\360\345\343\350\361\362\360\340)i(\342)f(\341\363\364\345\360)1435 5777(\360\345\343\350\361\362\360\340)h(\342)g(\341\363\364\345\360)1435
1987b Fg(C-x)42 b(r)h(i)-78 338 y Fi(\361\356)n 5778b Fg(C-x)42 b(r)h(i)-78 338 y Fi(\361\356)n
1988(\365\360\340\355\350\362\374)27 b(\357\356\353\356)n(\346)n 5779(\365\360\340\355\350\362\374)26 b(\357\356\353\356)n(\346)n
1989(\345\355\350\345)f(\352\363\360\361\356\360\340)h(\342)g 5780(\345\355\350\345)g(\352\363\360\361\356\360\340)h(\342)g
1990(\360\345\343\350\361\362\360\345)1365 b Fg(C-x)42 b(r)h(SPC)-78 5781(\360\345\343\350\361\362\360\345)1364 b Fg(C-x)42 b(r)h(SPC)-78
1991438 y Fi(\357\345\360\345\351\362\350)29 b(\352)e(\357\356\353\356)n 5782438 y Fi(\357\345\360\345\351\362\350)28 b(\352)f(\357\356\353\356)n
1992(\346)n(\345\355\350\376)g(\352\363\360\361\356\360\340,)g(\361\356)n 5783(\346)n(\345\355\350\376)g(\352\363\360\361\356\360\340,)g(\361\356)n
1993(\365\360\340\355\345\355\355\356\354\363)f(\342)h 5784(\365\360\340\355\345\355\355\356\354\363)f(\342)h
1994(\360\345\343\350\361\362\360\345)775 b Fg(C-x)42 b(r)h(j)-128 5785(\360\345\343\350\361\362\360\345)774 b Fg(C-x)42 b(r)h(j)-128
1995683 y Fh(26)131 b(\312\353\340\342\350\340\362\363\360\355\373\345)44 5786683 y Fh(26)131 b(\312\353\340\342\350\340\362\363\360\355\373\345)44
1996b(\354\340\352\360\356\361\373)-78 867 y Ff(\355\340)m 5787b(\354\340\352\360\356\361\373)-78 867 y Ff(\355\340)m
1997(\367\340\362\374)29 b Fi(\356\357\360\345\344\345\353\345\355\350\345) 5788(\367\340\362\374)29 b Fi(\356\357\360\345\344\345\353\345\355\350\345)
1998e(\352\353\340\342\350\340\362\363\360\355\356\343\356)f 5789e(\352\353\340\342\350\340\362\363\360\355\356\343\356)e
1999(\354\340\352\360\356\361\340)1227 b Fg(C-x)42 b(\()-78 5790(\354\340\352\360\356\361\340)1227 b Fg(C-x)42 b(\()-78
2000966 y Ff(\347\340\352)m(\356\355\367\350\362\374)29 b 5791966 y Ff(\347\340\352)m(\356\355\367\350\362\374)29 b
2001Fi(\356\357\360\345\344\345\353\345\355\350\345)e 5792Fi(\356\357\360\345\344\345\353\345\355\350\345)e
2002(\352\353\340\342\350\340\362\363\360\355\356\343\356)f 5793(\352\353\340\342\350\340\362\363\360\355\356\343\356)e
2003(\354\340\352\360\356\361\340)1077 b Fg(C-x)42 b(\))-78 5794(\354\340\352\360\356\361\340)1077 b Fg(C-x)42 b(\))-78
20041066 y Ff(\342\373\357\356\353\355\350\362\374)27 b Fi 57951066 y Ff(\342\373\357\356\353\355\350\362\374)27 b Fi
2005(\357\356\361\353\345\344\355\350\351)h 5796(\357\356\361\353\345\344\355\350\351)h
2006(\356\357\360\345\344\345\353\345\355\355\373\351)g 5797(\356\357\360\345\344\345\353\345\355\355\373\351)g
2007(\354\340\352\360\356\361)1187 b Fg(C-x)42 b(e)-78 1165 5798(\354\340\352\360\356\361)1187 b Fg(C-x)42 b(e)-78 1165
2008y Fi(\344\356\357\356\353\355\350\362\374)27 b 5799y Fi(\344\356\357\356\353\355\350\362\374)26 b
2009(\357\356\361\353\345\344\355\350\351)h 5800(\357\356\361\353\345\344\355\350\351)i
2010(\356\357\360\345\344\345\353\345\355\355\373\351)g 5801(\356\357\360\345\344\345\353\345\355\355\373\351)g
2011(\354\340\352\360\356\361)1260 b Fg(C-u)42 b(C-x)g(\()-78 5802(\354\340\352\360\356\361)1260 b Fg(C-u)42 b(C-x)g(\()-78
20121265 y Fi(\347\340\344\340\362\374)27 b(\350\354\377)h(\344\353\377)g 58031265 y Fi(\347\340\344\340\362\374)26 b(\350\354\377)i(\344\353\377)g
2013(\357\356\361\353\345\344\355\345\343\356)f 5804(\357\356\361\353\345\344\355\345\343\356)f
2014(\356\357\360\345\344\345\353\345\355\355\356\343\356)f 5805(\356\357\360\345\344\345\353\345\355\355\356\343\356)f
2015(\354\340\352\360\356\361\340)990 b Fg(M-x)42 b(name-last-kbd-m)o(acr)o 5806(\354\340\352\360\356\361\340)990 b Fg(M-x)42 b(name-last-kbd-m)o(acr)o
2016(o)-78 1365 y Fi(\342\361\362)n(\340\342\350\362\374)27 5807(o)-78 1365 y Fi(\342\361\362)n(\340\342\350\362\374)25
2017b(\342)g(\341\363\364\345\360)f 5808b(\342)i(\341\363\364\345\360)f
2018(\356\357\360\345\344\345\353\345\355\350\345)i 5809(\356\357\360\345\344\345\353\345\355\350\345)i
2019(\354\340\352\360\356\361\340)e(\355\340)i(\377\347\373\352)n(\345)f 5810(\354\340\352\360\356\361\340)e(\355\340)i(\377\347\373\352)n(\345)f
2020(Lisp)898 b Fg(M-x)42 b(insert-kbd-macr)o(o)-128 1611 5811(Lisp)898 b Fg(M-x)42 b(insert-kbd-macr)o(o)-128 1611
2021y Fh(27)131 b(\312\356\354\340\355\344\373,)43 b 5812y Fh(27)131 b(\312\356\354\340\355\344\373,)43 b
2022(\361\342\377\347\340\355\355\373\345)h(\361)h(Emacs)e(Lisp)-78 5813(\361\342\377\347\340\355\355\373\345)h(\361)h(Emacs)e(Lisp)-78
20231794 y Fi(\342\373\367\350\361\353\350\362\374)28 b Ff 58141794 y Fi(\342\373\367\350\361\353\350\362\374)27 b Ff
2024(\342\373\360\340\346)m(\345\355\350\345)g Fi(\357\345\360\345\344)g 5815(\342\373\360\340\346)m(\345\355\350\345)g Fi(\357\345\360\345\344)h
2025(\352\363\360\361\356\360\356\354)1389 b Fg(C-x)42 b(C-e)-78 5816(\352\363\360\361\356\360\356\354)1389 b Fg(C-x)42 b(C-e)-78
20261894 y Fi(\342\373\367\350\361\353\350\362\374)28 b 58171894 y Fi(\342\373\367\350\361\353\350\362\374)27 b
2027(\362\345\352\363\371\363\376)g(\364\363\355\352\366\350\376)f 5818(\362\345\352\363\371\363\376)g(\364\363\355\352\366\350\376)g
2028Ff(defun)1518 b Fg(C-M-x)-78 1994 y Fi 5819Ff(defun)1518 b Fg(C-M-x)-78 1994 y Fi
2029(\342\373\367\350\361\353\350\362\374)28 b Ff 5820(\342\373\367\350\361\353\350\362\374)27 b Ff
2030(\356\341\353\340\361\362\374)g Fi(\352)n(\340\352)f 5821(\356\341\353\340\361\362\374)h Fi(\352)n(\340\352)f
2031(\342\373\360\340\346)n(\345\355\350\345)1561 b Fg(M-x)42 5822(\342\373\360\340\346)n(\345\355\350\345)1561 b Fg(M-x)42
2032b(eval-region)-78 2093 y Fi(\361\367\350\362)n(\340\362\374)28 5823b(eval-region)-78 2093 y Fi(\361\367\350\362)n(\340\362\374)26
2033b(\350)g(\342\373\367\350\361\353\350\362\374)f(\342\373\360\340\346)n 5824b(\350)i(\342\373\367\350\361\353\350\362\374)e(\342\373\360\340\346)n
2034(\345\355\350\345)g(\350\347)g 5825(\345\355\350\345)h(\350\347)g
2035(\354\350\355\350\341\363\364\345\360\340)1078 b Fg(M-:)-78 5826(\354\350\355\350\341\363\364\345\360\340)1078 b Fg(M-:)-78
20362193 y Fi(\347\340\343\360\363\347\350\362\374)27 b(\350\347)h 58272193 y Fi(\347\340\343\360\363\347\350\362\374)26 b(\350\347)i
2037(\361\362)n(\340\355\344\340\360\362\355\356\343\356)e 5828(\361\362)n(\340\355\344\340\360\362\355\356\343\356)c
2038(\361\350\361\362\345\354\355\356\343\356)i(\352)n(\340\362)n 5829(\361\350\361\362\345\354\355\356\343\356)j(\352)n(\340\362)n
2039(\340\353\356\343)n(\340)1113 b Fg(M-x)42 b(load-library)-128 5830(\340\353\356\343)n(\340)1112 b Fg(M-x)42 b(load-library)-128
20402438 y Fh(28)131 b(\317\360\356\361\362)l(\340\377)45 58312438 y Fh(28)131 b(\317\360\356\361\362)l(\340\377)45
2041b(\355\340\361\362\360\356\351\352)l(\340)-78 2619 y 5832b(\355\340\361\362\360\356\351\352)l(\340)-78 2619 y
2042Fi(\355\340\361\362\360\356\350\362\374)28 b 5833Fi(\355\340\361\362\360\356\350\362\374)26 b
2043(\357\345\360\345\354\345\355\355\373\345)g(\350)f 5834(\357\345\360\345\354\345\355\355\373\345)i(\350)f
2044(\356\364\356\360\354\353\345\355\350\345)g(\(faces\))1249 5835(\356\364\356\360\354\353\345\355\350\345)g(\(faces\))1249
2045b Fg(M-x)42 b(customize)-128 2720 y Fi(\321\356\347\344\340\362\374)27 5836b Fg(M-x)42 b(customize)-128 2720 y Fi
2046b(\343)n(\353\356\341\340\353\374\355\356\345)e(\355\340\347\355\340)n 5837(\321\356\347\344\340\355\350\345)27 b(\343)n
2047(\367\345\355\350\345)i(\352\353\376\367\345\351)h(\355\340)f(Emacs)h 5838(\353\356\341\340\353\374\355\373\365)f
2048(Lisp)f(\(\357\360\350\354\345\360\):)-128 2902 y Fg(\(global-set-key) 5839(\357\360\350\342\377\347\356\352)g(\352\353\340\342\350\370)h
204938 b("\\C-cg")i('goto-line\))-128 3002 y(\(global-set-key)e("\\M-#")j 5840(\(\352\353\376\367\345\351\))i(\355\340)e(Emacs)h(Lisp)f
5841(\(\357\360\350\354\345\360\373\):)-128 2902 y Fg(\(global-set-key)38
5842b("\\C-cg")i('goto-line\))-128 3002 y(\(global-set-key)e("\\M-#")j
2050('query-replace-)o(re)o(gex)o(p\))-128 3276 y Fh(29)131 5843('query-replace-)o(re)o(gex)o(p\))-128 3276 y Fh(29)131
2051b(\315\340\357\350\361\340\355\350\345)44 b(\352)l 5844b(\315\340\357\350\361\340\355\350\345)44 b(\352)l
2052(\356\354\340\355\344)-128 3458 y Fg(\(defun)d(<command-name>)d 5845(\356\354\340\355\344)-128 3458 y Fg(\(defun)d(<command-name>)d
@@ -2059,28 +5852,28 @@ b(\315\340\357\350\361\340\355\350\345)44 b(\352)l
20594421 y(\(recenter)h(\(if)k(\(null)e(line\))570 4521 y(0)483 58524421 y(\(recenter)h(\(if)k(\(null)e(line\))570 4521 y(0)483
20604621 y(\(prefix-numeric)o(-v)o(al)o(ue)c(line\)\)\)\))-128 58534621 y(\(prefix-numeric)o(-v)o(al)o(ue)c(line\)\)\)\))-128
20614803 y Fi(\321\357\345\366\350\364\350\352)n(\340\366\350\377)30 58544803 y Fi(\321\357\345\366\350\364\350\352)n(\340\366\350\377)30
2062b Fg(interactive)25 b Fi(\361\356\356\341\371\340\345\362)j(\356)h 5855b Fg(interactive)25 b Fi(\361\356\356\341\371\340\345\362)i(\356)i
2063(\362\356\354,)h(\367\362\356)g(\340\360\343\363\354\345\355\362)g 5856(\362\356\354,)g(\367\362\356)g(\340\360\343\363\354\345\355\362)g
2064(\355\340\344\356)e(\361\367\350\362\373\342\340\362\374)i 5857(\355\340\344\356)f(\361\367\350\362\373\342\340\362\374)g
2065(\350\355\362\345\360\340\352\362\350\342\355\356.)g(\304\353\377)f 5858(\350\355\362\345\360\340\352\362\350\342\355\356.)g(\304\353\377)h
2066(\344\356\357\356\353\355\350-)-128 4903 y 5859(\344\356\357\356\353\355\350-)-128 4903 y
2067(\362\345\353\374\355\356\351)f 5860(\362\345\353\374\355\356\351)e
2068(\350\355\364\356\360\354\340\366\350\350)f 5861(\350\355\364\356\360\354\340\366\350\350)g
2069(\355\340\341\345\360\350\362\345)g Fg(C-h)43 b(f)g(interactive)p 5862(\355\340\341\345\360\350\362\345)f Fg(C-h)43 b(f)g(interactive)p
2070Fi(.)1110 5391 y Fb(Cop)n(yrigh)n(t)1461 5389 y(c)1441 5863Fi(.)1110 5391 y Fb(Cop)n(yrigh)n(t)1461 5389 y(c)1441
20715391 y Fa(\015)23 b Fb(1997)i(F)-6 b(ree)25 b(Soft)n(w)n(are)g(F)-6 58645391 y Fa(\015)23 b Fb(2006)i(F)-6 b(ree)25 b(Soft)n(w)n(are)g(F)-6
2072b(oundation,)25 b(Inc.)1214 5470 y(v2.2)f(for)g(GNU)g(Emacs)e(v)n 5865b(oundation,)25 b(Inc.)1214 5470 y(v2.3)f(for)g(GNU)g(Emacs)f(v)n
2073(ersion)j(21,)f(June)g(1997)1453 5549 y(designed)g(b)n(y)g(Stephen)i 5866(ersion)i(22,)f(June)g(2006)1453 5549 y(designed)g(b)n(y)g(Stephen)i
2074(Gildea)1239 5628 y(\317\345\360\345\342\356)n(\344)f(Alex)e(Ott)h 5867(Gildea)1242 5628 y(\317\345\360\345\342\356)n(\344)f(Alex)e(Ott)h
2075(<ottalex)h(at)g(naro)r(d.ru>)-128 5707 y(P)n(ermission)31 5868(<alexott@gmail.com>)-128 5707 y(P)n(ermission)32 b(is)g(gran)n(ted)i
2076b(is)h(gran)n(ted)i(to)f(mak)n(e)e(and)i(distribute)g(copies)g(of)e 5869(to)f(mak)n(e)f(and)h(distribute)g(copies)g(of)e(this)h(card)i(pro)n
2077(this)h(card)i(pro)n(vided)f(the)g(cop)n(yrigh)n(t)h(notice)f(and)g 5870(vided)f(the)g(cop)n(yrigh)n(t)h(notice)f(and)g(this)f(p)r(ermission)g
2078(this)f(p)r(ermission)f(notice)i(are)-128 5786 y(preserv)n(ed)27 5871(notice)h(are)-128 5786 y(preserv)n(ed)27 b(on)c(all)g(copies.)-128
2079b(on)c(all)g(copies.)-128 5864 y(F)-6 b(or)33 b(copies)f(of)g(the)h 58725864 y(F)-6 b(or)28 b(copies)f(of)f(the)h(GNU)f(Emacs)h(man)n(ual,)f
2080(GNU)e(Emacs)g(man)n(ual,)g(write)h(to)h(the)f(F)-6 b(ree)34 5873(write)h(to)g(the)h(F)-6 b(ree)27 b(Soft)n(w)n(are)h(F)-6
2081b(Soft)n(w)n(are)f(F)-6 b(oundation,)33 b(Inc.,)f(59)g(T)-6 5874b(oundation,)28 b(Inc.,)e(51)h(F)-6 b(ranklin)27 b(Street,)h(Fifth)e
2082b(emple)31 b(Place,)h(Suite)g(330,)g(Boston,)h(MA)-128 5875(Flo)r(or,)h(Boston,)g(MA)-128 5943 y(02110-1301)f(USA)1860
20835943 y(02111-1307)26 b(USA)1860 6192 y Fi(6)p eop end 58766192 y Fi(6)p eop end
2084%%Trailer 5877%%Trailer
2085 5878
2086userdict /end-hook known{end-hook}if 5879userdict /end-hook known{end-hook}if
diff --git a/etc/ru-refcard.tex b/etc/ru-refcard.tex
index b2057f6c884..6305285961c 100644
--- a/etc/ru-refcard.tex
+++ b/etc/ru-refcard.tex
@@ -19,7 +19,7 @@
19\newlength{\ColThreeWidth} 19\newlength{\ColThreeWidth}
20\setlength{\ColThreeWidth}{25mm} 20\setlength{\ColThreeWidth}{25mm}
21 21
22\newcommand{\versionnumber}[0]{2.2} 22\newcommand{\versionnumber}[0]{2.3}
23\newcommand{\nyear}[0]{2006} 23\newcommand{\nyear}[0]{2006}
24 24
25\newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill 25\newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill
@@ -29,9 +29,9 @@
29\newcommand\copyrightnotice[0]{ 29\newcommand\copyrightnotice[0]{
30\vskip 1ex plus 2 fill\begingroup\footnotesize 30\vskip 1ex plus 2 fill\begingroup\footnotesize
31\centerline{Copyright \copyright\ \nyear\ Free Software Foundation, Inc.} 31\centerline{Copyright \copyright\ \nyear\ Free Software Foundation, Inc.}
32\centerline{v\versionnumber{} for GNU Emacs version 21, June \nyear} 32\centerline{v\versionnumber{} for GNU Emacs version 22, June \nyear}
33\centerline{designed by Stephen Gildea} 33\centerline{designed by Stephen Gildea}
34\centerline{ðÅÒÅ×ÏÄ Alex Ott <ottalex at narod.ru>} 34\centerline{ðÅÒÅ×ÏÄ Alex Ott <alexott@gmail.com>}
35 35
36Permission is granted to make and distribute copies of 36Permission is granted to make and distribute copies of
37this card provided the copyright notice and this permission notice 37this card provided the copyright notice and this permission notice
@@ -53,14 +53,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
53 53
54%\begin{multicols}{3} 54%\begin{multicols}{3}
55 55
56\centerline{óÐÒÁ×ÏÞÎÁÑ ËÁÒÔÁ ÐÏ GNU Emacs} 56\centerline{óÐÒÁ×ÏÞÎÉË ËÏÍÁÎÄ GNU Emacs}
57\centerline{(ÄÌÑ ×ÅÒÓÉÉ 21)} 57\centerline{(ÄÌÑ ×ÅÒÓÉÉ 22)}
58 58
59\section{úÁÐÕÓË Emacs} 59\section{úÁÐÕÓË Emacs}
60 60
61äÌÑ ÚÁÐÕÓËÁ GNU Emacs 21, ÐÒÏÓÔÏ ÎÁÂÅÒÉÔÅ ÉÍÑ ÐÒÏÇÒÁÍÍÙ: \kbd{emacs} 61äÌÑ ÚÁÐÕÓËÁ GNU Emacs 22, ÐÒÏÓÔÏ ÎÁÂÅÒÉÔÅ ÉÍÑ ÐÒÏÇÒÁÍÍÙ: \kbd{emacs}
62
63ï ÔÏÍ, ËÁË ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ, ÞÉÔÁÊÔÅ ÄÁÌÅÅ × ÒÁÚÄÅÌÅ æÁÊÌÙ.
64 62
65\section{÷ÙÈÏÄ ÉÚ Emacs} 63\section{÷ÙÈÏÄ ÉÚ Emacs}
66 64
@@ -72,28 +70,28 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
72\section{æÁÊÌÙ} 70\section{æÁÊÌÙ}
73 71
74\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} 72\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
75{\bf ÏÔËÒÙÔØ} ÆÁÊÌ × ÂÕÆÅÒÅ Emacs & \kbd{C-x C-f} \\ 73{\bf ÏÔËÒÙÔØ} ÆÁÊÌ × Emacs & \kbd{C-x C-f} \\
76{\bf ÓÏÈÒÁÎÉÔØ} ÆÁÊÌ ÏÂÒÁÔÎÏ ÎÁ ÄÉÓË & \kbd{C-x C-s} \\ 74{\bf ÓÏÈÒÁÎÉÔØ} ÆÁÊÌ ÏÂÒÁÔÎÏ ÎÁ ÄÉÓË & \kbd{C-x C-s} \\
77ÓÏÈÒÁÎÉÔØ {\bf ×ÓÅ} ÆÁÊÌÙ & \kbd{C-x s} \\ 75ÓÏÈÒÁÎÉÔØ {\bf ×ÓÅ} ÆÁÊÌÙ & \kbd{C-x s} \\
78{\bf ×ÓÔÁ×ÉÔØ} ÓÏÄÅÒÖÉÍÏÅ ÄÒÕÇÏÇÏ ÆÁÊÌÁ × ÔÅËÕÝÉÊ ÂÕÆÅÒ & \kbd{C-x i} \\ 76{\bf ×ÓÔÁ×ÉÔØ} ÓÏÄÅÒÖÉÍÏÅ ÄÒÕÇÏÇÏ ÆÁÊÌÁ × ÔÅËÕÝÉÊ ÂÕÆÅÒ & \kbd{C-x i} \\
79ÏÔËÒÙÔØ ÎÕÖÎÙÊ ×ÁÍ ÆÁÊÌ ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ & \kbd{C-x C-v} \\ 77ÏÔËÒÙÔØ ÎÕÖÎÙÊ ×ÁÍ ÆÁÊÌ ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ & \kbd{C-x C-v} \\
80ÓÏÈÒÁÎÉÔØ ÂÕÆÅÒ × ÕËÁÚÁÎÎÏÍ ÆÁÊÌÅ & \kbd{C-x C-w} \\ 78ÓÏÈÒÁÎÉÔØ ÂÕÆÅÒ × ÕËÁÚÁÎÎÏÍ ÆÁÊÌÅ & \kbd{C-x C-w} \\
81÷ËÌÀÞÉÔØ/×ÙËÌÀÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÂÕÆÅÒÁ ``ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ'' & \kbd{C-x C-q} \\ 79ðÅÒÅËÌÀÞÉÔØ ÓÏÓÔÏÑÎÉÅ ÂÕÆÅÒÁ ``ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ'' & \kbd{C-x C-q} \\
82\end{tabular} 80\end{tabular}
83 81
84\section{ðÏÌÕÞÅÎÉÅ ÐÏÍÏÝÉ} 82\section{ðÏÌÕÞÅÎÉÅ ÐÏÍÏÝÉ}
85 83
86óÐÒÁ×ÏÞÎÁÑ ÓÉÓÔÅÍÁ ÄÏÓÔÁÔÏÞÎÏ ÐÒÏÓÔÁ. HÁÖÍÉÔÅ \kbd{C-h} (ÉÌÉ \kbd{F1}) É 84óÐÒÁ×ÏÞÎÁÑ ÓÉÓÔÅÍÁ ÄÏÓÔÁÔÏÞÎÏ ÐÒÏÓÔÁ. HÁÖÍÉÔÅ \kbd{C-h} (ÉÌÉ \kbd{F1}) É
87ÓÌÅÄÕÊÔÅ ÉÎÓÔÒÕËÃÉÑÍ. åÓÌÉ ×Ù × ÐÅÒ×ÙÊ ÒÁÚ ÒÁÂÏÔÁÅÔÅ Ó Emacs, ÎÁÂÅÒÉÔÅ 85ÓÌÅÄÕÊÔÅ ÉÎÓÔÒÕËÃÉÑÍ. åÓÌÉ ×Ù × ÐÅÒ×ÙÊ ÒÁÚ ÒÁÂÏÔÁÅÔÅ Ó Emacs, ÔÏ ÎÁÂÅÒÉÔÅ
88\kbd{C-u C-h t Russian RET} ÄÌÑ ×ÙÚÏ×Á {\bf ÕÞÅÂÎÉËÁ}. 86\kbd{C-u C-h t Russian RET} ÄÌÑ ×ÙÚÏ×Á {\bf ÕÞÅÂÎÉËÁ}.
89 87
90\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} 88\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
91úÁËÒÙÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-x 1} \\ 89óËÒÙÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-x 1} \\
92ðÒÏËÒÕÔÉÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-M-v} \\ 90ðÒÏËÒÕÔÉÔØ ÏËÎÏ ÓÐÒÁ×ËÉ & \kbd{C-M-v} \\
93 91
94apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\ 92apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
95ÐÏËÁÚÁÔØ ÉÍÑ ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ËÌÁ×ÉÛÅÊ & \kbd{C-h c} \\ 93ÐÏËÁÚÁÔØ ÉÍÑ ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ËÌÁ×ÉÛÅÊ & \kbd{C-h k} \\
96ÏÐÉÓÁÔØ ÆÕÎËÃÉÀ & \kbd{C-h f} \\ 94ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÆÕÎËÃÉÉ & \kbd{C-h f} \\
97ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÒÅÖÉÍÅ & \kbd{C-h m} \\ 95ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÒÅÖÉÍÅ & \kbd{C-h m} \\
98\end{tabular} 96\end{tabular}
99 97
@@ -102,7 +100,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
102\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} 100\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
103{\bf ÐÒÅÒ×ÁÔØ} ÞÁÓÔÉÞÎÏ ÎÁÂÒÁÎÎÕÀ ÉÌÉ ÉÓÐÏÌÎÑÅÍÕÀ ËÏÍÁÎÄÕ & \kbd{C-g} \\ 101{\bf ÐÒÅÒ×ÁÔØ} ÞÁÓÔÉÞÎÏ ÎÁÂÒÁÎÎÕÀ ÉÌÉ ÉÓÐÏÌÎÑÅÍÕÀ ËÏÍÁÎÄÕ & \kbd{C-g} \\
104{\bf ×ÏÓÓÔÁÎÏ×ÉÔØ} ÆÁÊÌ, ÐÏÔÅÒÑÎÎÙÊ ÐÒÉ ËÒÁÈÅ ÓÉÓÔÅÍÙ & \kbd{M-x recover-file} \\ 102{\bf ×ÏÓÓÔÁÎÏ×ÉÔØ} ÆÁÊÌ, ÐÏÔÅÒÑÎÎÙÊ ÐÒÉ ËÒÁÈÅ ÓÉÓÔÅÍÙ & \kbd{M-x recover-file} \\
105{\bf ÏÔÍÅÎÉÔØ} ÎÅÖÅÌÁÔÅÌØÎÙÅ ÉÚÍÅÎÅÎÉÑ & \kbd{C-x u {\rm ÉÌÉ} C-\_} \\ 103{\bf ÏÔÍÅÎÉÔØ} ÎÅÖÅÌÁÔÅÌØÎÙÅ ÉÚÍÅÎÅÎÉÑ & \kbd{C-x u, C-\_ {\rm ÉÌÉ} C-/} \\
106×ÏÓÓÔÁÎÏ×ÉÔØ ÂÕÆÅÒ × ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ & \kbd{M-x revert-buffer} \\ 104×ÏÓÓÔÁÎÏ×ÉÔØ ÂÕÆÅÒ × ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ & \kbd{M-x revert-buffer} \\
107ÐÅÒÅÒÉÓÏ×ÁÔØ ÚÁÐÏÌÎÅÎÎÙÊ ÍÕÓÏÒÏÍ ÜËÒÁÎ & \kbd{C-l} \\ 105ÐÅÒÅÒÉÓÏ×ÁÔØ ÚÁÐÏÌÎÅÎÎÙÊ ÍÕÓÏÒÏÍ ÜËÒÁÎ & \kbd{C-l} \\
108\end{tabular} 106\end{tabular}
@@ -112,7 +110,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
112\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}} 110\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
113ÐÏÉÓË ×ÐÅÒÅÄ & \kbd{C-s} \\ 111ÐÏÉÓË ×ÐÅÒÅÄ & \kbd{C-s} \\
114ÐÏÉÓË ÎÁÚÁÄ & \kbd{C-r} \\ 112ÐÏÉÓË ÎÁÚÁÄ & \kbd{C-r} \\
115ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ & \kbd{C-M-s} \\ 113ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ ×ÐÅÒÅÄ & \kbd{C-M-s} \\
116ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ ÎÁÚÁÄ & \kbd{C-M-r} \\ 114ÐÏÉÓË ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ ÎÁÚÁÄ & \kbd{C-M-r} \\
117 115
118×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÏËÕ ÐÏÉÓËÁ & \kbd{M-p} \\ 116×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÏËÕ ÐÏÉÓËÁ & \kbd{M-p} \\
@@ -124,7 +122,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
124 122
125äÌÑ ÐÏ×ÔÏÒÁ ÐÏÉÓËÁ × ÌÀÂÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ ÉÓÐÏÌØÚÕÊÔÅ ËÌÁ×ÉÛÉ \kbd{C-s} ÉÌÉ 123äÌÑ ÐÏ×ÔÏÒÁ ÐÏÉÓËÁ × ÌÀÂÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ ÉÓÐÏÌØÚÕÊÔÅ ËÌÁ×ÉÛÉ \kbd{C-s} ÉÌÉ
126\kbd{C-r}. åÓÌÉ Emacs ×ÓÅ ÅÝÅ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÉÓË, \kbd{C-g} ÏÔÍÅÎÉÔ ÔÏÌØËÏ 124\kbd{C-r}. åÓÌÉ Emacs ×ÓÅ ÅÝÅ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÉÓË, \kbd{C-g} ÏÔÍÅÎÉÔ ÔÏÌØËÏ
127ÎÅÓÄÅÌÁÎÎÕÀ ÞÁÓÔØ. 125ÎÅ ×ÙÐÏÌÎÅÎÎÕÀ ÞÁÓÔØ.
128 126
129\section{ðÅÒÅÍÅÝÅÎÉÅ} 127\section{ðÅÒÅÍÅÝÅÎÉÅ}
130 128
@@ -148,7 +146,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
148ÐÒÏËÒÕÔËÁ ÜËÒÁÎÁ ××ÅÒÈ & \kbd{M-v} \\ 146ÐÒÏËÒÕÔËÁ ÜËÒÁÎÁ ××ÅÒÈ & \kbd{M-v} \\
149ÐÒÏËÒÕÔËÁ ×ÌÅ×Ï & \kbd{C-x <} \\ 147ÐÒÏËÒÕÔËÁ ×ÌÅ×Ï & \kbd{C-x <} \\
150ÐÒÏËÒÕÔËÁ ×ÐÒÁ×Ï & \kbd{C-x >} \\ 148ÐÒÏËÒÕÔËÁ ×ÐÒÁ×Ï & \kbd{C-x >} \\
151ÐÒÏËÒÕÔËÁ ÔÅËÕÝÅÊ ÓÔÒÏËÉ × ÃÅÎÔÒ ÜËÒÁÎÁ & \kbd{C-u C-l} \\ 149ÕÓÔÁÎÏ×ËÁ ÔÅËÕÝÅÊ ÓÔÒÏËÉ × ÃÅÎÔÒ ÜËÒÁÎÁ & \kbd{C-u C-l} \\
152\end{tabular} 150\end{tabular}
153 151
154\section{õÎÉÞÔÏÖÅÎÉÅ É ÕÄÁÌÅÎÉÅ} 152\section{õÎÉÞÔÏÖÅÎÉÅ É ÕÄÁÌÅÎÉÅ}
@@ -175,8 +173,8 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
175\section{ðÏÍÅÔËÁ} 173\section{ðÏÍÅÔËÁ}
176 174
177\begin{tabular}{p{\ColWidth}l} 175\begin{tabular}{p{\ColWidth}l}
178ÕÓÔÁÎÏ×ÉÔØ ÐÏÍÅÔËÉ & \kbd{C-@ {\rm or} C-SPC} \\ 176ÕÓÔÁÎÏ×ÉÔØ ÐÏÍÅÔËÉ & \kbd{C-@ {\rm ÉÌÉ} C-SPC} \\
179ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ ËÕÒÓÏÒ É ÐÏÍÅÔËÕ & \kbd{C-x C-x} \\ 177ÐÏÍÅÎÑÔØ ÍÅÓÔÁÍÉ ËÕÒÓÏÒ É ÐÏÍÅÔËÕ & \kbd{C-x C-x} \\
180 178
181ÐÏÍÅÔÉÔØ {\it arg\/} {\bf ÓÌÏ×} & \kbd{M-@} \\ 179ÐÏÍÅÔÉÔØ {\it arg\/} {\bf ÓÌÏ×} & \kbd{M-@} \\
182ÐÏÍÅÔÉÔØ {\bf ÐÁÒÁÇÒÁÆ} & \kbd{M-h} \\ 180ÐÏÍÅÔÉÔØ {\bf ÐÁÒÁÇÒÁÆ} & \kbd{M-h} \\
@@ -193,7 +191,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
193Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{M-x query-replace-regexp} \\ 191Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{M-x query-replace-regexp} \\
194\end{tabular} 192\end{tabular}
195 193
196÷ ÒÅÖÉÍÅ ÉÎÔÅÒÁËÔÉ×ÎÏÊ ÚÁÍÅÎÙ ÐÏÌØÚÏ×ÁÔÅÌÀ ÄÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ ÏÔ×ÅÔÙ: 194÷ ÒÅÖÉÍÅ ÉÎÔÅÒÁËÔÉ×ÎÏÊ ÚÁÍÅÎÙ ÐÏÌØÚÏ×ÁÔÅÌÀ ÄÏÓÔÕÐÎÙ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ:
197 195
198\begin{tabular}{p{\ColWidth}l} 196\begin{tabular}{p{\ColWidth}l}
199{\bf ÚÁÍÅÎÉÔØ} ÄÁÎÎÏÅ ÓÏÏÔ×ÅÔÓÔ×ÉÅ, ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ & \kbd{SPC} \\ 197{\bf ÚÁÍÅÎÉÔØ} ÄÁÎÎÏÅ ÓÏÏÔ×ÅÔÓÔ×ÉÅ, ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ & \kbd{SPC} \\
@@ -201,14 +199,14 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
201{\bf ÐÒÏÐÕÓÔÉÔØ} ÓÏÏÔ×ÅÔÓÔ×ÉÅ ÂÅÚ ÚÁÍÅÎÙ & \kbd{DEL} \\ 199{\bf ÐÒÏÐÕÓÔÉÔØ} ÓÏÏÔ×ÅÔÓÔ×ÉÅ ÂÅÚ ÚÁÍÅÎÙ & \kbd{DEL} \\
202ÚÁÍÅÎÉÔØ ×ÓÅ ÏÓÔÁ×ÛÉÅÓÑ ÓÏÏÔ×ÅÔÓÔ×ÉÑ & \kbd{!} \\ 200ÚÁÍÅÎÉÔØ ×ÓÅ ÏÓÔÁ×ÛÉÅÓÑ ÓÏÏÔ×ÅÔÓÔ×ÉÑ & \kbd{!} \\
203{\bf ×ÅÒÎÕÔØÓÑ} Ë ÐÒÅÄÙÄÕÝÅÍÕ ÓÏÏÔ×ÅÔÓÔ×ÉÀ & \kbd{\^} \\ 201{\bf ×ÅÒÎÕÔØÓÑ} Ë ÐÒÅÄÙÄÕÝÅÍÕ ÓÏÏÔ×ÅÔÓÔ×ÉÀ & \kbd{\^} \\
204{\bf ×ÙÊÔÉ} ÉÚ ÒÅÖÉÍÁ ÚÁÍÅÎÁ Ó ÚÁÐÒÏÓÏÍ & \kbd{RET} \\ 202{\bf ×ÙÊÔÉ} ÉÚ ÒÅÖÉÍÁ ``ÚÁÍÅÎÁ Ó ÚÁÐÒÏÓÏÍ'' & \kbd{RET} \\
205×ÏÊÔÉ × ÒÅÖÉÍ ÒÅËÕÒÓÉ×ÎÏÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ (ÄÌÑ ×ÙÈÏÄÁ ÉÓÐÏÌØÚÕÅÔÓÑ \kbd{C-M-c}) & \kbd{C-r} \\ 203×ÏÊÔÉ × ÒÅÖÉÍ ÒÅËÕÒÓÉ×ÎÏÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ (ÄÌÑ ×ÙÈÏÄÁ ÉÓÐÏÌØÚÕÅÔÓÑ \kbd{C-M-c}) & \kbd{C-r} \\
206\end{tabular} 204\end{tabular}
207 205
208\section{íÎÏÖÅÓÔ×Ï ÏËÏÎ} 206\section{éÓÐÏÌØÚÏ×ÁÎÉÅ ÎÅÓËÏÌØËÉÈ ÏËÏÎ}
209 207
210ëÏÍÁÎÄÙ, ÐÒÉ×ÅÄÅÎÎÙÅ ×Ï ×ÔÏÒÏÍ ÓÔÏÌÂÃÅ, ÐÒÉÍÅÎÑÀÔÓÑ Ë ÄÒÕÇÏÍÕ 208ëÏÍÁÎÄÙ, ÐÒÉ×ÅÄÅÎÎÙÅ ×Ï ×ÔÏÒÏÍ ÓÔÏÌÂÃÅ, ÐÒÉÍÅÎÑÀÔÓÑ Ë ÄÒÕÇÏÍÕ
211(ÎÅÁËÔÉ×ÎÏÍÕ) ÏËÎÕ. 209ÆÒÜÊÍÕ (ÏËÎÕ ÉÓÐÏÌØÚÕÅÍÏÊ ÏËÏÎÎÏÊ ÓÉÓÔÅÍÙ).
212 210
213\begin{tabular}{p{\ColWidth}l} 211\begin{tabular}{p{\ColWidth}l}
214ÕÄÁÌÉÔØ ×ÓÅ ÏÓÔÁÌØÎÙÅ ÏËÎÁ & \kbd{C-x 1} \\ 212ÕÄÁÌÉÔØ ×ÓÅ ÏÓÔÁÌØÎÙÅ ÏËÎÁ & \kbd{C-x 1} \\
@@ -256,11 +254,11 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
256ÕÄÁÌÉÔØ ÐÕÓÔÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ×ÏËÒÕÇ ËÕÒÓÏÒÁ & \kbd{M-$\backslash$} \\ 254ÕÄÁÌÉÔØ ÐÕÓÔÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ×ÏËÒÕÇ ËÕÒÓÏÒÁ & \kbd{M-$\backslash$} \\
257ÐÏÍÅÓÔÉÔØ ÔÏÌØËÏ ÏÄÉÎ ÐÒÏÂÅÌ × ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ & \kbd{M-SPC} \\ 255ÐÏÍÅÓÔÉÔØ ÔÏÌØËÏ ÏÄÉÎ ÐÒÏÂÅÌ × ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ & \kbd{M-SPC} \\
258 256
259ÚÁÐÏÌÎÉÔØ ÔÅËÕÝÉÊ ÐÁÒÁÇÒÁÆ & \kbd{M-q} \\ 257ÏÔÆÏÒÍÁÔÉÒÏ×ÁÔØ ÔÅËÕÝÉÊ ÐÁÒÁÇÒÁÆ & \kbd{M-q} \\
260ÕÓÔÁÎÏ×ÉÔØ ÓÔÏÌÂÅà ÚÁÐÏÌÎÅÎÉÑ & \kbd{C-x f} \\ 258ÕÓÔÁÎÏ×ÉÔØ ÓÔÏÌÂÅà ÚÁÐÏÌÎÅÎÉÑ & \kbd{C-x f} \\
261ÕÓÔÁÎÏ×ÉÔØ ÐÒÅÆÉËÓ ÚÁÐÏÌÎÅÎÉÑ ËÁÖÄÏÊ ÓÔÒÏËÉ & \kbd{C-x .} \\ 259ÕÓÔÁÎÏ×ÉÔØ ÐÒÅÆÉËÓ ÚÁÐÏÌÎÅÎÉÑ ËÁÖÄÏÊ ÓÔÒÏËÉ & \kbd{C-x .} \\
262 260
263ÕÓÔÁÎÏ×ÉÔØ ÎÁÞÅÒÔÁÎÉÅ & \kbd{M-g} \\ 261ÕÓÔÁÎÏ×ÉÔØ ÎÁÞÅÒÔÁÎÉÅ (face) & \kbd{M-g} \\
264\end{tabular} 262\end{tabular}
265 263
266\section{éÚÍÅÎÅÎÉÅ ÒÅÇÉÓÔÒÁ} 264\section{éÚÍÅÎÅÎÉÅ ÒÅÇÉÓÔÒÁ}
@@ -283,8 +281,8 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
283ÄÏÐÏÌÎÉÔØ ÄÏ ÏÄÎÏÇÏ ÓÌÏ×Á & \kbd{SPC} \\ 281ÄÏÐÏÌÎÉÔØ ÄÏ ÏÄÎÏÇÏ ÓÌÏ×Á & \kbd{SPC} \\
284ÄÏÐÏÌÎÉÔØ É ×ÙÐÏÌÎÉÔØ & \kbd{RET} \\ 282ÄÏÐÏÌÎÉÔØ É ×ÙÐÏÌÎÉÔØ & \kbd{RET} \\
285ÐÏËÁÚÁÔØ ×ÏÚÍÏÖÎÙÅ ÄÏÐÏÌÎÅÎÉÑ & \kbd{?} \\ 283ÐÏËÁÚÁÔØ ×ÏÚÍÏÖÎÙÅ ÄÏÐÏÌÎÅÎÉÑ & \kbd{?} \\
286×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÉÊ ××ÏÄ × ÍÉÎÉÂÕÆÅÒ & \kbd{M-p} \\ 284×ÙÂÒÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÏËÕ ÉÚ ÉÓÔÏÒÉÉ ××ÏÄÁ & \kbd{M-p} \\
287×ÙÂÒÁÔØ ÓÌÅÄÕÀÝÉÊ ××ÏÄ × ÍÉÎÉÂÕÆÅÒ & \kbd{M-n} \\ 285×ÙÂÒÁÔØ ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ ÉÚ ÉÓÔÏÒÉÉ ××ÏÄÁ & \kbd{M-n} \\
288ÐÏÉÓË × ÉÓÔÏÒÉÉ ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ × ÏÂÒÁÔÎÏÍ ÎÁÐÒ×ÌÅÎÉÉ & \kbd{M-r} \\ 286ÐÏÉÓË × ÉÓÔÏÒÉÉ ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ × ÏÂÒÁÔÎÏÍ ÎÁÐÒ×ÌÅÎÉÉ & \kbd{M-r} \\
289ÐÏÉÓË × ÉÓÔÏÒÉÉ ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ × ÐÒÑÍÏÍ ÎÁÐÒ×ÌÅÎÉÉ & \kbd{M-s} \\ 287ÐÏÉÓË × ÉÓÔÏÒÉÉ ÐÏ ÒÅÇÕÌÑÒÎÏÍÕ ×ÙÒÁÖÅÎÉÀ × ÐÒÑÍÏÍ ÎÁÐÒ×ÌÅÎÉÉ & \kbd{M-s} \\
290ÐÒÅÒ×ÁÔØ ËÏÍÁÎÄÕ & \kbd{C-g} \\ 288ÐÒÅÒ×ÁÔØ ËÏÍÁÎÄÕ & \kbd{C-g} \\
@@ -302,7 +300,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
302ÕÎÉÞÔÏÖÉÔØ ÂÕÆÅÒ & \kbd{C-x k} \\ 300ÕÎÉÞÔÏÖÉÔØ ÂÕÆÅÒ & \kbd{C-x k} \\
303\end{tabular} 301\end{tabular}
304 302
305\section{ïÂÍÅÎ ÍÅÓÔÁÍÉ} 303\section{ðÅÒÅÓÔÁÎÏ×ËÁ ÄÁÎÎÙÈ}
306 304
307\begin{tabular}{p{\ColWidth}l} 305\begin{tabular}{p{\ColWidth}l}
308ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ {\bf ÓÉÍ×ÏÌÙ} & \kbd{C-t} \\ 306ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ {\bf ÓÉÍ×ÏÌÙ} & \kbd{C-t} \\
@@ -311,7 +309,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
311ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ {\bf ×ÙÒÁÖÅÎÉÑ} & \kbd{C-M-t} \\ 309ÏÂÍÅÎÑÔØ ÍÅÓÔÁÍÉ {\bf ×ÙÒÁÖÅÎÉÑ} & \kbd{C-M-t} \\
312\end{tabular} 310\end{tabular}
313 311
314\section{ðÒÏ×ÅÒËÁ ÇÒÁÍÍÁÔÉËÉ} 312\section{ðÒÏ×ÅÒËÁ ÐÒÁ×ÏÐÉÓÁÎÉÑ}
315 313
316\begin{tabular}{p{\ColWidth}l} 314\begin{tabular}{p{\ColWidth}l}
317ÐÒÏ×ÅÒÉÔØ ÔÅËÕÝÅÅ ÓÌÏ×Ï & \kbd{M-\$} \\ 315ÐÒÏ×ÅÒÉÔØ ÔÅËÕÝÅÅ ÓÌÏ×Ï & \kbd{M-\$} \\
@@ -324,7 +322,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
324\begin{tabular}{p{\ColWidth}l} 322\begin{tabular}{p{\ColWidth}l}
325ÎÁÊÔÉ ÏÐÒÅÄÅÌÅÎÉÅ ÔÅÇÁ & \kbd{M-.} \\ 323ÎÁÊÔÉ ÏÐÒÅÄÅÌÅÎÉÅ ÔÅÇÁ & \kbd{M-.} \\
326ÎÁÊÔÉ ÓÌÅÄÕÀÝÅÅ ×ÈÏÖÄÅÎÉÅ ÔÅÇÁ & \kbd{C-u M-.} \\ 324ÎÁÊÔÉ ÓÌÅÄÕÀÝÅÅ ×ÈÏÖÄÅÎÉÅ ÔÅÇÁ & \kbd{C-u M-.} \\
327ÕËÁÚÁÔØ ÎÏ×ÙÊ ÆÁÊÌ Ó ÔÅÇÁÍÉ & \kbd{M-x visit-tags-table} \\ 325ÉÓÐÏÌØÚÏ×ÁÔØ ÎÏ×ÙÊ ÆÁÊÌ Ó ÔÅÇÁÍÉ & \kbd{M-x visit-tags-table} \\
328 326
329ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ ÐÏ ×ÓÅÊ ÔÁÂÌÉÃÅ ÔÅÇÏ× & \kbd{M-x tags-search} \\ 327ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ ÐÏ ×ÓÅÊ ÔÁÂÌÉÃÅ ÔÅÇÏ× & \kbd{M-x tags-search} \\
330×ÙÐÏÌÎÉÔØ query-replace ÎÁÄ ×ÓÅÍÉ ÆÁÊÌÁÍÉ & \kbd{M-x tags-query-replace} \\ 328×ÙÐÏÌÎÉÔØ query-replace ÎÁÄ ×ÓÅÍÉ ÆÁÊÌÁÍÉ & \kbd{M-x tags-query-replace} \\
@@ -395,7 +393,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
395\section{íÅÖÄÕÎÁÒÏÄÎÙÅ ÎÁÂÏÒÙ ÓÉÍ×ÏÌÏ×} 393\section{íÅÖÄÕÎÁÒÏÄÎÙÅ ÎÁÂÏÒÙ ÓÉÍ×ÏÌÏ×}
396 394
397\begin{tabular}{p{\ColWidth}l} 395\begin{tabular}{p{\ColWidth}l}
398×ÙÂÒÁÔØ ÑÚÙË & \kbd{M-x set-language-environment} \\ 396×ÙÂÒÁÔØ ÑÚÙË & \kbd{C-x RET l} \\
399ÐÏËÁÚÁÔØ ×ÓÅ ×ÏÚÍÏÖÎÙÅ ÍÅÔÏÄÙ ××ÏÄÁ & \kbd{M-x list-input-methods} \\ 397ÐÏËÁÚÁÔØ ×ÓÅ ×ÏÚÍÏÖÎÙÅ ÍÅÔÏÄÙ ××ÏÄÁ & \kbd{M-x list-input-methods} \\
400ÒÁÚÒÅÛÉÔØ ÉÌÉ ÚÁÐÒÅÔÉÔØ ÍÅÔÏÄ ××ÏÄÁ & \kbd{C-$\backslash$} \\ 398ÒÁÚÒÅÛÉÔØ ÉÌÉ ÚÁÐÒÅÔÉÔØ ÍÅÔÏÄ ××ÏÄÁ & \kbd{C-$\backslash$} \\
401ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÕ ËÏÄÉÒÏ×ÁÎÉÑ ÄÌÑ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÙ & \kbd{C-x RET c} \\ 399ÕÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÕ ËÏÄÉÒÏ×ÁÎÉÑ ÄÌÑ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÙ & \kbd{C-x RET c} \\
@@ -407,7 +405,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
407 405
408\begin{tabular}{p{\ColWidth}l} 406\begin{tabular}{p{\ColWidth}l}
409ÚÁÐÕÓÔÉÔØ ÓÉÓÔÅÍÕ ÄÏÓÔÕÐÁ Ë ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h i} \\ 407ÚÁÐÕÓÔÉÔØ ÓÉÓÔÅÍÕ ÄÏÓÔÕÐÁ Ë ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h i} \\
410ÎÁÊÔÉ ÕËÁÚÁÎÎÕÀ ÆÕÎËÃÉÀ ÉÌÉ ÐÅÒÅÍÅÎÎÕÀ × ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h C-i} \\ 408ÎÁÊÔÉ ÕËÁÚÁÎÎÕÀ ÆÕÎËÃÉÀ ÉÌÉ ÐÅÒÅÍÅÎÎÕÀ × ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{C-h S} \\
411\end{tabular} 409\end{tabular}
412 410
413ðÅÒÅÍÅÝÅÎÉÅ ×ÎÕÔÒÉ ÕÚÌÁ (ÎÏÄÁÍÉ): 411ðÅÒÅÍÅÝÅÎÉÅ ×ÎÕÔÒÉ ÕÚÌÁ (ÎÏÄÁÍÉ):
@@ -424,11 +422,12 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
424{\bf ÓÌÅÄÕÀÝÉÊ} ÕÚÅÌ & \kbd{n} \\ 422{\bf ÓÌÅÄÕÀÝÉÊ} ÕÚÅÌ & \kbd{n} \\
425{\bf ÐÒÅÄÙÄÕÝÉÊ} ÕÚÅÌ & \kbd{p} \\ 423{\bf ÐÒÅÄÙÄÕÝÉÊ} ÕÚÅÌ & \kbd{p} \\
426ÐÅÒÅÊÔÉ Ë {\bf ×ÅÒÈÎÅÍÕ} ÕÚÌÕ & \kbd{u} \\ 424ÐÅÒÅÊÔÉ Ë {\bf ×ÅÒÈÎÅÍÕ} ÕÚÌÕ & \kbd{u} \\
427×ÙÂÒÁÔØ ÍÅÎÀ ÐÏ ÉÍÅÎÉ & \kbd{m} \\ 425×ÙÂÒÁÔØ ÐÕÎËÔ ÍÅÎÀ ÐÏ ÉÍÅÎÉ & \kbd{m} \\
428×ÙÂÒÁÔØ {\it n\/}-Ê ÐÕÎËÔ ÍÅÎÀ ÐÏ ÎÏÍÅÒÕ (1--9) & \kbd{{\it n}} \\ 426×ÙÂÒÁÔØ {\it n\/}-Ê ÐÕÎËÔ ÍÅÎÀ ÐÏ ÎÏÍÅÒÕ (1--9) & \kbd{{\it n}} \\
429ÐÅÒÅÊÔÉ ÐÏ ÓÓÙÌËÅ (×ÏÚ×ÒÁÔ Ó ÐÏÍÏÝØÀ \kbd{l}) & \kbd{f} \\ 427ÐÅÒÅÊÔÉ ÐÏ ÓÓÙÌËÅ (×ÏÚ×ÒÁÔ Ó ÐÏÍÏÝØÀ \kbd{l}) & \kbd{f} \\
430×ÏÚ×ÒÁÔÉÔÓÑ Ë ÐÏÓÌÅÄÎÅÍÕ ÐÒÏÓÍÏÔÒÅÎÎÏÍÕ ÕÚÌÕ & \kbd{l} \\ 428×ÏÚ×ÒÁÔÉÔÓÑ Ë ÐÏÓÌÅÄÎÅÍÕ ÐÒÏÓÍÏÔÒÅÎÎÏÍÕ ÕÚÌÕ & \kbd{l} \\
431×ÏÚ×ÒÁÔÉÔÓÑ Ë ÕÚÌÕ-ËÁÔÁÌÏÇÕ & \kbd{d} \\ 429×ÏÚ×ÒÁÔÉÔÓÑ Ë ÕÚÌÕ-ËÁÔÁÌÏÇÕ & \kbd{d} \\
430ðÅÒÅÊÔÉ Ë ×ÅÒÈÅÍÕ ÕÚÌÕ ÆÁÊÌÁ & \kbd{t} \\
432ÐÅÒÅÊÔÉ Ë ÕÚÌÕ, ÚÁÄÁÎÎÏÍÕ ÉÍÅÎÅÍ & \kbd{g} \\ 431ÐÅÒÅÊÔÉ Ë ÕÚÌÕ, ÚÁÄÁÎÎÏÍÕ ÉÍÅÎÅÍ & \kbd{g} \\
433\end{tabular} 432\end{tabular}
434 433
@@ -436,8 +435,8 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
436 435
437\begin{tabular}{p{\ColWidth}l} 436\begin{tabular}{p{\ColWidth}l}
438ÚÁÐÕÓÔÉÔØ {\bf ÕÞÅÂÎÉË} ÐÏ ÓÉÓÔÅÍÅ ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{h} \\ 437ÚÁÐÕÓÔÉÔØ {\bf ÕÞÅÂÎÉË} ÐÏ ÓÉÓÔÅÍÅ ÄÏËÕÍÅÎÔÁÃÉÉ & \kbd{h} \\
438ÐÏÉÓË ÔÅÍÙ × ÉÎÄÅËÓÅ & \kbd{i} \\
439ÐÏÉÓË × ÕÚÌÁÈ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{s} \\ 439ÐÏÉÓË × ÕÚÌÁÈ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ & \kbd{s} \\
440% look up a subject in the indices & \kbd{i} % FIXME
441{\bf ÐÒÅËÒÁÔÉÔØ ÒÁÂÏÔÕ} Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ & \kbd{q} \\ 440{\bf ÐÒÅËÒÁÔÉÔØ ÒÁÂÏÔÕ} Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ & \kbd{q} \\
442\end{tabular} 441\end{tabular}
443 442
@@ -481,7 +480,7 @@ apropos: ÐÏËÁÚÁÔØ ËÏÍÁÎÄÙ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÔÒÏËÅ & \kbd{C-h a} \\
481% The intended audience here is the person who wants to make simple 480% The intended audience here is the person who wants to make simple
482% customizations and knows Lisp syntax. 481% customizations and knows Lisp syntax.
483 482
484óÏÚÄÁÔØ ÇÌÏÂÁÌØÎÏÅ ÎÁÚÎÁÞÅÎÉÅ ËÌÀÞÅÊ ÎÁ Emacs Lisp (ÐÒÉÍÅÒ): 483óÏÚÄÁÎÉÅ ÇÌÏÂÁÌØÎÙÈ ÐÒÉ×ÑÚÏË ËÌÁ×ÉÛ (ËÌÀÞÅÊ) ÎÁ Emacs Lisp (ÐÒÉÍÅÒÙ):
485 484
486\begin{verbatim} 485\begin{verbatim}
487(global-set-key "\C-cg" 'goto-line) 486(global-set-key "\C-cg" 'goto-line)
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index e792753b748..6be0910d27a 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,14 @@
12006-07-20 Andreas Schwab <schwab@suse.de>
2
3 * fakemail.c (fatal): Drop second parameter and treat first
4 parameter as a plain string. Callers changed.
5
62006-07-18 Dan Nicolaescu <dann@ics.uci.edu>
7
8 * ebrowse.c (usage, version): Mark as NO_RETURN.
9
10 * emacsclient.c (print_help_and_exit): Likewise.
11
12006-07-10 Francesco Potort,Al(B <pot@gnu.org> 122006-07-10 Francesco Potort,Al(B <pot@gnu.org>
2 13
3 * etags.c (absolute_filename): Free unused space (cosmetic change). 14 * etags.c (absolute_filename): Free unused space (cosmetic change).
diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c
index 398dd10896e..1880f1655ee 100644
--- a/lib-src/ebrowse.c
+++ b/lib-src/ebrowse.c
@@ -533,6 +533,8 @@ struct sym *parse_qualified_ident_or_type P_ ((char **));
533void parse_qualified_param_ident_or_type P_ ((char **)); 533void parse_qualified_param_ident_or_type P_ ((char **));
534int globals P_ ((int)); 534int globals P_ ((int));
535void yyerror P_ ((char *, char *)); 535void yyerror P_ ((char *, char *));
536void usage P_ ((int)) NO_RETURN;
537void version P_ (()) NO_RETURN;
536 538
537 539
538 540
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 870a39b9101..3d15a06b147 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -106,7 +106,7 @@ const char * alternate_editor = NULL;
106/* If non-NULL, the filename of the UNIX socket. */ 106/* If non-NULL, the filename of the UNIX socket. */
107char *socket_name = NULL; 107char *socket_name = NULL;
108 108
109void print_help_and_exit (); 109void print_help_and_exit () NO_RETURN;
110 110
111struct option longopts[] = 111struct option longopts[] =
112{ 112{
diff --git a/lib-src/fakemail.c b/lib-src/fakemail.c
index 30d39db533e..be9d6e09bae 100644
--- a/lib-src/fakemail.c
+++ b/lib-src/fakemail.c
@@ -175,10 +175,10 @@ error (s1, s2)
175/* Print error message and exit. */ 175/* Print error message and exit. */
176 176
177static void 177static void
178fatal (s1, s2) 178fatal (s1)
179 char *s1, *s2; 179 char *s1;
180{ 180{
181 error (s1, s2); 181 error ("%s", s1);
182 exit (EXIT_FAILURE); 182 exit (EXIT_FAILURE);
183} 183}
184 184
@@ -190,7 +190,7 @@ xmalloc (size)
190{ 190{
191 long *result = (long *) malloc (((unsigned) size)); 191 long *result = (long *) malloc (((unsigned) size));
192 if (result == ((long *) NULL)) 192 if (result == ((long *) NULL))
193 fatal ("virtual memory exhausted", 0); 193 fatal ("virtual memory exhausted");
194 return result; 194 return result;
195} 195}
196 196
@@ -377,7 +377,7 @@ make_file_preface ()
377 tm = localtime (&idiotic_interface); 377 tm = localtime (&idiotic_interface);
378 if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year) 378 if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year)
379 && (the_date = asctime (tm)))) 379 && (the_date = asctime (tm))))
380 fatal ("current time is out of range", 0); 380 fatal ("current time is out of range");
381 /* the_date has an unwanted newline at the end */ 381 /* the_date has an unwanted newline at the end */
382 date_length = strlen (the_date) - 1; 382 date_length = strlen (the_date) - 1;
383 the_date[date_length] = '\0'; 383 the_date[date_length] = '\0';
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 54e81f850e7..30aee0030ba 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,393 @@
12006-07-28 Nick Roberts <nickrob@snap.net.nz>
2
3 * Makefile.in (recompile): Update comment to reflect change
4 on 2004-04-21.
5
62006-07-27 Richard Stallman <rms@gnu.org>
7
8 * cus-edit.el (customize-package-emacs-version-alist): Doc fix.
9 (customize-package-emacs-version): Change msg when pkg has no entry.
10 (custom-no-edit): On a button, do like widget-button-press.
11
122006-07-27 Dan Nicolaescu <dann@ics.uci.edu>
13
14 * term/xterm.el (terminal-init-xterm): Fix bindings for C-tab,
15 S-tab and C-S-tab.
16
172006-07-28 Nick Roberts <nickrob@snap.net.nz>
18
19 * progmodes/which-func.el (which-function): Fix documentation/
20 comment typo.
21
222006-07-26 Richard Stallman <rms@gnu.org>
23
24 * textmodes/ispell.el (ispell-word): If we replace the word,
25 move point to the end. Insert before deleting.
26
272006-07-26 Chong Yidong <cyd@stupidchicken.com>
28
29 * subr.el (sit-for): Use new SECONDS arg of read-event instead of
30 a timer.
31
322006-07-26 Mathias Dahl <mathias.dahl@gmail.com>
33
34 * tumme.el (tumme-backward-image): Add prefix argument. Add error
35 when at first image.
36 (tumme-forward-image): Add prefix argument. Add error when at last
37 image.
38
392006-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
40
41 * tabify.el (tabify-regexp): Use more specific regexps.
42 (tabify): Avoid modifying the buffer unnecessarily.
43
442006-07-25 Mathias Dahl <mathias.dahl@gmail.com>
45
46 * tumme.el (tumme-track-original-file): Add `buffer-live-p' check.
47 (tumme-format-properties-string): Handle empty `buf'.
48 (tumme-get-comment): Change variable names inside `let'. Add
49 missing `let' variable that cause font-lock problems.
50 (tumme-write-comments): Change variable names inside `let'. Add
51 missing `let' variable that cause font-lock problems.
52 (tumme-forward-image): Rename from `tumme-forward-char'.
53 (tumme-backward-image): Rename from `tumme-backward-char'.
54
552006-07-25 Masatake YAMATO <jet@gyve.org>
56
57 * progmodes/ld-script.el (ld-script-keywords)
58 (ld-script-font-lock-keywords, ld-script-builtins): Update keywords
59 and add comments.
60
612006-07-25 Nick Roberts <nickrob@snap.net.nz>
62
63 * progmodes/gdb-ui.el (gdb-set-gud-minor-mode-existing-buffers)
64 (gdb-resync, gdb-prompt, gdb-starting, gdb-exited, gdb-stopped)
65 (gdb-set-gud-minor-mode-existing-buffers-1): Use different faces
66 for status indicator.
67
682006-07-24 Richard Stallman <rms@gnu.org>
69
70 * xml.el (xml-parse-file): Clean up, and use with-temp-buffer.
71
72 * subr.el (dolist, dotimes): Use interned symbols for locals.
73 (--dotimes-limit--, --dolist-tail--): New defvars.
74 (looking-back): Doc fix.
75
76 * replace.el (replace-match-string-symbols): Handle dotted lists.
77
782006-07-24 mathias <mathias@mattis>
79
80 * tumme.el (tumme-write-tags): Add.
81 (tumme-write-comments): Add.
82 (tumme-tag-files): Change to use `tumme-write-tags'.
83 (tumme-tag-thumbnail): Change to use `tumme-write-tags'.
84 (tumme-dired-comment-files): Change to use `tumme-write-comments'.
85 (tumme-save-information-from-widgets): Change to use
86 `tumme-write-comments' and `tumme-write-tags'.
87 (tumme-comment-thumbnail): Change to use `tumme-write-comments'.
88 (tumme-write-tag): Remove.
89 (tumme-write-comment): Remove.
90 (tumme-display-previous-thumbnail-original): Remove empty line.
91 (tumme-widget-list): Add punctuation.
92
932006-07-24 mathias <mathias.dahl@gmail.com>
94
95 * tumme.el (tumme-line-up): Add an extra check for end of buffer.
96
972006-07-24 Daiki Ueno <ueno@unixuser.org>
98
99 * pgg-def.el (pgg-truncate-key-identifier): Truncate the key ID to 8
100 letters from the end. Thanks to "David Smith" <davidsmith@acm.org> and
101 andreas@altroot.de (Andreas V,Av(Bgele)
102
1032006-07-23 Thien-Thi Nguyen <ttn@gnu.org>
104
105 * mouse.el (mouse-on-link-p): Doc fix.
106
1072006-07-23 Nick Roberts <nickrob@snap.net.nz>
108
109 * emacs-lisp/find-func.el (find-function-search-for-symbol):
110 Handle "C-h f `".
111
1122006-07-22 Dan Nicolaescu <dann@ics.uci.edu>
113
114 * ibuffer.el (ibuffer-formats): Use left alignment for the mode
115 column.
116
1172006-07-22 Matt Hodges <MPHodges@member.fsf.org>
118
119 * textmodes/table.el: Add move-beginning-of-line and
120 move-end-of-line to Point Motion Only Group.
121
1222006-07-22 Eric Hanchrow <offby1@blarg.net>
123
124 * progmodes/delphi.el (delphi-fill-comment): Use save-restriction.
125
1262006-07-22 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org>
127
128 * startup.el (user-mail-address): Initialize from the `EMAIL'
129 environment variable first. Document this.
130 (command-line): Ditto.
131
1322006-07-22 Nick Roberts <nickrob@snap.net.nz>
133
134 * help-mode.el (help-function-def, help-variable-def)
135 (help-face-def): Print a message in the minibuffer.
136
1372006-07-21 Dan Nicolaescu <dann@ics.uci.edu>
138
139 * term/xterm.el (terminal-init-xterm): Fix key bindings
140 syntax. Bind S-return, C-M-., C-TAB, S-TAB and C-S-TAB.
141
1422006-07-21 Eli Zaretskii <eliz@gnu.org>
143
144 * dos-w32.el (find-buffer-file-type-coding-system): Support calls
145 where `(nth 1 command)' is a cons cell. Doc fix.
146
147 * textmodes/po.el (po-find-charset): Doc fix.
148
1492006-07-21 Ken Manheimer <ken.manheimer@gmail.com>
150
151 * allout.el (allout-unprotected, allout-e-o-prefix-p)
152 (allout-beginning-of-current-line, allout-end-of-current-line)
153 (allout-next-visible-heading, allout-open-topic)
154 (allout-kill-topic, allout-yank-processing, allout-resolve-xref)
155 (allout-flag-current-subtree, allout-show-to-offshoot)
156 (allout-hide-current-entry, allout-show-current-branches)
157 (allout-hide-region-body, allout-old-expose-topic)
158 (allout-listify-exposed, allout-latex-verbatim-quote-curr-line)
159 (allout-mark-topic, allout-adjust-file-variable): Enclose scopes
160 containing `beginning-of-line' and `end-of-line' with
161 `inhibit-field-text-motion' t.
162
1632006-07-21 Eli Zaretskii <eliz@gnu.org>
164
165 * frame.el (focus-follows-mouse): Document that it doesn't have
166 any effect on MS-Windows.
167
1682006-07-20 Stefan Monnier <monnier@iro.umontreal.ca>
169
170 * progmodes/sh-script.el (sh-quoted-subshell): Further fix last change.
171
1722006-07-20 Jay Belanger <belanger@truman.edu>
173
174 * calc.el (calc-previous-alg-entry): Remove variable.
175
176 * calc-aent.el (calc-alg-entry-history, calc-quick-calc-history):
177 New variables.
178 (calc-alg-entry): Use `calc-alg-entry-history'.
179 (calc-do-quick-calc): Use `calc-quick-calc-history'.
180 Remove reference to `calc-previous-alg-entry'.
181 (calcAlg-edit, calcAlg-enter): Remove reference to
182 `calc-previous-alg-entry'.
183 (calcAlg-previous): Use `previous-history-element' instead of
184 `calc-previous-alg-entry'.
185 (calc-do-alg-entry): Use history when calling `read-from-minibuffer'.
186 Change keybinding for `calcAlg-plus-minus', add keybindings for
187 `previous-history-element' and `next-history-element'.
188
189 * calc-rewr.el (calc-match): Remove reference to
190 `calc-previous-alg-entry'.
191
192 * calc-sel.el (calc-selection-history): New variable.
193 (calc-enter-selection, calc-sel-mult-both-sides)
194 (calc-sel-add-both-sides): Use `calc-selection-history'.
195
196 * calc-map.el (calc-get-operator-history): New variable.
197 (calc-get-operator): Use `calc-get-operator-history'.
198
199 * calcalg3.el (calc-curve-fit-history): New variable.
200 (calc-curve-fit): Use `calc-curve-fit-history'.
201
2022006-07-20 Kenichi Handa <handa@m17n.org>
203
204 * international/mule-cmds.el (select-safe-coding-system): Fix the
205 way of deciding eol-type of the coding system.
206
2072006-07-20 Alan Mackenzie <acm@muc.de>
208
209 * progmodes/cc-langs.el (c-emacs-variable-inits): New variable.
210 (c-lang-setvar): New macro.
211 (c-make-init-lang-vars-fun): Use the initialization forms in
212 c-emacs-variable-inits in addition to those in c-lang-variable-inits.
213 (comment-start, comment-end, comment-start-skip): Change these from
214 c-lang-defvar's to c-lang-setvar's.
215
216 * progmodes/cc-mode.el (c-make-emacs-variables-local): New macro,
217 which calls make-local-variable on the elements of
218 c-emacs-variable-inits.
219 (c-init-language-vars-for): Call this new macro.
220
2212006-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
222
223 * progmodes/compile.el (compilation-error-regexp-alist-alist) <gnu>:
224 Try to rule out false positives due to time stamps.
225 (compilation-mode-font-lock-keywords): Remove rules made redundant
226 because of the above change. Add `segmentation fault' to the known and
227 highlighted compilation termination messages.
228
2292006-07-19 Kim F. Storm <storm@cua.dk>
230
231 * progmodes/grep.el (grep-find-ignored-directories):
232 Add .svn and _darcs to list.
233
2342006-07-19 Mathias Dahl <mathias.dahl@gmail.com>
235
236 * dired.el (dired-mode-map): Add key binding `C-te' for
237 `tumme-dired-edit-comment-and-tags'.
238
239 * tumme.el (tumme-display-thumbnail-original-image): Make sure
240 image display buffer is displayed before call to
241 `tumme-display-image.
242 (tumme-dired-display-image): Make sure image display buffer is
243 displayed before call to `tumme-display-image.
244 (tumme-mouse-display-image): Make sure image display buffer is
245 displayed before call to `tumme-display-image.
246 (tumme-widget-list): Add.
247 (tumme-dired-edit-comment-and-tags): Add.
248 (tumme-save-information-from-widgets): Add.
249
2502006-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
251
252 * progmodes/sh-script.el (sh-quoted-subshell): Fix last change.
253
2542006-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
255
256 * progmodes/sh-script.el (sh-font-lock-keywords-1):
257 Revert inadvertently installed patch hunk.
258
259 * progmodes/compile.el (compilation-find-file): Handle the
260 cases where the user selects a non-existent file.
261
2622006-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
263
264 * bindings.el (minibuffer-local-map): Rebind TAB so it inserts a \t.
265
2662006-07-17 Chong Yidong <cyd@stupidchicken.com>
267
268 * subr.el (sit-for): Just sleep-for if noninteractive.
269
2702006-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
271
272 * emacs-lisp/autoload.el (make-autoload): Use new arg.
273
274 * custom.el (custom-autoload): Add `noset' argument.
275 (custom-push-theme): Don't autoload the variable, let callers do it.
276 (custom-theme-set-variables): Autoload the variable if necessary.
277
278 * cus-edit.el (custom-variable-state-set): If the variable was
279 originally set outside custom, but to the same value as the default,
280 consider it to be standard.
281
282 * Makefile.in (mh-loaddefs.el): Finish setting up the default empty
283 file *before* telling Emacs to add the autoloads, in case it fails.
284
285 * progmodes/sh-script.el (sh-quoted-subshell): Don't match escaped `.
286 Use `cond', push', and `dolist'.
287
2882006-07-17 Richard Stallman <rms@gnu.org>
289
290 * image-mode.el (tar-superior-buffer, archive-superior-buffer):
291 Add defvars to silence warnings.
292
2932006-07-17 Chong Yidong <cyd@stupidchicken.com>
294
295 * progmodes/compile.el (compilation-mode-font-lock-keywords):
296 Don't highlight "Compiling file" messages as error.
297
298 * dired-aux.el (dired-compress-file): Confirm again if gzipped
299 file already exists.
300
3012006-07-16 Thien-Thi Nguyen <ttn@gnu.org>
302
303 * find-file.el (ff-special-constructs): Doc fix. Also, for C/C++
304 entry, don't assign to free var; simply return the extracted filename.
305 (ff-treat-as-special): Incorporate common preamble from callers.
306 (ff-other-file-name, ff-find-the-other-file):
307 Update call to ff-treat-as-special.
308
309 * progmodes/ada-mode.el (ada-mode): Rewrite ff-special-constructs init.
310
3112006-07-16 Mathias Dahl <mathias.dahl@gmail.com>
312
313 * tumme.el (tumme-get-comment): Fix bug.
314
3152006-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
316
317 * files.el: Remove spurious * in docstrings.
318
3192006-07-14 Ken Manheimer <ken.manheimer@gmail.com>
320
321 * allout.el (allout-run-unit-tests-on-load): Rectify docstring
322 grammar.
323 (allout-beginning-of-current-line): Beware beginning of buffer.
324 Also, a comment is simplified.
325 (allout-hotspot-key-handler): Only set allout-post-goto-bullet
326 when appropriate. (This fix enables use for other than
327 bullet-hotspot operation.)
328 (allout-hide-current-subtree): While escalating to sibling-close,
329 make sure to situate on a topic.
330
3312006-07-14 Kim F. Storm <storm@cua.dk>
332
333 * emulation/cua-base.el (cua-delete-selection)
334 (cua-toggle-set-mark): New defcustoms.
335 (cua-rectangle-modifier-key): Add `alt' modifier.
336 (cua-replace-region): Don't delete if cua-delete-selection is nil.
337 (cua-set-mark): Don't clear mark if cua-toggle-set-mark is nil.
338 Suggested by Klaus Zeitler <kzeitler@lucent.com>.
339
340 * emulation/cua-rect.el (cua-help-for-rectangle): Add `alt' modifier.
341
3422006-07-14 Ken Manheimer <ken.manheimer@gmail.com>
343
344 * allout.el: Require 'cl during byte-compilation/interactive load,
345 for the `assert' macro.
346 (allout-mode-deactivate-hook): New hook, run when allout mode
347 deactivates.
348 (allout-developer): New allout customization subgroup.
349 (allout-run-unit-tests-on-load): New allout-developer
350 customization variable, when true allout unit tests are run towards
351 end of file load/eval.
352 (allout-inhibit-auto-fill): Disable auto-fill activity even during
353 auto-fill-mode.
354 (allout-resumptions): Remove, to be replaced by...
355 (allout-add-resumptions): Register variable settings to be
356 reinstated by `allout-do-resumptions'. The settings are made
357 buffer-local, but the locality/globality of the suspended setting
358 is restored on resumption.
359 (allout-do-resumptions): Reinstate all settings suspended using
360 `allout-add-resumptions'.
361 (allout-test-resumptions): Unit tests (and intermediate variables)
362 for resumptions.
363 (allout-tests-globally-unbound, allout-tests-globally-true)
364 (allout-tests-locally-true): Intermediate variables for
365 resumptions unit tests.
366 (allout-overlay-preparations): Replaces `allout-set-overlay-category'.
367 (allout-exposure-category): Replaces 'allout-overlay-category variable.
368 (allout-mode): Use `allout-add-resumptions' and `allout-do-resumptions'
369 instead of retired `allout-resumptions'. For hook functions, use
370 `local' parameter so hook settings are created and removed as
371 buffer-local settings. Revise (resumptions) setting
372 auto-fill-function so it is set only if already active. (The
373 related fill-function settings are all made in either case, so
374 that activating auto-fill-mode activity will have the custom
375 allout-mode behaviors (hanging indent on topics, if configured for it).
376 Remove all allout-exposure-category overlays on mode deactivation.
377 (allout-hotspot-key-handler): New function extracted from
378 `allout-pre-command-business', so the functionality can be used
379 for other purposes, eg as a binding in an overlay.
380 (allout-pre-command-business): Use new `allout-hotspot-key-handler'.
381 (allout-auto-fill): Respect new `allout-inhibit-auto-fill'
382 customization variable.
383 (allout-run-unit-tests): Run the (currently quite small)
384 repertoire of unit tests. Called just before the provide iff user
385 has customized `allout-run-unit-tests-on-load' non-nil.
386
3872006-07-14 K,Aa(Broly L,Bu(Brentey <lorentey@elte.hu>
388
389 * emacs-lisp/authors.el (authors-aliases): Update.
390
12006-07-14 Nick Roberts <nickrob@snap.net.nz> 3912006-07-14 Nick Roberts <nickrob@snap.net.nz>
2 392
3 * progmodes/gdb-ui.el (gdb-display-buffer): Check for 393 * progmodes/gdb-ui.el (gdb-display-buffer): Check for
@@ -6,7 +396,7 @@
6 (gdb-display-breakpoints-buffer, gdb-display-stack-buffer) 396 (gdb-display-breakpoints-buffer, gdb-display-stack-buffer)
7 (gdb-display-threads-buffer, gdb-display-memory-buffer) 397 (gdb-display-threads-buffer, gdb-display-memory-buffer)
8 (gdb-display-locals-buffer): Use it. 398 (gdb-display-locals-buffer): Use it.
9 399
10 * progmodes/gud.el (gud-display-line): Use gdb-display-buffer. 400 * progmodes/gud.el (gud-display-line): Use gdb-display-buffer.
11 Set gdb-source-window. 401 Set gdb-source-window.
12 402
@@ -51,10 +441,9 @@
51 441
522006-07-12 Nick Roberts <nickrob@snap.net.nz> 4422006-07-12 Nick Roberts <nickrob@snap.net.nz>
53 443
54 * tumme.el (tumme-create-thumb) 444 * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external)
55 (tumme-thumbnail-display-external, tumme-display-image) 445 (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original)
56 (tumme-rotate-thumbnail, tumme-rotate-original) 446 (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch.
57 (tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch.
58 447
59 * thumbs.el (thumbs-call-convert): Use shell-command-switch. 448 * thumbs.el (thumbs-call-convert): Use shell-command-switch.
60 449
@@ -90,20 +479,16 @@
90 479
912006-07-11 Nick Roberts <nickrob@snap.net.nz> 4802006-07-11 Nick Roberts <nickrob@snap.net.nz>
92 481
93 * tumme.el (tumme-create-thumb) 482 * tumme.el (tumme-create-thumb, tumme-thumbnail-display-external)
94 (tumme-thumbnail-display-external, tumme-display-image) 483 (tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original)
95 (tumme-rotate-thumbnail, tumme-rotate-original)
96 (tumme-set-exif-data, tumme-get-exif-data): Use call-process 484 (tumme-set-exif-data, tumme-get-exif-data): Use call-process
97 instead of shell-command. 485 instead of shell-command.
98 (tumme-create-thumbnail-buffer) 486 (tumme-create-thumbnail-buffer, tumme-create-display-image-buffer)
99 (tumme-create-display-image-buffer, tumme-display-thumbs) 487 (tumme-display-thumbs, tumme-modify-mark-on-thumb-original-file)
100 (tumme-modify-mark-on-thumb-original-file, tumme-display-image) 488 (tumme-display-image, tumme-get-exif-data): Use with-current-buffer.
101 (tumme-get-exif-data): Use with-current-buffer. 489 (tumme-display-properties-format, tumme-dired-insert-marked-thumbs)
102 (tumme-display-properties-format) 490 (tumme-thumbnail-set-image-description, tumme-gallery-generate)
103 (tumme-dired-insert-marked-thumbs, tumme-rotate-original) 491 (tumme-rotate-original, tumme-get-exif-file-name): Fit to 80 columns.
104 (tumme-get-exif-file-name)
105 (tumme-thumbnail-set-image-description, tumme-gallery-generate):
106 Fit to 80 columns.
107 492
1082006-07-11 Kim F. Storm <storm@cua.dk> 4932006-07-11 Kim F. Storm <storm@cua.dk>
109 494
@@ -414,8 +799,8 @@
4142006-06-25 Michael Albinus <michael.albinus@gmx.de> 7992006-06-25 Michael Albinus <michael.albinus@gmx.de>
415 800
416 * net/rcompile.el (remote-compile): Replace ange-ftp based 801 * net/rcompile.el (remote-compile): Replace ange-ftp based
417 implementation by Tramp functions. Based on a patch published by 802 implementation by Tramp functions.
418 Marc Abramowitz <msabramo@gmail.com>. 803 Suggested by Marc Abramowitz <msabramo@gmail.com>.
419 804
420 * net/tramp.el (tramp-unload-tramp): Provide a doc string. 805 * net/tramp.el (tramp-unload-tramp): Provide a doc string.
421 806
@@ -2090,8 +2475,6 @@
2090 to `ispell-local-dictionary'. 2475 to `ispell-local-dictionary'.
2091 (ispell-internal-change-dictionary): Check for a change in 2476 (ispell-internal-change-dictionary): Check for a change in
2092 personal dictionary use too. 2477 personal dictionary use too.
2093 Cosmetic changes from Agustin Martin
2094 <agustin.martin@hispalinux.es>.
2095 2478
20962006-05-05 Eli Zaretskii <eliz@gnu.org> 24792006-05-05 Eli Zaretskii <eliz@gnu.org>
2097 2480
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index e90c6161f75..f6caedcccda 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -204,9 +204,8 @@ backup-compiled-files:
204 204
205compile-after-backup: backup-compiled-files compile-always 205compile-after-backup: backup-compiled-files compile-always
206 206
207# Recompile all Lisp files which are newer than their .elc files. 207# Recompile all Lisp files which are newer than their .elc files and compile
208# Note that this doesn't create .elc files. It only recompiles if an 208# new ones.
209# .elc is present.
210 209
211recompile: doit mh-autoloads $(lisp)/progmodes/cc-mode.elc 210recompile: doit mh-autoloads $(lisp)/progmodes/cc-mode.elc
212 $(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp) 211 $(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp)
@@ -247,12 +246,6 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
247 echo ";;; Commentary:" >> $@ 246 echo ";;; Commentary:" >> $@
248 echo ";;; Change Log:" >> $@ 247 echo ";;; Change Log:" >> $@
249 echo ";;; Code:" >> $@ 248 echo ";;; Code:" >> $@
250 $(EMACS) $(EMACSOPT) \
251 -l autoload \
252 --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
253 --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
254 --eval "(setq make-backup-files nil)" \
255 -f batch-update-autoloads $(lisp)/mh-e
256 echo " " >> $@ 249 echo " " >> $@
257 echo "(provide 'mh-loaddefs)" >> $@ 250 echo "(provide 'mh-loaddefs)" >> $@
258 echo ";; Local Variables:" >> $@ 251 echo ";; Local Variables:" >> $@
@@ -261,6 +254,12 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
261 echo ";; no-update-autoloads: t" >> $@ 254 echo ";; no-update-autoloads: t" >> $@
262 echo ";; End:" >> $@ 255 echo ";; End:" >> $@
263 echo ";;; mh-loaddefs.el ends here" >> $@ 256 echo ";;; mh-loaddefs.el ends here" >> $@
257 $(EMACS) $(EMACSOPT) \
258 -l autoload \
259 --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
260 --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
261 --eval "(setq make-backup-files nil)" \
262 -f batch-update-autoloads $(lisp)/mh-e
264 263
265# Prepare a bootstrap in the lisp subdirectory. 264# Prepare a bootstrap in the lisp subdirectory.
266# 265#
diff --git a/lisp/allout.el b/lisp/allout.el
index 2fbef5b2cd8..f1f262c70b7 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -8,6 +8,7 @@
8;; Created: Dec 1991 - first release to usenet 8;; Created: Dec 1991 - first release to usenet
9;; Version: 2.2.1 9;; Version: 2.2.1
10;; Keywords: outlines wp languages 10;; Keywords: outlines wp languages
11;; Website: http://myriadicity.net/Sundry/EmacsAllout
11 12
12;; This file is part of GNU Emacs. 13;; This file is part of GNU Emacs.
13 14
@@ -58,7 +59,9 @@
58;; and more. 59;; and more.
59;; 60;;
60;; See the `allout-mode' function's docstring for an introduction to the 61;; See the `allout-mode' function's docstring for an introduction to the
61;; mode. The development version and helpful notes are available at 62;; mode.
63;;
64;; The latest development version and helpful notes are available at
62;; http://myriadicity.net/Sundry/EmacsAllout . 65;; http://myriadicity.net/Sundry/EmacsAllout .
63;; 66;;
64;; The outline menubar additions provide quick reference to many of 67;; The outline menubar additions provide quick reference to many of
@@ -80,10 +83,19 @@
80 83
81;;;_* Dependency autoloads 84;;;_* Dependency autoloads
82(require 'overlay) 85(require 'overlay)
83(eval-when-compile (progn (require 'pgg) 86(eval-when-compile
84 (require 'pgg-gpg) 87 ;; Most of the requires here are for stuff covered by autoloads.
85 (require 'overlay) 88 ;; Since just byte-compiling doesn't trigger autoloads, so that
86 )) 89 ;; "function not found" warnings would occur without these requires.
90 (progn
91 (require 'pgg)
92 (require 'pgg-gpg)
93 (require 'overlay)
94 ;; `cl' is required for `assert'. `assert' is not covered by a standard
95 ;; autoload, but it is a macro, so that eval-when-compile is sufficient
96 ;; to byte-compile it in, or to do the require when the buffer evalled.
97 (require 'cl)
98 ))
87 99
88;;;_* USER CUSTOMIZATION VARIABLES: 100;;;_* USER CUSTOMIZATION VARIABLES:
89 101
@@ -556,6 +568,25 @@ disable auto-saves for that file."
556 :group 'allout-encryption) 568 :group 'allout-encryption)
557(make-variable-buffer-local 'allout-encrypt-unencrypted-on-saves) 569(make-variable-buffer-local 'allout-encrypt-unencrypted-on-saves)
558 570
571;;;_ + Developer
572;;;_ = allout-developer group
573(defgroup allout-developer nil
574 "Settings for topic encryption features of allout outliner."
575 :group 'allout)
576;;;_ = allout-run-unit-tests-on-load
577(defcustom allout-run-unit-tests-on-load nil
578 "*When non-nil, unit tests will be run at end of loading the allout module.
579
580Generally, allout code developers are the only ones who'll want to set this.
581
582\(If set, this makes it an even better practice to exercise changes by
583doing byte-compilation with a repeat count, so the file is loaded after
584compilation.)
585
586See `allout-run-unit-tests' to see what's run."
587 :type 'boolean
588 :group 'allout-developer)
589
559;;;_ + Miscellaneous customization 590;;;_ + Miscellaneous customization
560 591
561;;;_ = allout-command-prefix 592;;;_ = allout-command-prefix
@@ -615,6 +646,23 @@ unless optional third, non-nil element is present.")
615 ("=t" allout-latexify-exposed) 646 ("=t" allout-latexify-exposed)
616 ("=p" allout-flatten-exposed-to-buffer))) 647 ("=p" allout-flatten-exposed-to-buffer)))
617 648
649;;;_ = allout-inhibit-auto-fill
650(defcustom allout-inhibit-auto-fill nil
651 "*If non-nil, auto-fill will be inhibited in the allout buffers.
652
653You can customize this setting to set it for all allout buffers, or set it
654in individual buffers if you want to inhibit auto-fill only in particular
655buffers. \(You could use a function on `allout-mode-hook' to inhibit
656auto-fill according, eg, to the major mode.\)
657
658If you don't set this and auto-fill-mode is enabled, allout will use the
659value that `normal-auto-fill-function', if any, when allout mode starts, or
660else allout's special hanging-indent maintaining auto-fill function,
661`allout-auto-fill'."
662 :type 'boolean
663 :group 'allout)
664(make-variable-buffer-local 'allout-inhibit-auto-fill)
665
618;;;_ = allout-use-hanging-indents 666;;;_ = allout-use-hanging-indents
619(defcustom allout-use-hanging-indents t 667(defcustom allout-use-hanging-indents t
620 "*If non-nil, topic body text auto-indent defaults to indent of the header. 668 "*If non-nil, topic body text auto-indent defaults to indent of the header.
@@ -993,81 +1041,84 @@ activation. Being deprecated.")
993 "----" 1041 "----"
994 ["Set Header Lead" allout-reset-header-lead t] 1042 ["Set Header Lead" allout-reset-header-lead t]
995 ["Set New Exposure" allout-expose-topic t]))) 1043 ["Set New Exposure" allout-expose-topic t])))
996;;;_ : Mode-Specific Variable Maintenance Utilities 1044;;;_ : Allout Modal-Variables Utilities
997;;;_ = allout-mode-prior-settings 1045;;;_ = allout-mode-prior-settings
998(defvar allout-mode-prior-settings nil 1046(defvar allout-mode-prior-settings nil
999 "Internal `allout-mode' use; settings to be resumed on mode deactivation.") 1047 "Internal `allout-mode' use; settings to be resumed on mode deactivation.
1000(make-variable-buffer-local 'allout-mode-prior-settings)
1001;;;_ > allout-resumptions (name &optional value)
1002(defun allout-resumptions (name &optional value)
1003
1004 "Registers or resumes settings over `allout-mode' activation/deactivation.
1005
1006First arg is NAME of variable affected. Optional second arg is list
1007containing allout-mode-specific VALUE to be imposed on named
1008variable, and to be registered. \(It's a list so you can specify
1009registrations of null values.) If no value is specified, the
1010registered value is returned (encapsulated in the list, so the caller
1011can distinguish nil vs no value), and the registration is popped
1012from the list."
1013
1014 (let ((on-list (assq name allout-mode-prior-settings))
1015 prior-capsule ; By `capsule' i mean a list
1016 ; containing a value, so we can
1017 ; distinguish nil from no value.
1018 )
1019
1020 (if value
1021
1022 ;; Registering:
1023 (progn
1024 (if on-list
1025 nil ; Already preserved prior value - don't mess with it.
1026 ;; Register the old value, or nil if previously unbound:
1027 (setq allout-mode-prior-settings
1028 (cons (list name
1029 (if (boundp name) (list (symbol-value name))))
1030 allout-mode-prior-settings)))
1031 ; And impose the new value, locally:
1032 (progn (make-local-variable name)
1033 (set name (car value))))
1034
1035 ;; Relinquishing:
1036 (if (not on-list)
1037
1038 ;; Oops, not registered - leave it be:
1039 nil
1040 1048
1041 ;; Some registration: 1049See `allout-add-resumptions' and `allout-do-resumptions'.")
1042 ; reestablish it: 1050(make-variable-buffer-local 'allout-mode-prior-settings)
1043 (setq prior-capsule (car (cdr on-list))) 1051;;;_ > allout-add-resumptions (&rest pairs)
1044 (if prior-capsule 1052(defun allout-add-resumptions (&rest pairs)
1045 (set name (car prior-capsule)) ; Some prior value - reestablish it. 1053 "Set name/value pairs.
1046 (makunbound name)) ; Previously unbound - demolish var. 1054
1047 ; Remove registration: 1055Old settings are preserved for later resumption using `allout-do-resumptions'.
1048 (let (rebuild) 1056
1049 (while allout-mode-prior-settings 1057The pairs are lists whose car is the name of the variable and car of the
1050 (if (not (eq (car allout-mode-prior-settings) 1058cdr is the new value: '(some-var some-value)'.
1051 on-list)) 1059
1052 (setq rebuild 1060The new value is set as a buffer local.
1053 (cons (car allout-mode-prior-settings) 1061
1054 rebuild))) 1062If the variable was not previously buffer-local, then that is noted and the
1055 (setq allout-mode-prior-settings 1063`allout-do-resumptions' will just `kill-local-variable' of that binding.
1056 (cdr allout-mode-prior-settings))) 1064
1057 (setq allout-mode-prior-settings rebuild))))) 1065If it previously was buffer-local, the old value is noted and resurrected
1058 ) 1066by `allout-do-resumptions'. \(If the local value was previously void, then
1067it is left as nil on resumption.\)
1068
1069The settings are stored on `allout-mode-prior-settings'."
1070 (while pairs
1071 (let* ((pair (pop pairs))
1072 (name (car pair))
1073 (value (cadr pair)))
1074 (if (not (symbolp name))
1075 (error "Pair's name, %S, must be a symbol, not %s"
1076 name (type-of name)))
1077 (when (not (assoc name allout-mode-prior-settings))
1078 ;; Not already added as a resumption, create the prior setting entry.
1079 (if (local-variable-p name)
1080 ;; is already local variable - preserve the prior value:
1081 (push (list name (condition-case err
1082 (symbol-value name)
1083 (void-variable nil)))
1084 allout-mode-prior-settings)
1085 ;; wasn't local variable, indicate so for resumption by killing
1086 ;; local value, and make it local:
1087 (push (list name) allout-mode-prior-settings)
1088 (make-local-variable name)))
1089 (set name value))))
1090;;;_ > allout-do-resumptions ()
1091(defun allout-do-resumptions ()
1092 "Resume all name/value settings registered by `allout-add-resumptions'.
1093
1094This is used when concluding allout-mode, to resume selected variables to
1095their settings before allout-mode was started."
1096
1097 (while allout-mode-prior-settings
1098 (let* ((pair (pop allout-mode-prior-settings))
1099 (name (car pair))
1100 (value-cell (cdr pair)))
1101 (if (not value-cell)
1102 ;; Prior value was global:
1103 (kill-local-variable name)
1104 ;; Prior value was explicit:
1105 (set name (car value-cell))))))
1059;;;_ : Mode-specific incidentals 1106;;;_ : Mode-specific incidentals
1060;;;_ > allout-unprotected (expr) 1107;;;_ > allout-unprotected (expr)
1061(defmacro allout-unprotected (expr) 1108(defmacro allout-unprotected (expr)
1062 "Enable internal outline operations to alter invisible text." 1109 "Enable internal outline operations to alter invisible text."
1063 `(let ((inhibit-read-only t)) 1110 `(let ((inhibit-read-only t)
1111 (inhibit-field-text-motion t))
1064 ,expr)) 1112 ,expr))
1065;;;_ = allout-mode-hook 1113;;;_ = allout-mode-hook
1066(defvar allout-mode-hook nil 1114(defvar allout-mode-hook nil
1067 "*Hook that's run when allout mode starts.") 1115 "*Hook that's run when allout mode starts.")
1068;;;_ = allout-overlay-category 1116;;;_ = allout-mode-deactivate-hook
1069(defvar allout-overlay-category nil 1117(defvar allout-mode-deactivate-hook nil
1070 "Symbol for use in allout invisible-text overlays as the category.") 1118 "*Hook that's run when allout mode ends.")
1119;;;_ = allout-exposure-category
1120(defvar allout-exposure-category nil
1121 "Symbol for use as allout invisible-text overlay category.")
1071;;;_ x allout-view-change-hook 1122;;;_ x allout-view-change-hook
1072(defvar allout-view-change-hook nil 1123(defvar allout-view-change-hook nil
1073 "*\(Deprecated\) Hook that's run after allout outline exposure changes. 1124 "*\(Deprecated\) Hook that's run after allout outline exposure changes.
@@ -1293,30 +1344,26 @@ the following two lines in your Emacs init file:
1293 (setq cur (car menus) 1344 (setq cur (car menus)
1294 menus (cdr menus)) 1345 menus (cdr menus))
1295 (easy-menu-add cur)))) 1346 (easy-menu-add cur))))
1296;;;_ > allout-set-overlay-category 1347;;;_ > allout-overlay-preparations
1297(defun allout-set-overlay-category () 1348(defun allout-overlay-preparations ()
1298 "Set the properties of the allout invisible-text overlay." 1349 "Set the properties of the allout invisible-text overlay and others."
1299 (setplist 'allout-overlay-category nil) 1350 (setplist 'allout-exposure-category nil)
1300 (put 'allout-overlay-category 'invisible 'allout) 1351 (put 'allout-exposure-category 'invisible 'allout)
1301 (put 'allout-overlay-category 'evaporate t) 1352 (put 'allout-exposure-category 'evaporate t)
1302 ;; XXX We use isearch-open-invisible *and* isearch-mode-end-hook. The 1353 ;; XXX We use isearch-open-invisible *and* isearch-mode-end-hook. The
1303 ;; latter would be sufficient, but it seems that a separate behavior - 1354 ;; latter would be sufficient, but it seems that a separate behavior -
1304 ;; the _transient_ opening of invisible text during isearch - is keyed to 1355 ;; the _transient_ opening of invisible text during isearch - is keyed to
1305 ;; presence of the isearch-open-invisible property - even though this 1356 ;; presence of the isearch-open-invisible property - even though this
1306 ;; property controls the isearch _arrival_ behavior. This is the case at 1357 ;; property controls the isearch _arrival_ behavior. This is the case at
1307 ;; least in emacs 21, 22.0, and xemacs 21.4. 1358 ;; least in emacs 21, 22.0, and xemacs 21.4.
1308 (put 'allout-overlay-category 'isearch-open-invisible 1359 (put 'allout-exposure-category 'isearch-open-invisible
1309 'allout-isearch-end-handler) 1360 'allout-isearch-end-handler)
1310 (if (featurep 'xemacs) 1361 (if (featurep 'xemacs)
1311 (put 'allout-overlay-category 'start-open t) 1362 (put 'allout-exposure-category 'start-open t)
1312 (put 'allout-overlay-category 'insert-in-front-hooks 1363 (put 'allout-exposure-category 'insert-in-front-hooks
1313 '(allout-overlay-insert-in-front-handler))) 1364 '(allout-overlay-insert-in-front-handler)))
1314 (if (featurep 'xemacs) 1365 (put 'allout-exposure-category 'modification-hooks
1315 (progn (make-variable-buffer-local 'before-change-functions) 1366 '(allout-overlay-interior-modification-handler)))
1316 (add-hook 'before-change-functions
1317 'allout-before-change-handler))
1318 (put 'allout-overlay-category 'modification-hooks
1319 '(allout-overlay-interior-modification-handler))))
1320;;;_ > allout-mode (&optional toggle) 1367;;;_ > allout-mode (&optional toggle)
1321;;;_ : Defun: 1368;;;_ : Defun:
1322;;;###autoload 1369;;;###autoload
@@ -1575,118 +1622,92 @@ OPEN: A topic that is not closed, though its offspring or body may be."
1575 ; active state or *de*activation 1622 ; active state or *de*activation
1576 ; specifically requested: 1623 ; specifically requested:
1577 (setq allout-explicitly-deactivated t) 1624 (setq allout-explicitly-deactivated t)
1578 (if (string-match "^18\." emacs-version)
1579 ; Revoke those keys that remain
1580 ; as we set them:
1581 (let ((curr-loc (current-local-map)))
1582 (mapcar (function
1583 (lambda (cell)
1584 (if (eq (lookup-key curr-loc (car cell))
1585 (car (cdr cell)))
1586 (define-key curr-loc (car cell)
1587 (assq (car cell) allout-prior-bindings)))))
1588 allout-added-bindings)
1589 (allout-resumptions 'allout-added-bindings)
1590 (allout-resumptions 'allout-prior-bindings)))
1591 1625
1592 (if allout-old-style-prefixes 1626 (allout-do-resumptions)
1593 (progn 1627
1594 (allout-resumptions 'allout-primary-bullet)
1595 (allout-resumptions 'allout-old-style-prefixes)))
1596 ;;(allout-resumptions 'selective-display)
1597 (remove-from-invisibility-spec '(allout . t)) 1628 (remove-from-invisibility-spec '(allout . t))
1598 (set write-file-hook-var-name 1629 (remove-hook 'pre-command-hook 'allout-pre-command-business t)
1599 (delq 'allout-write-file-hook-handler 1630 (remove-hook 'post-command-hook 'allout-post-command-business t)
1600 (symbol-value write-file-hook-var-name))) 1631 (when (featurep 'xemacs)
1601 (setq auto-save-hook 1632 (remove-hook 'before-change-functions 'allout-before-change-handler t))
1602 (delq 'allout-auto-save-hook-handler 1633 (remove-hook 'isearch-mode-end-hook 'allout-isearch-end-handler t)
1603 auto-save-hook)) 1634 (remove-hook write-file-hook-var-name 'allout-write-file-hook-handler t)
1604 (allout-resumptions 'paragraph-start) 1635 (remove-hook 'auto-save-hook 'allout-auto-save-hook-handler t)
1605 (allout-resumptions 'paragraph-separate) 1636
1606 (allout-resumptions 'auto-fill-function) 1637 (remove-overlays (point-min) (point-max)
1607 (allout-resumptions 'normal-auto-fill-function) 1638 'category 'allout-exposure-category)
1608 (allout-resumptions 'allout-former-auto-filler) 1639
1640 (run-hooks 'allout-mode-deactivate-hook)
1609 (setq allout-mode nil)) 1641 (setq allout-mode nil))
1610 1642
1611 ;; Activation: 1643 ;; Activation:
1612 ((not active) 1644 ((not active)
1613 (setq allout-explicitly-deactivated nil) 1645 (setq allout-explicitly-deactivated nil)
1614 (if allout-old-style-prefixes 1646 (if allout-old-style-prefixes
1615 (progn ; Inhibit all the fancy formatting: 1647 ;; Inhibit all the fancy formatting:
1616 (allout-resumptions 'allout-primary-bullet '("*")) 1648 (allout-add-resumptions '((allout-primary-bullet "*")
1617 (allout-resumptions 'allout-old-style-prefixes '(())))) 1649 (allout-old-style-prefixes ()))))
1618 1650
1619 (allout-set-overlay-category) ; Doesn't hurt to redo this. 1651 (allout-overlay-preparations) ; Doesn't hurt to redo this.
1620 1652
1621 (allout-infer-header-lead) 1653 (allout-infer-header-lead)
1622 (allout-infer-body-reindent) 1654 (allout-infer-body-reindent)
1623 1655
1624 (set-allout-regexp) 1656 (set-allout-regexp)
1625 1657
1626 ; Produce map from current version 1658 ;; Produce map from current version of allout-keybindings-list:
1627 ; of allout-keybindings-list: 1659 (setq allout-mode-map
1628 (if (boundp 'minor-mode-map-alist) 1660 (produce-allout-mode-map allout-keybindings-list))
1629 1661 (substitute-key-definition 'beginning-of-line
1630 (progn ; V19, and maybe lucid and 1662 'move-beginning-of-line
1631 ; epoch, minor-mode key bindings: 1663 allout-mode-map global-map)
1632 (setq allout-mode-map 1664 (substitute-key-definition 'end-of-line
1633 (produce-allout-mode-map allout-keybindings-list)) 1665 'move-end-of-line
1634 (substitute-key-definition 'beginning-of-line 1666 allout-mode-map global-map)
1635 'move-beginning-of-line 1667 (produce-allout-mode-menubar-entries)
1636 allout-mode-map global-map) 1668 (fset 'allout-mode-map allout-mode-map)
1637 (substitute-key-definition 'end-of-line 1669
1638 'move-end-of-line 1670 ;; Include on minor-mode-map-alist, if not already there:
1639 allout-mode-map global-map) 1671 (if (not (member '(allout-mode . allout-mode-map)
1640 (produce-allout-mode-menubar-entries) 1672 minor-mode-map-alist))
1641 (fset 'allout-mode-map allout-mode-map) 1673 (setq minor-mode-map-alist
1642 ; Include on minor-mode-map-alist, 1674 (cons '(allout-mode . allout-mode-map)
1643 ; if not already there: 1675 minor-mode-map-alist)))
1644 (if (not (member '(allout-mode . allout-mode-map)
1645 minor-mode-map-alist))
1646 (setq minor-mode-map-alist
1647 (cons '(allout-mode . allout-mode-map)
1648 minor-mode-map-alist))))
1649
1650 ; V18 minor-mode key bindings:
1651 ; Stash record of added bindings
1652 ; for later revocation:
1653 (allout-resumptions 'allout-added-bindings
1654 (list allout-keybindings-list))
1655 (allout-resumptions 'allout-prior-bindings
1656 (list (current-local-map)))
1657 ; and add them:
1658 (use-local-map (produce-allout-mode-map allout-keybindings-list
1659 (current-local-map)))
1660 )
1661 1676
1662 (add-to-invisibility-spec '(allout . t)) 1677 (add-to-invisibility-spec '(allout . t))
1663 (make-local-variable 'line-move-ignore-invisible) 1678 (allout-add-resumptions '(line-move-ignore-invisible t))
1664 (setq line-move-ignore-invisible t) 1679 (add-hook 'pre-command-hook 'allout-pre-command-business nil t)
1665 (add-hook 'pre-command-hook 'allout-pre-command-business) 1680 (add-hook 'post-command-hook 'allout-post-command-business nil t)
1666 (add-hook 'post-command-hook 'allout-post-command-business) 1681 (when (featurep 'xemacs)
1667 (add-hook 'isearch-mode-end-hook 'allout-isearch-end-handler) 1682 (add-hook 'before-change-functions 'allout-before-change-handler
1668 (add-hook write-file-hook-var-name 'allout-write-file-hook-handler) 1683 nil t))
1669 (add-hook 'auto-save-hook 'allout-auto-save-hook-handler) 1684 (add-hook 'isearch-mode-end-hook 'allout-isearch-end-handler nil t)
1670 ; Custom auto-fill func, to support 1685 (add-hook write-file-hook-var-name 'allout-write-file-hook-handler
1671 ; respect for topic headline, 1686 nil t)
1672 ; hanging-indents, etc: 1687 (add-hook 'auto-save-hook 'allout-auto-save-hook-handler
1673 ;; Register prevailing fill func for use by allout-auto-fill: 1688 nil t)
1674 (allout-resumptions 'allout-former-auto-filler (list auto-fill-function)) 1689
1675 ;; Register allout-auto-fill to be used if filling is active: 1690 ;; Stash auto-fill settings and adjust so custom allout auto-fill
1676 (allout-resumptions 'auto-fill-function '(allout-auto-fill)) 1691 ;; func will be used if auto-fill is active or activated. (The
1677 (allout-resumptions 'allout-outside-normal-auto-fill-function 1692 ;; custom func respects topic headline, maintains hanging-indents,
1678 (list normal-auto-fill-function)) 1693 ;; etc.)
1679 (allout-resumptions 'normal-auto-fill-function '(allout-auto-fill)) 1694 (if (and auto-fill-function (not allout-inhibit-auto-fill))
1680 ;; Paragraphs are broken by topic headlines. 1695 ;; allout-auto-fill will use the stashed values and so forth.
1681 (make-local-variable 'paragraph-start) 1696 (allout-add-resumptions '(auto-fill-function allout-auto-fill)))
1682 (allout-resumptions 'paragraph-start 1697 (allout-add-resumptions (list 'allout-former-auto-filler
1683 (list (concat paragraph-start "\\|^\\(" 1698 auto-fill-function)
1684 allout-regexp "\\)"))) 1699 ;; Register allout-auto-fill to be used if
1685 (make-local-variable 'paragraph-separate) 1700 ;; filling is active:
1686 (allout-resumptions 'paragraph-separate 1701 (list 'allout-outside-normal-auto-fill-function
1687 (list (concat paragraph-separate "\\|^\\(" 1702 normal-auto-fill-function)
1688 allout-regexp "\\)"))) 1703 '(normal-auto-fill-function allout-auto-fill)
1689 1704 ;; Paragraphs are broken by topic headlines.
1705 (list 'paragraph-start
1706 (concat paragraph-start "\\|^\\("
1707 allout-regexp "\\)"))
1708 (list 'paragraph-separate
1709 (concat paragraph-separate "\\|^\\("
1710 allout-regexp "\\)")))
1690 (or (assq 'allout-mode minor-mode-alist) 1711 (or (assq 'allout-mode minor-mode-alist)
1691 (setq minor-mode-alist 1712 (setq minor-mode-alist
1692 (cons '(allout-mode " Allout") minor-mode-alist))) 1713 (cons '(allout-mode " Allout") minor-mode-alist)))
@@ -1702,8 +1723,9 @@ OPEN: A topic that is not closed, though its offspring or body may be."
1702 ;; Reactivation: 1723 ;; Reactivation:
1703 ((setq do-layout t) 1724 ((setq do-layout t)
1704 (allout-infer-body-reindent)) 1725 (allout-infer-body-reindent))
1705 ) ; cond 1726 ) ;; end of activation-mode cases.
1706 1727
1728 ;; Do auto layout if warranted:
1707 (let ((use-layout (if (listp allout-layout) 1729 (let ((use-layout (if (listp allout-layout)
1708 allout-layout 1730 allout-layout
1709 allout-default-layout))) 1731 allout-default-layout)))
@@ -1802,9 +1824,14 @@ See allout-overlay-interior-modification-handler for details.
1802 1824
1803This before-change handler is used only where modification-hooks 1825This before-change handler is used only where modification-hooks
1804overlay property is not supported." 1826overlay property is not supported."
1805 (if (not (allout-mode-p)) 1827 ;; allout-overlay-interior-modification-handler on an overlay handles
1806 nil 1828 ;; this in other emacs, via `allout-exposure-category's 'modification-hooks.
1807 (allout-overlay-interior-modification-handler nil nil beg end nil))) 1829 (when (and (featurep 'xemacs) (allout-mode-p))
1830 ;; process all of the pending overlays:
1831 (dolist (overlay (overlays-in beg end))
1832 (if (eq (overlay-get ol 'invisible) 'allout)
1833 (allout-overlay-interior-modification-handler
1834 overlay nil beg end nil)))))
1808;;;_ > allout-isearch-end-handler (&optional overlay) 1835;;;_ > allout-isearch-end-handler (&optional overlay)
1809(defun allout-isearch-end-handler (&optional overlay) 1836(defun allout-isearch-end-handler (&optional overlay)
1810 "Reconcile allout outline exposure on arriving in hidden text after isearch. 1837 "Reconcile allout outline exposure on arriving in hidden text after isearch.
@@ -1894,7 +1921,8 @@ Actually, returns prefix beginning point."
1894;;;_ > allout-e-o-prefix-p () 1921;;;_ > allout-e-o-prefix-p ()
1895(defun allout-e-o-prefix-p () 1922(defun allout-e-o-prefix-p ()
1896 "True if point is located where current topic prefix ends, heading begins." 1923 "True if point is located where current topic prefix ends, heading begins."
1897 (and (save-excursion (beginning-of-line) 1924 (and (save-excursion (let ((inhibit-field-text-motion t))
1925 (beginning-of-line))
1898 (looking-at allout-regexp)) 1926 (looking-at allout-regexp))
1899 (= (point)(save-excursion (allout-end-of-prefix)(point))))) 1927 (= (point)(save-excursion (allout-end-of-prefix)(point)))))
1900;;;_ : Location attributes 1928;;;_ : Location attributes
@@ -1996,34 +2024,34 @@ Outermost is first."
1996(defun allout-beginning-of-current-line () 2024(defun allout-beginning-of-current-line ()
1997 "Like beginning of line, but to visible text." 2025 "Like beginning of line, but to visible text."
1998 2026
1999 ;; XXX We would use `(move-beginning-of-line 1)', but it gets 2027 ;; This combination of move-beginning-of-line and beginning-of-line is
2000 ;; stuck on some hidden newlines, eg at column 80, as of GNU Emacs 22.0.50. 2028 ;; deliberate, but the (beginning-of-line) may now be superfluous.
2001 ;; Conversely, `beginning-of-line' can make no progress in other 2029 (let ((inhibit-field-text-motion t))
2002 ;; situations. Both are necessary, in the order used below. 2030 (move-beginning-of-line 1)
2003 (move-beginning-of-line 1)
2004 (beginning-of-line)
2005 (while (or (not (bolp)) (allout-hidden-p))
2006 (beginning-of-line) 2031 (beginning-of-line)
2007 (if (or (allout-hidden-p) (not (bolp))) 2032 (while (and (not (bobp)) (or (not (bolp)) (allout-hidden-p)))
2008 (forward-char -1)))) 2033 (beginning-of-line)
2034 (if (or (allout-hidden-p) (not (bolp)))
2035 (forward-char -1)))))
2009;;;_ > allout-end-of-current-line () 2036;;;_ > allout-end-of-current-line ()
2010(defun allout-end-of-current-line () 2037(defun allout-end-of-current-line ()
2011 "Move to the end of line, past concealed text if any." 2038 "Move to the end of line, past concealed text if any."
2012 ;; XXX This is for symmetry with `allout-beginning-of-current-line' - 2039 ;; XXX This is for symmetry with `allout-beginning-of-current-line' -
2013 ;; `move-end-of-line' doesn't suffer the same problem as 2040 ;; `move-end-of-line' doesn't suffer the same problem as
2014 ;; `move-beginning-of-line'. 2041 ;; `move-beginning-of-line'.
2015 (end-of-line) 2042 (let ((inhibit-field-text-motion t))
2016 (while (allout-hidden-p)
2017 (end-of-line) 2043 (end-of-line)
2018 (if (allout-hidden-p) (forward-char 1)))) 2044 (while (allout-hidden-p)
2045 (end-of-line)
2046 (if (allout-hidden-p) (forward-char 1)))))
2019;;;_ > allout-next-heading () 2047;;;_ > allout-next-heading ()
2020(defsubst allout-next-heading () 2048(defsubst allout-next-heading ()
2021 "Move to the heading for the topic \(possibly invisible) before this one. 2049 "Move to the heading for the topic \(possibly invisible) after this one.
2022 2050
2023Returns the location of the heading, or nil if none found." 2051Returns the location of the heading, or nil if none found."
2024 2052
2025 (if (and (bobp) (not (eobp))) 2053 (if (and (bobp) (not (eobp)) (looking-at allout-regexp))
2026 (forward-char 1)) 2054 (forward-char 1))
2027 2055
2028 (if (re-search-forward allout-line-boundary-regexp nil 0) 2056 (if (re-search-forward allout-line-boundary-regexp nil 0)
2029 (allout-prefix-data ; Got valid location state - set vars: 2057 (allout-prefix-data ; Got valid location state - set vars:
@@ -2553,7 +2581,8 @@ Presumes point is at the start of a topic prefix."
2553Move to buffer limit in indicated direction if headings are exhausted." 2581Move to buffer limit in indicated direction if headings are exhausted."
2554 2582
2555 (interactive "p") 2583 (interactive "p")
2556 (let* ((backward (if (< arg 0) (setq arg (* -1 arg)))) 2584 (let* ((inhibit-field-text-motion t)
2585 (backward (if (< arg 0) (setq arg (* -1 arg))))
2557 (step (if backward -1 1)) 2586 (step (if backward -1 1))
2558 prev got) 2587 prev got)
2559 2588
@@ -2688,36 +2717,51 @@ return to regular interpretation of self-insert characters."
2688 2717
2689 (if (not (allout-mode-p)) 2718 (if (not (allout-mode-p))
2690 nil 2719 nil
2691 ;; Hot-spot navigation provisions:
2692 (if (and (eq this-command 'self-insert-command) 2720 (if (and (eq this-command 'self-insert-command)
2693 (eq (point)(allout-current-bullet-pos))) 2721 (eq (point)(allout-current-bullet-pos)))
2694 (let* ((this-key-num (cond 2722 (allout-hotspot-key-handler))))
2695 ((numberp last-command-char) 2723;;;_ > allout-hotspot-key-handler ()
2696 last-command-char) 2724(defun allout-hotspot-key-handler ()
2697 ;; Only xemacs has characterp. 2725 "Catchall handling of key bindings in hot-spots.
2698 ((and (fboundp 'characterp) 2726
2699 (apply 'characterp 2727Translates unmodified keystrokes to corresponding allout commands, when
2700 (list last-command-char))) 2728they would qualify if prefixed with the allout-command-prefix, and sets
2701 (apply 'char-to-int (list last-command-char))) 2729this-command accordingly.
2702 (t 0))) 2730
2703 mapped-binding) 2731Returns the qualifying command, if any, else nil."
2704 (if (zerop this-key-num) 2732 (interactive)
2705 nil 2733 (let* ((key-num (cond ((numberp last-command-char) last-command-char)
2706 ; Map upper-register literals 2734 ;; for XEmacs character type:
2707 ; to lower register: 2735 ((and (fboundp 'characterp)
2708 (if (<= 96 this-key-num) 2736 (apply 'characterp (list last-command-char)))
2709 (setq this-key-num (- this-key-num 32))) 2737 (apply 'char-to-int (list last-command-char)))
2710 ; Check if we have a literal: 2738 (t 0)))
2711 (if (and (<= 64 this-key-num) 2739 mapped-binding
2712 (>= 96 this-key-num)) 2740 (on-bullet (eq (point) (allout-current-bullet-pos))))
2713 (setq mapped-binding 2741
2714 (lookup-key 'allout-mode-map 2742 (if (zerop key-num)
2715 (concat allout-command-prefix 2743 nil
2716 (char-to-string (- this-key-num 2744
2717 64)))))) 2745 (if (and (<= 33 key-num)
2718 (if mapped-binding 2746 (setq mapped-binding
2719 (setq allout-post-goto-bullet t 2747 (key-binding (concat allout-command-prefix
2720 this-command mapped-binding))))))) 2748 (char-to-string
2749 (if (and (<= 97 key-num) ; "a"
2750 (>= 122 key-num)) ; "z"
2751 (- key-num 96) key-num)))
2752 t)))
2753 ;; Qualified with the allout prefix - do hot-spot operation.
2754 (setq allout-post-goto-bullet t)
2755 ;; accept-defaults nil, or else we'll get allout-item-icon-key-handler.
2756 (setq mapped-binding (key-binding (char-to-string key-num))))
2757
2758 (while (keymapp mapped-binding)
2759 (setq mapped-binding
2760 (lookup-key mapped-binding (read-key-sequence-vector nil t))))
2761
2762 (if mapped-binding
2763 (setq this-command mapped-binding)))))
2764
2721;;;_ > allout-find-file-hook () 2765;;;_ > allout-find-file-hook ()
2722(defun allout-find-file-hook () 2766(defun allout-find-file-hook ()
2723 "Activate `allout-mode' on non-nil `allout-auto-activation', `allout-layout'. 2767 "Activate `allout-mode' on non-nil `allout-auto-activation', `allout-layout'.
@@ -2969,7 +3013,8 @@ Nuances:
2969 from there." 3013 from there."
2970 3014
2971 (allout-beginning-of-current-line) 3015 (allout-beginning-of-current-line)
2972 (let* ((depth (+ (allout-current-depth) relative-depth)) 3016 (let* ((inhibit-field-text-motion t)
3017 (depth (+ (allout-current-depth) relative-depth))
2973 (opening-on-blank (if (looking-at "^\$") 3018 (opening-on-blank (if (looking-at "^\$")
2974 (not (setq before nil)))) 3019 (not (setq before nil))))
2975 ;; bunch o vars set while computing ref-topic 3020 ;; bunch o vars set while computing ref-topic
@@ -3146,21 +3191,23 @@ topic prior to the current one."
3146 3191
3147Maintains outline hanging topic indentation if 3192Maintains outline hanging topic indentation if
3148`allout-use-hanging-indents' is set." 3193`allout-use-hanging-indents' is set."
3149 (let ((fill-prefix (if allout-use-hanging-indents 3194
3150 ;; Check for topic header indentation: 3195 (when (not allout-inhibit-auto-fill)
3151 (save-excursion 3196 (let ((fill-prefix (if allout-use-hanging-indents
3152 (beginning-of-line) 3197 ;; Check for topic header indentation:
3153 (if (looking-at allout-regexp) 3198 (save-excursion
3154 ;; ... construct indentation to account for 3199 (beginning-of-line)
3155 ;; length of topic prefix: 3200 (if (looking-at allout-regexp)
3156 (make-string (progn (allout-end-of-prefix) 3201 ;; ... construct indentation to account for
3157 (current-column)) 3202 ;; length of topic prefix:
3158 ?\ ))))) 3203 (make-string (progn (allout-end-of-prefix)
3159 (use-auto-fill-function (or allout-outside-normal-auto-fill-function 3204 (current-column))
3160 auto-fill-function 3205 ?\ )))))
3161 'do-auto-fill))) 3206 (use-auto-fill-function (or allout-outside-normal-auto-fill-function
3162 (if (or allout-former-auto-filler allout-use-hanging-indents) 3207 auto-fill-function
3163 (funcall use-auto-fill-function)))) 3208 'do-auto-fill)))
3209 (if (or allout-former-auto-filler allout-use-hanging-indents)
3210 (funcall use-auto-fill-function)))))
3164;;;_ > allout-reindent-body (old-depth new-depth &optional number) 3211;;;_ > allout-reindent-body (old-depth new-depth &optional number)
3165(defun allout-reindent-body (old-depth new-depth &optional number) 3212(defun allout-reindent-body (old-depth new-depth &optional number)
3166 "Reindent body lines which were indented at OLD-DEPTH to NEW-DEPTH. 3213 "Reindent body lines which were indented at OLD-DEPTH to NEW-DEPTH.
@@ -3585,7 +3632,8 @@ when yank with allout-yank into an outline as a heading."
3585 ;; a lag *after* a kill has been performed. 3632 ;; a lag *after* a kill has been performed.
3586 3633
3587 (interactive) 3634 (interactive)
3588 (let* ((collapsed (allout-current-topic-collapsed-p)) 3635 (let* ((inhibit-field-text-motion t)
3636 (collapsed (allout-current-topic-collapsed-p))
3589 (beg (prog1 (allout-back-to-current-heading) (beginning-of-line))) 3637 (beg (prog1 (allout-back-to-current-heading) (beginning-of-line)))
3590 (depth (allout-recent-depth))) 3638 (depth (allout-recent-depth)))
3591 (allout-end-of-current-subtree) 3639 (allout-end-of-current-subtree)
@@ -3601,8 +3649,10 @@ when yank with allout-yank into an outline as a heading."
3601 (forward-char 1))) 3649 (forward-char 1)))
3602 3650
3603 (if collapsed 3651 (if collapsed
3604 (put-text-property beg (1+ beg) 'allout-was-collapsed t) 3652 (allout-unprotected
3605 (remove-text-properties beg (1+ beg) '(allout-was-collapsed t))) 3653 (put-text-property beg (1+ beg) 'allout-was-collapsed t))
3654 (allout-unprotected
3655 (remove-text-properties beg (1+ beg) '(allout-was-collapsed t))))
3606 (allout-unprotected (kill-region beg (point))) 3656 (allout-unprotected (kill-region beg (point)))
3607 (sit-for 0) 3657 (sit-for 0)
3608 (save-excursion 3658 (save-excursion
@@ -3633,7 +3683,8 @@ however, are left exactly like normal, non-allout-specific yanks."
3633 ; region around subject: 3683 ; region around subject:
3634 (if (< (allout-mark-marker t) (point)) 3684 (if (< (allout-mark-marker t) (point))
3635 (exchange-point-and-mark)) 3685 (exchange-point-and-mark))
3636 (let* ((subj-beg (point)) 3686 (let* ((inhibit-field-text-motion t)
3687 (subj-beg (point))
3637 (into-bol (bolp)) 3688 (into-bol (bolp))
3638 (subj-end (allout-mark-marker t)) 3689 (subj-end (allout-mark-marker t))
3639 (was-collapsed (get-text-property subj-beg 'allout-was-collapsed)) 3690 (was-collapsed (get-text-property subj-beg 'allout-was-collapsed))
@@ -3802,7 +3853,8 @@ by pops to non-distinctive yanks. Bug..."
3802 (if (not (string= (allout-current-bullet) allout-file-xref-bullet)) 3853 (if (not (string= (allout-current-bullet) allout-file-xref-bullet))
3803 (error "Current heading lacks cross-reference bullet `%s'" 3854 (error "Current heading lacks cross-reference bullet `%s'"
3804 allout-file-xref-bullet) 3855 allout-file-xref-bullet)
3805 (let (file-name) 3856 (let ((inhibit-field-text-motion t)
3857 file-name)
3806 (save-excursion 3858 (save-excursion
3807 (let* ((text-start allout-recent-prefix-end) 3859 (let* ((text-start allout-recent-prefix-end)
3808 (heading-end (progn (end-of-line) (point)))) 3860 (heading-end (progn (end-of-line) (point))))
@@ -3834,12 +3886,12 @@ by pops to non-distinctive yanks. Bug..."
3834 3886
3835Text is shown if flag is nil and hidden otherwise." 3887Text is shown if flag is nil and hidden otherwise."
3836 ;; We use outline invisibility spec. 3888 ;; We use outline invisibility spec.
3837 (remove-overlays from to 'category 'allout-overlay-category) 3889 (remove-overlays from to 'category 'allout-exposure-category)
3838 (when flag 3890 (when flag
3839 (let ((o (make-overlay from to))) 3891 (let ((o (make-overlay from to)))
3840 (overlay-put o 'category 'allout-overlay-category) 3892 (overlay-put o 'category 'allout-exposure-category)
3841 (when (featurep 'xemacs) 3893 (when (featurep 'xemacs)
3842 (let ((props (symbol-plist 'allout-overlay-category))) 3894 (let ((props (symbol-plist 'allout-exposure-category)))
3843 (while props 3895 (while props
3844 (overlay-put o (pop props) (pop props))))))) 3896 (overlay-put o (pop props) (pop props)))))))
3845 (run-hooks 'allout-view-change-hook) 3897 (run-hooks 'allout-view-change-hook)
@@ -3850,7 +3902,8 @@ Text is shown if flag is nil and hidden otherwise."
3850 3902
3851 (save-excursion 3903 (save-excursion
3852 (allout-back-to-current-heading) 3904 (allout-back-to-current-heading)
3853 (end-of-line) 3905 (let ((inhibit-field-text-motion t))
3906 (end-of-line))
3854 (allout-flag-region (point) 3907 (allout-flag-region (point)
3855 ;; Exposing must not leave trailing blanks hidden, 3908 ;; Exposing must not leave trailing blanks hidden,
3856 ;; but can leave them exposed when hiding, so we 3909 ;; but can leave them exposed when hiding, so we
@@ -3860,9 +3913,9 @@ Text is shown if flag is nil and hidden otherwise."
3860 flag))) 3913 flag)))
3861 3914
3862;;;_ - Topic-specific 3915;;;_ - Topic-specific
3863;;;_ > allout-show-entry (&optional inclusive) 3916;;;_ > allout-show-entry ()
3864(defun allout-show-entry (&optional inclusive) 3917(defun allout-show-entry ()
3865 "Like `allout-show-current-entry', reveals entries nested in hidden topics. 3918 "Like `allout-show-current-entry', but reveals entries in hidden topics.
3866 3919
3867This is a way to give restricted peek at a concealed locality without the 3920This is a way to give restricted peek at a concealed locality without the
3868expense of exposing its context, but can leave the outline with aberrant 3921expense of exposing its context, but can leave the outline with aberrant
@@ -3939,7 +3992,8 @@ point of non-opened subtree?)"
3939Useful for coherently exposing to a random point in a hidden region." 3992Useful for coherently exposing to a random point in a hidden region."
3940 (interactive) 3993 (interactive)
3941 (save-excursion 3994 (save-excursion
3942 (let ((orig-pt (point)) 3995 (let ((inhibit-field-text-motion t)
3996 (orig-pt (point))
3943 (orig-pref (allout-goto-prefix)) 3997 (orig-pref (allout-goto-prefix))
3944 (last-at (point)) 3998 (last-at (point))
3945 bag-it) 3999 bag-it)
@@ -3971,13 +4025,13 @@ Useful for coherently exposing to a random point in a hidden region."
3971 (interactive) 4025 (interactive)
3972 (allout-back-to-current-heading) 4026 (allout-back-to-current-heading)
3973 (save-excursion 4027 (save-excursion
3974 (end-of-line) 4028 (let ((inhibit-field-text-motion t))
4029 (end-of-line))
3975 (allout-flag-region (point) 4030 (allout-flag-region (point)
3976 (progn (allout-end-of-entry) (point)) 4031 (progn (allout-end-of-entry) (point))
3977 t))) 4032 t)))
3978;;;_ > allout-show-current-entry (&optional arg) 4033;;;_ > allout-show-current-entry (&optional arg)
3979(defun allout-show-current-entry (&optional arg) 4034(defun allout-show-current-entry (&optional arg)
3980
3981 "Show body following current heading, or hide entry with universal argument." 4035 "Show body following current heading, or hide entry with universal argument."
3982 4036
3983 (interactive "P") 4037 (interactive "P")
@@ -4042,6 +4096,7 @@ siblings, even if the target topic is already closed."
4042 ((allout-up-current-level 1 t) (allout-hide-current-subtree)) 4096 ((allout-up-current-level 1 t) (allout-hide-current-subtree))
4043 (t (goto-char 0) 4097 (t (goto-char 0)
4044 (message sibs-msg) 4098 (message sibs-msg)
4099 (allout-goto-prefix)
4045 (allout-expose-topic '(0 :)) 4100 (allout-expose-topic '(0 :))
4046 (message (concat sibs-msg " Done.")))) 4101 (message (concat sibs-msg " Done."))))
4047 (goto-char from))) 4102 (goto-char from)))
@@ -4049,7 +4104,8 @@ siblings, even if the target topic is already closed."
4049(defun allout-show-current-branches () 4104(defun allout-show-current-branches ()
4050 "Show all subheadings of this heading, but not their bodies." 4105 "Show all subheadings of this heading, but not their bodies."
4051 (interactive) 4106 (interactive)
4052 (beginning-of-line) 4107 (let ((inhibit-field-text-motion t))
4108 (beginning-of-line))
4053 (allout-show-children t)) 4109 (allout-show-children t))
4054;;;_ > allout-hide-current-leaves () 4110;;;_ > allout-hide-current-leaves ()
4055(defun allout-hide-current-leaves () 4111(defun allout-hide-current-leaves ()
@@ -4079,13 +4135,14 @@ siblings, even if the target topic is already closed."
4079 (save-restriction 4135 (save-restriction
4080 (narrow-to-region start end) 4136 (narrow-to-region start end)
4081 (goto-char (point-min)) 4137 (goto-char (point-min))
4082 (while (not (eobp)) 4138 (let ((inhibit-field-text-motion t))
4083 (end-of-line) 4139 (while (not (eobp))
4084 (allout-flag-region (point) (allout-end-of-entry) t) 4140 (end-of-line)
4085 (if (not (eobp)) 4141 (allout-flag-region (point) (allout-end-of-entry) t)
4086 (forward-char 4142 (if (not (eobp))
4087 (if (looking-at "\n\n") 4143 (forward-char
4088 2 1))))))) 4144 (if (looking-at "\n\n")
4145 2 1))))))))
4089 4146
4090;;;_ > allout-expose-topic (spec) 4147;;;_ > allout-expose-topic (spec)
4091(defun allout-expose-topic (spec) 4148(defun allout-expose-topic (spec)
@@ -4238,7 +4295,8 @@ for the corresponding offspring of the topic.
4238Optional FOLLOWERS arguments dictate exposure for succeeding siblings." 4295Optional FOLLOWERS arguments dictate exposure for succeeding siblings."
4239 4296
4240 (interactive "xExposure spec: ") 4297 (interactive "xExposure spec: ")
4241 (let ((depth (allout-current-depth)) 4298 (let ((inhibit-field-text-motion t)
4299 (depth (allout-current-depth))
4242 max-pos) 4300 max-pos)
4243 (cond ((null spec) nil) 4301 (cond ((null spec) nil)
4244 ((symbolp spec) 4302 ((symbolp spec)
@@ -4417,8 +4475,9 @@ header and body. The elements of that list are:
4417 (interactive "r") 4475 (interactive "r")
4418 (save-excursion 4476 (save-excursion
4419 (let* 4477 (let*
4420 ;; state vars: 4478 ((inhibit-field-text-motion t)
4421 (strings prefix result depth new-depth out gone-out bullet beg 4479 ;; state vars:
4480 strings prefix result depth new-depth out gone-out bullet beg
4422 next done) 4481 next done)
4423 4482
4424 (goto-char start) 4483 (goto-char start)
@@ -4697,18 +4756,19 @@ string across LaTeX processing."
4697Adjust line contents so it is unaltered \(from the original line) 4756Adjust line contents so it is unaltered \(from the original line)
4698across LaTeX processing, within the context of a `verbatim' 4757across LaTeX processing, within the context of a `verbatim'
4699environment. Leaves point at the end of the line." 4758environment. Leaves point at the end of the line."
4700 (beginning-of-line) 4759 (let ((inhibit-field-text-motion t))
4701 (let ((beg (point)) 4760 (beginning-of-line)
4702 (end (progn (end-of-line)(point)))) 4761 (let ((beg (point))
4703 (goto-char beg) 4762 (end (progn (end-of-line)(point))))
4704 (while (re-search-forward "\\\\" 4763 (goto-char beg)
4705 ;;"\\\\\\|\\{\\|\\}\\|\\_\\|\\$\\|\\\"\\|\\&\\|\\^\\|\\-\\|\\*\\|#" 4764 (while (re-search-forward "\\\\"
4706 end ; bounded by end-of-line 4765 ;;"\\\\\\|\\{\\|\\}\\|\\_\\|\\$\\|\\\"\\|\\&\\|\\^\\|\\-\\|\\*\\|#"
4707 1) ; no matches, move to end & return nil 4766 end ; bounded by end-of-line
4708 (goto-char (match-beginning 0)) 4767 1) ; no matches, move to end & return nil
4709 (insert "\\") 4768 (goto-char (match-beginning 0))
4710 (setq end (1+ end)) 4769 (insert "\\")
4711 (goto-char (1+ (match-end 0)))))) 4770 (setq end (1+ end))
4771 (goto-char (1+ (match-end 0)))))))
4712;;;_ > allout-insert-latex-header (buffer) 4772;;;_ > allout-insert-latex-header (buffer)
4713(defun allout-insert-latex-header (buffer) 4773(defun allout-insert-latex-header (buffer)
4714 "Insert initial LaTeX commands at point in BUFFER." 4774 "Insert initial LaTeX commands at point in BUFFER."
@@ -5556,7 +5616,8 @@ save. See `allout-encrypt-unencrypted-on-saves' for more info."
5556(defun allout-mark-topic () 5616(defun allout-mark-topic ()
5557 "Put the region around topic currently containing point." 5617 "Put the region around topic currently containing point."
5558 (interactive) 5618 (interactive)
5559 (beginning-of-line) 5619 (let ((inhibit-field-text-motion t))
5620 (beginning-of-line))
5560 (allout-goto-prefix) 5621 (allout-goto-prefix)
5561 (push-mark (point)) 5622 (push-mark (point))
5562 (allout-end-of-current-subtree) 5623 (allout-end-of-current-subtree)
@@ -5631,7 +5692,8 @@ enable-local-variables must be true for any of this to happen."
5631 allout-enable-file-variable-adjustment)) 5692 allout-enable-file-variable-adjustment))
5632 nil 5693 nil
5633 (save-excursion 5694 (save-excursion
5634 (let ((section-data (allout-file-vars-section-data)) 5695 (let ((inhibit-field-text-motion t)
5696 (section-data (allout-file-vars-section-data))
5635 beg prefix suffix) 5697 beg prefix suffix)
5636 (if section-data 5698 (if section-data
5637 (setq beg (car section-data) 5699 (setq beg (car section-data)
@@ -5919,7 +5981,131 @@ To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
5919 (isearch-repeat 'forward) 5981 (isearch-repeat 'forward)
5920 (isearch-mode t))) 5982 (isearch-mode t)))
5921 5983
5922;;;_ #11 Provide 5984;;;_ #11 Unit tests - this should be last item before "Provide"
5985;;;_ > allout-run-unit-tests ()
5986(defun allout-run-unit-tests ()
5987 "Run the various allout unit tests."
5988 (message "Running allout tests...")
5989 (allout-test-resumptions)
5990 (message "Running allout tests... Done.")
5991 (sit-for .5))
5992;;;_ : test resumptions:
5993;;;_ > allout-tests-obliterate-variable (name)
5994(defun allout-tests-obliterate-variable (name)
5995 "Completely unbind variable with NAME."
5996 (if (local-variable-p name) (kill-local-variable name))
5997 (while (boundp name) (makunbound name)))
5998;;;_ > allout-test-resumptions ()
5999(defvar allout-tests-globally-unbound nil
6000 "Fodder for allout resumptions tests - defvar just for byte compiler.")
6001(defvar allout-tests-globally-true nil
6002 "Fodder for allout resumptions tests - defvar just just for byte compiler.")
6003(defvar allout-tests-locally-true nil
6004 "Fodder for allout resumptions tests - defvar just for byte compiler.")
6005(defun allout-test-resumptions ()
6006 "Exercise allout resumptions."
6007 ;; for each resumption case, we also test that the right local/global
6008 ;; scopes are affected during resumption effects:
6009
6010 ;; ensure that previously unbound variables return to the unbound state.
6011 (with-temp-buffer
6012 (allout-tests-obliterate-variable 'allout-tests-globally-unbound)
6013 (allout-add-resumptions '(allout-tests-globally-unbound t))
6014 (assert (not (default-boundp 'allout-tests-globally-unbound)))
6015 (assert (local-variable-p 'allout-tests-globally-unbound))
6016 (assert (boundp 'allout-tests-globally-unbound))
6017 (assert (equal allout-tests-globally-unbound t))
6018 (allout-do-resumptions)
6019 (assert (not (local-variable-p 'allout-tests-globally-unbound)))
6020 (assert (not (boundp 'allout-tests-globally-unbound))))
6021
6022 ;; ensure that variable with prior global value is resumed
6023 (with-temp-buffer
6024 (allout-tests-obliterate-variable 'allout-tests-globally-true)
6025 (setq allout-tests-globally-true t)
6026 (allout-add-resumptions '(allout-tests-globally-true nil))
6027 (assert (equal (default-value 'allout-tests-globally-true) t))
6028 (assert (local-variable-p 'allout-tests-globally-true))
6029 (assert (equal allout-tests-globally-true nil))
6030 (allout-do-resumptions)
6031 (assert (not (local-variable-p 'allout-tests-globally-true)))
6032 (assert (boundp 'allout-tests-globally-true))
6033 (assert (equal allout-tests-globally-true t)))
6034
6035 ;; ensure that prior local value is resumed
6036 (with-temp-buffer
6037 (allout-tests-obliterate-variable 'allout-tests-locally-true)
6038 (set (make-local-variable 'allout-tests-locally-true) t)
6039 (assert (not (default-boundp 'allout-tests-locally-true))
6040 nil (concat "Test setup mistake - variable supposed to"
6041 " not have global binding, but it does."))
6042 (assert (local-variable-p 'allout-tests-locally-true)
6043 nil (concat "Test setup mistake - variable supposed to have"
6044 " local binding, but it lacks one."))
6045 (allout-add-resumptions '(allout-tests-locally-true nil))
6046 (assert (not (default-boundp 'allout-tests-locally-true)))
6047 (assert (local-variable-p 'allout-tests-locally-true))
6048 (assert (equal allout-tests-locally-true nil))
6049 (allout-do-resumptions)
6050 (assert (boundp 'allout-tests-locally-true))
6051 (assert (local-variable-p 'allout-tests-locally-true))
6052 (assert (equal allout-tests-locally-true t))
6053 (assert (not (default-boundp 'allout-tests-locally-true))))
6054
6055 ;; ensure that last of multiple resumptions holds, for various scopes.
6056 (with-temp-buffer
6057 (allout-tests-obliterate-variable 'allout-tests-globally-unbound)
6058 (allout-tests-obliterate-variable 'allout-tests-globally-true)
6059 (setq allout-tests-globally-true t)
6060 (allout-tests-obliterate-variable 'allout-tests-locally-true)
6061 (set (make-local-variable 'allout-tests-locally-true) t)
6062 (allout-add-resumptions '(allout-tests-globally-unbound t)
6063 '(allout-tests-globally-true nil)
6064 '(allout-tests-locally-true nil))
6065 (allout-add-resumptions '(allout-tests-globally-unbound 2)
6066 '(allout-tests-globally-true 3)
6067 '(allout-tests-locally-true 4))
6068 ;; reestablish many of the basic conditions are maintained after re-add:
6069 (assert (not (default-boundp 'allout-tests-globally-unbound)))
6070 (assert (local-variable-p 'allout-tests-globally-unbound))
6071 (assert (equal allout-tests-globally-unbound 2))
6072 (assert (default-boundp 'allout-tests-globally-true))
6073 (assert (local-variable-p 'allout-tests-globally-true))
6074 (assert (equal allout-tests-globally-true 3))
6075 (assert (not (default-boundp 'allout-tests-locally-true)))
6076 (assert (local-variable-p 'allout-tests-locally-true))
6077 (assert (equal allout-tests-locally-true 4))
6078 (allout-do-resumptions)
6079 (assert (not (local-variable-p 'allout-tests-globally-unbound)))
6080 (assert (not (boundp 'allout-tests-globally-unbound)))
6081 (assert (not (local-variable-p 'allout-tests-globally-true)))
6082 (assert (boundp 'allout-tests-globally-true))
6083 (assert (equal allout-tests-globally-true t))
6084 (assert (boundp 'allout-tests-locally-true))
6085 (assert (local-variable-p 'allout-tests-locally-true))
6086 (assert (equal allout-tests-locally-true t))
6087 (assert (not (default-boundp 'allout-tests-locally-true))))
6088
6089 ;; ensure that deliberately unbinding registered variables doesn't foul things
6090 (with-temp-buffer
6091 (allout-tests-obliterate-variable 'allout-tests-globally-unbound)
6092 (allout-tests-obliterate-variable 'allout-tests-globally-true)
6093 (setq allout-tests-globally-true t)
6094 (allout-tests-obliterate-variable 'allout-tests-locally-true)
6095 (set (make-local-variable 'allout-tests-locally-true) t)
6096 (allout-add-resumptions '(allout-tests-globally-unbound t)
6097 '(allout-tests-globally-true nil)
6098 '(allout-tests-locally-true nil))
6099 (allout-tests-obliterate-variable 'allout-tests-globally-unbound)
6100 (allout-tests-obliterate-variable 'allout-tests-globally-true)
6101 (allout-tests-obliterate-variable 'allout-tests-locally-true)
6102 (allout-do-resumptions))
6103 )
6104;;;_ % Run unit tests if `allout-run-unit-tests-after-load' is true:
6105(when allout-run-unit-tests-on-load
6106 (allout-run-unit-tests))
6107
6108;;;_ #12 Provide
5923(provide 'allout) 6109(provide 'allout)
5924 6110
5925;;;_* Local emacs vars. 6111;;;_* Local emacs vars.
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 500ad5ff5fa..4afdfac2bf5 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -870,10 +870,14 @@ using `make-temp-file', and the generated name is returned."
870 (save-excursion 870 (save-excursion
871 (funcall set-auto-coding-function 871 (funcall set-auto-coding-function
872 filename (- (point-max) (point-min))))) 872 filename (- (point-max) (point-min)))))
873 ;; dos-w32.el defines find-operation-coding-system for 873 ;; dos-w32.el defines the function
874 ;; DOS/Windows systems which preserves the coding-system 874 ;; find-buffer-file-type-coding-system for DOS/Windows
875 ;; of existing files. We want it to act here as if the 875 ;; systems which preserves the coding-system of existing files.
876 ;; extracted file existed. 876 ;; (That function is called via file-coding-system-alist.)
877 ;; Here, we want it to act as if the extracted file existed.
878 ;; The following let-binding of file-name-handler-alist forces
879 ;; find-file-not-found-set-buffer-file-coding-system to ignore
880 ;; the file's name (see dos-w32.el).
877 (let ((file-name-handler-alist 881 (let ((file-name-handler-alist
878 '(("" . archive-file-name-handler)))) 882 '(("" . archive-file-name-handler))))
879 (car (find-operation-coding-system 883 (car (find-operation-coding-system
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 639ee2dabb8..fc66d36b41f 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -683,7 +683,11 @@ language you are using."
683 (define-key map [prior] 'previous-history-element) 683 (define-key map [prior] 'previous-history-element)
684 (define-key map [up] 'previous-history-element) 684 (define-key map [up] 'previous-history-element)
685 (define-key map "\es" 'next-matching-history-element) 685 (define-key map "\es" 'next-matching-history-element)
686 (define-key map "\er" 'previous-matching-history-element)) 686 (define-key map "\er" 'previous-matching-history-element)
687 ;; Override the global binding (which calls indent-relative via
688 ;; indent-for-tab-command). The alignment that indent-relative tries to
689 ;; do doesn't make much sense here since the prompt messes it up.
690 (define-key map "\t" 'self-insert-command))
687 691
688(define-key global-map "\C-u" 'universal-argument) 692(define-key global-map "\C-u" 'universal-argument)
689(let ((i ?0)) 693(let ((i ?0))
diff --git a/lisp/calc/calc-aent.el b/lisp/calc/calc-aent.el
index fadfabce663..fe5bf4cf9e0 100644
--- a/lisp/calc/calc-aent.el
+++ b/lisp/calc/calc-aent.el
@@ -32,7 +32,11 @@
32(require 'calc) 32(require 'calc)
33(require 'calc-macs) 33(require 'calc-macs)
34 34
35(defvar calc-quick-calc-history nil
36 "The history list for quick-calc.")
37
35(defun calc-do-quick-calc () 38(defun calc-do-quick-calc ()
39 (require 'calc-ext)
36 (calc-check-defines) 40 (calc-check-defines)
37 (if (eq major-mode 'calc-mode) 41 (if (eq major-mode 'calc-mode)
38 (calc-algebraic-entry t) 42 (calc-algebraic-entry t)
@@ -45,23 +49,12 @@
45 (enable-recursive-minibuffers t) 49 (enable-recursive-minibuffers t)
46 (calc-language (if (memq calc-language '(nil big)) 50 (calc-language (if (memq calc-language '(nil big))
47 'flat calc-language)) 51 'flat calc-language))
48 (entry (calc-do-alg-entry "" "Quick calc: " t)) 52 (entry (calc-do-alg-entry "" "Quick calc: " t 'calc-quick-calc-history))
49 (alg-exp (mapcar (function 53 (alg-exp (mapcar 'math-evaluate-expr entry)))
50 (lambda (x)
51 (if (and (not (featurep 'calc-ext))
52 calc-previous-alg-entry
53 (string-match
54 "\\`[-0-9._+*/^() ]+\\'"
55 calc-previous-alg-entry))
56 (calc-normalize x)
57 (require 'calc-ext)
58 (math-evaluate-expr x))))
59 entry)))
60 (when (and (= (length alg-exp) 1) 54 (when (and (= (length alg-exp) 1)
61 (eq (car-safe (car alg-exp)) 'calcFunc-assign) 55 (eq (car-safe (car alg-exp)) 'calcFunc-assign)
62 (= (length (car alg-exp)) 3) 56 (= (length (car alg-exp)) 3)
63 (eq (car-safe (nth 1 (car alg-exp))) 'var)) 57 (eq (car-safe (nth 1 (car alg-exp))) 'var))
64 (require 'calc-ext)
65 (set (nth 2 (nth 1 (car alg-exp))) (nth 2 (car alg-exp))) 58 (set (nth 2 (nth 1 (car alg-exp))) (nth 2 (car alg-exp)))
66 (calc-refresh-evaltos (nth 2 (nth 1 (car alg-exp)))) 59 (calc-refresh-evaltos (nth 2 (nth 1 (car alg-exp))))
67 (setq alg-exp (list (nth 2 (car alg-exp))))) 60 (setq alg-exp (list (nth 2 (car alg-exp)))))
@@ -264,13 +257,16 @@ T means abort and give an error message.")
264 (math-expr-opers (if prefix math-standard-opers math-expr-opers))) 257 (math-expr-opers (if prefix math-standard-opers math-expr-opers)))
265 (calc-alg-entry (and auto (char-to-string last-command-char)))))) 258 (calc-alg-entry (and auto (char-to-string last-command-char))))))
266 259
260(defvar calc-alg-entry-history nil
261 "History for algebraic entry.")
262
267(defun calc-alg-entry (&optional initial prompt) 263(defun calc-alg-entry (&optional initial prompt)
268 (let* ((sel-mode nil) 264 (let* ((sel-mode nil)
269 (calc-dollar-values (mapcar 'calc-get-stack-element 265 (calc-dollar-values (mapcar 'calc-get-stack-element
270 (nthcdr calc-stack-top calc-stack))) 266 (nthcdr calc-stack-top calc-stack)))
271 (calc-dollar-used 0) 267 (calc-dollar-used 0)
272 (calc-plain-entry t) 268 (calc-plain-entry t)
273 (alg-exp (calc-do-alg-entry initial prompt t))) 269 (alg-exp (calc-do-alg-entry initial prompt t 'calc-alg-entry-history)))
274 (if (stringp alg-exp) 270 (if (stringp alg-exp)
275 (progn 271 (progn
276 (require 'calc-ext) 272 (require 'calc-ext)
@@ -301,7 +297,7 @@ T means abort and give an error message.")
301 297
302(defvar calc-alg-exp) 298(defvar calc-alg-exp)
303 299
304(defun calc-do-alg-entry (&optional initial prompt no-normalize) 300(defun calc-do-alg-entry (&optional initial prompt no-normalize history)
305 (let* ((calc-buffer (current-buffer)) 301 (let* ((calc-buffer (current-buffer))
306 (blink-paren-function 'calcAlg-blink-matching-open) 302 (blink-paren-function 'calcAlg-blink-matching-open)
307 (calc-alg-exp 'error)) 303 (calc-alg-exp 'error))
@@ -319,15 +315,17 @@ T means abort and give an error message.")
319 (define-key calc-alg-ent-map "\e" nil) 315 (define-key calc-alg-ent-map "\e" nil)
320 (if (eq calc-algebraic-mode 'total) 316 (if (eq calc-algebraic-mode 'total)
321 (define-key calc-alg-ent-map "\e" calc-alg-ent-esc-map) 317 (define-key calc-alg-ent-map "\e" calc-alg-ent-esc-map)
322 (define-key calc-alg-ent-map "\ep" 'calcAlg-plus-minus) 318 (define-key calc-alg-ent-map "\e+" 'calcAlg-plus-minus)
323 (define-key calc-alg-ent-map "\em" 'calcAlg-mod) 319 (define-key calc-alg-ent-map "\em" 'calcAlg-mod)
324 (define-key calc-alg-ent-map "\e=" 'calcAlg-equals) 320 (define-key calc-alg-ent-map "\e=" 'calcAlg-equals)
325 (define-key calc-alg-ent-map "\e\r" 'calcAlg-equals) 321 (define-key calc-alg-ent-map "\e\r" 'calcAlg-equals)
322 (define-key calc-alg-ent-map "\ep" 'previous-history-element)
323 (define-key calc-alg-ent-map "\en" 'next-history-element)
326 (define-key calc-alg-ent-map "\e%" 'self-insert-command)) 324 (define-key calc-alg-ent-map "\e%" 'self-insert-command))
327 (setq calc-aborted-prefix nil) 325 (setq calc-aborted-prefix nil)
328 (let ((buf (read-from-minibuffer (or prompt "Algebraic: ") 326 (let ((buf (read-from-minibuffer (or prompt "Algebraic: ")
329 (or initial "") 327 (or initial "")
330 calc-alg-ent-map nil))) 328 calc-alg-ent-map nil history)))
331 (when (eq calc-alg-exp 'error) 329 (when (eq calc-alg-exp 'error)
332 (when (eq (car-safe (setq calc-alg-exp (math-read-exprs buf))) 'error) 330 (when (eq (car-safe (setq calc-alg-exp (math-read-exprs buf))) 'error)
333 (setq calc-alg-exp nil))) 331 (setq calc-alg-exp nil)))
@@ -355,9 +353,7 @@ T means abort and give an error message.")
355(defun calcAlg-previous () 353(defun calcAlg-previous ()
356 (interactive) 354 (interactive)
357 (if (calc-minibuffer-contains "\\'") 355 (if (calc-minibuffer-contains "\\'")
358 (if calc-previous-alg-entry 356 (previous-history-element 1)
359 (insert calc-previous-alg-entry)
360 (beep))
361 (insert "'"))) 357 (insert "'")))
362 358
363(defun calcAlg-equals () 359(defun calcAlg-equals ()
@@ -384,7 +380,6 @@ T means abort and give an error message.")
384 "\\`\\([^\"]*\"[^\"]*\"\\)*[^\"]*\"[^\"]*\\'")) 380 "\\`\\([^\"]*\"[^\"]*\"\\)*[^\"]*\"[^\"]*\\'"))
385 (insert "`") 381 (insert "`")
386 (setq calc-alg-exp (minibuffer-contents)) 382 (setq calc-alg-exp (minibuffer-contents))
387 (and (> (length calc-alg-exp) 0) (setq calc-previous-alg-entry calc-alg-exp))
388 (exit-minibuffer))) 383 (exit-minibuffer)))
389 384
390(defvar calc-buffer) 385(defvar calc-buffer)
@@ -407,7 +402,6 @@ T means abort and give an error message.")
407 (setq calc-alg-exp (if (calc-minibuffer-contains "\\` *\\[ *\\'") 402 (setq calc-alg-exp (if (calc-minibuffer-contains "\\` *\\[ *\\'")
408 '((incomplete vec)) 403 '((incomplete vec))
409 exp)) 404 exp))
410 (and (> (length str) 0) (setq calc-previous-alg-entry str))
411 (exit-minibuffer)))) 405 (exit-minibuffer))))
412 406
413(defun calcAlg-blink-matching-open () 407(defun calcAlg-blink-matching-open ()
diff --git a/lisp/calc/calc-map.el b/lisp/calc/calc-map.el
index 63e45538c32..c9c71b3ebf1 100644
--- a/lisp/calc/calc-map.el
+++ b/lisp/calc/calc-map.el
@@ -498,6 +498,9 @@
498 498
499 499
500;;; Return a list of the form (nargs func name) 500;;; Return a list of the form (nargs func name)
501(defvar calc-get-operator-history nil
502 "History for calc-get-operator.")
503
501(defun calc-get-operator (msg &optional nargs) 504(defun calc-get-operator (msg &optional nargs)
502 (setq calc-aborted-prefix nil) 505 (setq calc-aborted-prefix nil)
503 (let ((inv nil) (hyp nil) (prefix nil) (forcenargs nil) 506 (let ((inv nil) (hyp nil) (prefix nil) (forcenargs nil)
@@ -583,7 +586,8 @@
583 (let* ((calc-dollar-values calc-arg-values) 586 (let* ((calc-dollar-values calc-arg-values)
584 (calc-dollar-used 0) 587 (calc-dollar-used 0)
585 (calc-hashes-used 0) 588 (calc-hashes-used 0)
586 (func (calc-do-alg-entry "" "Function: "))) 589 (func (calc-do-alg-entry "" "Function: " nil
590 'calc-get-operator-history)))
587 (setq record-entry t) 591 (setq record-entry t)
588 (or (= (length func) 1) 592 (or (= (length func) 1)
589 (error "Bad format")) 593 (error "Bad format"))
diff --git a/lisp/calc/calc-rewr.el b/lisp/calc/calc-rewr.el
index 71dce50d976..d7530dc4cb6 100644
--- a/lisp/calc/calc-rewr.el
+++ b/lisp/calc/calc-rewr.el
@@ -154,7 +154,6 @@
154 (setq expr (calc-top-n 2) 154 (setq expr (calc-top-n 2)
155 pat (calc-top-n 1) 155 pat (calc-top-n 1)
156 n 2) 156 n 2)
157 (if interactive (setq calc-previous-alg-entry pat))
158 (setq pat (if (stringp pat) (math-read-expr pat) pat)) 157 (setq pat (if (stringp pat) (math-read-expr pat) pat))
159 (if (eq (car-safe pat) 'error) 158 (if (eq (car-safe pat) 'error)
160 (error "Bad format in expression: %s" (nth 1 pat))) 159 (error "Bad format in expression: %s" (nth 1 pat)))
diff --git a/lisp/calc/calc-sel.el b/lisp/calc/calc-sel.el
index bf18fa968c5..7f6dbb7f999 100644
--- a/lisp/calc/calc-sel.el
+++ b/lisp/calc/calc-sel.el
@@ -633,6 +633,9 @@
633 (setcar (nthcdr 2 entry) (and (not (eq sel (car entry))) sel)) 633 (setcar (nthcdr 2 entry) (and (not (eq sel (car entry))) sel))
634 (calc-delete-selection num)))) 634 (calc-delete-selection num))))
635 635
636(defvar calc-selection-history nil
637 "History for calc selections.")
638
636(defun calc-enter-selection () 639(defun calc-enter-selection ()
637 (interactive) 640 (interactive)
638 (calc-wrapper 641 (calc-wrapper
@@ -645,7 +648,8 @@
645 alg) 648 alg)
646 (let ((calc-dollar-values (list sel)) 649 (let ((calc-dollar-values (list sel))
647 (calc-dollar-used 0)) 650 (calc-dollar-used 0))
648 (setq alg (calc-do-alg-entry "" "Replace selection with: ")) 651 (setq alg (calc-do-alg-entry "" "Replace selection with: " nil
652 'calc-selection-history))
649 (and alg 653 (and alg
650 (progn 654 (progn
651 (setq alg (calc-encase-atoms (car alg))) 655 (setq alg (calc-encase-atoms (car alg)))
@@ -765,7 +769,8 @@
765 (car (calc-do-alg-entry "" 769 (car (calc-do-alg-entry ""
766 (if divide 770 (if divide
767 "Divide both sides by: " 771 "Divide both sides by: "
768 "Multiply both sides by: "))))) 772 "Multiply both sides by: ")
773 nil 'calc-selection-history))))
769 (and alg 774 (and alg
770 (progn 775 (progn
771 (if (and (or (eq func '/) 776 (if (and (or (eq func '/)
@@ -830,7 +835,8 @@
830 (car (calc-do-alg-entry "" 835 (car (calc-do-alg-entry ""
831 (if subtract 836 (if subtract
832 "Subtract from both sides: " 837 "Subtract from both sides: "
833 "Add to both sides: "))))) 838 "Add to both sides: ")
839 nil 'calc-selection-history))))
834 (and alg 840 (and alg
835 (progn 841 (progn
836 (if (and (assq func calc-tweak-eqn-table) 842 (if (and (assq func calc-tweak-eqn-table)
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el
index c251d28acfb..bbb80bebc1d 100644
--- a/lisp/calc/calc.el
+++ b/lisp/calc/calc.el
@@ -886,7 +886,6 @@ If nil, selections displayed but ignored.")
886 "Formatting function used for non-decimal numbers.") 886 "Formatting function used for non-decimal numbers.")
887 887
888(defvar calc-last-kill nil) ; Last number killed in calc-mode. 888(defvar calc-last-kill nil) ; Last number killed in calc-mode.
889(defvar calc-previous-alg-entry nil) ; Previous algebraic entry.
890(defvar calc-dollar-values nil) ; Values to be used for '$'. 889(defvar calc-dollar-values nil) ; Values to be used for '$'.
891(defvar calc-dollar-used nil) ; Highest order of '$' that occurred. 890(defvar calc-dollar-used nil) ; Highest order of '$' that occurred.
892(defvar calc-hashes-used nil) ; Highest order of '#' that occurred. 891(defvar calc-hashes-used nil) ; Highest order of '#' that occurred.
diff --git a/lisp/calc/calcalg3.el b/lisp/calc/calcalg3.el
index b1c5b80b17b..4c0134263d9 100644
--- a/lisp/calc/calcalg3.el
+++ b/lisp/calc/calcalg3.el
@@ -103,6 +103,9 @@
103(defvar calc-curve-model) 103(defvar calc-curve-model)
104(defvar calc-curve-coefnames) 104(defvar calc-curve-coefnames)
105 105
106(defvar calc-curve-fit-history nil
107 "History for calc-curve-fit.")
108
106(defun calc-curve-fit (arg &optional calc-curve-model 109(defun calc-curve-fit (arg &optional calc-curve-model
107 calc-curve-coefnames calc-curve-varnames) 110 calc-curve-coefnames calc-curve-varnames)
108 (interactive "P") 111 (interactive "P")
@@ -259,7 +262,8 @@
259 (let* ((calc-dollar-values calc-arg-values) 262 (let* ((calc-dollar-values calc-arg-values)
260 (calc-dollar-used 0) 263 (calc-dollar-used 0)
261 (calc-hashes-used 0)) 264 (calc-hashes-used 0))
262 (setq calc-curve-model (calc-do-alg-entry "" "Model formula: ")) 265 (setq calc-curve-model (calc-do-alg-entry "" "Model formula: "
266 nil 'calc-curve-fit-history))
263 (if (/= (length calc-curve-model) 1) 267 (if (/= (length calc-curve-model) 1)
264 (error "Bad format")) 268 (error "Bad format"))
265 (setq calc-curve-model (car calc-curve-model) 269 (setq calc-curve-model (car calc-curve-model)
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 15efbc5ab91..15f43080aff 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1087,18 +1087,24 @@ Show the buffer in another window, but don't select it."
1087;; Packages will update this variable, so make it available. 1087;; Packages will update this variable, so make it available.
1088;;;###autoload 1088;;;###autoload
1089(defvar customize-package-emacs-version-alist nil 1089(defvar customize-package-emacs-version-alist nil
1090 "Alist mapping versions of Emacs to versions of a package. 1090 "Alist mapping versions of a package to Emacs versions.
1091These package versions are listed in the :package-version 1091We use this for packages that have their own names, but are released
1092keyword used in `defcustom', `defgroup', and `defface'. Its 1092as part of Emacs itself.
1093elements look like this: 1093
1094Each elements looks like this:
1094 1095
1095 (PACKAGE (PVERSION . EVERSION)...) 1096 (PACKAGE (PVERSION . EVERSION)...)
1096 1097
1097For each PACKAGE, which is a symbol, there are one or more 1098Here PACKAGE is the name of a package, as a symbol. After
1098elements that contain a package version PVERSION with an 1099PACKAGE come one or more elements, each associating a
1099associated Emacs version EVERSION. These versions are strings. 1100package version PVERSION with the first Emacs version
1100For example, the MH-E package updates this alist with the 1101EVERSION in which it (or a subsequent version of PACKAGE)
1101following: 1102was first released. Both PVERSION and EVERSION are strings.
1103PVERSION should be a string that this package used in
1104the :package-version keyword for `defcustom', `defgroup',
1105and `defface'.
1106
1107For example, the MH-E package updates this alist as follows:
1102 1108
1103 (add-to-list 'customize-package-emacs-version-alist 1109 (add-to-list 'customize-package-emacs-version-alist
1104 '(MH-E (\"6.0\" . \"22.1\") (\"6.1\" . \"22.1\") 1110 '(MH-E (\"6.0\" . \"22.1\") (\"6.1\" . \"22.1\")
@@ -1173,11 +1179,10 @@ that were added or redefined since that version."
1173 since-version)))) 1179 since-version))))
1174 1180
1175(defun customize-package-emacs-version (symbol package-version) 1181(defun customize-package-emacs-version (symbol package-version)
1176 "Return Emacs version of SYMBOL. 1182 "Return the Emacs version in which SYMBOL's meaning last changed.
1177PACKAGE-VERSION has the form (PACKAGE . VERSION). The VERSION of 1183PACKAGE-VERSION has the form (PACKAGE . VERSION). We use
1178PACKAGE is looked up in the associated list
1179`customize-package-emacs-version-alist' to find the version of 1184`customize-package-emacs-version-alist' to find the version of
1180Emacs that is associated with it." 1185Emacs that is associated with version VERSION of PACKAGE."
1181 (let (package-versions emacs-version) 1186 (let (package-versions emacs-version)
1182 ;; Use message instead of error since we want user to be able to 1187 ;; Use message instead of error since we want user to be able to
1183 ;; see the rest of the symbols even if a package author has 1188 ;; see the rest of the symbols even if a package author has
@@ -1193,9 +1198,9 @@ Emacs that is associated with it."
1193 (cdr package-version) 1198 (cdr package-version)
1194 "customize-package-emacs-version-alist"))) 1199 "customize-package-emacs-version-alist")))
1195 (t 1200 (t
1196 (message "Package %s neglected to update %s" 1201 (message "Package %s version %s lists no corresponding Emacs version"
1197 (car package-version) 1202 (car package-version)
1198 "customize-package-emacs-version-alist"))) 1203 (cdr package-version))))
1199 emacs-version)) 1204 emacs-version))
1200 1205
1201(defun customize-version-lessp (version1 version2) 1206(defun customize-version-lessp (version1 version2)
@@ -2668,7 +2673,18 @@ Otherwise, look up symbol in `custom-guess-type-alist'."
2668 (error nil)) 2673 (error nil))
2669 (cond 2674 (cond
2670 ((eq (caar tmp) 'user) 'saved) 2675 ((eq (caar tmp) 'user) 'saved)
2671 ((eq (caar tmp) 'changed) 'changed) 2676 ((eq (caar tmp) 'changed)
2677 (if (condition-case nil
2678 (and (null comment)
2679 (equal value
2680 (eval
2681 (car (get symbol 'standard-value)))))
2682 (error nil))
2683 ;; The value was originally set outside
2684 ;; custom, but it was set to the standard
2685 ;; value (probably an autoloaded defcustom).
2686 'standard
2687 'changed))
2672 (t 'themed)) 2688 (t 'themed))
2673 'changed)) 2689 'changed))
2674 ((setq tmp (get symbol 'standard-value)) 2690 ((setq tmp (get symbol 'standard-value))
@@ -4433,10 +4449,13 @@ The format is suitable for use with `easy-menu-define'."
4433 map) 4449 map)
4434 "Keymap for `custom-mode'.") 4450 "Keymap for `custom-mode'.")
4435 4451
4436(defun custom-no-edit () 4452(defun custom-no-edit (pos &optional event)
4437 "Refuse to allow editing of Custom buffer." 4453 "Invoke button at POS, or refuse to allow editing of Custom buffer."
4438 (interactive) 4454 (interactive "@d")
4439 (error "You can't edit this part of the Custom buffer")) 4455 (let ((button (get-char-property pos 'button)))
4456 (if button
4457 (widget-apply-action button event)
4458 (error "You can't edit this part of the Custom buffer"))))
4440 4459
4441(easy-menu-define Custom-mode-menu 4460(easy-menu-define Custom-mode-menu
4442 custom-mode-map 4461 custom-mode-map
diff --git a/lisp/custom.el b/lisp/custom.el
index c0169812d36..2e5c0a59d9b 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -558,9 +558,10 @@ LOAD should be either a library file name, or a feature name."
558 (unless (member load loads) 558 (unless (member load loads)
559 (put symbol 'custom-loads (cons (purecopy load) loads))))) 559 (put symbol 'custom-loads (cons (purecopy load) loads)))))
560 560
561(defun custom-autoload (symbol load) 561(defun custom-autoload (symbol load &optional noset)
562 "Mark SYMBOL as autoloaded custom variable and add dependency LOAD." 562 "Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
563 (put symbol 'custom-autoload t) 563If NOSET is non-nil, don't bother autoloading LOAD when setting the variable."
564 (put symbol 'custom-autoload (if noset 'noset t))
564 (custom-add-load symbol load)) 565 (custom-add-load symbol load))
565 566
566;; This test is also in the C code of `user-variable-p'. 567;; This test is also in the C code of `user-variable-p'.
@@ -699,10 +700,10 @@ Return non-nil iff the `customized-value' property actually changed."
699 (customized (get symbol 'customized-value)) 700 (customized (get symbol 'customized-value))
700 (old (or (get symbol 'saved-value) (get symbol 'standard-value)))) 701 (old (or (get symbol 'saved-value) (get symbol 'standard-value))))
701 ;; Mark default value as set iff different from old value. 702 ;; Mark default value as set iff different from old value.
702 (if (or (null old) 703 (if (not (and old
703 (not (equal value (condition-case nil 704 (equal value (condition-case nil
704 (eval (car old)) 705 (eval (car old))
705 (error nil))))) 706 (error nil)))))
706 (progn (put symbol 'customized-value (list (custom-quote value))) 707 (progn (put symbol 'customized-value (list (custom-quote value)))
707 (custom-push-theme 'theme-value symbol 'user 'set 708 (custom-push-theme 'theme-value symbol 'user 'set
708 (custom-quote value))) 709 (custom-quote value)))
@@ -827,13 +828,9 @@ See `custom-known-themes' for a list of known themes."
827 (if (and (eq prop 'theme-value) 828 (if (and (eq prop 'theme-value)
828 (boundp symbol)) 829 (boundp symbol))
829 (let ((sv (get symbol 'standard-value))) 830 (let ((sv (get symbol 'standard-value)))
830 (when (and (null sv) (custom-variable-p symbol)) 831 (unless (and sv
831 (custom-load-symbol symbol) 832 (equal (eval (car sv)) (symbol-value symbol)))
832 (setq sv (get symbol 'standard-value))) 833 (setq old (list (list 'changed (symbol-value symbol))))))
833 (if (or (null sv)
834 (not (equal (eval (car (get symbol 'standard-value)))
835 (symbol-value symbol))))
836 (setq old (list (list 'changed (symbol-value symbol))))))
837 (if (and (facep symbol) 834 (if (and (facep symbol)
838 (not (face-spec-match-p symbol (get symbol 'face-defface-spec)))) 835 (not (face-spec-match-p symbol (get symbol 'face-defface-spec))))
839 (setq old (list (list 'changed (list 836 (setq old (list (list 'changed (list
@@ -907,6 +904,10 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
907 (when requests 904 (when requests
908 (put symbol 'custom-requests requests) 905 (put symbol 'custom-requests requests)
909 (mapc 'require requests)) 906 (mapc 'require requests))
907 (unless (or (get symbol 'standard-value)
908 (memq (get symbol 'custom-autoload) '(nil noset)))
909 ;; This symbol needs to be autoloaded, even just for a `set'.
910 (custom-load-symbol symbol))
910 (setq set (or (get symbol 'custom-set) 'custom-set-default)) 911 (setq set (or (get symbol 'custom-set) 'custom-set-default))
911 (put symbol 'saved-value (list value)) 912 (put symbol 'saved-value (list value))
912 (put symbol 'saved-variable-comment comment) 913 (put symbol 'saved-variable-comment comment)
@@ -926,6 +927,8 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
926 (setq args (cdr args)) 927 (setq args (cdr args))
927 (and (or now (default-boundp symbol)) 928 (and (or now (default-boundp symbol))
928 (put symbol 'variable-comment comment))) 929 (put symbol 'variable-comment comment)))
930 ;; I believe this is dead-code, because the `sort' code above would
931 ;; have burped before we could get here. --Stef
929 ;; Old format, a plist of SYMBOL VALUE pairs. 932 ;; Old format, a plist of SYMBOL VALUE pairs.
930 (message "Warning: old format `custom-set-variables'") 933 (message "Warning: old format `custom-set-variables'")
931 (ding) 934 (ding)
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index b4cb8933194..0942c6d1dff 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -745,19 +745,22 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.")
745 ;;; We don't recognize the file as compressed, so compress it. 745 ;;; We don't recognize the file as compressed, so compress it.
746 ;;; Try gzip; if we don't have that, use compress. 746 ;;; Try gzip; if we don't have that, use compress.
747 (condition-case nil 747 (condition-case nil
748 (if (not (dired-check-process (concat "Compressing " file) 748 (let ((out-name (concat file ".gz")))
749 "gzip" "-f" file)) 749 (and (or (not (file-exists-p out-name))
750 (let ((out-name 750 (y-or-n-p
751 (if (file-exists-p (concat file ".gz")) 751 (format "File %s already exists. Really compress? "
752 (concat file ".gz") 752 out-name)))
753 (concat file ".z")))) 753 (not (dired-check-process (concat "Compressing " file)
754 ;; Rename the compressed file to NEWNAME 754 "gzip" "-f" file))
755 ;; if it hasn't got that name already. 755 (or (file-exists-p out-name)
756 (if (and newname (not (equal newname out-name))) 756 (setq out-name (concat file ".z")))
757 (progn 757 ;; Rename the compressed file to NEWNAME
758 (rename-file out-name newname t) 758 ;; if it hasn't got that name already.
759 newname) 759 (if (and newname (not (equal newname out-name)))
760 out-name))) 760 (progn
761 (rename-file out-name newname t)
762 newname)
763 out-name)))
761 (file-error 764 (file-error
762 (if (not (dired-check-process (concat "Compressing " file) 765 (if (not (dired-check-process (concat "Compressing " file)
763 "compress" "-f" file)) 766 "compress" "-f" file))
diff --git a/lisp/dired.el b/lisp/dired.el
index 64b73184397..59fb21a004f 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1260,6 +1260,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST."
1260 (define-key map "\C-tc" 'tumme-dired-comment-files) 1260 (define-key map "\C-tc" 'tumme-dired-comment-files)
1261 (define-key map "\C-tf" 'tumme-mark-tagged-files) 1261 (define-key map "\C-tf" 'tumme-mark-tagged-files)
1262 (define-key map "\C-t\C-t" 'tumme-dired-insert-marked-thumbs) 1262 (define-key map "\C-t\C-t" 'tumme-dired-insert-marked-thumbs)
1263 (define-key map "\C-te" 'tumme-dired-edit-comment-and-tags)
1263 1264
1264 ;; Make menu bar items. 1265 ;; Make menu bar items.
1265 1266
diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el
index 2d730c8af0f..5fb6d5a0f6b 100644
--- a/lisp/dos-w32.el
+++ b/lisp/dos-w32.el
@@ -88,10 +88,13 @@ against the file name, and TYPE is nil for text, t for binary.")
88(setq-default buffer-file-coding-system 'undecided-dos) 88(setq-default buffer-file-coding-system 'undecided-dos)
89 89
90(defun find-buffer-file-type-coding-system (command) 90(defun find-buffer-file-type-coding-system (command)
91 "Choose a coding system for a file operation. 91 "Choose a coding system for a file operation in COMMAND.
92If COMMAND is `insert-file-contents', the coding system is chosen based 92COMMAND is a list that specifies the operation, and I/O primitive as its
93upon the filename, the contents of `untranslated-filesystem-list' and 93CAR, and the arguments that might be given to that operation as its CDR.
94`file-name-buffer-file-type-alist', and whether the file exists: 94If operation is `insert-file-contents', the coding system is chosen based
95upon the filename (the CAR of the arguments beyond the operation), the contents
96of `untranslated-filesystem-list' and `file-name-buffer-file-type-alist',
97and whether the file exists:
95 98
96 If it matches in `untranslated-filesystem-list': 99 If it matches in `untranslated-filesystem-list':
97 If the file exists: `undecided' 100 If the file exists: `undecided'
@@ -103,7 +106,7 @@ upon the filename, the contents of `untranslated-filesystem-list' and
103 If the file exists: `undecided' 106 If the file exists: `undecided'
104 If the file does not exist: default-buffer-file-coding-system 107 If the file does not exist: default-buffer-file-coding-system
105 108
106If COMMAND is `write-region', the coding system is chosen based upon 109If operation is `write-region', the coding system is chosen based upon
107the value of `buffer-file-coding-system' and `buffer-file-type'. If 110the value of `buffer-file-coding-system' and `buffer-file-type'. If
108`buffer-file-coding-system' is non-nil, its value is used. If it is 111`buffer-file-coding-system' is non-nil, its value is used. If it is
109nil and `buffer-file-type' is t, the coding system is `no-conversion'. 112nil and `buffer-file-type' is t, the coding system is `no-conversion'.
@@ -126,6 +129,13 @@ set to the appropriate coding system, and the value of
126 (undecided nil) (undecided-unix nil)) 129 (undecided nil) (undecided-unix nil))
127 (cond ((eq op 'insert-file-contents) 130 (cond ((eq op 'insert-file-contents)
128 (setq target (nth 1 command)) 131 (setq target (nth 1 command))
132 ;; If TARGET is a cons cell, it has the form (FILENAME . BUFFER),
133 ;; where BUFFER is a buffer into which the file was already read,
134 ;; but its contents were not yet decoded. (This form of the
135 ;; arguments is used, e.g., in arc-mode.el.) This function
136 ;; doesn't care about the contents, it only looks at the file's
137 ;; name, which is the CAR of the cons cell.
138 (if (consp target) (setq target (car target)))
129 ;; First check for a file name that indicates 139 ;; First check for a file name that indicates
130 ;; it is truly binary. 140 ;; it is truly binary.
131 (setq binary (find-buffer-file-type target)) 141 (setq binary (find-buffer-file-type target))
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el
index 912f6b2d77f..d1710dba7a4 100644
--- a/lisp/emacs-lisp/authors.el
+++ b/lisp/emacs-lisp/authors.el
@@ -92,6 +92,7 @@ files.")
92 "Kai.Grossjohann@Cs.Uni-Dortmund.De" 92 "Kai.Grossjohann@Cs.Uni-Dortmund.De"
93 "Kai.Grossjohann@Gmx.Net") 93 "Kai.Grossjohann@Gmx.Net")
94 ("Karl Berry" "K. Berry") 94 ("Karl Berry" "K. Berry")
95 ("K,Aa(Broly L$,1 q(Brentey" "K,Aa(Broly L,Bu(Brentey" "L$,1 q(Brentey K,Aa(Broly")
95 ("Kazushi Marukawa" "Kazushi") 96 ("Kazushi Marukawa" "Kazushi")
96 ("Ken Manheimer" "Kenneth Manheimer") 97 ("Ken Manheimer" "Kenneth Manheimer")
97 ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA") 98 ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA")
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 4000b4da282..da85cbd817a 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -124,7 +124,10 @@ or macro definition or a defcustom)."
124 ) 124 )
125 `(progn 125 `(progn
126 (defvar ,varname ,init ,doc) 126 (defvar ,varname ,init ,doc)
127 (custom-autoload ',varname ,file)))) 127 (custom-autoload ',varname ,file
128 ,(condition-case nil
129 (null (cadr (memq :set form)))
130 (error nil))))))
128 131
129 ((eq car 'defgroup) 132 ((eq car 'defgroup)
130 ;; In Emacs this is normally handled separately by cus-dep.el, but for 133 ;; In Emacs this is normally handled separately by cus-dep.el, but for
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 41c940f1cec..50b7d8dc9ef 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -226,7 +226,12 @@ The search is done in the source for library LIBRARY."
226 (regexp-symbol (cdr (assq type find-function-regexp-alist)))) 226 (regexp-symbol (cdr (assq type find-function-regexp-alist))))
227 (with-current-buffer (find-file-noselect filename) 227 (with-current-buffer (find-file-noselect filename)
228 (let ((regexp (format (symbol-value regexp-symbol) 228 (let ((regexp (format (symbol-value regexp-symbol)
229 (regexp-quote (symbol-name symbol)))) 229 ;; Entry for ` (backquote) macro in loaddefs.el,
230 ;; (defalias (quote \`)..., has a \ but
231 ;; (symbol-name symbol) doesn't. Add an
232 ;; optional \ to catch this.
233 (concat "\\\\?"
234 (regexp-quote (symbol-name symbol)))))
230 (case-fold-search)) 235 (case-fold-search))
231 (with-syntax-table emacs-lisp-mode-syntax-table 236 (with-syntax-table emacs-lisp-mode-syntax-table
232 (goto-char (point-min)) 237 (goto-char (point-min))
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 245c274abd3..b16ae17eda0 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -305,11 +305,23 @@ If the value is nil, use a shifted prefix key to inhibit the override."
305 (const :tag "No delay" nil)) 305 (const :tag "No delay" nil))
306 :group 'cua) 306 :group 'cua)
307 307
308(defcustom cua-delete-selection t
309 "*If non-nil, typed text replaces text in the active selection."
310 :type '(choice (const :tag "Disabled" nil)
311 (other :tag "Enabled" t))
312 :group 'cua)
313
308(defcustom cua-keep-region-after-copy nil 314(defcustom cua-keep-region-after-copy nil
309 "If non-nil, don't deselect the region after copying." 315 "If non-nil, don't deselect the region after copying."
310 :type 'boolean 316 :type 'boolean
311 :group 'cua) 317 :group 'cua)
312 318
319(defcustom cua-toggle-set-mark t
320 "*In non-nil, the `cua-set-mark' command toggles the mark."
321 :type '(choice (const :tag "Disabled" nil)
322 (other :tag "Enabled" t))
323 :group 'cua)
324
313(defcustom cua-enable-register-prefix 'not-ctrl-u 325(defcustom cua-enable-register-prefix 'not-ctrl-u
314 "*If non-nil, registers are supported via numeric prefix arg. 326 "*If non-nil, registers are supported via numeric prefix arg.
315If the value is t, any numeric prefix arg in the range 0 to 9 will be 327If the value is t, any numeric prefix arg in the range 0 to 9 will be
@@ -391,7 +403,8 @@ and after the region marked by the rectangle to search."
391On non-window systems, always use the meta modifier. 403On non-window systems, always use the meta modifier.
392Must be set prior to enabling CUA." 404Must be set prior to enabling CUA."
393 :type '(choice (const :tag "Meta key" meta) 405 :type '(choice (const :tag "Meta key" meta)
394 (const :tag "Hyper key" hyper ) 406 (const :tag "Alt key" alt)
407 (const :tag "Hyper key" hyper)
395 (const :tag "Super key" super)) 408 (const :tag "Super key" super))
396 :group 'cua) 409 :group 'cua)
397 410
@@ -783,7 +796,7 @@ Save a copy in register 0 if `cua-delete-copy-to-register-0' is non-nil."
783(defun cua-replace-region () 796(defun cua-replace-region ()
784 "Replace the active region with the character you type." 797 "Replace the active region with the character you type."
785 (interactive) 798 (interactive)
786 (let ((not-empty (cua-delete-region))) 799 (let ((not-empty (and cua-delete-selection (cua-delete-region))))
787 (unless (eq this-original-command this-command) 800 (unless (eq this-original-command this-command)
788 (let ((overwrite-mode 801 (let ((overwrite-mode
789 (and overwrite-mode 802 (and overwrite-mode
@@ -1001,7 +1014,7 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark."
1001 (arg 1014 (arg
1002 (setq this-command 'pop-to-mark-command) 1015 (setq this-command 'pop-to-mark-command)
1003 (pop-to-mark-command)) 1016 (pop-to-mark-command))
1004 (mark-active 1017 ((and cua-toggle-set-mark mark-active)
1005 (cua--deactivate) 1018 (cua--deactivate)
1006 (message "Mark Cleared")) 1019 (message "Mark Cleared"))
1007 (t 1020 (t
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el
index 43a66fd0e3e..7db3cca8fae 100644
--- a/lisp/emulation/cua-rect.el
+++ b/lisp/emulation/cua-rect.el
@@ -1361,6 +1361,7 @@ With prefix arg, indent to that column."
1361 (interactive) 1361 (interactive)
1362 (let ((M (cond ((eq cua--rectangle-modifier-key 'hyper) " H-") 1362 (let ((M (cond ((eq cua--rectangle-modifier-key 'hyper) " H-")
1363 ((eq cua--rectangle-modifier-key 'super) " s-") 1363 ((eq cua--rectangle-modifier-key 'super) " s-")
1364 ((eq cua--rectangle-modifier-key 'alt) " A-")
1364 (t " M-")))) 1365 (t " M-"))))
1365 (message 1366 (message
1366 (concat (if help "C-?:help" "") 1367 (concat (if help "C-?:help" "")
diff --git a/lisp/files.el b/lisp/files.el
index 315c11de529..2b1446683be 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -44,7 +44,7 @@
44 44
45 45
46(defcustom delete-auto-save-files t 46(defcustom delete-auto-save-files t
47 "*Non-nil means delete auto-save file when a buffer is saved or killed. 47 "Non-nil means delete auto-save file when a buffer is saved or killed.
48 48
49Note that the auto-save file will not be deleted if the buffer is killed 49Note that the auto-save file will not be deleted if the buffer is killed
50when it has unsaved changes." 50when it has unsaved changes."
@@ -53,7 +53,7 @@ when it has unsaved changes."
53 53
54(defcustom directory-abbrev-alist 54(defcustom directory-abbrev-alist
55 nil 55 nil
56 "*Alist of abbreviations for file directories. 56 "Alist of abbreviations for file directories.
57A list of elements of the form (FROM . TO), each meaning to replace 57A list of elements of the form (FROM . TO), each meaning to replace
58FROM with TO when it appears in a directory name. This replacement is 58FROM with TO when it appears in a directory name. This replacement is
59done when setting up the default directory of a newly visited file. 59done when setting up the default directory of a newly visited file.
@@ -74,7 +74,7 @@ the name it is linked to."
74 74
75;; Turn off backup files on VMS since it has version numbers. 75;; Turn off backup files on VMS since it has version numbers.
76(defcustom make-backup-files (not (eq system-type 'vax-vms)) 76(defcustom make-backup-files (not (eq system-type 'vax-vms))
77 "*Non-nil means make a backup of a file the first time it is saved. 77 "Non-nil means make a backup of a file the first time it is saved.
78This can be done by renaming the file or by copying. 78This can be done by renaming the file or by copying.
79 79
80Renaming means that Emacs renames the existing file so that it is a 80Renaming means that Emacs renames the existing file so that it is a
@@ -103,20 +103,20 @@ But it is local only if you make it local.")
103(put 'backup-inhibited 'permanent-local t) 103(put 'backup-inhibited 'permanent-local t)
104 104
105(defcustom backup-by-copying nil 105(defcustom backup-by-copying nil
106 "*Non-nil means always use copying to create backup files. 106 "Non-nil means always use copying to create backup files.
107See documentation of variable `make-backup-files'." 107See documentation of variable `make-backup-files'."
108 :type 'boolean 108 :type 'boolean
109 :group 'backup) 109 :group 'backup)
110 110
111(defcustom backup-by-copying-when-linked nil 111(defcustom backup-by-copying-when-linked nil
112 "*Non-nil means use copying to create backups for files with multiple names. 112 "Non-nil means use copying to create backups for files with multiple names.
113This causes the alternate names to refer to the latest version as edited. 113This causes the alternate names to refer to the latest version as edited.
114This variable is relevant only if `backup-by-copying' is nil." 114This variable is relevant only if `backup-by-copying' is nil."
115 :type 'boolean 115 :type 'boolean
116 :group 'backup) 116 :group 'backup)
117 117
118(defcustom backup-by-copying-when-mismatch nil 118(defcustom backup-by-copying-when-mismatch nil
119 "*Non-nil means create backups by copying if this preserves owner or group. 119 "Non-nil means create backups by copying if this preserves owner or group.
120Renaming may still be used (subject to control of other variables) 120Renaming may still be used (subject to control of other variables)
121when it would not result in changing the owner or group of the file; 121when it would not result in changing the owner or group of the file;
122that is, for files which are owned by you and whose group matches 122that is, for files which are owned by you and whose group matches
@@ -126,7 +126,7 @@ This variable is relevant only if `backup-by-copying' is nil."
126 :group 'backup) 126 :group 'backup)
127 127
128(defcustom backup-by-copying-when-privileged-mismatch 200 128(defcustom backup-by-copying-when-privileged-mismatch 200
129 "*Non-nil means create backups by copying to preserve a privileged owner. 129 "Non-nil means create backups by copying to preserve a privileged owner.
130Renaming may still be used (subject to control of other variables) 130Renaming may still be used (subject to control of other variables)
131when it would not result in changing the owner of the file or if the owner 131when it would not result in changing the owner of the file or if the owner
132has a user id greater than the value of this variable. This is useful 132has a user id greater than the value of this variable. This is useful
@@ -142,7 +142,7 @@ This variable is relevant only if `backup-by-copying' and
142Called with an absolute file name as argument, it returns t to enable backup.") 142Called with an absolute file name as argument, it returns t to enable backup.")
143 143
144(defcustom buffer-offer-save nil 144(defcustom buffer-offer-save nil
145 "*Non-nil in a buffer means always offer to save buffer on exit. 145 "Non-nil in a buffer means always offer to save buffer on exit.
146Do so even if the buffer is not visiting a file. 146Do so even if the buffer is not visiting a file.
147Automatically local in all buffers." 147Automatically local in all buffers."
148 :type 'boolean 148 :type 'boolean
@@ -150,7 +150,7 @@ Automatically local in all buffers."
150(make-variable-buffer-local 'buffer-offer-save) 150(make-variable-buffer-local 'buffer-offer-save)
151 151
152(defcustom find-file-existing-other-name t 152(defcustom find-file-existing-other-name t
153 "*Non-nil means find a file under alternative names, in existing buffers. 153 "Non-nil means find a file under alternative names, in existing buffers.
154This means if any existing buffer is visiting the file you want 154This means if any existing buffer is visiting the file you want
155under another name, you get the existing buffer instead of a new buffer." 155under another name, you get the existing buffer instead of a new buffer."
156 :type 'boolean 156 :type 'boolean
@@ -165,7 +165,7 @@ both at the file level and at the levels of the containing directories."
165(put 'find-file-visit-truename 'safe-local-variable 'boolean) 165(put 'find-file-visit-truename 'safe-local-variable 'boolean)
166 166
167(defcustom revert-without-query nil 167(defcustom revert-without-query nil
168 "*Specify which files should be reverted without query. 168 "Specify which files should be reverted without query.
169The value is a list of regular expressions. 169The value is a list of regular expressions.
170If the file name matches one of these regular expressions, 170If the file name matches one of these regular expressions,
171then `revert-buffer' reverts the file without querying 171then `revert-buffer' reverts the file without querying
@@ -226,7 +226,7 @@ have fast storage with limited space, such as a RAM disk."
226 "Regexp recognizing file names which aren't allowed by the filesystem.") 226 "Regexp recognizing file names which aren't allowed by the filesystem.")
227 227
228(defcustom file-precious-flag nil 228(defcustom file-precious-flag nil
229 "*Non-nil means protect against I/O errors while saving files. 229 "Non-nil means protect against I/O errors while saving files.
230Some modes set this non-nil in particular buffers. 230Some modes set this non-nil in particular buffers.
231 231
232This feature works by writing the new contents into a temporary file 232This feature works by writing the new contents into a temporary file
@@ -241,7 +241,7 @@ breaks any hard links between it and other files."
241 :group 'backup) 241 :group 'backup)
242 242
243(defcustom version-control nil 243(defcustom version-control nil
244 "*Control use of version numbers for backup files. 244 "Control use of version numbers for backup files.
245t means make numeric backup versions unconditionally. 245t means make numeric backup versions unconditionally.
246nil means make them for files that have some already. 246nil means make them for files that have some already.
247`never' means do not make them." 247`never' means do not make them."
@@ -254,13 +254,13 @@ nil means make them for files that have some already.
254 '(lambda (x) (or (booleanp x) (equal x 'never)))) 254 '(lambda (x) (or (booleanp x) (equal x 'never))))
255 255
256(defcustom dired-kept-versions 2 256(defcustom dired-kept-versions 2
257 "*When cleaning directory, number of versions to keep." 257 "When cleaning directory, number of versions to keep."
258 :type 'integer 258 :type 'integer
259 :group 'backup 259 :group 'backup
260 :group 'dired) 260 :group 'dired)
261 261
262(defcustom delete-old-versions nil 262(defcustom delete-old-versions nil
263 "*If t, delete excess backup versions silently. 263 "If t, delete excess backup versions silently.
264If nil, ask confirmation. Any other value prevents any trimming." 264If nil, ask confirmation. Any other value prevents any trimming."
265 :type '(choice (const :tag "Delete" t) 265 :type '(choice (const :tag "Delete" t)
266 (const :tag "Ask" nil) 266 (const :tag "Ask" nil)
@@ -268,20 +268,20 @@ If nil, ask confirmation. Any other value prevents any trimming."
268 :group 'backup) 268 :group 'backup)
269 269
270(defcustom kept-old-versions 2 270(defcustom kept-old-versions 2
271 "*Number of oldest versions to keep when a new numbered backup is made." 271 "Number of oldest versions to keep when a new numbered backup is made."
272 :type 'integer 272 :type 'integer
273 :group 'backup) 273 :group 'backup)
274(put 'kept-old-versions 'safe-local-variable 'integerp) 274(put 'kept-old-versions 'safe-local-variable 'integerp)
275 275
276(defcustom kept-new-versions 2 276(defcustom kept-new-versions 2
277 "*Number of newest versions to keep when a new numbered backup is made. 277 "Number of newest versions to keep when a new numbered backup is made.
278Includes the new backup. Must be > 0" 278Includes the new backup. Must be > 0"
279 :type 'integer 279 :type 'integer
280 :group 'backup) 280 :group 'backup)
281(put 'kept-new-versions 'safe-local-variable 'integerp) 281(put 'kept-new-versions 'safe-local-variable 'integerp)
282 282
283(defcustom require-final-newline nil 283(defcustom require-final-newline nil
284 "*Whether to add a newline automatically at the end of the file. 284 "Whether to add a newline automatically at the end of the file.
285 285
286A value of t means do this only when the file is about to be saved. 286A value of t means do this only when the file is about to be saved.
287A value of `visit' means do this right after the file is visited. 287A value of `visit' means do this right after the file is visited.
@@ -299,7 +299,7 @@ from `mode-require-final-newline'."
299 :group 'editing-basics) 299 :group 'editing-basics)
300 300
301(defcustom mode-require-final-newline t 301(defcustom mode-require-final-newline t
302 "*Whether to add a newline at end of file, in certain major modes. 302 "Whether to add a newline at end of file, in certain major modes.
303Those modes set `require-final-newline' to this value when you enable them. 303Those modes set `require-final-newline' to this value when you enable them.
304They do so because they are often used for files that are supposed 304They do so because they are often used for files that are supposed
305to end in newlines, and the question is how to arrange that. 305to end in newlines, and the question is how to arrange that.
@@ -322,12 +322,12 @@ a final newline, whenever you save a file that really needs one."
322 :version "22.1") 322 :version "22.1")
323 323
324(defcustom auto-save-default t 324(defcustom auto-save-default t
325 "*Non-nil says by default do auto-saving of every file-visiting buffer." 325 "Non-nil says by default do auto-saving of every file-visiting buffer."
326 :type 'boolean 326 :type 'boolean
327 :group 'auto-save) 327 :group 'auto-save)
328 328
329(defcustom auto-save-visited-file-name nil 329(defcustom auto-save-visited-file-name nil
330 "*Non-nil says auto-save a buffer in the file it is visiting, when practical. 330 "Non-nil says auto-save a buffer in the file it is visiting, when practical.
331Normally auto-save files are written under other names." 331Normally auto-save files are written under other names."
332 :type 'boolean 332 :type 'boolean
333 :group 'auto-save) 333 :group 'auto-save)
@@ -337,7 +337,7 @@ Normally auto-save files are written under other names."
337 ;; Don't put "\\2" inside expand-file-name, since it will be 337 ;; Don't put "\\2" inside expand-file-name, since it will be
338 ;; transformed to "/2" on DOS/Windows. 338 ;; transformed to "/2" on DOS/Windows.
339 ,(concat temporary-file-directory "\\2") t)) 339 ,(concat temporary-file-directory "\\2") t))
340 "*Transforms to apply to buffer file name before making auto-save file name. 340 "Transforms to apply to buffer file name before making auto-save file name.
341Each transform is a list (REGEXP REPLACEMENT UNIQUIFY): 341Each transform is a list (REGEXP REPLACEMENT UNIQUIFY):
342REGEXP is a regular expression to match against the file name. 342REGEXP is a regular expression to match against the file name.
343If it matches, `replace-match' is used to replace the 343If it matches, `replace-match' is used to replace the
@@ -364,19 +364,19 @@ ignored."
364 :version "21.1") 364 :version "21.1")
365 365
366(defcustom save-abbrevs t 366(defcustom save-abbrevs t
367 "*Non-nil means save word abbrevs too when files are saved. 367 "Non-nil means save word abbrevs too when files are saved.
368If `silently', don't ask the user before saving." 368If `silently', don't ask the user before saving."
369 :type '(choice (const t) (const nil) (const silently)) 369 :type '(choice (const t) (const nil) (const silently))
370 :group 'abbrev) 370 :group 'abbrev)
371 371
372(defcustom find-file-run-dired t 372(defcustom find-file-run-dired t
373 "*Non-nil means allow `find-file' to visit directories. 373 "Non-nil means allow `find-file' to visit directories.
374To visit the directory, `find-file' runs `find-directory-functions'." 374To visit the directory, `find-file' runs `find-directory-functions'."
375 :type 'boolean 375 :type 'boolean
376 :group 'find-file) 376 :group 'find-file)
377 377
378(defcustom find-directory-functions '(cvs-dired-noselect dired-noselect) 378(defcustom find-directory-functions '(cvs-dired-noselect dired-noselect)
379 "*List of functions to try in sequence to visit a directory. 379 "List of functions to try in sequence to visit a directory.
380Each function is called with the directory name as the sole argument 380Each function is called with the directory name as the sole argument
381and should return either a buffer or nil." 381and should return either a buffer or nil."
382 :type '(hook :options (cvs-dired-noselect dired-noselect)) 382 :type '(hook :options (cvs-dired-noselect dired-noselect))
@@ -448,7 +448,7 @@ use `before-save-hook'.")
448 'write-contents-functions "22.1") 448 'write-contents-functions "22.1")
449 449
450(defcustom enable-local-variables t 450(defcustom enable-local-variables t
451 "*Control use of local variables in files you visit. 451 "Control use of local variables in files you visit.
452The value can be t, nil, :safe, or something else. 452The value can be t, nil, :safe, or something else.
453 453
454A value of t means file local variables specifications are obeyed 454A value of t means file local variables specifications are obeyed
@@ -506,7 +506,7 @@ nil means ignore them; anything else means query."
506 (defalias 'file-locked-p 'ignore)) 506 (defalias 'file-locked-p 'ignore))
507 507
508(defcustom view-read-only nil 508(defcustom view-read-only nil
509 "*Non-nil means buffers visiting files read-only do so in view mode. 509 "Non-nil means buffers visiting files read-only do so in view mode.
510In fact, this means that all read-only buffers normally have 510In fact, this means that all read-only buffers normally have
511View mode enabled, including buffers that are read-only because 511View mode enabled, including buffers that are read-only because
512you visit a file you cannot alter, and buffers you make read-only 512you visit a file you cannot alter, and buffers you make read-only
@@ -1324,7 +1324,7 @@ removes automounter prefixes (see the variable `automount-dir-prefix')."
1324 filename))) 1324 filename)))
1325 1325
1326(defcustom find-file-not-true-dirname-list nil 1326(defcustom find-file-not-true-dirname-list nil
1327 "*List of logical names for which visiting shouldn't save the true dirname. 1327 "List of logical names for which visiting shouldn't save the true dirname.
1328On VMS, when you visit a file using a logical name that searches a path, 1328On VMS, when you visit a file using a logical name that searches a path,
1329you may or may not want the visited file name to record the specific 1329you may or may not want the visited file name to record the specific
1330directory where the file was found. If you *do not* want that, add the logical 1330directory where the file was found. If you *do not* want that, add the logical
@@ -1373,7 +1373,7 @@ If there is no such live buffer, return nil."
1373 found)))) 1373 found))))
1374 1374
1375(defcustom find-file-wildcards t 1375(defcustom find-file-wildcards t
1376 "*Non-nil means file-visiting commands should handle wildcards. 1376 "Non-nil means file-visiting commands should handle wildcards.
1377For example, if you specify `*.c', that would visit all the files 1377For example, if you specify `*.c', that would visit all the files
1378whose names match the pattern." 1378whose names match the pattern."
1379 :group 'files 1379 :group 'files
@@ -1381,7 +1381,7 @@ whose names match the pattern."
1381 :type 'boolean) 1381 :type 'boolean)
1382 1382
1383(defcustom find-file-suppress-same-file-warnings nil 1383(defcustom find-file-suppress-same-file-warnings nil
1384 "*Non-nil means suppress warning messages for symlinked files. 1384 "Non-nil means suppress warning messages for symlinked files.
1385When nil, Emacs prints a warning when visiting a file that is already 1385When nil, Emacs prints a warning when visiting a file that is already
1386visited, but with a different name. Setting this option to t 1386visited, but with a different name. Setting this option to t
1387suppresses this warning." 1387suppresses this warning."
@@ -2303,7 +2303,7 @@ symbol and VAL is a value that is considered safe."
2303 :type 'alist) 2303 :type 'alist)
2304 2304
2305(defcustom safe-local-eval-forms nil 2305(defcustom safe-local-eval-forms nil
2306 "*Expressions that are considered safe in an `eval:' local variable. 2306 "Expressions that are considered safe in an `eval:' local variable.
2307Add expressions to this list if you want Emacs to evaluate them, when 2307Add expressions to this list if you want Emacs to evaluate them, when
2308they appear in an `eval' local variable specification, without first 2308they appear in an `eval' local variable specification, without first
2309asking you for confirmation." 2309asking you for confirmation."
@@ -2765,7 +2765,7 @@ It is dangerous if either of these conditions are met:
2765 2765
2766 2766
2767(defcustom change-major-mode-with-file-name t 2767(defcustom change-major-mode-with-file-name t
2768 "*Non-nil means \\[write-file] should set the major mode from the file name. 2768 "Non-nil means \\[write-file] should set the major mode from the file name.
2769However, the mode will not be changed if 2769However, the mode will not be changed if
2770\(1) a local variables list or the `-*-' line specifies a major mode, or 2770\(1) a local variables list or the `-*-' line specifies a major mode, or
2771\(2) the current major mode is a \"special\" mode, 2771\(2) the current major mode is a \"special\" mode,
@@ -4500,7 +4500,7 @@ by `sh' are supported."
4500 4500
4501(defcustom list-directory-brief-switches 4501(defcustom list-directory-brief-switches
4502 (if (eq system-type 'vax-vms) "" "-CF") 4502 (if (eq system-type 'vax-vms) "" "-CF")
4503 "*Switches for `list-directory' to pass to `ls' for brief listing." 4503 "Switches for `list-directory' to pass to `ls' for brief listing."
4504 :type 'string 4504 :type 'string
4505 :group 'dired) 4505 :group 'dired)
4506 4506
@@ -4508,7 +4508,7 @@ by `sh' are supported."
4508 (if (eq system-type 'vax-vms) 4508 (if (eq system-type 'vax-vms)
4509 "/PROTECTION/SIZE/DATE/OWNER/WIDTH=(OWNER:10)" 4509 "/PROTECTION/SIZE/DATE/OWNER/WIDTH=(OWNER:10)"
4510 "-l") 4510 "-l")
4511 "*Switches for `list-directory' to pass to `ls' for verbose listing." 4511 "Switches for `list-directory' to pass to `ls' for verbose listing."
4512 :type 'string 4512 :type 'string
4513 :group 'dired) 4513 :group 'dired)
4514 4514
@@ -4639,7 +4639,7 @@ PATTERN that already quotes some of the special characters."
4639 "Absolute or relative name of the `ls' program used by `insert-directory'.") 4639 "Absolute or relative name of the `ls' program used by `insert-directory'.")
4640 4640
4641(defcustom directory-free-space-program "df" 4641(defcustom directory-free-space-program "df"
4642 "*Program to get the amount of free space on a file system. 4642 "Program to get the amount of free space on a file system.
4643We assume the output has the format of `df'. 4643We assume the output has the format of `df'.
4644The value of this variable must be just a command name or file name; 4644The value of this variable must be just a command name or file name;
4645if you want to specify options, use `directory-free-space-args'. 4645if you want to specify options, use `directory-free-space-args'.
@@ -4653,7 +4653,7 @@ preference to the program given by this variable."
4653 4653
4654(defcustom directory-free-space-args 4654(defcustom directory-free-space-args
4655 (if (eq system-type 'darwin) "-k" "-Pk") 4655 (if (eq system-type 'darwin) "-k" "-Pk")
4656 "*Options to use when running `directory-free-space-program'." 4656 "Options to use when running `directory-free-space-program'."
4657 :type 'string 4657 :type 'string
4658 :group 'dired) 4658 :group 'dired)
4659 4659
diff --git a/lisp/find-file.el b/lisp/find-file.el
index e15d6e62b0b..5618ba58dbe 100644
--- a/lisp/find-file.el
+++ b/lisp/find-file.el
@@ -189,12 +189,16 @@ To override this, give an argument to `ff-find-other-file'."
189 ;; C/C++ include, for NeXTSTEP too 189 ;; C/C++ include, for NeXTSTEP too
190 ("^\#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" . 190 ("^\#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" .
191 (lambda () 191 (lambda ()
192 (setq fname (buffer-substring (match-beginning 2) (match-end 2))))) 192 (buffer-substring (match-beginning 2) (match-end 2))))
193 ) 193 )
194 "*A list of regular expressions for `ff-find-file'. 194 ;; We include `ff-treat-as-special' documentation here so that autoload
195Specifies how to recognize special constructs such as include files 195 ;; can make it available to be read prior to loading this file.
196etc. and an associated method for extracting the filename from that 196 "*List of special constructs for `ff-treat-as-special' to recognize.
197construct.") 197Each element, tried in order, has the form (REGEXP . EXTRACT).
198If REGEXP matches the current line (from the beginning of the line),
199`ff-treat-as-special' calls function EXTRACT with no args.
200If EXTRACT returns nil, keep trying. Otherwise, return the
201filename that EXTRACT returned.")
198 202
199(defvaralias 'ff-related-file-alist 'ff-other-file-alist) 203(defvaralias 'ff-related-file-alist 'ff-other-file-alist)
200(defcustom ff-other-file-alist 'cc-other-file-alist 204(defcustom ff-other-file-alist 'cc-other-file-alist
@@ -405,9 +409,7 @@ If optional IN-OTHER-WINDOW is non-nil, find the file in another window."
405 (ff-list-replace-env-vars (symbol-value ff-search-directories)) 409 (ff-list-replace-env-vars (symbol-value ff-search-directories))
406 (ff-list-replace-env-vars ff-search-directories))) 410 (ff-list-replace-env-vars ff-search-directories)))
407 411
408 (save-excursion 412 (setq fname (ff-treat-as-special))
409 (beginning-of-line 1)
410 (setq fname (ff-treat-as-special)))
411 413
412 (cond 414 (cond
413 ((and (not ff-ignore-include) fname) 415 ((and (not ff-ignore-include) fname)
@@ -540,9 +542,7 @@ the `ff-ignore-include' variable."
540 (ff-list-replace-env-vars (symbol-value ff-search-directories)) 542 (ff-list-replace-env-vars (symbol-value ff-search-directories))
541 (ff-list-replace-env-vars ff-search-directories))) 543 (ff-list-replace-env-vars ff-search-directories)))
542 544
543 (save-excursion 545 (setq fname (ff-treat-as-special))
544 (beginning-of-line 1)
545 (setq fname (ff-treat-as-special)))
546 546
547 (cond 547 (cond
548 ((and (not ff-ignore-include) fname) 548 ((and (not ff-ignore-include) fname)
@@ -771,20 +771,22 @@ The value used comes from `ff-case-fold-search'."
771 771
772(defun ff-treat-as-special () 772(defun ff-treat-as-special ()
773 "Return the file to look for if the construct was special, else nil. 773 "Return the file to look for if the construct was special, else nil.
774The construct is defined in the variable `ff-special-constructs'." 774See variable `ff-special-constructs'."
775 (let* (fname 775 (save-excursion
776 (list ff-special-constructs) 776 (beginning-of-line 1)
777 (elem (car list)) 777 (let* (fname
778 (regexp (car elem)) 778 (list ff-special-constructs)
779 (match (cdr elem))) 779 (elem (car list))
780 (while (and list (not fname)) 780 (regexp (car elem))
781 (if (and (looking-at regexp) match) 781 (match (cdr elem)))
782 (setq fname (funcall match))) 782 (while (and list (not fname))
783 (setq list (cdr list)) 783 (if (and (looking-at regexp) match)
784 (setq elem (car list)) 784 (setq fname (funcall match)))
785 (setq regexp (car elem)) 785 (setq list (cdr list))
786 (setq match (cdr elem))) 786 (setq elem (car list))
787 fname)) 787 (setq regexp (car elem))
788 (setq match (cdr elem)))
789 fname)))
788 790
789(defun ff-basename (string) 791(defun ff-basename (string)
790 "Return the basename of pathname STRING." 792 "Return the basename of pathname STRING."
diff --git a/lisp/frame.el b/lisp/frame.el
index f5d3f4b0c37..ff07999f804 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -776,7 +776,9 @@ the user during startup."
776 "*Non-nil if window system changes focus when you move the mouse. 776 "*Non-nil if window system changes focus when you move the mouse.
777You should set this variable to tell Emacs how your window manager 777You should set this variable to tell Emacs how your window manager
778handles focus, since there is no way in general for Emacs to find out 778handles focus, since there is no way in general for Emacs to find out
779automatically." 779automatically.
780
781This variable does not have any effect on MS-Windows."
780 :type 'boolean 782 :type 'boolean
781 :group 'frames 783 :group 'frames
782 :version "20.3") 784 :version "20.3")
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 825a8bce003..beccd918c3e 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,38 @@
12006-07-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
2
3 * mm-url.el (mm-url-insert-file-contents): Inhibit Connection: close
4 workaround for the url package included with Emacs.
5
6 * nnweb.el (nnweb-google-create-mapping): Update regexp.
7
82006-07-18 Karl Fogel <kfogel@red-bean.com>
9
10 * nnmail.el (nnmail-article-group): If splitting raises an error, give
11 some information about the error when saying that the `bogus' mail
12 group will be used.
13
142006-07-18 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
15
16 [ Backported bug fixes from No Gnus. ]
17
18 * nnweb.el (nnweb-google-parse-1): Update regexp for author and date.
19 (nnweb-google-search): Respect nnweb-max-hits as upper bound.
20 (nnweb-request-article): Do proper xwfu encoding when fetching articles
21 by message-id.
22
23 * gnus-srvr.el (gnus-browse-unsubscribe-group): Don't subscribe
24 unsubscribed groups as if they were killed ones. It causes duplicate
25 entries in gnus-newsrc-alist.
26
272006-07-17 Reiner Steib <Reiner.Steib@gmx.de>
28
29 * gnus-sum.el (gnus-summary-delete-article): Don't use TAB in doc
30 string.
31
322006-07-16 NAKAJI Hiroyuki <nakaji@heimat.jp> (tiny change)
33
34 * mm-util.el (mm-charset-synonym-alist): Map windows-31j to cp932.
35
12006-07-14 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> 362006-07-14 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
2 37
3 * gnus-start.el (gnus-subscribe-options-newsgroup-method): Doc fix. 38 * gnus-start.el (gnus-subscribe-options-newsgroup-method): Doc fix.
@@ -131,8 +166,7 @@
131 (mm-display-part): Simplify. 166 (mm-display-part): Simplify.
132 (mm-inlinable-p): Add optional arg `type'. 167 (mm-inlinable-p): Add optional arg `type'.
133 168
134 * gnus-art.el (gnus-mime-view-part-as-type): Add optional PRED 169 * gnus-art.el (gnus-mime-view-part-as-type): Add optional PRED arg.
135 argument.
136 (gnus-mime-view-part-externally, gnus-mime-view-part-internally): 170 (gnus-mime-view-part-externally, gnus-mime-view-part-internally):
137 Try harder to show the attachment internally or externally using 171 Try harder to show the attachment internally or externally using
138 gnus-mime-view-part-as-type. 172 gnus-mime-view-part-as-type.
@@ -142,8 +176,7 @@
142 * gnus-art.el (gnus-mime-view-part-as-type-internal): Try to fetch 176 * gnus-art.el (gnus-mime-view-part-as-type-internal): Try to fetch
143 `filename' from Content-Disposition if Content-Type doesn't 177 `filename' from Content-Disposition if Content-Type doesn't
144 provide `name'. 178 provide `name'.
145 (gnus-mime-view-part-as-type): Set default instead of 179 (gnus-mime-view-part-as-type): Set default instead of initial-input.
146 initial-input.
147 180
1482006-04-28 Katsumi Yamaoka <yamaoka@jpl.org> 1812006-04-28 Katsumi Yamaoka <yamaoka@jpl.org>
149 182
@@ -166,8 +199,8 @@
166 199
167 * mml-sec.el (mml-secure-method): New internal variable. 200 * mml-sec.el (mml-secure-method): New internal variable.
168 (mml-secure-sign, mml-secure-encrypt, mml-secure-message-sign) 201 (mml-secure-sign, mml-secure-encrypt, mml-secure-message-sign)
169 (mml-secure-message-sign-encrypt, mml-secure-message-encrypt): New 202 (mml-secure-message-sign-encrypt, mml-secure-message-encrypt):
170 functions using mml-secure-method. Sync from the trunk. 203 New functions using mml-secure-method. Sync from the trunk.
171 204
172 * mml.el (mml-mode-map): Add key bindings for those functions. 205 * mml.el (mml-mode-map): Add key bindings for those functions.
173 (mml-menu): Simplify security menu entries. Suggested by Jesper 206 (mml-menu): Simplify security menu entries. Suggested by Jesper
@@ -211,8 +244,8 @@
211 244
2122006-04-20 Reiner Steib <Reiner.Steib@gmx.de> 2452006-04-20 Reiner Steib <Reiner.Steib@gmx.de>
213 246
214 * gnus-util.el (gnus-replace-in-string): Prefer 247 * gnus-util.el (gnus-replace-in-string):
215 replace-regexp-in-string over of replace-in-string. 248 Prefer replace-regexp-in-string over of replace-in-string.
216 249
2172006-04-20 Katsumi Yamaoka <yamaoka@jpl.org> 2502006-04-20 Katsumi Yamaoka <yamaoka@jpl.org>
218 251
@@ -220,8 +253,8 @@
220 253
221 * gnus-sum.el: Ditto. 254 * gnus-sum.el: Ditto.
222 255
223 * gnus-util.el (gnus-select-frame-set-input-focus): Use 256 * gnus-util.el (gnus-select-frame-set-input-focus):
224 select-frame-set-input-focus if it is available in XEmacs; use 257 Use select-frame-set-input-focus if it is available in XEmacs; use
225 definition defined in Emacs 22 for old Emacsen. 258 definition defined in Emacs 22 for old Emacsen.
226 259
2272006-04-17 Reiner Steib <Reiner.Steib@gmx.de> 2602006-04-17 Reiner Steib <Reiner.Steib@gmx.de>
@@ -233,13 +266,13 @@
233 (mm-charset-to-coding-system): Use it. 266 (mm-charset-to-coding-system): Use it.
234 (mm-codepage-setup): New helper function. 267 (mm-codepage-setup): New helper function.
235 (mm-charset-eval-alist): New variable. 268 (mm-charset-eval-alist): New variable.
236 (mm-charset-to-coding-system): Use mm-charset-eval-alist. Warn 269 (mm-charset-to-coding-system): Use mm-charset-eval-alist.
237 about unknown charsets. Add allow-override. Use 270 Warn about unknown charsets. Add allow-override.
238 `mm-charset-override-alist' only when decoding. 271 Use `mm-charset-override-alist' only when decoding.
239 (mm-detect-mime-charset-region): Use :mime-charset. 272 (mm-detect-mime-charset-region): Use :mime-charset.
240 273
241 * mm-bodies.el (mm-decode-body, mm-decode-string): Call 274 * mm-bodies.el (mm-decode-body, mm-decode-string):
242 `mm-charset-to-coding-system' with allow-override argument. 275 Call `mm-charset-to-coding-system' with allow-override argument.
243 276
244 * message.el (message-tool-bar-zap-list, message-tool-bar) 277 * message.el (message-tool-bar-zap-list, message-tool-bar)
245 (message-tool-bar-gnome, message-tool-bar-retro): New variables. 278 (message-tool-bar-gnome, message-tool-bar-retro): New variables.
@@ -255,8 +288,8 @@
255 `gmm-tool-bar-from-list'. 288 `gmm-tool-bar-from-list'.
256 289
257 * gnus-group.el (gnus-group-tool-bar, gnus-group-tool-bar-gnome) 290 * gnus-group.el (gnus-group-tool-bar, gnus-group-tool-bar-gnome)
258 (gnus-group-tool-bar-retro, gnus-group-tool-bar-zap-list): New 291 (gnus-group-tool-bar-retro, gnus-group-tool-bar-zap-list):
259 variables. 292 New variables.
260 (gnus-group-make-tool-bar): Complete rewrite using 293 (gnus-group-make-tool-bar): Complete rewrite using
261 `gmm-tool-bar-from-list'. 294 `gmm-tool-bar-from-list'.
262 (gnus-group-tool-bar-update): New function. 295 (gnus-group-tool-bar-update): New function.
@@ -270,8 +303,8 @@
270 303
2712006-04-12 Reiner Steib <Reiner.Steib@gmx.de> 3042006-04-12 Reiner Steib <Reiner.Steib@gmx.de>
272 305
273 * gnus-art.el (gnus-article-mode): Set 306 * gnus-art.el (gnus-article-mode):
274 cursor-in-non-selected-windows to nil. 307 Set cursor-in-non-selected-windows to nil.
275 308
2762006-04-12 Katsumi Yamaoka <yamaoka@jpl.org> 3092006-04-12 Katsumi Yamaoka <yamaoka@jpl.org>
277 310
@@ -302,8 +335,7 @@
302 335
3032006-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org> 3362006-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
304 337
305 * nnslashdot.el (nnslashdot-retrieve-headers-1): Fix up to new 338 * nnslashdot.el (nnslashdot-retrieve-headers-1): Fix up to new layout.
306 layout.
307 339
308 * rfc2047.el (rfc2047-decode-encoded-words): Don't message about 340 * rfc2047.el (rfc2047-decode-encoded-words): Don't message about
309 unknown charset. 341 unknown charset.
@@ -365,13 +397,12 @@
365 397
366 * gnus-agent.el (gnus-agent-queue-mail): Fix custom tag for `t'. 398 * gnus-agent.el (gnus-agent-queue-mail): Fix custom tag for `t'.
367 399
368 * spam.el (spam-mark-new-messages-in-spam-group-as-spam): Add 400 * spam.el (spam-mark-new-messages-in-spam-group-as-spam):
369 comment on version. 401 Add comment on version.
370 402
3712006-03-20 Teodor Zlatanov <tzz@lifelogs.com> 4032006-03-20 Teodor Zlatanov <tzz@lifelogs.com>
372 404
373 * spam.el (spam-mark-new-messages-in-spam-group-as-spam): New 405 * spam.el (spam-mark-new-messages-in-spam-group-as-spam): New variable.
374 variable.
375 (spam-mark-junk-as-spam-routine): Use it. Allow to disable 406 (spam-mark-junk-as-spam-routine): Use it. Allow to disable
376 assigning the spam-mark to new messages. 407 assigning the spam-mark to new messages.
377 408
@@ -402,14 +433,14 @@
402 433
403 * gnus-art.el (gnus-article-only-boring-p): 434 * gnus-art.el (gnus-article-only-boring-p):
404 Bind inhibit-point-motion-hooks to avoid infinite loop when entering 435 Bind inhibit-point-motion-hooks to avoid infinite loop when entering
405 intangible text. Reported by Ralf Wachinger 436 intangible text.
406 <rwnewsmampfer@geekmail.de>. 437 Reported by Ralf Wachinger <rwnewsmampfer@geekmail.de>.
407 438
4082006-03-14 Simon Josefsson <jas@extundo.com> 4392006-03-14 Simon Josefsson <jas@extundo.com>
409 440
410 * message.el (message-unique-id): Don't use message-number-base36 441 * message.el (message-unique-id): Don't use message-number-base36
411 if (user-uid) is a float. Reported by Bjorn Solberg 442 if (user-uid) is a float.
412 <bjorn_ding1@hekneby.org>. 443 Reported by Bjorn Solberg <bjorn_ding1@hekneby.org>.
413 444
4142006-03-13 Katsumi Yamaoka <yamaoka@jpl.org> 4452006-03-13 Katsumi Yamaoka <yamaoka@jpl.org>
415 446
diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el
index 5d4f9c2a3f6..aabf8efbf6b 100644
--- a/lisp/gnus/gnus-srvr.el
+++ b/lisp/gnus/gnus-srvr.el
@@ -943,19 +943,23 @@ If NUMBER, fetch this number of articles."
943 (progn 943 (progn
944 ;; Make sure the group has been properly removed before we 944 ;; Make sure the group has been properly removed before we
945 ;; subscribe to it. 945 ;; subscribe to it.
946 (gnus-kill-ephemeral-group group) 946 (if (gnus-ephemeral-group-p group)
947 (gnus-kill-ephemeral-group group))
948 ;; We need to discern between killed/zombie groups and
949 ;; just unsubscribed ones.
947 (gnus-group-change-level 950 (gnus-group-change-level
948 (list t group gnus-level-default-subscribed 951 (or (gnus-group-entry group)
949 nil nil (if (gnus-server-equal 952 (list t group gnus-level-default-subscribed
950 gnus-browse-current-method "native") 953 nil nil (if (gnus-server-equal
951 nil 954 gnus-browse-current-method "native")
952 (gnus-method-simplify 955 nil
953 gnus-browse-current-method))) 956 (gnus-method-simplify
957 gnus-browse-current-method))))
954 gnus-level-default-subscribed (gnus-group-level group) 958 gnus-level-default-subscribed (gnus-group-level group)
955 (and (car (nth 1 gnus-newsrc-alist)) 959 (and (car (nth 1 gnus-newsrc-alist))
956 (gnus-gethash (car (nth 1 gnus-newsrc-alist)) 960 (gnus-gethash (car (nth 1 gnus-newsrc-alist))
957 gnus-newsrc-hashtb)) 961 gnus-newsrc-hashtb))
958 t) 962 (null (gnus-group-entry group)))
959 (delete-char 1) 963 (delete-char 1)
960 (insert ? )) 964 (insert ? ))
961 (gnus-group-change-level 965 (gnus-group-change-level
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 66ab41950d1..b94d093329a 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -9510,7 +9510,7 @@ deleted forever, right now."
9510;; Suggested by Jack Vinson <vinson@unagi.cis.upenn.edu>. 9510;; Suggested by Jack Vinson <vinson@unagi.cis.upenn.edu>.
9511(defun gnus-summary-delete-article (&optional n) 9511(defun gnus-summary-delete-article (&optional n)
9512 "Delete the N next (mail) articles. 9512 "Delete the N next (mail) articles.
9513This command actually deletes articles. This is not a marking 9513This command actually deletes articles. This is not a marking
9514command. The article will disappear forever from your life, never to 9514command. The article will disappear forever from your life, never to
9515return. 9515return.
9516 9516
diff --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el
index ba21247f356..5e228f0af72 100644
--- a/lisp/gnus/mm-url.el
+++ b/lisp/gnus/mm-url.el
@@ -301,7 +301,13 @@ If `mm-url-use-external' is non-nil, use `mm-url-program'."
301 (list url (buffer-size))) 301 (list url (buffer-size)))
302 (mm-url-load-url) 302 (mm-url-load-url)
303 (let ((name buffer-file-name) 303 (let ((name buffer-file-name)
304 (url-request-extra-headers (list (cons "Connection" "Close"))) 304 (url-request-extra-headers
305 ;; ISTM setting a Connection header was a workaround for
306 ;; older versions of url included with w3, but it does more
307 ;; harm than good with the one shipped with Emacs. --ansel
308 (if (not (and (boundp 'url-version)
309 (equal url-version "Emacs")))
310 (list (cons "Connection" "Close"))))
305 (url-package-name (or mm-url-package-name 311 (url-package-name (or mm-url-package-name
306 url-package-name)) 312 url-package-name))
307 (url-package-version (or mm-url-package-version 313 (url-package-version (or mm-url-package-version
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index 634d1f66675..26a1bf23e84 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -204,19 +204,19 @@ the alias. Else windows-NUMBER is used."
204 `( 204 `(
205 ;; Not in XEmacs, but it's not a proper MIME charset anyhow. 205 ;; Not in XEmacs, but it's not a proper MIME charset anyhow.
206 ,@(unless (mm-coding-system-p 'x-ctext) 206 ,@(unless (mm-coding-system-p 'x-ctext)
207 '((x-ctext . ctext))) 207 '((x-ctext . ctext)))
208 ;; ISO-8859-15 is very similar to ISO-8859-1. But it's _different_! 208 ;; ISO-8859-15 is very similar to ISO-8859-1. But it's _different_!
209 ,@(unless (mm-coding-system-p 'iso-8859-15) 209 ,@(unless (mm-coding-system-p 'iso-8859-15)
210 '((iso-8859-15 . iso-8859-1))) 210 '((iso-8859-15 . iso-8859-1)))
211 ;; BIG-5HKSCS is similar to, but different than, BIG-5. 211 ;; BIG-5HKSCS is similar to, but different than, BIG-5.
212 ,@(unless (mm-coding-system-p 'big5-hkscs) 212 ,@(unless (mm-coding-system-p 'big5-hkscs)
213 '((big5-hkscs . big5))) 213 '((big5-hkscs . big5)))
214 ;; Windows-1252 is actually a superset of Latin-1. See also 214 ;; Windows-1252 is actually a superset of Latin-1. See also
215 ;; `gnus-article-dumbquotes-map'. 215 ;; `gnus-article-dumbquotes-map'.
216 ,@(unless (mm-coding-system-p 'windows-1252) 216 ,@(unless (mm-coding-system-p 'windows-1252)
217 (if (mm-coding-system-p 'cp1252) 217 (if (mm-coding-system-p 'cp1252)
218 '((windows-1252 . cp1252)) 218 '((windows-1252 . cp1252))
219 '((windows-1252 . iso-8859-1)))) 219 '((windows-1252 . iso-8859-1))))
220 ;; Windows-1250 is a variant of Latin-2 heavily used by Microsoft 220 ;; Windows-1250 is a variant of Latin-2 heavily used by Microsoft
221 ;; Outlook users in Czech republic. Use this to allow reading of their 221 ;; Outlook users in Czech republic. Use this to allow reading of their
222 ;; e-mails. cp1250 should be defined by M-x codepage-setup. 222 ;; e-mails. cp1250 should be defined by M-x codepage-setup.
@@ -232,6 +232,10 @@ the alias. Else windows-NUMBER is used."
232 (if (mm-coding-system-p 'cp949) 232 (if (mm-coding-system-p 'cp949)
233 '((ks_c_5601-1987 . cp949)) 233 '((ks_c_5601-1987 . cp949))
234 '((ks_c_5601-1987 . euc-kr)))) 234 '((ks_c_5601-1987 . euc-kr))))
235 ;; Windows-31J is Windows Codepage 932.
236 ,@(if (and (not (mm-coding-system-p 'windows-31j))
237 (mm-coding-system-p 'cp932))
238 '((windows-31j . cp932)))
235 ) 239 )
236 "A mapping from unknown or invalid charset names to the real charset names.") 240 "A mapping from unknown or invalid charset names to the real charset names.")
237 241
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el
index f4275fa8ed5..98af7ba41f2 100644
--- a/lisp/gnus/nnmail.el
+++ b/lisp/gnus/nnmail.el
@@ -1131,7 +1131,7 @@ FUNC will be called with the group name to determine the article number."
1131 (if (and (symbolp nnmail-split-methods) 1131 (if (and (symbolp nnmail-split-methods)
1132 (fboundp nnmail-split-methods)) 1132 (fboundp nnmail-split-methods))
1133 (let ((split 1133 (let ((split
1134 (condition-case nil 1134 (condition-case error-info
1135 ;; `nnmail-split-methods' is a function, so we 1135 ;; `nnmail-split-methods' is a function, so we
1136 ;; just call this function here and use the 1136 ;; just call this function here and use the
1137 ;; result. 1137 ;; result.
@@ -1139,7 +1139,7 @@ FUNC will be called with the group name to determine the article number."
1139 '("bogus")) 1139 '("bogus"))
1140 (error 1140 (error
1141 (nnheader-message 1141 (nnheader-message
1142 5 "Error in `nnmail-split-methods'; using `bogus' mail group") 1142 5 "Error in `nnmail-split-methods'; using `bogus' mail group: %S" error-info)
1143 (sit-for 1) 1143 (sit-for 1)
1144 '("bogus"))))) 1144 '("bogus")))))
1145 (setq split (mm-delete-duplicates split)) 1145 (setq split (mm-delete-duplicates split))
diff --git a/lisp/gnus/nnweb.el b/lisp/gnus/nnweb.el
index a67d5a469f6..7c0c8e0e444 100644
--- a/lisp/gnus/nnweb.el
+++ b/lisp/gnus/nnweb.el
@@ -171,7 +171,8 @@ Valid types include `google', `dejanews', and `gmane'.")
171 (when (string-match "^<\\(.*\\)>$" article) 171 (when (string-match "^<\\(.*\\)>$" article)
172 (setq art (match-string 1 article))) 172 (setq art (match-string 1 article)))
173 (when (and fetch art) 173 (when (and fetch art)
174 (setq url (format fetch art)) 174 (setq url (format fetch
175 (mm-url-form-encode-xwfu art)))
175 (mm-with-unibyte-current-buffer 176 (mm-with-unibyte-current-buffer
176 (mm-url-insert url)) 177 (mm-url-insert url))
177 (if (nnweb-definition 'reference t) 178 (if (nnweb-definition 'reference t)
@@ -365,7 +366,7 @@ Valid types include `google', `dejanews', and `gmane'.")
365 (mm-url-decode-entities) 366 (mm-url-decode-entities)
366 (search-backward " - ") 367 (search-backward " - ")
367 (when (looking-at 368 (when (looking-at
368 " - \\([a-zA-Z]+\\) \\([0-9]+\\)\\(?: \\([0-9]\\{4\\}\\)\\)?, [^\n]+by \\([^<\n]+\\)\n") 369 " - \\([a-zA-Z]+\\) \\([0-9]+\\)\\(?: \\([0-9]\\{4\\}\\)\\)?[^\n]+by ?\n?\\([^<\n]+\\)\n")
369 (setq From (match-string 4) 370 (setq From (match-string 4)
370 Date (format "%s %s 00:00:00 %s" 371 Date (format "%s %s 00:00:00 %s"
371 (match-string 1) 372 (match-string 1)
@@ -415,7 +416,7 @@ Valid types include `google', `dejanews', and `gmane'.")
415 (goto-char (point-min)) 416 (goto-char (point-min))
416 (incf i 100) 417 (incf i 100)
417 (if (or (not (re-search-forward 418 (if (or (not (re-search-forward
418 "<a href=\"\n\\([^>\" \n\t]+\\)[^<]*<img src=[^>]+next" 419 "<a [^>]+href=\"\n?\\([^>\" \n\t]+\\)[^<]*<img[^>]+src=[^>]+next"
419 nil t)) 420 nil t))
420 (>= i nnweb-max-hits)) 421 (>= i nnweb-max-hits))
421 (setq more nil) 422 (setq more nil)
@@ -437,7 +438,8 @@ Valid types include `google', `dejanews', and `gmane'.")
437 "?" 438 "?"
438 (mm-url-encode-www-form-urlencoded 439 (mm-url-encode-www-form-urlencoded
439 `(("q" . ,search) 440 `(("q" . ,search)
440 ("num" . "100") 441 ("num" . ,(number-to-string
442 (min 100 nnweb-max-hits)))
441 ("hq" . "") 443 ("hq" . "")
442 ("hl" . "en") 444 ("hl" . "en")
443 ("lr" . "") 445 ("lr" . "")
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 7cdf78fbe13..ce79e618cd5 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -157,8 +157,9 @@ The format is (FUNCTION ARGS...).")
157 (let ((location 157 (let ((location
158 (find-function-search-for-symbol fun nil file))) 158 (find-function-search-for-symbol fun nil file)))
159 (pop-to-buffer (car location)) 159 (pop-to-buffer (car location))
160 (when (cdr location) 160 (if (cdr location)
161 (goto-char (cdr location))))) 161 (goto-char (cdr location))
162 (message "Unable to find location in file"))))
162 'help-echo (purecopy "mouse-2, RET: find function's definition")) 163 'help-echo (purecopy "mouse-2, RET: find function's definition"))
163 164
164(define-button-type 'help-variable-def 165(define-button-type 'help-variable-def
@@ -168,8 +169,9 @@ The format is (FUNCTION ARGS...).")
168 (setq file (help-C-file-name var 'var))) 169 (setq file (help-C-file-name var 'var)))
169 (let ((location (find-variable-noselect var file))) 170 (let ((location (find-variable-noselect var file)))
170 (pop-to-buffer (car location)) 171 (pop-to-buffer (car location))
171 (when (cdr location) 172 (if (cdr location)
172 (goto-char (cdr location))))) 173 (goto-char (cdr location))
174 (message "Unable to find location in file"))))
173 'help-echo (purecopy "mouse-2, RET: find variable's definition")) 175 'help-echo (purecopy "mouse-2, RET: find variable's definition"))
174 176
175(define-button-type 'help-face-def 177(define-button-type 'help-face-def
@@ -181,8 +183,9 @@ The format is (FUNCTION ARGS...).")
181 (let ((location 183 (let ((location
182 (find-function-search-for-symbol fun 'defface file))) 184 (find-function-search-for-symbol fun 'defface file)))
183 (pop-to-buffer (car location)) 185 (pop-to-buffer (car location))
184 (when (cdr location) 186 (if (cdr location)
185 (goto-char (cdr location))))) 187 (goto-char (cdr location))
188 (message "Unable to find location in file"))))
186 'help-echo (purecopy "mouse-2, RET: find face's definition")) 189 'help-echo (purecopy "mouse-2, RET: find face's definition"))
187 190
188 191
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index b5f9c4f1bcf..29767cee7f6 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -66,7 +66,7 @@ the ability to filter the displayed buffers by various criteria."
66 66
67(defcustom ibuffer-formats '((mark modified read-only " " (name 18 18 :left :elide) 67(defcustom ibuffer-formats '((mark modified read-only " " (name 18 18 :left :elide)
68 " " (size 9 -1 :right) 68 " " (size 9 -1 :right)
69 " " (mode 16 16 :right :elide) " " filename-and-process) 69 " " (mode 16 16 :left :elide) " " filename-and-process)
70 (mark " " (name 16 -1) " " filename)) 70 (mark " " (name 16 -1) " " filename))
71 "A list of ways to display buffer lines. 71 "A list of ways to display buffer lines.
72 72
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 66d7fb6c16a..523ef3f73a8 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -118,6 +118,9 @@ information on these modes."
118 (if (get-text-property (point-min) 'display) 118 (if (get-text-property (point-min) 'display)
119 (image-toggle-display))) 119 (image-toggle-display)))
120 120
121(defvar archive-superior-buffer)
122(defvar tar-superior-buffer)
123
121(defun image-toggle-display () 124(defun image-toggle-display ()
122 "Start or stop displaying an image file as the actual image. 125 "Start or stop displaying an image file as the actual image.
123This command toggles between showing the text of the image file 126This command toggles between showing the text of the image file
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 1cd077413c3..aecf2128456 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -831,7 +831,7 @@ re-visited and edited.)
831Optional 3rd arg DEFAULT-CODING-SYSTEM specifies a coding system or a 831Optional 3rd arg DEFAULT-CODING-SYSTEM specifies a coding system or a
832list of coding systems to be prepended to the default coding system 832list of coding systems to be prepended to the default coding system
833list. However, if DEFAULT-CODING-SYSTEM is a list and the first 833list. However, if DEFAULT-CODING-SYSTEM is a list and the first
834element is t, the cdr part is used as the defualt coding system list, 834element is t, the cdr part is used as the default coding system list,
835i.e. `buffer-file-coding-system', `default-buffer-file-coding-system', 835i.e. `buffer-file-coding-system', `default-buffer-file-coding-system',
836and the most preferred coding system are not used. 836and the most preferred coding system are not used.
837 837
@@ -898,9 +898,6 @@ It is highly recommended to fix it before writing to a file."
898 (rassq base default-coding-system) 898 (rassq base default-coding-system)
899 (push (cons auto-cs base) default-coding-system)))) 899 (push (cons auto-cs base) default-coding-system))))
900 900
901 ;; From now on, the list of defaults is reversed.
902 (setq default-coding-system (nreverse default-coding-system))
903
904 (unless no-other-defaults 901 (unless no-other-defaults
905 ;; If buffer-file-coding-system is not nil nor undecided, append it 902 ;; If buffer-file-coding-system is not nil nor undecided, append it
906 ;; to the defaults. 903 ;; to the defaults.
@@ -908,8 +905,9 @@ It is highly recommended to fix it before writing to a file."
908 (let ((base (coding-system-base buffer-file-coding-system))) 905 (let ((base (coding-system-base buffer-file-coding-system)))
909 (or (eq base 'undecided) 906 (or (eq base 'undecided)
910 (rassq base default-coding-system) 907 (rassq base default-coding-system)
911 (push (cons buffer-file-coding-system base) 908 (setq default-coding-system
912 default-coding-system)))) 909 (append default-coding-system
910 (list (cons buffer-file-coding-system base)))))))
913 911
914 ;; If default-buffer-file-coding-system is not nil nor undecided, 912 ;; If default-buffer-file-coding-system is not nil nor undecided,
915 ;; append it to the defaults. 913 ;; append it to the defaults.
@@ -917,8 +915,10 @@ It is highly recommended to fix it before writing to a file."
917 (let ((base (coding-system-base default-buffer-file-coding-system))) 915 (let ((base (coding-system-base default-buffer-file-coding-system)))
918 (or (eq base 'undecided) 916 (or (eq base 'undecided)
919 (rassq base default-coding-system) 917 (rassq base default-coding-system)
920 (push (cons default-buffer-file-coding-system base) 918 (setq default-coding-system
921 default-coding-system)))) 919 (append default-coding-system
920 (list (cons default-buffer-file-coding-system
921 base)))))))
922 922
923 ;; If the most preferred coding system has the property mime-charset, 923 ;; If the most preferred coding system has the property mime-charset,
924 ;; append it to the defaults. 924 ;; append it to the defaults.
@@ -930,18 +930,40 @@ It is highly recommended to fix it before writing to a file."
930 (setq base (coding-system-base preferred)) 930 (setq base (coding-system-base preferred))
931 (coding-system-get preferred 'mime-charset) 931 (coding-system-get preferred 'mime-charset)
932 (not (rassq base default-coding-system)) 932 (not (rassq base default-coding-system))
933 (push (cons preferred base) 933 (setq default-coding-system
934 default-coding-system)))) 934 (append default-coding-system
935 (list (cons preferred base)))))))
935 936
936 (if select-safe-coding-system-accept-default-p 937 (if select-safe-coding-system-accept-default-p
937 (setq accept-default-p select-safe-coding-system-accept-default-p)) 938 (setq accept-default-p select-safe-coding-system-accept-default-p))
938 939
940 ;; Decide the eol-type from the top of the default codings,
941 ;; buffer-file-coding-system, or
942 ;; default-buffer-file-coding-system.
943 (if default-coding-system
944 (let ((default-eol-type (coding-system-eol-type
945 (caar default-coding-system))))
946 (if (and (vectorp default-eol-type) buffer-file-coding-system)
947 (setq default-eol-type (coding-system-eol-type
948 buffer-file-coding-system)))
949 (if (and (vectorp default-eol-type) default-buffer-file-coding-system)
950 (setq default-eol-type (coding-system-eol-type
951 default-buffer-file-coding-system)))
952 (if (and default-eol-type (not (vectorp default-eol-type)))
953 (dolist (elt default-coding-system)
954 (setcar elt (coding-system-change-eol-conversion
955 (car elt) default-eol-type))))))
956
939 (let ((codings (find-coding-systems-region from to)) 957 (let ((codings (find-coding-systems-region from to))
940 (coding-system nil) 958 (coding-system nil)
941 safe rejected unsafe) 959 safe rejected unsafe)
942 (if (eq (car codings) 'undecided) 960 (if (eq (car codings) 'undecided)
943 ;; Any coding system is ok. 961 ;; Any coding system is ok.
944 (setq coding-system t) 962 (setq coding-system (caar default-coding-system))
963 ;; Reverse the list so that elements are accumulated in safe,
964 ;; rejected, and unsafe in the correct order.
965 (setq default-coding-system (nreverse default-coding-system))
966
945 ;; Classify the defaults into safe, rejected, and unsafe. 967 ;; Classify the defaults into safe, rejected, and unsafe.
946 (dolist (elt default-coding-system) 968 (dolist (elt default-coding-system)
947 (if (memq (cdr elt) codings) 969 (if (memq (cdr elt) codings)
@@ -958,14 +980,6 @@ It is highly recommended to fix it before writing to a file."
958 (setq coding-system (select-safe-coding-system-interactively 980 (setq coding-system (select-safe-coding-system-interactively
959 from to codings unsafe rejected (car codings)))) 981 from to codings unsafe rejected (car codings))))
960 982
961 (if (vectorp (coding-system-eol-type coding-system))
962 (let ((eol (coding-system-eol-type buffer-file-coding-system)))
963 (if (numberp eol)
964 (setq coding-system
965 (coding-system-change-eol-conversion coding-system eol)))))
966
967 (if (eq coding-system t)
968 (setq coding-system buffer-file-coding-system))
969 ;; Check we're not inconsistent with what `coding:' spec &c would 983 ;; Check we're not inconsistent with what `coding:' spec &c would
970 ;; give when file is re-read. 984 ;; give when file is re-read.
971 ;; But don't do this if we explicitly ignored the cookie 985 ;; But don't do this if we explicitly ignored the cookie
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 145eb76446f..043c78578db 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -777,8 +777,8 @@ If the click is in the echo area, display the `*Messages*' buffer."
777 777
778(defun mouse-on-link-p (pos) 778(defun mouse-on-link-p (pos)
779 "Return non-nil if POS is on a link in the current buffer. 779 "Return non-nil if POS is on a link in the current buffer.
780POS must be a buffer position in the current buffer or an mouse 780POS must be a buffer position in the current buffer or a mouse
781event location in the selected window, see `event-start'. 781event location in the selected window (see `event-start').
782However, if `mouse-1-click-in-non-selected-windows' is non-nil, 782However, if `mouse-1-click-in-non-selected-windows' is non-nil,
783POS may be a mouse event location in any window. 783POS may be a mouse event location in any window.
784 784
@@ -798,7 +798,7 @@ is a non-nil `mouse-face' property at POS. Return t in this case.
798 798
799- If the value is a function, FUNC, POS is inside a link if 799- If the value is a function, FUNC, POS is inside a link if
800the call \(FUNC POS) returns non-nil. Return the return value 800the call \(FUNC POS) returns non-nil. Return the return value
801from that call. Arg is \(posn-point POS) if POS is a mouse event, 801from that call. Arg is \(posn-point POS) if POS is a mouse event.
802 802
803- Otherwise, return the value itself. 803- Otherwise, return the value itself.
804 804
diff --git a/lisp/pgg-def.el b/lisp/pgg-def.el
index 058dca4fa8f..6481a433423 100644
--- a/lisp/pgg-def.el
+++ b/lisp/pgg-def.el
@@ -87,7 +87,7 @@ Whether the passphrase is cached at all is controlled by
87 "If t, inform the recipient that the input is text.") 87 "If t, inform the recipient that the input is text.")
88 88
89(defmacro pgg-truncate-key-identifier (key) 89(defmacro pgg-truncate-key-identifier (key)
90 `(if (> (length ,key) 8) (substring ,key 8) ,key)) 90 `(if (> (length ,key) 8) (substring ,key -8) ,key))
91 91
92(provide 'pgg-def) 92(provide 'pgg-def)
93 93
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 9dc74264da8..bc00d859c2d 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -1208,60 +1208,36 @@ If you use ada-xref.el:
1208 ff-file-created-hook 'ada-make-body) 1208 ff-file-created-hook 'ada-make-body)
1209 (add-hook 'ff-pre-load-hook 'ada-which-function-are-we-in) 1209 (add-hook 'ff-pre-load-hook 'ada-which-function-are-we-in)
1210 1210
1211 ;; Some special constructs for find-file.el 1211 ;; Some special constructs for find-file.el.
1212 ;; We do not need to add the construction for 'with', which is in the
1213 ;; standard find-file.el
1214 (make-local-variable 'ff-special-constructs) 1212 (make-local-variable 'ff-special-constructs)
1215 1213 (mapc (lambda (pair)
1216 ;; Go to the parent package : 1214 (add-to-list 'ff-special-constructs pair))
1217 (add-to-list 'ff-special-constructs 1215 `(
1218 (cons (eval-when-compile 1216 ;; Go to the parent package.
1219 (concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+" 1217 (,(eval-when-compile
1220 "\\(body[ \t]+\\)?" 1218 (concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+"
1221 "\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is")) 1219 "\\(body[ \t]+\\)?"
1222 (lambda () 1220 "\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is"))
1223 (if (fboundp 'ff-get-file) 1221 . ,(lambda ()
1224 (if (boundp 'fname) 1222 (ff-get-file
1225 (set 'fname (ff-get-file 1223 ada-search-directories-internal
1226 ada-search-directories-internal 1224 (ada-make-filename-from-adaname (match-string 3))
1227 (ada-make-filename-from-adaname 1225 ada-spec-suffixes)))
1228 (match-string 3)) 1226 ;; A "separate" clause.
1229 ada-spec-suffixes))))))) 1227 ("^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))"
1230 ;; Another special construct for find-file.el : when in a separate clause, 1228 . ,(lambda ()
1231 ;; go to the correct package. 1229 (ff-get-file
1232 (add-to-list 'ff-special-constructs 1230 ada-search-directories-internal
1233 (cons "^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))" 1231 (ada-make-filename-from-adaname (match-string 1))
1234 (lambda () 1232 ada-spec-suffixes)))
1235 (if (fboundp 'ff-get-file) 1233 ;; A "with" clause.
1236 (if (boundp 'fname) 1234 ("^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)"
1237 (setq fname (ff-get-file 1235 . ,(lambda ()
1238 ada-search-directories-internal 1236 (ff-get-file
1239 (ada-make-filename-from-adaname 1237 ada-search-directories-internal
1240 (match-string 1)) 1238 (ada-make-filename-from-adaname (match-string 1))
1241 ada-spec-suffixes))))))) 1239 ada-spec-suffixes)))
1242 1240 ))
1243 ;; Another special construct, that redefines the one in find-file.el. The
1244 ;; old one can handle only one possible type of extension for Ada files
1245 ;; remove from the list the standard "with..." that is put by find-file.el,
1246 ;; since it uses the old ada-spec-suffix variable
1247 ;; This one needs to replace the standard one defined in find-file.el (with
1248 ;; Emacs <= 20.4), since that one uses the old variable ada-spec-suffix
1249 (let ((old-construct
1250 (assoc "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)" ff-special-constructs))
1251 (new-cdr
1252 (lambda ()
1253 (if (fboundp 'ff-get-file)
1254 (if (boundp 'fname)
1255 (set 'fname (ff-get-file
1256 ada-search-directories-internal
1257 (ada-make-filename-from-adaname
1258 (match-string 1))
1259 ada-spec-suffixes)))))))
1260 (if old-construct
1261 (setcdr old-construct new-cdr)
1262 (add-to-list 'ff-special-constructs
1263 (cons "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)"
1264 new-cdr))))
1265 1241
1266 ;; Support for outline-minor-mode 1242 ;; Support for outline-minor-mode
1267 (set (make-local-variable 'outline-regexp) 1243 (set (make-local-variable 'outline-regexp)
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index e7a0d03cc55..d29e75e92f0 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -134,12 +134,18 @@
134 134
135(eval-and-compile 135(eval-and-compile
136 ;; These are used to collect the init forms from the subsequent 136 ;; These are used to collect the init forms from the subsequent
137 ;; `c-lang-defvar'. They are used to build the lambda in 137 ;; `c-lang-defvar' and `c-lang-setvar'. They are used to build the
138 ;; `c-make-init-lang-vars-fun' below. 138 ;; lambda in `c-make-init-lang-vars-fun' below, and to build `defvar's
139 ;; and `make-variable-buffer-local's in cc-engine and
140 ;; `make-local-variable's in `c-init-language-vars-for'.
139 (defvar c-lang-variable-inits nil) 141 (defvar c-lang-variable-inits nil)
140 (defvar c-lang-variable-inits-tail nil) 142 (defvar c-lang-variable-inits-tail nil)
141 (setq c-lang-variable-inits (list nil) 143 (setq c-lang-variable-inits (list nil)
142 c-lang-variable-inits-tail c-lang-variable-inits)) 144 c-lang-variable-inits-tail c-lang-variable-inits)
145 (defvar c-emacs-variable-inits nil)
146 (defvar c-emacs-variable-inits-tail nil)
147 (setq c-emacs-variable-inits (list nil)
148 c-emacs-variable-inits-tail c-emacs-variable-inits))
143 149
144(defmacro c-lang-defvar (var val &optional doc) 150(defmacro c-lang-defvar (var val &optional doc)
145 "Declares the buffer local variable VAR to get the value VAL. VAL is 151 "Declares the buffer local variable VAR to get the value VAL. VAL is
@@ -172,6 +178,25 @@ the evaluated constant value at compile time."
172 ;; Return the symbol, like the other def* forms. 178 ;; Return the symbol, like the other def* forms.
173 `',var) 179 `',var)
174 180
181(defmacro c-lang-setvar (var val)
182 "Causes the variable VAR to be made buffer local and to get set to the
183value VAL. VAL is evaluated and assigned at mode initialization. More
184precisely, VAL is evaluated and bound to VAR when the result from the
185macro `c-init-language-vars' is evaluated. VAR is typically a standard
186Emacs variable like `comment-start'.
187
188`c-lang-const' is typically used in VAL to get the right value for the
189language being initialized, and such calls will be macro expanded to
190the evaluated constant value at compile time."
191 (let ((elem (assq var (cdr c-emacs-variable-inits))))
192 (if elem
193 (setcdr elem (list val)) ; Maybe remove "list", sometime. 2006-07-19
194 (setcdr c-emacs-variable-inits-tail (list (list var val)))
195 (setq c-emacs-variable-inits-tail (cdr c-emacs-variable-inits-tail))))
196
197 ;; Return the symbol, like the other def* forms.
198 `',var)
199
175(put 'c-lang-defvar 'lisp-indent-function 'defun) 200(put 'c-lang-defvar 'lisp-indent-function 'defun)
176; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el. 201; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el.
177; ' 202; '
@@ -1103,8 +1128,7 @@ properly."
1103 ;; In C we still default to the block comment style since line 1128 ;; In C we still default to the block comment style since line
1104 ;; comments aren't entirely portable. 1129 ;; comments aren't entirely portable.
1105 c "/* ") 1130 c "/* ")
1106(c-lang-defvar comment-start (c-lang-const comment-start) 1131(c-lang-setvar comment-start (c-lang-const comment-start))
1107 'dont-doc)
1108 1132
1109(c-lang-defconst comment-end 1133(c-lang-defconst comment-end
1110 "String that ends comments inserted with M-; etc. 1134 "String that ends comments inserted with M-; etc.
@@ -1117,8 +1141,7 @@ properly."
1117 (c-lang-const comment-start)) 1141 (c-lang-const comment-start))
1118 (concat " " (c-lang-const c-block-comment-ender)) 1142 (concat " " (c-lang-const c-block-comment-ender))
1119 "")) 1143 ""))
1120(c-lang-defvar comment-end (c-lang-const comment-end) 1144(c-lang-setvar comment-end (c-lang-const comment-end))
1121 'dont-doc)
1122 1145
1123(c-lang-defconst comment-start-skip 1146(c-lang-defconst comment-start-skip
1124 "Regexp to match the start of a comment plus everything up to its body. 1147 "Regexp to match the start of a comment plus everything up to its body.
@@ -1134,8 +1157,7 @@ properly."
1134 (c-lang-const c-block-comment-starter))) 1157 (c-lang-const c-block-comment-starter)))
1135 "\\|") 1158 "\\|")
1136 "\\)\\s *")) 1159 "\\)\\s *"))
1137(c-lang-defvar comment-start-skip (c-lang-const comment-start-skip) 1160(c-lang-setvar comment-start-skip (c-lang-const comment-start-skip))
1138 'dont-doc)
1139 1161
1140(c-lang-defconst c-syntactic-ws-start 1162(c-lang-defconst c-syntactic-ws-start
1141 ;; Regexp matching any sequence that can start syntactic whitespace. 1163 ;; Regexp matching any sequence that can start syntactic whitespace.
@@ -2806,9 +2828,10 @@ way."
2806;;; Wrap up the `c-lang-defvar' system. 2828;;; Wrap up the `c-lang-defvar' system.
2807 2829
2808;; Compile in the list of language variables that has been collected 2830;; Compile in the list of language variables that has been collected
2809;; with the `c-lang-defvar' macro. Note that the first element is 2831;; with the `c-lang-defvar' and `c-lang-setvar' macros. Note that the
2810;; nil. 2832;; first element of each is nil.
2811(defconst c-lang-variable-inits (cc-eval-when-compile c-lang-variable-inits)) 2833(defconst c-lang-variable-inits (cc-eval-when-compile c-lang-variable-inits))
2834(defconst c-emacs-variable-inits (cc-eval-when-compile c-emacs-variable-inits))
2812 2835
2813(defun c-make-init-lang-vars-fun (mode) 2836(defun c-make-init-lang-vars-fun (mode)
2814 "Create a function that initializes all the language dependent variables 2837 "Create a function that initializes all the language dependent variables
@@ -2841,12 +2864,16 @@ accomplish that conveniently."
2841 ;; `c-lang-const' will expand to the evaluated 2864 ;; `c-lang-const' will expand to the evaluated
2842 ;; constant immediately in `cl-macroexpand-all' 2865 ;; constant immediately in `cl-macroexpand-all'
2843 ;; below. 2866 ;; below.
2844 (mapcan 2867 (mapcan
2845 (lambda (init) 2868 (lambda (init)
2846 `(current-var ',(car init) 2869 `(current-var ',(car init)
2847 ,(car init) ,(cl-macroexpand-all 2870 ,(car init) ,(cl-macroexpand-all
2848 (elt init 1)))) 2871 (elt init 1))))
2849 (cdr c-lang-variable-inits)))) 2872 ;; Note: The following `append' copies the
2873 ;; first argument. That list is small, so
2874 ;; this doesn't matter too much.
2875 (append (cdr c-emacs-variable-inits)
2876 (cdr c-lang-variable-inits)))))
2850 2877
2851 ;; This diagnostic message isn't useful for end 2878 ;; This diagnostic message isn't useful for end
2852 ;; users, so it's disabled. 2879 ;; users, so it's disabled.
@@ -2859,7 +2886,8 @@ accomplish that conveniently."
2859 2886
2860 (require 'cc-langs) 2887 (require 'cc-langs)
2861 (setq source-eval t) 2888 (setq source-eval t)
2862 (let ((init (cdr c-lang-variable-inits))) 2889 (let ((init (append (cdr c-emacs-variable-inits)
2890 (cdr c-lang-variable-inits))))
2863 (while init 2891 (while init
2864 (setq current-var (caar init)) 2892 (setq current-var (caar init))
2865 (set (caar init) (eval (cadar init))) 2893 (set (caar init) (eval (cadar init)))
@@ -2867,7 +2895,7 @@ accomplish that conveniently."
2867 2895
2868 (error 2896 (error
2869 (if current-var 2897 (if current-var
2870 (message "Eval error in the `c-lang-defvar' for `%s'%s: %S" 2898 (message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s'%s: %S"
2871 current-var 2899 current-var
2872 (if source-eval 2900 (if source-eval
2873 (format "\ 2901 (format "\
@@ -2883,7 +2911,8 @@ accomplish that conveniently."
2883 `(lambda () 2911 `(lambda ()
2884 (require 'cc-langs) 2912 (require 'cc-langs)
2885 (let ((c-buffer-is-cc-mode ',mode) 2913 (let ((c-buffer-is-cc-mode ',mode)
2886 (init (cdr c-lang-variable-inits)) 2914 (init (append (cdr c-emacs-variable-inits)
2915 (cdr c-lang-variable-inits)))
2887 current-var) 2916 current-var)
2888 (condition-case err 2917 (condition-case err
2889 2918
@@ -2895,7 +2924,7 @@ accomplish that conveniently."
2895 (error 2924 (error
2896 (if current-var 2925 (if current-var
2897 (message 2926 (message
2898 "Eval error in the `c-lang-defvar' for `%s' (source eval): %S" 2927 "Eval error in the `c-lang-defvar' or `c-lang-setver' for `%s' (source eval): %S"
2899 current-var err) 2928 current-var err)
2900 (signal (car err) (cdr err))))))) 2929 (signal (car err) (cdr err)))))))
2901 )) 2930 ))
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 7343ec735ea..eb5ae4b63b6 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -153,12 +153,21 @@
153(defun c-leave-cc-mode-mode () 153(defun c-leave-cc-mode-mode ()
154 (setq c-buffer-is-cc-mode nil)) 154 (setq c-buffer-is-cc-mode nil))
155 155
156;; Make the `c-lang-setvar' variables buffer local in the current buffer.
157;; These are typically standard emacs variables such as `comment-start'.
158(defmacro c-make-emacs-variables-local ()
159 `(progn
160 ,@(mapcan (lambda (init)
161 `((make-local-variable ',(car init))))
162 (cdr c-emacs-variable-inits))))
163
156(defun c-init-language-vars-for (mode) 164(defun c-init-language-vars-for (mode)
157 "Initialize the language variables for one of the language modes 165 "Initialize the language variables for one of the language modes
158directly supported by CC Mode. This can be used instead of the 166directly supported by CC Mode. This can be used instead of the
159`c-init-language-vars' macro if the language you want to use is one of 167`c-init-language-vars' macro if the language you want to use is one of
160those, rather than a derived language defined through the language 168those, rather than a derived language defined through the language
161variable system (see \"cc-langs.el\")." 169variable system (see \"cc-langs.el\")."
170 (c-make-emacs-variables-local)
162 (cond ((eq mode 'c-mode) (c-init-language-vars c-mode)) 171 (cond ((eq mode 'c-mode) (c-init-language-vars c-mode))
163 ((eq mode 'c++-mode) (c-init-language-vars c++-mode)) 172 ((eq mode 'c++-mode) (c-init-language-vars c++-mode))
164 ((eq mode 'objc-mode) (c-init-language-vars objc-mode)) 173 ((eq mode 'objc-mode) (c-init-language-vars objc-mode))
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 3c63d5f01b1..e8c09113d39 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -226,14 +226,19 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
226 ;; I have no idea what this first line is supposed to match, but it 226 ;; I have no idea what this first line is supposed to match, but it
227 ;; makes things ambiguous with output such as "foo:344:50:blabla" since 227 ;; makes things ambiguous with output such as "foo:344:50:blabla" since
228 ;; the "foo" part can match this first line (in which case the file 228 ;; the "foo" part can match this first line (in which case the file
229 ;; name as "344"). To avoid this, we disallow filenames exclusively 229 ;; name as "344"). To avoid this, the second line disallows filenames
230 ;; composed of digits. --Stef 230 ;; exclusively composed of digits. --Stef
231 ;; Similarly, we get lots of false positives with messages including
232 ;; times of the form "HH:MM:SS" where MM is taken as a line number, so
233 ;; the last line tries to rule out message where the info after the
234 ;; line number starts with "SS". --Stef
231 "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\ 235 "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\
232\\([0-9]*[^0-9\n].*?\\): ?\ 236\\([0-9]*[^0-9\n].*?\\): ?\
233\\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\ 237\\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\
234\\(?:-\\([0-9]+\\)?\\(?:\\3\\([0-9]+\\)\\)?\\)?:\ 238\\(?:-\\([0-9]+\\)?\\(?:\\3\\([0-9]+\\)\\)?\\)?:\
235\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\ 239\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\
236 *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\)\\)?" 240 *\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\)\\|\
241\[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)"
237 1 (2 . 5) (4 . 6) (7 . 8)) 242 1 (2 . 5) (4 . 6) (7 . 8))
238 243
239 (lcc 244 (lcc
@@ -405,10 +410,7 @@ you may also want to change `compilation-page-delimiter'.")
405 "Value of `page-delimiter' in Compilation mode.") 410 "Value of `page-delimiter' in Compilation mode.")
406 411
407(defvar compilation-mode-font-lock-keywords 412(defvar compilation-mode-font-lock-keywords
408 '(;; Don't highlight this as a compilation message. 413 '(;; configure output lines.
409 ("^Compilation started at.*"
410 (0 '(face nil message nil help-echo nil mouse-face nil) t))
411 ;; configure output lines.
412 ("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$" 414 ("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$"
413 (1 font-lock-variable-name-face) 415 (1 font-lock-variable-name-face)
414 (2 (compilation-face '(4 . 3)))) 416 (2 (compilation-face '(4 . 3))))
@@ -419,7 +421,7 @@ you may also want to change `compilation-page-delimiter'.")
419 ("^Compilation \\(finished\\).*" 421 ("^Compilation \\(finished\\).*"
420 (0 '(face nil message nil help-echo nil mouse-face nil) t) 422 (0 '(face nil message nil help-echo nil mouse-face nil) t)
421 (1 compilation-info-face)) 423 (1 compilation-info-face))
422 ("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*" 424 ("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\|segmentation fault\\)\\(?:.*with code \\([0-9]+\\)\\)?.*"
423 (0 '(face nil message nil help-echo nil mouse-face nil) t) 425 (0 '(face nil message nil help-echo nil mouse-face nil) t)
424 (1 compilation-error-face) 426 (1 compilation-error-face)
425 (2 compilation-error-face nil t))) 427 (2 compilation-error-face nil t)))
@@ -1823,28 +1825,44 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1823 (find-file-noselect name)) 1825 (find-file-noselect name))
1824 fmts (cdr fmts))) 1826 fmts (cdr fmts)))
1825 (setq dirs (cdr dirs))) 1827 (setq dirs (cdr dirs)))
1826 (or buffer 1828 (while (null buffer) ;Repeat until the user selects an existing file.
1827 ;; The file doesn't exist. Ask the user where to find it. 1829 ;; The file doesn't exist. Ask the user where to find it.
1828 (save-excursion ;This save-excursion is probably not right. 1830 (save-excursion ;This save-excursion is probably not right.
1829 (let ((pop-up-windows t)) 1831 (let ((pop-up-windows t))
1830 (compilation-set-window (display-buffer (marker-buffer marker)) 1832 (compilation-set-window (display-buffer (marker-buffer marker))
1831 marker) 1833 marker)
1832 (let ((name (expand-file-name 1834 (let* ((name (read-file-name
1833 (read-file-name 1835 (format "Find this %s in (default %s): "
1834 (format "Find this %s in (default %s): " 1836 compilation-error filename)
1835 compilation-error filename) 1837 spec-dir filename t nil
1836 spec-dir filename t)))) 1838 ;; Try to make sure the user can only select
1837 (if (file-directory-p name) 1839 ;; a valid answer. This predicate may be ignored,
1838 (setq name (expand-file-name filename name))) 1840 ;; tho, so we still have to double-check afterwards.
1839 (setq buffer (and (file-exists-p name) 1841 ;; TODO: We should probably fix read-file-name so
1840 (find-file-noselect name))))))) 1842 ;; that it never ignores this predicate, even when
1843 ;; using popup dialog boxes.
1844 (lambda (name)
1845 (if (file-directory-p name)
1846 (setq name (expand-file-name filename name)))
1847 (file-exists-p name))))
1848 (origname name))
1849 (cond
1850 ((not (file-exists-p name))
1851 (message "Cannot find file `%s'" name)
1852 (ding) (sit-for 2))
1853 ((and (file-directory-p name)
1854 (not (file-exists-p
1855 (setq name (expand-file-name filename name)))))
1856 (message "No `%s' in directory %s" filename origname)
1857 (ding) (sit-for 2))
1858 (t
1859 (setq buffer (find-file-noselect name))))))))
1841 ;; Make intangible overlays tangible. 1860 ;; Make intangible overlays tangible.
1842 ;; This is very weird: it's not even clear which is the current buffer, 1861 ;; This is weird: it's not even clear which is the current buffer,
1843 ;; so the code below can't be expected to DTRT here. --Stef 1862 ;; so the code below can't be expected to DTRT here. -- Stef
1844 (mapcar (function (lambda (ov) 1863 (dolist (ov (overlays-in (point-min) (point-max)))
1845 (when (overlay-get ov 'intangible) 1864 (when (overlay-get ov 'intangible)
1846 (overlay-put ov 'intangible nil)))) 1865 (overlay-put ov 'intangible nil)))
1847 (overlays-in (point-min) (point-max)))
1848 buffer)) 1866 buffer))
1849 1867
1850(defun compilation-get-file-structure (file &optional fmt) 1868(defun compilation-get-file-structure (file &optional fmt)
diff --git a/lisp/progmodes/delphi.el b/lisp/progmodes/delphi.el
index 03ab24adf47..44a192ab772 100644
--- a/lisp/progmodes/delphi.el
+++ b/lisp/progmodes/delphi.el
@@ -1767,6 +1767,7 @@ it is a routine."
1767An error is raised if not in a comment." 1767An error is raised if not in a comment."
1768 (interactive) 1768 (interactive)
1769 (save-excursion 1769 (save-excursion
1770 (save-restriction
1770 (let* ((comment (delphi-current-token)) 1771 (let* ((comment (delphi-current-token))
1771 (comment-kind (delphi-token-kind comment))) 1772 (comment-kind (delphi-token-kind comment)))
1772 (if (not (delphi-is comment-kind delphi-comments)) 1773 (if (not (delphi-is comment-kind delphi-comments))
@@ -1845,7 +1846,7 @@ An error is raised if not in a comment."
1845 ;; React to the entire fill change as a whole. 1846 ;; React to the entire fill change as a whole.
1846 (delphi-progress-start) 1847 (delphi-progress-start)
1847 (delphi-parse-region comment-start comment-end) 1848 (delphi-parse-region comment-start comment-end)
1848 (delphi-progress-done)))))) 1849 (delphi-progress-done)))))))
1849 1850
1850(defun delphi-new-comment-line () 1851(defun delphi-new-comment-line ()
1851 "If in a // comment, does a newline, indented such that one is still in the 1852 "If in a // comment, does a newline, indented such that one is still in the
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 810a7b3e973..dca6fa16df0 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -434,7 +434,8 @@ With arg, use separate IO iff arg is positive."
434 (make-local-variable 'gdb-define-alist) 434 (make-local-variable 'gdb-define-alist)
435 (gdb-create-define-alist) 435 (gdb-create-define-alist)
436 (add-hook 'after-save-hook 'gdb-create-define-alist nil t)))))) 436 (add-hook 'after-save-hook 'gdb-create-define-alist nil t))))))
437 (gdb-force-mode-line-update "ready")) 437 (gdb-force-mode-line-update
438 (propertize "ready" 'face font-lock-variable-name-face)))
438 439
439(defun gdb-find-watch-expression () 440(defun gdb-find-watch-expression ()
440 (let* ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list)) 441 (let* ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list))
@@ -1209,7 +1210,8 @@ This filter may simply queue input for a later time."
1209(defun gdb-resync() 1210(defun gdb-resync()
1210 (setq gdb-flush-pending-output t) 1211 (setq gdb-flush-pending-output t)
1211 (setq gud-running nil) 1212 (setq gud-running nil)
1212 (gdb-force-mode-line-update "stopped") 1213 (gdb-force-mode-line-update
1214 (propertize "stopped"'face font-lock-warning-face))
1213 (setq gdb-output-sink 'user) 1215 (setq gdb-output-sink 'user)
1214 (setq gdb-input-queue nil) 1216 (setq gdb-input-queue nil)
1215 (setq gdb-pending-triggers nil) 1217 (setq gdb-pending-triggers nil)
@@ -1249,7 +1251,8 @@ happens to be in effect."
1249 "An annotation handler for `prompt'. 1251 "An annotation handler for `prompt'.
1250This sends the next command (if any) to gdb." 1252This sends the next command (if any) to gdb."
1251 (when gdb-first-prompt 1253 (when gdb-first-prompt
1252 (gdb-force-mode-line-update "initializing...") 1254 (gdb-force-mode-line-update
1255 (propertize "initializing..." 'face font-lock-variable-name-face))
1253 (gdb-init-1) 1256 (gdb-init-1)
1254 (setq gdb-first-prompt nil)) 1257 (setq gdb-first-prompt nil))
1255 (let ((sink gdb-output-sink)) 1258 (let ((sink gdb-output-sink))
@@ -1287,7 +1290,8 @@ not GDB."
1287 (progn 1290 (progn
1288 (setq gud-running t) 1291 (setq gud-running t)
1289 (setq gdb-inferior-status "running") 1292 (setq gdb-inferior-status "running")
1290 (gdb-force-mode-line-update gdb-inferior-status) 1293 (gdb-force-mode-line-update
1294 (propertize gdb-inferior-status 'face font-lock-type-face))
1291 (gdb-remove-text-properties) 1295 (gdb-remove-text-properties)
1292 (setq gud-old-arrow gud-overlay-arrow-position) 1296 (setq gud-old-arrow gud-overlay-arrow-position)
1293 (setq gud-overlay-arrow-position nil) 1297 (setq gud-overlay-arrow-position nil)
@@ -1300,7 +1304,8 @@ not GDB."
1300 1304
1301(defun gdb-signal (ignored) 1305(defun gdb-signal (ignored)
1302 (setq gdb-inferior-status "signal") 1306 (setq gdb-inferior-status "signal")
1303 (gdb-force-mode-line-update gdb-inferior-status) 1307 (gdb-force-mode-line-update
1308 (propertize gdb-inferior-status 'face font-lock-warning-face))
1304 (gdb-stopping ignored)) 1309 (gdb-stopping ignored))
1305 1310
1306(defun gdb-stopping (ignored) 1311(defun gdb-stopping (ignored)
@@ -1327,7 +1332,8 @@ directives."
1327 (setq gdb-overlay-arrow-position nil) 1332 (setq gdb-overlay-arrow-position nil)
1328 (setq gud-old-arrow nil) 1333 (setq gud-old-arrow nil)
1329 (setq gdb-inferior-status "exited") 1334 (setq gdb-inferior-status "exited")
1330 (gdb-force-mode-line-update gdb-inferior-status) 1335 (gdb-force-mode-line-update
1336 (propertize gdb-inferior-status 'face font-lock-warning-face))
1331 (gdb-stopping ignored)) 1337 (gdb-stopping ignored))
1332 1338
1333(defun gdb-signalled (ignored) 1339(defun gdb-signalled (ignored)
@@ -1375,7 +1381,8 @@ sink to `user' in `gdb-stopping', that is fine."
1375 'delete))))) 1381 'delete)))))
1376 (unless (member gdb-inferior-status '("exited" "signal")) 1382 (unless (member gdb-inferior-status '("exited" "signal"))
1377 (setq gdb-inferior-status "stopped") 1383 (setq gdb-inferior-status "stopped")
1378 (gdb-force-mode-line-update gdb-inferior-status)) 1384 (gdb-force-mode-line-update
1385 (propertize gdb-inferior-status 'face font-lock-warning-face)))
1379 (let ((sink gdb-output-sink)) 1386 (let ((sink gdb-output-sink))
1380 (cond 1387 (cond
1381 ((eq sink 'inferior) 1388 ((eq sink 'inferior)
@@ -3268,7 +3275,8 @@ is set in them."
3268 (make-local-variable 'gdb-define-alist) 3275 (make-local-variable 'gdb-define-alist)
3269 (gdb-create-define-alist) 3276 (gdb-create-define-alist)
3270 (add-hook 'after-save-hook 'gdb-create-define-alist nil t))))) 3277 (add-hook 'after-save-hook 'gdb-create-define-alist nil t)))))
3271 (gdb-force-mode-line-update "ready")) 3278 (gdb-force-mode-line-update
3279 (propertize "ready" 'face font-lock-variable-name-face)))
3272 3280
3273; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards. 3281; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards.
3274(defun gdb-var-list-children-1 (varnum) 3282(defun gdb-var-list-children-1 (varnum)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 37d4952058b..e7d85910a63 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -155,7 +155,7 @@ The following place holders should be present in the string:
155 :type 'alist 155 :type 'alist
156 :group 'grep) 156 :group 'grep)
157 157
158(defcustom grep-find-ignored-directories '("CVS" ".hg" "{arch}") 158(defcustom grep-find-ignored-directories '("CVS" ".svn" "{arch}" ".hg" "_darcs")
159 "*List of names of sub-directories which `rgrep' shall not recurse into." 159 "*List of names of sub-directories which `rgrep' shall not recurse into."
160 :type '(repeat string) 160 :type '(repeat string)
161 :group 'grep) 161 :group 'grep)
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el
index bdc8161c80f..f4c117fd935 100644
--- a/lisp/progmodes/idlw-shell.el
+++ b/lisp/progmodes/idlw-shell.el
@@ -4384,7 +4384,7 @@ idlwave-shell-electric-debug-mode-map)
4384 ["Edit Default Cmd" idlwave-shell-edit-default-command-line t]) 4384 ["Edit Default Cmd" idlwave-shell-edit-default-command-line t])
4385 ("Breakpoints" 4385 ("Breakpoints"
4386 ["Set Breakpoint" idlwave-shell-break-here 4386 ["Set Breakpoint" idlwave-shell-break-here
4387 :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)] 4387 :keys "C-c C-d C-b" :active (eq major-mode 'idlwave-mode)]
4388 ("Set Special Breakpoint" 4388 ("Set Special Breakpoint"
4389 ["Set After Count Breakpoint" 4389 ["Set After Count Breakpoint"
4390 (progn 4390 (progn
diff --git a/lisp/progmodes/ld-script.el b/lisp/progmodes/ld-script.el
index ec12468e5d9..4f0159c5992 100644
--- a/lisp/progmodes/ld-script.el
+++ b/lisp/progmodes/ld-script.el
@@ -74,25 +74,55 @@
74 "Syntax table used while in `ld-script-mode'.") 74 "Syntax table used while in `ld-script-mode'.")
75 75
76;; Font lock keywords 76;; Font lock keywords
77;; (The section number comes from ld's info.)
77(defvar ld-script-keywords 78(defvar ld-script-keywords
78 '("ENTRY" "INCLUDE" "INPUT" "GROUP" 79 '(
79 "OUTPUT" "SEARCH_DIR" "STARTUP" 80 ;; 3.4.1 Setting the Entry Point
81 "ENTRY"
82 ;; 3.4.2 Commands Dealing with Files
83 "INCLUDE" "INPUT" "GROUP" "AS_NEEDED" "OUTPUT" "SEARCH_DIR" "STARTUP"
84 ;; 3.4.3 Commands Dealing with Object File Formats
80 "OUTPUT_FORMAT" "TARGET" 85 "OUTPUT_FORMAT" "TARGET"
81 "ASSERT" "EXTERN" "FORCE_COMMON_ALLOCATION" "NOCROSSREFS" "OUTPUT_ARCH" 86 ;; 3.4.3 Other Linker Script Commands
87 "ASSERT" "EXTERN" "FORCE_COMMON_ALLOCATION"
88 "INHIBIT_COMMON_ALLOCATION" "NOCROSSREFS" "OUTPUT_ARCH"
89 ;; 3.5.2 PROVIDE
82 "PROVIDE" 90 "PROVIDE"
83 "SECTIONS" "SORT" "COMMON" "KEEP" 91 ;; 3.5.3 PROVIDE_HIDDEN
84 "BYTE" "SHORT" "LONG" "QUAD" "SQAD" 92 "PROVIDE_HIDEN"
85 "FILL" 93 ;; 3.6 SECTIONS Command
86 "CREATE_OBJECT_SYMBOLS" 94 "SECTIONS"
87 "CONSTRUCTORS" 95 ;; 3.6.4.2 Input Section Wildcard Patterns
96 "SORT" "SORT_BY_NAME" "SORT_BY_ALIGNMENT"
97 ;; 3.6.4.3 Input Section for Common Symbols
98 "COMMON"
99 ;; 3.6.4.4 Input Section and Garbage Collection
100 "KEEP"
101 ;; 3.6.5 Output Section Data
102 "BYTE" "SHORT" "LONG" "QUAD" "SQUAD" "FILL"
103 ;; 3.6.6 Output Section Keywords
104 "CREATE_OBJECT_SYMBOLS" "CONSTRUCTORS"
105 "__CTOR_LIST__" "__CTOR_END__" "__DTOR_LIST__" "__DTOR_END__"
106 ;; 3.6.7 Output Section Discarding
107 ;; See `ld-script-font-lock-keywords'
108 ;; 3.6.8.1 Output Section Type
88 "NOLOAD" "DSECT" "COPY" "INFO" "OVERLAY" 109 "NOLOAD" "DSECT" "COPY" "INFO" "OVERLAY"
110 ;; 3.6.8.2 Output Section LMA
89 "AT" 111 "AT"
112 ;; 3.6.8.4 Forced Input Alignment
113 "SUBALIGN"
114 ;; 3.6.8.6 Output Section Phdr
115 ":PHDR"
116 ;; 3.7 MEMORY Command
90 "MEMORY" 117 "MEMORY"
118 ;; 3.8 PHDRS Command
91 "PHDRS" "FILEHDR" "FLAGS" 119 "PHDRS" "FILEHDR" "FLAGS"
92 "PT_NULL" "PT_LOAD" "PT_DYNAMIC" "PT_INTERP" "PT_NONE" "PT_SHLIB" "PT_PHDR" 120 "PT_NULL" "PT_LOAD" "PT_DYNAMIC" "PT_INTERP" "PT_NONE" "PT_SHLIB" "PT_PHDR"
121 ;; 3.9 VERSION Command
93 "VERSION") 122 "VERSION")
94 "Keywords used of GNU ld script.") 123 "Keywords used of GNU ld script.")
95 124
125;; 3.10.8 Builtin Functions
96(defvar ld-script-builtins 126(defvar ld-script-builtins
97 '("ABSOLUTE" 127 '("ABSOLUTE"
98 "ADDR" 128 "ADDR"
@@ -102,12 +132,12 @@
102 "DATA_SEGMENT_END" 132 "DATA_SEGMENT_END"
103 "DATA_SEGMENT_RELRO_END" 133 "DATA_SEGMENT_RELRO_END"
104 "DEFINED" 134 "DEFINED"
105 "LENGTH" 135 "LENGTH" "len" "l"
106 "LOADADDR" 136 "LOADADDR"
107 "MAX" 137 "MAX"
108 "MIN" 138 "MIN"
109 "NEXT" 139 "NEXT"
110 "ORIGIN" 140 "ORIGIN" "org" "o"
111 "SEGMENT_START" 141 "SEGMENT_START"
112 "SIZEOF" 142 "SIZEOF"
113 "SIZEOF_HEADERS" 143 "SIZEOF_HEADERS"
@@ -120,7 +150,10 @@
120 1 font-lock-keyword-face) 150 1 font-lock-keyword-face)
121 (,(regexp-opt ld-script-builtins 'words) 151 (,(regexp-opt ld-script-builtins 'words)
122 1 font-lock-builtin-face) 152 1 font-lock-builtin-face)
123 ("/DISCARD/" . font-lock-warning-face) 153 ;; 3.6.7 Output Section Discarding
154 ;; 3.6.4.1 Input Section Basics
155 ;; 3.6.8.6 Output Section Phdr
156 ("/DISCARD/\\|EXCLUDE_FILE\\|:NONE" . font-lock-warning-face)
124 ("\\W\\(\\.\\)\\W" 1 ld-script-location-counter-face) 157 ("\\W\\(\\.\\)\\W" 1 ld-script-location-counter-face)
125 ) 158 )
126 cpp-font-lock-keywords) 159 cpp-font-lock-keywords)
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index ef80d28c578..6098c8be067 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -980,47 +980,55 @@ Point is at the beginning of the next line."
980 (re-search-forward sh-here-doc-re limit t)) 980 (re-search-forward sh-here-doc-re limit t))
981 981
982(defun sh-quoted-subshell (limit) 982(defun sh-quoted-subshell (limit)
983 "Search for a subshell embedded in a string. Find all the unescaped 983 "Search for a subshell embedded in a string.
984\" characters within said subshell, remembering that subshells can nest." 984Find all the unescaped \" characters within said subshell, remembering that
985 (if (re-search-forward "\"\\(?:.\\|\n\\)*?\\(\\$(\\|`\\)" limit t) 985subshells can nest."
986 ;; bingo we have a $( or a ` inside a "" 986 ;; FIXME: This can (and often does) match multiple lines, yet it makes no
987 (let ((char (char-after (point))) 987 ;; effort to handle multiline cases correctly, so it ends up being
988 (continue t) 988 ;; rather flakey.
989 (pos (point)) 989 (when (re-search-forward "\"\\(?:\\(?:.\\|\n\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" limit t)
990 (data nil) ;; value to put into match-data (and return) 990 ;; bingo we have a $( or a ` inside a ""
991 (last nil) ;; last char seen 991 (let ((char (char-after (point)))
992 (bq (equal (match-string 1) "`")) ;; ` state flip-flop 992 (continue t)
993 (seen nil) ;; list of important positions 993 (pos (point))
994 (nest 1)) ;; subshell nesting level 994 (data nil) ;; value to put into match-data (and return)
995 (while (and continue char (<= pos limit)) 995 (last nil) ;; last char seen
996 ;; unescaped " inside a $( ... ) construct. 996 (bq (equal (match-string 1) "`")) ;; ` state flip-flop
997 ;; state machine time... 997 (seen nil) ;; list of important positions
998 ;; \ => ignore next char; 998 (nest 1)) ;; subshell nesting level
999 ;; ` => increase or decrease nesting level based on bq flag 999 (while (and continue char (<= pos limit))
1000 ;; ) [where nesting > 0] => decrease nesting 1000 ;; unescaped " inside a $( ... ) construct.
1001 ;; ( [where nesting > 0] => increase nesting 1001 ;; state machine time...
1002 ;; ( [preceeded by $ ] => increase nesting 1002 ;; \ => ignore next char;
1003 ;; " [nesting <= 0 ] => terminate, we're done. 1003 ;; ` => increase or decrease nesting level based on bq flag
1004 ;; " [nesting > 0 ] => remember this, it's not a proper " 1004 ;; ) [where nesting > 0] => decrease nesting
1005 (if (eq ?\\ last) nil 1005 ;; ( [where nesting > 0] => increase nesting
1006 (if (eq ?\` char) (setq nest (+ nest (if bq -1 1)) bq (not bq)) 1006 ;; ( [preceeded by $ ] => increase nesting
1007 (if (and (> nest 0) (eq ?\) char)) (setq nest (1- nest)) 1007 ;; " [nesting <= 0 ] => terminate, we're done.
1008 (if (and (eq ?$ last) (eq ?\( char)) (setq nest (1+ nest)) 1008 ;; " [nesting > 0 ] => remember this, it's not a proper "
1009 (if (and (> nest 0) (eq ?\( char)) (setq nest (1+ nest)) 1009 ;; FIXME: don't count parens that appear within quotes.
1010 (if (eq char ?\") 1010 (cond
1011 (if (>= 0 nest) (setq continue nil) 1011 ((eq ?\\ last) nil)
1012 (setq seen (cons pos seen)) ) )))))) 1012 ((eq ?\` char) (setq nest (+ nest (if bq -1 1)) bq (not bq)))
1013 ;;(message "POS: %d [%d]" pos nest) 1013 ((and (> nest 0) (eq ?\) char)) (setq nest (1- nest)))
1014 (setq last char 1014 ((and (eq ?$ last) (eq ?\( char)) (setq nest (1+ nest)))
1015 pos (1+ pos) 1015 ((and (> nest 0) (eq ?\( char)) (setq nest (1+ nest)))
1016 char (char-after pos)) ) 1016 ((eq char ?\")
1017 (when seen 1017 (if (>= 0 nest) (setq continue nil) (push pos seen))))
1018 ;;(message "SEEN: %S" seen) 1018 ;;(message "POS: %d [%d]" pos nest)
1019 (setq data (list (current-buffer))) 1019 (setq last char
1020 (mapc (lambda (P) 1020 pos (1+ pos)
1021 (setq data (cons P (cons (1+ P) data)) ) ) seen) 1021 char (char-after pos)) )
1022 (store-match-data data)) 1022 ;; FIXME: why construct a costly match data to pass to
1023 data) )) 1023 ;; sh-apply-quoted-subshell rather than apply the highlight
1024 ;; directly here? -- Stef
1025 (when seen
1026 ;;(message "SEEN: %S" seen)
1027 (setq data (list (current-buffer)))
1028 (dolist(P seen)
1029 (setq data (cons P (cons (1+ P) data))))
1030 (store-match-data data))
1031 data) ))
1024 1032
1025(defun sh-is-quoted-p (pos) 1033(defun sh-is-quoted-p (pos)
1026 (and (eq (char-before pos) ?\\) 1034 (and (eq (char-before pos) ?\\)
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 8ca7eb188ec..b622e536d26 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -262,11 +262,11 @@ It calls them sequentially, and if any returns non-nil,
262 262
263(defun which-function () 263(defun which-function ()
264 "Return current function name based on point. 264 "Return current function name based on point.
265Uses `which-function-functions', `imenu--index-alist' 265Uses `which-func-functions', `imenu--index-alist'
266or `add-log-current-defun-function'. 266or `add-log-current-defun-function'.
267If no function name is found, return nil." 267If no function name is found, return nil."
268 (let ((name 268 (let ((name
269 ;; Try the `which-function-functions' functions first. 269 ;; Try the `which-func-functions' functions first.
270 (run-hook-with-args-until-success 'which-func-functions))) 270 (run-hook-with-args-until-success 'which-func-functions)))
271 271
272 ;; If Imenu is loaded, try to make an index alist with it. 272 ;; If Imenu is loaded, try to make an index alist with it.
diff --git a/lisp/replace.el b/lisp/replace.el
index 2f8fe86860c..4275aef8d87 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1283,8 +1283,8 @@ N (match-string N) (where N is a string of digits)
1283# replace-count 1283# replace-count
1284 1284
1285Note that these symbols must be preceeded by a backslash in order to 1285Note that these symbols must be preceeded by a backslash in order to
1286type them." 1286type them using Lisp syntax."
1287 (while n 1287 (while (consp n)
1288 (cond 1288 (cond
1289 ((consp (car n)) 1289 ((consp (car n))
1290 (replace-match-string-symbols (car n))) ;Process sub-list 1290 (replace-match-string-symbols (car n))) ;Process sub-list
diff --git a/lisp/startup.el b/lisp/startup.el
index 0ec53f98ae7..5a6b4089770 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -254,14 +254,16 @@ this variable usefully is to set it while building and dumping Emacs."
254 :group 'mail) 254 :group 'mail)
255 255
256(defcustom user-mail-address (if command-line-processed 256(defcustom user-mail-address (if command-line-processed
257 (concat (user-login-name) "@" 257 (or (getenv "EMAIL")
258 (or mail-host-address 258 (concat (user-login-name) "@"
259 (system-name))) 259 (or mail-host-address
260 (system-name))))
260 ;; Empty string means "not set yet". 261 ;; Empty string means "not set yet".
261 "") 262 "")
262 "*Full mailing address of this user. 263 "*Full mailing address of this user.
263This is initialized based on `mail-host-address', 264This is initialized with environment variable `EMAIL' or, as a
264after your init file is read, in case it sets `mail-host-address'." 265fallback, using `mail-host-address'. This is done after your
266init file is read, in case it sets `mail-host-address'."
265 :type 'string 267 :type 'string
266 :group 'mail) 268 :group 'mail)
267 269
@@ -984,9 +986,10 @@ opening the first frame (e.g. open a connection to an X server).")
984 986
985 ;; Do this here in case the init file sets mail-host-address. 987 ;; Do this here in case the init file sets mail-host-address.
986 (if (equal user-mail-address "") 988 (if (equal user-mail-address "")
987 (setq user-mail-address (concat (user-login-name) "@" 989 (setq user-mail-address (or (getenv "EMAIL")
988 (or mail-host-address 990 (concat (user-login-name) "@"
989 (system-name))))) 991 (or mail-host-address
992 (system-name))))))
990 993
991 ;; Originally face attributes were specified via 994 ;; Originally face attributes were specified via
992 ;; `font-lock-face-attributes'. Users then changed the default 995 ;; `font-lock-face-attributes'. Users then changed the default
diff --git a/lisp/subr.el b/lisp/subr.el
index 9b5d5f47ef2..6d35171bf04 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -108,6 +108,9 @@ change the list."
108 (declare (indent 1) (debug t)) 108 (declare (indent 1) (debug t))
109 (cons 'if (cons cond (cons nil body)))) 109 (cons 'if (cons cond (cons nil body))))
110 110
111(defvar --dolist-tail-- nil
112 "Temporary variable used in `dolist' expansion.")
113
111(defmacro dolist (spec &rest body) 114(defmacro dolist (spec &rest body)
112 "Loop over a list. 115 "Loop over a list.
113Evaluate BODY with VAR bound to each car from LIST, in turn. 116Evaluate BODY with VAR bound to each car from LIST, in turn.
@@ -115,16 +118,22 @@ Then evaluate RESULT to get return value, default nil.
115 118
116\(fn (VAR LIST [RESULT]) BODY...)" 119\(fn (VAR LIST [RESULT]) BODY...)"
117 (declare (indent 1) (debug ((symbolp form &optional form) body))) 120 (declare (indent 1) (debug ((symbolp form &optional form) body)))
118 (let ((temp (make-symbol "--dolist-temp--"))) 121 ;; It would be cleaner to create an uninterned symbol,
122 ;; but that uses a lot more space when many functions in many files
123 ;; use dolist.
124 (let ((temp '--dolist-tail--))
119 `(let ((,temp ,(nth 1 spec)) 125 `(let ((,temp ,(nth 1 spec))
120 ,(car spec)) 126 ,(car spec))
121 (while ,temp 127 (while ,temp
122 (setq ,(car spec) (car ,temp)) 128 (setq ,(car spec) (car ,temp))
123 (setq ,temp (cdr ,temp)) 129 ,@body
124 ,@body) 130 (setq ,temp (cdr ,temp)))
125 ,@(if (cdr (cdr spec)) 131 ,@(if (cdr (cdr spec))
126 `((setq ,(car spec) nil) ,@(cdr (cdr spec))))))) 132 `((setq ,(car spec) nil) ,@(cdr (cdr spec)))))))
127 133
134(defvar --dotimes-limit-- nil
135 "Temporary variable used in `dotimes' expansion.")
136
128(defmacro dotimes (spec &rest body) 137(defmacro dotimes (spec &rest body)
129 "Loop a certain number of times. 138 "Loop a certain number of times.
130Evaluate BODY with VAR bound to successive integers running from 0, 139Evaluate BODY with VAR bound to successive integers running from 0,
@@ -133,7 +142,10 @@ the return value (nil if RESULT is omitted).
133 142
134\(fn (VAR COUNT [RESULT]) BODY...)" 143\(fn (VAR COUNT [RESULT]) BODY...)"
135 (declare (indent 1) (debug dolist)) 144 (declare (indent 1) (debug dolist))
136 (let ((temp (make-symbol "--dotimes-temp--")) 145 ;; It would be cleaner to create an uninterned symbol,
146 ;; but that uses a lot more space when many functions in many files
147 ;; use dotimes.
148 (let ((temp '--dotimes-limit--)
137 (start 0) 149 (start 0)
138 (end (nth 1 spec))) 150 (end (nth 1 spec)))
139 `(let ((,temp ,end) 151 `(let ((,temp ,end)
@@ -1721,22 +1733,13 @@ floating point support.
1721 (when (or obsolete (numberp nodisp)) 1733 (when (or obsolete (numberp nodisp))
1722 (setq seconds (+ seconds (* 1e-3 nodisp))) 1734 (setq seconds (+ seconds (* 1e-3 nodisp)))
1723 (setq nodisp obsolete)) 1735 (setq nodisp obsolete))
1724 (unless nodisp 1736 (if noninteractive
1725 (redisplay)) 1737 (progn (sleep-for seconds) t)
1726 (or (<= seconds 0) 1738 (unless nodisp (redisplay))
1727 (let ((timer (timer-create)) 1739 (or (<= seconds 0)
1728 (echo-keystrokes 0)) 1740 (let ((read (read-event nil nil seconds)))
1729 (if (catch 'sit-for-timeout 1741 (or (null read)
1730 (timer-set-time timer (timer-relative-time 1742 (progn (push read unread-command-events) nil))))))
1731 (current-time) seconds))
1732 (timer-set-function timer 'with-timeout-handler
1733 '(sit-for-timeout))
1734 (timer-activate timer)
1735 (push (read-event) unread-command-events)
1736 nil)
1737 t
1738 (cancel-timer timer)
1739 nil))))
1740 1743
1741;;; Atomic change groups. 1744;;; Atomic change groups.
1742 1745
@@ -2547,8 +2550,9 @@ STRING should be given if the last search was by `string-match' on STRING."
2547(defun looking-back (regexp &optional limit greedy) 2550(defun looking-back (regexp &optional limit greedy)
2548 "Return non-nil if text before point matches regular expression REGEXP. 2551 "Return non-nil if text before point matches regular expression REGEXP.
2549Like `looking-at' except matches before point, and is slower. 2552Like `looking-at' except matches before point, and is slower.
2550LIMIT if non-nil speeds up the search by specifying how far back the 2553LIMIT if non-nil speeds up the search by specifying a minimum
2551match can start. 2554starting position, to avoid checking matches that would start
2555before LIMIT.
2552 2556
2553If GREEDY is non-nil, extend the match backwards as far as possible, 2557If GREEDY is non-nil, extend the match backwards as far as possible,
2554stopping when a single additional previous character cannot be part 2558stopping when a single additional previous character cannot be part
diff --git a/lisp/tabify.el b/lisp/tabify.el
index 6e12270bf47..de37f281eda 100644
--- a/lisp/tabify.el
+++ b/lisp/tabify.el
@@ -50,10 +50,10 @@ The variable `tab-width' controls the spacing of tab stops."
50 (delete-region tab-beg (point)) 50 (delete-region tab-beg (point))
51 (indent-to column)))))) 51 (indent-to column))))))
52 52
53(defvar tabify-regexp "[ \t][ \t]+" 53(defvar tabify-regexp " [ \t]+"
54 "Regexp matching whitespace that tabify should consider. 54 "Regexp matching whitespace that tabify should consider.
55Usually this will be \"[ \\t][ \\t]+\" to match two or more spaces or tabs. 55Usually this will be \" [ \\t]+\" to match two or more spaces or tabs.
56\"^[ \\t]+\" is also useful, for tabifying only initial whitespace.") 56\"^\\t* [ \\t]+\" is also useful, for tabifying only initial whitespace.")
57 57
58;;;###autoload 58;;;###autoload
59(defun tabify (start end) 59(defun tabify (start end)
@@ -72,13 +72,24 @@ The variable `tab-width' controls the spacing of tab stops."
72 (beginning-of-line) 72 (beginning-of-line)
73 (narrow-to-region (point) end) 73 (narrow-to-region (point) end)
74 (goto-char start) 74 (goto-char start)
75 (while (re-search-forward tabify-regexp nil t) 75 (let ((indent-tabs-mode t))
76 (let ((column (current-column)) 76 (while (re-search-forward tabify-regexp nil t)
77 (indent-tabs-mode t)) 77 ;; The region between (match-beginning 0) and (match-end 0) is just
78 (delete-region (match-beginning 0) (point)) 78 ;; spacing which we want to adjust to use TABs where possible.
79 (indent-to column)))))) 79 (let ((end-col (current-column))
80 (beg-col (save-excursion (goto-char (match-beginning 0))
81 (skip-chars-forward "\t")
82 (current-column))))
83 (if (= (/ end-col tab-width) (/ beg-col tab-width))
84 ;; The spacing (after some leading TABs which we wouldn't
85 ;; want to touch anyway) does not straddle a TAB boundary,
86 ;; so it neither contains a TAB, nor will we be able to use
87 ;; a TAB here anyway: there's nothing to do.
88 nil
89 (delete-region (match-beginning 0) (point))
90 (indent-to end-col))))))))
80 91
81(provide 'tabify) 92(provide 'tabify)
82 93
83;;; arch-tag: c83893b1-e0cc-4e57-8a09-73fd03466416 94;; arch-tag: c83893b1-e0cc-4e57-8a09-73fd03466416
84;;; tabify.el ends here 95;;; tabify.el ends here
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index becf418e4e0..79324306ad1 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -160,13 +160,21 @@
160(define-key xterm-function-map "\e[29~" [print]) 160(define-key xterm-function-map "\e[29~" [print])
161 161
162;; These keys are available in xterm starting from version 214 162;; These keys are available in xterm starting from version 214
163;; if the modifyOtherKeys resource is set. 163;; if the modifyOtherKeys resource is set to 1.
164(define-key xterm-function-map "\e[27;5;9~" [(control ?\t)]) 164(define-key xterm-function-map "\e[27;5;9~" [C-tab])
165(define-key xterm-function-map "\e[27;5;13~" [C-return]) 165(define-key xterm-function-map "\e[27;5;13~" [C-return])
166(define-key xterm-function-map "\e[27;5;44~" [(control ?\,)]) 166(define-key xterm-function-map "\e[27;5;44~" [?\C-,])
167(define-key xterm-function-map "\e[27;5;46~" [(control ?\.)]) 167(define-key xterm-function-map "\e[27;5;46~" [?\C-.])
168(define-key xterm-function-map "\e[27;5;47~" [(control ?\/)]) 168(define-key xterm-function-map "\e[27;5;47~" [?\C-/])
169(define-key xterm-function-map "\e[27;5;92~" [(control ?\\)]) 169(define-key xterm-function-map "\e[27;5;92~" [?\C-\\)])
170
171(define-key xterm-function-map "\e[27;2;9~" [S-tab])
172(define-key xterm-function-map "\e[27;2;13~" [S-return])
173
174(define-key xterm-function-map "\e[27;6;9~" [(C-S-tab)])
175
176(define-key xterm-function-map "\e[27;13;46~" [?\C-\M-.])
177
170 178
171;; Other versions of xterm might emit these. 179;; Other versions of xterm might emit these.
172(define-key xterm-function-map "\e[A" [up]) 180(define-key xterm-function-map "\e[A" [up])
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index a4d873a543d..a0eb147d9c8 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1650,9 +1650,15 @@ quit spell session exited."
1650 cursor-location)) 1650 cursor-location))
1651 (if (not (equal new-word (car poss))) 1651 (if (not (equal new-word (car poss)))
1652 (progn 1652 (progn
1653 (delete-region start end) 1653 (goto-char start)
1654 (setq start (point)) 1654 ;; Insert first and then delete,
1655 ;; to avoid collapsing markers before and after
1656 ;; into a single place.
1655 (ispell-insert-word new-word) 1657 (ispell-insert-word new-word)
1658 (delete-region (point) (+ (point) (- end start)))
1659 ;; It is meaningless to preserve the cursor position
1660 ;; inside a word that has changed.
1661 (setq cursor-location (point))
1656 (setq end (point)))) 1662 (setq end (point))))
1657 (if (not (atom replace)) ;recheck spelling of replacement 1663 (if (not (atom replace)) ;recheck spelling of replacement
1658 (progn 1664 (progn
diff --git a/lisp/textmodes/po.el b/lisp/textmodes/po.el
index eac1cb94105..701095caa8e 100644
--- a/lisp/textmodes/po.el
+++ b/lisp/textmodes/po.el
@@ -42,7 +42,7 @@ Contains canonical charset names that don't correspond to coding systems.")
42 42
43(defun po-find-charset (filename) 43(defun po-find-charset (filename)
44 "Return PO charset value for FILENAME. 44 "Return PO charset value for FILENAME.
45If FILENAME is a cons, the cdr part is a buffer that already contains 45If FILENAME is a cons cell, its CDR is a buffer that already contains
46the PO file (but not yet decoded)." 46the PO file (but not yet decoded)."
47 (let ((charset-regexp 47 (let ((charset-regexp
48 "^\"Content-Type:[ \t]*text/plain;[ \t]*charset=\\(.*\\)\\\\n\"") 48 "^\"Content-Type:[ \t]*text/plain;[ \t]*charset=\\(.*\\)\\\\n\"")
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index dab08902769..002ab9dac11 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -6,7 +6,7 @@
6;; Keywords: wp, convenience 6;; Keywords: wp, convenience
7;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com> 7;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com>
8;; Created: Sat Jul 08 2000 13:28:45 (PST) 8;; Created: Sat Jul 08 2000 13:28:45 (PST)
9;; Revised: Tue May 30 2006 10:01:43 (PDT) 9;; Revised: Thu Jul 20 2006 17:30:09 (PDT)
10 10
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
12 12
@@ -1394,7 +1394,9 @@ the last cache point coordinate."
1394 (setq table-command-remap-alist 1394 (setq table-command-remap-alist
1395 (cons (cons command func-symbol) 1395 (cons (cons command func-symbol)
1396 table-command-remap-alist)))) 1396 table-command-remap-alist))))
1397 '(beginning-of-line 1397 '(move-beginning-of-line
1398 beginning-of-line
1399 move-end-of-line
1398 end-of-line 1400 end-of-line
1399 beginning-of-buffer 1401 beginning-of-buffer
1400 end-of-buffer 1402 end-of-buffer
diff --git a/lisp/tumme.el b/lisp/tumme.el
index 26d48e77b2f..3bd1d41886e 100644
--- a/lisp/tumme.el
+++ b/lisp/tumme.el
@@ -84,7 +84,7 @@
84;; USAGE 84;; USAGE
85;; ===== 85;; =====
86;; 86;;
87;; This information has been moved to the manual. Type `C-h r' to open 87;; This information has been moved to the manual. Type `C-h r' to open
88;; the Emacs manual and go to the node Thumbnails by typing `g 88;; the Emacs manual and go to the node Thumbnails by typing `g
89;; Thumbnails RET'. 89;; Thumbnails RET'.
90;; 90;;
@@ -161,6 +161,10 @@
161 161
162(require 'dired) 162(require 'dired)
163(require 'format-spec) 163(require 'format-spec)
164(require 'widget)
165
166(eval-when-compile
167 (require 'wid-edit))
164 168
165(defgroup tumme nil 169(defgroup tumme nil
166 "Use dired to browse your images as thumbnails, and more." 170 "Use dired to browse your images as thumbnails, and more."
@@ -644,7 +648,7 @@ according to the Thumbnail Managing Standard."
644 ;; Can't use (overlays-at (point)), BUG? 648 ;; Can't use (overlays-at (point)), BUG?
645 (overlays-in (point) (1+ (point))))) 649 (overlays-in (point) (1+ (point)))))
646 (put-image thumb-file image-pos) 650 (put-image thumb-file image-pos)
647 (setq 651 (setq
648 overlay 652 overlay
649 (car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o)) 653 (car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o))
650 (overlays-in (point) (1+ (point))))))) 654 (overlays-in (point) (1+ (point)))))))
@@ -864,32 +868,27 @@ displayed."
864;;;###autoload 868;;;###autoload
865(defalias 'tumme 'tumme-show-all-from-dir) 869(defalias 'tumme 'tumme-show-all-from-dir)
866 870
867(defun tumme-write-tag (files tag) 871(defun tumme-write-tags (file-tags)
868 "For all FILES, writes TAG to the image database." 872 "Write file tags to database.
869 (save-excursion 873Write each file and tag in FILE-TAGS to the database. FILE-TAGS
870 (let (end buf) 874is an alist in the following form:
871 (setq buf (find-file tumme-db-file)) 875 ((FILE . TAG) ... )"
872 (if (not (listp files)) 876 (let (end file tag)
873 (if (stringp files) 877 (with-temp-file tumme-db-file
874 (setq files (list files)) 878 (insert-file-contents tumme-db-file)
875 (error "Files must be a string or a list of strings!"))) 879 (dolist (elt file-tags)
876 (mapcar 880 (setq file (car elt)
877 (lambda (file) 881 tag (cdr elt))
878 (goto-char (point-min)) 882 (goto-char (point-min))
879 (if (search-forward-regexp 883 (if (search-forward-regexp (format "^%s.*$" file) nil t)
880 (format "^%s" file) nil t) 884 (progn
881 (progn 885 (setq end (point))
882 (end-of-line) 886 (beginning-of-line)
883 (setq end (point)) 887 (when (not (search-forward (format ";%s" tag) end t))
884 (beginning-of-line) 888 (end-of-line)
885 (when (not (search-forward (format ";%s" tag) end t)) 889 (insert (format ";%s" tag))))
886 (end-of-line) 890 (goto-char (point-max))
887 (insert (format ";%s" tag)))) 891 (insert (format "\n%s;%s" file tag)))))))
888 (goto-char (point-max))
889 (insert (format "\n%s;%s" file tag))))
890 files)
891 (save-buffer)
892 (kill-buffer buf))))
893 892
894(defun tumme-remove-tag (files tag) 893(defun tumme-remove-tag (files tag)
895 "For all FILES, remove TAG from the image database." 894 "For all FILES, remove TAG from the image database."
@@ -951,15 +950,19 @@ displayed."
951 (let ((tag (read-string "Tags to add (separate tags with a semicolon): ")) 950 (let ((tag (read-string "Tags to add (separate tags with a semicolon): "))
952 curr-file files) 951 curr-file files)
953 (if arg 952 (if arg
954 (setq files (dired-get-filename)) 953 (setq files (list (dired-get-filename)))
955 (setq files (dired-get-marked-files))) 954 (setq files (dired-get-marked-files)))
956 (tumme-write-tag files tag))) 955 (tumme-write-tags
956 (mapcar
957 (lambda (x)
958 (cons x tag))
959 files))))
957 960
958(defun tumme-tag-thumbnail () 961(defun tumme-tag-thumbnail ()
959 "Tag current thumbnail." 962 "Tag current thumbnail."
960 (interactive) 963 (interactive)
961 (let ((tag (read-string "Tags to add (separate tags with a semicolon): "))) 964 (let ((tag (read-string "Tags to add (separate tags with a semicolon): ")))
962 (tumme-write-tag (tumme-original-file-name) tag)) 965 (tumme-write-tags (list (cons (tumme-original-file-name) tag))))
963 (tumme-update-property 966 (tumme-update-property
964 'tags (tumme-list-tags (tumme-original-file-name)))) 967 'tags (tumme-list-tags (tumme-original-file-name))))
965 968
@@ -1006,7 +1009,7 @@ use only useful if `tumme-track-movement' is nil."
1006 (let ((old-buf (current-buffer)) 1009 (let ((old-buf (current-buffer))
1007 (dired-buf (tumme-associated-dired-buffer)) 1010 (dired-buf (tumme-associated-dired-buffer))
1008 (file-name (tumme-original-file-name))) 1011 (file-name (tumme-original-file-name)))
1009 (when (and dired-buf file-name) 1012 (when (and (buffer-live-p dired-buf) file-name)
1010 (setq file-name (file-name-nondirectory file-name)) 1013 (setq file-name (file-name-nondirectory file-name))
1011 (set-buffer dired-buf) 1014 (set-buffer dired-buf)
1012 (goto-char (point-min)) 1015 (goto-char (point-min))
@@ -1069,32 +1072,46 @@ move ARG lines."
1069 (if tumme-track-movement 1072 (if tumme-track-movement
1070 (tumme-track-thumbnail))) 1073 (tumme-track-thumbnail)))
1071 1074
1072(defun tumme-forward-char () 1075(defun tumme-forward-image (&optional arg)
1073 "Move to next image and display properties." 1076 "Move to next image and display properties.
1074 (interactive) 1077Optional prefix ARG says how many images to move; default is one
1075 ;; Before we move, make sure that there is an image two positions 1078image."
1076 ;; forward. 1079 (interactive "p")
1077 (when (save-excursion 1080 (let (pos (steps (or arg 1)))
1078 (forward-char 2) 1081 (dotimes (i steps)
1079 (tumme-image-at-point-p)) 1082 (if (and (not (eobp))
1080 (forward-char) 1083 (save-excursion
1081 (while (and (not (eobp)) 1084 (forward-char)
1082 (not (tumme-image-at-point-p))) 1085 (while (and (not (eobp))
1083 (forward-char)) 1086 (not (tumme-image-at-point-p)))
1084 (if tumme-track-movement 1087 (forward-char))
1085 (tumme-track-original-file))) 1088 (setq pos (point))
1089 (tumme-image-at-point-p)))
1090 (goto-char pos)
1091 (error "At last image"))))
1092 (when tumme-track-movement
1093 (tumme-track-original-file))
1086 (tumme-display-thumb-properties)) 1094 (tumme-display-thumb-properties))
1087 1095
1088(defun tumme-backward-char () 1096(defun tumme-backward-image (&optional arg)
1089 "Move to previous image and display properties." 1097 "Move to previous image and display properties.
1090 (interactive) 1098Optional prefix ARG says how many images to move; default is one
1091 (when (not (bobp)) 1099image."
1092 (backward-char) 1100 (interactive "p")
1093 (while (and (not (bobp)) 1101 (let (pos (steps (or arg 1)))
1094 (not (tumme-image-at-point-p))) 1102 (dotimes (i steps)
1095 (backward-char)) 1103 (if (and (not (bobp))
1096 (if tumme-track-movement 1104 (save-excursion
1097 (tumme-track-original-file))) 1105 (backward-char)
1106 (while (and (not (bobp))
1107 (not (tumme-image-at-point-p)))
1108 (backward-char))
1109 (setq pos (point))
1110 (tumme-image-at-point-p)))
1111 (goto-char pos)
1112 (error "At first image"))))
1113 (when tumme-track-movement
1114 (tumme-track-original-file))
1098 (tumme-display-thumb-properties)) 1115 (tumme-display-thumb-properties))
1099 1116
1100(defun tumme-next-line () 1117(defun tumme-next-line ()
@@ -1103,7 +1120,7 @@ move ARG lines."
1103 (next-line 1) 1120 (next-line 1)
1104 ;; If we end up in an empty spot, back up to the next thumbnail. 1121 ;; If we end up in an empty spot, back up to the next thumbnail.
1105 (if (not (tumme-image-at-point-p)) 1122 (if (not (tumme-image-at-point-p))
1106 (tumme-backward-char)) 1123 (tumme-backward-image))
1107 (if tumme-track-movement 1124 (if tumme-track-movement
1108 (tumme-track-original-file)) 1125 (tumme-track-original-file))
1109 (tumme-display-thumb-properties)) 1126 (tumme-display-thumb-properties))
@@ -1118,7 +1135,7 @@ move ARG lines."
1118 ;; thumbnail and did not refresh, so it is not very common. But we 1135 ;; thumbnail and did not refresh, so it is not very common. But we
1119 ;; can handle it in a good manner, so why not? 1136 ;; can handle it in a good manner, so why not?
1120 (if (not (tumme-image-at-point-p)) 1137 (if (not (tumme-image-at-point-p))
1121 (tumme-backward-char)) 1138 (tumme-backward-image))
1122 (if tumme-track-movement 1139 (if tumme-track-movement
1123 (tumme-track-original-file)) 1140 (tumme-track-original-file))
1124 (tumme-display-thumb-properties)) 1141 (tumme-display-thumb-properties))
@@ -1131,7 +1148,7 @@ comment."
1131 (format-spec 1148 (format-spec
1132 tumme-display-properties-format 1149 tumme-display-properties-format
1133 (list 1150 (list
1134 (cons ?b buf) 1151 (cons ?b (or buf ""))
1135 (cons ?f file) 1152 (cons ?f file)
1136 (cons ?t (or (princ props) "")) 1153 (cons ?t (or (princ props) ""))
1137 (cons ?c (or comment ""))))) 1154 (cons ?c (or comment "")))))
@@ -1187,19 +1204,19 @@ dired."
1187 "Mark original image file in associated dired buffer." 1204 "Mark original image file in associated dired buffer."
1188 (interactive) 1205 (interactive)
1189 (tumme-modify-mark-on-thumb-original-file 'mark) 1206 (tumme-modify-mark-on-thumb-original-file 'mark)
1190 (tumme-forward-char)) 1207 (tumme-forward-image))
1191 1208
1192(defun tumme-unmark-thumb-original-file () 1209(defun tumme-unmark-thumb-original-file ()
1193 "Unmark original image file in associated dired buffer." 1210 "Unmark original image file in associated dired buffer."
1194 (interactive) 1211 (interactive)
1195 (tumme-modify-mark-on-thumb-original-file 'unmark) 1212 (tumme-modify-mark-on-thumb-original-file 'unmark)
1196 (tumme-forward-char)) 1213 (tumme-forward-image))
1197 1214
1198(defun tumme-flag-thumb-original-file () 1215(defun tumme-flag-thumb-original-file ()
1199 "Flag original image file for deletion in associated dired buffer." 1216 "Flag original image file for deletion in associated dired buffer."
1200 (interactive) 1217 (interactive)
1201 (tumme-modify-mark-on-thumb-original-file 'flag) 1218 (tumme-modify-mark-on-thumb-original-file 'flag)
1202 (tumme-forward-char)) 1219 (tumme-forward-image))
1203 1220
1204(defun tumme-toggle-mark-thumb-original-file () 1221(defun tumme-toggle-mark-thumb-original-file ()
1205 "Toggle mark on original image file in associated dired buffer." 1222 "Toggle mark on original image file in associated dired buffer."
@@ -1247,12 +1264,12 @@ You probably want to use this together with
1247 "Define keymap for `tumme-thumbnail-mode'." 1264 "Define keymap for `tumme-thumbnail-mode'."
1248 1265
1249 ;; Keys 1266 ;; Keys
1250 (define-key tumme-thumbnail-mode-map [right] 'tumme-forward-char) 1267 (define-key tumme-thumbnail-mode-map [right] 'tumme-forward-image)
1251 (define-key tumme-thumbnail-mode-map [left] 'tumme-backward-char) 1268 (define-key tumme-thumbnail-mode-map [left] 'tumme-backward-image)
1252 (define-key tumme-thumbnail-mode-map [up] 'tumme-previous-line) 1269 (define-key tumme-thumbnail-mode-map [up] 'tumme-previous-line)
1253 (define-key tumme-thumbnail-mode-map [down] 'tumme-next-line) 1270 (define-key tumme-thumbnail-mode-map [down] 'tumme-next-line)
1254 (define-key tumme-thumbnail-mode-map "\C-f" 'tumme-forward-char) 1271 (define-key tumme-thumbnail-mode-map "\C-f" 'tumme-forward-image)
1255 (define-key tumme-thumbnail-mode-map "\C-b" 'tumme-backward-char) 1272 (define-key tumme-thumbnail-mode-map "\C-b" 'tumme-backward-image)
1256 (define-key tumme-thumbnail-mode-map "\C-p" 'tumme-previous-line) 1273 (define-key tumme-thumbnail-mode-map "\C-p" 'tumme-previous-line)
1257 (define-key tumme-thumbnail-mode-map "\C-n" 'tumme-next-line) 1274 (define-key tumme-thumbnail-mode-map "\C-n" 'tumme-next-line)
1258 1275
@@ -1655,7 +1672,8 @@ See also `tumme-line-up-dynamic'."
1655 (insert "\n") 1672 (insert "\n")
1656 (insert " ") 1673 (insert " ")
1657 (setq count (1+ count)) 1674 (setq count (1+ count))
1658 (when (= count (- tumme-thumbs-per-row 1)) 1675 (when (and (= count (- tumme-thumbs-per-row 1))
1676 (not (eobp)))
1659 (forward-char) 1677 (forward-char)
1660 (insert "\n") 1678 (insert "\n")
1661 (setq count 0))))) 1679 (setq count 0)))))
@@ -1798,8 +1816,10 @@ With prefix argument ARG, display image in its original size."
1798 (message "No thumbnail at point") 1816 (message "No thumbnail at point")
1799 (if (not file) 1817 (if (not file)
1800 (message "No original file name found") 1818 (message "No original file name found")
1801 (tumme-display-image file arg) 1819 (tumme-create-display-image-buffer)
1802 (display-buffer tumme-display-image-buffer)))))) 1820 (display-buffer tumme-display-image-buffer)
1821 (tumme-display-image file arg))))))
1822
1803 1823
1804;;;###autoload 1824;;;###autoload
1805(defun tumme-dired-display-image (&optional arg) 1825(defun tumme-dired-display-image (&optional arg)
@@ -1807,8 +1827,9 @@ With prefix argument ARG, display image in its original size."
1807See documentation for `tumme-display-image' for more information. 1827See documentation for `tumme-display-image' for more information.
1808With prefix argument ARG, display image in its original size." 1828With prefix argument ARG, display image in its original size."
1809 (interactive "P") 1829 (interactive "P")
1810 (tumme-display-image (dired-get-filename) arg) 1830 (tumme-create-display-image-buffer)
1811 (display-buffer tumme-display-image-buffer)) 1831 (display-buffer tumme-display-image-buffer)
1832 (tumme-display-image (dired-get-filename) arg))
1812 1833
1813(defun tumme-image-at-point-p () 1834(defun tumme-image-at-point-p ()
1814 "Return true if there is a tumme thumbnail at point." 1835 "Return true if there is a tumme thumbnail at point."
@@ -2000,49 +2021,49 @@ function. The result is a couple of new files in
2000(defun tumme-display-next-thumbnail-original () 2021(defun tumme-display-next-thumbnail-original ()
2001 "In thubnail buffer, move to next thumbnail and display the image." 2022 "In thubnail buffer, move to next thumbnail and display the image."
2002 (interactive) 2023 (interactive)
2003 (tumme-forward-char) 2024 (tumme-forward-image)
2004 (tumme-display-thumbnail-original-image)) 2025 (tumme-display-thumbnail-original-image))
2005 2026
2006(defun tumme-display-previous-thumbnail-original () 2027(defun tumme-display-previous-thumbnail-original ()
2007 "Move to previous thumbnail and display image." 2028 "Move to previous thumbnail and display image."
2008
2009 (interactive) 2029 (interactive)
2010 (tumme-backward-char) 2030 (tumme-backward-image)
2011 (tumme-display-thumbnail-original-image)) 2031 (tumme-display-thumbnail-original-image))
2012 2032
2013(defun tumme-write-comment (file comment) 2033(defun tumme-write-comments (file-comments)
2014 "For FILE, write comment COMMENT in database." 2034 "Write file comments to database.
2015 (save-excursion 2035Write file comments to one or more files. FILE-COMMENTS is an alist on
2016 (let (end buf comment-beg) 2036the following form:
2017 (setq buf (find-file tumme-db-file)) 2037 ((FILE . COMMENT) ... )"
2018 (goto-char (point-min)) 2038 (let (end comment-beg-pos comment-end-pos file comment)
2019 (if (search-forward-regexp 2039 (with-temp-file tumme-db-file
2020 (format "^%s" file) nil t) 2040 (insert-file-contents tumme-db-file)
2021 (progn 2041 (dolist (elt file-comments)
2022 (end-of-line) 2042 (setq file (car elt)
2023 (setq end (point)) 2043 comment (cdr elt))
2024 (beginning-of-line) 2044 (goto-char (point-min))
2025 ;; Delete old comment, if any 2045 (if (search-forward-regexp (format "^%s.*$" file) nil t)
2026 (cond ((search-forward ";comment:" end t) 2046 (progn
2027 (setq comment-beg (match-beginning 0)) 2047 (setq end (point))
2028 ;; Any tags after the comment? 2048 (beginning-of-line)
2029 (if (search-forward ";" end t) 2049 ;; Delete old comment, if any
2030 (setq comment-end (- (point) 1)) 2050 (when (search-forward ";comment:" end t)
2031 (setq comment-end end)) 2051 (setq comment-beg-pos (match-beginning 0))
2032 ;; Delete comment tag and comment 2052 ;; Any tags after the comment?
2033 (delete-region comment-beg comment-end))) 2053 (if (search-forward ";" end t)
2034 ;; Insert new comment 2054 (setq comment-end-pos (- (point) 1))
2035 (beginning-of-line) 2055 (setq comment-end-pos end))
2036 (if (not (search-forward ";" end t)) 2056 ;; Delete comment tag and comment
2037 (progn 2057 (delete-region comment-beg-pos comment-end-pos))
2038 (end-of-line) 2058 ;; Insert new comment
2039 (insert ";"))) 2059 (beginning-of-line)
2040 (insert (format "comment:%s;" comment))) 2060 (unless (search-forward ";" end t)
2041 ;; File does not exist in databse - add it. 2061 (end-of-line)
2042 (goto-char (point-max)) 2062 (insert ";"))
2043 (insert (format "\n%s;comment:%s" file comment))) 2063 (insert (format "comment:%s;" comment)))
2044 (save-buffer) 2064 ;; File does not exist in database - add it.
2045 (kill-buffer buf)))) 2065 (goto-char (point-max))
2066 (insert (format "\n%s;comment:%s" file comment)))))))
2046 2067
2047(defun tumme-update-property (prop value) 2068(defun tumme-update-property (prop value)
2048 "Update text property PROP with value VALUE at point." 2069 "Update text property PROP with value VALUE at point."
@@ -2056,19 +2077,19 @@ function. The result is a couple of new files in
2056(defun tumme-dired-comment-files () 2077(defun tumme-dired-comment-files ()
2057 "Add comment to current or marked files in dired." 2078 "Add comment to current or marked files in dired."
2058 (interactive) 2079 (interactive)
2059 (let ((files (dired-get-marked-files)) 2080 (let ((comment (tumme-read-comment)))
2060 (comment (tumme-read-comment))) 2081 (tumme-write-comments
2061 (mapcar 2082 (mapcar
2062 (lambda (curr-file) 2083 (lambda (curr-file)
2063 (tumme-write-comment curr-file comment)) 2084 (cons curr-file comment))
2064 files))) 2085 (dired-get-marked-files)))))
2065 2086
2066(defun tumme-comment-thumbnail () 2087(defun tumme-comment-thumbnail ()
2067 "Add comment to current thumbnail in thumbnail buffer." 2088 "Add comment to current thumbnail in thumbnail buffer."
2068 (interactive) 2089 (interactive)
2069 (let* ((file (tumme-original-file-name)) 2090 (let* ((file (tumme-original-file-name))
2070 (comment (tumme-read-comment file))) 2091 (comment (tumme-read-comment file)))
2071 (tumme-write-comment file comment) 2092 (tumme-write-comments (list (cons file comment)))
2072 (tumme-update-property 'comment comment)) 2093 (tumme-update-property 'comment comment))
2073 (tumme-display-thumb-properties)) 2094 (tumme-display-thumb-properties))
2074 2095
@@ -2085,21 +2106,21 @@ as initial value."
2085(defun tumme-get-comment (file) 2106(defun tumme-get-comment (file)
2086 "Get comment for file FILE." 2107 "Get comment for file FILE."
2087 (save-excursion 2108 (save-excursion
2088 (let (end buf comment-beg comment (base-name (file-name-nondirectory file))) 2109 (let (end buf comment-beg-pos comment-end-pos comment)
2089 (setq buf (find-file tumme-db-file)) 2110 (setq buf (find-file tumme-db-file))
2090 (goto-char (point-min)) 2111 (goto-char (point-min))
2091 (when (search-forward-regexp 2112 (when (search-forward-regexp
2092 (format "^%s" base-name) nil t) 2113 (format "^%s" file) nil t)
2093 (end-of-line) 2114 (end-of-line)
2094 (setq end (point)) 2115 (setq end (point))
2095 (beginning-of-line) 2116 (beginning-of-line)
2096 (cond ((search-forward ";comment:" end t) 2117 (cond ((search-forward ";comment:" end t)
2097 (setq comment-beg (point)) 2118 (setq comment-beg-pos (point))
2098 (if (search-forward ";" end t) 2119 (if (search-forward ";" end t)
2099 (setq comment-end (- (point) 1)) 2120 (setq comment-end-pos (- (point) 1))
2100 (setq comment-end end)) 2121 (setq comment-end-pos end))
2101 (setq comment (buffer-substring 2122 (setq comment (buffer-substring
2102 comment-beg comment-end))))) 2123 comment-beg-pos comment-end-pos)))))
2103 (kill-buffer buf) 2124 (kill-buffer buf)
2104 comment))) 2125 comment)))
2105 2126
@@ -2153,6 +2174,8 @@ non-nil."
2153 (setq file (tumme-original-file-name)) 2174 (setq file (tumme-original-file-name))
2154 (if tumme-track-movement 2175 (if tumme-track-movement
2155 (tumme-track-original-file)) 2176 (tumme-track-original-file))
2177 (tumme-create-display-image-buffer)
2178 (display-buffer tumme-display-image-buffer)
2156 (tumme-display-image file))) 2179 (tumme-display-image file)))
2157 2180
2158(defun tumme-mouse-select-thumbnail (event) 2181(defun tumme-mouse-select-thumbnail (event)
@@ -2421,6 +2444,107 @@ when using per-directory thumbnail file storage"))
2421 (error nil)) 2444 (error nil))
2422 (kill-buffer buffer))) 2445 (kill-buffer buffer)))
2423 2446
2447(defvar tumme-widget-list nil
2448 "List to keep track of meta data in edit buffer.")
2449
2450;;;###autoload
2451(defun tumme-dired-edit-comment-and-tags ()
2452 "Edit comment and tags of current or marked image files.
2453Edit comment and tags for all marked image files in an
2454easy-to-use form."
2455 (interactive)
2456 (setq tumme-widget-list nil)
2457 ;; Setup buffer.
2458 (let ((files (dired-get-marked-files)))
2459 (switch-to-buffer "*Tumme Edit Meta Data*")
2460 (kill-all-local-variables)
2461 (make-local-variable 'widget-example-repeat)
2462 (let ((inhibit-read-only t))
2463 (erase-buffer))
2464 (remove-overlays)
2465 ;; Some help for the user.
2466 (widget-insert
2467"\nEdit comments and tags for each image. Separate multiple tags
2468with a comma. Move forward between fields using TAB or RET.
2469Move to the previous field using backtab (S-TAB). Save by
2470activating the Save button at the bottom of the form or cancel
2471the operation by activating the Cancel button.\n\n")
2472 ;; Here comes all images and a comment and tag field for each
2473 ;; image.
2474 (let (thumb-file img comment-widget tag-widget)
2475
2476 (dolist (file files)
2477
2478 (setq thumb-file (tumme-thumb-name file)
2479 img (create-image thumb-file))
2480
2481 (insert-image img)
2482 (widget-insert "\n\nComment: ")
2483 (setq comment-widget
2484 (widget-create 'editable-field
2485 :size 60
2486 :format "%v "
2487 :value (or (tumme-get-comment file) "")))
2488 (widget-insert "\nTags: ")
2489 (setq tag-widget
2490 (widget-create 'editable-field
2491 :size 60
2492 :format "%v "
2493 :value (or (mapconcat
2494 (lambda (tag)
2495 tag)
2496 (tumme-list-tags file)
2497 ",") "")))
2498 ;; Save information in all widgets so that we can use it when
2499 ;; the user saves the form.
2500 (setq tumme-widget-list
2501 (append tumme-widget-list
2502 (list (list file comment-widget tag-widget))))
2503 (widget-insert "\n\n")))
2504
2505 ;; Footer with Save and Cancel button.
2506 (widget-insert "\n")
2507 (widget-create 'push-button
2508 :notify
2509 (lambda (&rest ignore)
2510 (tumme-save-information-from-widgets)
2511 (bury-buffer)
2512 (message "Done."))
2513 "Save")
2514 (widget-insert " ")
2515 (widget-create 'push-button
2516 :notify
2517 (lambda (&rest ignore)
2518 (bury-buffer)
2519 (message "Operation canceled."))
2520 "Cancel")
2521 (widget-insert "\n")
2522 (use-local-map widget-keymap)
2523 (widget-setup)
2524 ;; Jump to the first widget.
2525 (widget-forward 1)))
2526
2527(defun tumme-save-information-from-widgets ()
2528 "Save information found in `tumme-widget-list'.
2529Use the information in `tumme-widget-list' to save comments and
2530tags to their respective image file. Internal function used by
2531`tumme-dired-edit-comment-and-tags'."
2532 (let (file comment tag-string tag-list lst)
2533 (tumme-write-comments
2534 (mapcar
2535 (lambda (widget)
2536 (setq file (car widget)
2537 comment (widget-value (cadr widget)))
2538 (cons file comment))
2539 tumme-widget-list))
2540 (tumme-write-tags
2541 (dolist (widget tumme-widget-list lst)
2542 (setq file (car widget)
2543 tag-string (widget-value (car (cddr widget)))
2544 tag-list (split-string tag-string ","))
2545 (dolist (tag tag-list)
2546 (push (cons file tag) lst))))))
2547
2424;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2548;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2425;;;;;;;;; TEST-SECTION ;;;;;;;;;;; 2549;;;;;;;;; TEST-SECTION ;;;;;;;;;;;
2426;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2550;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/xml.el b/lisp/xml.el
index 2ce3ec7b4f9..ca8f5bdc81b 100644
--- a/lisp/xml.el
+++ b/lisp/xml.el
@@ -165,22 +165,19 @@ If FILE is already visited, use its buffer and don't kill it.
165Returns the top node with all its children. 165Returns the top node with all its children.
166If PARSE-DTD is non-nil, the DTD is parsed rather than skipped. 166If PARSE-DTD is non-nil, the DTD is parsed rather than skipped.
167If PARSE-NS is non-nil, then QNAMES are expanded." 167If PARSE-NS is non-nil, then QNAMES are expanded."
168 (let ((keep)) 168 (if (get-file-buffer file)
169 (if (get-file-buffer file) 169 (with-current-buffer (get-file-buffer file)
170 (progn 170 (save-excursion
171 (set-buffer (get-file-buffer file)) 171 (xml-parse-region (point-min)
172 (setq keep (point))) 172 (point-max)
173 (let (auto-mode-alist) ; no need for xml-mode 173 (current-buffer)
174 (find-file file))) 174 parse-dtd parse-ns)))
175 175 (with-temp-buffer
176 (let ((xml (xml-parse-region (point-min) 176 (insert-file-contents file)
177 (point-max) 177 (xml-parse-region (point-min)
178 (current-buffer) 178 (point-max)
179 parse-dtd parse-ns))) 179 (current-buffer)
180 (if keep 180 parse-dtd parse-ns))))
181 (goto-char keep)
182 (kill-buffer (current-buffer)))
183 xml)))
184 181
185 182
186(defvar xml-name-re) 183(defvar xml-name-re)
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 64a38096d64..09757fca10b 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,130 @@
12006-07-28 Kim F. Storm <storm@cua.dk>
2
3 * commands.texi (Reading One Event): Fix last change.
4
52006-07-26 Chong Yidong <cyd@stupidchicken.com>
6
7 * commands.texi (Reading One Event): Document SECONDS argument for
8 read-event, read-char, and read-char-exclusive.
9
102006-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11
12 * modes.texi (Multiline Font Lock): Can't use jit-lock-defer-multiline
13 to ensure correct identification.
14
152006-07-24 Richard Stallman <rms@gnu.org>
16
17 * text.texi (Clickable Text): Clarify.
18
19 * sequences.texi (Vector Functions): Delete duplicate xref.
20
21 * objects.texi (Function Type): Clarify.
22
23 * modes.texi (Keymaps and Minor Modes): List punct chars for minor
24 modes.
25
26 * lists.texi (List Variables): New node.
27 Material moved from other nodes.
28
29 * variables.texi (Setting Variables): add-to-list and
30 add-to-ordered-list moved to List Variables node.
31
322006-07-23 Thien-Thi Nguyen <ttn@gnu.org>
33
34 * text.texi (Links and Mouse-1):
35 For mouse-on-link-p, expand on arg POS.
36
372006-07-21 Kim F. Storm <storm@cua.dk>
38
39 * display.texi (Forcing Redisplay): Don't mention systems which
40 don't support sub-second timers for redisplay-preemption-period.
41
42 * os.texi (Terminal Output): Clarify text vs graphical terminal.
43
442006-07-21 Eli Zaretskii <eliz@gnu.org>
45
46 * frames.texi (Input Focus): Document that focus-follows-mouse has
47 no effect on MS-Windows.
48
492006-07-18 Richard Stallman <rms@gnu.org>
50
51 * display.texi (Forcing Redisplay): Cleanups in previous change.
52
53 * processes.texi (Low-Level Network): Make menu more convenient.
54
552006-07-18 Kim F. Storm <storm@cua.dk>
56
57 * display.texi (Forcing Redisplay): redisplay-preemption-period
58 only used on window systems. Add xref to Terminal Output.
59
60 * os.texi (Terminal Output): baud-rate only controls preemption on
61 non-window systems. Add xref to Forcing Redisplay.
62
63 * processes.texi (Low-Level Network): Rename node "Make Network"
64 to "Network Processes".
65
662006-07-18 Karl Berry <karl@gnu.org>
67
68 * variables.texi, functions.texi, customize.texi, loading.texi:
69 * edebug.texi, minibuf.texi: Fix page breaks through chapter 20.
70
712006-07-17 Chong Yidong <cyd@stupidchicken.com>
72
73 * commands.texi (Waiting): Document batch-mode sit-for behavior.
74
752006-07-17 Richard Stallman <rms@gnu.org>
76
77 * eval.texi, elisp.texi, text.texi: Use real doublequote inside menus.
78 Put period and comma inside quotes.
79
80 * loading.texi, markers.texi: Use real doublequote inside menus.
81
82 * windows.texi: Put point and comma inside quotes.
83 (Textual Scrolling): Use @samp for error message.
84
85 * variables.texi, tips.texi, syntax.texi, symbols.texi:
86 * strings.texi, streams.texi, processes.texi, os.texi:
87 * objects.texi, numbers.texi, modes.texi, minibuf.texi:
88 * lists.texi, keymaps.texi, intro.texi, hash.texi, internals.texi:
89 * gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi:
90 * display.texi, control.texi, commands.texi, buffers.texi, anti.texi:
91 Put point and comma inside quotes.
92
93 * control.texi (Processing of Errors): Add command-error-function.
94
95 * variables.texi (File Local Variables): Clarify that
96 file local variables make buffer-local bindings.
97
98 * modes.texi (Syntactic Font Lock): Give default for
99 font-lock-syntax-table.
100
1012006-07-17 Nick Roberts <nickrob@snap.net.nz>
102
103 * text.texi (Special Properties): Clean up previous change.
104
1052006-07-16 Karl Berry <karl@gnu.org>
106
107 * objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi:
108 * control.texi: Fix bad page breaks through chapter 10 (control).
109
110 * anti.texi (Antinews): Reorder face-attribute fns to avoid
111 underfull hbox.
112
1132006-07-15 Nick Roberts <nickrob@snap.net.nz>
114
115 * text.texi (Special Properties): Describe fontified text property
116 in relation to a character (not text).
117
1182006-07-15 Kim F. Storm <storm@cua.dk>
119
120 * maps.texi (Standard Keymaps): Add xref for minibuffer maps.
121 Add apropos-mode-map, custom-mode-map, esc-map, global-map,
122 grep-mode-map, help-map, help-mode-map, kmacro-map, and tool-bar-map.
123
124 * anti.texi (Antinews): Mention redisplay function.
125 The kbd macro existed, but was not documented, before 22.x.
126 Function pos-visible-in-window-p is not new in 22.x, just enhanced.
127
12006-07-14 Nick Roberts <nickrob@snap.net.nz> 1282006-07-14 Nick Roberts <nickrob@snap.net.nz>
2 129
3 * display.texi (Displaying Messages): Add anchor. 130 * display.texi (Displaying Messages): Add anchor.
diff --git a/lispref/anti.texi b/lispref/anti.texi
index 78152d7ab31..8636282a7c2 100644
--- a/lispref/anti.texi
+++ b/lispref/anti.texi
@@ -24,6 +24,12 @@ redisplay engine, which will be even simpler.)
24 24
25@itemize @minus 25@itemize @minus
26@item 26@item
27The function @code{redisplay} has been removed. To update the display
28without delay, call @code{(sit-for 0)}. Since it is generally
29considered wasteful to update the display if there are any pending
30input events, no replacement for @code{(redisplay t)} is provided.
31
32@item
27The function @code{force-window-update} has been removed. It 33The function @code{force-window-update} has been removed. It
28shouldn't be needed, since changes in window contents are detected 34shouldn't be needed, since changes in window contents are detected
29automatically. In case they aren't, call @code{redraw-display} to 35automatically. In case they aren't, call @code{redraw-display} to
@@ -80,8 +86,8 @@ removed. In @code{defface} specifications, the @code{supports}
80predicate is no longer supported. 86predicate is no longer supported.
81 87
82@item 88@item
83@code{face-attribute-relative-p} and @code{merge-face-attribute} have 89The functions @code{merge-face-attribute} and
84been removed. 90@code{face-attribute-relative-p} have been removed.
85 91
86@item 92@item
87The priority of faces in a list supplied by the @code{:inherit} face 93The priority of faces in a list supplied by the @code{:inherit} face
@@ -91,7 +97,7 @@ in a while, to keep Emacs Lisp programmers on their toes.
91@item 97@item
92The @code{min-colors} face attribute, used for tailoring faces to 98The @code{min-colors} face attribute, used for tailoring faces to
93limited-color displays, does not exist. If in doubt, use colors like 99limited-color displays, does not exist. If in doubt, use colors like
94``white'' and ``black'', which ought to be defined everywhere. 100``white'' and ``black,'' which ought to be defined everywhere.
95 101
96@item 102@item
97The @code{tty-color-mode} frame parameter does not exist. You should 103The @code{tty-color-mode} frame parameter does not exist. You should
@@ -126,9 +132,9 @@ and key sequences:
126 132
127@itemize @minus 133@itemize @minus
128@item 134@item
129The @code{kbd} macro has been removed. It isn't that difficult to 135The @code{kbd} macro is now obsolete and is no longer documented.
130write key sequences using the string and vector representations, and 136It isn't that difficult to write key sequences using the string and
131we want to encourage users to learn. 137vector representations, and we want to encourage users to learn.
132 138
133@item 139@item
134Emacs no longer supports key remapping. You can do pretty much the 140Emacs no longer supports key remapping. You can do pretty much the
@@ -164,7 +170,7 @@ the sentinel.
164 170
165@item 171@item
166Many programming shortcuts have been deleted, to provide you with the 172Many programming shortcuts have been deleted, to provide you with the
167enjoyment of ``rolling your own''. The macros @code{while-no-input}, 173enjoyment of ``rolling your own.'' The macros @code{while-no-input},
168@code{with-local-quit}, and @code{with-selected-window}, along with 174@code{with-local-quit}, and @code{with-selected-window}, along with
169@code{dynamic-completion-table} and @code{lazy-completion-table} no 175@code{dynamic-completion-table} and @code{lazy-completion-table} no
170longer exist. Also, there are no built-in progress reporters; 176longer exist. Also, there are no built-in progress reporters;
@@ -304,7 +310,7 @@ In @code{replace-match}, the replacement text now inherits properties
304from the surrounding text. 310from the surrounding text.
305 311
306@item 312@item
307@code{mode-line-format} no longer supports the @code{:propertize}, 313The variable @code{mode-line-format} no longer supports the @code{:propertize},
308@code{%i}, and @code{%I} constructs. The function 314@code{%i}, and @code{%I} constructs. The function
309@code{format-mode-line} has been removed. 315@code{format-mode-line} has been removed.
310 316
@@ -319,8 +325,9 @@ The functions @code{window-pixel-edges} and
319think in terms of lines and columns, not pixel coordinates. (Sometime 325think in terms of lines and columns, not pixel coordinates. (Sometime
320in the distant past, we will do away with graphical terminals 326in the distant past, we will do away with graphical terminals
321entirely, in favor of text terminals.) For similar reasons, the 327entirely, in favor of text terminals.) For similar reasons, the
322functions @code{posn-at-point}, @code{posn-at-x-y}, and 328functions @code{posn-at-point} and @code{posn-at-x-y} have been removed, and
323@code{pos-visible-in-window-p} have been removed. 329@code{pos-visible-in-window-p} no longer worries about partially
330visible rows.
324 331
325@item 332@item
326The macro @code{save-selected-window} only saves the selected window 333The macro @code{save-selected-window} only saves the selected window
diff --git a/lispref/buffers.texi b/lispref/buffers.texi
index 55e41e6b3e5..46a886eaea6 100644
--- a/lispref/buffers.texi
+++ b/lispref/buffers.texi
@@ -484,7 +484,7 @@ correspond to the new file name, unless the new name is already in
484use. 484use.
485 485
486If @var{filename} is @code{nil} or the empty string, that stands for 486If @var{filename} is @code{nil} or the empty string, that stands for
487``no visited file''. In this case, @code{set-visited-file-name} marks 487``no visited file.'' In this case, @code{set-visited-file-name} marks
488the buffer as having no visited file, without changing the buffer's 488the buffer as having no visited file, without changing the buffer's
489modified flag. 489modified flag.
490 490
diff --git a/lispref/commands.texi b/lispref/commands.texi
index 2aca1b19253..10cd97400f8 100644
--- a/lispref/commands.texi
+++ b/lispref/commands.texi
@@ -2165,7 +2165,7 @@ same symbol that would normally represent that combination of mouse
2165button and modifier keys. The information about the window part is kept 2165button and modifier keys. The information about the window part is kept
2166elsewhere in the event---in the coordinates. But 2166elsewhere in the event---in the coordinates. But
2167@code{read-key-sequence} translates this information into imaginary 2167@code{read-key-sequence} translates this information into imaginary
2168``prefix keys'', all of which are symbols: @code{header-line}, 2168``prefix keys,'' all of which are symbols: @code{header-line},
2169@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line}, 2169@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
2170@code{vertical-line}, and @code{vertical-scroll-bar}. You can define 2170@code{vertical-line}, and @code{vertical-scroll-bar}. You can define
2171meanings for mouse clicks in special window parts by defining key 2171meanings for mouse clicks in special window parts by defining key
@@ -2199,7 +2199,7 @@ single event.
2199 2199
2200None of the three functions below suppresses quitting. 2200None of the three functions below suppresses quitting.
2201 2201
2202@defun read-event &optional prompt inherit-input-method 2202@defun read-event &optional prompt inherit-input-method seconds
2203This function reads and returns the next event of command input, waiting 2203This function reads and returns the next event of command input, waiting
2204if necessary until an event is available. Events can come directly from 2204if necessary until an event is available. Events can come directly from
2205the user or from a keyboard macro. 2205the user or from a keyboard macro.
@@ -2220,6 +2220,15 @@ If @code{cursor-in-echo-area} is non-@code{nil}, then @code{read-event}
2220moves the cursor temporarily to the echo area, to the end of any message 2220moves the cursor temporarily to the echo area, to the end of any message
2221displayed there. Otherwise @code{read-event} does not move the cursor. 2221displayed there. Otherwise @code{read-event} does not move the cursor.
2222 2222
2223If @var{seconds} is non-@code{nil}, it should be a number specifying
2224the maximum time to wait for input, in seconds. If no input arrives
2225within that time, @code{read-event} stops waiting and returns
2226@code{nil}. A floating-point value for @var{seconds} means to wait
2227for a fractional number of seconds. Some systems support only a whole
2228number of seconds; on these systems, @var{seconds} is rounded down.
2229If @var{seconds} is @code{nil}, @code{read-event} waits as long as
2230necessary for input to arrive.
2231
2223If @code{read-event} gets an event that is defined as a help character, 2232If @code{read-event} gets an event that is defined as a help character,
2224then in some cases @code{read-event} processes the event directly without 2233then in some cases @code{read-event} processes the event directly without
2225returning. @xref{Help Functions}. Certain other events, called 2234returning. @xref{Help Functions}. Certain other events, called
@@ -2237,7 +2246,7 @@ right-arrow function key:
2237@end example 2246@end example
2238@end defun 2247@end defun
2239 2248
2240@defun read-char &optional prompt inherit-input-method 2249@defun read-char &optional prompt inherit-input-method seconds
2241This function reads and returns a character of command input. If the 2250This function reads and returns a character of command input. If the
2242user generates an event which is not a character (i.e. a mouse click or 2251user generates an event which is not a character (i.e. a mouse click or
2243function key event), @code{read-char} signals an error. The arguments 2252function key event), @code{read-char} signals an error. The arguments
@@ -2269,7 +2278,7 @@ the echo area.
2269@end example 2278@end example
2270@end defun 2279@end defun
2271 2280
2272@defun read-char-exclusive &optional prompt inherit-input-method 2281@defun read-char-exclusive &optional prompt inherit-input-method seconds
2273This function reads and returns a character of command input. If the 2282This function reads and returns a character of command input. If the
2274user generates an event which is not a character, 2283user generates an event which is not a character,
2275@code{read-char-exclusive} ignores it and reads another event, until it 2284@code{read-char-exclusive} ignores it and reads another event, until it
@@ -2410,7 +2419,7 @@ individual events, which you can put in @code{unread-command-events}.
2410 2419
2411@defvar unread-command-char 2420@defvar unread-command-char
2412This variable holds a character to be read as command input. 2421This variable holds a character to be read as command input.
2413A value of -1 means ``empty''. 2422A value of -1 means ``empty.''
2414 2423
2415This variable is mostly obsolete now that you can use 2424This variable is mostly obsolete now that you can use
2416@code{unread-command-events} instead; it exists only to support programs 2425@code{unread-command-events} instead; it exists only to support programs
@@ -2534,9 +2543,10 @@ screen.
2534@defun sit-for seconds &optional nodisp 2543@defun sit-for seconds &optional nodisp
2535This function performs redisplay (provided there is no pending input 2544This function performs redisplay (provided there is no pending input
2536from the user), then waits @var{seconds} seconds, or until input is 2545from the user), then waits @var{seconds} seconds, or until input is
2537available. The value is @code{t} if @code{sit-for} waited the full 2546available. The usual purpose of @code{sit-for} is to give the user
2538time with no input arriving (see @code{input-pending-p} in @ref{Event 2547time to read text that you display. The value is @code{t} if
2539Input Misc}). Otherwise, the value is @code{nil}. 2548@code{sit-for} waited the full time with no input arriving
2549(@pxref{Event Input Misc}). Otherwise, the value is @code{nil}.
2540 2550
2541The argument @var{seconds} need not be an integer. If it is a floating 2551The argument @var{seconds} need not be an integer. If it is a floating
2542point number, @code{sit-for} waits for a fractional number of seconds. 2552point number, @code{sit-for} waits for a fractional number of seconds.
@@ -2551,8 +2561,9 @@ If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not
2551redisplay, but it still returns as soon as input is available (or when 2561redisplay, but it still returns as soon as input is available (or when
2552the timeout elapses). 2562the timeout elapses).
2553 2563
2554The usual purpose of @code{sit-for} is to give the user time to read 2564In batch mode (@pxref{Batch Mode}), @code{sit-for} cannot be
2555text that you display. 2565interrupted, even by input from the standard input descriptor. It is
2566thus equivalent to @code{sleep-for}, which is described below.
2556 2567
2557It is also possible to call @code{sit-for} with three arguments, 2568It is also possible to call @code{sit-for} with three arguments,
2558as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})}, 2569as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})},
@@ -2898,7 +2909,7 @@ using the minibuffer. Usually it is more convenient for the user if you
2898change the major mode of the current buffer temporarily to a special 2909change the major mode of the current buffer temporarily to a special
2899major mode, which should have a command to go back to the previous mode. 2910major mode, which should have a command to go back to the previous mode.
2900(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to 2911(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to
2901give the user different text to edit ``recursively'', create and select 2912give the user different text to edit ``recursively,'' create and select
2902a new buffer in a special mode. In this mode, define a command to 2913a new buffer in a special mode. In this mode, define a command to
2903complete the processing and go back to the previous buffer. (The 2914complete the processing and go back to the previous buffer. (The
2904@kbd{m} command in Rmail does this.) 2915@kbd{m} command in Rmail does this.)
diff --git a/lispref/control.texi b/lispref/control.texi
index d64b03037d6..3ed0b7f90ec 100644
--- a/lispref/control.texi
+++ b/lispref/control.texi
@@ -221,7 +221,7 @@ non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its
221@var{body-forms}, and the value of the last of @var{body-forms} becomes 221@var{body-forms}, and the value of the last of @var{body-forms} becomes
222the value of the @code{cond}. The remaining clauses are ignored. 222the value of the @code{cond}. The remaining clauses are ignored.
223 223
224If the value of @var{condition} is @code{nil}, the clause ``fails'', so 224If the value of @var{condition} is @code{nil}, the clause ``fails,'' so
225the @code{cond} moves on to the following clause, trying its 225the @code{cond} moves on to the following clause, trying its
226@var{condition}. 226@var{condition}.
227 227
@@ -623,7 +623,7 @@ error is signaled with data @code{(@var{tag} @var{value})}.
623@subsection Examples of @code{catch} and @code{throw} 623@subsection Examples of @code{catch} and @code{throw}
624 624
625 One way to use @code{catch} and @code{throw} is to exit from a doubly 625 One way to use @code{catch} and @code{throw} is to exit from a doubly
626nested loop. (In most languages, this would be done with a ``go to''.) 626nested loop. (In most languages, this would be done with a ``go to.'')
627Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j} 627Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j}
628varying from 0 to 9: 628varying from 0 to 9:
629 629
@@ -783,8 +783,11 @@ undesirable results. Instead, use @code{(error "%s" @var{string})}.
783@end defun 783@end defun
784 784
785@defun signal error-symbol data 785@defun signal error-symbol data
786This
786@anchor{Definition of signal} 787@anchor{Definition of signal}
787This function signals an error named by @var{error-symbol}. The 788@c unfortunately, a page break is allowed if the anchor immediately
789@c follows the @defun, due to hard-to-fix TeXnicalities.
790function signals an error named by @var{error-symbol}. The
788argument @var{data} is a list of additional Lisp objects relevant to the 791argument @var{data} is a list of additional Lisp objects relevant to the
789circumstances of the error. 792circumstances of the error.
790 793
@@ -846,11 +849,22 @@ executes in the environment of the @code{condition-case} that
846established it; all functions called within that @code{condition-case} 849established it; all functions called within that @code{condition-case}
847have already been exited, and the handler cannot return to them. 850have already been exited, and the handler cannot return to them.
848 851
849If there is no applicable handler for the error, the current command is 852If there is no applicable handler for the error, it terminates the
850terminated and control returns to the editor command loop, because the 853current command and returns control to the editor command loop. (The
851command loop has an implicit handler for all kinds of errors. The 854command loop has an implicit handler for all kinds of errors.) The
852command loop's handler uses the error symbol and associated data to 855command loop's handler uses the error symbol and associated data to
853print an error message. 856print an error message. You can use the variable
857@code{command-error-function} to control how this is done:
858
859@defvar command-error-function
860This variable, if non-@code{nil}, specifies a function to use to
861handle errors that return control to the Emacs command loop. The
862function should take three arguments: @var{data}, a list of the same
863form that @code{condition-case} would bind to its variable;
864@var{context}, a string describing the situation in which the error
865occurred, or (more often) @code{nil}; and @code{caller}, the Lisp
866function which called the primitive that signaled the error.
867@end defvar
854 868
855@cindex @code{debug-on-error} use 869@cindex @code{debug-on-error} use
856An error that has no explicit handler may call the Lisp debugger. The 870An error that has no explicit handler may call the Lisp debugger. The
diff --git a/lispref/customize.texi b/lispref/customize.texi
index da2b8a068f9..3aca1a90bcf 100644
--- a/lispref/customize.texi
+++ b/lispref/customize.texi
@@ -699,7 +699,7 @@ that you specify for it.
699 699
700@item (list @var{element-types}@dots{}) 700@item (list @var{element-types}@dots{})
701The value must be a list with exactly as many elements as the 701The value must be a list with exactly as many elements as the
702@var{element-types} you have specified; and each element must fit the 702@var{element-types} given; and each element must fit the
703corresponding @var{element-type}. 703corresponding @var{element-type}.
704 704
705For example, @code{(list integer string function)} describes a list of 705For example, @code{(list integer string function)} describes a list of
@@ -718,7 +718,7 @@ The value must fit at least one of @var{alternative-types}.
718For example, @code{(choice integer string)} allows either an 718For example, @code{(choice integer string)} allows either an
719integer or a string. 719integer or a string.
720 720
721In the customization buffer, the user selects one of the alternatives 721In the customization buffer, the user selects an alternative
722using a menu, and can then edit the value in the usual way for that 722using a menu, and can then edit the value in the usual way for that
723alternative. 723alternative.
724 724
diff --git a/lispref/display.texi b/lispref/display.texi
index 5687091a31f..678ca657b5b 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -103,8 +103,8 @@ processes the available input before trying again to redisplay.
103If this variable is @code{nil}, Emacs does not check for input during 103If this variable is @code{nil}, Emacs does not check for input during
104redisplay, and redisplay cannot be preempted by input. 104redisplay, and redisplay cannot be preempted by input.
105 105
106@emph{Note} that this variable is only available if Emacs is built 106This variable is only obeyed on graphical terminals. For
107with support for sub-second timers. 107text terminals, see @ref{Terminal Output}.
108@end defvar 108@end defvar
109 109
110@defvar redisplay-dont-pause 110@defvar redisplay-dont-pause
@@ -141,7 +141,7 @@ boundary. @xref{Filling}.
141indicate truncated and continued lines (@pxref{Fringes}). On a text 141indicate truncated and continued lines (@pxref{Fringes}). On a text
142terminal, a @samp{$} in the rightmost column of the window indicates 142terminal, a @samp{$} in the rightmost column of the window indicates
143truncation; a @samp{\} on the rightmost column indicates a line that 143truncation; a @samp{\} on the rightmost column indicates a line that
144``wraps''. (The display table can specify alternate characters to use 144``wraps.'' (The display table can specify alternate characters to use
145for this; @pxref{Display Tables}). 145for this; @pxref{Display Tables}).
146 146
147@defopt truncate-lines 147@defopt truncate-lines
@@ -1189,7 +1189,7 @@ The return value is @var{overlay}.
1189This is the only valid way to change the endpoints of an overlay. Do 1189This is the only valid way to change the endpoints of an overlay. Do
1190not try modifying the markers in the overlay by hand, as that fails to 1190not try modifying the markers in the overlay by hand, as that fails to
1191update other vital data structures and can cause some overlays to be 1191update other vital data structures and can cause some overlays to be
1192``lost''. 1192``lost.''
1193@end defun 1193@end defun
1194 1194
1195@defun remove-overlays &optional start end name value 1195@defun remove-overlays &optional start end name value
@@ -2013,7 +2013,7 @@ A non-@code{nil} value specifies a bold font.
2013A non-@code{nil} value specifies an italic font. 2013A non-@code{nil} value specifies an italic font.
2014@end table 2014@end table
2015 2015
2016 For compatibility, you can still set these ``attributes'', even 2016 For compatibility, you can still set these ``attributes,'' even
2017though they are not real face attributes. Here is what that does: 2017though they are not real face attributes. Here is what that does:
2018 2018
2019@table @code 2019@table @code
@@ -3767,7 +3767,7 @@ $$\pmatrix{ 2 & -1 & 0 \cr
3767@end ifnottex 3767@end ifnottex
3768 3768
3769@item disabled 3769@item disabled
3770Specifies transforming the image so that it looks ``disabled''. 3770Specifies transforming the image so that it looks ``disabled.''
3771@end table 3771@end table
3772 3772
3773@item :mask @var{mask} 3773@item :mask @var{mask}
@@ -4804,7 +4804,7 @@ Any @var{args} are passed to @var{map-function}.
4804@subsection Abstract Display Example 4804@subsection Abstract Display Example
4805 4805
4806 Here is a simple example using functions of the ewoc package to 4806 Here is a simple example using functions of the ewoc package to
4807implement a ``color components display'', an area in a buffer that 4807implement a ``color components display,'' an area in a buffer that
4808represents a vector of three integers (itself representing a 24-bit RGB 4808represents a vector of three integers (itself representing a 24-bit RGB
4809value) in various ways. 4809value) in various ways.
4810 4810
@@ -5320,7 +5320,7 @@ variable.
5320@section Window Systems 5320@section Window Systems
5321 5321
5322 Emacs works with several window systems, most notably the X Window 5322 Emacs works with several window systems, most notably the X Window
5323System. Both Emacs and X use the term ``window'', but use it 5323System. Both Emacs and X use the term ``window,'' but use it
5324differently. An Emacs frame is a single window as far as X is 5324differently. An Emacs frame is a single window as far as X is
5325concerned; the individual Emacs windows are not known to X at all. 5325concerned; the individual Emacs windows are not known to X at all.
5326 5326
diff --git a/lispref/doclicense.texi b/lispref/doclicense.texi
index 9e191e0c0b8..f2f32aaa968 100644
--- a/lispref/doclicense.texi
+++ b/lispref/doclicense.texi
@@ -24,7 +24,7 @@ Secondarily, this License preserves for the author and publisher a way
24to get credit for their work, while not being considered responsible 24to get credit for their work, while not being considered responsible
25for modifications made by others. 25for modifications made by others.
26 26
27This License is a kind of ``copyleft'', which means that derivative 27This License is a kind of ``copyleft,'' which means that derivative
28works of the document must themselves be free in the same sense. It 28works of the document must themselves be free in the same sense. It
29complements the GNU General Public License, which is a copyleft 29complements the GNU General Public License, which is a copyleft
30license designed for free software. 30license designed for free software.
@@ -45,9 +45,9 @@ This License applies to any manual or other work, in any medium, that
45contains a notice placed by the copyright holder saying it can be 45contains a notice placed by the copyright holder saying it can be
46distributed under the terms of this License. Such a notice grants a 46distributed under the terms of this License. Such a notice grants a
47world-wide, royalty-free license, unlimited in duration, to use that 47world-wide, royalty-free license, unlimited in duration, to use that
48work under the conditions stated herein. The ``Document'', below, 48work under the conditions stated herein. The ``Document,'' below,
49refers to any such manual or work. Any member of the public is a 49refers to any such manual or work. Any member of the public is a
50licensee, and is addressed as ``you''. You accept the license if you 50licensee, and is addressed as ``you.'' You accept the license if you
51copy, modify or distribute the work in a way requiring permission 51copy, modify or distribute the work in a way requiring permission
52under copyright law. 52under copyright law.
53 53
@@ -114,8 +114,8 @@ preceding the beginning of the body of the text.
114A section ``Entitled XYZ'' means a named subunit of the Document whose 114A section ``Entitled XYZ'' means a named subunit of the Document whose
115title either is precisely XYZ or contains XYZ in parentheses following 115title either is precisely XYZ or contains XYZ in parentheses following
116text that translates XYZ in another language. (Here XYZ stands for a 116text that translates XYZ in another language. (Here XYZ stands for a
117specific section name mentioned below, such as ``Acknowledgements'', 117specific section name mentioned below, such as ``Acknowledgements,''
118``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' 118``Dedications,'' ``Endorsements,'' or ``History.'') To ``Preserve the Title''
119of such a section when you modify the Document means that it remains a 119of such a section when you modify the Document means that it remains a
120section ``Entitled XYZ'' according to this definition. 120section ``Entitled XYZ'' according to this definition.
121 121
@@ -211,7 +211,7 @@ F. Include, immediately after the copyright notices, a license notice
211G. Preserve in that license notice the full lists of Invariant Sections 211G. Preserve in that license notice the full lists of Invariant Sections
212 and required Cover Texts given in the Document's license notice.@* 212 and required Cover Texts given in the Document's license notice.@*
213H. Include an unaltered copy of this License.@* 213H. Include an unaltered copy of this License.@*
214I. Preserve the section Entitled ``History'', Preserve its Title, and add 214I. Preserve the section Entitled ``History,'' Preserve its Title, and add
215 to it an item stating at least the title, year, new authors, and 215 to it an item stating at least the title, year, new authors, and
216 publisher of the Modified Version as given on the Title Page. If 216 publisher of the Modified Version as given on the Title Page. If
217 there is no section Entitled ``History'' in the Document, create one 217 there is no section Entitled ``History'' in the Document, create one
@@ -225,7 +225,7 @@ J. Preserve the network location, if any, given in the Document for
225 You may omit a network location for a work that was published at 225 You may omit a network location for a work that was published at
226 least four years before the Document itself, or if the original 226 least four years before the Document itself, or if the original
227 publisher of the version it refers to gives permission.@* 227 publisher of the version it refers to gives permission.@*
228K. For any section Entitled ``Acknowledgements'' or ``Dedications'', 228K. For any section Entitled ``Acknowledgements'' or ``Dedications,''
229 Preserve the Title of the section, and preserve in the section all 229 Preserve the Title of the section, and preserve in the section all
230 the substance and tone of each of the contributor acknowledgements 230 the substance and tone of each of the contributor acknowledgements
231 and/or dedications given therein.@* 231 and/or dedications given therein.@*
@@ -245,7 +245,7 @@ of these sections as invariant. To do this, add their titles to the
245list of Invariant Sections in the Modified Version's license notice. 245list of Invariant Sections in the Modified Version's license notice.
246These titles must be distinct from any other section titles. 246These titles must be distinct from any other section titles.
247 247
248You may add a section Entitled ``Endorsements'', provided it contains 248You may add a section Entitled ``Endorsements,'' provided it contains
249nothing but endorsements of your Modified Version by various 249nothing but endorsements of your Modified Version by various
250parties--for example, statements of peer review or that the text has 250parties--for example, statements of peer review or that the text has
251been approved by an organization as the authoritative definition of a 251been approved by an organization as the authoritative definition of a
@@ -286,7 +286,7 @@ Invariant Sections in the license notice of the combined work.
286 286
287In the combination, you must combine any sections Entitled ``History'' 287In the combination, you must combine any sections Entitled ``History''
288in the various original documents, forming one section Entitled 288in the various original documents, forming one section Entitled
289``History''; likewise combine any sections Entitled ``Acknowledgements'', 289``History''; likewise combine any sections Entitled ``Acknowledgements,''
290and any sections Entitled ``Dedications.'' You must delete all sections 290and any sections Entitled ``Dedications.'' You must delete all sections
291Entitled ``Endorsements.'' 291Entitled ``Endorsements.''
292@sp 1 292@sp 1
@@ -340,8 +340,8 @@ of those notices and disclaimers. In case of a disagreement between
340the translation and the original version of this License or a notice 340the translation and the original version of this License or a notice
341or disclaimer, the original version will prevail. 341or disclaimer, the original version will prevail.
342 342
343If a section in the Document is Entitled ``Acknowledgements'', 343If a section in the Document is Entitled ``Acknowledgements,''
344``Dedications'', or ``History'', the requirement (section 4) to Preserve 344``Dedications,'' or ``History,'' the requirement (section 4) to Preserve
345its Title (section 1) will typically require changing the actual 345its Title (section 1) will typically require changing the actual
346title. 346title.
347@sp 1 347@sp 1
@@ -390,7 +390,7 @@ under the terms of the GNU Free Documentation License, Version 1.2
390or any later version published by the Free Software Foundation; 390or any later version published by the Free Software Foundation;
391with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 391with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
392A copy of the license is included in the section entitled ``GNU 392A copy of the license is included in the section entitled ``GNU
393Free Documentation License''. 393Free Documentation License.''
394@end group 394@end group
395@end smallexample 395@end smallexample
396 396
diff --git a/lispref/edebug.texi b/lispref/edebug.texi
index 731e04c5d1d..b2bab6030ed 100644
--- a/lispref/edebug.texi
+++ b/lispref/edebug.texi
@@ -1541,12 +1541,10 @@ The default value is @code{step}.
1541@end defopt 1541@end defopt
1542 1542
1543@defopt edebug-trace 1543@defopt edebug-trace
1544Non-@code{nil} means display a trace of function entry and exit. 1544If this is non-@code{nil}, trace each function entry and exit.
1545Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one 1545Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
1546function entry or exit per line, indented by the recursion level. 1546function entry or exit per line, indented by the recursion level.
1547 1547
1548The default value is @code{nil}.
1549
1550Also see @code{edebug-tracing}, in @ref{Trace Buffer}. 1548Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
1551@end defopt 1549@end defopt
1552 1550
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index 9f029924e5e..db92bdc97ee 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -47,10 +47,10 @@ Inc.
47Permission is granted to copy, distribute and/or modify this document 47Permission is granted to copy, distribute and/or modify this document
48under the terms of the GNU Free Documentation License, Version 1.2 or 48under the terms of the GNU Free Documentation License, Version 1.2 or
49any later version published by the Free Software Foundation; with the 49any later version published by the Free Software Foundation; with the
50Invariant Sections being ``GNU General Public License'', with the 50Invariant Sections being ``GNU General Public License,'' with the
51Front-Cover texts being ``A GNU Manual'', and with the Back-Cover 51Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
52Texts as in (a) below. A copy of the license is included in the 52Texts as in (a) below. A copy of the license is included in the
53section entitled ``GNU Free Documentation License''. 53section entitled ``GNU Free Documentation License.''
54 54
55(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify 55(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
56this GNU Manual, like GNU software. Copies published by the Free 56this GNU Manual, like GNU software. Copies published by the Free
@@ -338,7 +338,7 @@ Kinds of Forms
338 we find the real function via the symbol. 338 we find the real function via the symbol.
339* Function Forms:: Forms that call functions. 339* Function Forms:: Forms that call functions.
340* Macro Forms:: Forms that call macros. 340* Macro Forms:: Forms that call macros.
341* Special Forms:: ``Special forms'' are idiosyncratic primitives, 341* Special Forms:: "Special forms" are idiosyncratic primitives,
342 most of them extremely important. 342 most of them extremely important.
343* Autoloading:: Functions set up to load files 343* Autoloading:: Functions set up to load files
344 containing their real definitions. 344 containing their real definitions.
@@ -457,7 +457,7 @@ Loading
457* Repeated Loading:: Precautions about loading a file twice. 457* Repeated Loading:: Precautions about loading a file twice.
458* Named Features:: Loading a library if it isn't already loaded. 458* Named Features:: Loading a library if it isn't already loaded.
459* Where Defined:: Finding which file defined a certain symbol. 459* Where Defined:: Finding which file defined a certain symbol.
460* Unloading:: How to ``unload'' a library that was loaded. 460* Unloading:: How to "unload" a library that was loaded.
461* Hooks for Loading:: Providing code to be run when 461* Hooks for Loading:: Providing code to be run when
462 particular libraries are loaded. 462 particular libraries are loaded.
463 463
@@ -741,7 +741,7 @@ Buffers
741 is visited. 741 is visited.
742* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 742* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
743* Modification Time:: Determining whether the visited file was changed 743* Modification Time:: Determining whether the visited file was changed
744 ``behind Emacs's back''. 744 "behind Emacs's back".
745* Read Only Buffers:: Modifying text is not allowed in a 745* Read Only Buffers:: Modifying text is not allowed in a
746 read-only buffer. 746 read-only buffer.
747* The Buffer List:: How to look at all the existing buffers. 747* The Buffer List:: How to look at all the existing buffers.
@@ -830,8 +830,8 @@ Markers
830* Marker Insertion Types:: Two ways a marker can relocate when you 830* Marker Insertion Types:: Two ways a marker can relocate when you
831 insert where it points. 831 insert where it points.
832* Moving Markers:: Moving the marker to a new buffer or position. 832* Moving Markers:: Moving the marker to a new buffer or position.
833* The Mark:: How ``the mark'' is implemented with a marker. 833* The Mark:: How "the mark" is implemented with a marker.
834* The Region:: How to access ``the region''. 834* The Region:: How to access "the region".
835 835
836Text 836Text
837 837
@@ -862,8 +862,8 @@ Text
862* Registers:: How registers are implemented. Accessing 862* Registers:: How registers are implemented. Accessing
863 the text or position stored in a register. 863 the text or position stored in a register.
864* Base 64:: Conversion to or from base 64 encoding. 864* Base 64:: Conversion to or from base 64 encoding.
865* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. 865* MD5 Checksum:: Compute the MD5 "message digest"/"checksum".
866* Atomic Changes:: Installing several buffer changes ``atomically''. 866* Atomic Changes:: Installing several buffer changes "atomically".
867* Change Hooks:: Supplying functions to be run when text is changed. 867* Change Hooks:: Supplying functions to be run when text is changed.
868 868
869The Kill Ring 869The Kill Ring
diff --git a/lispref/eval.texi b/lispref/eval.texi
index 803f3d4a70d..05229c1b7c0 100644
--- a/lispref/eval.texi
+++ b/lispref/eval.texi
@@ -106,7 +106,7 @@ described below (@pxref{Forms}).
106 A Lisp object that is intended to be evaluated is called a @dfn{form}. 106 A Lisp object that is intended to be evaluated is called a @dfn{form}.
107How Emacs evaluates a form depends on its data type. Emacs has three 107How Emacs evaluates a form depends on its data type. Emacs has three
108different kinds of form that are evaluated differently: symbols, lists, 108different kinds of form that are evaluated differently: symbols, lists,
109and ``all other types''. This section describes all three kinds, one by 109and ``all other types.'' This section describes all three kinds, one by
110one, starting with the ``all other types'' which are self-evaluating 110one, starting with the ``all other types'' which are self-evaluating
111forms. 111forms.
112 112
@@ -118,7 +118,7 @@ forms.
118 we find the real function via the symbol. 118 we find the real function via the symbol.
119* Function Forms:: Forms that call functions. 119* Function Forms:: Forms that call functions.
120* Macro Forms:: Forms that call macros. 120* Macro Forms:: Forms that call macros.
121* Special Forms:: ``Special forms'' are idiosyncratic primitives, 121* Special Forms:: "Special forms" are idiosyncratic primitives,
122 most of them extremely important. 122 most of them extremely important.
123* Autoloading:: Functions set up to load files 123* Autoloading:: Functions set up to load files
124 containing their real definitions. 124 containing their real definitions.
diff --git a/lispref/files.texi b/lispref/files.texi
index dbcf37b5c8d..03e5db318f4 100644
--- a/lispref/files.texi
+++ b/lispref/files.texi
@@ -658,7 +658,7 @@ The file lock is really a file, a symbolic link with a special name,
658stored in the same directory as the file you are editing. 658stored in the same directory as the file you are editing.
659 659
660 When you access files using NFS, there may be a small probability that 660 When you access files using NFS, there may be a small probability that
661you and another user will both lock the same file ``simultaneously''. 661you and another user will both lock the same file ``simultaneously.''
662If this happens, it is possible for the two users to make changes 662If this happens, it is possible for the two users to make changes
663simultaneously, but Emacs will still warn the user who saves second. 663simultaneously, but Emacs will still warn the user who saves second.
664Also, the detection of modification of a buffer visiting a file changed 664Also, the detection of modification of a buffer visiting a file changed
@@ -1681,7 +1681,7 @@ return value, but backup version numbers are kept.
1681@end defun 1681@end defun
1682 1682
1683@defun file-name-extension filename &optional period 1683@defun file-name-extension filename &optional period
1684This function returns @var{filename}'s final ``extension'', if any, 1684This function returns @var{filename}'s final ``extension,'' if any,
1685after applying @code{file-name-sans-versions} to remove any 1685after applying @code{file-name-sans-versions} to remove any
1686version/backup part. The extension, in a file name, is the part that 1686version/backup part. The extension, in a file name, is the part that
1687starts with the last @samp{.} in the last name component (minus 1687starts with the last @samp{.} in the last name component (minus
@@ -2653,7 +2653,7 @@ unlocking the buffer if it is locked.
2653possibly others to be added in the future. It need not implement all 2653possibly others to be added in the future. It need not implement all
2654these operations itself---when it has nothing special to do for a 2654these operations itself---when it has nothing special to do for a
2655certain operation, it can reinvoke the primitive, to handle the 2655certain operation, it can reinvoke the primitive, to handle the
2656operation ``in the usual way''. It should always reinvoke the primitive 2656operation ``in the usual way.'' It should always reinvoke the primitive
2657for an operation it does not recognize. Here's one way to do this: 2657for an operation it does not recognize. Here's one way to do this:
2658 2658
2659@smallexample 2659@smallexample
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 6652c0d6eb7..08b4c3be531 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -641,7 +641,7 @@ This variable specifies how to blink the cursor. Each element has the
641form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor 641form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor
642type equals @var{on-state} (comparing using @code{equal}), the 642type equals @var{on-state} (comparing using @code{equal}), the
643corresponding @var{off-state} specifies what the cursor looks like 643corresponding @var{off-state} specifies what the cursor looks like
644when it blinks ``off''. Both @var{on-state} and @var{off-state} 644when it blinks ``off.'' Both @var{on-state} and @var{off-state}
645should be suitable values for the @code{cursor-type} frame parameter. 645should be suitable values for the @code{cursor-type} frame parameter.
646 646
647There are various defaults for how to blink each type of cursor, if 647There are various defaults for how to blink each type of cursor, if
@@ -967,7 +967,7 @@ internals of Emacs.
967@defun visible-frame-list 967@defun visible-frame-list
968This function returns a list of just the currently visible frames. 968This function returns a list of just the currently visible frames.
969@xref{Visibility of Frames}. (Terminal frames always count as 969@xref{Visibility of Frames}. (Terminal frames always count as
970``visible'', even though only the selected one is actually displayed.) 970``visible,'' even though only the selected one is actually displayed.)
971@end defun 971@end defun
972 972
973@defun next-frame &optional frame minibuf 973@defun next-frame &optional frame minibuf
@@ -1189,7 +1189,9 @@ change it.
1189This option is how you inform Emacs whether the window manager transfers 1189This option is how you inform Emacs whether the window manager transfers
1190focus when the user moves the mouse. Non-@code{nil} says that it does. 1190focus when the user moves the mouse. Non-@code{nil} says that it does.
1191When this is so, the command @code{other-frame} moves the mouse to a 1191When this is so, the command @code{other-frame} moves the mouse to a
1192position consistent with the new selected frame. 1192position consistent with the new selected frame. (This option has no
1193effect on MS-Windows, where the mouse pointer is always automatically
1194moved by the OS to the selected frame.)
1193@end defopt 1195@end defopt
1194 1196
1195@node Visibility of Frames 1197@node Visibility of Frames
@@ -1251,7 +1253,7 @@ changes. @xref{Misc Events}.
1251 Most window systems use a desktop metaphor. Part of this metaphor is 1253 Most window systems use a desktop metaphor. Part of this metaphor is
1252the idea that windows are stacked in a notional third dimension 1254the idea that windows are stacked in a notional third dimension
1253perpendicular to the screen surface, and thus ordered from ``highest'' 1255perpendicular to the screen surface, and thus ordered from ``highest''
1254to ``lowest''. Where two windows overlap, the one higher up covers 1256to ``lowest.'' Where two windows overlap, the one higher up covers
1255the one underneath. Even a window at the bottom of the stack can be 1257the one underneath. Even a window at the bottom of the stack can be
1256seen if no other window overlaps it. 1258seen if no other window overlaps it.
1257 1259
@@ -1259,7 +1261,7 @@ seen if no other window overlaps it.
1259@cindex lowering a frame 1261@cindex lowering a frame
1260 A window's place in this ordering is not fixed; in fact, users tend 1262 A window's place in this ordering is not fixed; in fact, users tend
1261to change the order frequently. @dfn{Raising} a window means moving 1263to change the order frequently. @dfn{Raising} a window means moving
1262it ``up'', to the top of the stack. @dfn{Lowering} a window means 1264it ``up,'' to the top of the stack. @dfn{Lowering} a window means
1263moving it to the bottom of the stack. This motion is in the notional 1265moving it to the bottom of the stack. This motion is in the notional
1264third dimension only, and does not change the position of the window 1266third dimension only, and does not change the position of the window
1265on the screen. 1267on the screen.
@@ -1519,7 +1521,7 @@ the menu keymap as necessary.
1519 A dialog box is a variant of a pop-up menu---it looks a little 1521 A dialog box is a variant of a pop-up menu---it looks a little
1520different, it always appears in the center of a frame, and it has just 1522different, it always appears in the center of a frame, and it has just
1521one level and one or more buttons. The main use of dialog boxes is 1523one level and one or more buttons. The main use of dialog boxes is
1522for asking questions that the user can answer with ``yes'', ``no'', 1524for asking questions that the user can answer with ``yes,'' ``no,''
1523and a few other alternatives. With a single button, they can also 1525and a few other alternatives. With a single button, they can also
1524force the user to acknowledge important information. The functions 1526force the user to acknowledge important information. The functions
1525@code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the 1527@code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the
@@ -1780,7 +1782,7 @@ colors.)
1780 These functions provide a way to determine which color names are 1782 These functions provide a way to determine which color names are
1781valid, and what they look like. In some cases, the value depends on the 1783valid, and what they look like. In some cases, the value depends on the
1782@dfn{selected frame}, as described below; see @ref{Input Focus}, for the 1784@dfn{selected frame}, as described below; see @ref{Input Focus}, for the
1783meaning of the term ``selected frame''. 1785meaning of the term ``selected frame.''
1784 1786
1785@defun color-defined-p color &optional frame 1787@defun color-defined-p color &optional frame
1786This function reports whether a color name is meaningful. It returns 1788This function reports whether a color name is meaningful. It returns
@@ -2150,7 +2152,7 @@ software (as a string). Really this means whoever distributes the X
2150server. 2152server.
2151 2153
2152When the developers of X labelled software distributors as 2154When the developers of X labelled software distributors as
2153``vendors'', they showed their false assumption that no system could 2155``vendors,'' they showed their false assumption that no system could
2154ever be developed and distributed noncommercially. 2156ever be developed and distributed noncommercially.
2155@end defun 2157@end defun
2156 2158
diff --git a/lispref/functions.texi b/lispref/functions.texi
index 7068b385ecf..a4c0b4b8fe4 100644
--- a/lispref/functions.texi
+++ b/lispref/functions.texi
@@ -485,7 +485,7 @@ more convenient than making the function definition point to itself
485practice). 485practice).
486 486
487 We often identify functions with the symbols used to name them. For 487 We often identify functions with the symbols used to name them. For
488example, we often speak of ``the function @code{car}'', not 488example, we often speak of ``the function @code{car},'' not
489distinguishing between the symbol @code{car} and the primitive 489distinguishing between the symbol @code{car} and the primitive
490subr-object that is its function definition. For most purposes, the 490subr-object that is its function definition. For most purposes, the
491distinction is not important. 491distinction is not important.
@@ -766,12 +766,10 @@ in turn, and returns a list of the results.
766The argument @var{sequence} can be any kind of sequence except a 766The argument @var{sequence} can be any kind of sequence except a
767char-table; that is, a list, a vector, a bool-vector, or a string. The 767char-table; that is, a list, a vector, a bool-vector, or a string. The
768result is always a list. The length of the result is the same as the 768result is always a list. The length of the result is the same as the
769length of @var{sequence}. 769length of @var{sequence}. For example:
770 770
771@smallexample 771@smallexample
772@group 772@group
773@exdent @r{For example:}
774
775(mapcar 'car '((a b) (c d) (e f))) 773(mapcar 'car '((a b) (c d) (e f)))
776 @result{} (a c e) 774 @result{} (a c e)
777(mapcar '1+ [1 2 3]) 775(mapcar '1+ [1 2 3])
@@ -846,7 +844,7 @@ bool-vector, or a string.
846 844
847 In Lisp, a function is a list that starts with @code{lambda}, a 845 In Lisp, a function is a list that starts with @code{lambda}, a
848byte-code function compiled from such a list, or alternatively a 846byte-code function compiled from such a list, or alternatively a
849primitive subr-object; names are ``extra''. Although usually functions 847primitive subr-object; names are ``extra.'' Although usually functions
850are defined with @code{defun} and given names at the same time, it is 848are defined with @code{defun} and given names at the same time, it is
851occasionally more concise to use an explicit lambda expression---an 849occasionally more concise to use an explicit lambda expression---an
852anonymous function. Such a list is valid wherever a function name is. 850anonymous function. Such a list is valid wherever a function name is.
diff --git a/lispref/gpl.texi b/lispref/gpl.texi
index d3ffb26719b..ac5c9938381 100644
--- a/lispref/gpl.texi
+++ b/lispref/gpl.texi
@@ -75,13 +75,13 @@ modification follow.
75@item 75@item
76This License applies to any program or other work which contains 76This License applies to any program or other work which contains
77a notice placed by the copyright holder saying it may be distributed 77a notice placed by the copyright holder saying it may be distributed
78under the terms of this General Public License. The ``Program'', below, 78under the terms of this General Public License. The ``Program,'' below,
79refers to any such program or work, and a ``work based on the Program'' 79refers to any such program or work, and a ``work based on the Program''
80means either the Program or any derivative work under copyright law: 80means either the Program or any derivative work under copyright law:
81that is to say, a work containing the Program or a portion of it, 81that is to say, a work containing the Program or a portion of it,
82either verbatim or with modifications and/or translated into another 82either verbatim or with modifications and/or translated into another
83language. (Hereinafter, translation is included without limitation in 83language. (Hereinafter, translation is included without limitation in
84the term ``modification''.) Each licensee is addressed as ``you''. 84the term ``modification.'') Each licensee is addressed as ``you.''
85 85
86Activities other than copying, distribution and modification are not 86Activities other than copying, distribution and modification are not
87covered by this License; they are outside its scope. The act of 87covered by this License; they are outside its scope. The act of
@@ -274,7 +274,7 @@ address new problems or concerns.
274 274
275Each version is given a distinguishing version number. If the Program 275Each version is given a distinguishing version number. If the Program
276specifies a version number of this License which applies to it and ``any 276specifies a version number of this License which applies to it and ``any
277later version'', you have the option of following the terms and conditions 277later version,'' you have the option of following the terms and conditions
278either of that version or of any later version published by the Free 278either of that version or of any later version published by the Free
279Software Foundation. If the Program does not specify a version number of 279Software Foundation. If the Program does not specify a version number of
280this License, you may choose any version ever published by the Free Software 280this License, you may choose any version ever published by the Free Software
diff --git a/lispref/hash.texi b/lispref/hash.texi
index 1913905af8d..4c2c3469c86 100644
--- a/lispref/hash.texi
+++ b/lispref/hash.texi
@@ -79,13 +79,13 @@ alternatives:
79Keys which are numbers are ``the same'' if they are @code{equal}, that 79Keys which are numbers are ``the same'' if they are @code{equal}, that
80is, if they are equal in value and either both are integers or both 80is, if they are equal in value and either both are integers or both
81are floating point numbers; otherwise, two distinct objects are never 81are floating point numbers; otherwise, two distinct objects are never
82``the same''. 82``the same.''
83 83
84@item eq 84@item eq
85Any two distinct Lisp objects are ``different'' as keys. 85Any two distinct Lisp objects are ``different'' as keys.
86 86
87@item equal 87@item equal
88Two Lisp objects are ``the same'', as keys, if they are equal 88Two Lisp objects are ``the same,'' as keys, if they are equal
89according to @code{equal}. 89according to @code{equal}.
90@end table 90@end table
91 91
@@ -269,7 +269,6 @@ compared case-insensitively.
269@example 269@example
270(defun case-fold-string= (a b) 270(defun case-fold-string= (a b)
271 (compare-strings a nil nil b nil nil t)) 271 (compare-strings a nil nil b nil nil t))
272
273(defun case-fold-string-hash (a) 272(defun case-fold-string-hash (a)
274 (sxhash (upcase a))) 273 (sxhash (upcase a)))
275 274
diff --git a/lispref/internals.texi b/lispref/internals.texi
index a4ee6223b35..db7694585aa 100644
--- a/lispref/internals.texi
+++ b/lispref/internals.texi
@@ -1270,7 +1270,7 @@ Non-@code{nil} means current value of @code{start} was the beginning of a line
1270when it was chosen. 1270when it was chosen.
1271 1271
1272@item too_small_ok 1272@item too_small_ok
1273Non-@code{nil} means don't delete this window for becoming ``too small''. 1273Non-@code{nil} means don't delete this window for becoming ``too small.''
1274 1274
1275@item height_fixed_p 1275@item height_fixed_p
1276This field is temporarily set to 1 to fix the height of the selected 1276This field is temporarily set to 1 to fix the height of the selected
diff --git a/lispref/intro.texi b/lispref/intro.texi
index 7e1b6155b35..cd9b36ced85 100644
--- a/lispref/intro.texi
+++ b/lispref/intro.texi
@@ -160,7 +160,7 @@ printer'' refer to those routines in Lisp that convert textual
160representations of Lisp objects into actual Lisp objects, and vice 160representations of Lisp objects into actual Lisp objects, and vice
161versa. @xref{Printed Representation}, for more details. You, the 161versa. @xref{Printed Representation}, for more details. You, the
162person reading this manual, are thought of as ``the programmer'' and are 162person reading this manual, are thought of as ``the programmer'' and are
163addressed as ``you''. ``The user'' is the person who uses Lisp 163addressed as ``you.'' ``The user'' is the person who uses Lisp
164programs, including those you write. 164programs, including those you write.
165 165
166@cindex fonts in this manual 166@cindex fonts in this manual
@@ -233,7 +233,7 @@ the examples in this manual, this is indicated with @samp{@result{}}:
233@end example 233@end example
234 234
235@noindent 235@noindent
236You can read this as ``@code{(car '(1 2))} evaluates to 1''. 236You can read this as ``@code{(car '(1 2))} evaluates to 1.''
237 237
238 When a form is a macro call, it expands into a new form for Lisp to 238 When a form is a macro call, it expands into a new form for Lisp to
239evaluate. We show the result of the expansion with 239evaluate. We show the result of the expansion with
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 38f7fbac77c..f93c94b8dfe 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -2232,7 +2232,7 @@ Next we define the menu items:
2232Note the symbols which the bindings are ``made for''; these appear 2232Note the symbols which the bindings are ``made for''; these appear
2233inside square brackets, in the key sequence being defined. In some 2233inside square brackets, in the key sequence being defined. In some
2234cases, this symbol is the same as the command name; sometimes it is 2234cases, this symbol is the same as the command name; sometimes it is
2235different. These symbols are treated as ``function keys'', but they are 2235different. These symbols are treated as ``function keys,'' but they are
2236not real function keys on the keyboard. They do not affect the 2236not real function keys on the keyboard. They do not affect the
2237functioning of the menu itself, but they are ``echoed'' in the echo area 2237functioning of the menu itself, but they are ``echoed'' in the echo area
2238when the user selects from the menu, and they appear in the output of 2238when the user selects from the menu, and they appear in the output of
diff --git a/lispref/lists.texi b/lispref/lists.texi
index 7de4a6c6ab0..cb60baef900 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -20,6 +20,7 @@ the whole list.
20* List-related Predicates:: Is this object a list? Comparing two lists. 20* List-related Predicates:: Is this object a list? Comparing two lists.
21* List Elements:: Extracting the pieces of a list. 21* List Elements:: Extracting the pieces of a list.
22* Building Lists:: Creating list structure. 22* Building Lists:: Creating list structure.
23* List Variables:: Modifying lists stored in variables.
23* Modifying Lists:: Storing new pieces into an existing list. 24* Modifying Lists:: Storing new pieces into an existing list.
24* Sets And Lists:: A list can represent a finite mathematical set. 25* Sets And Lists:: A list can represent a finite mathematical set.
25* Association Lists:: A list can represent a finite relation or mapping. 26* Association Lists:: A list can represent a finite relation or mapping.
@@ -431,20 +432,6 @@ used in this example and the function named @code{list} described below;
431any symbol can serve both purposes. 432any symbol can serve both purposes.
432@end defun 433@end defun
433 434
434@defmac push newelt listname
435This macro provides an alternative way to write
436@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
437
438@example
439(setq l '(a b))
440 @result{} (a b)
441(push 'c l)
442 @result{} (c a b)
443l
444 @result{} (c a b)
445@end example
446@end defmac
447
448@defun list &rest objects 435@defun list &rest objects
449This function creates a list with @var{objects} as its elements. The 436This function creates a list with @var{objects} as its elements. The
450resulting list is always @code{nil}-terminated. If no @var{objects} 437resulting list is always @code{nil}-terminated. If no @var{objects}
@@ -704,6 +691,124 @@ Some examples:
704@end example 691@end example
705@end defun 692@end defun
706 693
694@node List Variables
695@section Modifying List Variables
696
697 These functions, and one macro, provide convenient ways
698to modify a list which is stored in a variable.
699
700@defmac push newelt listname
701This macro provides an alternative way to write
702@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
703
704@example
705(setq l '(a b))
706 @result{} (a b)
707(push 'c l)
708 @result{} (c a b)
709l
710 @result{} (c a b)
711@end example
712@end defmac
713
714 Two functions modify lists that are the values of variables.
715
716@defun add-to-list symbol element &optional append
717This function sets the variable @var{symbol} by consing @var{element}
718onto the old value, if @var{element} is not already a member of that
719value. It returns the resulting list, whether updated or not. The
720value of @var{symbol} had better be a list already before the call.
721Membership is tested using @code{equal}.
722
723Normally, if @var{element} is added, it is added to the front of
724@var{symbol}, but if the optional argument @var{append} is
725non-@code{nil}, it is added at the end.
726
727The argument @var{symbol} is not implicitly quoted; @code{add-to-list}
728is an ordinary function, like @code{set} and unlike @code{setq}. Quote
729the argument yourself if that is what you want.
730@end defun
731
732Here's a scenario showing how to use @code{add-to-list}:
733
734@example
735(setq foo '(a b))
736 @result{} (a b)
737
738(add-to-list 'foo 'c) ;; @r{Add @code{c}.}
739 @result{} (c a b)
740
741(add-to-list 'foo 'b) ;; @r{No effect.}
742 @result{} (c a b)
743
744foo ;; @r{@code{foo} was changed.}
745 @result{} (c a b)
746@end example
747
748 An equivalent expression for @code{(add-to-list '@var{var}
749@var{value})} is this:
750
751@example
752(or (member @var{value} @var{var})
753 (setq @var{var} (cons @var{value} @var{var})))
754@end example
755
756@defun add-to-ordered-list symbol element &optional order
757This function sets the variable @var{symbol} by inserting
758@var{element} into the old value, which must be a list, at the
759position specified by @var{order}. If @var{element} is already a
760member of the list, its position in the list is adjusted according
761to @var{order}. Membership is tested using @code{eq}.
762This function returns the resulting list, whether updated or not.
763
764The @var{order} is typically a number (integer or float), and the
765elements of the list are sorted in non-decreasing numerical order.
766
767@var{order} may also be omitted or @code{nil}. Then the numeric order
768of @var{element} stays unchanged if it already has one; otherwise,
769@var{element} has no numeric order. Elements without a numeric list
770order are placed at the end of the list, in no particular order.
771
772Any other value for @var{order} removes the numeric order of @var{element}
773if it already has one; otherwise, it is equivalent to @code{nil}.
774
775The argument @var{symbol} is not implicitly quoted;
776@code{add-to-ordered-list} is an ordinary function, like @code{set}
777and unlike @code{setq}. Quote the argument yourself if that is what
778you want.
779
780The ordering information is stored in a hash table on @var{symbol}'s
781@code{list-order} property.
782@end defun
783
784Here's a scenario showing how to use @code{add-to-ordered-list}:
785
786@example
787(setq foo '())
788 @result{} nil
789
790(add-to-ordered-list 'foo 'a 1) ;; @r{Add @code{a}.}
791 @result{} (a)
792
793(add-to-ordered-list 'foo 'c 3) ;; @r{Add @code{c}.}
794 @result{} (a c)
795
796(add-to-ordered-list 'foo 'b 2) ;; @r{Add @code{b}.}
797 @result{} (a b c)
798
799(add-to-ordered-list 'foo 'b 4) ;; @r{Move @code{b}.}
800 @result{} (a c b)
801
802(add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.}
803 @result{} (a c b d)
804
805(add-to-ordered-list 'foo 'e) ;; @r{Add @code{e}}.
806 @result{} (a c b e d)
807
808foo ;; @r{@code{foo} was changed.}
809 @result{} (a c b e d)
810@end example
811
707@node Modifying Lists 812@node Modifying Lists
708@section Modifying Existing List Structure 813@section Modifying Existing List Structure
709@cindex destructive list operations 814@cindex destructive list operations
@@ -1412,8 +1517,8 @@ the value @code{cones}; the key @code{oak} is associated with
1412@end group 1517@end group
1413@end example 1518@end example
1414 1519
1415 The associated values in an alist may be any Lisp objects; so may the 1520 Both the values and the keys in an alist may be any Lisp objects.
1416keys. For example, in the following alist, the symbol @code{a} is 1521For example, in the following alist, the symbol @code{a} is
1417associated with the number @code{1}, and the string @code{"b"} is 1522associated with the number @code{1}, and the string @code{"b"} is
1418associated with the @emph{list} @code{(2 3)}, which is the @sc{cdr} of 1523associated with the @emph{list} @code{(2 3)}, which is the @sc{cdr} of
1419the alist element: 1524the alist element:
@@ -1439,7 +1544,7 @@ below) to find the element containing a given value. When neither of
1439these considerations is important, the choice is a matter of taste, as 1544these considerations is important, the choice is a matter of taste, as
1440long as you are consistent about it for any given alist. 1545long as you are consistent about it for any given alist.
1441 1546
1442 Note that the same alist shown above could be regarded as having the 1547 The same alist shown above could be regarded as having the
1443associated value in the @sc{cdr} of the element; the value associated 1548associated value in the @sc{cdr} of the element; the value associated
1444with @code{rose} would be the list @code{(red)}. 1549with @code{rose} would be the list @code{(red)}.
1445 1550
@@ -1503,7 +1608,7 @@ a @sc{cdr} @code{equal} to @var{value}.
1503 1608
1504@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of 1609@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of
1505each @var{alist} association instead of the @sc{car}. You can think of 1610each @var{alist} association instead of the @sc{car}. You can think of
1506this as ``reverse @code{assoc}'', finding the key for a given value. 1611this as ``reverse @code{assoc},'' finding the key for a given value.
1507@end defun 1612@end defun
1508 1613
1509@defun assq key alist 1614@defun assq key alist
@@ -1544,7 +1649,7 @@ a @sc{cdr} @code{eq} to @var{value}.
1544 1649
1545@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of 1650@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of
1546each @var{alist} association instead of the @sc{car}. You can think of 1651each @var{alist} association instead of the @sc{car}. You can think of
1547this as ``reverse @code{assq}'', finding the key for a given value. 1652this as ``reverse @code{assq},'' finding the key for a given value.
1548 1653
1549For example: 1654For example:
1550 1655
@@ -1557,7 +1662,7 @@ For example:
1557 @result{} nil 1662 @result{} nil
1558@end smallexample 1663@end smallexample
1559 1664
1560Note that @code{rassq} cannot search for a value stored in the @sc{car} 1665@code{rassq} cannot search for a value stored in the @sc{car}
1561of the @sc{cdr} of an element: 1666of the @sc{cdr} of an element:
1562 1667
1563@smallexample 1668@smallexample
diff --git a/lispref/loading.texi b/lispref/loading.texi
index 81787082117..eb576f8fbbc 100644
--- a/lispref/loading.texi
+++ b/lispref/loading.texi
@@ -43,7 +43,7 @@ containing Lisp code.
43* Repeated Loading:: Precautions about loading a file twice. 43* Repeated Loading:: Precautions about loading a file twice.
44* Named Features:: Loading a library if it isn't already loaded. 44* Named Features:: Loading a library if it isn't already loaded.
45* Where Defined:: Finding which file defined a certain symbol. 45* Where Defined:: Finding which file defined a certain symbol.
46* Unloading:: How to ``unload'' a library that was loaded. 46* Unloading:: How to "unload" a library that was loaded.
47* Hooks for Loading:: Providing code to be run when 47* Hooks for Loading:: Providing code to be run when
48 particular libraries are loaded. 48 particular libraries are loaded.
49@end menu 49@end menu
@@ -155,8 +155,10 @@ file, and it is @code{nil} otherwise.
155@end defvar 155@end defvar
156 156
157@defvar load-read-function 157@defvar load-read-function
158This
158@anchor{Definition of load-read-function} 159@anchor{Definition of load-read-function}
159This variable specifies an alternate expression-reading function for 160@c do not allow page break at anchor; work around Texinfo deficiency.
161variable specifies an alternate expression-reading function for
160@code{load} and @code{eval-region} to use instead of @code{read}. 162@code{load} and @code{eval-region} to use instead of @code{read}.
161The function should accept one argument, just as @code{read} does. 163The function should accept one argument, just as @code{read} does.
162 164
diff --git a/lispref/maps.texi b/lispref/maps.texi
index 9ee1b52fa59..ec7728f7840 100644
--- a/lispref/maps.texi
+++ b/lispref/maps.texi
@@ -12,11 +12,17 @@ Some of these exist when Emacs is first started, others are
12loaded only when their respective mode is used. This is not 12loaded only when their respective mode is used. This is not
13an exhaustive list. 13an exhaustive list.
14 14
15Several keymaps are used in the minibuffer. @xref{Completion Commands}.
16
15Almost all of these maps are used as local maps. Indeed, of the modes 17Almost all of these maps are used as local maps. Indeed, of the modes
16that presently exist, only Vip mode and Terminal mode ever change the 18that presently exist, only Vip mode and Terminal mode ever change the
17global keymap. 19global keymap.
18 20
19@table @code 21@table @code
22@item apropos-mode-map
23@vindex apropos-mode-map
24A sparse keymap for @code{apropos} buffers.
25
20@item Buffer-menu-mode-map 26@item Buffer-menu-mode-map
21@vindex Buffer-menu-mode-map 27@vindex Buffer-menu-mode-map
22A full keymap used by Buffer Menu mode. 28A full keymap used by Buffer Menu mode.
@@ -38,6 +44,9 @@ A sparse keymap for subcommands of the prefix @kbd{C-x 5}.
38@item ctl-x-map 44@item ctl-x-map
39A full keymap for @kbd{C-x} commands. 45A full keymap for @kbd{C-x} commands.
40 46
47@item custom-mode-map
48A full keymap for Custom mode.
49
41@item debugger-mode-map 50@item debugger-mode-map
42@vindex debugger-mode-map 51@vindex debugger-mode-map
43A full keymap used by Debugger mode. 52A full keymap used by Debugger mode.
@@ -66,6 +75,10 @@ A full keymap used by Electric Command History mode.
66@vindex emacs-lisp-mode-map 75@vindex emacs-lisp-mode-map
67A sparse keymap used by Emacs Lisp mode. 76A sparse keymap used by Emacs Lisp mode.
68 77
78@item esc-map
79@vindex esc-map
80A full keymap for @kbd{ESC} (or @kbd{Meta}) commands.
81
69@item facemenu-menu 82@item facemenu-menu
70@vindex facemenu-menu 83@vindex facemenu-menu
71The sparse keymap that displays the Text Properties menu. 84The sparse keymap that displays the Text Properties menu.
@@ -109,6 +122,21 @@ If there are none, then it contains an empty sparse keymap.
109The sparse keymap for Fundamental mode.@* 122The sparse keymap for Fundamental mode.@*
110It is empty and should not be changed. 123It is empty and should not be changed.
111 124
125@item global-map
126The full keymap containing default global key bindings.@*
127Modes should not modify the Global map.
128
129@item grep-mode-map
130@vindex grep-mode-map
131The keymap for @code{grep-mode} buffers.
132
133@item help-map
134The sparse keymap for the keys that follow the help character @kbd{C-h}.
135
136@item help-mode-map
137@vindex help-mode-map
138The sparse keymap for Help mode.
139
112@item Helper-help-map 140@item Helper-help-map
113@vindex Helper-help-map 141@vindex Helper-help-map
114A full keymap used by the help utility package.@* 142A full keymap used by the help utility package.@*
@@ -132,6 +160,11 @@ search.
132A keymap for translating keys. This one overrides ordinary key 160A keymap for translating keys. This one overrides ordinary key
133bindings, unlike @code{function-key-map}. @xref{Translating Input}. 161bindings, unlike @code{function-key-map}. @xref{Translating Input}.
134 162
163@item kmacro-map
164@vindex kmacro-map
165A sparse keymap for keys that follows the @kbd{C-x C-k} prefix
166search.
167
135@item lisp-interaction-mode-map 168@item lisp-interaction-mode-map
136@vindex lisp-interaction-mode-map 169@vindex lisp-interaction-mode-map
137A sparse keymap used by Lisp Interaction mode. 170A sparse keymap used by Lisp Interaction mode.
@@ -184,6 +217,9 @@ time.
184@vindex text-mode-map 217@vindex text-mode-map
185A sparse keymap used by Text mode. 218A sparse keymap used by Text mode.
186 219
220@item tool-bar-map
221The keymap defining the contents of the tool bar.
222
187@item view-mode-map 223@item view-mode-map
188@vindex view-mode-map 224@vindex view-mode-map
189A full keymap used by View mode. 225A full keymap used by View mode.
diff --git a/lispref/markers.texi b/lispref/markers.texi
index 514b93a2df5..c3fdddc6aab 100644
--- a/lispref/markers.texi
+++ b/lispref/markers.texi
@@ -21,8 +21,8 @@ deleted, so that it stays with the two characters on either side of it.
21* Marker Insertion Types:: Two ways a marker can relocate when you 21* Marker Insertion Types:: Two ways a marker can relocate when you
22 insert where it points. 22 insert where it points.
23* Moving Markers:: Moving the marker to a new buffer or position. 23* Moving Markers:: Moving the marker to a new buffer or position.
24* The Mark:: How ``the mark'' is implemented with a marker. 24* The Mark:: How "the mark" is implemented with a marker.
25* The Region:: How to access ``the region''. 25* The Region:: How to access "the region".
26@end menu 26@end menu
27 27
28@node Overview of Markers 28@node Overview of Markers
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi
index d05329eeed7..d4f94e5269b 100644
--- a/lispref/minibuf.texi
+++ b/lispref/minibuf.texi
@@ -208,8 +208,10 @@ properties unconditionally, regardless of the value of this variable.
208@end defvar 208@end defvar
209 209
210@defvar minibuffer-local-map 210@defvar minibuffer-local-map
211This
211@anchor{Definition of minibuffer-local-map} 212@anchor{Definition of minibuffer-local-map}
212This is the default local keymap for reading from the minibuffer. By 213@c avoid page break at anchor; work around Texinfo deficiency
214is the default local keymap for reading from the minibuffer. By
213default, it makes the following bindings: 215default, it makes the following bindings:
214 216
215@table @asis 217@table @asis
@@ -1509,7 +1511,7 @@ the call.
1509This function asks the user a question, expecting input in the echo 1511This function asks the user a question, expecting input in the echo
1510area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the 1512area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the
1511user types @kbd{n}. This function also accepts @key{SPC} to mean yes 1513user types @kbd{n}. This function also accepts @key{SPC} to mean yes
1512and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like 1514and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit,'' like
1513@kbd{C-g}, because the question might look like a minibuffer and for 1515@kbd{C-g}, because the question might look like a minibuffer and for
1514that reason the user might try to use @kbd{C-]} to get out. The answer 1516that reason the user might try to use @kbd{C-]} to get out. The answer
1515is a single character, with no @key{RET} needed to terminate it. Upper 1517is a single character, with no @key{RET} needed to terminate it. Upper
@@ -1699,7 +1701,7 @@ answer); @var{function} is a function of one argument (an object from
1699 1701
1700When the user responds with @var{char}, @code{map-y-or-n-p} calls 1702When the user responds with @var{char}, @code{map-y-or-n-p} calls
1701@var{function}. If it returns non-@code{nil}, the object is considered 1703@var{function}. If it returns non-@code{nil}, the object is considered
1702``acted upon'', and @code{map-y-or-n-p} advances to the next object in 1704``acted upon,'' and @code{map-y-or-n-p} advances to the next object in
1703@var{list}. If it returns @code{nil}, the prompt is repeated for the 1705@var{list}. If it returns @code{nil}, the prompt is repeated for the
1704same object. 1706same object.
1705 1707
diff --git a/lispref/modes.texi b/lispref/modes.texi
index c98039d7ae0..b0c057ec1c9 100644
--- a/lispref/modes.texi
+++ b/lispref/modes.texi
@@ -145,7 +145,7 @@ If @var{function} is already present in @var{hook} (comparing using
145 145
146It is best to design your hook functions so that the order in which they 146It is best to design your hook functions so that the order in which they
147are executed does not matter. Any dependence on the order is ``asking 147are executed does not matter. Any dependence on the order is ``asking
148for trouble''. However, the order is predictable: normally, 148for trouble.'' However, the order is predictable: normally,
149@var{function} goes at the front of the hook list, so it will be 149@var{function} goes at the front of the hook list, so it will be
150executed first (barring another @code{add-hook} call). If the optional 150executed first (barring another @code{add-hook} call). If the optional
151argument @var{append} is non-@code{nil}, the new hook function goes at 151argument @var{append} is non-@code{nil}, the new hook function goes at
@@ -1139,7 +1139,7 @@ it should not use @code{after-change-major-mode-hook} as of yet.
1139 1139
1140 When you defined a major mode using @code{define-derived-mode}, it 1140 When you defined a major mode using @code{define-derived-mode}, it
1141automatically makes sure these conventions are followed. If you 1141automatically makes sure these conventions are followed. If you
1142define a major mode ``from scratch'', not using 1142define a major mode ``from scratch,'' not using
1143@code{define-derived-mode}, make sure the major mode command follows 1143@code{define-derived-mode}, make sure the major mode command follows
1144these and other conventions. @xref{Major Mode Conventions}. You use 1144these and other conventions. @xref{Major Mode Conventions}. You use
1145these functions to do it properly. 1145these functions to do it properly.
@@ -1354,9 +1354,8 @@ substituting your own definition of @code{self-insert-command} for the
1354standard one. The editor command loop handles this function specially.) 1354standard one. The editor command loop handles this function specially.)
1355 1355
1356The key sequences bound in a minor mode should consist of @kbd{C-c} 1356The key sequences bound in a minor mode should consist of @kbd{C-c}
1357followed by a punctuation character @emph{other than} @kbd{@{}, 1357followed by one of @kbd{.,/?`'"[]\|~!#$%^&*()-_+=}. (The other
1358@kbd{@}}, @kbd{<}, @kbd{>}, @kbd{:}, and @kbd{;}. (Those few punctuation 1358punctuation characters are reserved for major modes.)
1359characters are reserved for major modes.)
1360 1359
1361@node Defining Minor Modes 1360@node Defining Minor Modes
1362@subsection Defining Minor Modes 1361@subsection Defining Minor Modes
@@ -1456,7 +1455,7 @@ See the command \\[hungry-electric-delete]."
1456@end smallexample 1455@end smallexample
1457 1456
1458@noindent 1457@noindent
1459This defines a minor mode named ``Hungry mode'', a command named 1458This defines a minor mode named ``Hungry mode,'' a command named
1460@code{hungry-mode} to toggle it, a variable named @code{hungry-mode} 1459@code{hungry-mode} to toggle it, a variable named @code{hungry-mode}
1461which indicates whether the mode is enabled, and a variable named 1460which indicates whether the mode is enabled, and a variable named
1462@code{hungry-mode-map} which holds the keymap that is active when the 1461@code{hungry-mode-map} which holds the keymap that is active when the
@@ -2918,7 +2917,8 @@ way for a mode to set this variable to @code{t} is with
2918@defvar font-lock-syntax-table 2917@defvar font-lock-syntax-table
2919This variable holds the syntax table to use for fontification of 2918This variable holds the syntax table to use for fontification of
2920comments and strings. Specify it using @var{syntax-alist} in 2919comments and strings. Specify it using @var{syntax-alist} in
2921@code{font-lock-defaults}. 2920@code{font-lock-defaults}. If this is @code{nil}, fontification uses
2921the buffer's syntax table.
2922@end defvar 2922@end defvar
2923 2923
2924@defvar font-lock-beginning-of-syntax-function 2924@defvar font-lock-beginning-of-syntax-function
@@ -3049,7 +3049,7 @@ constructs:
3049 3049
3050@itemize 3050@itemize
3051@item 3051@item
3052Place a @code{font-lock-multiline} or @code{jit-lock-defer-multiline} 3052Place a @code{font-lock-multiline}
3053property on the construct when it is added to the buffer. 3053property on the construct when it is added to the buffer.
3054@item 3054@item
3055Use @code{font-lock-fontify-region-function} hook to extend the scan 3055Use @code{font-lock-fontify-region-function} hook to extend the scan
@@ -3076,7 +3076,6 @@ this can be an attractive solution.
3076Place a @code{jit-lock-defer-multiline} property on the construct. 3076Place a @code{jit-lock-defer-multiline} property on the construct.
3077This works only if @code{jit-lock-contextually} is used, but it can 3077This works only if @code{jit-lock-contextually} is used, but it can
3078handle the case where highlighting depends on subsequent lines. 3078handle the case where highlighting depends on subsequent lines.
3079@item
3080@end itemize 3079@end itemize
3081 3080
3082@menu 3081@menu
diff --git a/lispref/numbers.texi b/lispref/numbers.texi
index bac3b0e114c..fd730420cc6 100644
--- a/lispref/numbers.texi
+++ b/lispref/numbers.texi
@@ -606,12 +606,11 @@ otherwise, it signals an @code{arith-error} error.
606 @result{} 2.5 606 @result{} 2.5
607(/ 25 3 2) 607(/ 25 3 2)
608 @result{} 4 608 @result{} 4
609@group
609(/ -17 6) 610(/ -17 6)
610 @result{} -2 611 @result{} -2 @r{(could in theory be @minus{}3 on some machines)}
612@end group
611@end example 613@end example
612
613The result of @code{(/ -17 6)} could in principle be -3 on some
614machines.
615@end defun 614@end defun
616 615
617@defun % dividend divisor 616@defun % dividend divisor
@@ -738,7 +737,7 @@ and returns that value as a floating point number.
738sequence of @dfn{bits} (digits which are either zero or one). A bitwise 737sequence of @dfn{bits} (digits which are either zero or one). A bitwise
739operation acts on the individual bits of such a sequence. For example, 738operation acts on the individual bits of such a sequence. For example,
740@dfn{shifting} moves the whole sequence left or right one or more places, 739@dfn{shifting} moves the whole sequence left or right one or more places,
741reproducing the same pattern ``moved over''. 740reproducing the same pattern ``moved over.''
742 741
743 The bitwise operations in Emacs Lisp apply only to integers. 742 The bitwise operations in Emacs Lisp apply only to integers.
744 743
diff --git a/lispref/objects.texi b/lispref/objects.texi
index 3b51b96c780..cfb3864e9c9 100644
--- a/lispref/objects.texi
+++ b/lispref/objects.texi
@@ -632,7 +632,7 @@ come to refer to any structure made out of cons cells.
632 632
633@cindex atom 633@cindex atom
634 Because cons cells are so central to Lisp, we also have a word for 634 Because cons cells are so central to Lisp, we also have a word for
635``an object which is not a cons cell''. These objects are called 635``an object which is not a cons cell.'' These objects are called
636@dfn{atoms}. 636@dfn{atoms}.
637 637
638@cindex parenthesis 638@cindex parenthesis
@@ -1195,18 +1195,19 @@ Hash tables have no read syntax, and print using hash notation.
1195@node Function Type 1195@node Function Type
1196@subsection Function Type 1196@subsection Function Type
1197 1197
1198 Just as functions in other programming languages are executable, 1198 Lisp functions are executable code, just like functions in other
1199@dfn{Lisp function} objects are pieces of executable code. However, 1199programming languages. In Lisp, unlike most languages, functions are
1200functions in Lisp are primarily Lisp objects, and only secondarily the 1200also Lisp objects. A non-compiled function in Lisp is a lambda
1201text which represents them. These Lisp objects are lambda expressions: 1201expression: that is, a list whose first element is the symbol
1202lists whose first element is the symbol @code{lambda} (@pxref{Lambda 1202@code{lambda} (@pxref{Lambda Expressions}).
1203Expressions}).
1204 1203
1205 In most programming languages, it is impossible to have a function 1204 In most programming languages, it is impossible to have a function
1206without a name. In Lisp, a function has no intrinsic name. A lambda 1205without a name. In Lisp, a function has no intrinsic name. A lambda
1207expression is also called an @dfn{anonymous function} (@pxref{Anonymous 1206expression can be called as a function even though it has no name; to
1208Functions}). A named function in Lisp is actually a symbol with a valid 1207emphasize this, we also call it an @dfn{anonymous function}
1209function in its function cell (@pxref{Defining Functions}). 1208(@pxref{Anonymous Functions}). A named function in Lisp is just a
1209symbol with a valid function in its function cell (@pxref{Defining
1210Functions}).
1210 1211
1211 Most of the time, functions are called when their names are written in 1212 Most of the time, functions are called when their names are written in
1212Lisp expressions in Lisp programs. However, you can construct or obtain 1213Lisp expressions in Lisp programs. However, you can construct or obtain
@@ -1238,7 +1239,7 @@ without qualification, we mean a Lisp macro, not a keyboard macro.
1238 A @dfn{primitive function} is a function callable from Lisp but 1239 A @dfn{primitive function} is a function callable from Lisp but
1239written in the C programming language. Primitive functions are also 1240written in the C programming language. Primitive functions are also
1240called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is 1241called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is
1241derived from ``subroutine''.) Most primitive functions evaluate all 1242derived from ``subroutine.'') Most primitive functions evaluate all
1242their arguments when they are called. A primitive function that does 1243their arguments when they are called. A primitive function that does
1243not evaluate all its arguments is called a @dfn{special form} 1244not evaluate all its arguments is called a @dfn{special form}
1244(@pxref{Special Forms}).@refill 1245(@pxref{Special Forms}).@refill
@@ -1822,12 +1823,14 @@ This function returns a symbol naming the primitive type of
1822@example 1823@example
1823(type-of 1) 1824(type-of 1)
1824 @result{} integer 1825 @result{} integer
1826@group
1825(type-of 'nil) 1827(type-of 'nil)
1826 @result{} symbol 1828 @result{} symbol
1827(type-of '()) ; @r{@code{()} is @code{nil}.} 1829(type-of '()) ; @r{@code{()} is @code{nil}.}
1828 @result{} symbol 1830 @result{} symbol
1829(type-of '(x)) 1831(type-of '(x))
1830 @result{} cons 1832 @result{} cons
1833@end group
1831@end example 1834@end example
1832@end defun 1835@end defun
1833 1836
diff --git a/lispref/os.texi b/lispref/os.texi
index 5451ec8ecfd..e3634746988 100644
--- a/lispref/os.texi
+++ b/lispref/os.texi
@@ -1836,10 +1836,11 @@ tells you what Emacs thinks is the output speed of the terminal.
1836This variable's value is the output speed of the terminal, as far as 1836This variable's value is the output speed of the terminal, as far as
1837Emacs knows. Setting this variable does not change the speed of actual 1837Emacs knows. Setting this variable does not change the speed of actual
1838data transmission, but the value is used for calculations such as 1838data transmission, but the value is used for calculations such as
1839padding. It also affects decisions about whether to scroll part of the 1839padding.
1840screen or repaint---even when using a window system. (We designed it 1840
1841this way despite the fact that a window system has no true ``output 1841 It also affects decisions about whether to scroll part of the
1842speed'', to give you a way to tune these decisions.) 1842screen or repaint on text terminals. @xref{Forcing Redisplay},
1843for the corresponding functionality on graphical terminals.
1843 1844
1844The value is measured in baud. 1845The value is measured in baud.
1845@end defvar 1846@end defvar
diff --git a/lispref/processes.texi b/lispref/processes.texi
index a97690c698b..a6f43cfa95d 100644
--- a/lispref/processes.texi
+++ b/lispref/processes.texi
@@ -23,7 +23,7 @@ subprocess, the Lisp program waits for the subprocess to terminate
23before continuing execution. When you create an asynchronous 23before continuing execution. When you create an asynchronous
24subprocess, it can run in parallel with the Lisp program. This kind of 24subprocess, it can run in parallel with the Lisp program. This kind of
25subprocess is represented within Emacs by a Lisp object which is also 25subprocess is represented within Emacs by a Lisp object which is also
26called a ``process''. Lisp programs can use this object to communicate 26called a ``process.'' Lisp programs can use this object to communicate
27with the subprocess or to control it. For example, you can send 27with the subprocess or to control it. For example, you can send
28signals, obtain status information, receive output from the process, or 28signals, obtain status information, receive output from the process, or
29send input to it. 29send input to it.
@@ -1724,13 +1724,14 @@ level that that of @code{open-network-stream}, using
1724@code{make-network-process}. 1724@code{make-network-process}.
1725 1725
1726@menu 1726@menu
1727* Make Network:: Using @code{make-network-process}. 1727* Proc: Network Processes. Using @code{make-network-process}.
1728* Network Options:: Further control over network connections. 1728* Options: Network Options. Further control over network connections.
1729* Network Feature Testing:: Determining which network features work on 1729* Features: Network Feature Testing.
1730 Determining which network features work on
1730 the machine you are using. 1731 the machine you are using.
1731@end menu 1732@end menu
1732 1733
1733@node Make Network 1734@node Network Processes
1734@subsection @code{make-network-process} 1735@subsection @code{make-network-process}
1735 1736
1736 The basic function for creating network connections and network 1737 The basic function for creating network connections and network
@@ -2106,7 +2107,7 @@ processed, and how to pack or unpack it.
2106that the field represents and, in the case of multibyte fields, how 2107that the field represents and, in the case of multibyte fields, how
2107the bytes are ordered within the field. The two possible orderings 2108the bytes are ordered within the field. The two possible orderings
2108are ``big endian'' (also known as ``network byte ordering'') and 2109are ``big endian'' (also known as ``network byte ordering'') and
2109``little endian''. For instance, the number @code{#x23cd} (decimal 2110``little endian.'' For instance, the number @code{#x23cd} (decimal
21109165) in big endian would be the two bytes @code{#x23} @code{#xcd}; 21119165) in big endian would be the two bytes @code{#x23} @code{#xcd};
2111and in little endian, @code{#xcd} @code{#x23}. Here are the possible 2112and in little endian, @code{#xcd} @code{#x23}. Here are the possible
2112type values: 2113type values:
diff --git a/lispref/sequences.texi b/lispref/sequences.texi
index 9efd38e3abe..35cff43739d 100644
--- a/lispref/sequences.texi
+++ b/lispref/sequences.texi
@@ -513,8 +513,8 @@ Functions}, @code{concat} in @ref{Creating Strings}, and @code{append}
513in @ref{Building Lists}. 513in @ref{Building Lists}.
514@end defun 514@end defun
515 515
516 The @code{append} function provides a way to convert a vector into a 516 The @code{append} function also provides a way to convert a vector into a
517list with the same elements (@pxref{Building Lists}): 517list with the same elements:
518 518
519@example 519@example
520@group 520@group
diff --git a/lispref/streams.texi b/lispref/streams.texi
index 8b28f06ac70..4fad9a2a3cd 100644
--- a/lispref/streams.texi
+++ b/lispref/streams.texi
@@ -116,7 +116,7 @@ When it is called with one argument (always a character), @var{function}
116should save the argument and arrange to return it on the next call. 116should save the argument and arrange to return it on the next call.
117This is called @dfn{unreading} the character; it happens when the Lisp 117This is called @dfn{unreading} the character; it happens when the Lisp
118reader reads one character too many and wants to ``put it back where it 118reader reads one character too many and wants to ``put it back where it
119came from''. In this case, it makes no difference what value 119came from.'' In this case, it makes no difference what value
120@var{function} returns. 120@var{function} returns.
121@end itemize 121@end itemize
122 122
@@ -620,7 +620,7 @@ spacing between calls.
620@defun terpri &optional stream 620@defun terpri &optional stream
621@cindex newline in print 621@cindex newline in print
622This function outputs a newline to @var{stream}. The name stands 622This function outputs a newline to @var{stream}. The name stands
623for ``terminate print''. 623for ``terminate print.''
624@end defun 624@end defun
625 625
626@defun write-char character &optional stream 626@defun write-char character &optional stream
diff --git a/lispref/strings.texi b/lispref/strings.texi
index 796090bb80c..46c01982f32 100644
--- a/lispref/strings.texi
+++ b/lispref/strings.texi
@@ -285,7 +285,7 @@ If @var{omit-nulls} is @code{nil}, the result contains null strings
285whenever there are two consecutive matches for @var{separators}, or a 285whenever there are two consecutive matches for @var{separators}, or a
286match is adjacent to the beginning or end of @var{string}. If 286match is adjacent to the beginning or end of @var{string}. If
287@var{omit-nulls} is @code{t}, these null strings are omitted from the 287@var{omit-nulls} is @code{t}, these null strings are omitted from the
288result list. 288result.
289 289
290If @var{separators} is @code{nil} (or omitted), 290If @var{separators} is @code{nil} (or omitted),
291the default is the value of @code{split-string-default-separators}. 291the default is the value of @code{split-string-default-separators}.
@@ -544,10 +544,11 @@ be a list of strings rather than an actual alist.
544@xref{Association Lists}. 544@xref{Association Lists}.
545@end defun 545@end defun
546 546
547 See also @code{compare-buffer-substrings} in @ref{Comparing Text}, for 547 See also the @code{compare-buffer-substrings} function in
548a way to compare text in buffers. The function @code{string-match}, 548@ref{Comparing Text}, for a way to compare text in buffers. The
549which matches a regular expression against a string, can be used 549function @code{string-match}, which matches a regular expression
550for a kind of string comparison; see @ref{Regexp Search}. 550against a string, can be used for a kind of string comparison; see
551@ref{Regexp Search}.
551 552
552@node String Conversion 553@node String Conversion
553@comment node-name, next, previous, up 554@comment node-name, next, previous, up
@@ -566,7 +567,7 @@ text representation of a string (@pxref{Converting Representations}).
566 @xref{Documentation}, for functions that produce textual descriptions 567 @xref{Documentation}, for functions that produce textual descriptions
567of text characters and general input events 568of text characters and general input events
568(@code{single-key-description} and @code{text-char-description}). These 569(@code{single-key-description} and @code{text-char-description}). These
569functions are used primarily for making help messages. 570are used primarily for making help messages.
570 571
571@defun char-to-string character 572@defun char-to-string character
572@cindex character to string 573@cindex character to string
@@ -809,7 +810,7 @@ operation} error.
809 810
810@cindex field width 811@cindex field width
811@cindex padding 812@cindex padding
812 All the specification characters allow an optional ``width'', which 813 All the specification characters allow an optional ``width,'' which
813is a digit-string between the @samp{%} and the character. If the 814is a digit-string between the @samp{%} and the character. If the
814printed representation of the object contains fewer characters than 815printed representation of the object contains fewer characters than
815this width, then it is padded. The padding is on the left if the 816this width, then it is padded. The padding is on the left if the
@@ -880,7 +881,7 @@ A space character inserts a space for positive numbers (otherwise
880nothing is inserted for positive numbers). This flag is ignored 881nothing is inserted for positive numbers). This flag is ignored
881except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}. 882except for @samp{%d}, @samp{%e}, @samp{%f}, @samp{%g}.
882 883
883The flag @samp{#} indicates ``alternate form''. For @samp{%o} it 884The flag @samp{#} indicates ``alternate form.'' For @samp{%o} it
884ensures that the result begins with a 0. For @samp{%x} and @samp{%X} 885ensures that the result begins with a 0. For @samp{%x} and @samp{%X}
885the result is prefixed with @samp{0x} or @samp{0X}. For @samp{%e}, 886the result is prefixed with @samp{0x} or @samp{0X}. For @samp{%e},
886@samp{%f}, and @samp{%g} a decimal point is always shown even if the 887@samp{%f}, and @samp{%g} a decimal point is always shown even if the
diff --git a/lispref/symbols.texi b/lispref/symbols.texi
index f484b0da067..a1b2b8855be 100644
--- a/lispref/symbols.texi
+++ b/lispref/symbols.texi
@@ -160,7 +160,7 @@ be customized, use @code{defcustom} (@pxref{Customization}).
160 @code{defun} defines a symbol as a function, creating a lambda 160 @code{defun} defines a symbol as a function, creating a lambda
161expression and storing it in the function cell of the symbol. This 161expression and storing it in the function cell of the symbol. This
162lambda expression thus becomes the function definition of the symbol. 162lambda expression thus becomes the function definition of the symbol.
163(The term ``function definition'', meaning the contents of the function 163(The term ``function definition,'' meaning the contents of the function
164cell, is derived from the idea that @code{defun} gives the symbol its 164cell, is derived from the idea that @code{defun} gives the symbol its
165definition as a function.) @code{defsubst} and @code{defalias} are two 165definition as a function.) @code{defsubst} and @code{defalias} are two
166other ways of defining a function. @xref{Functions}. 166other ways of defining a function. @xref{Functions}.
diff --git a/lispref/syntax.texi b/lispref/syntax.texi
index 305f347c9f6..54b0d4a0bc0 100644
--- a/lispref/syntax.texi
+++ b/lispref/syntax.texi
@@ -332,8 +332,8 @@ Emacs supports two comment styles simultaneously in any one syntax
332table. This is for the sake of C++. Each style of comment syntax has 332table. This is for the sake of C++. Each style of comment syntax has
333its own comment-start sequence and its own comment-end sequence. Each 333its own comment-start sequence and its own comment-end sequence. Each
334comment must stick to one style or the other; thus, if it starts with 334comment must stick to one style or the other; thus, if it starts with
335the comment-start sequence of style ``b'', it must also end with the 335the comment-start sequence of style ``b,'' it must also end with the
336comment-end sequence of style ``b''. 336comment-end sequence of style ``b.''
337 337
338The two comment-start sequences must begin with the same character; only 338The two comment-start sequences must begin with the same character; only
339the second character may differ. Mark the second character of the 339the second character may differ. Mark the second character of the
@@ -706,7 +706,7 @@ The minimum parenthesis depth encountered during this scan.
706@item 706@item
707What kind of comment is active: @code{nil} for a comment of style 707What kind of comment is active: @code{nil} for a comment of style
708``a'' or when not inside a comment, @code{t} for a comment of style 708``a'' or when not inside a comment, @code{t} for a comment of style
709``b'', and @code{syntax-table} for a comment that should be ended by a 709``b,'' and @code{syntax-table} for a comment that should be ended by a
710generic comment delimiter character. 710generic comment delimiter character.
711 711
712@item 712@item
diff --git a/lispref/text.texi b/lispref/text.texi
index c598a4c2010..898f33443b5 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -57,8 +57,8 @@ the character after point.
57* Registers:: How registers are implemented. Accessing the text or 57* Registers:: How registers are implemented. Accessing the text or
58 position stored in a register. 58 position stored in a register.
59* Base 64:: Conversion to or from base 64 encoding. 59* Base 64:: Conversion to or from base 64 encoding.
60* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''. 60* MD5 Checksum:: Compute the MD5 "message digest"/"checksum".
61* Atomic Changes:: Installing several buffer changes ``atomically''. 61* Atomic Changes:: Installing several buffer changes "atomically".
62* Change Hooks:: Supplying functions to be run when text is changed. 62* Change Hooks:: Supplying functions to be run when text is changed.
63@end menu 63@end menu
64 64
@@ -566,7 +566,7 @@ error; if some of the text in it is read-only, it signals a
566asking for any confirmation. It returns @code{nil}. 566asking for any confirmation. It returns @code{nil}.
567 567
568Normally, deleting a large amount of text from a buffer inhibits further 568Normally, deleting a large amount of text from a buffer inhibits further
569auto-saving of that buffer ``because it has shrunk''. However, 569auto-saving of that buffer ``because it has shrunk.'' However,
570@code{erase-buffer} does not do this, the idea being that the future 570@code{erase-buffer} does not do this, the idea being that the future
571text is not really related to the former text, and its size should not 571text is not really related to the former text, and its size should not
572be compared with that of the former text. 572be compared with that of the former text.
@@ -817,7 +817,7 @@ that treat it as a ring.
817 817
818 Some people think this use of the word ``kill'' is unfortunate, since 818 Some people think this use of the word ``kill'' is unfortunate, since
819it refers to operations that specifically @emph{do not} destroy the 819it refers to operations that specifically @emph{do not} destroy the
820entities ``killed''. This is in sharp contrast to ordinary life, in 820entities ``killed.'' This is in sharp contrast to ordinary life, in
821which death is permanent and ``killed'' entities do not come back to 821which death is permanent and ``killed'' entities do not come back to
822life. Therefore, other metaphors have been proposed. For example, the 822life. Therefore, other metaphors have been proposed. For example, the
823term ``cut ring'' makes sense to people who, in pre-computer days, used 823term ``cut ring'' makes sense to people who, in pre-computer days, used
@@ -1106,8 +1106,8 @@ programs, when you are using a window system. Its value should be
1106@code{nil} or a function of no arguments. 1106@code{nil} or a function of no arguments.
1107 1107
1108If the value is a function, @code{current-kill} calls it to get the 1108If the value is a function, @code{current-kill} calls it to get the
1109``most recent kill''. If the function returns a non-@code{nil} value, 1109``most recent kill.'' If the function returns a non-@code{nil} value,
1110then that value is used as the ``most recent kill''. If it returns 1110then that value is used as the ``most recent kill.'' If it returns
1111@code{nil}, then the front of the kill ring is used. 1111@code{nil}, then the front of the kill ring is used.
1112 1112
1113The normal use of this hook is to get the window system's primary 1113The normal use of this hook is to get the window system's primary
@@ -3012,24 +3012,23 @@ that all text between the character and where the mouse is have the same
3012 3012
3013@item fontified 3013@item fontified
3014@kindex fontified @r{(text property)} 3014@kindex fontified @r{(text property)}
3015This property says whether the text has had faces assigned to it by 3015This property says whether the character has a face assigned to it by font
3016font locking. The display engine tests it to decide whether a buffer 3016locking. The display engine tests it to decide whether a buffer
3017portion needs refontifying before display. @xref{Auto Faces}. It 3017portion needs refontifying before display. @xref{Auto Faces}. It
3018takes one of these three values---other values are invalid: 3018takes one of three values:
3019 3019
3020@table @asis 3020@table @asis
3021@item @code{nil} 3021@item @code{nil}
3022Font locking is disabled, or the @code{face} properties on the text, 3022Font locking is disabled, or the character's @code{face} property, if
3023if any, are invalid. 3023any, is invalid.
3024 3024
3025@item The symbol @code{defer} 3025@item @code{defer}
3026This value states that the text's @code{face} properties are invalid 3026This value is only used when ``just in time'' font locking is enabled
3027and marks it for deferred fontification. It is used only when ``just 3027and it means that the character's @code{face} property is invalid and
3028in time'' font locking is enabled. 3028needs deferred fontification.
3029 3029
3030@item @code{t} 3030@item @code{t}
3031The @code{face} properties, or lack of them, on the text are currently 3031The character's @code{face} property, or absence of one, is valid.
3032valid.
3033@end table 3032@end table
3034 3033
3035@item display 3034@item display
@@ -3058,16 +3057,14 @@ argument is as follows:
3058 3057
3059@itemize @bullet{} 3058@itemize @bullet{}
3060@item 3059@item
3061If @var{object} is a buffer, @var{pos} is the position in the buffer 3060If @var{object} is a buffer, @var{pos} is the position in the buffer.
3062where the @code{help-echo} text property was found.
3063@item 3061@item
3064If @var{object} is an overlay, that overlay has a @code{help-echo} 3062If @var{object} is an overlay, that overlay has a @code{help-echo}
3065property, and @var{pos} is the position in the overlay's buffer under 3063property, and @var{pos} is the position in the overlay's buffer.
3066the mouse.
3067@item 3064@item
3068If @var{object} is a string (an overlay string or a string displayed 3065If @var{object} is a string (an overlay string or a string displayed
3069with the @code{display} property), @var{pos} is the position in that 3066with the @code{display} property), @var{pos} is the position in that
3070string under the mouse. 3067string.
3071@end itemize 3068@end itemize
3072 3069
3073If the value of the @code{help-echo} property is neither a function nor 3070If the value of the @code{help-echo} property is neither a function nor
@@ -3482,13 +3479,12 @@ being called over and over for the same text.
3482@subsection Defining Clickable Text 3479@subsection Defining Clickable Text
3483@cindex clickable text 3480@cindex clickable text
3484 3481
3485 There are two ways to set up @dfn{clickable text} in a buffer. 3482 There are two parts of setting up @dfn{clickable text} in a buffer:
3486There are typically two parts of this: to make the text highlight 3483(1) to make that text highlight when the mouse moves over it, and (2)
3487when the mouse is over it, and to make a mouse button do something 3484to make a mouse button do something when you click on that text.
3488when you click it on that part of the text.
3489 3485
3490 Highlighting is done with the @code{mouse-face} text property. 3486 For highlighting, use the @code{mouse-face} text property. Here is
3491Here is an example of how Dired does it: 3487an example of how Dired does it:
3492 3488
3493@smallexample 3489@smallexample
3494(condition-case nil 3490(condition-case nil
@@ -3666,7 +3662,8 @@ a @key{Mouse-1} click shall be translated to @key{RET}:
3666 3662
3667@defun mouse-on-link-p pos 3663@defun mouse-on-link-p pos
3668This function returns non-@code{nil} if position @var{pos} in the 3664This function returns non-@code{nil} if position @var{pos} in the
3669current buffer is on a link. 3665current buffer is on a link. @var{pos} can also be a mouse event
3666location, as returned by @code{event-start} (@pxref{Accessing Events}).
3670@end defun 3667@end defun
3671 3668
3672@node Fields 3669@node Fields
diff --git a/lispref/tips.texi b/lispref/tips.texi
index 4dc24196272..3a74aa62716 100644
--- a/lispref/tips.texi
+++ b/lispref/tips.texi
@@ -702,15 +702,15 @@ use @code{defvar} instead, start the doc string with a @samp{*}.
702 702
703@item 703@item
704The documentation string for a variable that is a yes-or-no flag should 704The documentation string for a variable that is a yes-or-no flag should
705start with words such as ``Non-nil means@dots{}'', to make it clear that 705start with words such as ``Non-nil means,'' to make it clear that
706all non-@code{nil} values are equivalent and indicate explicitly what 706all non-@code{nil} values are equivalent and indicate explicitly what
707@code{nil} and non-@code{nil} mean. 707@code{nil} and non-@code{nil} mean.
708 708
709@item 709@item
710The documentation string for a function that is a yes-or-no predicate 710The documentation string for a function that is a yes-or-no predicate
711should start with words such as ``Return t if @dots{}'', to indicate 711should start with words such as ``Return t if,'' to indicate
712explicitly what constitutes ``truth''. The word ``return'' avoids 712explicitly what constitutes ``truth.'' The word ``return'' avoids
713starting the sentence with lower-case ``t'', which is somewhat 713starting the sentence with lower-case ``t,'' which could be somewhat
714distracting. 714distracting.
715 715
716@item 716@item
@@ -736,7 +736,7 @@ have the form (KEY . VALUE). Here, KEY is ...
736 736
737@item 737@item
738Never change the case of a Lisp symbol when you mention it in a doc 738Never change the case of a Lisp symbol when you mention it in a doc
739string. If the symbol's name is @code{foo}, write ``foo'', not 739string. If the symbol's name is @code{foo}, write ``foo,'' not
740``Foo'' (which is a different symbol). 740``Foo'' (which is a different symbol).
741 741
742This might appear to contradict the policy of writing function 742This might appear to contradict the policy of writing function
diff --git a/lispref/variables.texi b/lispref/variables.texi
index 656224367ac..5c54701cdd4 100644
--- a/lispref/variables.texi
+++ b/lispref/variables.texi
@@ -726,7 +726,7 @@ has no local bindings.
726@end group 726@end group
727 727
728@group 728@group
729;; @r{Here the value of @code{abracadabra},} 729;; @r{Here, the value of @code{abracadabra},}
730;; @r{which is @code{foo},} 730;; @r{which is @code{foo},}
731;; @r{is the symbol whose value is examined.} 731;; @r{is the symbol whose value is examined.}
732(let ((abracadabra 'foo)) 732(let ((abracadabra 'foo))
@@ -858,105 +858,6 @@ always affects the most local existing binding.
858@end quotation 858@end quotation
859@end defun 859@end defun
860 860
861 One other function for setting a variable is designed to add
862an element to a list if it is not already present in the list.
863
864@defun add-to-list symbol element &optional append
865This function sets the variable @var{symbol} by consing @var{element}
866onto the old value, if @var{element} is not already a member of that
867value. It returns the resulting list, whether updated or not. The
868value of @var{symbol} had better be a list already before the call.
869Membership is tested using @code{equal}.
870
871Normally, if @var{element} is added, it is added to the front of
872@var{symbol}, but if the optional argument @var{append} is
873non-@code{nil}, it is added at the end.
874
875The argument @var{symbol} is not implicitly quoted; @code{add-to-list}
876is an ordinary function, like @code{set} and unlike @code{setq}. Quote
877the argument yourself if that is what you want.
878@end defun
879
880Here's a scenario showing how to use @code{add-to-list}:
881
882@example
883(setq foo '(a b))
884 @result{} (a b)
885
886(add-to-list 'foo 'c) ;; @r{Add @code{c}.}
887 @result{} (c a b)
888
889(add-to-list 'foo 'b) ;; @r{No effect.}
890 @result{} (c a b)
891
892foo ;; @r{@code{foo} was changed.}
893 @result{} (c a b)
894@end example
895
896 An equivalent expression for @code{(add-to-list '@var{var}
897@var{value})} is this:
898
899@example
900(or (member @var{value} @var{var})
901 (setq @var{var} (cons @var{value} @var{var})))
902@end example
903
904@defun add-to-ordered-list symbol element &optional order
905This function sets the variable @var{symbol} by inserting
906@var{element} into the old value, which must be a list, at the
907position specified by @var{order}. If @var{element} is already a
908member of the list, its position in the list is adjusted according
909to @var{order}. Membership is tested using @code{eq}.
910This function returns the resulting list, whether updated or not.
911
912The @var{order} is typically a number (integer or float), and the
913elements of the list are sorted in non-decreasing numerical order.
914
915@var{order} may also be omitted or @code{nil}. Then the numeric order
916of @var{element} stays unchanged if it already has one; otherwise,
917@var{element} has no numeric order. Elements without a numeric list
918order are placed at the end of the list, in no particular order.
919
920Any other value for @var{order} removes the numeric order of @var{element}
921if it already has one; otherwise, it is equivalent to @code{nil}.
922
923The argument @var{symbol} is not implicitly quoted;
924@code{add-to-ordered-list} is an ordinary function, like @code{set}
925and unlike @code{setq}. Quote the argument yourself if that is what
926you want.
927
928The ordering information is stored in a hash table on @var{symbol}'s
929@code{list-order} property.
930@end defun
931
932Here's a scenario showing how to use @code{add-to-ordered-list}:
933
934@example
935(setq foo '())
936 @result{} nil
937
938(add-to-ordered-list 'foo 'a 1) ;; @r{Add @code{a}.}
939 @result{} (a)
940
941(add-to-ordered-list 'foo 'c 3) ;; @r{Add @code{c}.}
942 @result{} (a c)
943
944(add-to-ordered-list 'foo 'b 2) ;; @r{Add @code{b}.}
945 @result{} (a b c)
946
947(add-to-ordered-list 'foo 'b 4) ;; @r{Move @code{b}.}
948 @result{} (a c b)
949
950(add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.}
951 @result{} (a c b d)
952
953(add-to-ordered-list 'foo 'e) ;; @r{Add @code{e}}.
954 @result{} (a c b e d)
955
956foo ;; @r{@code{foo} was changed.}
957 @result{} (a c b e d)
958@end example
959
960@node Variable Scoping 861@node Variable Scoping
961@section Scoping Rules for Variable Bindings 862@section Scoping Rules for Variable Bindings
962 863
@@ -1096,7 +997,7 @@ is no longer bound to the actual argument 2.
1096@end example 997@end example
1097 998
1098@cindex closures not available 999@cindex closures not available
1099 Some Lisp dialects have ``closures'', objects that are like functions 1000 Some Lisp dialects have ``closures,'' objects that are like functions
1100but record additional variable bindings. Emacs Lisp does not have 1001but record additional variable bindings. Emacs Lisp does not have
1101closures. 1002closures.
1102 1003
@@ -1459,7 +1360,7 @@ buffer-local variables interactively.
1459 1360
1460@defun kill-all-local-variables 1361@defun kill-all-local-variables
1461This function eliminates all the buffer-local variable bindings of the 1362This function eliminates all the buffer-local variable bindings of the
1462current buffer except for variables marked as ``permanent''. As a 1363current buffer except for variables marked as ``permanent.'' As a
1463result, the buffer will see the default values of most variables. 1364result, the buffer will see the default values of most variables.
1464 1365
1465This function also resets certain other information pertaining to the 1366This function also resets certain other information pertaining to the
@@ -1744,10 +1645,12 @@ local bindings, we will provide it in a subsequent Emacs version.
1744@node File Local Variables 1645@node File Local Variables
1745@section File Local Variables 1646@section File Local Variables
1746 1647
1747 This section describes the functions and variables that affect 1648 A file can specify local variable values; Emacs uses these to create
1748processing of file local variables. @xref{File variables, , 1649buffer-local bindings for those variables in the buffer visiting that
1749Local Variables in Files, emacs, The GNU Emacs Manual}, for basic 1650file. @xref{File variables, , Local Variables in Files, emacs, The
1750information about file local variables. 1651GNU Emacs Manual}, for basic information about file local variables.
1652This section describes the functions and variables that affect
1653processing of file local variables.
1751 1654
1752@defopt enable-local-variables 1655@defopt enable-local-variables
1753This variable controls whether to process file local variables. A 1656This variable controls whether to process file local variables. A
diff --git a/lispref/vol1.texi b/lispref/vol1.texi
index b6b071bf444..ac2958e9b09 100644
--- a/lispref/vol1.texi
+++ b/lispref/vol1.texi
@@ -416,7 +416,7 @@ Kinds of Forms
416* Classifying Lists:: How to distinguish various sorts of list forms. 416* Classifying Lists:: How to distinguish various sorts of list forms.
417* Function Forms:: Forms that call functions. 417* Function Forms:: Forms that call functions.
418* Macro Forms:: Forms that call macros. 418* Macro Forms:: Forms that call macros.
419* Special Forms:: ``Special forms'' are idiosyncratic primitives, 419* Special Forms:: "Special forms" are idiosyncratic primitives,
420 most of them extremely important. 420 most of them extremely important.
421* Autoloading:: Functions set up to load files 421* Autoloading:: Functions set up to load files
422 containing their real definitions. 422 containing their real definitions.
@@ -709,7 +709,7 @@ Buffers
709 is visited. 709 is visited.
710* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 710* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
711* Modification Time:: Determining whether the visited file was changed 711* Modification Time:: Determining whether the visited file was changed
712 ``behind Emacs's back''. 712 "behind Emacs's back".
713* Read Only Buffers:: Modifying text is not allowed in a 713* Read Only Buffers:: Modifying text is not allowed in a
714 read-only buffer. 714 read-only buffer.
715* The Buffer List:: How to look at all the existing buffers. 715* The Buffer List:: How to look at all the existing buffers.
@@ -788,8 +788,8 @@ Markers
788* Information from Markers:: Finding the marker's buffer or character 788* Information from Markers:: Finding the marker's buffer or character
789 position. 789 position.
790* Changing Markers:: Moving the marker to a new buffer or position. 790* Changing Markers:: Moving the marker to a new buffer or position.
791* The Mark:: How ``the mark'' is implemented with a marker. 791* The Mark:: How "the mark" is implemented with a marker.
792* The Region:: How to access ``the region''. 792* The Region:: How to access "the region".
793 793
794Text 794Text
795 795
diff --git a/lispref/vol2.texi b/lispref/vol2.texi
index e5da029db1a..c59449d4eee 100644
--- a/lispref/vol2.texi
+++ b/lispref/vol2.texi
@@ -417,7 +417,7 @@ Kinds of Forms
417* Classifying Lists:: How to distinguish various sorts of list forms. 417* Classifying Lists:: How to distinguish various sorts of list forms.
418* Function Forms:: Forms that call functions. 418* Function Forms:: Forms that call functions.
419* Macro Forms:: Forms that call macros. 419* Macro Forms:: Forms that call macros.
420* Special Forms:: ``Special forms'' are idiosyncratic primitives, 420* Special Forms:: "Special forms" are idiosyncratic primitives,
421 most of them extremely important. 421 most of them extremely important.
422* Autoloading:: Functions set up to load files 422* Autoloading:: Functions set up to load files
423 containing their real definitions. 423 containing their real definitions.
@@ -710,7 +710,7 @@ Buffers
710 is visited. 710 is visited.
711* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 711* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
712* Modification Time:: Determining whether the visited file was changed 712* Modification Time:: Determining whether the visited file was changed
713 ``behind Emacs's back''. 713 "behind Emacs's back".
714* Read Only Buffers:: Modifying text is not allowed in a 714* Read Only Buffers:: Modifying text is not allowed in a
715 read-only buffer. 715 read-only buffer.
716* The Buffer List:: How to look at all the existing buffers. 716* The Buffer List:: How to look at all the existing buffers.
@@ -789,8 +789,8 @@ Markers
789* Information from Markers:: Finding the marker's buffer or character 789* Information from Markers:: Finding the marker's buffer or character
790 position. 790 position.
791* Changing Markers:: Moving the marker to a new buffer or position. 791* Changing Markers:: Moving the marker to a new buffer or position.
792* The Mark:: How ``the mark'' is implemented with a marker. 792* The Mark:: How "the mark" is implemented with a marker.
793* The Region:: How to access ``the region''. 793* The Region:: How to access "the region".
794 794
795Text 795Text
796 796
diff --git a/lispref/windows.texi b/lispref/windows.texi
index 973b429a04e..a86dd6ec812 100644
--- a/lispref/windows.texi
+++ b/lispref/windows.texi
@@ -1474,7 +1474,7 @@ window is the one at the bottom right corner. In this case,
1474@code{scroll-other-window} attempts to scroll the minibuffer. If the 1474@code{scroll-other-window} attempts to scroll the minibuffer. If the
1475minibuffer contains just one line, it has nowhere to scroll to, so the 1475minibuffer contains just one line, it has nowhere to scroll to, so the
1476line reappears after the echo area momentarily displays the message 1476line reappears after the echo area momentarily displays the message
1477``Beginning of buffer''. 1477@samp{Beginning of buffer}.
1478@end deffn 1478@end deffn
1479 1479
1480@c Emacs 19 feature 1480@c Emacs 19 feature
@@ -1676,8 +1676,8 @@ times the normal character width. How many characters actually
1676disappear off to the left depends on their width, and could vary from 1676disappear off to the left depends on their width, and could vary from
1677line to line. 1677line to line.
1678 1678
1679 Because we read from side to side in the ``inner loop'', and from top 1679 Because we read from side to side in the ``inner loop,'' and from top
1680to bottom in the ``outer loop'', the effect of horizontal scrolling is 1680to bottom in the ``outer loop,'' the effect of horizontal scrolling is
1681not like that of textual or vertical scrolling. Textual scrolling 1681not like that of textual or vertical scrolling. Textual scrolling
1682involves selection of a portion of text to display, and vertical 1682involves selection of a portion of text to display, and vertical
1683scrolling moves the window contents contiguously; but horizontal 1683scrolling moves the window contents contiguously; but horizontal
diff --git a/mac/ChangeLog b/mac/ChangeLog
index 20c9c255c58..e99b092e8be 100644
--- a/mac/ChangeLog
+++ b/mac/ChangeLog
@@ -1,3 +1,8 @@
12006-07-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * makefile.MPW (dired.c.x, editfns.c.x, fileio.c.x): Depend on
4 blockinput.h.
5
12006-07-12 Kim F. Storm <storm@cua.dk> 62006-07-12 Kim F. Storm <storm@cua.dk>
2 7
3 * INSTALL: More cleanup related to last change. 8 * INSTALL: More cleanup related to last change.
diff --git a/mac/makefile.MPW b/mac/makefile.MPW
index ab62673a559..7f4c043604e 100644
--- a/mac/makefile.MPW
+++ b/mac/makefile.MPW
@@ -373,7 +373,8 @@ buildobj.lst Ä
373 "{Src}charset.h" ¶ 373 "{Src}charset.h" ¶
374 "{Src}coding.h" ¶ 374 "{Src}coding.h" ¶
375 "{Src}ccl.h" ¶ 375 "{Src}ccl.h" ¶
376 "{Src}regex.h" 376 "{Src}regex.h" ¶
377 "{Src}blockinput.h"
377 378
378{Src}dispnew.c.x Ä ¶ 379{Src}dispnew.c.x Ä ¶
379 {CONFIG_H_GROUP} ¶ 380 {CONFIG_H_GROUP} ¶
@@ -425,7 +426,8 @@ buildobj.lst Ä
425 "{Src}ccl.h" ¶ 426 "{Src}ccl.h" ¶
426 {WINDOW_H_GROUP} ¶ 427 {WINDOW_H_GROUP} ¶
427 "{Src}systime.h" ¶ 428 "{Src}systime.h" ¶
428 "{Includes}sys:time.h" 429 "{Includes}sys:time.h" ¶
430 "{Src}blockinput.h"
429 431
430{Src}emacs.c.x Ä ¶ 432{Src}emacs.c.x Ä ¶
431 {CONFIG_H_GROUP} ¶ 433 {CONFIG_H_GROUP} ¶
@@ -468,7 +470,8 @@ buildobj.lst Ä
468 {WINDOW_H_GROUP} ¶ 470 {WINDOW_H_GROUP} ¶
469 "{Src}systime.h" ¶ 471 "{Src}systime.h" ¶
470 "{Includes}sys:time.h" ¶ 472 "{Includes}sys:time.h" ¶
471 "{Src}commands.h" 473 "{Src}commands.h" ¶
474 "{Src}blockinput.h"
472 475
473{Src}filemode.c.x Ä ¶ 476{Src}filemode.c.x Ä ¶
474 {CONFIG_H_GROUP} ¶ 477 {CONFIG_H_GROUP} ¶
diff --git a/man/ChangeLog b/man/ChangeLog
index 851c37cfdb2..6385b4393a0 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,45 @@
12006-07-27 Richard Stallman <rms@gnu.org>
2
3 * search.texi (Non-ASCII Isearch): Clarify. Mention C-q.
4
52006-07-24 Richard Stallman <rms@gnu.org>
6
7 * xresources.texi (GTK styles): Fix texinfo usage.
8
9 * pgg.texi, org.texi, info.texi, forms.texi, flymake.texi:
10 * faq.texi: Move periods and commas inside quotes.
11
12 * commands.texi (User Input): Explain why we teach keyboard cmds.
13
14 * xresources.texi, xresmini.texi, search.texi, programs.texi:
15 * misc.texi, kmacro.texi, killing.texi, glossary.texi:
16 * fortran-xtra.texi, files.texi, emacs.texi, emacs-xtra.texi:
17 * doclicense.texi, display.texi, dired.texi, basic.texi:
18 * anti.texi, ack.texi: Move periods and commas inside quotes.
19
202006-07-22 Eli Zaretskii <eliz@gnu.org>
21
22 * cmdargs.texi (General Variables): Document EMAIL.
23
242006-07-21 Eli Zaretskii <eliz@gnu.org>
25
26 * frames.texi (Frame Commands): Mention that focus-follows-mouse
27 doesn't have effect on MS-Windows.
28
292006-07-20 Jay Belanger <belanger@truman.edu>
30
31 * calc.texi (Error forms): Mention M-+ keybinding for
32 `calc-plus-minus'.
33
342006-07-18 Chong Yidong <cyd@stupidchicken.com>
35
36 * faq.texi (Security risks with Emacs): Document Emacs 22
37 file-local-variable mechanism.
38
392006-07-17 Richard Stallman <rms@gnu.org>
40
41 * building.texi (Grep Searching): Explain about chaining grep commands.
42
12006-07-12 Michael Olson <mwolson@gnu.org> 432006-07-12 Michael Olson <mwolson@gnu.org>
2 44
3 * erc.texi: Update for ERC 5.1.3. 45 * erc.texi: Update for ERC 5.1.3.
diff --git a/man/ack.texi b/man/ack.texi
index 0874cfa9c52..7294cdc3350 100644
--- a/man/ack.texi
+++ b/man/ack.texi
@@ -1242,7 +1242,7 @@ decoding UTF-8 data.
1242 1242
1243@item 1243@item
1244Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing 1244Jean-Philippe Theberge wrote @file{thumbs.el}, a package for viewing
1245image files as ``thumbnails''. 1245image files as ``thumbnails.''
1246 1246
1247@item 1247@item
1248Jens T.@: Berger Thielemann wrote @file{word-help.el}, which is 1248Jens T.@: Berger Thielemann wrote @file{word-help.el}, which is
diff --git a/man/anti.texi b/man/anti.texi
index 0706bdda650..6bb0f5e62c5 100644
--- a/man/anti.texi
+++ b/man/anti.texi
@@ -232,7 +232,7 @@ handle.
232 232
233@item 233@item
234The input methods for Emacs are included in a separate distribution 234The input methods for Emacs are included in a separate distribution
235called ``Leim''. To use this, you must extract the Leim tar file on 235called ``Leim.'' To use this, you must extract the Leim tar file on
236top of the Emacs distribution, into the same directory, before you 236top of the Emacs distribution, into the same directory, before you
237build Emacs. 237build Emacs.
238 238
diff --git a/man/basic.texi b/man/basic.texi
index 26b3137d632..6f0e7cad68c 100644
--- a/man/basic.texi
+++ b/man/basic.texi
@@ -736,7 +736,7 @@ can separate the argument from the digit to insert with another
736@kbd{C-u}; for example, @kbd{C-u 6 4 C-u 1} does insert 64 copies of 736@kbd{C-u}; for example, @kbd{C-u 6 4 C-u 1} does insert 64 copies of
737the character @samp{1}. 737the character @samp{1}.
738 738
739 We use the term ``prefix argument'' as well as ``numeric argument'', 739 We use the term ``prefix argument'' as well as ``numeric argument,''
740to emphasize that you type these argument before the command, and to 740to emphasize that you type these argument before the command, and to
741distinguish them from minibuffer arguments that come after the 741distinguish them from minibuffer arguments that come after the
742command. 742command.
diff --git a/man/building.texi b/man/building.texi
index e3ca90f2863..549c69da544 100644
--- a/man/building.texi
+++ b/man/building.texi
@@ -359,9 +359,17 @@ that specifies how to run @code{grep}. Use the same arguments you
359would give @code{grep} when running it normally: a @code{grep}-style 359would give @code{grep} when running it normally: a @code{grep}-style
360regexp (usually in single-quotes to quote the shell's special 360regexp (usually in single-quotes to quote the shell's special
361characters) followed by file names, which may use wildcards. If you 361characters) followed by file names, which may use wildcards. If you
362specify a prefix argument for @kbd{M-x grep}, it detects the tag 362specify a prefix argument for @kbd{M-x grep}, it finds the tag
363(@pxref{Tags}) around point, and puts that into the default 363(@pxref{Tags}) in the buffer around point, and puts that into the
364@code{grep} command. 364default @code{grep} command.
365
366 Your command need not simply run @code{grep}; you can use any shell
367command that produces output in the same format. For instance, you
368can chain @code{grep} commands, like this:
369
370@example
371grep -nH -e foo *.el | grep bar | grep toto
372@end example
365 373
366 The output from @code{grep} goes in the @samp{*grep*} buffer. You 374 The output from @code{grep} goes in the @samp{*grep*} buffer. You
367can find the corresponding lines in the original files using @w{@kbd{C-x 375can find the corresponding lines in the original files using @w{@kbd{C-x
diff --git a/man/calc.texi b/man/calc.texi
index 7e2e42207f9..2ef11a74b14 100644
--- a/man/calc.texi
+++ b/man/calc.texi
@@ -11635,7 +11635,7 @@ would indeed have been negligible.
11635To enter an error form during regular numeric entry, use the @kbd{p} 11635To enter an error form during regular numeric entry, use the @kbd{p}
11636(``plus-or-minus'') key to type the @samp{+/-} symbol. (If you try actually 11636(``plus-or-minus'') key to type the @samp{+/-} symbol. (If you try actually
11637typing @samp{+/-} the @kbd{+} key will be interpreted as the Calculator's 11637typing @samp{+/-} the @kbd{+} key will be interpreted as the Calculator's
11638@kbd{+} command!) Within an algebraic formula, you can press @kbd{M-p} to 11638@kbd{+} command!) Within an algebraic formula, you can press @kbd{M-+} to
11639type the @samp{+/-} symbol, or type it out by hand. 11639type the @samp{+/-} symbol, or type it out by hand.
11640 11640
11641Error forms and complex numbers can be mixed; the formulas shown above 11641Error forms and complex numbers can be mixed; the formulas shown above
diff --git a/man/cmdargs.texi b/man/cmdargs.texi
index 56bc8874b4d..a1b26bcdcb3 100644
--- a/man/cmdargs.texi
+++ b/man/cmdargs.texi
@@ -470,6 +470,11 @@ to search for Emacs Lisp files---used to initialize @code{load-path}.
470@item EMACSPATH 470@item EMACSPATH
471A colon-separated list of directories to search for executable 471A colon-separated list of directories to search for executable
472files---used to initialize @code{exec-path}. 472files---used to initialize @code{exec-path}.
473@item EMAIL
474@vindex user-mail-address@r{, initialization}
475Your email address; used to initialize the Lisp variable
476@code{user-mail-address}, which the Emacs mail interface puts into
477the @samp{From} header of outgoing messages (@pxref{Mail Headers}).
473@item ESHELL 478@item ESHELL
474Used for shell-mode to override the @env{SHELL} environment variable. 479Used for shell-mode to override the @env{SHELL} environment variable.
475@item HISTFILE 480@item HISTFILE
diff --git a/man/commands.texi b/man/commands.texi
index f798b92f829..dd518252f24 100644
--- a/man/commands.texi
+++ b/man/commands.texi
@@ -25,9 +25,18 @@ and mouse input.
25@cindex Control 25@cindex Control
26@cindex control characters 26@cindex control characters
27 27
28 GNU Emacs uses an extension of the @acronym{ASCII} character set for keyboard 28 GNU Emacs is designed for use with keyboard commands because that is
29input; it also accepts non-character input events including function 29the most efficient way to edit. You can do editing with the mouse, as
30keys and mouse button actions. 30in other editors, and you can give commands with the menu bar and tool
31bar, and scroll with the scroll bar. But if you keep on editing that
32way, you won't get the benefits of Emacs. Therefore, this manual
33documents primarily how to edit with the keyboard. You can force
34yourself to practice using the keyboard by using the shell command
35@samp{emacs -nw} to start Emacs, so that the mouse won't work.
36
37 Emacs uses an extension of the @acronym{ASCII} character set for
38keyboard input; it also accepts non-character input events including
39function keys and mouse button actions.
31 40
32 @acronym{ASCII} consists of 128 character codes. Some of these codes are 41 @acronym{ASCII} consists of 128 character codes. Some of these codes are
33assigned graphic symbols such as @samp{a} and @samp{=}; the rest are 42assigned graphic symbols such as @samp{a} and @samp{=}; the rest are
diff --git a/man/dired.texi b/man/dired.texi
index b53a5cfec9f..97597ffcd81 100644
--- a/man/dired.texi
+++ b/man/dired.texi
@@ -1141,7 +1141,7 @@ and erases all flags and marks.
1141@findex wdired-change-to-wdired-mode 1141@findex wdired-change-to-wdired-mode
1142 Wdired is a special mode that allows you to perform file operations 1142 Wdired is a special mode that allows you to perform file operations
1143by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands 1143by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands
1144for ``writable''.) To enter Wdired mode, type @kbd{M-x 1144for ``writable.'') To enter Wdired mode, type @kbd{M-x
1145wdired-change-to-wdired-mode} while in a Dired buffer. Alternatively, 1145wdired-change-to-wdired-mode} while in a Dired buffer. Alternatively,
1146use @samp{Edit File Names} in the @samp{Immediate} menu bar menu. 1146use @samp{Edit File Names} in the @samp{Immediate} menu bar menu.
1147 1147
@@ -1205,7 +1205,7 @@ the current buffer.
1205 1205
1206 The default comparison method (used if you type @key{RET} at the 1206 The default comparison method (used if you type @key{RET} at the
1207prompt) is to compare just the file names---each file name that does 1207prompt) is to compare just the file names---each file name that does
1208not appear in the other directory is ``different''. You can specify 1208not appear in the other directory is ``different.'' You can specify
1209more stringent comparisons by entering a Lisp expression, which can 1209more stringent comparisons by entering a Lisp expression, which can
1210refer to the variables @code{size1} and @code{size2}, the respective 1210refer to the variables @code{size1} and @code{size2}, the respective
1211file sizes; @code{mtime1} and @code{mtime2}, the last modification 1211file sizes; @code{mtime1} and @code{mtime2}, the last modification
@@ -1213,7 +1213,7 @@ times in seconds, as floating point numbers; and @code{fa1} and
1213@code{fa2}, the respective file attribute lists (as returned by the 1213@code{fa2}, the respective file attribute lists (as returned by the
1214function @code{file-attributes}). This expression is evaluated for 1214function @code{file-attributes}). This expression is evaluated for
1215each pair of like-named files, and if the expression's value is 1215each pair of like-named files, and if the expression's value is
1216non-@code{nil}, those files are considered ``different''. 1216non-@code{nil}, those files are considered ``different.''
1217 1217
1218 For instance, the sequence @code{M-x dired-compare-directories 1218 For instance, the sequence @code{M-x dired-compare-directories
1219@key{RET} (> mtime1 mtime2) @key{RET}} marks files newer in this 1219@key{RET} (> mtime1 mtime2) @key{RET}} marks files newer in this
diff --git a/man/display.texi b/man/display.texi
index c868d1ad484..57276ac7557 100644
--- a/man/display.texi
+++ b/man/display.texi
@@ -402,7 +402,7 @@ The face for highlighting excess spaces and tabs at the end of a line
402when @code{show-trailing-whitespace} is non-@code{nil}; see 402when @code{show-trailing-whitespace} is non-@code{nil}; see
403@ref{Useless Whitespace}. 403@ref{Useless Whitespace}.
404@item nobreak-space 404@item nobreak-space
405The face for displaying the character ``nobreak space''. 405The face for displaying the character ``nobreak space.''
406@item escape-glyph 406@item escape-glyph
407The face for highlighting the @samp{\} or @samp{^} that indicates 407The face for highlighting the @samp{\} or @samp{^} that indicates
408a control character. It's also used when @samp{\} indicates a 408a control character. It's also used when @samp{\} indicates a
@@ -1062,7 +1062,7 @@ doesn't switch, so it uses the normal cursor.
1062@vindex cursor-in-non-selected-windows 1062@vindex cursor-in-non-selected-windows
1063 Normally, the cursor appears in non-selected windows in the ``off'' 1063 Normally, the cursor appears in non-selected windows in the ``off''
1064state, with the same appearance as when the blinking cursor blinks 1064state, with the same appearance as when the blinking cursor blinks
1065``off''. For a box cursor, this is a hollow box; for a bar cursor, 1065``off.'' For a box cursor, this is a hollow box; for a bar cursor,
1066this is a thinner bar. To turn off cursors in non-selected windows, 1066this is a thinner bar. To turn off cursors in non-selected windows,
1067customize the variable @code{cursor-in-non-selected-windows} and assign 1067customize the variable @code{cursor-in-non-selected-windows} and assign
1068it a @code{nil} value. 1068it a @code{nil} value.
diff --git a/man/doclicense.texi b/man/doclicense.texi
index a6b994ee4b0..14fb9926897 100644
--- a/man/doclicense.texi
+++ b/man/doclicense.texi
@@ -23,7 +23,7 @@ Secondarily, this License preserves for the author and publisher a way
23to get credit for their work, while not being considered responsible 23to get credit for their work, while not being considered responsible
24for modifications made by others. 24for modifications made by others.
25 25
26This License is a kind of ``copyleft'', which means that derivative 26This License is a kind of ``copyleft,'' which means that derivative
27works of the document must themselves be free in the same sense. It 27works of the document must themselves be free in the same sense. It
28complements the GNU General Public License, which is a copyleft 28complements the GNU General Public License, which is a copyleft
29license designed for free software. 29license designed for free software.
@@ -44,9 +44,9 @@ This License applies to any manual or other work, in any medium, that
44contains a notice placed by the copyright holder saying it can be 44contains a notice placed by the copyright holder saying it can be
45distributed under the terms of this License. Such a notice grants a 45distributed under the terms of this License. Such a notice grants a
46world-wide, royalty-free license, unlimited in duration, to use that 46world-wide, royalty-free license, unlimited in duration, to use that
47work under the conditions stated herein. The ``Document'', below, 47work under the conditions stated herein. The ``Document,'' below,
48refers to any such manual or work. Any member of the public is a 48refers to any such manual or work. Any member of the public is a
49licensee, and is addressed as ``you''. You accept the license if you 49licensee, and is addressed as ``you.'' You accept the license if you
50copy, modify or distribute the work in a way requiring permission 50copy, modify or distribute the work in a way requiring permission
51under copyright law. 51under copyright law.
52 52
@@ -113,8 +113,8 @@ preceding the beginning of the body of the text.
113A section ``Entitled XYZ'' means a named subunit of the Document whose 113A section ``Entitled XYZ'' means a named subunit of the Document whose
114title either is precisely XYZ or contains XYZ in parentheses following 114title either is precisely XYZ or contains XYZ in parentheses following
115text that translates XYZ in another language. (Here XYZ stands for a 115text that translates XYZ in another language. (Here XYZ stands for a
116specific section name mentioned below, such as ``Acknowledgements'', 116specific section name mentioned below, such as ``Acknowledgements,''
117``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' 117``Dedications,'' ``Endorsements,'' or ``History.'') To ``Preserve the Title''
118of such a section when you modify the Document means that it remains a 118of such a section when you modify the Document means that it remains a
119section ``Entitled XYZ'' according to this definition. 119section ``Entitled XYZ'' according to this definition.
120 120
@@ -210,7 +210,7 @@ F. Include, immediately after the copyright notices, a license notice
210G. Preserve in that license notice the full lists of Invariant Sections 210G. Preserve in that license notice the full lists of Invariant Sections
211 and required Cover Texts given in the Document's license notice.@* 211 and required Cover Texts given in the Document's license notice.@*
212H. Include an unaltered copy of this License.@* 212H. Include an unaltered copy of this License.@*
213I. Preserve the section Entitled ``History'', Preserve its Title, and add 213I. Preserve the section Entitled ``History,'' Preserve its Title, and add
214 to it an item stating at least the title, year, new authors, and 214 to it an item stating at least the title, year, new authors, and
215 publisher of the Modified Version as given on the Title Page. If 215 publisher of the Modified Version as given on the Title Page. If
216 there is no section Entitled ``History'' in the Document, create one 216 there is no section Entitled ``History'' in the Document, create one
@@ -224,7 +224,7 @@ J. Preserve the network location, if any, given in the Document for
224 You may omit a network location for a work that was published at 224 You may omit a network location for a work that was published at
225 least four years before the Document itself, or if the original 225 least four years before the Document itself, or if the original
226 publisher of the version it refers to gives permission.@* 226 publisher of the version it refers to gives permission.@*
227K. For any section Entitled ``Acknowledgements'' or ``Dedications'', 227K. For any section Entitled ``Acknowledgements'' or ``Dedications,''
228 Preserve the Title of the section, and preserve in the section all 228 Preserve the Title of the section, and preserve in the section all
229 the substance and tone of each of the contributor acknowledgements 229 the substance and tone of each of the contributor acknowledgements
230 and/or dedications given therein.@* 230 and/or dedications given therein.@*
@@ -244,7 +244,7 @@ of these sections as invariant. To do this, add their titles to the
244list of Invariant Sections in the Modified Version's license notice. 244list of Invariant Sections in the Modified Version's license notice.
245These titles must be distinct from any other section titles. 245These titles must be distinct from any other section titles.
246 246
247You may add a section Entitled ``Endorsements'', provided it contains 247You may add a section Entitled ``Endorsements,'' provided it contains
248nothing but endorsements of your Modified Version by various 248nothing but endorsements of your Modified Version by various
249parties--for example, statements of peer review or that the text has 249parties--for example, statements of peer review or that the text has
250been approved by an organization as the authoritative definition of a 250been approved by an organization as the authoritative definition of a
@@ -285,7 +285,7 @@ Invariant Sections in the license notice of the combined work.
285 285
286In the combination, you must combine any sections Entitled ``History'' 286In the combination, you must combine any sections Entitled ``History''
287in the various original documents, forming one section Entitled 287in the various original documents, forming one section Entitled
288``History''; likewise combine any sections Entitled ``Acknowledgements'', 288``History''; likewise combine any sections Entitled ``Acknowledgements,''
289and any sections Entitled ``Dedications.'' You must delete all sections 289and any sections Entitled ``Dedications.'' You must delete all sections
290Entitled ``Endorsements.'' 290Entitled ``Endorsements.''
291@sp 1 291@sp 1
@@ -339,8 +339,8 @@ of those notices and disclaimers. In case of a disagreement between
339the translation and the original version of this License or a notice 339the translation and the original version of this License or a notice
340or disclaimer, the original version will prevail. 340or disclaimer, the original version will prevail.
341 341
342If a section in the Document is Entitled ``Acknowledgements'', 342If a section in the Document is Entitled ``Acknowledgements,''
343``Dedications'', or ``History'', the requirement (section 4) to Preserve 343``Dedications,'' or ``History,'' the requirement (section 4) to Preserve
344its Title (section 1) will typically require changing the actual 344its Title (section 1) will typically require changing the actual
345title. 345title.
346@sp 1 346@sp 1
@@ -389,7 +389,7 @@ under the terms of the GNU Free Documentation License, Version 1.2
389or any later version published by the Free Software Foundation; 389or any later version published by the Free Software Foundation;
390with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 390with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
391A copy of the license is included in the section entitled ``GNU 391A copy of the license is included in the section entitled ``GNU
392Free Documentation License''. 392Free Documentation License.''
393@end group 393@end group
394@end smallexample 394@end smallexample
395 395
diff --git a/man/emacs-xtra.texi b/man/emacs-xtra.texi
index 65625522298..2a6f0e73c02 100644
--- a/man/emacs-xtra.texi
+++ b/man/emacs-xtra.texi
@@ -17,7 +17,7 @@ Permission is granted to copy, distribute and/or modify this document
17under the terms of the GNU Free Documentation License, Version 1.2 or 17under the terms of the GNU Free Documentation License, Version 1.2 or
18any later version published by the Free Software Foundation; with no 18any later version published by the Free Software Foundation; with no
19Invariant Sections, with the Front-Cover texts being ``A GNU 19Invariant Sections, with the Front-Cover texts being ``A GNU
20Manual'', and with the Back-Cover Texts as in (a) below. A copy of the 20Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the
21license is included in the section entitled ``GNU Free Documentation 21license is included in the section entitled ``GNU Free Documentation
22License'' in the Emacs manual. 22License'' in the Emacs manual.
23 23
diff --git a/man/emacs.texi b/man/emacs.texi
index 5e27711f611..a5c8371c7db 100644
--- a/man/emacs.texi
+++ b/man/emacs.texi
@@ -19,8 +19,8 @@ Foundation, Inc.
19Permission is granted to copy, distribute and/or modify this document 19Permission is granted to copy, distribute and/or modify this document
20under the terms of the GNU Free Documentation License, Version 1.2 or 20under the terms of the GNU Free Documentation License, Version 1.2 or
21any later version published by the Free Software Foundation; with the 21any later version published by the Free Software Foundation; with the
22Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and 22Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and
23``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU 23``GNU GENERAL PUBLIC LICENSE,'' with the Front-Cover texts being ``A GNU
24Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the 24Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the
25license is included in the section entitled ``GNU Free Documentation 25license is included in the section entitled ``GNU Free Documentation
26License.'' 26License.''
diff --git a/man/faq.texi b/man/faq.texi
index 5fc21eb8575..7890c13a4d8 100644
--- a/man/faq.texi
+++ b/man/faq.texi
@@ -2481,7 +2481,7 @@ To move a menu option from one position to another, simply evaluate
2481 2481
2482More detailed information---and more examples of how to create and 2482More detailed information---and more examples of how to create and
2483modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under 2483modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under
2484``Menu Keymaps''. (@xref{Emacs Lisp documentation}, for information on 2484``Menu Keymaps.'' (@xref{Emacs Lisp documentation}, for information on
2485this manual.) 2485this manual.)
2486 2486
2487@node Deleting menus and menu options, Turning on syntax highlighting, Modifying pull-down menus, Common requests 2487@node Deleting menus and menu options, Turning on syntax highlighting, Modifying pull-down menus, Common requests
@@ -3125,14 +3125,12 @@ arbitrary Emacs Lisp code evaluated when the file is visited.
3125Obviously, there is a potential for Trojan horses to exploit this 3125Obviously, there is a potential for Trojan horses to exploit this
3126feature. 3126feature.
3127 3127
3128Emacs 18 allowed this feature by default; users could disable it by 3128As of Emacs 22, Emacs has a list of local variables that are known to
3129setting the variable @code{inhibit-local-variables} to a non-@code{nil} value. 3129be safe to set. If a file tries to set any variable outside this
3130 3130list, it asks the user to confirm whether the variables should be set.
3131As of Emacs 19, Emacs has a list of local variables that create a 3131You can also tell Emacs whether to allow the evaluation of Emacs Lisp
3132security risk. If a file tries to set one of them, it asks the user to 3132code found at the bottom of files by setting the variable
3133confirm whether the variables should be set. You can also tell Emacs 3133@code{enable-local-eval}.
3134whether to allow the evaluation of Emacs Lisp code found at the bottom
3135of files by setting the variable @code{enable-local-eval}.
3136 3134
3137For more information, @inforef{File Variables, File Variables, emacs}. 3135For more information, @inforef{File Variables, File Variables, emacs}.
3138 3136
@@ -3397,7 +3395,7 @@ On OpenWindows, you may need to use @code{add_services} to add the
3397``OpenWindows Programmers'' optional software category from the CD-ROM. 3395``OpenWindows Programmers'' optional software category from the CD-ROM.
3398 3396
3399On HP-UX 8.0, you may need to run @code{update} again to load the 3397On HP-UX 8.0, you may need to run @code{update} again to load the
3400X11-PRG ``fileset''. This may be missing even if you specified ``all 3398X11-PRG ``fileset.'' This may be missing even if you specified ``all
3401filesets'' the first time. If @file{libcurses.a} is missing, you may 3399filesets'' the first time. If @file{libcurses.a} is missing, you may
3402need to load the ``Berkeley Development Option.'' 3400need to load the ``Berkeley Development Option.''
3403 3401
diff --git a/man/files.texi b/man/files.texi
index 80ea3f78dc4..9796ed67923 100644
--- a/man/files.texi
+++ b/man/files.texi
@@ -2334,7 +2334,7 @@ diff-mode}.
2334 One general feature of Diff mode is that manual edits to the patch 2334 One general feature of Diff mode is that manual edits to the patch
2335automatically correct line numbers, including those in the hunk 2335automatically correct line numbers, including those in the hunk
2336header, so that you can actually apply the edited patch. Diff mode 2336header, so that you can actually apply the edited patch. Diff mode
2337treats each hunk location as an ``error message'', so that you can use 2337treats each hunk location as an ``error message,'' so that you can use
2338commands such as @kbd{C-x '} to visit the corresponding source 2338commands such as @kbd{C-x '} to visit the corresponding source
2339locations. It also provides the following commands to navigate, 2339locations. It also provides the following commands to navigate,
2340manipulate and apply parts of patches: 2340manipulate and apply parts of patches:
diff --git a/man/flymake.texi b/man/flymake.texi
index 62f3f90b658..3861fe70812 100644
--- a/man/flymake.texi
+++ b/man/flymake.texi
@@ -17,7 +17,7 @@ Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation, Inc.
17Permission is granted to copy, distribute and/or modify this document 17Permission is granted to copy, distribute and/or modify this document
18under the terms of the GNU Free Documentation License, Version 1.2 or 18under the terms of the GNU Free Documentation License, Version 1.2 or
19any later version published by the Free Software Foundation; with no 19any later version published by the Free Software Foundation; with no
20Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', 20Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
21and with the Back-Cover Texts as in (a) below. A copy of the license 21and with the Back-Cover Texts as in (a) below. A copy of the license
22is included in the section entitled ``GNU Free Documentation License'' 22is included in the section entitled ``GNU Free Documentation License''
23in the Emacs manual. 23in the Emacs manual.
diff --git a/man/forms.texi b/man/forms.texi
index 561d77c8121..be78380335e 100644
--- a/man/forms.texi
+++ b/man/forms.texi
@@ -26,7 +26,7 @@ Permission is granted to copy, distribute and/or modify this document
26under the terms of the GNU Free Documentation License, Version 1.2 or 26under the terms of the GNU Free Documentation License, Version 1.2 or
27any later version published by the Free Software Foundation; with no 27any later version published by the Free Software Foundation; with no
28Invariant Sections, with the Front-Cover texts being ``A GNU 28Invariant Sections, with the Front-Cover texts being ``A GNU
29Manual'', and with the Back-Cover Texts as in (a) below. A copy of the 29Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the
30license is included in the section entitled ``GNU Free Documentation 30license is included in the section entitled ``GNU Free Documentation
31License'' in the Emacs manual. 31License'' in the Emacs manual.
32 32
diff --git a/man/fortran-xtra.texi b/man/fortran-xtra.texi
index f157013f1d6..735404a0bf4 100644
--- a/man/fortran-xtra.texi
+++ b/man/fortran-xtra.texi
@@ -179,7 +179,7 @@ the Fortran standard counts from 1.) The variable
179@code{fortran-continuation-string} specifies what character to put in 179@code{fortran-continuation-string} specifies what character to put in
180column 5. A line that starts with a tab character followed by any digit 180column 5. A line that starts with a tab character followed by any digit
181except @samp{0} is also a continuation line. We call this style of 181except @samp{0} is also a continuation line. We call this style of
182continuation @dfn{tab format}. (Fortran90 introduced ``free format'', 182continuation @dfn{tab format}. (Fortran90 introduced ``free format,''
183with another style of continuation lines). 183with another style of continuation lines).
184 184
185@vindex indent-tabs-mode @r{(Fortran mode)} 185@vindex indent-tabs-mode @r{(Fortran mode)}
diff --git a/man/frames.texi b/man/frames.texi
index 4eb0a523cad..29ece2d0dc2 100644
--- a/man/frames.texi
+++ b/man/frames.texi
@@ -547,12 +547,18 @@ Delete all frames except the selected one.
547how the system (or the window manager) generally handles 547how the system (or the window manager) generally handles
548focus-switching between windows. There are two possibilities: either 548focus-switching between windows. There are two possibilities: either
549simply moving the mouse onto a window selects it (gives it focus), or 549simply moving the mouse onto a window selects it (gives it focus), or
550you have to click on it in a suitable way to do so. Unfortunately 550you have to click on it in a suitable way to do so. On X, this focus
551there is no way Emacs can find out automatically which way the system 551policy also affects whether the focus is given to a frame that Emacs
552handles this, so you have to explicitly say, by setting the variable 552raises. Unfortunately there is no way Emacs can find out
553@code{focus-follows-mouse}. If just moving the mouse onto a window 553automatically which way the system handles this, so you have to
554selects it, that variable should be @code{t}; if a click is necessary, 554explicitly say, by setting the variable @code{focus-follows-mouse}.
555the variable should be @code{nil}. 555If just moving the mouse onto a window selects it, that variable
556should be @code{t}; if a click is necessary, the variable should be
557@code{nil}.
558
559The window manager that is part of MS-Windows always gives focus to a
560frame that raises, so this variable has no effect in the native
561MS-Windows build of Emacs.
556 562
557@node Speedbar 563@node Speedbar
558@section Speedbar Frames 564@section Speedbar Frames
diff --git a/man/glossary.texi b/man/glossary.texi
index e2d2ad56832..0e0fd1b38f6 100644
--- a/man/glossary.texi
+++ b/man/glossary.texi
@@ -665,7 +665,7 @@ sequences of existing ones, with no need to write a Lisp program.
665@item Keyboard Shortcut 665@item Keyboard Shortcut
666A keyboard shortcut is a key sequence (q.v.@:) which invokes a 666A keyboard shortcut is a key sequence (q.v.@:) which invokes a
667command. What some programs call ``assigning a keyboard shortcut,'' 667command. What some programs call ``assigning a keyboard shortcut,''
668Emacs calls ``binding a key sequence''. See `binding.' 668Emacs calls ``binding a key sequence.'' See `binding.'
669 669
670@item Key Sequence 670@item Key Sequence
671A key sequence (key, for short) is a sequence of input events (q.v.@:) 671A key sequence (key, for short) is a sequence of input events (q.v.@:)
diff --git a/man/info.texi b/man/info.texi
index a13d276a2a5..adefd0f2e4a 100644
--- a/man/info.texi
+++ b/man/info.texi
@@ -22,7 +22,7 @@ Permission is granted to copy, distribute and/or modify this document
22under the terms of the GNU Free Documentation License, Version 1.2 or 22under the terms of the GNU Free Documentation License, Version 1.2 or
23any later version published by the Free Software Foundation; with no 23any later version published by the Free Software Foundation; with no
24Invariant Sections, with the Front-Cover texts being ``A GNU 24Invariant Sections, with the Front-Cover texts being ``A GNU
25Manual'', and with the Back-Cover Texts as in (a) below. A copy of the 25Manual,'' and with the Back-Cover Texts as in (a) below. A copy of the
26license is included in the section entitled ``GNU Free Documentation 26license is included in the section entitled ``GNU Free Documentation
27License'' in the Emacs manual. 27License'' in the Emacs manual.
28 28
@@ -687,7 +687,7 @@ ends the subtopic's brief name. You will see the subtopic's name
687change its appearance (usually, its background color will change), and 687change its appearance (usually, its background color will change), and
688the shape of the mouse pointer will change if your platform supports 688the shape of the mouse pointer will change if your platform supports
689that. After a while, if you leave the mouse on that spot, a small 689that. After a while, if you leave the mouse on that spot, a small
690window will pop up, saying ``Mouse-2: go to that node'', or the same 690window will pop up, saying ``Mouse-2: go to that node,'' or the same
691message may appear at the bottom of the screen. 691message may appear at the bottom of the screen.
692 692
693 @kbd{Mouse-2} is the second button of your mouse counting from the 693 @kbd{Mouse-2} is the second button of your mouse counting from the
@@ -1002,8 +1002,8 @@ area before looking at the node it displays.
1002if you are not sure how they are spelled in the index. For example, 1002if you are not sure how they are spelled in the index. For example,
1003suppose you want to find something that is pertinent to commands which 1003suppose you want to find something that is pertinent to commands which
1004complete partial input (e.g., when you type @key{TAB}). If you want 1004complete partial input (e.g., when you type @key{TAB}). If you want
1005to catch index entries that refer to ``complete'', ``completion'', and 1005to catch index entries that refer to ``complete,'' ``completion,'' and
1006``completing'', you could type @kbd{icomplet@key{RET}}. 1006``completing,'' you could type @kbd{icomplet@key{RET}}.
1007 1007
1008 Info documents which describe programs should index the commands, 1008 Info documents which describe programs should index the commands,
1009options, and key sequences that the program provides. If you are 1009options, and key sequences that the program provides. If you are
@@ -1264,7 +1264,7 @@ in the names is insignificant.
1264what appears after the @samp{Node: } in that node's first line. For 1264what appears after the @samp{Node: } in that node's first line. For
1265example, this node's name is @samp{Add}. A node in another file is 1265example, this node's name is @samp{Add}. A node in another file is
1266named by @samp{(@var{filename})@var{node-within-file}}, as in 1266named by @samp{(@var{filename})@var{node-within-file}}, as in
1267@samp{(info)Add} for this node. If the file name starts with ``./'', 1267@samp{(info)Add} for this node. If the file name starts with @samp{./},
1268then it is relative to the current directory; otherwise, it is 1268then it is relative to the current directory; otherwise, it is
1269relative starting from the standard directory for Info files of your 1269relative starting from the standard directory for Info files of your
1270site. The name @samp{(@var{filename})Top} can be abbreviated to just 1270site. The name @samp{(@var{filename})Top} can be abbreviated to just
@@ -1322,7 +1322,7 @@ short abbreviations. In a long menu, it is a good idea to capitalize
1322the beginning of each item name which is the minimum acceptable 1322the beginning of each item name which is the minimum acceptable
1323abbreviation for it (a long menu is more than 5 or so entries). 1323abbreviation for it (a long menu is more than 5 or so entries).
1324 1324
1325 The nodes listed in a node's menu are called its ``subnodes'', and it 1325 The nodes listed in a node's menu are called its ``subnodes,'' and it
1326is their ``superior''. They should each have an @samp{Up:} pointing at 1326is their ``superior''. They should each have an @samp{Up:} pointing at
1327the superior. It is often useful to arrange all or most of the subnodes 1327the superior. It is often useful to arrange all or most of the subnodes
1328in a sequence of @samp{Next} and @samp{Previous} pointers so that 1328in a sequence of @samp{Next} and @samp{Previous} pointers so that
@@ -1336,7 +1336,7 @@ Info's files live in that file directory, but they do not have to; and
1336files in that directory are not automatically listed in the Info 1336files in that directory are not automatically listed in the Info
1337Directory node. 1337Directory node.
1338 1338
1339 Also, although the Info node graph is claimed to be a ``hierarchy'', 1339 Also, although the Info node graph is claimed to be a ``hierarchy,''
1340in fact it can be @emph{any} directed graph. Shared structures and 1340in fact it can be @emph{any} directed graph. Shared structures and
1341pointer cycles are perfectly possible, and can be used if they are 1341pointer cycles are perfectly possible, and can be used if they are
1342appropriate to the meaning to be expressed. There is no need for all 1342appropriate to the meaning to be expressed. There is no need for all
diff --git a/man/killing.texi b/man/killing.texi
index 0a1badcffe7..4be77e2d6f8 100644
--- a/man/killing.texi
+++ b/man/killing.texi
@@ -293,7 +293,7 @@ Replace text just yanked with an earlier batch of killed text
293(@code{yank-pop}). 293(@code{yank-pop}).
294@item M-w 294@item M-w
295Save region as last killed text without actually killing it 295Save region as last killed text without actually killing it
296(@code{kill-ring-save}). Some systems call this ``copying''. 296(@code{kill-ring-save}). Some systems call this ``copying.''
297@item C-M-w 297@item C-M-w
298Append next kill to last batch of killed text (@code{append-next-kill}). 298Append next kill to last batch of killed text (@code{append-next-kill}).
299@end table 299@end table
diff --git a/man/kmacro.texi b/man/kmacro.texi
index 7f14c40a95b..66b8c2d4588 100644
--- a/man/kmacro.texi
+++ b/man/kmacro.texi
@@ -173,7 +173,7 @@ beginning of the line and then executing the macro.
173@node Keyboard Macro Ring 173@node Keyboard Macro Ring
174@section The Keyboard Macro Ring 174@section The Keyboard Macro Ring
175 175
176 All defined keyboard macros are recorded in the ``keyboard macro ring'', 176 All defined keyboard macros are recorded in the ``keyboard macro ring,''
177a list of sequences of keys. There is only one keyboard macro ring, 177a list of sequences of keys. There is only one keyboard macro ring,
178shared by all buffers. 178shared by all buffers.
179 179
diff --git a/man/misc.texi b/man/misc.texi
index 28668a30e67..6f6d448bc7d 100644
--- a/man/misc.texi
+++ b/man/misc.texi
@@ -2377,7 +2377,7 @@ or through an external viewer.
2377 To enter Tumme, type @kbd{M-x tumme}. It prompts for a directory; 2377 To enter Tumme, type @kbd{M-x tumme}. It prompts for a directory;
2378specify one that has images files. This creates thumbnails for all 2378specify one that has images files. This creates thumbnails for all
2379the images in that directory, and displays them all in the ``thumbnail 2379the images in that directory, and displays them all in the ``thumbnail
2380buffer''. This takes a long time if the directory contains many image 2380buffer.'' This takes a long time if the directory contains many image
2381files, and it asks for confirmation if the number of image files 2381files, and it asks for confirmation if the number of image files
2382exceeds @code{tumme-show-all-from-dir-max-files}. 2382exceeds @code{tumme-show-all-from-dir-max-files}.
2383 2383
diff --git a/man/org.texi b/man/org.texi
index 054c2b28053..3e327279726 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -2160,7 +2160,7 @@ If you define many keywords, you can use in-buffer completion (see
2160 2160
2161The second possibility is to use TODO keywords to indicate different 2161The second possibility is to use TODO keywords to indicate different
2162types of action items. For example, you might want to indicate that 2162types of action items. For example, you might want to indicate that
2163items are for ``work'' or ``home''. If you are into David Allen's 2163items are for ``work'' or ``home.'' If you are into David Allen's
2164@emph{Getting Things DONE}, you might want to use todo types 2164@emph{Getting Things DONE}, you might want to use todo types
2165@samp{NEXTACTION}, @samp{WAITING}, @samp{MAYBE}. Or, when you work 2165@samp{NEXTACTION}, @samp{WAITING}, @samp{MAYBE}. Or, when you work
2166with several people on a single project, you might want to assign 2166with several people on a single project, you might want to assign
diff --git a/man/pgg.texi b/man/pgg.texi
index b8934b526e3..23bcd5cbb1e 100644
--- a/man/pgg.texi
+++ b/man/pgg.texi
@@ -17,7 +17,7 @@ under the terms of the GNU Free Documentation License, Version 1.2 or
17any later version published by the Free Software Foundation; with no 17any later version published by the Free Software Foundation; with no
18Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 18Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
19Texts. A copy of the license is included in the section entitled ``GNU 19Texts. A copy of the license is included in the section entitled ``GNU
20Free Documentation License''. 20Free Documentation License.''
21@end quotation 21@end quotation
22@end copying 22@end copying
23 23
diff --git a/man/programs.texi b/man/programs.texi
index 70198ad1e99..17aa9c9cb12 100644
--- a/man/programs.texi
+++ b/man/programs.texi
@@ -1117,7 +1117,7 @@ You can also use @kbd{M-x info-lookup-file} to look for documentation
1117for a file name. 1117for a file name.
1118 1118
1119 If you use @kbd{C-h S} in a major mode that does not support it, 1119 If you use @kbd{C-h S} in a major mode that does not support it,
1120it asks you to specify the ``symbol help mode''. You should enter 1120it asks you to specify the ``symbol help mode.'' You should enter
1121a command such as @code{c-mode} that would select a major 1121a command such as @code{c-mode} that would select a major
1122mode which @kbd{C-h S} does support. 1122mode which @kbd{C-h S} does support.
1123 1123
diff --git a/man/search.texi b/man/search.texi
index 0a8a46ffb26..282b36e3a50 100644
--- a/man/search.texi
+++ b/man/search.texi
@@ -208,15 +208,15 @@ of bindings, look at the documentation of @code{isearch-mode} with
208 208
209@node Non-ASCII Isearch 209@node Non-ASCII Isearch
210@subsection Isearch for Non-@acronym{ASCII} Characters 210@subsection Isearch for Non-@acronym{ASCII} Characters
211
212@cindex searching for non-@acronym{ASCII} characters 211@cindex searching for non-@acronym{ASCII} characters
213@cindex input method, during incremental search 212@cindex input method, during incremental search
214 213
215 To enter non-@acronym{ASCII} characters in an incremental search, 214 To enter non-@acronym{ASCII} characters in an incremental search,
216you must use an input method (@pxref{Input Methods}). If an input 215you can use @kbd{C-q} (see the previous section), but it is easier to
217method is enabled in the current buffer when you start the search, you 216use an input method (@pxref{Input Methods}). If an input method is
218can use it while you type the search string also. Emacs indicates 217enabled in the current buffer when you start the search, you can use
219that by including the input method mnemonic in its prompt, like this: 218it in the search string also. Emacs indicates that by including the
219input method mnemonic in its prompt, like this:
220 220
221@example 221@example
222I-search [@var{im}]: 222I-search [@var{im}]:
@@ -225,10 +225,11 @@ I-search [@var{im}]:
225@noindent 225@noindent
226@findex isearch-toggle-input-method 226@findex isearch-toggle-input-method
227@findex isearch-toggle-specified-input-method 227@findex isearch-toggle-specified-input-method
228where @var{im} is the mnemonic of the active input method. You can 228where @var{im} is the mnemonic of the active input method.
229toggle (enable or disable) the input method while you type the search 229
230string with @kbd{C-\} (@code{isearch-toggle-input-method}). You can 230 You can toggle (enable or disable) the input method while you type
231turn on a certain (non-default) input method with @kbd{C-^} 231the search string with @kbd{C-\} (@code{isearch-toggle-input-method}).
232You can turn on a certain (non-default) input method with @kbd{C-^}
232(@code{isearch-toggle-specified-input-method}), which prompts for the 233(@code{isearch-toggle-specified-input-method}), which prompts for the
233name of the input method. The input method you enable during 234name of the input method. The input method you enable during
234incremental search remains enabled in the current buffer afterwards. 235incremental search remains enabled in the current buffer afterwards.
@@ -1010,7 +1011,7 @@ it can refer to all or part of what is matched by the @var{regexp}.
1010@samp{\&} in @var{newstring} stands for the entire match being 1011@samp{\&} in @var{newstring} stands for the entire match being
1011replaced. @samp{\@var{d}} in @var{newstring}, where @var{d} is a 1012replaced. @samp{\@var{d}} in @var{newstring}, where @var{d} is a
1012digit, stands for whatever matched the @var{d}th parenthesized 1013digit, stands for whatever matched the @var{d}th parenthesized
1013grouping in @var{regexp}. (This is called a ``back reference''.) 1014grouping in @var{regexp}. (This is called a ``back reference.'')
1014@samp{\#} refers to the count of replacements already made in this 1015@samp{\#} refers to the count of replacements already made in this
1015command, as a decimal number. In the first replacement, @samp{\#} 1016command, as a decimal number. In the first replacement, @samp{\#}
1016stands for @samp{0}; in the second, for @samp{1}; and so on. For 1017stands for @samp{0}; in the second, for @samp{1}; and so on. For
diff --git a/man/xresmini.texi b/man/xresmini.texi
index 7dc66d1e185..7820793369f 100644
--- a/man/xresmini.texi
+++ b/man/xresmini.texi
@@ -11,12 +11,12 @@ can customize some of the same aspects using the system registry.
11@xref{MS-Windows Registry}. Likewise, Emacs on MacOS Carbon emulates X 11@xref{MS-Windows Registry}. Likewise, Emacs on MacOS Carbon emulates X
12resources using the Preferences system. @xref{Mac Environment Variables}. 12resources using the Preferences system. @xref{Mac Environment Variables}.
13 13
14 When Emacs is built using an ``X toolkit'', such as Lucid or 14 When Emacs is built using an ``X toolkit,'' such as Lucid or
15LessTif, you need to use X resources to customize the appearance of 15LessTif, you need to use X resources to customize the appearance of
16the widgets, including the menu-bar, scroll-bar, and dialog boxes. 16the widgets, including the menu-bar, scroll-bar, and dialog boxes.
17This is because the libraries that implement these don't provide for 17This is because the libraries that implement these don't provide for
18customization through Emacs. GTK+ widgets use a separate system of 18customization through Emacs. GTK+ widgets use a separate system of
19``GTK resources''. In this chapter we describe the most commonly used 19``GTK resources.'' In this chapter we describe the most commonly used
20resource specifications. For full documentation, see the online 20resource specifications. For full documentation, see the online
21manual. 21manual.
22 22
diff --git a/man/xresources.texi b/man/xresources.texi
index 5f027a4ad4a..156c04cceb4 100644
--- a/man/xresources.texi
+++ b/man/xresources.texi
@@ -951,7 +951,7 @@ where @var{r}, @var{g} and @var{b} are either integers in the range
9510-65535 or floats in the range 0.0-1.0. 9510-65535 or floats in the range 0.0-1.0.
952 952
953 Pango font names have the form ``@var{family-list} @var{style-options} 953 Pango font names have the form ``@var{family-list} @var{style-options}
954@var{size}''. 954@var{size}.''
955@cindex Pango font name 955@cindex Pango font name
956@noindent 956@noindent
957@var{family-list} is a comma separated list of font families optionally 957@var{family-list} is a comma separated list of font families optionally
@@ -964,7 +964,7 @@ an X font name, for example in
964@end smallexample 964@end smallexample
965 965
966@noindent 966@noindent
967the family name is ``times''. 967the family name is @samp{times}.
968 968
969@noindent 969@noindent
970@var{style-options} is a whitespace separated list of words where each word 970@var{style-options} is a whitespace separated list of words where each word
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 96594144135..41b19bdadf1 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12006-07-27 Jason Rumney <jasonr@gnu.org>
2
3 * INSTALL: Add notes about Cygwin make to impatient section.
4
12006-06-02 Eli Zaretskii <eliz@gnu.org> 52006-06-02 Eli Zaretskii <eliz@gnu.org>
2 6
3 * INSTALL: Add Make 3.81 to the list of Make & shell combinations 7 * INSTALL: Add Make 3.81 to the list of Make & shell combinations
diff --git a/nt/INSTALL b/nt/INSTALL
index 0d2f1b20193..21ee8367a88 100644
--- a/nt/INSTALL
+++ b/nt/INSTALL
@@ -31,16 +31,19 @@
31 nmake 31 nmake
32 32
33 For the development environments based on GNU GCC (MinGW, MSYS, 33 For the development environments based on GNU GCC (MinGW, MSYS,
34 Cygwin), depending on how Make is called, it could be: 34 Cygwin - but see notes about Cygwin make below), depending on how
35 Make is called, it could be:
35 36
36 make 37 make
37 or 38 or
39 mingw32-make
40 or
38 gnumake 41 gnumake
39 or 42 or
40 gmake 43 gmake
41 44
42 (If you are building from CVS, say "make bootstrap" or "nmake 45 (If you are building from CVS, say "make bootstrap" or "nmake
43 bootstrap" instead.) 46 bootstrap" instead and avoid using Cygwin make.)
44 47
45 4. Generate the Info manuals (only if you are building out of CVS, and 48 4. Generate the Info manuals (only if you are building out of CVS, and
46 if you have makeinfo.exe installed): 49 if you have makeinfo.exe installed):
diff --git a/src/ChangeLog b/src/ChangeLog
index 8437853d887..79271fe23fa 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,227 @@
12006-07-26 Chong Yidong <cyd@stupidchicken.com>
2
3 * keyboard.c (read_char): New arg END_TIME specifying timeout.
4 All callers changed. Turn off echoing if END_TIME is non-NULL.
5 (kbd_buffer_get_event): New arg END_TIME.
6
7 * lread.c (read_filtered_event): New arg SECONDS to wait until.
8 (Fread_char, Fread_event, Fread_char_exclusive): New arg SECONDS.
9
10 * lisp.h: Update read-char, read-event, and read_filtered_event
11 prototypes.
12
13 * keyboard.h: Include systime.h. Update read_char prototype.
14
152006-07-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16
17 * alloc.c (find_string_data_in_pure): New function.
18 (make_pure_string): Use it to reuse existing string data if possible.
19
20 * puresize.h (BASE_PURESIZE): Decrease to 1102000.
21
222006-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
23
24 * keymap.c (Fdefine_key): If the key binding definition looks like an
25 XEmacs-style key sequence, convert it to Emacs's format.
26
272006-07-22 Ralf Angeli <angeli@caeruleus.net>
28
29 * w32fns.c (w32_createwindow): If `left' and/or `top' frame
30 parameters are bound to some values, use that instead of
31 CW_USEDEFAULT.
32
332006-07-21 Eli Zaretskii <eliz@gnu.org>
34
35 * w32.c (convert_time): Use explicit long double constants to
36 ensure long double arithmetics is used throughout.
37
382006-07-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
39
40 * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp): New vars.
41 (init_alloc_once): Initialize them.
42 (pure_alloc): Allocate non-Lisp objects from the end of pure storage
43 without alignment.
44
45 * puresize.h (BASE_PURESIZE): Decrease to 1141000.
46
472006-07-18 Francis Litterio <franl@world.std.com>
48
49 * w32term.c (x_calc_absolute_position): Fix frame positioning
50 with negative X/Y coordinates.
51
522006-07-18 Dan Nicolaescu <dann@ics.uci.edu>
53
54 * xterm.c (x_connection_closed, x_error_quitter): Mark as NO_RETURN.
55
56 * textprop.c (text_read_only): Likewise.
57
58 * lread.c (end_of_file_error): Likewise.
59
60 * lisp.h (circular_list_error, memory_full, buffer_memory_full):
61 Likewise.
62
63 * eval.c (unwind_to_catch): Likewise.
64
65 * buffer.h (buffer_slot_type_mismatch): Likewise.
66
672006-07-18 Kim F. Storm <storm@cua.dk>
68
69 Cleanup Fsignal calls that never returns; now only use it for Qquit.
70
71 * eval.c (xsignal): New func. Like Fsignal, but marked no-return.
72 (xsignal0, xsignal1, xsignal2, xsignal3): New no-return functions.
73 (signal_error): New no-return function (from xfaces.c).
74 (Fthrow): Use xsignal2 instead of Fsignal + abort.
75 (error): Use xsignal1 instead of Fsignal + abort.
76 (FletX, Flet, grow_specpdl): Use signal_error.
77 (Feval, Ffuncall, funcall_lambda): Use xsignal1, xsignal2.
78
79 * alloc.c (buffer_memory_full, memory_full): Use xsignal. Remove loop.
80 (list1): New function.
81
82 * lisp.h (list1): Add EXFUN.
83 (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error):
84 Add prototypes. Mark them as no-return.
85
86 * buffer.c (Fbuffer_local_value, Fbarf_if_buffer_read_only):
87 Use xsignal1.
88
89 * callint.c (check_mark): Use xsignal0.
90
91 * casefiddle.c (casify_object): wrong_type_argument is no-return.
92
93 * cmds.c (Fforward_char, Fdelete_char): Use xsignal0.
94
95 * coding.c (Fcheck_coding_system): Use xsignal1. Remove loop.
96 (Fdefine_coding_system_internal): Use xsignal1.
97
98 * data.c (circular_list_error): Use xsignal.
99 (wrong_type_argument): Use xsignal2. Don't care about return value.
100 (args_out_of_range, args_out_of_range_3): Use xsignal2, xsignal3.
101 Remove loop around Fsignal.
102 (indirect_variable, Fsymbol_value, set_internal, Fdefault_value)
103 (indirect_function, Findirect_function, Fstring_to_number)
104 (Fmakunbound, Ffmakunbound, Fsymbol_function, Ffset): Use xsignal1.
105 (arith_driver, float_arith_driver, Frem, Fmod, arith_error):
106 Use xsignal0.
107
108 * doc.c (Fdocumentation): Use xsignal1.
109
110 * editfns.c (region_limit, Fget_internal_run_time): Use xsignal0.
111
112 * fileio.c (report_file_error): Use xsignal.
113 (barf_or_query_if_file_exists, Fcopy_file, Fdelete_file)
114 (Finsert_file_contents): Use xsignal2.
115 (syms_of_fileio): Use list2, list3.
116
117 * floatfns.c (arith_error, range_error, domain_error): Use xsignal2.
118 (range_error2, domain_error2): Use xsignal3.
119 (rounding_driver, fmod_float): Use xsignal0.
120 (float_error): Use xsignal1.
121 (matherr): Use xsignal.
122
123 * fns.c (Flength): wrong_type_argument is no-return.
124 (hashfn_user_defined, Fmake_hash_table): Use signal_error.
125 (Fmd5): Use xsignal1.
126
127 * frame.c (x_set_line_spacing, x_set_screen_gamma): Use signal_error.
128
129 * keyboard.c (recursive_edit_1): Use xsignal1.
130
131 * keymap.c (Fmap_keymap): Use xsignal1.
132
133 * lread.c (Fload): Use xsignal2, signal_error.
134 (end_of_file_error): Use xsignal0, xsignal1.
135 (read0): Use xsignal1.
136 (invalid_syntax): New error function marked no-return.
137 (read_integer, read1, read_list): Use it.
138
139 * macselect.c (x_get_local_selection): Use signal_error.
140
141 * msdos.c (Fmsdos_set_mouse_buttons): Use xsignal2.
142
143 * search.c (compile_pattern_1): Use xsignal1.
144 (signal_failure): Remove (was only called once).
145 (search_command): Use xsignal1 instead of signal_failure.
146
147 * syntax.c (scan_lists): Use xsignal3.
148
149 * textprop.c (text_read_only): Use xsignal0, xsignal1.
150
151 * unexsol.c (unexec): Use xsignal.
152
153 * window.c (window_scroll_pixel_based, window_scroll_line_based):
154 Use xsignal0.
155
156 * xfaces.c (signal_error): Move to eval.c.
157 (resolve_face_name): Use xsignal1.
158
159 * xfns.c (x_decode_color): Use signal_error.
160
161 * xselect.c (x_get_local_selection, copy_multiple_data)
162 (x_get_window_property_as_lisp_data)
163 (lisp_data_to_selection_data, CHECK_CUT_BUFFER)
164 (Fx_get_cut_buffer_internal): Use signal_error.
165
1662006-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
167
168 * macterm.c (XTread_socket): Undo previous change.
169
1702006-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
171
172 * macterm.c (keycode_to_xkeysym): Remove function. All uses now
173 directly lookup keycode_to_xkeysym_table.
174 [USE_MAC_TSM] (mac_handle_text_input_event): Don't construct
175 ASCII_KEYSTROKE_EVENT for non-zero keycode_to_xkeysym_table entries.
176 (XTread_socket): Use character codes to construct keypad key events.
177 (mac_initialize_display_info) [MAC_OSX]: Use CGDisplaySamplesPerPixel.
178 (x_delete_display): Apply 2006-07-04 change for xterm.c.
179
1802006-07-17 Kim F. Storm <storm@cua.dk>
181
182 * xdisp.c (handle_single_display_spec): Ensure the right value of
183 it->position is saved by push_it.
184 (pop_it): Restore it->object for GET_FROM_BUFFER and GET_FROM_STRING.
185 (reseat_1): Don't setup it->object twice.
186 (set_iterator_to_next): No need to set it->object after pop_it.
187 (move_it_to): Explicitly check to see if last move reached to_charpos.
188
1892006-07-17 Thien-Thi Nguyen <ttn@gnu.org>
190
191 * xdisp.c (display_mode_line): Preserve match data.
192
1932006-07-14 Kim F. Storm <storm@cua.dk>
194
195 * w32.c (pfn_WSACreateEvent, pfn_WSACloseEvent): New func ptrs.
196 (init_winsock): Load them. Use ws2_32.dll.
197 (sys_listen): Undo last change. Just set FILE_LISTEN flag.
198 (sys_accept): Undo last change. Instead, set child status to
199 STATUS_READ_ACKNOWLEDGED and reset char_avail event so next
200 sys_select will wakeup the reader thread.
201 (_sys_wait_accept): New function used by reader thread to wait for
202 an incoming connection on a server socket.
203
204 * w32.h (_sys_read_ahead, _sys_wait_accept): Add prototypes.
205
206 * w32proc.c (reader_thread): Use _sys_wait_accept to wait on a
207 server socket (FILE_LISTEN flag).
208
2092006-07-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
210
211 * sound.c (alsa_init): Call snd_pcm_close after successful snd_pcm_open.
212
2132006-07-14 Kim F. Storm <storm@cua.dk>
214
215 * w32.c: Fix high cpu load for server sockets.
216 (pfn_WSAEventSelect): New function ptr.
217 (init_winsock): Load it.
218 (sys_listen): Set FILE_LISTEN flag. Set event mask for socket's
219 char_avail event object to FD_ACCEPT.
220 (sys_accept): Check FILE_LISTEN flag. Set event mask on new
221 socket's char_avail event object to FD_READ|FD_CLOSE.
222
223 * w32.h (FILE_LISTEN): New filedesc flag value.
224
12006-07-13 Kim F. Storm <storm@cua.dk> 2252006-07-13 Kim F. Storm <storm@cua.dk>
2 226
3 * bytecode.c (Fbyte_code): Use CAR, CDR for Bcar, Bcdr. 227 * bytecode.c (Fbyte_code): Use CAR, CDR for Bcar, Bcdr.
diff --git a/src/alloc.c b/src/alloc.c
index 8088540bb6b..e3609292749 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -289,10 +289,18 @@ static size_t pure_bytes_used_before_overflow;
289 && ((PNTR_COMPARISON_TYPE) (P) \ 289 && ((PNTR_COMPARISON_TYPE) (P) \
290 >= (PNTR_COMPARISON_TYPE) purebeg)) 290 >= (PNTR_COMPARISON_TYPE) purebeg))
291 291
292/* Index in pure at which next pure object will be allocated.. */ 292/* Total number of bytes allocated in pure storage. */
293 293
294EMACS_INT pure_bytes_used; 294EMACS_INT pure_bytes_used;
295 295
296/* Index in pure at which next pure Lisp object will be allocated.. */
297
298static EMACS_INT pure_bytes_used_lisp;
299
300/* Number of bytes allocated for non-Lisp objects in pure storage. */
301
302static EMACS_INT pure_bytes_used_non_lisp;
303
296/* If nonzero, this is a warning delivered by malloc and not yet 304/* If nonzero, this is a warning delivered by malloc and not yet
297 displayed. */ 305 displayed. */
298 306
@@ -561,8 +569,7 @@ buffer_memory_full ()
561 569
562 /* This used to call error, but if we've run out of memory, we could 570 /* This used to call error, but if we've run out of memory, we could
563 get infinite recursion trying to build the string. */ 571 get infinite recursion trying to build the string. */
564 while (1) 572 xsignal (Qnil, Vmemory_signal_data);
565 Fsignal (Qnil, Vmemory_signal_data);
566} 573}
567 574
568 575
@@ -2779,7 +2786,14 @@ check_cons_list ()
2779#endif 2786#endif
2780} 2787}
2781 2788
2782/* Make a list of 2, 3, 4 or 5 specified objects. */ 2789/* Make a list of 1, 2, 3, 4 or 5 specified objects. */
2790
2791Lisp_Object
2792list1 (arg1)
2793 Lisp_Object arg1;
2794{
2795 return Fcons (arg1, Qnil);
2796}
2783 2797
2784Lisp_Object 2798Lisp_Object
2785list2 (arg1, arg2) 2799list2 (arg1, arg2)
@@ -3495,8 +3509,7 @@ memory_full ()
3495 3509
3496 /* This used to call error, but if we've run out of memory, we could 3510 /* This used to call error, but if we've run out of memory, we could
3497 get infinite recursion trying to build the string. */ 3511 get infinite recursion trying to build the string. */
3498 while (1) 3512 xsignal (Qnil, Vmemory_signal_data);
3499 Fsignal (Qnil, Vmemory_signal_data);
3500} 3513}
3501 3514
3502/* If we released our reserve (due to running out of memory), 3515/* If we released our reserve (due to running out of memory),
@@ -4689,10 +4702,7 @@ valid_lisp_object_p (obj)
4689 4702
4690/* Allocate room for SIZE bytes from pure Lisp storage and return a 4703/* Allocate room for SIZE bytes from pure Lisp storage and return a
4691 pointer to it. TYPE is the Lisp type for which the memory is 4704 pointer to it. TYPE is the Lisp type for which the memory is
4692 allocated. TYPE < 0 means it's not used for a Lisp object. 4705 allocated. TYPE < 0 means it's not used for a Lisp object. */
4693
4694 If store_pure_type_info is set and TYPE is >= 0, the type of
4695 the allocated object is recorded in pure_types. */
4696 4706
4697static POINTER_TYPE * 4707static POINTER_TYPE *
4698pure_alloc (size, type) 4708pure_alloc (size, type)
@@ -4717,8 +4727,21 @@ pure_alloc (size, type)
4717#endif 4727#endif
4718 4728
4719 again: 4729 again:
4720 result = ALIGN (purebeg + pure_bytes_used, alignment); 4730 if (type >= 0)
4721 pure_bytes_used = ((char *)result - (char *)purebeg) + size; 4731 {
4732 /* Allocate space for a Lisp object from the beginning of the free
4733 space with taking account of alignment. */
4734 result = ALIGN (purebeg + pure_bytes_used_lisp, alignment);
4735 pure_bytes_used_lisp = ((char *)result - (char *)purebeg) + size;
4736 }
4737 else
4738 {
4739 /* Allocate space for a non-Lisp object from the end of the free
4740 space. */
4741 pure_bytes_used_non_lisp += size;
4742 result = purebeg + pure_size - pure_bytes_used_non_lisp;
4743 }
4744 pure_bytes_used = pure_bytes_used_lisp + pure_bytes_used_non_lisp;
4722 4745
4723 if (pure_bytes_used <= pure_size) 4746 if (pure_bytes_used <= pure_size)
4724 return result; 4747 return result;
@@ -4730,6 +4753,7 @@ pure_alloc (size, type)
4730 pure_size = 10000; 4753 pure_size = 10000;
4731 pure_bytes_used_before_overflow += pure_bytes_used - size; 4754 pure_bytes_used_before_overflow += pure_bytes_used - size;
4732 pure_bytes_used = 0; 4755 pure_bytes_used = 0;
4756 pure_bytes_used_lisp = pure_bytes_used_non_lisp = 0;
4733 goto again; 4757 goto again;
4734} 4758}
4735 4759
@@ -4745,6 +4769,73 @@ check_pure_size ()
4745} 4769}
4746 4770
4747 4771
4772/* Find the byte sequence {DATA[0], ..., DATA[NBYTES-1], '\0'} from
4773 the non-Lisp data pool of the pure storage, and return its start
4774 address. Return NULL if not found. */
4775
4776static char *
4777find_string_data_in_pure (data, nbytes)
4778 char *data;
4779 int nbytes;
4780{
4781 int i, skip, bm_skip[256], last_char_skip, infinity, start, start_max;
4782 unsigned char *p;
4783 char *non_lisp_beg;
4784
4785 if (pure_bytes_used_non_lisp < nbytes + 1)
4786 return NULL;
4787
4788 /* Set up the Boyer-Moore table. */
4789 skip = nbytes + 1;
4790 for (i = 0; i < 256; i++)
4791 bm_skip[i] = skip;
4792
4793 p = (unsigned char *) data;
4794 while (--skip > 0)
4795 bm_skip[*p++] = skip;
4796
4797 last_char_skip = bm_skip['\0'];
4798
4799 non_lisp_beg = purebeg + pure_size - pure_bytes_used_non_lisp;
4800 start_max = pure_bytes_used_non_lisp - (nbytes + 1);
4801
4802 /* See the comments in the function `boyer_moore' (search.c) for the
4803 use of `infinity'. */
4804 infinity = pure_bytes_used_non_lisp + 1;
4805 bm_skip['\0'] = infinity;
4806
4807 p = (unsigned char *) non_lisp_beg + nbytes;
4808 start = 0;
4809 do
4810 {
4811 /* Check the last character (== '\0'). */
4812 do
4813 {
4814 start += bm_skip[*(p + start)];
4815 }
4816 while (start <= start_max);
4817
4818 if (start < infinity)
4819 /* Couldn't find the last character. */
4820 return NULL;
4821
4822 /* No less than `infinity' means we could find the last
4823 character at `p[start - infinity]'. */
4824 start -= infinity;
4825
4826 /* Check the remaining characters. */
4827 if (memcmp (data, non_lisp_beg + start, nbytes) == 0)
4828 /* Found. */
4829 return non_lisp_beg + start;
4830
4831 start += last_char_skip;
4832 }
4833 while (start <= start_max);
4834
4835 return NULL;
4836}
4837
4838
4748/* Return a string allocated in pure space. DATA is a buffer holding 4839/* Return a string allocated in pure space. DATA is a buffer holding
4749 NCHARS characters, and NBYTES bytes of string data. MULTIBYTE 4840 NCHARS characters, and NBYTES bytes of string data. MULTIBYTE
4750 non-zero means make the result string multibyte. 4841 non-zero means make the result string multibyte.
@@ -4763,11 +4854,15 @@ make_pure_string (data, nchars, nbytes, multibyte)
4763 struct Lisp_String *s; 4854 struct Lisp_String *s;
4764 4855
4765 s = (struct Lisp_String *) pure_alloc (sizeof *s, Lisp_String); 4856 s = (struct Lisp_String *) pure_alloc (sizeof *s, Lisp_String);
4766 s->data = (unsigned char *) pure_alloc (nbytes + 1, -1); 4857 s->data = find_string_data_in_pure (data, nbytes);
4858 if (s->data == NULL)
4859 {
4860 s->data = (unsigned char *) pure_alloc (nbytes + 1, -1);
4861 bcopy (data, s->data, nbytes);
4862 s->data[nbytes] = '\0';
4863 }
4767 s->size = nchars; 4864 s->size = nchars;
4768 s->size_byte = multibyte ? nbytes : -1; 4865 s->size_byte = multibyte ? nbytes : -1;
4769 bcopy (data, s->data, nbytes);
4770 s->data[nbytes] = '\0';
4771 s->intervals = NULL_INTERVAL; 4866 s->intervals = NULL_INTERVAL;
4772 XSETSTRING (string, s); 4867 XSETSTRING (string, s);
4773 return string; 4868 return string;
@@ -6225,6 +6320,7 @@ init_alloc_once ()
6225 purebeg = PUREBEG; 6320 purebeg = PUREBEG;
6226 pure_size = PURESIZE; 6321 pure_size = PURESIZE;
6227 pure_bytes_used = 0; 6322 pure_bytes_used = 0;
6323 pure_bytes_used_lisp = pure_bytes_used_non_lisp = 0;
6228 pure_bytes_used_before_overflow = 0; 6324 pure_bytes_used_before_overflow = 0;
6229 6325
6230 /* Initialize the list of free aligned blocks. */ 6326 /* Initialize the list of free aligned blocks. */
diff --git a/src/buffer.c b/src/buffer.c
index 73db9d21419..dc6bcd8f6d3 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -951,10 +951,10 @@ is the default binding of the variable. */)
951 result = XCDR (result); 951 result = XCDR (result);
952 } 952 }
953 953
954 if (EQ (result, Qunbound)) 954 if (!EQ (result, Qunbound))
955 return Fsignal (Qvoid_variable, Fcons (variable, Qnil)); 955 return result;
956 956
957 return result; 957 xsignal1 (Qvoid_variable, variable);
958} 958}
959 959
960/* Return an alist of the Lisp-level buffer-local bindings of 960/* Return an alist of the Lisp-level buffer-local bindings of
@@ -1991,7 +1991,7 @@ DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only,
1991{ 1991{
1992 if (!NILP (current_buffer->read_only) 1992 if (!NILP (current_buffer->read_only)
1993 && NILP (Vinhibit_read_only)) 1993 && NILP (Vinhibit_read_only))
1994 Fsignal (Qbuffer_read_only, (Fcons (Fcurrent_buffer (), Qnil))); 1994 xsignal1 (Qbuffer_read_only, Fcurrent_buffer ());
1995 return Qnil; 1995 return Qnil;
1996} 1996}
1997 1997
diff --git a/src/buffer.h b/src/buffer.h
index 60aa3e7aaed..efe0252453a 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -833,7 +833,7 @@ extern void set_buffer_internal P_ ((struct buffer *));
833extern void set_buffer_internal_1 P_ ((struct buffer *)); 833extern void set_buffer_internal_1 P_ ((struct buffer *));
834extern void set_buffer_temp P_ ((struct buffer *)); 834extern void set_buffer_temp P_ ((struct buffer *));
835extern void record_buffer P_ ((Lisp_Object)); 835extern void record_buffer P_ ((Lisp_Object));
836extern void buffer_slot_type_mismatch P_ ((int)); 836extern void buffer_slot_type_mismatch P_ ((int)) NO_RETURN;
837extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT)); 837extern void fix_overlays_before P_ ((struct buffer *, EMACS_INT, EMACS_INT));
838extern void mmap_set_vars P_ ((int)); 838extern void mmap_set_vars P_ ((int));
839 839
diff --git a/src/callint.c b/src/callint.c
index afb576cf5f6..e48168db164 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -174,7 +174,7 @@ check_mark (for_region)
174 : "The mark is not set now"); 174 : "The mark is not set now");
175 if (!NILP (Vtransient_mark_mode) && NILP (Vmark_even_if_inactive) 175 if (!NILP (Vtransient_mark_mode) && NILP (Vmark_even_if_inactive)
176 && NILP (current_buffer->mark_active)) 176 && NILP (current_buffer->mark_active))
177 Fsignal (Qmark_inactive, Qnil); 177 xsignal0 (Qmark_inactive);
178} 178}
179 179
180/* If the list of args INPUT was produced with an explicit call to 180/* If the list of args INPUT was produced with an explicit call to
@@ -563,7 +563,7 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */)
563 break; 563 break;
564 564
565 case 'c': /* Character */ 565 case 'c': /* Character */
566 args[i] = Fread_char (build_string (callint_message), Qnil); 566 args[i] = Fread_char (build_string (callint_message), Qnil, Qnil);
567 message1_nolog ((char *) 0); 567 message1_nolog ((char *) 0);
568 /* Passing args[i] directly stimulates compiler bug */ 568 /* Passing args[i] directly stimulates compiler bug */
569 teml = args[i]; 569 teml = args[i];
@@ -635,7 +635,7 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */)
635 /* Ignore first element, which is the base key. */ 635 /* Ignore first element, which is the base key. */
636 tem2 = Fmemq (intern ("down"), Fcdr (teml)); 636 tem2 = Fmemq (intern ("down"), Fcdr (teml));
637 if (! NILP (tem2)) 637 if (! NILP (tem2))
638 up_event = Fread_event (Qnil, Qnil); 638 up_event = Fread_event (Qnil, Qnil, Qnil);
639 } 639 }
640 } 640 }
641 break; 641 break;
@@ -663,7 +663,7 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */)
663 /* Ignore first element, which is the base key. */ 663 /* Ignore first element, which is the base key. */
664 tem2 = Fmemq (intern ("down"), Fcdr (teml)); 664 tem2 = Fmemq (intern ("down"), Fcdr (teml));
665 if (! NILP (tem2)) 665 if (! NILP (tem2))
666 up_event = Fread_event (Qnil, Qnil); 666 up_event = Fread_event (Qnil, Qnil, Qnil);
667 } 667 }
668 } 668 }
669 break; 669 break;
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 76a24f48a82..0ad884310ed 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -111,7 +111,7 @@ casify_object (flag, obj)
111 return obj; 111 return obj;
112 } 112 }
113 113
114 return wrong_type_argument (Qchar_or_string_p, obj); 114 wrong_type_argument (Qchar_or_string_p, obj);
115} 115}
116 116
117DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0, 117DEFUN ("upcase", Fupcase, Supcase, 1, 1, 0,
diff --git a/src/cmds.c b/src/cmds.c
index 494ef14db99..b84b9d1d85e 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -77,12 +77,12 @@ On reaching end of buffer, stop and signal error. */)
77 if (new_point < BEGV) 77 if (new_point < BEGV)
78 { 78 {
79 SET_PT (BEGV); 79 SET_PT (BEGV);
80 Fsignal (Qbeginning_of_buffer, Qnil); 80 xsignal0 (Qbeginning_of_buffer);
81 } 81 }
82 if (new_point > ZV) 82 if (new_point > ZV)
83 { 83 {
84 SET_PT (ZV); 84 SET_PT (ZV);
85 Fsignal (Qend_of_buffer, Qnil); 85 xsignal0 (Qend_of_buffer);
86 } 86 }
87 87
88 SET_PT (new_point); 88 SET_PT (new_point);
@@ -245,14 +245,14 @@ N was explicitly specified. */)
245 if (XINT (n) < 0) 245 if (XINT (n) < 0)
246 { 246 {
247 if (pos < BEGV) 247 if (pos < BEGV)
248 Fsignal (Qbeginning_of_buffer, Qnil); 248 xsignal0 (Qbeginning_of_buffer);
249 else 249 else
250 del_range (pos, PT); 250 del_range (pos, PT);
251 } 251 }
252 else 252 else
253 { 253 {
254 if (pos > ZV) 254 if (pos > ZV)
255 Fsignal (Qend_of_buffer, Qnil); 255 xsignal0 (Qend_of_buffer);
256 else 256 else
257 del_range (PT, pos); 257 del_range (PT, pos);
258 } 258 }
diff --git a/src/coding.c b/src/coding.c
index e35cb5ddc09..5b067b9dd2f 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -6068,7 +6068,7 @@ set_conversion_work_buffer (multibyte)
6068 /* As we are already in the work buffer, we must generate a new 6068 /* As we are already in the work buffer, we must generate a new
6069 buffer for the work. */ 6069 buffer for the work. */
6070 Lisp_Object name; 6070 Lisp_Object name;
6071 6071
6072 name = Fgenerate_new_buffer_name (Vcode_conversion_workbuf_name, Qnil); 6072 name = Fgenerate_new_buffer_name (Vcode_conversion_workbuf_name, Qnil);
6073 buffer = buffer_to_kill = Fget_buffer_create (name); 6073 buffer = buffer_to_kill = Fget_buffer_create (name);
6074 buf = XBUFFER (buffer); 6074 buf = XBUFFER (buffer);
@@ -6591,8 +6591,7 @@ The value of this property should be a vector of length 5. */)
6591 } 6591 }
6592 if (!NILP (Fcoding_system_p (coding_system))) 6592 if (!NILP (Fcoding_system_p (coding_system)))
6593 return coding_system; 6593 return coding_system;
6594 while (1) 6594 xsignal1 (Qcoding_system_error, coding_system);
6595 Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil));
6596} 6595}
6597 6596
6598Lisp_Object 6597Lisp_Object
@@ -7631,11 +7630,13 @@ This function is internal use only. */)
7631 Lisp_Object safe_chars, slot; 7630 Lisp_Object safe_chars, slot;
7632 7631
7633 if (NILP (Fcheck_coding_system (coding_system))) 7632 if (NILP (Fcheck_coding_system (coding_system)))
7634 Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil)); 7633 xsignal1 (Qcoding_system_error, coding_system);
7634
7635 safe_chars = coding_safe_chars (coding_system); 7635 safe_chars = coding_safe_chars (coding_system);
7636 if (! EQ (safe_chars, Qt) && ! CHAR_TABLE_P (safe_chars)) 7636 if (! EQ (safe_chars, Qt) && ! CHAR_TABLE_P (safe_chars))
7637 error ("No valid safe-chars property for %s", 7637 error ("No valid safe-chars property for %s",
7638 SDATA (SYMBOL_NAME (coding_system))); 7638 SDATA (SYMBOL_NAME (coding_system)));
7639
7639 if (EQ (safe_chars, Qt)) 7640 if (EQ (safe_chars, Qt))
7640 { 7641 {
7641 if (NILP (Fmemq (coding_system, XCAR (Vcoding_system_safe_chars)))) 7642 if (NILP (Fmemq (coding_system, XCAR (Vcoding_system_safe_chars))))
diff --git a/src/data.c b/src/data.c
index 8cca837028d..cc15431cd16 100644
--- a/src/data.c
+++ b/src/data.c
@@ -106,7 +106,7 @@ void
106circular_list_error (list) 106circular_list_error (list)
107 Lisp_Object list; 107 Lisp_Object list;
108{ 108{
109 Fsignal (Qcircular_list, list); 109 xsignal (Qcircular_list, list);
110} 110}
111 111
112 112
@@ -119,16 +119,7 @@ wrong_type_argument (predicate, value)
119 if ((unsigned int) XGCTYPE (value) >= Lisp_Type_Limit) 119 if ((unsigned int) XGCTYPE (value) >= Lisp_Type_Limit)
120 abort (); 120 abort ();
121 121
122 Fsignal (Qwrong_type_argument, list2 (predicate, value)); 122 xsignal2 (Qwrong_type_argument, predicate, value);
123
124 /* This function is marked as NO_RETURN, gcc would warn if it has a
125 return statement or if falls off the function. Other compilers
126 warn if no return statement is present. */
127#ifndef __GNUC__
128 return value;
129#else
130 abort ();
131#endif
132} 123}
133 124
134void 125void
@@ -141,16 +132,14 @@ void
141args_out_of_range (a1, a2) 132args_out_of_range (a1, a2)
142 Lisp_Object a1, a2; 133 Lisp_Object a1, a2;
143{ 134{
144 while (1) 135 xsignal2 (Qargs_out_of_range, a1, a2);
145 Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Qnil)));
146} 136}
147 137
148void 138void
149args_out_of_range_3 (a1, a2, a3) 139args_out_of_range_3 (a1, a2, a3)
150 Lisp_Object a1, a2, a3; 140 Lisp_Object a1, a2, a3;
151{ 141{
152 while (1) 142 xsignal3 (Qargs_out_of_range, a1, a2, a3);
153 Fsignal (Qargs_out_of_range, Fcons (a1, Fcons (a2, Fcons (a3, Qnil))));
154} 143}
155 144
156/* On some machines, XINT needs a temporary location. 145/* On some machines, XINT needs a temporary location.
@@ -619,7 +608,7 @@ Return SYMBOL. */)
619{ 608{
620 CHECK_SYMBOL (symbol); 609 CHECK_SYMBOL (symbol);
621 if (XSYMBOL (symbol)->constant) 610 if (XSYMBOL (symbol)->constant)
622 return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); 611 xsignal1 (Qsetting_constant, symbol);
623 Fset (symbol, Qunbound); 612 Fset (symbol, Qunbound);
624 return symbol; 613 return symbol;
625} 614}
@@ -632,7 +621,7 @@ Return SYMBOL. */)
632{ 621{
633 CHECK_SYMBOL (symbol); 622 CHECK_SYMBOL (symbol);
634 if (NILP (symbol) || EQ (symbol, Qt)) 623 if (NILP (symbol) || EQ (symbol, Qt))
635 return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); 624 xsignal1 (Qsetting_constant, symbol);
636 XSYMBOL (symbol)->function = Qunbound; 625 XSYMBOL (symbol)->function = Qunbound;
637 return symbol; 626 return symbol;
638} 627}
@@ -643,9 +632,9 @@ DEFUN ("symbol-function", Fsymbol_function, Ssymbol_function, 1, 1, 0,
643 register Lisp_Object symbol; 632 register Lisp_Object symbol;
644{ 633{
645 CHECK_SYMBOL (symbol); 634 CHECK_SYMBOL (symbol);
646 if (EQ (XSYMBOL (symbol)->function, Qunbound)) 635 if (!EQ (XSYMBOL (symbol)->function, Qunbound))
647 return Fsignal (Qvoid_function, Fcons (symbol, Qnil)); 636 return XSYMBOL (symbol)->function;
648 return XSYMBOL (symbol)->function; 637 xsignal1 (Qvoid_function, symbol);
649} 638}
650 639
651DEFUN ("symbol-plist", Fsymbol_plist, Ssymbol_plist, 1, 1, 0, 640DEFUN ("symbol-plist", Fsymbol_plist, Ssymbol_plist, 1, 1, 0,
@@ -676,7 +665,7 @@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0,
676{ 665{
677 CHECK_SYMBOL (symbol); 666 CHECK_SYMBOL (symbol);
678 if (NILP (symbol) || EQ (symbol, Qt)) 667 if (NILP (symbol) || EQ (symbol, Qt))
679 return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); 668 xsignal1 (Qsetting_constant, symbol);
680 if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (symbol)->function, Qunbound)) 669 if (!NILP (Vautoload_queue) && !EQ (XSYMBOL (symbol)->function, Qunbound))
681 Vautoload_queue = Fcons (Fcons (symbol, XSYMBOL (symbol)->function), 670 Vautoload_queue = Fcons (Fcons (symbol, XSYMBOL (symbol)->function),
682 Vautoload_queue); 671 Vautoload_queue);
@@ -818,7 +807,7 @@ indirect_variable (symbol)
818 tortoise = XSYMBOL (tortoise)->value; 807 tortoise = XSYMBOL (tortoise)->value;
819 808
820 if (EQ (hare, tortoise)) 809 if (EQ (hare, tortoise))
821 Fsignal (Qcyclic_variable_indirection, Fcons (symbol, Qnil)); 810 xsignal1 (Qcyclic_variable_indirection, symbol);
822 } 811 }
823 812
824 return hare; 813 return hare;
@@ -1130,10 +1119,10 @@ DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0,
1130 Lisp_Object val; 1119 Lisp_Object val;
1131 1120
1132 val = find_symbol_value (symbol); 1121 val = find_symbol_value (symbol);
1133 if (EQ (val, Qunbound)) 1122 if (!EQ (val, Qunbound))
1134 return Fsignal (Qvoid_variable, Fcons (symbol, Qnil));
1135 else
1136 return val; 1123 return val;
1124
1125 xsignal1 (Qvoid_variable, symbol);
1137} 1126}
1138 1127
1139DEFUN ("set", Fset, Sset, 2, 2, 0, 1128DEFUN ("set", Fset, Sset, 2, 2, 0,
@@ -1197,7 +1186,7 @@ set_internal (symbol, newval, buf, bindflag)
1197 if (SYMBOL_CONSTANT_P (symbol) 1186 if (SYMBOL_CONSTANT_P (symbol)
1198 && (NILP (Fkeywordp (symbol)) 1187 && (NILP (Fkeywordp (symbol))
1199 || !EQ (newval, SYMBOL_VALUE (symbol)))) 1188 || !EQ (newval, SYMBOL_VALUE (symbol))))
1200 return Fsignal (Qsetting_constant, Fcons (symbol, Qnil)); 1189 xsignal1 (Qsetting_constant, symbol);
1201 1190
1202 innercontents = valcontents = SYMBOL_VALUE (symbol); 1191 innercontents = valcontents = SYMBOL_VALUE (symbol);
1203 1192
@@ -1391,9 +1380,10 @@ local bindings in certain buffers. */)
1391 register Lisp_Object value; 1380 register Lisp_Object value;
1392 1381
1393 value = default_value (symbol); 1382 value = default_value (symbol);
1394 if (EQ (value, Qunbound)) 1383 if (!EQ (value, Qunbound))
1395 return Fsignal (Qvoid_variable, Fcons (symbol, Qnil)); 1384 return value;
1396 return value; 1385
1386 xsignal1 (Qvoid_variable, symbol);
1397} 1387}
1398 1388
1399DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0, 1389DEFUN ("set-default", Fset_default, Sset_default, 2, 2, 0,
@@ -1950,7 +1940,7 @@ indirect_function (object)
1950 tortoise = XSYMBOL (tortoise)->function; 1940 tortoise = XSYMBOL (tortoise)->function;
1951 1941
1952 if (EQ (hare, tortoise)) 1942 if (EQ (hare, tortoise))
1953 Fsignal (Qcyclic_function_indirection, Fcons (object, Qnil)); 1943 xsignal1 (Qcyclic_function_indirection, object);
1954 } 1944 }
1955 1945
1956 return hare; 1946 return hare;
@@ -1979,7 +1969,7 @@ function chain of symbols. */)
1979 return result; 1969 return result;
1980 1970
1981 if (NILP (noerror)) 1971 if (NILP (noerror))
1982 Fsignal (Qvoid_function, Fcons (object, Qnil)); 1972 xsignal1 (Qvoid_function, object);
1983 1973
1984 return Qnil; 1974 return Qnil;
1985} 1975}
@@ -2519,7 +2509,7 @@ If the base used is not 10, floating point is not recognized. */)
2519 CHECK_NUMBER (base); 2509 CHECK_NUMBER (base);
2520 b = XINT (base); 2510 b = XINT (base);
2521 if (b < 2 || b > 16) 2511 if (b < 2 || b > 16)
2522 Fsignal (Qargs_out_of_range, Fcons (base, Qnil)); 2512 xsignal1 (Qargs_out_of_range, base);
2523 } 2513 }
2524 2514
2525 /* Skip any whitespace at the front of the number. Some versions of 2515 /* Skip any whitespace at the front of the number. Some versions of
@@ -2631,7 +2621,7 @@ arith_driver (code, nargs, args)
2631 else 2621 else
2632 { 2622 {
2633 if (next == 0) 2623 if (next == 0)
2634 Fsignal (Qarith_error, Qnil); 2624 xsignal0 (Qarith_error);
2635 accum /= next; 2625 accum /= next;
2636 } 2626 }
2637 break; 2627 break;
@@ -2704,7 +2694,7 @@ float_arith_driver (accum, argnum, code, nargs, args)
2704 else 2694 else
2705 { 2695 {
2706 if (! IEEE_FLOATING_POINT && next == 0) 2696 if (! IEEE_FLOATING_POINT && next == 0)
2707 Fsignal (Qarith_error, Qnil); 2697 xsignal0 (Qarith_error);
2708 accum /= next; 2698 accum /= next;
2709 } 2699 }
2710 break; 2700 break;
@@ -2786,7 +2776,7 @@ Both must be integers or markers. */)
2786 CHECK_NUMBER_COERCE_MARKER (y); 2776 CHECK_NUMBER_COERCE_MARKER (y);
2787 2777
2788 if (XFASTINT (y) == 0) 2778 if (XFASTINT (y) == 0)
2789 Fsignal (Qarith_error, Qnil); 2779 xsignal0 (Qarith_error);
2790 2780
2791 XSETINT (val, XINT (x) % XINT (y)); 2781 XSETINT (val, XINT (x) % XINT (y));
2792 return val; 2782 return val;
@@ -2835,7 +2825,7 @@ Both X and Y must be numbers or markers. */)
2835 i2 = XINT (y); 2825 i2 = XINT (y);
2836 2826
2837 if (i2 == 0) 2827 if (i2 == 0)
2838 Fsignal (Qarith_error, Qnil); 2828 xsignal0 (Qarith_error);
2839 2829
2840 i1 %= i2; 2830 i1 %= i2;
2841 2831
@@ -3443,7 +3433,7 @@ arith_error (signo)
3443#endif /* not BSD4_1 */ 3433#endif /* not BSD4_1 */
3444 3434
3445 SIGNAL_THREAD_CHECK (signo); 3435 SIGNAL_THREAD_CHECK (signo);
3446 Fsignal (Qarith_error, Qnil); 3436 xsignal0 (Qarith_error);
3447} 3437}
3448 3438
3449void 3439void
diff --git a/src/dispnew.c b/src/dispnew.c
index 87d99fd9917..1d977898f60 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -6866,9 +6866,15 @@ init_display ()
6866For types defined in VMS, use set term /device=TYPE.\n\ 6866For types defined in VMS, use set term /device=TYPE.\n\
6867For types not defined in VMS, use define emacs_term \"TYPE\".\n\ 6867For types not defined in VMS, use define emacs_term \"TYPE\".\n\
6868\(The quotation marks are necessary since terminal types are lower case.)\n"); 6868\(The quotation marks are necessary since terminal types are lower case.)\n");
6869#else 6869#else /* not VMS */
6870 fprintf (stderr, "Please set the environment variable TERM; see tset(1).\n"); 6870
6871#endif 6871#ifdef HAVE_WINDOW_SYSTEM
6872 if (! inhibit_window_system)
6873 fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see `tset').\n");
6874 else
6875#endif /* HAVE_WINDOW_SYSTEM */
6876 fprintf (stderr, "Please set the environment variable TERM; see `tset'.\n");
6877#endif /* not VMS */
6872 exit (1); 6878 exit (1);
6873 } 6879 }
6874 6880
diff --git a/src/doc.c b/src/doc.c
index 3dd5622d9df..93f372606a4 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -416,7 +416,7 @@ string is passed through `substitute-command-keys'. */)
416 { 416 {
417 funcar = Fcar (fun); 417 funcar = Fcar (fun);
418 if (!SYMBOLP (funcar)) 418 if (!SYMBOLP (funcar))
419 return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 419 xsignal1 (Qinvalid_function, fun);
420 else if (EQ (funcar, Qkeymap)) 420 else if (EQ (funcar, Qkeymap))
421 return build_string ("Prefix command (definition is a keymap associating keystrokes with commands)."); 421 return build_string ("Prefix command (definition is a keymap associating keystrokes with commands).");
422 else if (EQ (funcar, Qlambda) 422 else if (EQ (funcar, Qlambda)
@@ -443,7 +443,7 @@ string is passed through `substitute-command-keys'. */)
443 else 443 else
444 { 444 {
445 oops: 445 oops:
446 Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 446 xsignal1 (Qinvalid_function, fun);
447 } 447 }
448 448
449 /* If DOC is 0, it's typically because of a dumped file missing 449 /* If DOC is 0, it's typically because of a dumped file missing
diff --git a/src/editfns.c b/src/editfns.c
index cf37c10a9d5..aea044db068 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -316,7 +316,7 @@ region_limit (beginningp)
316 if (!NILP (Vtransient_mark_mode) 316 if (!NILP (Vtransient_mark_mode)
317 && NILP (Vmark_even_if_inactive) 317 && NILP (Vmark_even_if_inactive)
318 && NILP (current_buffer->mark_active)) 318 && NILP (current_buffer->mark_active))
319 Fsignal (Qmark_inactive, Qnil); 319 xsignal0 (Qmark_inactive);
320 320
321 m = Fmarker_position (current_buffer->mark); 321 m = Fmarker_position (current_buffer->mark);
322 if (NILP (m)) 322 if (NILP (m))
@@ -1480,7 +1480,7 @@ systems that do not provide resolution finer than a second. */)
1480 1480
1481 if (getrusage (RUSAGE_SELF, &usage) < 0) 1481 if (getrusage (RUSAGE_SELF, &usage) < 0)
1482 /* This shouldn't happen. What action is appropriate? */ 1482 /* This shouldn't happen. What action is appropriate? */
1483 Fsignal (Qerror, Qnil); 1483 xsignal0 (Qerror);
1484 1484
1485 /* Sum up user time and system time. */ 1485 /* Sum up user time and system time. */
1486 secs = usage.ru_utime.tv_sec + usage.ru_stime.tv_sec; 1486 secs = usage.ru_utime.tv_sec + usage.ru_stime.tv_sec;
diff --git a/src/eval.c b/src/eval.c
index a07ab32e76b..0d7a6a31038 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -198,6 +198,7 @@ Lisp_Object Vmacro_declaration_function;
198extern Lisp_Object Qrisky_local_variable; 198extern Lisp_Object Qrisky_local_variable;
199 199
200static Lisp_Object funcall_lambda P_ ((Lisp_Object, int, Lisp_Object*)); 200static Lisp_Object funcall_lambda P_ ((Lisp_Object, int, Lisp_Object*));
201static void unwind_to_catch P_ ((struct catchtag *, Lisp_Object)) NO_RETURN;
201 202
202void 203void
203init_eval_once () 204init_eval_once ()
@@ -983,9 +984,7 @@ usage: (let* VARLIST BODY...) */)
983 if (SYMBOLP (elt)) 984 if (SYMBOLP (elt))
984 specbind (elt, Qnil); 985 specbind (elt, Qnil);
985 else if (! NILP (Fcdr (Fcdr (elt)))) 986 else if (! NILP (Fcdr (Fcdr (elt))))
986 Fsignal (Qerror, 987 signal_error ("`let' bindings can have only one value-form", elt);
987 Fcons (build_string ("`let' bindings can have only one value-form"),
988 elt));
989 else 988 else
990 { 989 {
991 val = Feval (Fcar (Fcdr (elt))); 990 val = Feval (Fcar (Fcdr (elt)));
@@ -1032,9 +1031,7 @@ usage: (let VARLIST BODY...) */)
1032 if (SYMBOLP (elt)) 1031 if (SYMBOLP (elt))
1033 temps [argnum++] = Qnil; 1032 temps [argnum++] = Qnil;
1034 else if (! NILP (Fcdr (Fcdr (elt)))) 1033 else if (! NILP (Fcdr (Fcdr (elt))))
1035 Fsignal (Qerror, 1034 signal_error ("`let' bindings can have only one value-form", elt);
1036 Fcons (build_string ("`let' bindings can have only one value-form"),
1037 elt));
1038 else 1035 else
1039 temps [argnum++] = Feval (Fcar (Fcdr (elt))); 1036 temps [argnum++] = Feval (Fcar (Fcdr (elt)));
1040 gcpro2.nvars = argnum; 1037 gcpro2.nvars = argnum;
@@ -1295,8 +1292,7 @@ Both TAG and VALUE are evalled. */)
1295 if (EQ (c->tag, tag)) 1292 if (EQ (c->tag, tag))
1296 unwind_to_catch (c, value); 1293 unwind_to_catch (c, value);
1297 } 1294 }
1298 Fsignal (Qno_catch, list2 (tag, value)); 1295 xsignal2 (Qno_catch, tag, value);
1299 abort ();
1300} 1296}
1301 1297
1302 1298
@@ -1704,6 +1700,78 @@ See also the function `condition-case'. */)
1704 fatal ("%s", SDATA (string), 0); 1700 fatal ("%s", SDATA (string), 0);
1705} 1701}
1706 1702
1703/* Internal version of Fsignal that never returns.
1704 Used for anything but Qquit (which can return from Fsignal). */
1705
1706void
1707xsignal (error_symbol, data)
1708 Lisp_Object error_symbol, data;
1709{
1710 Fsignal (error_symbol, data);
1711 abort ();
1712}
1713
1714/* Like xsignal, but takes 0, 1, 2, or 3 args instead of a list. */
1715
1716void
1717xsignal0 (error_symbol)
1718 Lisp_Object error_symbol;
1719{
1720 xsignal (error_symbol, Qnil);
1721}
1722
1723void
1724xsignal1 (error_symbol, arg)
1725 Lisp_Object error_symbol, arg;
1726{
1727 xsignal (error_symbol, list1 (arg));
1728}
1729
1730void
1731xsignal2 (error_symbol, arg1, arg2)
1732 Lisp_Object error_symbol, arg1, arg2;
1733{
1734 xsignal (error_symbol, list2 (arg1, arg2));
1735}
1736
1737void
1738xsignal3 (error_symbol, arg1, arg2, arg3)
1739 Lisp_Object error_symbol, arg1, arg2, arg3;
1740{
1741 xsignal (error_symbol, list3 (arg1, arg2, arg3));
1742}
1743
1744/* Signal `error' with message S, and additional arg ARG.
1745 If ARG is not a genuine list, make it a one-element list. */
1746
1747void
1748signal_error (s, arg)
1749 char *s;
1750 Lisp_Object arg;
1751{
1752 Lisp_Object tortoise, hare;
1753
1754 hare = tortoise = arg;
1755 while (CONSP (hare))
1756 {
1757 hare = XCDR (hare);
1758 if (!CONSP (hare))
1759 break;
1760
1761 hare = XCDR (hare);
1762 tortoise = XCDR (tortoise);
1763
1764 if (EQ (hare, tortoise))
1765 break;
1766 }
1767
1768 if (!NILP (hare))
1769 arg = Fcons (arg, Qnil); /* Make it a list. */
1770
1771 xsignal (Qerror, Fcons (build_string (s), arg));
1772}
1773
1774
1707/* Return nonzero iff LIST is a non-nil atom or 1775/* Return nonzero iff LIST is a non-nil atom or
1708 a list containing one of CONDITIONS. */ 1776 a list containing one of CONDITIONS. */
1709 1777
@@ -1918,8 +1986,7 @@ error (m, a1, a2, a3)
1918 if (allocated) 1986 if (allocated)
1919 xfree (buffer); 1987 xfree (buffer);
1920 1988
1921 Fsignal (Qerror, Fcons (string, Qnil)); 1989 xsignal1 (Qerror, string);
1922 abort ();
1923} 1990}
1924 1991
1925DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0, 1992DEFUN ("commandp", Fcommandp, Scommandp, 1, 2, 0,
@@ -2185,7 +2252,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2185 2252
2186 if (XINT (numargs) < XSUBR (fun)->min_args || 2253 if (XINT (numargs) < XSUBR (fun)->min_args ||
2187 (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs))) 2254 (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < XINT (numargs)))
2188 Fsignal (Qwrong_number_of_arguments, list2 (original_fun, numargs)); 2255 xsignal2 (Qwrong_number_of_arguments, original_fun, numargs);
2189 2256
2190 if (XSUBR (fun)->max_args == UNEVALLED) 2257 if (XSUBR (fun)->max_args == UNEVALLED)
2191 { 2258 {
@@ -2289,12 +2356,12 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2289 else 2356 else
2290 { 2357 {
2291 if (EQ (fun, Qunbound)) 2358 if (EQ (fun, Qunbound))
2292 Fsignal (Qvoid_function, Fcons (original_fun, Qnil)); 2359 xsignal1 (Qvoid_function, original_fun);
2293 if (!CONSP (fun)) 2360 if (!CONSP (fun))
2294 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 2361 xsignal1 (Qinvalid_function, original_fun);
2295 funcar = Fcar (fun); 2362 funcar = XCAR (fun);
2296 if (!SYMBOLP (funcar)) 2363 if (!SYMBOLP (funcar))
2297 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 2364 xsignal1 (Qinvalid_function, original_fun);
2298 if (EQ (funcar, Qautoload)) 2365 if (EQ (funcar, Qautoload))
2299 { 2366 {
2300 do_autoload (fun, original_fun); 2367 do_autoload (fun, original_fun);
@@ -2305,7 +2372,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
2305 else if (EQ (funcar, Qlambda)) 2372 else if (EQ (funcar, Qlambda))
2306 val = apply_lambda (fun, original_args, 1); 2373 val = apply_lambda (fun, original_args, 1);
2307 else 2374 else
2308 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 2375 xsignal1 (Qinvalid_function, original_fun);
2309 } 2376 }
2310 done: 2377 done:
2311 CHECK_CONS_LIST (); 2378 CHECK_CONS_LIST ();
@@ -2885,11 +2952,11 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2885 || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs)) 2952 || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs))
2886 { 2953 {
2887 XSETFASTINT (lisp_numargs, numargs); 2954 XSETFASTINT (lisp_numargs, numargs);
2888 Fsignal (Qwrong_number_of_arguments, list2 (original_fun, lisp_numargs)); 2955 xsignal2 (Qwrong_number_of_arguments, original_fun, lisp_numargs);
2889 } 2956 }
2890 2957
2891 if (XSUBR (fun)->max_args == UNEVALLED) 2958 if (XSUBR (fun)->max_args == UNEVALLED)
2892 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 2959 xsignal1 (Qinvalid_function, original_fun);
2893 2960
2894 if (XSUBR (fun)->max_args == MANY) 2961 if (XSUBR (fun)->max_args == MANY)
2895 { 2962 {
@@ -2962,12 +3029,12 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2962 else 3029 else
2963 { 3030 {
2964 if (EQ (fun, Qunbound)) 3031 if (EQ (fun, Qunbound))
2965 Fsignal (Qvoid_function, Fcons (original_fun, Qnil)); 3032 xsignal1 (Qvoid_function, original_fun);
2966 if (!CONSP (fun)) 3033 if (!CONSP (fun))
2967 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 3034 xsignal1 (Qinvalid_function, original_fun);
2968 funcar = Fcar (fun); 3035 funcar = XCAR (fun);
2969 if (!SYMBOLP (funcar)) 3036 if (!SYMBOLP (funcar))
2970 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 3037 xsignal1 (Qinvalid_function, original_fun);
2971 if (EQ (funcar, Qlambda)) 3038 if (EQ (funcar, Qlambda))
2972 val = funcall_lambda (fun, numargs, args + 1); 3039 val = funcall_lambda (fun, numargs, args + 1);
2973 else if (EQ (funcar, Qautoload)) 3040 else if (EQ (funcar, Qautoload))
@@ -2977,7 +3044,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2977 goto retry; 3044 goto retry;
2978 } 3045 }
2979 else 3046 else
2980 Fsignal (Qinvalid_function, Fcons (original_fun, Qnil)); 3047 xsignal1 (Qinvalid_function, original_fun);
2981 } 3048 }
2982 done: 3049 done:
2983 CHECK_CONS_LIST (); 3050 CHECK_CONS_LIST ();
@@ -3053,7 +3120,7 @@ funcall_lambda (fun, nargs, arg_vector)
3053 if (CONSP (syms_left)) 3120 if (CONSP (syms_left))
3054 syms_left = XCAR (syms_left); 3121 syms_left = XCAR (syms_left);
3055 else 3122 else
3056 Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 3123 xsignal1 (Qinvalid_function, fun);
3057 } 3124 }
3058 else if (COMPILEDP (fun)) 3125 else if (COMPILEDP (fun))
3059 syms_left = AREF (fun, COMPILED_ARGLIST); 3126 syms_left = AREF (fun, COMPILED_ARGLIST);
@@ -3067,7 +3134,7 @@ funcall_lambda (fun, nargs, arg_vector)
3067 3134
3068 next = XCAR (syms_left); 3135 next = XCAR (syms_left);
3069 if (!SYMBOLP (next)) 3136 if (!SYMBOLP (next))
3070 Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 3137 xsignal1 (Qinvalid_function, fun);
3071 3138
3072 if (EQ (next, Qand_rest)) 3139 if (EQ (next, Qand_rest))
3073 rest = 1; 3140 rest = 1;
@@ -3081,15 +3148,15 @@ funcall_lambda (fun, nargs, arg_vector)
3081 else if (i < nargs) 3148 else if (i < nargs)
3082 specbind (next, arg_vector[i++]); 3149 specbind (next, arg_vector[i++]);
3083 else if (!optional) 3150 else if (!optional)
3084 Fsignal (Qwrong_number_of_arguments, list2 (fun, make_number (nargs))); 3151 xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs));
3085 else 3152 else
3086 specbind (next, Qnil); 3153 specbind (next, Qnil);
3087 } 3154 }
3088 3155
3089 if (!NILP (syms_left)) 3156 if (!NILP (syms_left))
3090 Fsignal (Qinvalid_function, Fcons (fun, Qnil)); 3157 xsignal1 (Qinvalid_function, fun);
3091 else if (i < nargs) 3158 else if (i < nargs)
3092 Fsignal (Qwrong_number_of_arguments, list2 (fun, make_number (nargs))); 3159 xsignal2 (Qwrong_number_of_arguments, fun, make_number (nargs));
3093 3160
3094 if (CONSP (fun)) 3161 if (CONSP (fun))
3095 val = Fprogn (XCDR (XCDR (fun))); 3162 val = Fprogn (XCDR (XCDR (fun)));
@@ -3141,8 +3208,7 @@ grow_specpdl ()
3141 if (max_specpdl_size < 400) 3208 if (max_specpdl_size < 400)
3142 max_specpdl_size = 400; 3209 max_specpdl_size = 400;
3143 if (specpdl_size >= max_specpdl_size) 3210 if (specpdl_size >= max_specpdl_size)
3144 Fsignal (Qerror, 3211 signal_error ("Variable binding depth exceeds max-specpdl-size", Qnil);
3145 Fcons (build_string ("Variable binding depth exceeds max-specpdl-size"), Qnil));
3146 } 3212 }
3147 specpdl_size *= 2; 3213 specpdl_size *= 2;
3148 if (specpdl_size > max_specpdl_size) 3214 if (specpdl_size > max_specpdl_size)
diff --git a/src/fileio.c b/src/fileio.c
index 58b1863f225..8ac528cafb9 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -282,7 +282,7 @@ report_file_error (string, data)
282 switch (errorno) 282 switch (errorno)
283 { 283 {
284 case EEXIST: 284 case EEXIST:
285 Fsignal (Qfile_already_exists, Fcons (errstring, data)); 285 xsignal (Qfile_already_exists, Fcons (errstring, data));
286 break; 286 break;
287 default: 287 default:
288 /* System error messages are capitalized. Downcase the initial 288 /* System error messages are capitalized. Downcase the initial
@@ -290,7 +290,7 @@ report_file_error (string, data)
290 if (SREF (errstring, 1) != '/') 290 if (SREF (errstring, 1) != '/')
291 SSET (errstring, 0, DOWNCASE (SREF (errstring, 0))); 291 SSET (errstring, 0, DOWNCASE (SREF (errstring, 0)));
292 292
293 Fsignal (Qfile_error, 293 xsignal (Qfile_error,
294 Fcons (build_string (string), Fcons (errstring, data))); 294 Fcons (build_string (string), Fcons (errstring, data)));
295 } 295 }
296} 296}
@@ -2386,9 +2386,8 @@ barf_or_query_if_file_exists (absname, querystring, interactive, statptr, quick)
2386 if (lstat (SDATA (encoded_filename), &statbuf) >= 0) 2386 if (lstat (SDATA (encoded_filename), &statbuf) >= 0)
2387 { 2387 {
2388 if (! interactive) 2388 if (! interactive)
2389 Fsignal (Qfile_already_exists, 2389 xsignal2 (Qfile_already_exists,
2390 Fcons (build_string ("File already exists"), 2390 build_string ("File already exists"), absname);
2391 Fcons (absname, Qnil)));
2392 GCPRO1 (absname); 2391 GCPRO1 (absname);
2393 tem = format2 ("File %s already exists; %s anyway? ", 2392 tem = format2 ("File %s already exists; %s anyway? ",
2394 absname, build_string (querystring)); 2393 absname, build_string (querystring));
@@ -2398,9 +2397,8 @@ barf_or_query_if_file_exists (absname, querystring, interactive, statptr, quick)
2398 tem = do_yes_or_no_p (tem); 2397 tem = do_yes_or_no_p (tem);
2399 UNGCPRO; 2398 UNGCPRO;
2400 if (NILP (tem)) 2399 if (NILP (tem))
2401 Fsignal (Qfile_already_exists, 2400 xsignal2 (Qfile_already_exists,
2402 Fcons (build_string ("File already exists"), 2401 build_string ("File already exists"), absname);
2403 Fcons (absname, Qnil)));
2404 if (statptr) 2402 if (statptr)
2405 *statptr = statbuf; 2403 *statptr = statbuf;
2406 } 2404 }
@@ -2502,9 +2500,8 @@ uid and gid of FILE to NEWNAME. */)
2502 { 2500 {
2503 /* Restore original attributes. */ 2501 /* Restore original attributes. */
2504 SetFileAttributes (filename, attributes); 2502 SetFileAttributes (filename, attributes);
2505 Fsignal (Qfile_date_error, 2503 xsignal2 (Qfile_date_error,
2506 Fcons (build_string ("Cannot set file date"), 2504 build_string ("Cannot set file date"), newname);
2507 Fcons (newname, Qnil)));
2508 } 2505 }
2509 /* Restore original attributes. */ 2506 /* Restore original attributes. */
2510 SetFileAttributes (filename, attributes); 2507 SetFileAttributes (filename, attributes);
@@ -2600,9 +2597,8 @@ uid and gid of FILE to NEWNAME. */)
2600 EMACS_SET_SECS_USECS (mtime, st.st_mtime, 0); 2597 EMACS_SET_SECS_USECS (mtime, st.st_mtime, 0);
2601 if (set_file_times (SDATA (encoded_newname), 2598 if (set_file_times (SDATA (encoded_newname),
2602 atime, mtime)) 2599 atime, mtime))
2603 Fsignal (Qfile_date_error, 2600 xsignal2 (Qfile_date_error,
2604 Fcons (build_string ("Cannot set file date"), 2601 build_string ("Cannot set file date"), newname);
2605 Fcons (newname, Qnil)));
2606 } 2602 }
2607 } 2603 }
2608 2604
@@ -2698,9 +2694,9 @@ If file has multiple names, it continues to exist with the other names. */)
2698 GCPRO1 (filename); 2694 GCPRO1 (filename);
2699 if (!NILP (Ffile_directory_p (filename)) 2695 if (!NILP (Ffile_directory_p (filename))
2700 && NILP (Ffile_symlink_p (filename))) 2696 && NILP (Ffile_symlink_p (filename)))
2701 Fsignal (Qfile_error, 2697 xsignal2 (Qfile_error,
2702 Fcons (build_string ("Removing old name: is a directory"), 2698 build_string ("Removing old name: is a directory"),
2703 Fcons (filename, Qnil))); 2699 filename);
2704 UNGCPRO; 2700 UNGCPRO;
2705 filename = Fexpand_file_name (filename, Qnil); 2701 filename = Fexpand_file_name (filename, Qnil);
2706 2702
@@ -3850,9 +3846,8 @@ actually used. */)
3850 goto notfound; 3846 goto notfound;
3851 3847
3852 if (! NILP (replace) || ! NILP (beg) || ! NILP (end)) 3848 if (! NILP (replace) || ! NILP (beg) || ! NILP (end))
3853 Fsignal (Qfile_error, 3849 xsignal2 (Qfile_error,
3854 Fcons (build_string ("not a regular file"), 3850 build_string ("not a regular file"), orig_filename);
3855 Fcons (orig_filename, Qnil)));
3856 } 3851 }
3857#endif 3852#endif
3858 3853
@@ -4725,9 +4720,8 @@ actually used. */)
4725 } 4720 }
4726#endif /* CLASH_DETECTION */ 4721#endif /* CLASH_DETECTION */
4727 if (not_regular) 4722 if (not_regular)
4728 Fsignal (Qfile_error, 4723 xsignal2 (Qfile_error,
4729 Fcons (build_string ("not a regular file"), 4724 build_string ("not a regular file"), orig_filename);
4730 Fcons (orig_filename, Qnil)));
4731 } 4725 }
4732 4726
4733 if (set_coding_system) 4727 if (set_coding_system)
@@ -6632,19 +6626,17 @@ of file names regardless of the current language environment. */);
6632 staticpro (&Qcar_less_than_car); 6626 staticpro (&Qcar_less_than_car);
6633 6627
6634 Fput (Qfile_error, Qerror_conditions, 6628 Fput (Qfile_error, Qerror_conditions,
6635 Fcons (Qfile_error, Fcons (Qerror, Qnil))); 6629 list2 (Qfile_error, Qerror));
6636 Fput (Qfile_error, Qerror_message, 6630 Fput (Qfile_error, Qerror_message,
6637 build_string ("File error")); 6631 build_string ("File error"));
6638 6632
6639 Fput (Qfile_already_exists, Qerror_conditions, 6633 Fput (Qfile_already_exists, Qerror_conditions,
6640 Fcons (Qfile_already_exists, 6634 list3 (Qfile_already_exists, Qfile_error, Qerror));
6641 Fcons (Qfile_error, Fcons (Qerror, Qnil))));
6642 Fput (Qfile_already_exists, Qerror_message, 6635 Fput (Qfile_already_exists, Qerror_message,
6643 build_string ("File already exists")); 6636 build_string ("File already exists"));
6644 6637
6645 Fput (Qfile_date_error, Qerror_conditions, 6638 Fput (Qfile_date_error, Qerror_conditions,
6646 Fcons (Qfile_date_error, 6639 list3 (Qfile_date_error, Qfile_error, Qerror));
6647 Fcons (Qfile_error, Fcons (Qerror, Qnil))));
6648 Fput (Qfile_date_error, Qerror_message, 6640 Fput (Qfile_date_error, Qerror_message,
6649 build_string ("Cannot set file date")); 6641 build_string ("Cannot set file date"));
6650 6642
diff --git a/src/floatfns.c b/src/floatfns.c
index d5ca50f9165..dd879de7eb8 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -201,17 +201,15 @@ static char *float_error_fn_name;
201 while (0) 201 while (0)
202 202
203#define arith_error(op,arg) \ 203#define arith_error(op,arg) \
204 Fsignal (Qarith_error, Fcons (build_string ((op)), Fcons ((arg), Qnil))) 204 xsignal2 (Qarith_error, build_string ((op)), (arg))
205#define range_error(op,arg) \ 205#define range_error(op,arg) \
206 Fsignal (Qrange_error, Fcons (build_string ((op)), Fcons ((arg), Qnil))) 206 xsignal2 (Qrange_error, build_string ((op)), (arg))
207#define range_error2(op,a1,a2) \ 207#define range_error2(op,a1,a2) \
208 Fsignal (Qrange_error, Fcons (build_string ((op)), \ 208 xsignal3 (Qrange_error, build_string ((op)), (a1), (a2))
209 Fcons ((a1), Fcons ((a2), Qnil))))
210#define domain_error(op,arg) \ 209#define domain_error(op,arg) \
211 Fsignal (Qdomain_error, Fcons (build_string ((op)), Fcons ((arg), Qnil))) 210 xsignal2 (Qdomain_error, build_string ((op)), (arg))
212#define domain_error2(op,a1,a2) \ 211#define domain_error2(op,a1,a2) \
213 Fsignal (Qdomain_error, Fcons (build_string ((op)), \ 212 xsignal3 (Qdomain_error, build_string ((op)), (a1), (a2))
214 Fcons ((a1), Fcons ((a2), Qnil))))
215 213
216/* Extract a Lisp number as a `double', or signal an error. */ 214/* Extract a Lisp number as a `double', or signal an error. */
217 215
@@ -756,7 +754,7 @@ rounding_driver (arg, divisor, double_round, int_round2, name)
756 f1 = FLOATP (arg) ? XFLOAT_DATA (arg) : XINT (arg); 754 f1 = FLOATP (arg) ? XFLOAT_DATA (arg) : XINT (arg);
757 f2 = (FLOATP (divisor) ? XFLOAT_DATA (divisor) : XINT (divisor)); 755 f2 = (FLOATP (divisor) ? XFLOAT_DATA (divisor) : XINT (divisor));
758 if (! IEEE_FLOATING_POINT && f2 == 0) 756 if (! IEEE_FLOATING_POINT && f2 == 0)
759 Fsignal (Qarith_error, Qnil); 757 xsignal0 (Qarith_error);
760 758
761 IN_FLOAT2 (f1 = (*double_round) (f1 / f2), name, arg, divisor); 759 IN_FLOAT2 (f1 = (*double_round) (f1 / f2), name, arg, divisor);
762 FLOAT_TO_INT2 (f1, arg, name, arg, divisor); 760 FLOAT_TO_INT2 (f1, arg, name, arg, divisor);
@@ -767,7 +765,7 @@ rounding_driver (arg, divisor, double_round, int_round2, name)
767 i2 = XINT (divisor); 765 i2 = XINT (divisor);
768 766
769 if (i2 == 0) 767 if (i2 == 0)
770 Fsignal (Qarith_error, Qnil); 768 xsignal0 (Qarith_error);
771 769
772 XSETINT (arg, (*int_round2) (i1, i2)); 770 XSETINT (arg, (*int_round2) (i1, i2));
773 return arg; 771 return arg;
@@ -907,7 +905,7 @@ fmod_float (x, y)
907 f2 = FLOATP (y) ? XFLOAT_DATA (y) : XINT (y); 905 f2 = FLOATP (y) ? XFLOAT_DATA (y) : XINT (y);
908 906
909 if (! IEEE_FLOATING_POINT && f2 == 0) 907 if (! IEEE_FLOATING_POINT && f2 == 0)
910 Fsignal (Qarith_error, Qnil); 908 xsignal0 (Qarith_error);
911 909
912 /* If the "remainder" comes out with the wrong sign, fix it. */ 910 /* If the "remainder" comes out with the wrong sign, fix it. */
913 IN_FLOAT2 ((f1 = fmod (f1, f2), 911 IN_FLOAT2 ((f1 = fmod (f1, f2),
@@ -986,7 +984,7 @@ float_error (signo)
986 SIGNAL_THREAD_CHECK (signo); 984 SIGNAL_THREAD_CHECK (signo);
987 in_float = 0; 985 in_float = 0;
988 986
989 Fsignal (Qarith_error, Fcons (float_error_arg, Qnil)); 987 xsignal1 (Qarith_error, float_error_arg);
990} 988}
991 989
992/* Another idea was to replace the library function `infnan' 990/* Another idea was to replace the library function `infnan'
@@ -1014,11 +1012,11 @@ matherr (x)
1014 : Qnil))); 1012 : Qnil)));
1015 switch (x->type) 1013 switch (x->type)
1016 { 1014 {
1017 case DOMAIN: Fsignal (Qdomain_error, args); break; 1015 case DOMAIN: xsignal (Qdomain_error, args); break;
1018 case SING: Fsignal (Qsingularity_error, args); break; 1016 case SING: xsignal (Qsingularity_error, args); break;
1019 case OVERFLOW: Fsignal (Qoverflow_error, args); break; 1017 case OVERFLOW: xsignal (Qoverflow_error, args); break;
1020 case UNDERFLOW: Fsignal (Qunderflow_error, args); break; 1018 case UNDERFLOW: xsignal (Qunderflow_error, args); break;
1021 default: Fsignal (Qarith_error, args); break; 1019 default: xsignal (Qarith_error, args); break;
1022 } 1020 }
1023 return (1); /* don't set errno or print a message */ 1021 return (1); /* don't set errno or print a message */
1024} 1022}
diff --git a/src/fns.c b/src/fns.c
index 69e12bf25ce..0054e6fc998 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -182,7 +182,7 @@ To get the number of bytes, use `string-bytes'. */)
182 else if (NILP (sequence)) 182 else if (NILP (sequence))
183 XSETFASTINT (val, 0); 183 XSETFASTINT (val, 0);
184 else 184 else
185 val = wrong_type_argument (Qsequencep, sequence); 185 wrong_type_argument (Qsequencep, sequence);
186 186
187 return val; 187 return val;
188} 188}
@@ -3251,8 +3251,7 @@ is nil and `use-dialog-box' is non-nil. */)
3251 } 3251 }
3252 3252
3253 temporarily_switch_to_single_kboard (SELECTED_FRAME ()); 3253 temporarily_switch_to_single_kboard (SELECTED_FRAME ());
3254 obj = read_filtered_event (1, 0, 0, 0); 3254 obj = read_filtered_event (1, 0, 0, 0, Qnil);
3255
3256 cursor_in_echo_area = 0; 3255 cursor_in_echo_area = 0;
3257 /* If we need to quit, quit with cursor_in_echo_area = 0. */ 3256 /* If we need to quit, quit with cursor_in_echo_area = 0. */
3258 QUIT; 3257 QUIT;
@@ -4491,10 +4490,7 @@ hashfn_user_defined (h, key)
4491 args[1] = key; 4490 args[1] = key;
4492 hash = Ffuncall (2, args); 4491 hash = Ffuncall (2, args);
4493 if (!INTEGERP (hash)) 4492 if (!INTEGERP (hash))
4494 Fsignal (Qerror, 4493 signal_error ("Invalid hash code returned from user-supplied hash function", hash);
4495 list2 (build_string ("Invalid hash code returned from \
4496user-supplied hash function"),
4497 hash));
4498 return XUINT (hash); 4494 return XUINT (hash);
4499} 4495}
4500 4496
@@ -5250,8 +5246,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */)
5250 5246
5251 prop = Fget (test, Qhash_table_test); 5247 prop = Fget (test, Qhash_table_test);
5252 if (!CONSP (prop) || !CONSP (XCDR (prop))) 5248 if (!CONSP (prop) || !CONSP (XCDR (prop)))
5253 Fsignal (Qerror, list2 (build_string ("Invalid hash table test"), 5249 signal_error ("Invalid hash table test", test);
5254 test));
5255 user_test = XCAR (prop); 5250 user_test = XCAR (prop);
5256 user_hash = XCAR (XCDR (prop)); 5251 user_hash = XCAR (XCDR (prop));
5257 } 5252 }
@@ -5264,9 +5259,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */)
5264 if (NILP (size)) 5259 if (NILP (size))
5265 size = make_number (DEFAULT_HASH_SIZE); 5260 size = make_number (DEFAULT_HASH_SIZE);
5266 else if (!INTEGERP (size) || XINT (size) < 0) 5261 else if (!INTEGERP (size) || XINT (size) < 0)
5267 Fsignal (Qerror, 5262 signal_error ("Invalid hash table size", size);
5268 list2 (build_string ("Invalid hash table size"),
5269 size));
5270 5263
5271 /* Look for `:rehash-size SIZE'. */ 5264 /* Look for `:rehash-size SIZE'. */
5272 i = get_key_arg (QCrehash_size, nargs, args, used); 5265 i = get_key_arg (QCrehash_size, nargs, args, used);
@@ -5274,9 +5267,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */)
5274 if (!NUMBERP (rehash_size) 5267 if (!NUMBERP (rehash_size)
5275 || (INTEGERP (rehash_size) && XINT (rehash_size) <= 0) 5268 || (INTEGERP (rehash_size) && XINT (rehash_size) <= 0)
5276 || XFLOATINT (rehash_size) <= 1.0) 5269 || XFLOATINT (rehash_size) <= 1.0)
5277 Fsignal (Qerror, 5270 signal_error ("Invalid hash table rehash size", rehash_size);
5278 list2 (build_string ("Invalid hash table rehash size"),
5279 rehash_size));
5280 5271
5281 /* Look for `:rehash-threshold THRESHOLD'. */ 5272 /* Look for `:rehash-threshold THRESHOLD'. */
5282 i = get_key_arg (QCrehash_threshold, nargs, args, used); 5273 i = get_key_arg (QCrehash_threshold, nargs, args, used);
@@ -5284,9 +5275,7 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */)
5284 if (!FLOATP (rehash_threshold) 5275 if (!FLOATP (rehash_threshold)
5285 || XFLOATINT (rehash_threshold) <= 0.0 5276 || XFLOATINT (rehash_threshold) <= 0.0
5286 || XFLOATINT (rehash_threshold) > 1.0) 5277 || XFLOATINT (rehash_threshold) > 1.0)
5287 Fsignal (Qerror, 5278 signal_error ("Invalid hash table rehash threshold", rehash_threshold);
5288 list2 (build_string ("Invalid hash table rehash threshold"),
5289 rehash_threshold));
5290 5279
5291 /* Look for `:weakness WEAK'. */ 5280 /* Look for `:weakness WEAK'. */
5292 i = get_key_arg (QCweakness, nargs, args, used); 5281 i = get_key_arg (QCweakness, nargs, args, used);
@@ -5298,14 +5287,12 @@ usage: (make-hash-table &rest KEYWORD-ARGS) */)
5298 && !EQ (weak, Qvalue) 5287 && !EQ (weak, Qvalue)
5299 && !EQ (weak, Qkey_or_value) 5288 && !EQ (weak, Qkey_or_value)
5300 && !EQ (weak, Qkey_and_value)) 5289 && !EQ (weak, Qkey_and_value))
5301 Fsignal (Qerror, list2 (build_string ("Invalid hash table weakness"), 5290 signal_error ("Invalid hash table weakness", weak);
5302 weak));
5303 5291
5304 /* Now, all args should have been used up, or there's a problem. */ 5292 /* Now, all args should have been used up, or there's a problem. */
5305 for (i = 0; i < nargs; ++i) 5293 for (i = 0; i < nargs; ++i)
5306 if (!used[i]) 5294 if (!used[i])
5307 Fsignal (Qerror, 5295 signal_error ("Invalid argument list", args[i]);
5308 list2 (build_string ("Invalid argument list"), args[i]));
5309 5296
5310 return make_hash_table (test, size, rehash_size, rehash_threshold, weak, 5297 return make_hash_table (test, size, rehash_size, rehash_threshold, weak,
5311 user_test, user_hash); 5298 user_test, user_hash);
@@ -5556,8 +5543,7 @@ guesswork fails. Normally, an error is signaled in such case. */)
5556 if (!NILP (noerror)) 5543 if (!NILP (noerror))
5557 coding_system = Qraw_text; 5544 coding_system = Qraw_text;
5558 else 5545 else
5559 while (1) 5546 xsignal1 (Qcoding_system_error, coding_system);
5560 Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil));
5561 } 5547 }
5562 5548
5563 if (STRING_MULTIBYTE (object)) 5549 if (STRING_MULTIBYTE (object))
@@ -5691,8 +5677,7 @@ guesswork fails. Normally, an error is signaled in such case. */)
5691 if (!NILP (noerror)) 5677 if (!NILP (noerror))
5692 coding_system = Qraw_text; 5678 coding_system = Qraw_text;
5693 else 5679 else
5694 while (1) 5680 xsignal1 (Qcoding_system_error, coding_system);
5695 Fsignal (Qcoding_system_error, Fcons (coding_system, Qnil));
5696 } 5681 }
5697 } 5682 }
5698 5683
diff --git a/src/frame.c b/src/frame.c
index 3fad2187ba4..fd10c3e273c 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -3337,8 +3337,7 @@ x_set_line_spacing (f, new_value, old_value)
3337 else if (NATNUMP (new_value)) 3337 else if (NATNUMP (new_value))
3338 f->extra_line_spacing = XFASTINT (new_value); 3338 f->extra_line_spacing = XFASTINT (new_value);
3339 else 3339 else
3340 Fsignal (Qerror, Fcons (build_string ("Invalid line-spacing"), 3340 signal_error ("Invalid line-spacing", new_value);
3341 Fcons (new_value, Qnil)));
3342 if (FRAME_VISIBLE_P (f)) 3341 if (FRAME_VISIBLE_P (f))
3343 redraw_frame (f); 3342 redraw_frame (f);
3344} 3343}
@@ -3358,8 +3357,7 @@ x_set_screen_gamma (f, new_value, old_value)
3358 /* The value 0.4545 is the normal viewing gamma. */ 3357 /* The value 0.4545 is the normal viewing gamma. */
3359 f->gamma = 1.0 / (0.4545 * XFLOATINT (new_value)); 3358 f->gamma = 1.0 / (0.4545 * XFLOATINT (new_value));
3360 else 3359 else
3361 Fsignal (Qerror, Fcons (build_string ("Invalid screen-gamma"), 3360 signal_error ("Invalid screen-gamma", new_value);
3362 Fcons (new_value, Qnil)));
3363 3361
3364 clear_face_cache (0); 3362 clear_face_cache (0);
3365} 3363}
diff --git a/src/keyboard.c b/src/keyboard.c
index 025c8a3f85c..08b352c3c3a 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -238,6 +238,9 @@ static int inhibit_local_menu_bar_menus;
238/* Nonzero means C-g should cause immediate error-signal. */ 238/* Nonzero means C-g should cause immediate error-signal. */
239int immediate_quit; 239int immediate_quit;
240 240
241/* The user's hook function for outputting an error message. */
242Lisp_Object Vcommand_error_function;
243
241/* The user's ERASE setting. */ 244/* The user's ERASE setting. */
242Lisp_Object Vtty_erase_char; 245Lisp_Object Vtty_erase_char;
243 246
@@ -682,8 +685,6 @@ static void timer_start_idle P_ ((void));
682static void timer_stop_idle P_ ((void)); 685static void timer_stop_idle P_ ((void));
683static void timer_resume_idle P_ ((void)); 686static void timer_resume_idle P_ ((void));
684 687
685Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *));
686
687/* Nonzero means don't try to suspend even if the operating system seems 688/* Nonzero means don't try to suspend even if the operating system seems
688 to support it. */ 689 to support it. */
689static int cannot_suspend; 690static int cannot_suspend;
@@ -990,7 +991,7 @@ recursive_edit_1 ()
990 /* Handle throw from read_minibuf when using minibuffer 991 /* Handle throw from read_minibuf when using minibuffer
991 while it's active but we're in another window. */ 992 while it's active but we're in another window. */
992 if (STRINGP (val)) 993 if (STRINGP (val))
993 Fsignal (Qerror, Fcons (val, Qnil)); 994 xsignal1 (Qerror, val);
994 995
995 return unbind_to (count, Qnil); 996 return unbind_to (count, Qnil);
996} 997}
@@ -1185,11 +1186,12 @@ temporarily_switch_to_single_kboard (f)
1185 { 1186 {
1186 if (f != NULL && FRAME_KBOARD (f) != current_kboard) 1187 if (f != NULL && FRAME_KBOARD (f) != current_kboard)
1187 /* We can not switch keyboards while in single_kboard mode. 1188 /* We can not switch keyboards while in single_kboard mode.
1188 This can legally happen when Lisp code calls 1189 In rare cases, Lisp code may call `recursive-edit' (or
1189 `recursive-edit' (or `read-minibuffer' or `y-or-n-p') after 1190 `read-minibuffer' or `y-or-n-p') after it switched to a
1190 it switched to a locked frame. This kind of situation is 1191 locked frame. For example, this is likely to happen
1191 likely to happen when server.el connects to a new 1192 when server.el connects to a new terminal while Emacs is in
1192 terminal. */ 1193 single_kboard mode. It is best to throw an error instead
1194 of presenting the user with a frozen screen. */
1193 error ("Terminal %d is locked, cannot read from it", 1195 error ("Terminal %d is locked, cannot read from it",
1194 FRAME_TERMINAL (f)->id); 1196 FRAME_TERMINAL (f)->id);
1195 else 1197 else
@@ -1304,48 +1306,43 @@ cmd_error_internal (data, context)
1304 Lisp_Object data; 1306 Lisp_Object data;
1305 char *context; 1307 char *context;
1306{ 1308{
1307 Lisp_Object stream;
1308 int kill_emacs_p = 0;
1309 struct frame *sf = SELECTED_FRAME (); 1309 struct frame *sf = SELECTED_FRAME ();
1310 1310
1311 /* The immediate context is not interesting for Quits,
1312 since they are asyncronous. */
1313 if (EQ (XCAR (data), Qquit))
1314 Vsignaling_function = Qnil;
1315
1311 Vquit_flag = Qnil; 1316 Vquit_flag = Qnil;
1312 Vinhibit_quit = Qt; 1317 Vinhibit_quit = Qt;
1313 clear_message (1, 0);
1314 1318
1319 /* Use user's specified output function if any. */
1320 if (!NILP (Vcommand_error_function))
1321 call3 (Vcommand_error_function, data,
1322 build_string (context ? context : ""),
1323 Vsignaling_function);
1315 /* If the window system or terminal frame hasn't been initialized 1324 /* If the window system or terminal frame hasn't been initialized
1316 yet, or we're not interactive, it's best to dump this message out 1325 yet, or we're not interactive, write the message to stderr and exit. */
1317 to stderr and exit. */ 1326 else if (!sf->glyphs_initialized_p
1318 if (!sf->glyphs_initialized_p 1327 || FRAME_INITIAL_P (sf)
1319 || FRAME_INITIAL_P (sf) 1328 || noninteractive)
1320 || noninteractive) 1329 {
1321 { 1330 print_error_message (data, Qexternal_debugging_output,
1322 stream = Qexternal_debugging_output; 1331 context, Vsignaling_function);
1323 kill_emacs_p = 1; 1332 Fterpri (Qexternal_debugging_output);
1333 Fkill_emacs (make_number (-1));
1324 } 1334 }
1325 else 1335 else
1326 { 1336 {
1337 clear_message (1, 0);
1327 Fdiscard_input (); 1338 Fdiscard_input ();
1328 message_log_maybe_newline (); 1339 message_log_maybe_newline ();
1329 bitch_at_user (); 1340 bitch_at_user ();
1330 stream = Qt;
1331 }
1332
1333 /* The immediate context is not interesting for Quits,
1334 since they are asyncronous. */
1335 if (EQ (XCAR (data), Qquit))
1336 Vsignaling_function = Qnil;
1337 1341
1338 print_error_message (data, stream, context, Vsignaling_function); 1342 print_error_message (data, Qt, context, Vsignaling_function);
1343 }
1339 1344
1340 Vsignaling_function = Qnil; 1345 Vsignaling_function = Qnil;
1341
1342 /* If the window system or terminal frame hasn't been initialized
1343 yet, or we're in -batch mode, this error should cause Emacs to exit. */
1344 if (kill_emacs_p)
1345 {
1346 Fterpri (stream);
1347 Fkill_emacs (make_number (-1));
1348 }
1349} 1346}
1350 1347
1351Lisp_Object command_loop_1 (); 1348Lisp_Object command_loop_1 ();
@@ -2470,15 +2467,20 @@ do { if (polling_stopped_here) start_polling (); \
2470 Value is -2 when we find input on another keyboard. A second call 2467 Value is -2 when we find input on another keyboard. A second call
2471 to read_char will read it. 2468 to read_char will read it.
2472 2469
2470 If END_TIME is non-null, it is a pointer to an EMACS_TIME
2471 specifying the maximum time to wait until. If no input arrives by
2472 that time, stop waiting and return nil.
2473
2473 Value is t if we showed a menu and the user rejected it. */ 2474 Value is t if we showed a menu and the user rejected it. */
2474 2475
2475Lisp_Object 2476Lisp_Object
2476read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) 2477read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time)
2477 int commandflag; 2478 int commandflag;
2478 int nmaps; 2479 int nmaps;
2479 Lisp_Object *maps; 2480 Lisp_Object *maps;
2480 Lisp_Object prev_event; 2481 Lisp_Object prev_event;
2481 int *used_mouse_menu; 2482 int *used_mouse_menu;
2483 EMACS_TIME *end_time;
2482{ 2484{
2483 volatile Lisp_Object c; 2485 volatile Lisp_Object c;
2484 int count; 2486 int count;
@@ -2764,6 +2766,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2764 start echoing if enough time elapses. */ 2766 start echoing if enough time elapses. */
2765 2767
2766 if (minibuf_level == 0 2768 if (minibuf_level == 0
2769 && !end_time
2767 && !current_kboard->immediate_echo 2770 && !current_kboard->immediate_echo
2768 && this_command_key_count > 0 2771 && this_command_key_count > 0
2769 && ! noninteractive 2772 && ! noninteractive
@@ -2959,11 +2962,19 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2959 { 2962 {
2960 KBOARD *kb; 2963 KBOARD *kb;
2961 2964
2965 if (end_time)
2966 {
2967 EMACS_TIME now;
2968 EMACS_GET_TIME (now);
2969 if (EMACS_TIME_GE (now, *end_time))
2970 goto exit;
2971 }
2972
2962 /* Actually read a character, waiting if necessary. */ 2973 /* Actually read a character, waiting if necessary. */
2963 save_getcjmp (save_jump); 2974 save_getcjmp (save_jump);
2964 restore_getcjmp (local_getcjmp); 2975 restore_getcjmp (local_getcjmp);
2965 timer_start_idle (); 2976 timer_start_idle ();
2966 c = kbd_buffer_get_event (&kb, used_mouse_menu); 2977 c = kbd_buffer_get_event (&kb, used_mouse_menu, end_time);
2967 restore_getcjmp (save_jump); 2978 restore_getcjmp (save_jump);
2968 2979
2969#ifdef MULTI_KBOARD 2980#ifdef MULTI_KBOARD
@@ -3307,7 +3318,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
3307 3318
3308 cancel_echoing (); 3319 cancel_echoing ();
3309 do 3320 do
3310 c = read_char (0, 0, 0, Qnil, 0); 3321 c = read_char (0, 0, 0, Qnil, 0, NULL);
3311 while (BUFFERP (c)); 3322 while (BUFFERP (c));
3312 /* Remove the help from the frame */ 3323 /* Remove the help from the frame */
3313 unbind_to (count, Qnil); 3324 unbind_to (count, Qnil);
@@ -3317,7 +3328,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
3317 { 3328 {
3318 cancel_echoing (); 3329 cancel_echoing ();
3319 do 3330 do
3320 c = read_char (0, 0, 0, Qnil, 0); 3331 c = read_char (0, 0, 0, Qnil, 0, NULL);
3321 while (BUFFERP (c)); 3332 while (BUFFERP (c));
3322 } 3333 }
3323 } 3334 }
@@ -3994,9 +4005,10 @@ clear_event (event)
3994 We always read and discard one event. */ 4005 We always read and discard one event. */
3995 4006
3996static Lisp_Object 4007static Lisp_Object
3997kbd_buffer_get_event (kbp, used_mouse_menu) 4008kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
3998 KBOARD **kbp; 4009 KBOARD **kbp;
3999 int *used_mouse_menu; 4010 int *used_mouse_menu;
4011 EMACS_TIME *end_time;
4000{ 4012{
4001 register int c; 4013 register int c;
4002 Lisp_Object obj; 4014 Lisp_Object obj;
@@ -4040,13 +4052,24 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
4040 if (!NILP (do_mouse_tracking) && some_mouse_moved ()) 4052 if (!NILP (do_mouse_tracking) && some_mouse_moved ())
4041 break; 4053 break;
4042#endif 4054#endif
4043 { 4055 if (end_time)
4056 {
4057 EMACS_TIME duration;
4058 EMACS_GET_TIME (duration);
4059 EMACS_SUB_TIME (duration, *end_time, duration);
4060 if (EMACS_TIME_NEG_P (duration))
4061 return Qnil;
4062 else
4063 wait_reading_process_output (EMACS_SECS (duration),
4064 EMACS_USECS (duration),
4065 -1, 1, Qnil, NULL, 0);
4066 }
4067 else
4044 wait_reading_process_output (0, 0, -1, 1, Qnil, NULL, 0); 4068 wait_reading_process_output (0, 0, -1, 1, Qnil, NULL, 0);
4045 4069
4046 if (!interrupt_input && kbd_fetch_ptr == kbd_store_ptr) 4070 if (!interrupt_input && kbd_fetch_ptr == kbd_store_ptr)
4047 /* Pass 1 for EXPECT since we just waited to have input. */ 4071 /* Pass 1 for EXPECT since we just waited to have input. */
4048 read_avail_input (1); 4072 read_avail_input (1);
4049 }
4050#endif /* not VMS */ 4073#endif /* not VMS */
4051 } 4074 }
4052 4075
@@ -8469,7 +8492,7 @@ read_char_minibuf_menu_prompt (commandflag, nmaps, maps)
8469 orig_defn_macro = current_kboard->defining_kbd_macro; 8492 orig_defn_macro = current_kboard->defining_kbd_macro;
8470 current_kboard->defining_kbd_macro = Qnil; 8493 current_kboard->defining_kbd_macro = Qnil;
8471 do 8494 do
8472 obj = read_char (commandflag, 0, 0, Qt, 0); 8495 obj = read_char (commandflag, 0, 0, Qt, 0, NULL);
8473 while (BUFFERP (obj)); 8496 while (BUFFERP (obj));
8474 current_kboard->defining_kbd_macro = orig_defn_macro; 8497 current_kboard->defining_kbd_macro = orig_defn_macro;
8475 8498
@@ -8839,7 +8862,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
8839 /* Read the first char of the sequence specially, before setting 8862 /* Read the first char of the sequence specially, before setting
8840 up any keymaps, in case a filter runs and switches buffers on us. */ 8863 up any keymaps, in case a filter runs and switches buffers on us. */
8841 first_event = read_char (NILP (prompt), 0, submaps, last_nonmenu_event, 8864 first_event = read_char (NILP (prompt), 0, submaps, last_nonmenu_event,
8842 &junk); 8865 &junk, NULL);
8843#endif /* GOBBLE_FIRST_EVENT */ 8866#endif /* GOBBLE_FIRST_EVENT */
8844 8867
8845 orig_local_map = get_local_map (PT, current_buffer, Qlocal_map); 8868 orig_local_map = get_local_map (PT, current_buffer, Qlocal_map);
@@ -9018,7 +9041,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
9018#endif 9041#endif
9019 key = read_char (NILP (prompt), nmaps, 9042 key = read_char (NILP (prompt), nmaps,
9020 (Lisp_Object *) submaps, last_nonmenu_event, 9043 (Lisp_Object *) submaps, last_nonmenu_event,
9021 &used_mouse_menu); 9044 &used_mouse_menu, NULL);
9022#ifdef MULTI_KBOARD 9045#ifdef MULTI_KBOARD
9023 if (INTEGERP (key) && XINT (key) == -2) /* wrong_kboard_jmpbuf */ 9046 if (INTEGERP (key) && XINT (key) == -2) /* wrong_kboard_jmpbuf */
9024 { 9047 {
@@ -11948,6 +11971,15 @@ The value of that variable is passed to `quit-flag' and later causes a
11948peculiar kind of quitting. */); 11971peculiar kind of quitting. */);
11949 Vthrow_on_input = Qnil; 11972 Vthrow_on_input = Qnil;
11950 11973
11974 DEFVAR_LISP ("command-error-function", &Vcommand_error_function,
11975 doc: /* If non-nil, function to output error messages.
11976The arguments are the error data, a list of the form
11977 (SIGNALED-CONDITIONS . SIGNAL-DATA)
11978such as just as `condition-case' would bind its variable to,
11979the context (a string which normally goes at the start of the message),
11980and the Lisp function within which the error was signaled. */);
11981 Vcommand_error_function = Qnil;
11982
11951 DEFVAR_LISP ("enable-disabled-menus-and-buttons", 11983 DEFVAR_LISP ("enable-disabled-menus-and-buttons",
11952 &Venable_disabled_menus_and_buttons, 11984 &Venable_disabled_menus_and_buttons,
11953 doc: /* If non-nil, don't ignore events produced by disabled menu items and tool-bar. 11985 doc: /* If non-nil, don't ignore events produced by disabled menu items and tool-bar.
diff --git a/src/keyboard.h b/src/keyboard.h
index a3fa54b1042..8f1c5dd31a9 100644
--- a/src/keyboard.h
+++ b/src/keyboard.h
@@ -19,6 +19,8 @@ along with GNU Emacs; see the file COPYING. If not, write to
19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA. */ 20Boston, MA 02110-1301, USA. */
21 21
22#include "systime.h" /* for EMACS_TIME */
23
22/* Length of echobuf field in each KBOARD. */ 24/* Length of echobuf field in each KBOARD. */
23 25
24/* Each KBOARD represents one logical input stream from which Emacs 26/* Each KBOARD represents one logical input stream from which Emacs
@@ -305,6 +307,9 @@ struct input_event;
305 307
306extern Lisp_Object parse_modifiers P_ ((Lisp_Object)); 308extern Lisp_Object parse_modifiers P_ ((Lisp_Object));
307extern Lisp_Object reorder_modifiers P_ ((Lisp_Object)); 309extern Lisp_Object reorder_modifiers P_ ((Lisp_Object));
310extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object,
311 int *, EMACS_TIME *));
312
308 313
309/* Parent keymap of terminal-local function-key-map instances. */ 314/* Parent keymap of terminal-local function-key-map instances. */
310extern Lisp_Object Vfunction_key_map; 315extern Lisp_Object Vfunction_key_map;
diff --git a/src/keymap.c b/src/keymap.c
index 0197319957c..9e1f01e7a79 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -751,7 +751,7 @@ usage: (map-keymap FUNCTION KEYMAP) */)
751 if (INTEGERP (function)) 751 if (INTEGERP (function))
752 /* We have to stop integers early since map_keymap gives them special 752 /* We have to stop integers early since map_keymap gives them special
753 significance. */ 753 significance. */
754 Fsignal (Qinvalid_function, Fcons (function, Qnil)); 754 xsignal1 (Qinvalid_function, function);
755 if (! NILP (sort_first)) 755 if (! NILP (sort_first))
756 return call3 (intern ("map-keymap-internal"), function, keymap, Qt); 756 return call3 (intern ("map-keymap-internal"), function, keymap, Qt);
757 757
@@ -1142,6 +1142,20 @@ binding KEY to DEF is added at the front of KEYMAP. */)
1142 1142
1143 meta_bit = VECTORP (key) ? meta_modifier : 0x80; 1143 meta_bit = VECTORP (key) ? meta_modifier : 0x80;
1144 1144
1145 if (VECTORP (def) && ASIZE (def) > 0 && CONSP (AREF (def, make_number (0))))
1146 { /* DEF is apparently an XEmacs-style keyboard macro. */
1147 Lisp_Object tmp = Fmake_vector (make_number (ASIZE (def)), Qnil);
1148 int i = ASIZE (def);
1149 while (--i >= 0)
1150 {
1151 Lisp_Object c = AREF (def, i);
1152 if (CONSP (c) && lucid_event_type_list_p (c))
1153 c = Fevent_convert_list (c);
1154 ASET (tmp, i, c);
1155 }
1156 def = tmp;
1157 }
1158
1145 idx = 0; 1159 idx = 0;
1146 while (1) 1160 while (1)
1147 { 1161 {
diff --git a/src/lisp.h b/src/lisp.h
index 7b70b0a9d17..4bdb0e67947 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2174,7 +2174,7 @@ extern Lisp_Object Qnumberp, Qnumber_or_marker_p;
2174 2174
2175extern Lisp_Object Qinteger; 2175extern Lisp_Object Qinteger;
2176 2176
2177extern void circular_list_error P_ ((Lisp_Object)); 2177extern void circular_list_error P_ ((Lisp_Object)) NO_RETURN;
2178EXFUN (Finteractive_form, 1); 2178EXFUN (Finteractive_form, 1);
2179 2179
2180/* Defined in frame.c */ 2180/* Defined in frame.c */
@@ -2549,13 +2549,14 @@ extern void allocate_string_data P_ ((struct Lisp_String *, int, int));
2549extern void reset_malloc_hooks P_ ((void)); 2549extern void reset_malloc_hooks P_ ((void));
2550extern void uninterrupt_malloc P_ ((void)); 2550extern void uninterrupt_malloc P_ ((void));
2551extern void malloc_warning P_ ((char *)); 2551extern void malloc_warning P_ ((char *));
2552extern void memory_full P_ ((void)); 2552extern void memory_full P_ ((void)) NO_RETURN;
2553extern void buffer_memory_full P_ ((void)); 2553extern void buffer_memory_full P_ ((void)) NO_RETURN;
2554extern int survives_gc_p P_ ((Lisp_Object)); 2554extern int survives_gc_p P_ ((Lisp_Object));
2555extern void mark_object P_ ((Lisp_Object)); 2555extern void mark_object P_ ((Lisp_Object));
2556extern Lisp_Object Vpurify_flag; 2556extern Lisp_Object Vpurify_flag;
2557extern Lisp_Object Vmemory_full; 2557extern Lisp_Object Vmemory_full;
2558EXFUN (Fcons, 2); 2558EXFUN (Fcons, 2);
2559EXFUN (list1, 1);
2559EXFUN (list2, 2); 2560EXFUN (list2, 2);
2560EXFUN (list3, 3); 2561EXFUN (list3, 3);
2561EXFUN (list4, 4); 2562EXFUN (list4, 4);
@@ -2644,9 +2645,9 @@ EXFUN (Fintern_soft, 2);
2644EXFUN (Fload, 5); 2645EXFUN (Fload, 5);
2645EXFUN (Fget_load_suffixes, 0); 2646EXFUN (Fget_load_suffixes, 0);
2646EXFUN (Fget_file_char, 0); 2647EXFUN (Fget_file_char, 0);
2647EXFUN (Fread_char, 2); 2648EXFUN (Fread_char, 3);
2648EXFUN (Fread_event, 2); 2649EXFUN (Fread_event, 3);
2649extern Lisp_Object read_filtered_event P_ ((int, int, int, int)); 2650extern Lisp_Object read_filtered_event P_ ((int, int, int, int, Lisp_Object));
2650EXFUN (Feval_region, 4); 2651EXFUN (Feval_region, 4);
2651extern Lisp_Object intern P_ ((const char *)); 2652extern Lisp_Object intern P_ ((const char *));
2652extern Lisp_Object make_symbol P_ ((char *)); 2653extern Lisp_Object make_symbol P_ ((char *));
@@ -2708,6 +2709,12 @@ EXFUN (Fthrow, 2) NO_RETURN;
2708EXFUN (Funwind_protect, UNEVALLED); 2709EXFUN (Funwind_protect, UNEVALLED);
2709EXFUN (Fcondition_case, UNEVALLED); 2710EXFUN (Fcondition_case, UNEVALLED);
2710EXFUN (Fsignal, 2); 2711EXFUN (Fsignal, 2);
2712extern void xsignal P_ ((Lisp_Object, Lisp_Object)) NO_RETURN;
2713extern void xsignal0 P_ ((Lisp_Object)) NO_RETURN;
2714extern void xsignal1 P_ ((Lisp_Object, Lisp_Object)) NO_RETURN;
2715extern void xsignal2 P_ ((Lisp_Object, Lisp_Object, Lisp_Object)) NO_RETURN;
2716extern void xsignal3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)) NO_RETURN;
2717extern void signal_error P_ ((char *, Lisp_Object)) NO_RETURN;
2711EXFUN (Fautoload, 5); 2718EXFUN (Fautoload, 5);
2712EXFUN (Fcommandp, 2); 2719EXFUN (Fcommandp, 2);
2713EXFUN (Feval, 1); 2720EXFUN (Feval, 1);
diff --git a/src/lread.c b/src/lread.c
index 91825bce152..ef76e72f75f 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -216,6 +216,9 @@ static void readevalloop P_ ((Lisp_Object, FILE*, Lisp_Object,
216static Lisp_Object load_unwind P_ ((Lisp_Object)); 216static Lisp_Object load_unwind P_ ((Lisp_Object));
217static Lisp_Object load_descriptor_unwind P_ ((Lisp_Object)); 217static Lisp_Object load_descriptor_unwind P_ ((Lisp_Object));
218 218
219static void invalid_syntax P_ ((const char *, int)) NO_RETURN;
220static void end_of_file_error P_ (()) NO_RETURN;
221
219 222
220/* Handle unreading and rereading of characters. 223/* Handle unreading and rereading of characters.
221 Write READCHAR to read a character, 224 Write READCHAR to read a character,
@@ -436,8 +439,6 @@ static void substitute_in_interval P_ ((INTERVAL, Lisp_Object));
436 439
437/* Get a character from the tty. */ 440/* Get a character from the tty. */
438 441
439extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *));
440
441/* Read input events until we get one that's acceptable for our purposes. 442/* Read input events until we get one that's acceptable for our purposes.
442 443
443 If NO_SWITCH_FRAME is non-zero, switch-frame events are stashed 444 If NO_SWITCH_FRAME is non-zero, switch-frame events are stashed
@@ -454,14 +455,19 @@ extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *));
454 character. 455 character.
455 456
456 If INPUT_METHOD is nonzero, we invoke the current input method 457 If INPUT_METHOD is nonzero, we invoke the current input method
457 if the character warrants that. */ 458 if the character warrants that.
459
460 If SECONDS is a number, we wait that many seconds for input, and
461 return Qnil if no input arrives within that time. */
458 462
459Lisp_Object 463Lisp_Object
460read_filtered_event (no_switch_frame, ascii_required, error_nonascii, 464read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
461 input_method) 465 input_method, seconds)
462 int no_switch_frame, ascii_required, error_nonascii, input_method; 466 int no_switch_frame, ascii_required, error_nonascii, input_method;
467 Lisp_Object seconds;
463{ 468{
464 Lisp_Object val, delayed_switch_frame; 469 Lisp_Object val, delayed_switch_frame;
470 EMACS_TIME end_time;
465 471
466#ifdef HAVE_WINDOW_SYSTEM 472#ifdef HAVE_WINDOW_SYSTEM
467 if (display_hourglass_p) 473 if (display_hourglass_p)
@@ -470,10 +476,25 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
470 476
471 delayed_switch_frame = Qnil; 477 delayed_switch_frame = Qnil;
472 478
473 /* Read until we get an acceptable event. */ 479 /* Compute timeout. */
480 if (NUMBERP (seconds))
481 {
482 EMACS_TIME wait_time;
483 int sec, usec;
484 double duration = extract_float (seconds);
485
486 sec = (int) duration;
487 usec = (duration - sec) * 1000000;
488 EMACS_GET_TIME (end_time);
489 EMACS_SET_SECS_USECS (wait_time, sec, usec);
490 EMACS_ADD_TIME (end_time, end_time, wait_time);
491 }
492
493/* Read until we get an acceptable event. */
474 retry: 494 retry:
475 do 495 do
476 val = read_char (0, 0, 0, (input_method ? Qnil : Qt), 0); 496 val = read_char (0, 0, 0, (input_method ? Qnil : Qt), 0,
497 NUMBERP (seconds) ? &end_time : NULL);
477 while (INTEGERP (val) && XINT (val) == -2); /* wrong_kboard_jmpbuf */ 498 while (INTEGERP (val) && XINT (val) == -2); /* wrong_kboard_jmpbuf */
478 499
479 if (BUFFERP (val)) 500 if (BUFFERP (val))
@@ -492,7 +513,7 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
492 goto retry; 513 goto retry;
493 } 514 }
494 515
495 if (ascii_required) 516 if (ascii_required && !(NUMBERP (seconds) && NILP (val)))
496 { 517 {
497 /* Convert certain symbols to their ASCII equivalents. */ 518 /* Convert certain symbols to their ASCII equivalents. */
498 if (SYMBOLP (val)) 519 if (SYMBOLP (val))
@@ -537,7 +558,7 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
537 return val; 558 return val;
538} 559}
539 560
540DEFUN ("read-char", Fread_char, Sread_char, 0, 2, 0, 561DEFUN ("read-char", Fread_char, Sread_char, 0, 3, 0,
541 doc: /* Read a character from the command input (keyboard or macro). 562 doc: /* Read a character from the command input (keyboard or macro).
542It is returned as a number. 563It is returned as a number.
543If the user generates an event which is not a character (i.e. a mouse 564If the user generates an event which is not a character (i.e. a mouse
@@ -550,43 +571,55 @@ If you want to read non-character events, or ignore them, call
550If the optional argument PROMPT is non-nil, display that as a prompt. 571If the optional argument PROMPT is non-nil, display that as a prompt.
551If the optional argument INHERIT-INPUT-METHOD is non-nil and some 572If the optional argument INHERIT-INPUT-METHOD is non-nil and some
552input method is turned on in the current buffer, that input method 573input method is turned on in the current buffer, that input method
553is used for reading a character. */) 574is used for reading a character.
554 (prompt, inherit_input_method) 575If the optional argument SECONDS is non-nil, it should be a number
555 Lisp_Object prompt, inherit_input_method; 576specifying the maximum number of seconds to wait for input. If no
577input arrives in that time, return nil. SECONDS may be a
578floating-point value. */)
579 (prompt, inherit_input_method, seconds)
580 Lisp_Object prompt, inherit_input_method, seconds;
556{ 581{
557 if (! NILP (prompt)) 582 if (! NILP (prompt))
558 message_with_string ("%s", prompt, 0); 583 message_with_string ("%s", prompt, 0);
559 return read_filtered_event (1, 1, 1, ! NILP (inherit_input_method)); 584 return read_filtered_event (1, 1, 1, ! NILP (inherit_input_method), seconds);
560} 585}
561 586
562DEFUN ("read-event", Fread_event, Sread_event, 0, 2, 0, 587DEFUN ("read-event", Fread_event, Sread_event, 0, 3, 0,
563 doc: /* Read an event object from the input stream. 588 doc: /* Read an event object from the input stream.
564If the optional argument PROMPT is non-nil, display that as a prompt. 589If the optional argument PROMPT is non-nil, display that as a prompt.
565If the optional argument INHERIT-INPUT-METHOD is non-nil and some 590If the optional argument INHERIT-INPUT-METHOD is non-nil and some
566input method is turned on in the current buffer, that input method 591input method is turned on in the current buffer, that input method
567is used for reading a character. */) 592is used for reading a character.
568 (prompt, inherit_input_method) 593If the optional argument SECONDS is non-nil, it should be a number
569 Lisp_Object prompt, inherit_input_method; 594specifying the maximum number of seconds to wait for input. If no
595input arrives in that time, return nil. SECONDS may be a
596floating-point value. */)
597 (prompt, inherit_input_method, seconds)
598 Lisp_Object prompt, inherit_input_method, seconds;
570{ 599{
571 if (! NILP (prompt)) 600 if (! NILP (prompt))
572 message_with_string ("%s", prompt, 0); 601 message_with_string ("%s", prompt, 0);
573 return read_filtered_event (0, 0, 0, ! NILP (inherit_input_method)); 602 return read_filtered_event (0, 0, 0, ! NILP (inherit_input_method), seconds);
574} 603}
575 604
576DEFUN ("read-char-exclusive", Fread_char_exclusive, Sread_char_exclusive, 0, 2, 0, 605DEFUN ("read-char-exclusive", Fread_char_exclusive, Sread_char_exclusive, 0, 3, 0,
577 doc: /* Read a character from the command input (keyboard or macro). 606 doc: /* Read a character from the command input (keyboard or macro).
578It is returned as a number. Non-character events are ignored. 607It is returned as a number. Non-character events are ignored.
579 608
580If the optional argument PROMPT is non-nil, display that as a prompt. 609If the optional argument PROMPT is non-nil, display that as a prompt.
581If the optional argument INHERIT-INPUT-METHOD is non-nil and some 610If the optional argument INHERIT-INPUT-METHOD is non-nil and some
582input method is turned on in the current buffer, that input method 611input method is turned on in the current buffer, that input method
583is used for reading a character. */) 612is used for reading a character.
584 (prompt, inherit_input_method) 613If the optional argument SECONDS is non-nil, it should be a number
585 Lisp_Object prompt, inherit_input_method; 614specifying the maximum number of seconds to wait for input. If no
615input arrives in that time, return nil. SECONDS may be a
616floating-point value. */)
617 (prompt, inherit_input_method, seconds)
618 Lisp_Object prompt, inherit_input_method, seconds;
586{ 619{
587 if (! NILP (prompt)) 620 if (! NILP (prompt))
588 message_with_string ("%s", prompt, 0); 621 message_with_string ("%s", prompt, 0);
589 return read_filtered_event (1, 1, 0, ! NILP (inherit_input_method)); 622 return read_filtered_event (1, 1, 0, ! NILP (inherit_input_method), seconds);
590} 623}
591 624
592DEFUN ("get-file-char", Fget_file_char, Sget_file_char, 0, 0, 0, 625DEFUN ("get-file-char", Fget_file_char, Sget_file_char, 0, 0, 0,
@@ -799,10 +832,8 @@ Return t if the file exists and loads successfully. */)
799 if (fd == -1) 832 if (fd == -1)
800 { 833 {
801 if (NILP (noerror)) 834 if (NILP (noerror))
802 Fsignal (Qfile_error, Fcons (build_string ("Cannot open load file"), 835 xsignal2 (Qfile_error, build_string ("Cannot open load file"), file);
803 Fcons (file, Qnil))); 836 return Qnil;
804 else
805 return Qnil;
806 } 837 }
807 838
808 /* Tell startup.el whether or not we found the user's init file. */ 839 /* Tell startup.el whether or not we found the user's init file. */
@@ -843,8 +874,7 @@ Return t if the file exists and loads successfully. */)
843 { 874 {
844 if (fd >= 0) 875 if (fd >= 0)
845 emacs_close (fd); 876 emacs_close (fd);
846 Fsignal (Qerror, Fcons (build_string ("Recursive load"), 877 signal_error ("Recursive load", Fcons (found, Vloads_in_progress));
847 Fcons (found, Vloads_in_progress)));
848 } 878 }
849 record_unwind_protect (record_load_unwind, Vloads_in_progress); 879 record_unwind_protect (record_load_unwind, Vloads_in_progress);
850 Vloads_in_progress = Fcons (found, Vloads_in_progress); 880 Vloads_in_progress = Fcons (found, Vloads_in_progress);
@@ -1341,11 +1371,9 @@ end_of_file_error ()
1341 Lisp_Object data; 1371 Lisp_Object data;
1342 1372
1343 if (STRINGP (Vload_file_name)) 1373 if (STRINGP (Vload_file_name))
1344 data = Fcons (Vload_file_name, Qnil); 1374 xsignal1 (Qend_of_file, Vload_file_name);
1345 else
1346 data = Qnil;
1347 1375
1348 Fsignal (Qend_of_file, data); 1376 xsignal0 (Qend_of_file);
1349} 1377}
1350 1378
1351/* UNIBYTE specifies how to set load_convert_to_unibyte 1379/* UNIBYTE specifies how to set load_convert_to_unibyte
@@ -1696,6 +1724,21 @@ read_internal_start (stream, start, end)
1696 return retval; 1724 return retval;
1697} 1725}
1698 1726
1727
1728/* Signal Qinvalid_read_syntax error.
1729 S is error string of length N (if > 0) */
1730
1731static void
1732invalid_syntax (s, n)
1733 const char *s;
1734 int n;
1735{
1736 if (!n)
1737 n = strlen (s);
1738 xsignal1 (Qinvalid_read_syntax, make_string (s, n));
1739}
1740
1741
1699/* Use this for recursive reads, in contexts where internal tokens 1742/* Use this for recursive reads, in contexts where internal tokens
1700 are not allowed. */ 1743 are not allowed. */
1701 1744
@@ -1707,12 +1750,11 @@ read0 (readcharfun)
1707 int c; 1750 int c;
1708 1751
1709 val = read1 (readcharfun, &c, 0); 1752 val = read1 (readcharfun, &c, 0);
1710 if (c) 1753 if (!c)
1711 Fsignal (Qinvalid_read_syntax, Fcons (Fmake_string (make_number (1), 1754 return val;
1712 make_number (c)),
1713 Qnil));
1714 1755
1715 return val; 1756 xsignal1 (Qinvalid_read_syntax,
1757 Fmake_string (make_number (1), make_number (c)));
1716} 1758}
1717 1759
1718static int read_buffer_size; 1760static int read_buffer_size;
@@ -1980,7 +2022,6 @@ read_escape (readcharfun, stringp, byterep)
1980 } 2022 }
1981} 2023}
1982 2024
1983
1984/* Read an integer in radix RADIX using READCHARFUN to read 2025/* Read an integer in radix RADIX using READCHARFUN to read
1985 characters. RADIX must be in the interval [2..36]; if it isn't, a 2026 characters. RADIX must be in the interval [2..36]; if it isn't, a
1986 read error is signaled . Value is the integer read. Signals an 2027 read error is signaled . Value is the integer read. Signals an
@@ -2040,7 +2081,7 @@ read_integer (readcharfun, radix)
2040 { 2081 {
2041 char buf[50]; 2082 char buf[50];
2042 sprintf (buf, "integer, radix %d", radix); 2083 sprintf (buf, "integer, radix %d", radix);
2043 Fsignal (Qinvalid_read_syntax, Fcons (build_string (buf), Qnil)); 2084 invalid_syntax (buf, 0);
2044 } 2085 }
2045 2086
2046 return make_number (sign * number); 2087 return make_number (sign * number);
@@ -2151,10 +2192,9 @@ read1 (readcharfun, pch, first_in_list)
2151 XCHAR_TABLE (tmp)->top = Qnil; 2192 XCHAR_TABLE (tmp)->top = Qnil;
2152 return tmp; 2193 return tmp;
2153 } 2194 }
2154 Fsignal (Qinvalid_read_syntax, 2195 invalid_syntax ("#^^", 3);
2155 Fcons (make_string ("#^^", 3), Qnil));
2156 } 2196 }
2157 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#^", 2), Qnil)); 2197 invalid_syntax ("#^", 2);
2158 } 2198 }
2159 if (c == '&') 2199 if (c == '&')
2160 { 2200 {
@@ -2176,8 +2216,7 @@ read1 (readcharfun, pch, first_in_list)
2176 Accept such input in case it came from an old version. */ 2216 Accept such input in case it came from an old version. */
2177 && ! (XFASTINT (length) 2217 && ! (XFASTINT (length)
2178 == (SCHARS (tmp) - 1) * BOOL_VECTOR_BITS_PER_CHAR)) 2218 == (SCHARS (tmp) - 1) * BOOL_VECTOR_BITS_PER_CHAR))
2179 Fsignal (Qinvalid_read_syntax, 2219 invalid_syntax ("#&...", 5);
2180 Fcons (make_string ("#&...", 5), Qnil));
2181 2220
2182 val = Fmake_bool_vector (length, Qnil); 2221 val = Fmake_bool_vector (length, Qnil);
2183 bcopy (SDATA (tmp), XBOOL_VECTOR (val)->data, 2222 bcopy (SDATA (tmp), XBOOL_VECTOR (val)->data,
@@ -2188,8 +2227,7 @@ read1 (readcharfun, pch, first_in_list)
2188 &= (1 << (XINT (length) % BOOL_VECTOR_BITS_PER_CHAR)) - 1; 2227 &= (1 << (XINT (length) % BOOL_VECTOR_BITS_PER_CHAR)) - 1;
2189 return val; 2228 return val;
2190 } 2229 }
2191 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5), 2230 invalid_syntax ("#&...", 5);
2192 Qnil));
2193 } 2231 }
2194 if (c == '[') 2232 if (c == '[')
2195 { 2233 {
@@ -2209,7 +2247,7 @@ read1 (readcharfun, pch, first_in_list)
2209 /* Read the string itself. */ 2247 /* Read the string itself. */
2210 tmp = read1 (readcharfun, &ch, 0); 2248 tmp = read1 (readcharfun, &ch, 0);
2211 if (ch != 0 || !STRINGP (tmp)) 2249 if (ch != 0 || !STRINGP (tmp))
2212 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#", 1), Qnil)); 2250 invalid_syntax ("#", 1);
2213 GCPRO1 (tmp); 2251 GCPRO1 (tmp);
2214 /* Read the intervals and their properties. */ 2252 /* Read the intervals and their properties. */
2215 while (1) 2253 while (1)
@@ -2225,9 +2263,7 @@ read1 (readcharfun, pch, first_in_list)
2225 if (ch == 0) 2263 if (ch == 0)
2226 plist = read1 (readcharfun, &ch, 0); 2264 plist = read1 (readcharfun, &ch, 0);
2227 if (ch) 2265 if (ch)
2228 Fsignal (Qinvalid_read_syntax, 2266 invalid_syntax ("Invalid string property list", 0);
2229 Fcons (build_string ("invalid string property list"),
2230 Qnil));
2231 Fset_text_properties (beg, end, plist, tmp); 2267 Fset_text_properties (beg, end, plist, tmp);
2232 } 2268 }
2233 UNGCPRO; 2269 UNGCPRO;
@@ -2380,7 +2416,7 @@ read1 (readcharfun, pch, first_in_list)
2380 return read_integer (readcharfun, 2); 2416 return read_integer (readcharfun, 2);
2381 2417
2382 UNREAD (c); 2418 UNREAD (c);
2383 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#", 1), Qnil)); 2419 invalid_syntax ("#", 1);
2384 2420
2385 case ';': 2421 case ';':
2386 while ((c = READCHAR) >= 0 && c != '\n'); 2422 while ((c = READCHAR) >= 0 && c != '\n');
@@ -2474,10 +2510,10 @@ read1 (readcharfun, pch, first_in_list)
2474 || (new_backquote_flag && next_char == ',')))); 2510 || (new_backquote_flag && next_char == ','))));
2475 } 2511 }
2476 UNREAD (next_char); 2512 UNREAD (next_char);
2477 if (!ok) 2513 if (ok)
2478 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("?", 1), Qnil)); 2514 return make_number (c);
2479 2515
2480 return make_number (c); 2516 invalid_syntax ("?", 1);
2481 } 2517 }
2482 2518
2483 case '"': 2519 case '"':
@@ -3122,8 +3158,7 @@ read_list (flag, readcharfun)
3122 { 3158 {
3123 if (ch == ']') 3159 if (ch == ']')
3124 return val; 3160 return val;
3125 Fsignal (Qinvalid_read_syntax, 3161 invalid_syntax (") or . in a vector", 18);
3126 Fcons (make_string (") or . in a vector", 18), Qnil));
3127 } 3162 }
3128 if (ch == ')') 3163 if (ch == ')')
3129 return val; 3164 return val;
@@ -3216,9 +3251,9 @@ read_list (flag, readcharfun)
3216 3251
3217 return val; 3252 return val;
3218 } 3253 }
3219 return Fsignal (Qinvalid_read_syntax, Fcons (make_string (". in wrong context", 18), Qnil)); 3254 invalid_syntax (". in wrong context", 18);
3220 } 3255 }
3221 return Fsignal (Qinvalid_read_syntax, Fcons (make_string ("] in a list", 11), Qnil)); 3256 invalid_syntax ("] in a list", 11);
3222 } 3257 }
3223 tem = (read_pure && flag <= 0 3258 tem = (read_pure && flag <= 0
3224 ? pure_cons (elt, Qnil) 3259 ? pure_cons (elt, Qnil)
diff --git a/src/macselect.c b/src/macselect.c
index 3afea1e9813..67a28cf9e64 100644
--- a/src/macselect.c
+++ b/src/macselect.c
@@ -594,11 +594,9 @@ x_get_local_selection (selection_symbol, target_type, local_request)
594 && INTEGERP (XCAR (XCDR (check))) 594 && INTEGERP (XCAR (XCDR (check)))
595 && NILP (XCDR (XCDR (check)))))) 595 && NILP (XCDR (XCDR (check))))))
596 return value; 596 return value;
597 else 597
598 return 598 signal_error ("Invalid data returned by selection-conversion function",
599 Fsignal (Qerror, 599 list2 (handler_fn, value));
600 Fcons (build_string ("invalid data returned by selection-conversion function"),
601 Fcons (handler_fn, Fcons (value, Qnil))));
602} 600}
603 601
604 602
diff --git a/src/macterm.c b/src/macterm.c
index 8d627446f65..c0128b496d3 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -8587,6 +8587,81 @@ extern int emacs_main (int, char **, char **);
8587extern void initialize_applescript(); 8587extern void initialize_applescript();
8588extern void terminate_applescript(); 8588extern void terminate_applescript();
8589 8589
8590/* Table for translating Mac keycode to X keysym values. Contributed
8591 by Sudhir Shenoy.
8592 Mapping for special keys is now identical to that in Apple X11
8593 except `clear' (-> <clear>) on the KeyPad, `enter' (-> <kp-enter>)
8594 on the right of the Cmd key on laptops, and fn + `enter' (->
8595 <linefeed>). */
8596static unsigned char keycode_to_xkeysym_table[] = {
8597 /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8598 /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8599 /*0x20*/ 0, 0, 0, 0, 0x0d /*return*/, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8600
8601 /*0x30*/ 0x09 /*tab*/, 0 /*0x0020 space*/, 0, 0x08 /*backspace*/,
8602 /*0x34*/ 0x8d /*enter on laptops*/, 0x1b /*escape*/, 0, 0,
8603 /*0x38*/ 0, 0, 0, 0,
8604 /*0x3C*/ 0, 0, 0, 0,
8605
8606 /*0x40*/ 0, 0xae /*kp-decimal*/, 0, 0xaa /*kp-multiply*/,
8607 /*0x44*/ 0, 0xab /*kp-add*/, 0, 0x0b /*clear*/,
8608 /*0x48*/ 0, 0, 0, 0xaf /*kp-divide*/,
8609 /*0x4C*/ 0x8d /*kp-enter*/, 0, 0xad /*kp-subtract*/, 0,
8610
8611 /*0x50*/ 0, 0xbd /*kp-equal*/, 0xb0 /*kp-0*/, 0xb1 /*kp-1*/,
8612 /*0x54*/ 0xb2 /*kp-2*/, 0xb3 /*kp-3*/, 0xb4 /*kp-4*/, 0xb5 /*kp-5*/,
8613 /*0x58*/ 0xb6 /*kp-6*/, 0xb7 /*kp-7*/, 0, 0xb8 /*kp-8*/,
8614 /*0x5C*/ 0xb9 /*kp-9*/, 0, 0, 0,
8615
8616 /*0x60*/ 0xc2 /*f5*/, 0xc3 /*f6*/, 0xc4 /*f7*/, 0xc0 /*f3*/,
8617 /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/,
8618 /*0x68*/ 0, 0xca /*f13*/, 0xcd /*f16*/, 0xcb /*f14*/,
8619 /*0x6C*/ 0, 0xc7 /*f10*/, 0x0a /*fn+enter on laptops*/, 0xc9 /*f12*/,
8620
8621 /*0x70*/ 0, 0xcc /*f15*/, 0x6a /*help*/, 0x50 /*home*/,
8622 /*0x74*/ 0x55 /*pgup*/, 0xff /*delete*/, 0xc1 /*f4*/, 0x57 /*end*/,
8623 /*0x78*/ 0xbf /*f2*/, 0x56 /*pgdown*/, 0xbe /*f1*/, 0x51 /*left*/,
8624 /*0x7C*/ 0x53 /*right*/, 0x54 /*down*/, 0x52 /*up*/, 0
8625};
8626
8627#ifdef MAC_OSX
8628/* Table for translating Mac keycode with the laptop `fn' key to that
8629 without it. Destination symbols in comments are keys on US
8630 keyboard, and they may not be the same on other types of keyboards.
8631 If the destination is identical to the source (f1 ... f12), it
8632 doesn't map `fn' key to a modifier. */
8633static unsigned char fn_keycode_to_keycode_table[] = {
8634 /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8635 /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8636 /*0x20*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8637
8638 /*0x30*/ 0, 0, 0, 0,
8639 /*0x34*/ 0, 0, 0, 0,
8640 /*0x38*/ 0, 0, 0, 0,
8641 /*0x3C*/ 0, 0, 0, 0,
8642
8643 /*0x40*/ 0, 0x2f /*kp-decimal -> '.'*/, 0, 0x23 /*kp-multiply -> 'p'*/,
8644 /*0x44*/ 0, 0x2c /*kp-add -> '/'*/, 0, 0x16 /*clear -> '6'*/,
8645 /*0x48*/ 0, 0, 0, 0x1d /*kp-/ -> '0'*/,
8646 /*0x4C*/ 0x24 /*kp-enter -> return*/, 0, 0x29 /*kp-subtract -> ';'*/, 0,
8647
8648 /*0x50*/ 0, 0x1b /*kp-equal -> '-'*/, 0x2e /*kp-0 -> 'm'*/, 0x26 /*kp-1 -> 'j'*/,
8649 /*0x54*/ 0x28 /*kp-2 -> 'k'*/, 0x25 /*kp-3 -> 'l'*/, 0x20 /*kp-4 -> 'u'*/, 0x22 /*kp-5 ->'i'*/,
8650 /*0x58*/ 0x1f /*kp-6 -> 'o'*/, 0x1a /*kp-7 -> '7'*/, 0, 0x1c /*kp-8 -> '8'*/,
8651 /*0x5C*/ 0x19 /*kp-9 -> '9'*/, 0, 0, 0,
8652
8653 /*0x60*/ 0x60 /*f5 = f5*/, 0x61 /*f6 = f6*/, 0x62 /*f7 = f7*/, 0x63 /*f3 = f3*/,
8654 /*0x64*/ 0x64 /*f8 = f8*/, 0x65 /*f9 = f9*/, 0, 0x67 /*f11 = f11*/,
8655 /*0x68*/ 0, 0, 0, 0,
8656 /*0x6C*/ 0, 0x6d /*f10 = f10*/, 0, 0x6f /*f12 = f12*/,
8657
8658 /*0x70*/ 0, 0, 0, 0x7b /*home -> left*/,
8659 /*0x74*/ 0x7e /*pgup -> up*/, 0x33 /*delete -> backspace*/, 0x76 /*f4 = f4*/, 0x7c /*end -> right*/,
8660 /*0x78*/ 0x78 /*f2 = f2*/, 0x7d /*pgdown -> down*/, 0x7a /*f1 = f1*/, 0,
8661 /*0x7C*/ 0, 0, 0, 0
8662};
8663#endif /* MAC_OSX */
8664
8590static unsigned int 8665static unsigned int
8591#if USE_CARBON_EVENTS 8666#if USE_CARBON_EVENTS
8592mac_to_emacs_modifiers (UInt32 mods) 8667mac_to_emacs_modifiers (UInt32 mods)
@@ -9650,7 +9725,6 @@ mac_handle_text_input_event (next_handler, event, data)
9650 { 9725 {
9651 EventRef kbd_event; 9726 EventRef kbd_event;
9652 UInt32 actual_size, modifiers, mapped_modifiers; 9727 UInt32 actual_size, modifiers, mapped_modifiers;
9653 UniChar code;
9654 9728
9655 err = GetEventParameter (event, kEventParamTextInputSendKeyboardEvent, 9729 err = GetEventParameter (event, kEventParamTextInputSendKeyboardEvent,
9656 typeEventRef, NULL, sizeof (EventRef), NULL, 9730 typeEventRef, NULL, sizeof (EventRef), NULL,
@@ -9678,26 +9752,37 @@ mac_handle_text_input_event (next_handler, event, data)
9678 err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, 9752 err = GetEventParameter (kbd_event, kEventParamKeyUnicodes,
9679 typeUnicodeText, NULL, 0, &actual_size, 9753 typeUnicodeText, NULL, 0, &actual_size,
9680 NULL); 9754 NULL);
9681 if (err == noErr) 9755 if (err == noErr && actual_size == sizeof (UniChar))
9682 { 9756 {
9683 if (actual_size == sizeof (UniChar)) 9757 UniChar code;
9684 err = GetEventParameter (kbd_event, kEventParamKeyUnicodes, 9758
9685 typeUnicodeText, NULL, 9759 err = GetEventParameter (kbd_event, kEventParamKeyUnicodes,
9686 sizeof (UniChar), NULL, &code); 9760 typeUnicodeText, NULL,
9761 sizeof (UniChar), NULL, &code);
9687 if (err == noErr && code < 0x80) 9762 if (err == noErr && code < 0x80)
9688 { 9763 {
9689 /* ASCII character. Process it in XTread_socket. */ 9764 /* ASCII character. Process it in XTread_socket. */
9690 if (read_socket_inev && code >= 0x20 && code <= 0x7e) 9765 if (read_socket_inev && code >= 0x20 && code <= 0x7e)
9691 { 9766 {
9692 struct frame *f = mac_focus_frame (&one_mac_display_info); 9767 UInt32 key_code;
9693 9768
9694 read_socket_inev->kind = ASCII_KEYSTROKE_EVENT; 9769 err = GetEventParameter (kbd_event, kEventParamKeyCode,
9695 read_socket_inev->code = code; 9770 typeUInt32, NULL, sizeof (UInt32),
9696 read_socket_inev->modifiers = 9771 NULL, &key_code);
9697 (extra_keyboard_modifiers 9772 if (!(err == noErr && key_code <= 0x7f
9698 & (meta_modifier | alt_modifier 9773 && keycode_to_xkeysym_table [key_code]))
9699 | hyper_modifier | super_modifier)); 9774 {
9700 XSETFRAME (read_socket_inev->frame_or_window, f); 9775 struct frame *f =
9776 mac_focus_frame (&one_mac_display_info);
9777
9778 read_socket_inev->kind = ASCII_KEYSTROKE_EVENT;
9779 read_socket_inev->code = code;
9780 read_socket_inev->modifiers =
9781 (extra_keyboard_modifiers
9782 & (meta_modifier | alt_modifier
9783 | hyper_modifier | super_modifier));
9784 XSETFRAME (read_socket_inev->frame_or_window, f);
9785 }
9701 } 9786 }
9702 return eventNotHandledErr; 9787 return eventNotHandledErr;
9703 } 9788 }
@@ -9970,89 +10055,6 @@ main (void)
9970} 10055}
9971#endif 10056#endif
9972 10057
9973/* Table for translating Mac keycode to X keysym values. Contributed
9974 by Sudhir Shenoy.
9975 Mapping for special keys is now identical to that in Apple X11
9976 except `clear' (-> <clear>) on the KeyPad, `enter' (-> <kp-enter>)
9977 on the right of the Cmd key on laptops, and fn + `enter' (->
9978 <linefeed>). */
9979static unsigned char keycode_to_xkeysym_table[] = {
9980 /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9981 /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9982 /*0x20*/ 0, 0, 0, 0, 0x0d /*return*/, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9983
9984 /*0x30*/ 0x09 /*tab*/, 0 /*0x0020 space*/, 0, 0x08 /*backspace*/,
9985 /*0x34*/ 0x8d /*enter on laptops*/, 0x1b /*escape*/, 0, 0,
9986 /*0x38*/ 0, 0, 0, 0,
9987 /*0x3C*/ 0, 0, 0, 0,
9988
9989 /*0x40*/ 0, 0xae /*kp-.*/, 0, 0xaa /*kp-**/,
9990 /*0x44*/ 0, 0xab /*kp-+*/, 0, 0x0b /*clear*/,
9991 /*0x48*/ 0, 0, 0, 0xaf /*kp-/*/,
9992 /*0x4C*/ 0x8d /*kp-enter*/, 0, 0xad /*kp--*/, 0,
9993
9994 /*0x50*/ 0, 0xbd /*kp-=*/, 0xb0 /*kp-0*/, 0xb1 /*kp-1*/,
9995 /*0x54*/ 0xb2 /*kp-2*/, 0xb3 /*kp-3*/, 0xb4 /*kp-4*/, 0xb5 /*kp-5*/,
9996 /*0x58*/ 0xb6 /*kp-6*/, 0xb7 /*kp-7*/, 0, 0xb8 /*kp-8*/,
9997 /*0x5C*/ 0xb9 /*kp-9*/, 0, 0, 0,
9998
9999 /*0x60*/ 0xc2 /*f5*/, 0xc3 /*f6*/, 0xc4 /*f7*/, 0xc0 /*f3*/,
10000 /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/,
10001 /*0x68*/ 0, 0xca /*f13*/, 0xcd /*f16*/, 0xcb /*f14*/,
10002 /*0x6C*/ 0, 0xc7 /*f10*/, 0x0a /*fn+enter on laptops*/, 0xc9 /*f12*/,
10003
10004 /*0x70*/ 0, 0xcc /*f15*/, 0x6a /*help*/, 0x50 /*home*/,
10005 /*0x74*/ 0x55 /*pgup*/, 0xff /*delete*/, 0xc1 /*f4*/, 0x57 /*end*/,
10006 /*0x78*/ 0xbf /*f2*/, 0x56 /*pgdown*/, 0xbe /*f1*/, 0x51 /*left*/,
10007 /*0x7C*/ 0x53 /*right*/, 0x54 /*down*/, 0x52 /*up*/, 0
10008};
10009
10010
10011static int
10012keycode_to_xkeysym (int keyCode, int *xKeySym)
10013{
10014 *xKeySym = keycode_to_xkeysym_table [keyCode & 0x7f];
10015 return *xKeySym != 0;
10016}
10017
10018#ifdef MAC_OSX
10019/* Table for translating Mac keycode with the laptop `fn' key to that
10020 without it. Destination symbols in comments are keys on US
10021 keyboard, and they may not be the same on other types of keyboards.
10022 If the destination is identical to the source (f1 ... f12), it
10023 doesn't map `fn' key to a modifier. */
10024static unsigned char fn_keycode_to_keycode_table[] = {
10025 /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10026 /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10027 /*0x20*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10028
10029 /*0x30*/ 0, 0, 0, 0,
10030 /*0x34*/ 0, 0, 0, 0,
10031 /*0x38*/ 0, 0, 0, 0,
10032 /*0x3C*/ 0, 0, 0, 0,
10033
10034 /*0x40*/ 0, 0x2f /*kp-. -> '.'*/, 0, 0x23 /*kp-* -> 'p'*/,
10035 /*0x44*/ 0, 0x2c /*kp-+ -> '/'*/, 0, 0x16 /*clear -> '6'*/,
10036 /*0x48*/ 0, 0, 0, 0x1d /*kp-/ -> '0'*/,
10037 /*0x4C*/ 0x24 /*kp-enter -> return*/, 0, 0x29 /*kp-- -> ';'*/, 0,
10038
10039 /*0x50*/ 0, 0x1b /*kp-= -> '-'*/, 0x2e /*kp-0 -> 'm'*/, 0x26 /*kp-1 -> 'j'*/,
10040 /*0x54*/ 0x28 /*kp-2 -> 'k'*/, 0x25 /*kp-3 -> 'l'*/, 0x20 /*kp-4 -> 'u'*/, 0x22 /*kp-5 ->'i'*/,
10041 /*0x58*/ 0x1f /*kp-6 -> 'o'*/, 0x1a /*kp-7 -> '7'*/, 0, 0x1c /*kp-8 -> '8'*/,
10042 /*0x5C*/ 0x19 /*kp-9 -> '9'*/, 0, 0, 0,
10043
10044 /*0x60*/ 0x60 /*f5 = f5*/, 0x61 /*f6 = f6*/, 0x62 /*f7 = f7*/, 0x63 /*f3 = f3*/,
10045 /*0x64*/ 0x64 /*f8 = f8*/, 0x65 /*f9 = f9*/, 0, 0x67 /*f11 = f11*/,
10046 /*0x68*/ 0, 0, 0, 0,
10047 /*0x6C*/ 0, 0x6d /*f10 = f10*/, 0, 0x6f /*f12 = f12*/,
10048
10049 /*0x70*/ 0, 0, 0, 0x7b /*home -> left*/,
10050 /*0x74*/ 0x7e /*pgup -> up*/, 0x33 /*delete -> backspace*/, 0x76 /*f4 = f4*/, 0x7c /*end -> right*/,
10051 /*0x78*/ 0x78 /*f2 = f2*/, 0x7d /*pgdown -> down*/, 0x7a /*f1 = f1*/, 0,
10052 /*0x7C*/ 0, 0, 0, 0
10053};
10054#endif /* MAC_OSX */
10055
10056#if !USE_CARBON_EVENTS 10058#if !USE_CARBON_EVENTS
10057static RgnHandle mouse_region = NULL; 10059static RgnHandle mouse_region = NULL;
10058 10060
@@ -10679,7 +10681,6 @@ XTread_socket (sd, expected, hold_quit)
10679 case autoKey: 10681 case autoKey:
10680 { 10682 {
10681 int keycode = (er.message & keyCodeMask) >> 8; 10683 int keycode = (er.message & keyCodeMask) >> 8;
10682 int xkeysym;
10683 static SInt16 last_key_script = -1; 10684 static SInt16 last_key_script = -1;
10684 SInt16 current_key_script; 10685 SInt16 current_key_script;
10685 UInt32 modifiers = er.modifiers, mapped_modifiers; 10686 UInt32 modifiers = er.modifiers, mapped_modifiers;
@@ -10758,10 +10759,10 @@ XTread_socket (sd, expected, hold_quit)
10758 && fn_keycode_to_keycode_table[keycode]) 10759 && fn_keycode_to_keycode_table[keycode])
10759 keycode = fn_keycode_to_keycode_table[keycode]; 10760 keycode = fn_keycode_to_keycode_table[keycode];
10760#endif 10761#endif
10761 if (keycode_to_xkeysym (keycode, &xkeysym)) 10762 if (keycode <= 0x7f && keycode_to_xkeysym_table [keycode])
10762 { 10763 {
10763 inev.kind = NON_ASCII_KEYSTROKE_EVENT; 10764 inev.kind = NON_ASCII_KEYSTROKE_EVENT;
10764 inev.code = 0xff00 | xkeysym; 10765 inev.code = 0xff00 | keycode_to_xkeysym_table [keycode];
10765#ifdef MAC_OSX 10766#ifdef MAC_OSX
10766 if (modifiers & kEventKeyModifierFnMask 10767 if (modifiers & kEventKeyModifierFnMask
10767 && keycode <= 0x7f 10768 && keycode <= 0x7f
@@ -11101,7 +11102,7 @@ mac_initialize_display_info ()
11101#ifdef MAC_OSX 11102#ifdef MAC_OSX
11102 /* HasDepth returns true if it is possible to have a 32 bit display, 11103 /* HasDepth returns true if it is possible to have a 32 bit display,
11103 but this may not be what is actually used. Mac OSX can do better. */ 11104 but this may not be what is actually used. Mac OSX can do better. */
11104 dpyinfo->color_p = 1; 11105 dpyinfo->color_p = CGDisplaySamplesPerPixel (kCGDirectMainDisplay) > 1;
11105 dpyinfo->n_planes = CGDisplayBitsPerPixel (kCGDirectMainDisplay); 11106 dpyinfo->n_planes = CGDisplayBitsPerPixel (kCGDirectMainDisplay);
11106 dpyinfo->height = CGDisplayPixelsHigh (kCGDirectMainDisplay); 11107 dpyinfo->height = CGDisplayPixelsHigh (kCGDirectMainDisplay);
11107 dpyinfo->width = CGDisplayPixelsWide (kCGDirectMainDisplay); 11108 dpyinfo->width = CGDisplayPixelsWide (kCGDirectMainDisplay);
@@ -11232,11 +11233,14 @@ x_delete_display (dpyinfo)
11232 xfree (dpyinfo->font_table[i].name); 11233 xfree (dpyinfo->font_table[i].name);
11233 } 11234 }
11234 11235
11235 if (dpyinfo->font_table->font_encoder) 11236 if (dpyinfo->font_table)
11236 xfree (dpyinfo->font_table->font_encoder); 11237 {
11237 11238 if (dpyinfo->font_table->font_encoder)
11238 xfree (dpyinfo->font_table); 11239 xfree (dpyinfo->font_table->font_encoder);
11239 xfree (dpyinfo->mac_id_name); 11240 xfree (dpyinfo->font_table);
11241 }
11242 if (dpyinfo->mac_id_name)
11243 xfree (dpyinfo->mac_id_name);
11240 11244
11241 if (x_display_list == 0) 11245 if (x_display_list == 0)
11242 { 11246 {
diff --git a/src/msdos.c b/src/msdos.c
index 636ac75d000..b6f6a75ac60 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -204,9 +204,9 @@ them. This happens with wheeled mice on Windows 9X, for example. */)
204 CHECK_NUMBER (nbuttons); 204 CHECK_NUMBER (nbuttons);
205 n = XINT (nbuttons); 205 n = XINT (nbuttons);
206 if (n < 2 || n > 3) 206 if (n < 2 || n > 3)
207 Fsignal (Qargs_out_of_range, 207 xsignal2 (Qargs_out_of_range,
208 Fcons (build_string ("only 2 or 3 mouse buttons are supported"), 208 build_string ("only 2 or 3 mouse buttons are supported"),
209 Fcons (nbuttons, Qnil))); 209 nbuttons);
210 mouse_setup_buttons (n); 210 mouse_setup_buttons (n);
211 return Qnil; 211 return Qnil;
212} 212}
diff --git a/src/print.c b/src/print.c
index 0a560dbc2d9..5f42683753d 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1032,7 +1032,9 @@ error message is constructed. */)
1032} 1032}
1033 1033
1034/* Print an error message for the error DATA onto Lisp output stream 1034/* Print an error message for the error DATA onto Lisp output stream
1035 STREAM (suitable for the print functions). */ 1035 STREAM (suitable for the print functions).
1036 CONTEXT is a C string describing the context of the error.
1037 CALLER is the Lisp function inside which the error was signaled. */
1036 1038
1037void 1039void
1038print_error_message (data, stream, context, caller) 1040print_error_message (data, stream, context, caller)
diff --git a/src/puresize.h b/src/puresize.h
index c1e4624564c..d0ba0c4e57e 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -43,7 +43,7 @@ Boston, MA 02110-1301, USA. */
43#endif 43#endif
44 44
45#ifndef BASE_PURESIZE 45#ifndef BASE_PURESIZE
46#define BASE_PURESIZE (1240000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) 46#define BASE_PURESIZE (1124000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA)
47#endif 47#endif
48 48
49/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ 49/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */
diff --git a/src/search.c b/src/search.c
index fe124091009..5d532a9d8dd 100644
--- a/src/search.c
+++ b/src/search.c
@@ -83,6 +83,9 @@ static Lisp_Object last_thing_searched;
83 83
84Lisp_Object Qinvalid_regexp; 84Lisp_Object Qinvalid_regexp;
85 85
86/* Error condition used for failing searches */
87Lisp_Object Qsearch_failed;
88
86Lisp_Object Vsearch_spaces_regexp; 89Lisp_Object Vsearch_spaces_regexp;
87 90
88static void set_search_regs (); 91static void set_search_regs ();
@@ -179,7 +182,7 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte)
179 re_set_syntax (old); 182 re_set_syntax (old);
180 UNBLOCK_INPUT; 183 UNBLOCK_INPUT;
181 if (val) 184 if (val)
182 Fsignal (Qinvalid_regexp, Fcons (build_string (val), Qnil)); 185 xsignal1 (Qinvalid_regexp, build_string (val));
183 186
184 cp->regexp = Fcopy_sequence (pattern); 187 cp->regexp = Fcopy_sequence (pattern);
185} 188}
@@ -266,16 +269,6 @@ compile_pattern (pattern, regp, translate, posix, multibyte)
266 return &cp->buf; 269 return &cp->buf;
267} 270}
268 271
269/* Error condition used for failing searches */
270Lisp_Object Qsearch_failed;
271
272Lisp_Object
273signal_failure (arg)
274 Lisp_Object arg;
275{
276 Fsignal (Qsearch_failed, Fcons (arg, Qnil));
277 return Qnil;
278}
279 272
280static Lisp_Object 273static Lisp_Object
281looking_at_1 (string, posix) 274looking_at_1 (string, posix)
@@ -948,7 +941,8 @@ search_command (string, bound, noerror, count, direction, RE, posix)
948 if (np <= 0) 941 if (np <= 0)
949 { 942 {
950 if (NILP (noerror)) 943 if (NILP (noerror))
951 return signal_failure (string); 944 xsignal1 (Qsearch_failed, string);
945
952 if (!EQ (noerror, Qt)) 946 if (!EQ (noerror, Qt))
953 { 947 {
954 if (lim < BEGV || lim > ZV) 948 if (lim < BEGV || lim > ZV)
diff --git a/src/sound.c b/src/sound.c
index af2369040cc..6f955a7d691 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -990,6 +990,7 @@ alsa_configure (sd)
990 struct sound_device *sd; 990 struct sound_device *sd;
991{ 991{
992 int val, err, dir; 992 int val, err, dir;
993 unsigned uval;
993 struct alsa_params *p = (struct alsa_params *) sd->data; 994 struct alsa_params *p = (struct alsa_params *) sd->data;
994 snd_pcm_uframes_t buffer_size; 995 snd_pcm_uframes_t buffer_size;
995 996
@@ -1017,8 +1018,8 @@ alsa_configure (sd)
1017 if (err < 0) 1018 if (err < 0)
1018 alsa_sound_perror ("Could not set sound format", err); 1019 alsa_sound_perror ("Could not set sound format", err);
1019 1020
1020 val = sd->sample_rate; 1021 uval = sd->sample_rate;
1021 err = snd_pcm_hw_params_set_rate_near (p->handle, p->hwparams, &val, 0); 1022 err = snd_pcm_hw_params_set_rate_near (p->handle, p->hwparams, &uval, 0);
1022 if (err < 0) 1023 if (err < 0)
1023 alsa_sound_perror ("Could not set sample rate", err); 1024 alsa_sound_perror ("Could not set sample rate", err);
1024 1025
@@ -1123,7 +1124,7 @@ alsa_close (sd)
1123 snd_pcm_sw_params_free (p->swparams); 1124 snd_pcm_sw_params_free (p->swparams);
1124 if (p->handle) 1125 if (p->handle)
1125 { 1126 {
1126 snd_pcm_drain(p->handle); 1127 snd_pcm_drain (p->handle);
1127 snd_pcm_close (p->handle); 1128 snd_pcm_close (p->handle);
1128 } 1129 }
1129 free (p); 1130 free (p);
@@ -1269,7 +1270,8 @@ alsa_init (sd)
1269 err = snd_pcm_open (&handle, file, SND_PCM_STREAM_PLAYBACK, 0); 1270 err = snd_pcm_open (&handle, file, SND_PCM_STREAM_PLAYBACK, 0);
1270 snd_lib_error_set_handler (NULL); 1271 snd_lib_error_set_handler (NULL);
1271 if (err < 0) 1272 if (err < 0)
1272 return 0; 1273 return 0;
1274 snd_pcm_close (handle);
1273 1275
1274 sd->fd = -1; 1276 sd->fd = -1;
1275 sd->open = alsa_open; 1277 sd->open = alsa_open;
diff --git a/src/syntax.c b/src/syntax.c
index 9959c17ad47..eee9151f878 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -2347,10 +2347,9 @@ scan_lists (from, count, depth, sexpflag)
2347 close1: 2347 close1:
2348 if (!--depth) goto done; 2348 if (!--depth) goto done;
2349 if (depth < min_depth) 2349 if (depth < min_depth)
2350 Fsignal (Qscan_error, 2350 xsignal3 (Qscan_error,
2351 Fcons (build_string ("Containing expression ends prematurely"), 2351 build_string ("Containing expression ends prematurely"),
2352 Fcons (make_number (last_good), 2352 make_number (last_good), make_number (from));
2353 Fcons (make_number (from), Qnil))));
2354 break; 2353 break;
2355 2354
2356 case Sstring: 2355 case Sstring:
@@ -2499,10 +2498,9 @@ scan_lists (from, count, depth, sexpflag)
2499 open2: 2498 open2:
2500 if (!--depth) goto done2; 2499 if (!--depth) goto done2;
2501 if (depth < min_depth) 2500 if (depth < min_depth)
2502 Fsignal (Qscan_error, 2501 xsignal3 (Qscan_error,
2503 Fcons (build_string ("Containing expression ends prematurely"), 2502 build_string ("Containing expression ends prematurely"),
2504 Fcons (make_number (last_good), 2503 make_number (last_good), make_number (from));
2505 Fcons (make_number (from), Qnil))));
2506 break; 2504 break;
2507 2505
2508 case Sendcomment: 2506 case Sendcomment:
@@ -2571,12 +2569,9 @@ scan_lists (from, count, depth, sexpflag)
2571 return val; 2569 return val;
2572 2570
2573 lose: 2571 lose:
2574 Fsignal (Qscan_error, 2572 xsignal3 (Qscan_error,
2575 Fcons (build_string ("Unbalanced parentheses"), 2573 build_string ("Unbalanced parentheses"),
2576 Fcons (make_number (last_good), 2574 make_number (last_good), make_number (from));
2577 Fcons (make_number (from), Qnil))));
2578 abort ();
2579 /* NOTREACHED */
2580} 2575}
2581 2576
2582DEFUN ("scan-lists", Fscan_lists, Sscan_lists, 3, 3, 0, 2577DEFUN ("scan-lists", Fscan_lists, Sscan_lists, 3, 3, 0,
diff --git a/src/textprop.c b/src/textprop.c
index 0318d12913f..fd70f039d22 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -78,6 +78,8 @@ Lisp_Object Vtext_property_default_nonsticky;
78Lisp_Object interval_insert_behind_hooks; 78Lisp_Object interval_insert_behind_hooks;
79Lisp_Object interval_insert_in_front_hooks; 79Lisp_Object interval_insert_in_front_hooks;
80 80
81static void text_read_only P_ ((Lisp_Object)) NO_RETURN;
82
81 83
82/* Signal a `text-read-only' error. This function makes it easier 84/* Signal a `text-read-only' error. This function makes it easier
83 to capture that error in GDB by putting a breakpoint on it. */ 85 to capture that error in GDB by putting a breakpoint on it. */
@@ -86,7 +88,10 @@ static void
86text_read_only (propval) 88text_read_only (propval)
87 Lisp_Object propval; 89 Lisp_Object propval;
88{ 90{
89 Fsignal (Qtext_read_only, STRINGP (propval) ? Fcons (propval, Qnil) : Qnil); 91 if (STRINGP (propval))
92 xsignal1 (Qtext_read_only, propval);
93
94 xsignal0 (Qtext_read_only);
90} 95}
91 96
92 97
diff --git a/src/unexsol.c b/src/unexsol.c
index 426a7f7cb99..9f919faedc0 100644
--- a/src/unexsol.c
+++ b/src/unexsol.c
@@ -24,7 +24,7 @@ unexec (char *new_name, char *old_name, unsigned int data_start,
24 errstring = code_convert_string_norecord (build_string (dlerror ()), 24 errstring = code_convert_string_norecord (build_string (dlerror ()),
25 Vlocale_coding_system, 0); 25 Vlocale_coding_system, 0);
26 26
27 Fsignal (Qfile_error, 27 xsignal (Qfile_error,
28 Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); 28 Fcons (build_string ("Cannot unexec"), Fcons (errstring, data)));
29} 29}
30 30
diff --git a/src/w32.c b/src/w32.c
index f11ffb7a785..c093eab599e 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -2256,16 +2256,17 @@ convert_time (FILETIME ft)
2256 2256
2257 SystemTimeToFileTime (&st, &utc_base_ft); 2257 SystemTimeToFileTime (&st, &utc_base_ft);
2258 utc_base = (long double) utc_base_ft.dwHighDateTime 2258 utc_base = (long double) utc_base_ft.dwHighDateTime
2259 * 4096 * 1024 * 1024 + utc_base_ft.dwLowDateTime; 2259 * 4096.0L * 1024.0L * 1024.0L + utc_base_ft.dwLowDateTime;
2260 init = 1; 2260 init = 1;
2261 } 2261 }
2262 2262
2263 if (CompareFileTime (&ft, &utc_base_ft) < 0) 2263 if (CompareFileTime (&ft, &utc_base_ft) < 0)
2264 return 0; 2264 return 0;
2265 2265
2266 ret = (long double) ft.dwHighDateTime * 4096 * 1024 * 1024 + ft.dwLowDateTime; 2266 ret = (long double) ft.dwHighDateTime
2267 * 4096.0L * 1024.0L * 1024.0L + ft.dwLowDateTime;
2267 ret -= utc_base; 2268 ret -= utc_base;
2268 return (time_t) (ret * 1e-7); 2269 return (time_t) (ret * 1e-7L);
2269} 2270}
2270 2271
2271void 2272void
@@ -2700,6 +2701,9 @@ utime (const char *name, struct utimbuf *times)
2700int (PASCAL *pfn_WSAStartup) (WORD wVersionRequired, LPWSADATA lpWSAData); 2701int (PASCAL *pfn_WSAStartup) (WORD wVersionRequired, LPWSADATA lpWSAData);
2701void (PASCAL *pfn_WSASetLastError) (int iError); 2702void (PASCAL *pfn_WSASetLastError) (int iError);
2702int (PASCAL *pfn_WSAGetLastError) (void); 2703int (PASCAL *pfn_WSAGetLastError) (void);
2704int (PASCAL *pfn_WSAEventSelect) (SOCKET s, HANDLE hEventObject, long lNetworkEvents);
2705HANDLE (PASCAL *pfn_WSACreateEvent) (void);
2706int (PASCAL *pfn_WSACloseEvent) (HANDLE hEvent);
2703int (PASCAL *pfn_socket) (int af, int type, int protocol); 2707int (PASCAL *pfn_socket) (int af, int type, int protocol);
2704int (PASCAL *pfn_bind) (SOCKET s, const struct sockaddr *addr, int namelen); 2708int (PASCAL *pfn_bind) (SOCKET s, const struct sockaddr *addr, int namelen);
2705int (PASCAL *pfn_connect) (SOCKET s, const struct sockaddr *addr, int namelen); 2709int (PASCAL *pfn_connect) (SOCKET s, const struct sockaddr *addr, int namelen);
@@ -2769,7 +2773,7 @@ init_winsock (int load_now)
2769 = (void *) GetProcAddress (GetModuleHandle ("kernel32.dll"), 2773 = (void *) GetProcAddress (GetModuleHandle ("kernel32.dll"),
2770 "SetHandleInformation"); 2774 "SetHandleInformation");
2771 2775
2772 winsock_lib = LoadLibrary ("wsock32.dll"); 2776 winsock_lib = LoadLibrary ("Ws2_32.dll");
2773 2777
2774 if (winsock_lib != NULL) 2778 if (winsock_lib != NULL)
2775 { 2779 {
@@ -2782,6 +2786,9 @@ init_winsock (int load_now)
2782 LOAD_PROC( WSAStartup ); 2786 LOAD_PROC( WSAStartup );
2783 LOAD_PROC( WSASetLastError ); 2787 LOAD_PROC( WSASetLastError );
2784 LOAD_PROC( WSAGetLastError ); 2788 LOAD_PROC( WSAGetLastError );
2789 LOAD_PROC( WSAEventSelect );
2790 LOAD_PROC( WSACreateEvent );
2791 LOAD_PROC( WSACloseEvent );
2785 LOAD_PROC( socket ); 2792 LOAD_PROC( socket );
2786 LOAD_PROC( bind ); 2793 LOAD_PROC( bind );
2787 LOAD_PROC( connect ); 2794 LOAD_PROC( connect );
@@ -3295,6 +3302,8 @@ sys_listen (int s, int backlog)
3295 int rc = pfn_listen (SOCK_HANDLE (s), backlog); 3302 int rc = pfn_listen (SOCK_HANDLE (s), backlog);
3296 if (rc == SOCKET_ERROR) 3303 if (rc == SOCKET_ERROR)
3297 set_errno (); 3304 set_errno ();
3305 else
3306 fd_info[s].flags |= FILE_LISTEN;
3298 return rc; 3307 return rc;
3299 } 3308 }
3300 h_errno = ENOTSOCK; 3309 h_errno = ENOTSOCK;
@@ -3332,14 +3341,18 @@ sys_accept (int s, struct sockaddr * addr, int * addrlen)
3332 } 3341 }
3333 3342
3334 check_errno (); 3343 check_errno ();
3335 if (fd_info[s].flags & FILE_SOCKET) 3344 if (fd_info[s].flags & FILE_LISTEN)
3336 { 3345 {
3337 SOCKET t = pfn_accept (SOCK_HANDLE (s), addr, addrlen); 3346 SOCKET t = pfn_accept (SOCK_HANDLE (s), addr, addrlen);
3338 if (t != INVALID_SOCKET) 3347 int fd = -1;
3339 return socket_to_fd (t); 3348 if (t == INVALID_SOCKET)
3349 set_errno ();
3350 else
3351 fd = socket_to_fd (t);
3340 3352
3341 set_errno (); 3353 fd_info[s].cp->status = STATUS_READ_ACKNOWLEDGED;
3342 return -1; 3354 ResetEvent (fd_info[s].cp->char_avail);
3355 return fd;
3343 } 3356 }
3344 h_errno = ENOTSOCK; 3357 h_errno = ENOTSOCK;
3345 return -1; 3358 return -1;
@@ -3641,6 +3654,36 @@ _sys_read_ahead (int fd)
3641 return cp->status; 3654 return cp->status;
3642} 3655}
3643 3656
3657int _sys_wait_accept (int fd)
3658{
3659 HANDLE hEv;
3660 child_process * cp;
3661 int rc;
3662
3663 if (fd < 0 || fd >= MAXDESC)
3664 return STATUS_READ_ERROR;
3665
3666 cp = fd_info[fd].cp;
3667
3668 if (cp == NULL || cp->fd != fd || cp->status != STATUS_READ_READY)
3669 return STATUS_READ_ERROR;
3670
3671 cp->status = STATUS_READ_FAILED;
3672
3673 hEv = pfn_WSACreateEvent ();
3674 rc = pfn_WSAEventSelect (SOCK_HANDLE (fd), hEv, FD_ACCEPT);
3675 if (rc != SOCKET_ERROR)
3676 {
3677 rc = WaitForSingleObject (hEv, INFINITE);
3678 pfn_WSAEventSelect (SOCK_HANDLE (fd), NULL, 0);
3679 pfn_WSACloseEvent (hEv);
3680 if (rc == WAIT_OBJECT_0)
3681 cp->status = STATUS_READ_SUCCEEDED;
3682 }
3683
3684 return cp->status;
3685}
3686
3644int 3687int
3645sys_read (int fd, char * buffer, unsigned int count) 3688sys_read (int fd, char * buffer, unsigned int count)
3646{ 3689{
diff --git a/src/w32.h b/src/w32.h
index ecc986269fb..1d5dbee6d40 100644
--- a/src/w32.h
+++ b/src/w32.h
@@ -93,6 +93,7 @@ extern filedesc fd_info [ MAXDESC ];
93/* fd_info flag definitions */ 93/* fd_info flag definitions */
94#define FILE_READ 0x0001 94#define FILE_READ 0x0001
95#define FILE_WRITE 0x0002 95#define FILE_WRITE 0x0002
96#define FILE_LISTEN 0x0004
96#define FILE_BINARY 0x0010 97#define FILE_BINARY 0x0010
97#define FILE_LAST_CR 0x0020 98#define FILE_LAST_CR 0x0020
98#define FILE_AT_EOF 0x0040 99#define FILE_AT_EOF 0x0040
@@ -136,6 +137,9 @@ extern void syms_of_w32menu (void);
136extern void globals_of_w32menu (void); 137extern void globals_of_w32menu (void);
137extern void syms_of_fontset (void); 138extern void syms_of_fontset (void);
138 139
140extern int _sys_read_ahead (int fd);
141extern int _sys_wait_accept (int fd);
142
139#endif /* EMACS_W32_H */ 143#endif /* EMACS_W32_H */
140 144
141/* arch-tag: 02c36b00-312b-4c4d-a1d9-f905c5e968f0 145/* arch-tag: 02c36b00-312b-4c4d-a1d9-f905c5e968f0
diff --git a/src/w32fns.c b/src/w32fns.c
index 66cac34b2d9..68fcced88c2 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -2066,6 +2066,7 @@ w32_createwindow (f)
2066{ 2066{
2067 HWND hwnd; 2067 HWND hwnd;
2068 RECT rect; 2068 RECT rect;
2069 Lisp_Object top, left;
2069 2070
2070 rect.left = rect.top = 0; 2071 rect.left = rect.top = 0;
2071 rect.right = FRAME_PIXEL_WIDTH (f); 2072 rect.right = FRAME_PIXEL_WIDTH (f);
@@ -2081,12 +2082,17 @@ w32_createwindow (f)
2081 w32_init_class (hinst); 2082 w32_init_class (hinst);
2082 } 2083 }
2083 2084
2085 /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero
2086 for anything that is not a number and is not Qunbound. */
2087 left = w32_get_arg (Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER);
2088 top = w32_get_arg (Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER);
2089
2084 FRAME_W32_WINDOW (f) = hwnd 2090 FRAME_W32_WINDOW (f) = hwnd
2085 = CreateWindow (EMACS_CLASS, 2091 = CreateWindow (EMACS_CLASS,
2086 f->namebuf, 2092 f->namebuf,
2087 f->output_data.w32->dwStyle | WS_CLIPCHILDREN, 2093 f->output_data.w32->dwStyle | WS_CLIPCHILDREN,
2088 CW_USEDEFAULT, 2094 EQ (left, Qunbound) ? CW_USEDEFAULT : XINT (left),
2089 SW_SHOW, 2095 EQ (top, Qunbound) ? CW_USEDEFAULT : XINT (top),
2090 rect.right - rect.left, 2096 rect.right - rect.left,
2091 rect.bottom - rect.top, 2097 rect.bottom - rect.top,
2092 NULL, 2098 NULL,
diff --git a/src/w32proc.c b/src/w32proc.c
index a9e0e0cb83f..d874d183b17 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -1,6 +1,6 @@
1/* Process support for GNU Emacs on the Microsoft W32 API. 1/* Process support for GNU Emacs on the Microsoft W32 API.
2 Copyright (C) 1992, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2 Copyright (C) 1992, 1995, 1999, 2000, 2001, 2002, 2003, 2004,
3 2005, 2006 Free Software Foundation, Inc. 3 2005, 2006 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
@@ -280,7 +280,10 @@ reader_thread (void *arg)
280 { 280 {
281 int rc; 281 int rc;
282 282
283 rc = _sys_read_ahead (cp->fd); 283 if (fd_info[cp->fd].flags & FILE_LISTEN)
284 rc = _sys_wait_accept (cp->fd);
285 else
286 rc = _sys_read_ahead (cp->fd);
284 287
285 /* The name char_avail is a misnomer - it really just means the 288 /* The name char_avail is a misnomer - it really just means the
286 read-ahead has completed, whether successfully or not. */ 289 read-ahead has completed, whether successfully or not. */
diff --git a/src/w32term.c b/src/w32term.c
index fdbbbb6327f..b564ed3bd2b 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -5312,20 +5312,52 @@ x_calc_absolute_position (f)
5312{ 5312{
5313 int flags = f->size_hint_flags; 5313 int flags = f->size_hint_flags;
5314 5314
5315 /* Treat negative positions as relative to the leftmost bottommost 5315 /* The sum of the widths of the frame's left and right borders, and
5316 the sum of the heights of the frame's top and bottom borders (in
5317 pixels) drawn by Windows. */
5318 unsigned int left_right_borders_width, top_bottom_borders_height;
5319
5320 /* Try to get the actual values of these two variables. We compute
5321 the border width (height) by subtracting the width (height) of
5322 the frame's client area from the width (height) of the frame's
5323 entire window. */
5324 WINDOWPLACEMENT wp = { 0 };
5325 RECT client_rect = { 0 };
5326
5327 if (GetWindowPlacement (FRAME_W32_WINDOW (f), &wp)
5328 && GetClientRect (FRAME_W32_WINDOW (f), &client_rect))
5329 {
5330 left_right_borders_width =
5331 (wp.rcNormalPosition.right - wp.rcNormalPosition.left) -
5332 (client_rect.right - client_rect.left);
5333
5334 top_bottom_borders_height =
5335 (wp.rcNormalPosition.bottom - wp.rcNormalPosition.top) -
5336 (client_rect.bottom - client_rect.top);
5337 }
5338 else
5339 {
5340 /* Use sensible default values. */
5341 left_right_borders_width = 8;
5342 top_bottom_borders_height = 32;
5343 }
5344
5345 /* Treat negative positions as relative to the rightmost bottommost
5316 position that fits on the screen. */ 5346 position that fits on the screen. */
5317 if (flags & XNegative) 5347 if (flags & XNegative)
5318 f->left_pos = (FRAME_W32_DISPLAY_INFO (f)->width 5348 f->left_pos = (FRAME_W32_DISPLAY_INFO (f)->width
5319 - FRAME_PIXEL_WIDTH (f) 5349 - FRAME_PIXEL_WIDTH (f)
5320 + f->left_pos); 5350 + f->left_pos
5351 - (left_right_borders_width - 1));
5321 5352
5322 if (flags & YNegative) 5353 if (flags & YNegative)
5323 f->top_pos = (FRAME_W32_DISPLAY_INFO (f)->height 5354 f->top_pos = (FRAME_W32_DISPLAY_INFO (f)->height
5324 - FRAME_PIXEL_HEIGHT (f) 5355 - FRAME_PIXEL_HEIGHT (f)
5325 + f->top_pos); 5356 + f->top_pos
5326 /* The left_pos and top_pos 5357 - (top_bottom_borders_height - 1));
5327 are now relative to the top and left screen edges, 5358
5328 so the flags should correspond. */ 5359 /* The left_pos and top_pos are now relative to the top and left
5360 screen edges, so the flags should correspond. */
5329 f->size_hint_flags &= ~ (XNegative | YNegative); 5361 f->size_hint_flags &= ~ (XNegative | YNegative);
5330} 5362}
5331 5363
diff --git a/src/window.c b/src/window.c
index 77e155675dd..879777d25e1 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4961,9 +4961,9 @@ window_scroll_pixel_based (window, n, whole, noerror)
4961 else if (noerror) 4961 else if (noerror)
4962 return; 4962 return;
4963 else if (n < 0) /* could happen with empty buffers */ 4963 else if (n < 0) /* could happen with empty buffers */
4964 Fsignal (Qbeginning_of_buffer, Qnil); 4964 xsignal0 (Qbeginning_of_buffer);
4965 else 4965 else
4966 Fsignal (Qend_of_buffer, Qnil); 4966 xsignal0 (Qend_of_buffer);
4967 } 4967 }
4968 else 4968 else
4969 { 4969 {
@@ -4974,7 +4974,7 @@ window_scroll_pixel_based (window, n, whole, noerror)
4974 else if (noerror) 4974 else if (noerror)
4975 return; 4975 return;
4976 else 4976 else
4977 Fsignal (Qbeginning_of_buffer, Qnil); 4977 xsignal0 (Qbeginning_of_buffer);
4978 } 4978 }
4979 4979
4980 /* If control gets here, then we vscrolled. */ 4980 /* If control gets here, then we vscrolled. */
@@ -5175,7 +5175,7 @@ window_scroll_line_based (window, n, whole, noerror)
5175 if (noerror) 5175 if (noerror)
5176 return; 5176 return;
5177 else 5177 else
5178 Fsignal (Qbeginning_of_buffer, Qnil); 5178 xsignal0 (Qbeginning_of_buffer);
5179 } 5179 }
5180 5180
5181 if (pos < ZV) 5181 if (pos < ZV)
@@ -5261,7 +5261,7 @@ window_scroll_line_based (window, n, whole, noerror)
5261 if (noerror) 5261 if (noerror)
5262 return; 5262 return;
5263 else 5263 else
5264 Fsignal (Qend_of_buffer, Qnil); 5264 xsignal0 (Qend_of_buffer);
5265 } 5265 }
5266} 5266}
5267 5267
diff --git a/src/xdisp.c b/src/xdisp.c
index 092c5d7c520..76ab430386c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -3867,7 +3867,7 @@ handle_single_display_spec (it, spec, object, position,
3867{ 3867{
3868 Lisp_Object form; 3868 Lisp_Object form;
3869 Lisp_Object location, value; 3869 Lisp_Object location, value;
3870 struct text_pos start_pos; 3870 struct text_pos start_pos, save_pos;
3871 int valid_p; 3871 int valid_p;
3872 3872
3873 /* If SPEC is a list of the form `(when FORM . VALUE)', evaluate FORM. 3873 /* If SPEC is a list of the form `(when FORM . VALUE)', evaluate FORM.
@@ -4084,7 +4084,10 @@ handle_single_display_spec (it, spec, object, position,
4084 /* Save current settings of IT so that we can restore them 4084 /* Save current settings of IT so that we can restore them
4085 when we are finished with the glyph property value. */ 4085 when we are finished with the glyph property value. */
4086 4086
4087 save_pos = it->position;
4088 it->position = *position;
4087 push_it (it); 4089 push_it (it);
4090 it->position = save_pos;
4088 4091
4089 it->area = TEXT_AREA; 4092 it->area = TEXT_AREA;
4090 it->what = IT_IMAGE; 4093 it->what = IT_IMAGE;
@@ -4158,7 +4161,11 @@ handle_single_display_spec (it, spec, object, position,
4158 { 4161 {
4159 /* Save current settings of IT so that we can restore them 4162 /* Save current settings of IT so that we can restore them
4160 when we are finished with the glyph property value. */ 4163 when we are finished with the glyph property value. */
4164 save_pos = it->position;
4165 it->position = *position;
4161 push_it (it); 4166 push_it (it);
4167 it->position = save_pos;
4168
4162 if (NILP (location)) 4169 if (NILP (location))
4163 it->area = TEXT_AREA; 4170 it->area = TEXT_AREA;
4164 else if (EQ (location, Qleft_margin)) 4171 else if (EQ (location, Qleft_margin))
@@ -4969,6 +4976,12 @@ pop_it (it)
4969 case GET_FROM_STRETCH: 4976 case GET_FROM_STRETCH:
4970 it->object = p->u.comp.object; 4977 it->object = p->u.comp.object;
4971 break; 4978 break;
4979 case GET_FROM_BUFFER:
4980 it->object = it->w->buffer;
4981 break;
4982 case GET_FROM_STRING:
4983 it->object = it->string;
4984 break;
4972 } 4985 }
4973 it->end_charpos = p->end_charpos; 4986 it->end_charpos = p->end_charpos;
4974 it->string_nchars = p->string_nchars; 4987 it->string_nchars = p->string_nchars;
@@ -5288,7 +5301,6 @@ reseat_1 (it, pos, set_stop_p)
5288 xassert (CHARPOS (pos) >= BEGV && CHARPOS (pos) <= ZV); 5301 xassert (CHARPOS (pos) >= BEGV && CHARPOS (pos) <= ZV);
5289 5302
5290 it->current.pos = it->position = pos; 5303 it->current.pos = it->position = pos;
5291 XSETBUFFER (it->object, current_buffer);
5292 it->end_charpos = ZV; 5304 it->end_charpos = ZV;
5293 it->dpvec = NULL; 5305 it->dpvec = NULL;
5294 it->current.dpvec_index = -1; 5306 it->current.dpvec_index = -1;
@@ -5786,14 +5798,12 @@ set_iterator_to_next (it, reseat_p)
5786 { 5798 {
5787 IT_STRING_BYTEPOS (*it) += it->len; 5799 IT_STRING_BYTEPOS (*it) += it->len;
5788 IT_STRING_CHARPOS (*it) += it->cmp_len; 5800 IT_STRING_CHARPOS (*it) += it->cmp_len;
5789 it->object = it->string;
5790 goto consider_string_end; 5801 goto consider_string_end;
5791 } 5802 }
5792 else if (it->method == GET_FROM_BUFFER) 5803 else if (it->method == GET_FROM_BUFFER)
5793 { 5804 {
5794 IT_BYTEPOS (*it) += it->len; 5805 IT_BYTEPOS (*it) += it->len;
5795 IT_CHARPOS (*it) += it->cmp_len; 5806 IT_CHARPOS (*it) += it->cmp_len;
5796 it->object = it->w->buffer;
5797 } 5807 }
5798 break; 5808 break;
5799 5809
@@ -6033,9 +6043,7 @@ next_element_from_string (it)
6033 } 6043 }
6034 } 6044 }
6035 6045
6036 /* Record what we have and where it came from. Note that we store a 6046 /* Record what we have and where it came from. */
6037 buffer position in IT->position although it could arguably be a
6038 string position. */
6039 it->what = IT_CHARACTER; 6047 it->what = IT_CHARACTER;
6040 it->object = it->string; 6048 it->object = it->string;
6041 it->position = position; 6049 it->position = position;
@@ -6750,6 +6758,10 @@ move_it_to (it, to_charpos, to_x, to_y, to_vpos, op)
6750 if (reached) 6758 if (reached)
6751 break; 6759 break;
6752 } 6760 }
6761 else if (BUFFERP (it->object)
6762 && it->method == GET_FROM_BUFFER
6763 && IT_CHARPOS (*it) >= to_charpos)
6764 skip = MOVE_POS_MATCH_OR_ZV;
6753 else 6765 else
6754 skip = move_it_in_display_line_to (it, to_charpos, -1, MOVE_TO_POS); 6766 skip = move_it_in_display_line_to (it, to_charpos, -1, MOVE_TO_POS);
6755 6767
@@ -16553,6 +16565,7 @@ display_mode_line (w, face_id, format)
16553 kboard-local variables in the mode_line_format will get the right 16565 kboard-local variables in the mode_line_format will get the right
16554 values. */ 16566 values. */
16555 push_kboard (FRAME_KBOARD (it.f)); 16567 push_kboard (FRAME_KBOARD (it.f));
16568 record_unwind_save_match_data ();
16556 display_mode_element (&it, 0, 0, 0, format, Qnil, 0); 16569 display_mode_element (&it, 0, 0, 0, format, Qnil, 0);
16557 pop_kboard (); 16570 pop_kboard ();
16558 16571
diff --git a/src/xfaces.c b/src/xfaces.c
index 398b56f42b6..18e5d9a6119 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -489,7 +489,6 @@ static int font_scalable_p P_ ((struct font_name *));
489static int get_lface_attributes P_ ((struct frame *, Lisp_Object, Lisp_Object *, int)); 489static int get_lface_attributes P_ ((struct frame *, Lisp_Object, Lisp_Object *, int));
490static int load_pixmap P_ ((struct frame *, Lisp_Object, unsigned *, unsigned *)); 490static int load_pixmap P_ ((struct frame *, Lisp_Object, unsigned *, unsigned *));
491static unsigned char *xstrlwr P_ ((unsigned char *)); 491static unsigned char *xstrlwr P_ ((unsigned char *));
492static void signal_error P_ ((char *, Lisp_Object));
493static struct frame *frame_or_selected_frame P_ ((Lisp_Object, int)); 492static struct frame *frame_or_selected_frame P_ ((Lisp_Object, int));
494static void load_face_font P_ ((struct frame *, struct face *, int)); 493static void load_face_font P_ ((struct frame *, struct face *, int));
495static void load_face_colors P_ ((struct frame *, struct face *, Lisp_Object *)); 494static void load_face_colors P_ ((struct frame *, struct face *, Lisp_Object *));
@@ -858,17 +857,6 @@ xstrlwr (s)
858} 857}
859 858
860 859
861/* Signal `error' with message S, and additional argument ARG. */
862
863static void
864signal_error (s, arg)
865 char *s;
866 Lisp_Object arg;
867{
868 Fsignal (Qerror, Fcons (build_string (s), Fcons (arg, Qnil)));
869}
870
871
872/* If FRAME is nil, return a pointer to the selected frame. 860/* If FRAME is nil, return a pointer to the selected frame.
873 Otherwise, check that FRAME is a live frame, and return a pointer 861 Otherwise, check that FRAME is a live frame, and return a pointer
874 to it. NPARAM is the parameter number of FRAME, for 862 to it. NPARAM is the parameter number of FRAME, for
@@ -3290,7 +3278,7 @@ resolve_face_name (face_name, signal_p)
3290 if (EQ (hare, tortoise)) 3278 if (EQ (hare, tortoise))
3291 { 3279 {
3292 if (signal_p) 3280 if (signal_p)
3293 Fsignal (Qcircular_list, Fcons (orig_face, Qnil)); 3281 xsignal1 (Qcircular_list, orig_face);
3294 return Qdefault; 3282 return Qdefault;
3295 } 3283 }
3296 } 3284 }
diff --git a/src/xfns.c b/src/xfns.c
index 0e4b8860464..3cadc8504f4 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -770,9 +770,7 @@ x_decode_color (f, color_name, mono_color)
770 if (x_defined_color (f, SDATA (color_name), &cdef, 1)) 770 if (x_defined_color (f, SDATA (color_name), &cdef, 1))
771 return cdef.pixel; 771 return cdef.pixel;
772 772
773 Fsignal (Qerror, Fcons (build_string ("Undefined color"), 773 signal_error ("Undefined color", color_name);
774 Fcons (color_name, Qnil)));
775 return 0;
776} 774}
777 775
778 776
diff --git a/src/xselect.c b/src/xselect.c
index 5e6ffd806f0..211d207bac4 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -562,11 +562,9 @@ x_get_local_selection (selection_symbol, target_type, local_request)
562 && INTEGERP (XCAR (XCDR (check))) 562 && INTEGERP (XCAR (XCDR (check)))
563 && NILP (XCDR (XCDR (check)))))) 563 && NILP (XCDR (XCDR (check))))))
564 return value; 564 return value;
565 else 565
566 return 566 signal_error ("Invalid data returned by selection-conversion function",
567 Fsignal (Qerror, 567 list2 (handler_fn, value));
568 Fcons (build_string ("invalid data returned by selection-conversion function"),
569 Fcons (handler_fn, Fcons (value, Qnil))));
570} 568}
571 569
572/* Subroutines of x_reply_selection_request. */ 570/* Subroutines of x_reply_selection_request. */
@@ -1356,8 +1354,7 @@ copy_multiple_data (obj)
1356 CHECK_VECTOR (vec2); 1354 CHECK_VECTOR (vec2);
1357 if (XVECTOR (vec2)->size != 2) 1355 if (XVECTOR (vec2)->size != 2)
1358 /* ??? Confusing error message */ 1356 /* ??? Confusing error message */
1359 Fsignal (Qerror, Fcons (build_string ("vectors must be of length 2"), 1357 signal_error ("Vectors must be of length 2", vec2);
1360 Fcons (vec2, Qnil)));
1361 XVECTOR (vec)->contents [i] = Fmake_vector (2, Qnil); 1358 XVECTOR (vec)->contents [i] = Fmake_vector (2, Qnil);
1362 XVECTOR (XVECTOR (vec)->contents [i])->contents [0] 1359 XVECTOR (XVECTOR (vec)->contents [i])->contents [0]
1363 = XVECTOR (vec2)->contents [0]; 1360 = XVECTOR (vec2)->contents [0];
@@ -1734,19 +1731,15 @@ x_get_window_property_as_lisp_data (display, window, property, target_type,
1734 there_is_a_selection_owner 1731 there_is_a_selection_owner
1735 = XGetSelectionOwner (display, selection_atom); 1732 = XGetSelectionOwner (display, selection_atom);
1736 UNBLOCK_INPUT; 1733 UNBLOCK_INPUT;
1737 Fsignal (Qerror, 1734 if (there_is_a_selection_owner)
1738 there_is_a_selection_owner 1735 signal_error ("Selection owner couldn't convert",
1739 ? Fcons (build_string ("selection owner couldn't convert"), 1736 actual_type
1740 actual_type 1737 ? list2 (target_type,
1741 ? Fcons (target_type, 1738 x_atom_to_symbol (display, actual_type))
1742 Fcons (x_atom_to_symbol (display, 1739 : target_type);
1743 actual_type), 1740 else
1744 Qnil)) 1741 signal_error ("No selection",
1745 : Fcons (target_type, Qnil)) 1742 x_atom_to_symbol (display, selection_atom));
1746 : Fcons (build_string ("no selection"),
1747 Fcons (x_atom_to_symbol (display,
1748 selection_atom),
1749 Qnil)));
1750 } 1743 }
1751 1744
1752 if (actual_type == dpyinfo->Xatom_INCR) 1745 if (actual_type == dpyinfo->Xatom_INCR)
@@ -1946,10 +1939,7 @@ lisp_data_to_selection_data (display, obj,
1946 { 1939 {
1947 if (SCHARS (obj) < SBYTES (obj)) 1940 if (SCHARS (obj) < SBYTES (obj))
1948 /* OBJ is a multibyte string containing a non-ASCII char. */ 1941 /* OBJ is a multibyte string containing a non-ASCII char. */
1949 Fsignal (Qerror, /* Qselection_error */ 1942 signal_error ("Non-ASCII string must be encoded in advance", obj);
1950 Fcons (build_string
1951 ("Non-ASCII string must be encoded in advance"),
1952 Fcons (obj, Qnil)));
1953 if (NILP (type)) 1943 if (NILP (type))
1954 type = QSTRING; 1944 type = QSTRING;
1955 *format_ret = 8; 1945 *format_ret = 8;
@@ -2010,10 +2000,7 @@ lisp_data_to_selection_data (display, obj,
2010 (*(Atom **) data_ret) [i] 2000 (*(Atom **) data_ret) [i]
2011 = symbol_to_x_atom (dpyinfo, display, XVECTOR (obj)->contents [i]); 2001 = symbol_to_x_atom (dpyinfo, display, XVECTOR (obj)->contents [i]);
2012 else 2002 else
2013 Fsignal (Qerror, /* Qselection_error */ 2003 signal_error ("All elements of selection vector must have same type", obj);
2014 Fcons (build_string
2015 ("all elements of selection vector must have same type"),
2016 Fcons (obj, Qnil)));
2017 } 2004 }
2018#if 0 /* #### MULTIPLE doesn't work yet */ 2005#if 0 /* #### MULTIPLE doesn't work yet */
2019 else if (VECTORP (XVECTOR (obj)->contents [0])) 2006 else if (VECTORP (XVECTOR (obj)->contents [0]))
@@ -2029,10 +2016,9 @@ lisp_data_to_selection_data (display, obj,
2029 { 2016 {
2030 Lisp_Object pair = XVECTOR (obj)->contents [i]; 2017 Lisp_Object pair = XVECTOR (obj)->contents [i];
2031 if (XVECTOR (pair)->size != 2) 2018 if (XVECTOR (pair)->size != 2)
2032 Fsignal (Qerror, 2019 signal_error (
2033 Fcons (build_string 2020 "Elements of the vector must be vectors of exactly two elements",
2034 ("elements of the vector must be vectors of exactly two elements"), 2021 pair);
2035 Fcons (pair, Qnil)));
2036 2022
2037 (*(Atom **) data_ret) [i * 2] 2023 (*(Atom **) data_ret) [i * 2]
2038 = symbol_to_x_atom (dpyinfo, display, 2024 = symbol_to_x_atom (dpyinfo, display,
@@ -2042,10 +2028,8 @@ lisp_data_to_selection_data (display, obj,
2042 XVECTOR (pair)->contents [1]); 2028 XVECTOR (pair)->contents [1]);
2043 } 2029 }
2044 else 2030 else
2045 Fsignal (Qerror, 2031 signal_error ("All elements of the vector must be of the same type",
2046 Fcons (build_string 2032 obj);
2047 ("all elements of the vector must be of the same type"),
2048 Fcons (obj, Qnil)));
2049 2033
2050 } 2034 }
2051#endif 2035#endif
@@ -2060,10 +2044,9 @@ lisp_data_to_selection_data (display, obj,
2060 if (CONSP (XVECTOR (obj)->contents [i])) 2044 if (CONSP (XVECTOR (obj)->contents [i]))
2061 *format_ret = 32; 2045 *format_ret = 32;
2062 else if (!INTEGERP (XVECTOR (obj)->contents [i])) 2046 else if (!INTEGERP (XVECTOR (obj)->contents [i]))
2063 Fsignal (Qerror, /* Qselection_error */ 2047 signal_error (/* Qselection_error */
2064 Fcons (build_string 2048 "Elements of selection vector must be integers or conses of integers",
2065 ("elements of selection vector must be integers or conses of integers"), 2049 obj);
2066 Fcons (obj, Qnil)));
2067 2050
2068 /* Use sizeof(long) even if it is more than 32 bits. See comment 2051 /* Use sizeof(long) even if it is more than 32 bits. See comment
2069 in x_get_window_property and x_fill_property_data. */ 2052 in x_get_window_property and x_fill_property_data. */
@@ -2080,9 +2063,7 @@ lisp_data_to_selection_data (display, obj,
2080 } 2063 }
2081 } 2064 }
2082 else 2065 else
2083 Fsignal (Qerror, /* Qselection_error */ 2066 signal_error (/* Qselection_error */ "Unrecognized selection data", obj);
2084 Fcons (build_string ("unrecognized selection data"),
2085 Fcons (obj, Qnil)));
2086 2067
2087 *type_ret = symbol_to_x_atom (dpyinfo, display, type); 2068 *type_ret = symbol_to_x_atom (dpyinfo, display, type);
2088} 2069}
@@ -2371,15 +2352,13 @@ initialize_cut_buffers (display, window)
2371 2352
2372 2353
2373#define CHECK_CUT_BUFFER(symbol) \ 2354#define CHECK_CUT_BUFFER(symbol) \
2374 { CHECK_SYMBOL ((symbol)); \ 2355 do { CHECK_SYMBOL ((symbol)); \
2375 if (!EQ((symbol), QCUT_BUFFER0) && !EQ((symbol), QCUT_BUFFER1) \ 2356 if (!EQ((symbol), QCUT_BUFFER0) && !EQ((symbol), QCUT_BUFFER1) \
2376 && !EQ((symbol), QCUT_BUFFER2) && !EQ((symbol), QCUT_BUFFER3) \ 2357 && !EQ((symbol), QCUT_BUFFER2) && !EQ((symbol), QCUT_BUFFER3) \
2377 && !EQ((symbol), QCUT_BUFFER4) && !EQ((symbol), QCUT_BUFFER5) \ 2358 && !EQ((symbol), QCUT_BUFFER4) && !EQ((symbol), QCUT_BUFFER5) \
2378 && !EQ((symbol), QCUT_BUFFER6) && !EQ((symbol), QCUT_BUFFER7)) \ 2359 && !EQ((symbol), QCUT_BUFFER6) && !EQ((symbol), QCUT_BUFFER7)) \
2379 Fsignal (Qerror, \ 2360 signal_error ("Doesn't name a cut buffer", (symbol)); \
2380 Fcons (build_string ("doesn't name a cut buffer"), \ 2361 } while (0)
2381 Fcons ((symbol), Qnil))); \
2382 }
2383 2362
2384DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal, 2363DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal,
2385 Sx_get_cut_buffer_internal, 1, 1, 0, 2364 Sx_get_cut_buffer_internal, 1, 1, 0,
@@ -2416,10 +2395,9 @@ DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal,
2416 return Qnil; 2395 return Qnil;
2417 2396
2418 if (format != 8 || type != XA_STRING) 2397 if (format != 8 || type != XA_STRING)
2419 Fsignal (Qerror, 2398 signal_error ("Cut buffer doesn't contain 8-bit data",
2420 Fcons (build_string ("cut buffer doesn't contain 8-bit data"), 2399 list2 (x_atom_to_symbol (display, type),
2421 Fcons (x_atom_to_symbol (display, type), 2400 make_number (format)));
2422 Fcons (make_number (format), Qnil))));
2423 2401
2424 ret = (bytes ? make_unibyte_string ((char *) data, bytes) : Qnil); 2402 ret = (bytes ? make_unibyte_string ((char *) data, bytes) : Qnil);
2425 /* Use xfree, not XFree, because x_get_window_property 2403 /* Use xfree, not XFree, because x_get_window_property
diff --git a/src/xterm.c b/src/xterm.c
index 14e71fffa80..9c0b25b08bf 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -363,7 +363,7 @@ static void x_check_expected_move P_ ((struct frame *, int, int));
363static void x_sync_with_move P_ ((struct frame *, int, int, int)); 363static void x_sync_with_move P_ ((struct frame *, int, int, int));
364static int handle_one_xevent P_ ((struct x_display_info *, XEvent *, 364static int handle_one_xevent P_ ((struct x_display_info *, XEvent *,
365 int *, struct input_event *)); 365 int *, struct input_event *));
366static SIGTYPE x_connection_closed P_ ((Display *, char *)); 366static SIGTYPE x_connection_closed P_ ((Display *, char *)) NO_RETURN;
367 367
368 368
369/* Flush display of frame F, or of all frames if F is null. */ 369/* Flush display of frame F, or of all frames if F is null. */
@@ -7807,7 +7807,7 @@ x_connection_closed (dpy, error_message)
7807 7807
7808/* We specifically use it before defining it, so that gcc doesn't inline it, 7808/* We specifically use it before defining it, so that gcc doesn't inline it,
7809 otherwise gdb doesn't know how to properly put a breakpoint on it. */ 7809 otherwise gdb doesn't know how to properly put a breakpoint on it. */
7810static void x_error_quitter (Display *display, XErrorEvent *error); 7810static void x_error_quitter P_ ((Display *, XErrorEvent *)) NO_RETURN;
7811 7811
7812/* This is the first-level handler for X protocol errors. 7812/* This is the first-level handler for X protocol errors.
7813 It calls x_error_quitter or x_error_catcher. */ 7813 It calls x_error_quitter or x_error_catcher. */