#!/bin/sh
# Shell archive, run this file to restore the archived files, i.e.
#
# > sh sudoku.sh
#
# Files archived:
#    size    mode    name
# ------- ---------- ----------------------------------------
#   13024 -r--r--r-- cgi.c
#    1213 -r--r--r-- cgi.h
#   13273 -r--r--r-- cursesGui.c
#    1242 -r--r--r-- cursesGui.h
#     934 -r--r--r-- makefile
#   31237 -r--r--r-- puzzle.c
#    1655 -r--r--r-- puzzle.h
#    7674 -r--r--r-- sudoku.c
#    1956 -r--r--r-- sudokuCGI.c
#    1002 -r--r--r-- twiddleBits.c
#     419 -r--r--r-- twiddleBits.h
#
uudecode << -EOF-
begin-base64 644 ../sudoku.sh.bz2
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
woSBCSrJkA==
====
-EOF-
bzip2 -dc ../sudoku.sh.bz2 | cpio -i
rm ../sudoku.sh.bz2


Last updated: Saturday, August 01, 2009 11:49:29 PM