#!/bin/sh
# Shell archive, run this file to restore the archived files, i.e.
#
# > sh hanoi_2.2
#
# Files archived:
#   size    mode    name
# ------ ---------- ----------------------------------------
#   6624 -r--r--r-- game.c
#   4099 -r--r--r-- hanoi.c
#   2418 -r--r--r-- hanoi.h
#    626 -r--r--r-- makefile
#  11725 -r--r--r-- puzzle.c
#    654 -r--r--r-- solution.c
#
uudecode << -EOF-
begin-base64 644 hanoi_2.2.bz2
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
====
-EOF-
bzip2 -dc hanoi_2.2.bz2 | cpio -i
rm hanoi_2.2.bz2


Last updated: Friday, June 12, 2015 03:21:43 AM