aboutsummaryrefslogtreecommitdiff
path: root/gdb/.Sanitize
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/.Sanitize')
-rw-r--r--gdb/.Sanitize853
1 files changed, 0 insertions, 853 deletions
diff --git a/gdb/.Sanitize b/gdb/.Sanitize
deleted file mode 100644
index 3df3f43..0000000
--- a/gdb/.Sanitize
+++ /dev/null
@@ -1,853 +0,0 @@
-# .Sanitize for devo/gdb.
-
-# Each directory to survive its way into a release will need a file
-# like this one called "./.Sanitize". All keyword lines must exist,
-# and must exist in the order specified by this file. Each directory
-# in the tree will be processed, top down, in the following order.
-
-# Hash started lines like this one are comments and will be deleted
-# before anything else is done. Blank lines will also be squashed
-# out.
-
-# The lines between the "Do-first:" line and the "Things-to-keep:"
-# line are executed as a /bin/sh shell script before anything else is
-# done in this directory.
-
-Do-first:
-
-gdbtk_files="ChangeLog-gdbtk README.GDBTK gdbtk.c gdbtk.h gdbtk-cmds.c gdbtk-hooks.c gdbtk-wrapper.c gdbtk-wrapper.h gdbtk-variable.c gdbtcl2 gdb.rc gdbtool.ico"
-
-if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then
- lose_these_too="${gdbtk_files} ${lose_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Deleting ${gdbtk_files}
- fi
-else
- keep_these_too="${gdbtk_files} ${keep_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Keeping ${gdbtk_files}
- fi
-fi
-
-#kod_files="kod.c kodecosdll.c"
-#
-#if ( echo $* | grep keep\-kod > /dev/null ) ; then
-# keep_these_too="${kod_files} ${keep_these_too}"
-# if [ -n "${verbose}" ] ; then
-# echo Keeping ${kod_files}
-# fi
-#else
-# lose_these_too="${kod_files} ${lose_these_too}"
-# if [ -n "${verbose}" ] ; then
-# echo Deleting ${kod_files}
-# fi
-#fi
-
-tic80_files="tic80-tdep.c"
-
-if ( echo $* | grep keep\-tic80 > /dev/null ) ; then
- keep_these_too="${tic80_files} ${keep_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Keeping ${tic80_files}
- fi
-else
- lose_these_too="${tic80_files} ${lose_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Deleting ${tic80_files}
- fi
-fi
-
-sky_files="txvu-tdep.c"
-
-if ( echo $* | grep keep\-sky > /dev/null ) ; then
- keep_these_too="${sky_files} ${keep_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Keeping ${sky_files}
- fi
-else
- lose_these_too="${sky_files} ${lose_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Deleting ${sky_files}
- fi
-fi
-
-vr4xxx_files="nec4102rom.c"
-
-if ( echo $* | grep keep\-vr4xxx > /dev/null ) ; then
- keep_these_too="${vr4xxx_files} ${keep_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Keeping ${vr4xxx_files}
- fi
-else
- lose_these_too="${vr4xxx_files} ${lose_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Deleting ${vr4xxx_files}
- fi
-fi
-
-carp_files="carp-tdep.c"
-
-if ( echo $* | grep keep\-carp > /dev/null ) ; then
- keep_these_too="${carp_files} ${keep_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Keeping ${carp_files}
- fi
-else
- lose_these_too="${carp_files} ${lose_these_too}"
- if [ -n "${verbose}" ] ; then
- echo Deleting ${carp_files}
- fi
-fi
-
-# All files listed between the "Things-to-keep:" line and the
-# "Files-to-sed:" line will be kept. All other files will be removed.
-# Directories listed in this section will have their own Sanitize
-# called. Directories not listed will be removed in their entirety
-# with rm -rf.
-
-Things-to-keep:
-
-29k-share
-COPYING
-ChangeLog
-ChangeLog-3.x
-ChangeLog-9091
-ChangeLog-92
-ChangeLog-93
-ChangeLog-94
-ChangeLog-95
-ChangeLog-96
-ChangeLog-97
-ChangeLog-98
-Makefile.in
-NEWS
-README
-TODO
-a29k-tdep.c
-a68v-nat.c
-abug-rom.c
-acconfig.h
-acinclude.m4
-aclocal.m4
-alpha-nat.c
-alpha-tdep.c
-altos-xdep.c
-annotate.c
-annotate.h
-arc-tdep.c
-arm-convert.s
-arm-tdep.c
-arm-xdep.c
-ax-gdb.c
-ax-gdb.h
-ax-general.c
-ax.h
-bcache.c
-bcache.h
-blockframe.c
-breakpoint.c
-breakpoint.h
-buildsym.c
-buildsym.h
-c-exp.y
-c-lang.c
-c-lang.h
-c-typeprint.c
-c-valprint.c
-call-cmds.h
-ch-exp.c
-ch-lang.c
-ch-lang.h
-ch-typeprint.c
-ch-valprint.c
-coff-solib.c
-coff-solib.h
-coffread.c
-command.c
-command.h
-complaints.c
-complaints.h
-config
-config.in
-configure
-configure.host
-configure.in
-configure.tgt
-convex-tdep.c
-convex-xdep.c
-copying.awk
-copying.c
-core-aout.c
-core-regset.c
-core-sol2.c
-corefile.c
-corelow.c
-cp-valprint.c
-cpu32bug-rom.c
-cxux-nat.c
-d10v-tdep.c
-d30v-tdep.c
-dbug-rom.c
-dbxread.c
-dcache.c
-dcache.h
-debugify.c
-debugify.h
-defs.h
-delta68-nat.c
-demangle.c
-dink32-rom.c
-doc
-dpx2-nat.c
-dsrec.c
-dst.h
-dstread.c
-dve3900-rom.c
-dwarf2read.c
-dwarfread.c
-elfread.c
-environ.c
-environ.h
-eval.c
-exc_request.defs
-exec.c
-expprint.c
-expression.h
-f-exp.y
-f-lang.c
-f-lang.h
-f-typeprint.c
-f-valprint.c
-findvar.c
-fork-child.c
-fr30-tdep.c
-frame.h
-gdb-stabs.h
-gdb.1
-gdb.gdb
-gdb_stat.h
-gdb_string.h
-gdba.el
-gdbarch.c
-gdbarch.h
-gdbcmd.h
-gdbcore.h
-gdbinit.in
-gdbserver
-gdbthread.h
-gdbtypes.c
-gdbtypes.h
-gnu-nat.c
-gnu-nat.h
-gnu-regex.c
-gnu-regex.h
-go32-xdep.c
-gould-tdep.c
-gould-xdep.c
-h8300-tdep.c
-h8500-tdep.c
-hp-psymtab-read.c
-hp-symtab-read.c
-hp300ux-nat.c
-hppa-tdep.c
-hppab-nat.c
-hppah-nat.c
-hppam3-nat.c
-hpread.c
-hpread.h
-hpux-thread.c
-i386-stub.c
-i386-tdep.c
-i386aix-nat.c
-i386b-nat.c
-i386gnu-nat.c
-i386ly-tdep.c
-i386m3-nat.c
-i386mach-nat.c
-i386v-nat.c
-i386v4-nat.c
-i387-tdep.c
-i960-tdep.c
-infcmd.c
-inferior.h
-inflow.c
-infptrace.c
-infrun.c
-inftarg.c
-infttrace.c
-irix4-nat.c
-irix5-nat.c
-isi-xdep.c
-kdb-start.c
-language.c
-language.h
-lynx-nat.c
-m2-exp.y
-m2-lang.c
-m2-lang.h
-m2-typeprint.c
-m2-valprint.c
-m3-nat.c
-m32r-rom.c
-m32r-stub.c
-m32r-tdep.c
-m68k-stub.c
-m68k-tdep.c
-m68klinux-nat.c
-m68knbsd-nat.c
-m88k-nat.c
-m88k-tdep.c
-mac-defs.h
-mac-gdb.r
-mac-nat.c
-mac-xdep.c
-main.c
-maint.c
-mdebugread.c
-mem-break.c
-minimon.h
-minsyms.c
-mips-nat.c
-mips-tdep.c
-mipsm3-nat.c
-mipsread.c
-mipsv4-nat.c
-mn10200-tdep.c
-mn10300-tdep.c
-mon960-rom.c
-monitor.c
-monitor.h
-mpw-config.in
-mpw-make.sed
-msg.defs
-msg_reply.defs
-news-xdep.c
-nindy-share
-nindy-tdep.c
-nlm
-nlmread.c
-notify.defs
-ns32k-tdep.c
-ns32km3-nat.c
-ns32knbsd-nat.c
-objfiles.c
-objfiles.h
-ocd.c
-ocd.h
-op50-rom.c
-os9kread.c
-osf-share
-osfsolib.c
-parse.c
-parser-defs.h
-partial-stab.h
-ppc-bdm.c
-ppcbug-rom.c
-printcmd.c
-process_reply.defs
-procfs.c
-ptx4-nat.c
-pyr-tdep.c
-pyr-xdep.c
-rdi-share
-remote-adapt.c
-remote-array.c
-remote-bug.c
-remote-d10v.c
-remote-e7000.c
-remote-eb.c
-remote-es.c
-remote-est.c
-remote-hms.c
-remote-mips.c
-remote-mm.c
-remote-nindy.c
-remote-nrom.c
-remote-os9k.c
-remote-rdi.c
-remote-rdp.c
-remote-sds.c
-remote-sim.c
-remote-st.c
-remote-udi.c
-remote-utils.c
-remote-utils.h
-remote-vx.c
-remote-vx29k.c
-remote-vx68.c
-remote-vx960.c
-remote-vxmips.c
-remote-vxsparc.c
-remote.c
-reply_mig_hack.awk
-rom68k-rom.c
-rs6000-nat.c
-rs6000-tdep.c
-saber.suppress
-scm-exp.c
-scm-lang.c
-scm-lang.h
-scm-tags.h
-scm-valprint.c
-ser-e7kpc.c
-ser-go32.c
-ser-mac.c
-ser-ocd.c
-ser-tcp.c
-ser-unix.c
-serial.c
-serial.h
-sh-stub.c
-sh-tdep.c
-sh3-rom.c
-signals.h
-sol-thread.c
-solib.c
-solib.h
-somread.c
-somsolib.c
-somsolib.h
-source.c
-sparc-nat.c
-sparc-stub.c
-sparc-tdep.c
-sparcl-stub.c
-sparcl-tdep.c
-sparclet-rom.c
-sparclet-stub.c
-srec.h
-stabsread.c
-stabsread.h
-stack.c
-standalone.c
-stop-gdb.c
-stuff.c
-sun3-nat.c
-sun386-nat.c
-symfile.c
-symfile.h
-symm-nat.c
-symm-tdep.c
-symmisc.c
-symtab.c
-symtab.h
-tahoe-tdep.c
-target.c
-target.h
-terminal.h
-testsuite
-thread.c
-top.c
-top.h
-tracepoint.c
-tracepoint.h
-tui
-typeprint.c
-typeprint.h
-ultra3-nat.c
-ultra3-xdep.c
-umax-xdep.c
-utils.c
-v850-tdep.c
-v850ice.c
-valarith.c
-valops.c
-valprint.c
-valprint.h
-value.h
-values.c
-vax-tdep.c
-vx-share
-w65-tdep.c
-w89k-rom.c
-win32-nat.c
-xcoffread.c
-xcoffsolib.c
-xcoffsolib.h
-xmodem.c
-xmodem.h
-z8k-tdep.c
-
-# Things which are explicitly *not* kept, for now.
-
-Things-to-lose:
-
-GDB-HACK-RULES
-HOW_TO_RELEASE
-gdbcfgxref
-
-Do-last:
-
-# Don't try to clean directories here, as the 'mv' command will fail.
-# Also, grep fails on NFS mounted directories.
-if ( echo $* | grep lose\-gdbtk > /dev/null ) ; then
- echo Catering to RMS by removing traces of \"gdbtk\"...
- for i in * ; do
- if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then
- echo Removing traces of \"gdbtk\" out of $i...
- cp $i new
- sed '/start\-sanitize\-gdbtk/,/end-\sanitize\-gdbtk/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- echo Caching $i in .Recover...
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-else
- echo Leaving \"gdbtk\" in the sources...
- for i in * ; do
- if test ! -d $i && (grep sanitize-gdbtk $i > /dev/null) ; then
- echo Keeping \"gdbtk\" stuff in $i, but editing out sanitize lines...
- cp $i new
- sed -e '/start\-sanitize\-gdbtk/d' -e '/end\-sanitize\-gdbtk/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- echo Caching $i in .Recover...
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-vr4xxx > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-vr4xxx $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping vr4xxx stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-vr4xxx $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"vr4xxx\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-vr4xxx/,/end-\sanitize\-vr4xxx/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-vr4320 > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping vr4320 stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-vr4320 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"vr4320\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-vr4320/,/end-\sanitize\-vr4320/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-r5900 > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping r5900 stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-r5900 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"r5900\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-r5900/,/end-\sanitize\-r5900/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-tx19 > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-tx19 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping tx19 stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-tx19 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"tx19\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-tx19/,/end-\sanitize\-tx19/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-tx49 > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-tx49 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping tx49 stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-tx49 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"tx49\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-tx49/,/end-\sanitize\-tx49/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-sky > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-sky $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping sky stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-sky $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"sky\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-sky/,/end-\sanitize\-sky/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-cygnus > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping cygnus stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-cygnus $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"cygnus\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-cygnus/,/end-\sanitize\-cygnus/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-tic80 > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping tic80 stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-tic80 $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"tic80\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-tic80/,/end-\sanitize\-tic80/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-ide > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping ide stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-ide $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"ide\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-ide/,/end-\sanitize\-ide/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-#if ( echo $* | grep keep\-kod > /dev/null ) ; then
-# for i in * ; do
-# if test ! -d $i && (grep sanitize-kod $i > /dev/null) ; then
-# if [ -n "${verbose}" ] ; then
-# echo Keeping kod stuff in $i
-# fi
-# fi
-# done
-#else
-# for i in * ; do
-# if test ! -d $i && (grep sanitize-kod $i > /dev/null) ; then
-# if [ -n "${verbose}" ] ; then
-# echo Removing traces of \"kod\" from $i...
-# fi
-# cp $i new
-# sed '/start\-sanitize\-kod/,/end-\sanitize\-kod/d' < $i > new
-# if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
-# if [ -n "${verbose}" ] ; then
-# echo Caching $i in .Recover...
-# fi
-# mv $i .Recover
-# fi
-# mv new $i
-# fi
-# done
-#fi
-
-# This is a temporary measure to sanitize out references to the
-# startup code need by the TclPro debugger. When that goes out
-# of alpha, we can remove this.
-
-if ( echo $* | grep keep\-tclpro > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-tclpro $i > /dev/null) ; then
- echo Keeping \"tclpro\" stuff in $i, but editing out sanitize lines...
- cp $i new
- sed -e '/start\-sanitize\-tclpro/d' -e '/end\-sanitize\-tclpro/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- echo Caching $i in .Recover...
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-tclpro $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"tclpro\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-tclpro/,/end-\sanitize\-tclpro/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-if ( echo $* | grep keep\-carp > /dev/null ) ; then
- for i in * ; do
- if test ! -d $i && (grep sanitize-carp $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Keeping carp stuff in $i
- fi
- fi
- done
-else
- for i in * ; do
- if test ! -d $i && (grep sanitize-carp $i > /dev/null) ; then
- if [ -n "${verbose}" ] ; then
- echo Removing traces of \"carp\" from $i...
- fi
- cp $i new
- sed '/start\-sanitize\-carp/,/end-\sanitize\-carp/d' < $i > new
- if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
- if [ -n "${verbose}" ] ; then
- echo Caching $i in .Recover...
- fi
- mv $i .Recover
- fi
- mv new $i
- fi
- done
-fi
-
-for i in * ; do
- if test ! -d $i && (grep sanitize $i > /dev/null) ; then
- echo '***' Some mentions of Sanitize are still left in $i! 1>&2
- fi
-done
-
-#
-# End of file.