Commits

Lynn Rees  committed 8567f81 Merge

- merge

  • Participants
  • Parent commits ff2a22b, e3f270a

Comments (0)

Files changed (130)

+-- AUTHORS for psilib 0.01
+
+Project Administrator
+	L. C. Rees <xanimal@users.sourceforge.net>
+
+Code Maintainence:
+	Pat Hayes <pathayes@users.sourceforge.net>
+	L. C. Rees <xanimal@users.sourceforge.net>
+
+Current Contributors:
+	Pat Hayes <pathayes@users.sourceforge.net>
+	L. C. Rees <xanimal@users.sourceforge.net>
+	
+Original Author:
+        L. C. Rees <xanimal@users.sourceforge.net>
+
+Past Contributors:
+	D. E. Evans <santayana@users.sourceforge.net>
+ChangeLog for 0.01
+
+Changes from 0.01.0ALPHA to 00.01.1-test:
+- Documentation updated to reflect 0.01.1-test change. 
+- Schema added to the specification.
+- namespace updated.
+- created class "Generator" to wrapper existing functions and DOM structure.
+- created functions 'createPsiFile', 'createPsiArchive', 'setPsiSource', 'setPsiDestination',  '_createPsiNode', '_createPsiRoot', '_createPsiMap', "_walkPsiSourceDirectory', and '__init__', some based on existing.
+- removed function 'makePsiDirMapFallBack' and merged functionality with '_createPsiMap'.
+- cleaned up variable names.
+- redid __main__ to use new class methods.
+
+See diff in CVS for further details. 
+
+Changes from 0.00.0 to 0.01.0ALPHA:
+  - Scans recursively the directory tree from which the psilib.py is executed.
+  - Makes a list of "collections" and "resources."
+  - Saves as test.psi XML 1.0 file, or test.psa (gzip--default--or zip compressed archive).
+-- README for psilib-0.01.1ALPHA
+
+Unix Installation:
+--------------------------------
+1. Extract the psilib.x.xx.xALPHA tarball, with the following command, into a directory of your choice, (we recommend /usr/local/ for Unix based systems and users who have root access; otherwise, extract to your $HOME directory):
+
+     cd /usr/local/
+     tar -xzf psilib.xx.xALPHA
+
+2. The shebang line (#!) may need to be changed to reflect the path to python.
+
+3. Add the psilib/bin directory to your PATH.
+
+4. Ensure the psilib.py has 755 permissions.

File bin/psilib.py

+#! /usr/bin/env python
+#
+# Portable Site Information Project.
+#
+# Copyright (c) 1999 - 2002 L. C. Rees.  All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, 
+#    this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice, 
+#    this list of conditions and the following disclaimer in the documentation 
+#    and/or ot her materials provided with the distribution.
+# 3. Neither the name of the Portable Site Information Project nor the names
+#    of its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" 
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.
+
+usage = '''psilib outputs PSI map of DIRECTORY to DESTINATION 
+
+Usage: psilib.py [OPTION]... DIRECTORY DESTINATION
+
+Examples:
+    psilib.py /home home.psi    # Output PSI map of /home to home.psi
+    psilib.py -a /home home.psa # Output PSI map of /home to archive home.psa
+    
+OPTION:
+    -a                      archive PSI map
+    -h                      show help on command line options for psilib'''
+
+import os
+
+class Generator:
+    try:
+        global evaluate, pprint, cl
+        from Ft.Xml.cDomlette import implementation
+        from xml.dom.ext import PrettyPrint as pprint
+        from cStringIO import StringIO as stringio
+        from xml.xpath import Evaluate as evaluate
+    except ImportError: from xml.dom.minidom import Document as document
+    try: from gzip import GzipFile as gzipf
+    except ImportError: from zipfile import ZipFile as zipf
+
+    ns = 'urn:psilib:PSI:0:4:core'
+    sp, cc, tmp = ns, ns, ns
+    try: doc = implementation.createDocument(ns, None, None)
+    except NameError: doc = document()
+    
+    def _createNode(self, e, a = None, v = None):
+        node = self.doc.createElementNS(None, e)
+        try: node.setAttributeNS(None, a, v)
+        except TypeError: pass
+        except UnicodeError:
+            try:
+                v = unicode(v, 'utf-8', 'ignore')
+                node.setAttributeNS(None, a, v)
+            except TypeError: pass
+        return node
+
+    def _createRoot(self):
+        self.root = self._createNode('psi', 'xmlns', self.ns)
+        self.doc.appendChild(self.root)
+
+    def _createMap(self, u, d, f):
+        self.sp, co, id = d.split(os.sep), 'collection', 'id'
+        try:
+            self.sp[-1][0]
+            self.tmp = self._createNode(co, id, self.sp[-1])
+        except IndexError:
+            self.tmp = self._createNode(co, id, self.sp[0])
+        for i in f:
+            fp = os.path.join(d, i)
+            if os.path.isfile(fp):
+                fs = os.path.split(fp)
+                self.tmp.appendChild(self._createNode('resource', id, fs[1]))
+        try:
+            try:
+                if self.cc != self.sp[-2]:
+                    self.cl = evaluate('//collection[@id="' + self.sp[-2] + '"]', self.root)
+            except IndexError: pass
+            try:
+                self.cl[0].insertBefore(self.tmp, self.cl[0].firstChild)
+                self.cc = self.cl[0].getAttributeNS(None, id)
+            except (AttributeError, IndexError):
+                self.root.insertBefore(self.tmp, self.root.firstChild)
+                self.cl = [self.tmp]
+        except (IndexError, AttributeError, NameError):
+            cl = self.root.getElementsByTagName(co)
+            try:
+                cl[0].getAttribute(id)
+                for cu in cl:
+                    if cu.getAttribute(id) == self.sp[-2]:
+                        cu.insertBefore(self.tmp, cu.firstChild)
+            except IndexError:
+                self.root.insertBefore(self.tmp, self.root.firstChild)            
+                        
+    def _walkSourceDirectory(self, src = None):
+        os.path.walk(src, self._createMap, self.ns)
+
+    def setSource(self, src):
+        self.source = src
+        try:
+            if dir(self.root): del(self.root)
+            if self.doc.hasChildNodes():
+                self.doc.removeChild(self.doc.firstChild)
+        except AttributeError: pass
+        self._createRoot()
+        self._walkSourceDirectory(self.source)
+        
+    def setDestination(self, dest): self.destination = dest
+
+    def __init__(self, src = None, dest = None):
+        if src != None:
+            self.setSource(src)
+            self.setDestination(dest)      
+
+    def writeFile(self, dest = None):
+        if dest == None: dest = self.destination
+        if dest.find('.psi') and dest.find('.xml') == -1:
+            dest = '%s%s' % (dest, '.psi')
+        f = open(dest, 'w')
+        try: pprint(self.doc, f)
+        except NameError: self.doc.writexml(f)
+        f.close()
+
+    def writeArchive(self, dest = None):
+        if dest == None: dest = self.destination
+        if dest.find('.psa') == -1: dest = '%s%s' % (dest, '.psa')
+        try:
+            g = self.stringio()
+            pprint(self.doc, g)
+            f = g.getvalue()
+        except (NameError, AttributeError): f = self.doc.toxml()
+        try: zf = self.gzipf(dest, 'wb', 9)
+        except NameError: zf = self.zipf(dest, 'w')
+        zf.write(f)
+        zf.close()
+
+if __name__ == '__main__':
+    import sys
+    
+    def quitter(x):
+        y = x.lower()
+        if y == 'q':
+            print usage
+            sys.exit()
+
+    arc, stmsg = 0, 'Press "q" to quit and view online help'
+    for s in sys.argv:
+        if s != sys.argv[0]:
+            if s.find('-h') != -1: quitter('q')
+            elif s.find('-a') != -1: arc = 1
+            else:
+                try:
+                    if dir(n1): n2 = s
+                except NameError: n1 = s
+
+    def sa(x):
+        global src
+        src = x
+        if os.path.isfile(src):
+            print "Invalid argument: source must be directory"
+            quitter('q')
+        else: print 'Processing source directory...'
+
+    def fa(x):
+        global fdst
+        fdst = x
+
+    def aa(x):
+        global adst
+        adst = x
+
+    try: sa(n1)        
+    except NameError:
+        print stmsg
+        mc = 1
+        print 'Invalid argument: no source directory specified'
+        n1 = raw_input('Enter source directory pathname: ')
+        quitter(n1)
+        sa(n1)
+
+    def truePath():
+        try:
+            fc = mc
+        except NameError:
+            print stmsg
+        print 'Invalid argument: no destination specified'
+        n2 = raw_input('Create PSI archive? (yes/no): ')
+        quitter(n2)
+        if n2 == 'no':
+            n2 = raw_input('Enter destination pathname: ')
+            quitter(n2)
+            fa(n2)
+        else:
+            n2 = raw_input('Enter archive pathname: ')
+            quitter(n2)
+            aa(n2)        
+
+    if arc == 1:
+        try: aa(n2)
+        except NameError:
+            print 'Invalid usage: -a: no archive name found'
+            truePath()
+    else:
+        try:
+            if dir(n2): fa(n2)
+        except NameError: truePath()
+    
+    try:
+        print 'Generating PSI map...'
+        psi = Generator(src, fdst)
+        psi.writeFile()
+    except NameError:
+        print 'Generating PSI archive...'
+        psi = Generator(src, adst)
+        psi.writeArchive()
+
+    print 'Processing complete.'

File psilib-test/bin/ee.psi

+<?xml version='1.0' encoding='UTF-8'?>
+<psi xmlns='urn:psilib:PSI:0:4:core'>
+  <collection id='e:'>
+    <collection id='past'>
+      <collection id='aguarde'>
+        <collection id='spacetiffsagain'>
+          <collection id='final'>
+            <resource id='hourglass_1.tif'/>
+            <resource id='hourglass_2.tif'/>
+            <resource id='hourglass_3.tif'/>
+            <resource id='infraun_1.tif'/>
+            <resource id='infraun_2.tif'/>
+            <resource id='infraun_3.tif'/>
+            <resource id='keyhole_1.tif'/>
+            <resource id='keyhole_2.tif'/>
+            <resource id='keyhole_3.tif'/>
+            <resource id='ngc22_1.tif'/>
+            <resource id='ngc22_2.tif'/>
+            <resource id='ngc22_3.tif'/>
+            <resource id='saturn_1.tif'/>
+            <resource id='saturn_2.tif'/>
+            <resource id='saturn_3.tif'/>
+            <resource id='seyfert_1.tif'/>
+            <resource id='seyfert_2.tif'/>
+            <resource id='seyfert_3.tif'/>
+            <resource id='visuni_1.tif'/>
+            <resource id='visuni_2.tif'/>
+            <resource id='visuni_3.tif'/>
+            <resource id='whirl_1.tif'/>
+            <resource id='whirl_2.tif'/>
+            <resource id='whirl_3.tif'/>
+          </collection>
+          <collection id='main'>
+            <collection id='dump'>
+              <resource id='galgal1.tif'/>
+              <resource id='galgal2.tif'/>
+              <resource id='galgal3.tif'/>
+              <resource id='2galaxy2.tif'/>
+              <resource id='2galaxy1.tif'/>
+              <resource id='2galaxy3.tif'/>
+              <resource id='sidegal2.tif'/>
+              <resource id='sidegal1.tif'/>
+              <resource id='sidegal3.tif'/>
+            </collection>
+            <resource id='whirl1.ai'/>
+            <resource id='whirl2.ai'/>
+            <resource id='whirl3.ai'/>
+            <resource id='keyhole3.tif'/>
+            <resource id='ngc22_1.tif'/>
+            <resource id='whirl1.tif'/>
+            <resource id='whirl3.tif'/>
+            <resource id='whirl2.tif'/>
+            <resource id='visuni2.tif'/>
+            <resource id='visuni1.tif'/>
+            <resource id='visuni3.tif'/>
+            <resource id='seyfert2.tif'/>
+            <resource id='seyfert1.tif'/>
+            <resource id='seyfert3.tif'/>
+            <resource id='saturn3.tif'/>
+            <resource id='saturn2.tif'/>
+            <resource id='saturn1.tif'/>
+            <resource id='ngc22_3.tif'/>
+            <resource id='ngc22_2.tif'/>
+            <resource id='keyhole2.tif'/>
+            <resource id='keyhole1.tif'/>
+            <resource id='infraun1.tif'/>
+            <resource id='infraun2.tif'/>
+            <resource id='infraun3.tif'/>
+            <resource id='hourglass3.tif'/>
+            <resource id='hourglass2.tif'/>
+            <resource id='hourglass1.tif'/>
+            <resource id='hourglass1.ai'/>
+            <resource id='hourglass2.ai'/>
+            <resource id='hourglass3.ai'/>
+            <resource id='infraun1.ai'/>
+            <resource id='infraun2.ai'/>
+            <resource id='infraun3.ai'/>
+            <resource id='keyhole1.ai'/>
+            <resource id='keyhole2.ai'/>
+            <resource id='keyhole3.ai'/>
+            <resource id='ngc22_1.ai'/>
+            <resource id='ngc22_2.ai'/>
+            <resource id='ngc22_3.ai'/>
+            <resource id='saturn1.ai'/>
+            <resource id='saturn2.ai'/>
+            <resource id='saturn3.ai'/>
+            <resource id='seyfert1.ai'/>
+            <resource id='seyfert2.ai'/>
+            <resource id='seyfert3.ai'/>
+            <resource id='visuni1.ai'/>
+            <resource id='visuni2.ai'/>
+            <resource id='visuni3.ai'/>
+          </collection>
+          <collection id='bigtiff'>
+            <resource id='hourglass_3.tif'/>
+            <resource id='ngc22&amp;_3.tif'/>
+            <resource id='ngc22&amp;_2.tif'/>
+            <resource id='ngc22&amp;_1.tif'/>
+            <resource id='saturn_1.tif'/>
+            <resource id='saturn_2.tif'/>
+            <resource id='saturn_3.tif'/>
+            <resource id='seyfert_1.tif'/>
+            <resource id='seyfert_2.tif'/>
+            <resource id='hourglass_2.tif'/>
+            <resource id='seyfert_3.tif'/>
+            <resource id='hourglass_1.tif'/>
+            <resource id='infrared_1.tif'/>
+            <resource id='infrared_2.tif'/>
+            <resource id='infrared_3.tif'/>
+            <resource id='keyhole_1.tif'/>
+            <resource id='visible_3.tif'/>
+            <resource id='keyhole_2.tif'/>
+            <resource id='keyhole_3.tif'/>
+            <resource id='visible_2.tif'/>
+            <resource id='visible_1.tif'/>
+            <resource id='whirlpool_1.tif'/>
+            <resource id='whirlpool_2.tif'/>
+            <resource id='whirlpool_3.tif'/>
+          </collection>
+          <collection id='smalltiff'>
+            <resource id='eyeball1 copy.tif'/>
+            <resource id='colliding galaxies.tif'/>
+            <resource id='all seeing eye.tif'/>
+            <resource id='galaxy from side.tif'/>
+            <resource id='galaxy on galaxy.tif'/>
+            <resource id='gas streaks.tif'/>
+            <resource id='multisun.tif'/>
+            <resource id='nebula with finger.tif'/>
+            <resource id='nebula with spiral.tif'/>
+            <resource id='ring nebula.tif'/>
+            <resource id='roundballofgas.tif'/>
+            <resource id='saturn.tif'/>
+            <resource id='spiral galaxy.tif'/>
+            <resource id='supernova discharge.tif'/>
+            <resource id='the universe.tif'/>
+            <resource id='the vortex.tif'/>
+            <resource id='trails of nebula.tif'/>
+            <resource id='two galaxies.tif'/>
+            <resource id='whirlpool galaxy.tif'/>
+            <resource id='whirlpool_3.tif'/>
+            <resource id='visible_2.tif'/>
+            <resource id='visible_3.tif'/>
+            <resource id='whirlpool_1.tif'/>
+            <resource id='whirlpool_2.tif'/>
+            <resource id='visible_1.tif'/>
+          </collection>
+          <resource id='sample.jpg'/>
+        </collection>
+      </collection>
+      <collection id='kenmaki'>
+        <collection id='final in 3'>
+          <resource id='sidegal2.tif'/>
+          <resource id='2galaxy2.tif'/>
+          <resource id='2galaxy3.tif'/>
+          <resource id='alleye1.tif'/>
+          <resource id='alleye2.tif'/>
+          <resource id='alleye3.tif'/>
+          <resource id='collide1.tif'/>
+          <resource id='collide2.tif'/>
+          <resource id='collide3.tif'/>
+          <resource id='eyegal1.tif'/>
+          <resource id='eyegal2.tif'/>
+          <resource id='eyegal3.tif'/>
+          <resource id='finger1.tif'/>
+          <resource id='finger2.tif'/>
+          <resource id='finger3.tif'/>
+          <resource id='galgal1.tif'/>
+          <resource id='galgal2.tif'/>
+          <resource id='galgal3.tif'/>
+          <resource id='infraun1.tif'/>
+          <resource id='infraun2.tif'/>
+          <resource id='infraun3.tif'/>
+          <resource id='saturn1.tif'/>
+          <resource id='saturn2.tif'/>
+          <resource id='saturn3.tif'/>
+          <resource id='sidegal1.tif'/>
+          <resource id='sidegal3.tif'/>
+          <resource id='visuni1.tif'/>
+          <resource id='visuni2.tif'/>
+          <resource id='visuni3.tif'/>
+          <resource id='whirl1.tif'/>
+          <resource id='whirl2.tif'/>
+          <resource id='whirl3.tif'/>
+          <resource id='2galaxy1.tif'/>
+        </collection>
+        <collection id='maki-mov-1'>
+          <resource id='maki1.mov'/>
+        </collection>
+        <collection id='kenyon-mov-2'>
+          <resource id='kenyon5.mov'/>
+          <resource id='kenyon10.mov'/>
+          <resource id='kenyon11.mov'/>
+          <resource id='kenyon12.mov'/>
+          <resource id='kenyon13.mov'/>
+          <resource id='kenyon14.mov'/>
+          <resource id='kenyon15.mov'/>
+          <resource id='kenyon16.mov'/>
+          <resource id='kenyon17.mov'/>
+          <resource id='kenyon18.mov'/>
+          <resource id='kenyon2.mov'/>
+          <resource id='kenyon3.mov'/>
+          <resource id='kenyon4.mov'/>
+          <resource id='kenyon1.mov'/>
+          <resource id='kenyon6.mov'/>
+          <resource id='kenyon7.mov'/>
+          <resource id='kenyon8.mov'/>
+          <resource id='kenyon9.mov'/>
+        </collection>
+        <collection id='kenyon-wav'>
+          <resource id='kenyon1.wav'/>
+          <resource id='kenyon2.wav'/>
+          <resource id='kenyon3.wav'/>
+          <resource id='kenyon4.wav'/>
+          <resource id='kenyon5.wav'/>
+          <resource id='kenyon6.wav'/>
+          <resource id='kenyon7.wav'/>
+          <resource id='kenyon8.wav'/>
+          <resource id='kenyon9.wav'/>
+        </collection>
+        <collection id='maki-avi-1'>
+          <resource id='maki14.sdv'/>
+          <resource id='maki10.sdv'/>
+          <resource id='maki11.sdv'/>
+          <resource id='maki12.sdv'/>
+          <resource id='maki13.sdv'/>
+          <resource id='maki1.sdv'/>
+          <resource id='maki15.sdv'/>
+          <resource id='maki16.sdv'/>
+          <resource id='maki17.sdv'/>
+          <resource id='maki18.sdv'/>
+          <resource id='maki19.sdv'/>
+          <resource id='maki2.sdv'/>
+          <resource id='maki20.sdv'/>
+          <resource id='maki21.sdv'/>
+          <resource id='maki22.sdv'/>
+          <resource id='maki23.sdv'/>
+          <resource id='maki24.sdv'/>
+          <resource id='maki6.ppj'/>
+          <resource id='maki3.sdv'/>
+          <resource id='maki4.sdv'/>
+          <resource id='maki5.sdv'/>
+          <resource id='maki6.sdv'/>
+          <resource id='maki7.sdv'/>
+          <resource id='maki8.sdv'/>
+          <resource id='maki9.sdv'/>
+          <resource id='maki15.ppj'/>
+          <resource id='maki11.ppj'/>
+          <resource id='maki13.ppj'/>
+          <resource id='maki14.ppj'/>
+          <resource id='maki1.ppj'/>
+          <resource id='maki16.ppj'/>
+          <resource id='maki17.ppj'/>
+          <resource id='maki18.ppj'/>
+          <resource id='maki19.ppj'/>
+          <resource id='maki2.ppj'/>
+          <resource id='maki20.ppj'/>
+          <resource id='maki21.ppj'/>
+          <resource id='maki22.ppj'/>
+          <resource id='maki23.ppj'/>
+          <resource id='maki24.ppj'/>
+          <resource id='maki25.ppj'/>
+          <resource id='maki26.ppj'/>
+          <resource id='maki5.ppj'/>
+          <resource id='maki7.ppj'/>
+          <resource id='maki8.ppj'/>
+          <resource id='maki9.ppj'/>
+          <resource id='maki1.avi'/>
+          <resource id='maki2.avi'/>
+          <resource id='-maki3.avi'/>
+          <resource id='maki4.avi'/>
+          <resource id='maki5.avi'/>
+          <resource id='maki6.avi'/>
+          <resource id='maki7.avi'/>
+          <resource id='maki8.avi'/>
+          <resource id='maki9.avi'/>
+          <resource id='maki10.avi'/>
+          <resource id='maki11.avi'/>
+          <resource id='maki12.avi'/>
+          <resource id='maki13.avi'/>
+          <resource id='maki14.avi'/>
+          <resource id='maki15.avi'/>
+          <resource id='maki16.avi'/>
+          <resource id='maki17.avi'/>
+          <resource id='maki18.avi'/>
+          <resource id='maki19.avi'/>
+          <resource id='maki20.avi'/>
+          <resource id='maki21.avi'/>
+          <resource id='maki22.avi'/>
+          <resource id='maki23.avi'/>
+          <resource id='maki24.avi'/>
+          <resource id='maki4.ppj'/>
+        </collection>
+        <collection id='kenyon-mov-1'/>
+        <collection id='kenyon-avi-1'>
+          <resource id='kenyon7.sdv'/>
+          <resource id='kenyon10.sdv'/>
+          <resource id='kenyon11.sdv'/>
+          <resource id='kenyon12.sdv'/>
+          <resource id='kenyon2.sdv'/>
+          <resource id='kenyon3.sdv'/>
+          <resource id='kenyon4.sdv'/>
+          <resource id='kenyon5.sdv'/>
+          <resource id='kenyon6.sdv'/>
+          <resource id='kenyon1.sdv'/>
+          <resource id='kenyon8.sdv'/>
+          <resource id='kenyon9.sdv'/>
+          <resource id='kenyon13.ppj'/>
+          <resource id='kenyon1.ppj'/>
+          <resource id='kenyon10.ppj'/>
+          <resource id='kenyon11.ppj'/>
+          <resource id='kenyon12.ppj'/>
+          <resource id='kenyon1.hbp'/>
+          <resource id='kenyon14.ppj'/>
+          <resource id='kenyon15.ppj'/>
+          <resource id='kenyon16.ppj'/>
+          <resource id='kenyon17.ppj'/>
+          <resource id='kenyon18.ppj'/>
+          <resource id='kenyon2.ppj'/>
+          <resource id='kenyon3.ppj'/>
+          <resource id='kenyon4.ppj'/>
+          <resource id='kenyon5.ppj'/>
+          <resource id='kenyon6.ppj'/>
+          <resource id='kenyon7.ppj'/>
+          <resource id='kenyon8.ppj'/>
+          <resource id='kenyon9.ppj'/>
+          <resource id='kenyon1.avi'/>
+          <resource id='kenyon2.avi'/>
+          <resource id='kenyon3.avi'/>
+          <resource id='kenyon4.avi'/>
+          <resource id='kenyon5.avi'/>
+          <resource id='kenyon6.avi'/>
+          <resource id='kenyon7.avi'/>
+          <resource id='kenyon8.avi'/>
+          <resource id='kenyon9.avi'/>
+          <resource id='kenyon10.avi'/>
+          <resource id='kenyon11.avi'/>
+          <resource id='kenyon12.avi'/>
+        </collection>
+        <collection id='maki-avi-2'>
+          <resource id='maki7.avi'/>
+          <resource id='maki10.avi'/>
+          <resource id='maki11.avi'/>
+          <resource id='maki12.avi'/>
+          <resource id='maki13.avi'/>
+          <resource id='maki14.avi'/>
+          <resource id='maki15.avi'/>
+          <resource id='maki16.avi'/>
+          <resource id='maki17.avi'/>
+          <resource id='maki18.avi'/>
+          <resource id='maki19.avi'/>
+          <resource id='maki2.avi'/>
+          <resource id='maki20.avi'/>
+          <resource id='maki21.avi'/>
+          <resource id='maki22.avi'/>
+          <resource id='maki23.avi'/>
+          <resource id='maki24.avi'/>
+          <resource id='maki25.avi'/>
+          <resource id='maki26.avi'/>
+          <resource id='maki3.avi'/>
+          <resource id='maki4.avi'/>
+          <resource id='maki5.avi'/>
+          <resource id='maki6.avi'/>
+          <resource id='maki5.ppj'/>
+          <resource id='maki8.avi'/>
+          <resource id='maki9.avi'/>
+          <resource id='maki5.sdv'/>
+          <resource id='maki10.sdv'/>
+          <resource id='maki11.sdv'/>
+          <resource id='maki12.sdv'/>
+          <resource id='maki13.sdv'/>
+          <resource id='maki14.sdv'/>
+          <resource id='maki15.sdv'/>
+          <resource id='maki16.sdv'/>
+          <resource id='maki17.sdv'/>
+          <resource id='maki18.sdv'/>
+          <resource id='maki19.sdv'/>
+          <resource id='maki2.sdv'/>
+          <resource id='maki20.sdv'/>
+          <resource id='maki21.sdv'/>
+          <resource id='maki22.sdv'/>
+          <resource id='maki23.sdv'/>
+          <resource id='maki24.sdv'/>
+          <resource id='maki25.sdv'/>
+          <resource id='maki26.sdv'/>
+          <resource id='maki3.sdv'/>
+          <resource id='maki4.sdv'/>
+          <resource id='maki1.sdv'/>
+          <resource id='maki6.sdv'/>
+          <resource id='maki7.sdv'/>
+          <resource id='maki8.sdv'/>
+          <resource id='maki9.sdv'/>
+          <resource id='maki7.ppj'/>
+          <resource id='maki9.ppj'/>
+          <resource id='maki11.ppj'/>
+          <resource id='maki8.ppj'/>
+          <resource id='maki13.ppj'/>
+          <resource id='maki14.ppj'/>
+          <resource id='maki15.ppj'/>
+          <resource id='maki16.ppj'/>
+          <resource id='maki17.ppj'/>
+          <resource id='maki18.ppj'/>
+          <resource id='maki19.ppj'/>
+          <resource id='maki20.ppj'/>
+          <resource id='maki21.ppj'/>
+          <resource id='maki22.ppj'/>
+          <resource id='maki23.ppj'/>
+          <resource id='maki24.ppj'/>
+          <resource id='maki25.ppj'/>
+          <resource id='maki26.ppj'/>
+          <resource id='maki1.avi'/>
+          <resource id='maki1.ppj'/>
+          <resource id='maki2.ppj'/>
+          <resource id='maki4.ppj'/>
+        </collection>
+        <collection id='cd'>
+          <collection id='maki'>
+            <resource id='maki12.mov'/>
+            <resource id='maki10.mov'/>
+            <resource id='maki11.mov'/>
+            <resource id='maki1.mov'/>
+            <resource id='maki13.mov'/>
+            <resource id='maki14.mov'/>
+            <resource id='maki15.mov'/>
+            <resource id='maki16.mov'/>
+            <resource id='maki17.mov'/>
+            <resource id='maki18.mov'/>
+            <resource id='maki19.mov'/>
+            <resource id='maki2.mov'/>
+            <resource id='maki20.mov'/>
+            <resource id='maki21.mov'/>
+            <resource id='maki22.mov'/>
+            <resource id='maki23.mov'/>
+            <resource id='maki24.mov'/>
+            <resource id='maki3.mov'/>
+            <resource id='maki4.mov'/>
+            <resource id='maki5.mov'/>
+            <resource id='maki6.mov'/>
+            <resource id='maki7.mov'/>
+            <resource id='maki8.mov'/>
+            <resource id='maki9.mov'/>
+          </collection>
+          <collection id='kenyon'>
+            <resource id='kenyon7.mov'/>
+            <resource id='kenyon17.mov'/>
+            <resource id='kenyon8.mov'/>
+            <resource id='kenyon12.mov'/>
+            <resource id='kenyon5.mov'/>
+            <resource id='kenyon14.mov'/>
+            <resource id='kenyon1.mov'/>
+            <resource id='kenyon13.mov'/>
+            <resource id='kenyon16.mov'/>
+            <resource id='kenyon15.mov'/>
+            <resource id='kenyon9.mov'/>
+            <resource id='kenyon10.mov'/>
+            <resource id='kenyon6.mov'/>
+            <resource id='kenyon11.mov'/>
+            <resource id='kenyon2.mov'/>
+            <resource id='kenyon3.mov'/>
+            <resource id='kenyon18.mov'/>
+            <resource id='kenyon4.mov'/>
+          </collection>
+          <collection id='wedding'>
+            <resource id='entrance1.mov'/>
+            <resource id='cakecutting.mov'/>
+            <resource id='ceremony.mov'/>
+            <resource id='arrival.mov'/>
+            <resource id='entrance2.mov'/>
+            <resource id='firstexit.mov'/>
+            <resource id='theend.mov'/>
+            <resource id='makidadspeaks.mov'/>
+            <resource id='kenyonsings.mov'/>
+            <resource id='makispeaks.mov'/>
+            <resource id='maki-kenyonsdad.mov'/>
+          </collection>
+          <resource id='list.doc'/>
+        </collection>
+        <collection id='maki-mov-2'>
+          <resource id='maki5.mov'/>
+          <resource id='maki1.mov'/>
+          <resource id='maki3.mov'/>
+          <resource id='maki4.mov'/>
+          <resource id='maki2.mov'/>
+          <resource id='maki6.mov'/>
+          <resource id='maki8.mov'/>
+          <resource id='maki7.mov'/>
+          <resource id='maki9.mov'/>
+          <resource id='maki10.mov'/>
+          <resource id='maki11.mov'/>
+          <resource id='maki12.mov'/>
+          <resource id='maki13.mov'/>
+          <resource id='maki14.mov'/>
+          <resource id='maki15.mov'/>
+          <resource id='maki16.mov'/>
+          <resource id='maki17.mov'/>
+          <resource id='maki18.mov'/>
+          <resource id='maki19.mov'/>
+          <resource id='maki20.mov'/>
+          <resource id='maki21.mov'/>
+          <resource id='maki22.mov'/>
+          <resource id='maki23.mov'/>
+          <resource id='maki24.mov'/>
+        </collection>
+        <collection id='wedding-avi'>
+          <resource id='arrival.sdv'/>
+          <resource id='ceremony.sdv'/>
+          <resource id='leaving.sdv'/>
+          <resource id='entrance.sdv'/>
+          <resource id='openingspeechs.sdv'/>
+          <resource id='cakecutting.sdv'/>
+          <resource id='marlonspeaks.sdv'/>
+          <resource id='makifriend1speaks.sdv'/>
+          <resource id='atsushi.sdv'/>
+          <resource id='kareokebegins.sdv'/>
+          <resource id='firstexit.sdv'/>
+          <resource id='secondentrance.sdv'/>
+          <resource id='makifriend2speaks.sdv'/>
+          <resource id='morekareoke.sdv'/>
+          <resource id='kenyonsings!.sdv'/>
+          <resource id='makikenyonsdad.sdv'/>
+          <resource id='someoldguytalking.sdv'/>
+          <resource id='makispeaks.sdv'/>
+          <resource id='kenyonspeaks.sdv'/>
+          <resource id='makisdadspeaks.sdv'/>
+          <resource id='theend.sdv'/>
+          <resource id='leaving.avi'/>
+          <resource id='openingspeechs.avi'/>
+          <resource id='cakecutting.avi'/>
+          <resource id='atsushi.avi'/>
+          <resource id='makifriend1speaks.avi'/>
+          <resource id='marlonspeaks.avi'/>
+          <resource id='firstexit.avi'/>
+          <resource id='kareokebegins.avi'/>
+          <resource id='kenyonsings!.avi'/>
+          <resource id='kenyonspeaks.avi'/>
+          <resource id='makifriend2speaks.avi'/>
+          <resource id='makikenyonsdad.avi'/>
+          <resource id='makispeaks.avi'/>
+          <resource id='morekareoke.avi'/>
+          <resource id='someoldguytalking.avi'/>
+          <resource id='makisdadspeaks.avi'/>
+          <resource id='arrival.ppj'/>
+          <resource id='arrival.avi'/>
+          <resource id='entrance1.avi'/>
+          <resource id='ceremony.avi'/>
+          <resource id='theend.avi'/>
+          <resource id='entrance2.avi'/>
+          <resource id='wedding.hbp'/>
+        </collection>
+        <collection id='kenyon-avi-2'>
+          <resource id='kenyon7.avi'/>
+          <resource id='kenyon10.avi'/>
+          <resource id='kenyon11.avi'/>
+          <resource id='kenyon12.avi'/>
+          <resource id='kenyon2.avi'/>
+          <resource id='kenyon3.avi'/>
+          <resource id='kenyon4.avi'/>
+          <resource id='kenyon5.avi'/>
+          <resource id='kenyon6.avi'/>
+          <resource id='kenyon1.avi'/>
+          <resource id='kenyon8.avi'/>
+          <resource id='kenyon9.avi'/>
+          <resource id='kenyon11.sdv'/>
+          <resource id='kenyon10.sdv'/>
+          <resource id='kenyon1.sdv'/>
+          <resource id='kenyon12.sdv'/>
+          <resource id='kenyon2.sdv'/>
+          <resource id='kenyon3.sdv'/>
+          <resource id='kenyon4.sdv'/>
+          <resource id='kenyon5.sdv'/>
+          <resource id='kenyon6.sdv'/>
+          <resource id='kenyon7.sdv'/>
+          <resource id='kenyon8.sdv'/>
+          <resource id='kenyon9.sdv'/>
+          <resource id='kenyon10.ppj'/>
+          <resource id='kenyon1.ppj'/>
+          <resource id='kenyon11.ppj'/>
+          <resource id='kenyon12.ppj'/>
+          <resource id='kenyon13.ppj'/>
+          <resource id='kenyon14.ppj'/>
+          <resource id='kenyon15.ppj'/>
+          <resource id='kenyon1.hbp'/>
+          <resource id='kenyon16.ppj'/>
+          <resource id='kenyon17.ppj'/>
+          <resource id='kenyon18.ppj'/>
+          <resource id='kenyon2.ppj'/>
+          <resource id='kenyon3.ppj'/>
+          <resource id='kenyon4.ppj'/>
+          <resource id='kenyon5.ppj'/>
+          <resource id='kenyon6.ppj'/>
+          <resource id='kenyon7.ppj'/>
+          <resource id='kenyon8.ppj'/>
+          <resource id='kenyon9.ppj'/>
+        </collection>
+        <collection id='wedding-mov'>
+          <resource id='morekareoke.mov'/>
+          <resource id='atsushi.mov'/>
+          <resource id='kareokebegins.mov'/>
+          <resource id='kenyonsings.mov'/>
+          <resource id='makidadspeaks.mov'/>
+          <resource id='makifriend1speaks.mov'/>
+          <resource id='makifriend2speaks.mov'/>
+          <resource id='maki-kenyonsdad.mov'/>
+          <resource id='makispeaks.mov'/>
+          <resource id='marlonspeaks.mov'/>
+          <resource id='openingspeeches.mov'/>
+          <resource id='someoldguytalking.mov'/>
+          <resource id='leaving.mov'/>
+          <resource id='ceremony.mov'/>
+          <resource id='cakecutting.mov'/>
+          <resource id='arrival.mov'/>
+          <resource id='entrance1.mov'/>
+          <resource id='entrance2.mov'/>
+          <resource id='firstexit.mov'/>
+          <resource id='theend.mov'/>
+        </collection>
+        <collection id='source'>
+          <resource id='kmrec1.wav'/>
+          <resource id='kmakiinterview.avi'/>
+          <resource id='test.avi'/>
+          <resource id='kmakiinterview.scn'/>
+          <resource id='test.scn'/>
+          <resource id='kmkint2.avi'/>
+          <resource id='Video 1.avi'/>
+          <resource id='Video 1.scn'/>
+          <resource id='blue.avi'/>
+          <resource id='blue.scn'/>
+          <resource id='bluescreen.sdv'/>
+          <resource id='bluescreen.avi'/>
+        </collection>
+        <collection id='maki-wav'>
+          <resource id='maki1.wav'/>
+          <resource id='maki2.wav'/>
+          <resource id='maki3.wav'/>
+          <resource id='maki4.wav'/>
+          <resource id='maki5.wav'/>
+          <resource id='maki6.wav'/>
+          <resource id='maki7.wav'/>
+          <resource id='maki8.wav'/>
+          <resource id='maki9.wav'/>
+          <resource id='maki10.wav'/>
+          <resource id='maki11.wav'/>
+          <resource id='maki12.wav'/>
+          <resource id='maki13.wav'/>
+          <resource id='maki14.wav'/>
+          <resource id='maki15.wav'/>
+          <resource id='maki16.wav'/>
+          <resource id='maki17.wav'/>
+          <resource id='maki18.wav'/>
+          <resource id='maki19.wav'/>
+          <resource id='maki20.wav'/>
+          <resource id='maki21.wav'/>
+          <resource id='maki22.wav'/>
+          <resource id='maki23.wav'/>
+          <resource id='maki24.wav'/>
+          <resource id='maki25.wav'/>
+        </collection>
+        <resource id='list.doc'/>
+      </collection>
+      <collection id='htdocs.forlynn.tar'>
+        <collection id='htdocs'>
+          <resource id='biggebhard.rm'/>
+          <resource id='gebhard.html'/>
+          <resource id='gebhard.rm'/>
+          <resource id='index.php'/>
+          <resource id='psilite.dtd'/>
+          <resource id='psilite.dtd.txt'/>
+          <resource id='psintro.html'/>
+          <resource id='smallgebhard.rm'/>
+          <resource id='tremble.html'/>
+          <resource id='tremblii.rm'/>
+          <resource id='tremblii2.rm'/>
+          <resource id='trembling_fury_ii.html'/>
+          <resource id='trembling_fury_ii.rm'/>
+        </collection>
+        <resource id='htdocs.forlynn.tar'/>
+      </collection>
+      <collection id='Willis'>
+        <collection id='molly'>
+          <resource id='cool.tif'/>
+          <resource id='m001.tif'/>
+          <resource id='m002.tif'/>
+          <resource id='m003.tif'/>
+          <resource id='m004.tif'/>
+          <resource id='M005.tif'/>
+          <resource id='M006.tif'/>
+          <resource id='M007.tif'/>
+          <resource id='M008.tif'/>
+          <resource id='M009.tif'/>
+          <resource id='M010.tif'/>
+          <resource id='M011.tif'/>
+          <resource id='M012.tif'/>
+          <resource id='M013.tif'/>
+          <resource id='M014.tif'/>
+          <resource id='M015.tif'/>
+          <resource id='M016.tif'/>
+          <resource id='M017.tif'/>
+          <resource id='M018.tif'/>
+          <resource id='M019.tif'/>
+          <resource id='m020.tif'/>
+          <resource id='M021.tif'/>
+          <resource id='M022.tif'/>
+          <resource id='M023.tif'/>
+          <resource id='M024.tif'/>
+          <resource id='M025.tif'/>
+          <resource id='M026.tif'/>
+          <resource id='M027.tif'/>
+          <resource id='M028.tif'/>
+          <resource id='M029.tif'/>
+          <resource id='M030.tif'/>
+          <resource id='M031.tif'/>
+          <resource id='M032.tif'/>
+          <resource id='M033.tif'/>
+          <resource id='M034.tif'/>
+          <resource id='M035.tif'/>
+          <resource id='M036.tif'/>
+          <resource id='M037.tif'/>
+          <resource id='M038.tif'/>
+          <resource id='M039.tif'/>
+          <resource id='M040.tif'/>
+          <resource id='M041.tif'/>
+          <resource id='M042.tif'/>
+          <resource id='M043.tif'/>
+          <resource id='M044.tif'/>
+          <resource id='M045.tif'/>
+          <resource id='M046.tif'/>
+          <resource id='M047.tif'/>
+          <resource id='M048.tif'/>
+          <resource id='M049.tif'/>
+          <resource id='M050.tif'/>
+          <resource id='M051.tif'/>
+          <resource id='M052.tif'/>
+          <resource id='M053.tif'/>
+          <resource id='M054.tif'/>
+          <resource id='M055.tif'/>
+          <resource id='M056.tif'/>
+          <resource id='M057.tif'/>
+          <resource id='M058.tif'/>
+          <resource id='M059.tif'/>
+          <resource id='M060.tif'/>
+          <resource id='M061.tif'/>
+          <resource id='M062.tif'/>
+          <resource id='M063.tif'/>
+          <resource id='M064.tif'/>
+          <resource id='M065.tif'/>
+          <resource id='M066.tif'/>
+          <resource id='M067.tif'/>
+          <resource id='M068.tif'/>
+          <resource id='M069.tif'/>
+        </collection>
+        <collection id='Together'>
+          <resource id='almost.tif'/>
+          <resource id='bothzion.tif'/>
+          <resource id='brick2.tif'/>
+          <resource id='canyon.tif'/>
+          <resource id='cuddle.tif'/>
+          <resource id='dance.tif'/>
+          <resource id='danyikes.tif'/>
+          <resource id='dinner.tif'/>
+          <resource id='dishes.tif'/>
+          <resource id='dorwy2.tif'/>
+          <resource id='dresshug.tif'/>
+          <resource id='elope.tif'/>
+          <resource id='friends.tif'/>
+          <resource id='gymdance.tif'/>
+          <resource id='hiking2.tif'/>
+          <resource id='inbed.tif'/>
+          <resource id='invite.tif'/>
+          <resource id='itouchme.tif'/>
+          <resource id='kids.tif'/>
+          <resource id='kidw2.tif'/>
+          <resource id='kiss1.tif'/>
+          <resource id='laydown.tif'/>
+          <resource id='macincar.tif'/>
+          <resource id='meankid.tif'/>
+          <resource id='mnthug.tif'/>
+          <resource id='newcitz.tif'/>
+          <resource id='nighthug.tif'/>
+          <resource id='park2.tif'/>
+          <resource id='prtyFRND.tif'/>
+          <resource id='step2.tif'/>
+          <resource id='stnwal2.tif'/>
+          <resource id='temple.tif'/>
+          <resource id='tree2.tif'/>
+          <resource id='wedmanti.tif'/>
+          <resource id='wiliskid.tif'/>
+        </collection>
+        <collection id='Willis'>
+          <resource id='W001.tif'/>
+          <resource id='W002.tif'/>
+          <resource id='W003.tif'/>
+          <resource id='W004.tif'/>
+          <resource id='W005.tif'/>
+          <resource id='W006.tif'/>
+          <resource id='W007.tif'/>
+          <resource id='W008.tif'/>
+          <resource id='W009.tif'/>
+          <resource id='W010.tif'/>
+          <resource id='W011.tif'/>
+          <resource id='W012.tif'/>
+          <resource id='W013.tif'/>
+          <resource id='W014.tif'/>
+          <resource id='W015.tif'/>
+          <resource id='W016.tif'/>
+          <resource id='W017.tif'/>
+          <resource id='W018.tif'/>
+          <resource id='W019.tif'/>
+          <resource id='W020.tif'/>
+          <resource id='W021.tif'/>
+          <resource id='W022.tif'/>
+          <resource id='W023.tif'/>
+          <resource id='W024.tif'/>
+          <resource id='W025.tif'/>
+          <resource id='W026.tif'/>
+          <resource id='W027.tif'/>
+          <resource id='W028.tif'/>
+          <resource id='W029.tif'/>
+          <resource id='W030.tif'/>
+          <resource id='W031.tif'/>
+          <resource id='W032.tif'/>
+          <resource id='W033.tif'/>
+          <resource id='W034.tif'/>
+          <resource id='W035.tif'/>
+          <resource id='W036.tif'/>
+          <resource id='W037.tif'/>
+          <resource id='W038.tif'/>
+          <resource id='W039.tif'/>
+          <resource id='W040.tif'/>
+          <resource id='W041.tif'/>
+          <resource id='W042.tif'/>
+          <resource id='W043.tif'/>
+          <resource id='W044.tif'/>
+          <resource id='W045.tif'/>
+          <resource id='W046.tif'/>
+          <resource id='W047.tif'/>
+          <resource id='W048.tif'/>
+          <resource id='W049.tif'/>
+          <resource id='W050.tif'/>
+          <resource id='W051.tif'/>
+          <resource id='W052.tif'/>
+          <resource id='W053.tif'/>
+          <resource id='W054.tif'/>
+          <resource id='W055.tif'/>
+          <resource id='W056.tif'/>
+          <resource id='W057.tif'/>
+          <resource id='W058.tif'/>
+          <resource id='W059.tif'/>
+          <resource id='W060.tif'/>
+          <resource id='W061.tif'/>
+          <resource id='W062.tif'/>
+          <resource id='W063.tif'/>
+          <resource id='W064.tif'/>
+          <resource id='W065.tif'/>
+          <resource id='W066.tif'/>
+          <resource id='W067.tif'/>
+          <resource id='W068.tif'/>
+          <resource id='W069.tif'/>
+          <resource id='W070.tif'/>
+          <resource id='Wcool.tif'/>
+        </collection>
+        <resource id='Back.psd'/>
+        <resource id='Background.psd'/>
+        <resource id='Bkgrnd.tga'/>
+        <resource id='enya #3 - Track  3.wav'/>
+        <resource id='heaven #1 - Track  1.wav'/>
+        <resource id='Marley #1 - Track  1.wav'/>
+        <resource id='Queen - Track  2.sfk'/>
+        <resource id='Queen - Track  2.wav'/>
+        <resource id='RHYS.tga'/>
+        <resource id='Track  2.wav'/>
+        <resource id='Track 12.wav'/>
+        <resource id='UB40 - Track  1.wav'/>
+        <resource id='Willis.ppj'/>
+        <resource id='w2.avi'/>
+        <resource id='w2.mpg'/>
+      </collection>
+      <collection id='apps'>
+        <resource id='wacdr171.exe'/>
+        <resource id='out_mp3.exe'/>
+        <resource id='BeOS5-PersonalEdition.exe'/>
+        <resource id='QuickTimeInstaller.exe'/>
+        <resource id='regclean.exe'/>
+        <resource id='RealProducer_8.5_Setup.exe'/>
+        <resource id='winamp276_full.exe'/>
+        <resource id='mirc582t.exe'/>
+        <resource id='age2upa.exe'/>
+        <resource id='ThePlaya-0.5.0-Installer.exe'/>
+        <resource id='sdv_126_updateA.exe'/>
+        <resource id='PremiereUS601Up.ZIP'/>
+        <resource id='DivX4Win40a50.exe'/>
+        <resource id='sdv110.exe'/>
+        <resource id='regdelete.exe'/>
+        <resource id='setup_abiword-0995.exe'/>
+        <resource id='Studio_7_02_7d_Patch.exe'/>
+        <resource id='VirtualDub-1_4_7.zip'/>
+        <resource id='Pentium4.exe'/>
+        <resource id='ps601up.exe'/>
+        <resource id='ai902eng.exe'/>
+        <resource id='ai901eng.exe'/>
+        <resource id='sr1off97.exe'/>
+        <resource id='sr2bof97.exe'/>
+        <resource id='off97uip.exe'/>
+        <resource id='nshc.exe'/>
+        <resource id='Premiere_RealMedia_Plugin_Setup.exe'/>
+        <resource id='age2xpatch.exe'/>
+        <resource id='Komodo-1.1.2-23917.msi'/>
+        <resource id='Studio_7_07_1_Patch.exe'/>
+        <resource id='rngconv[1].20010830.zip'/>
+        <resource id='dotnet.exe'/>
+        <resource id='Alice99Install.exe'/>
+        <resource id='OOo_1.0.0_Win32Intel_install.zip'/>
+        <resource id='psyco-0.4.0-win-2.2.zip'/>
+        <resource id='ActivePython-2.2.1-222.msi'/>
+        <resource id='4Suite-0.12.0a2.win32-py2.2.exe'/>
+        <resource id='PyXML-0.7.1.win32-py2.2.exe'/>
+        <resource id='PythonCardPrototype-0.6.7.win32.exe'/>
+        <resource id='wxPython-2.3.2.1-Py22.exe'/>
+        <resource id='py2exe-0.3.3.win32-py2.2.exe'/>
+        <resource id='log4py-0.7.1.tar.gz'/>
+        <resource id='xmldiff-0.5.2.win32-py2.1.exe'/>
+      </collection>
+      <collection id='Application Data'>
+        <collection id='ActiveState'>
+          <collection id='Komodo'>
+            <collection id='1.1'>
+              <collection id='Mozilla'>
+                <collection id='Profiles'>
+                  <collection id='default'>
+                    <collection id='luhj35d0.slt'>
+                      <collection id='NewCache'>
+                        <resource id='_CACHE_MAP_'/>
+                        <resource id='_CACHE_001_'/>
+                        <resource id='_CACHE_002_'/>
+                        <resource id='_CACHE_003_'/>
+                        <resource id='EE0FCCB2d01'/>
+                        <resource id='84904F44d01'/>
+                        <resource id='BA463187d01'/>
+                      </collection>
+                      <collection id='Cache'/>
+                      <collection id='us'>
+                        <collection id='chrome'>
+                          <resource id='userChrome.css'/>
+                          <resource id='userContent.css'/>
+                        </collection>
+                        <resource id='bookmarks.html'/>
+                        <resource id='localstore.rdf'/>
+                        <resource id='mimeTypes.rdf'/>
+                        <resource id='panels.rdf'/>
+                        <resource id='search.rdf'/>
+                      </collection>
+                      <collection id='chrome'>
+                        <resource id='userChrome.css'/>
+                        <resource id='userContent.css'/>
+                        <resource id='user-locales.rdf'/>
+                        <resource id='user-skins.rdf'/>
+                      </collection>
+                      <resource id='bookmarks.html'/>
+                      <resource id='localstore.rdf'/>
+                      <resource id='mimeTypes.rdf'/>
+                      <resource id='panels.rdf'/>
+                      <resource id='search.rdf'/>
+                      <resource id='prefs.js'/>
+                      <resource id='history.dat'/>
+                      <resource id='cookies.txt'/>
+                    </collection>
+                  </collection>
+                </collection>
+                <resource id='registry.dat'/>
+              </collection>
+              <resource id='komodo-user-prefs.xml'/>
+            </collection>
+          </collection>
+          <resource id='ActiveState.lic'/>
+        </collection>
+      </collection>
+      <collection id='dnd'>
+        <collection id='_notes'>
+          <resource id='dwSiteColumnsMe.xml'/>
+        </collection>
+        <collection id='screenquote_files'>
+          <resource id='screenprintquote.gif'/>
+          <resource id='screenquote.html'/>
+        </collection>
+        <collection id='other'>
+          <resource id='dnd.csv'/>
+          <resource id='dnd.xls'/>
+        </collection>
+        <resource id='apre.gif'/>
+        <resource id='screenquote.html'/>
+        <resource id='screenprintquote.gif'/>
+        <resource id='index.html~'/>
+        <resource id='interface.gif'/>
+        <resource id='interface2.gif'/>
+        <resource id='pre.gif'/>
+        <resource id='test.html'/>
+        <resource id='index.html'/>
+        <resource id='oops.html'/>
+        <resource id='thanks.html'/>
+        <resource id='apref.ai'/>
+        <resource id='apref.swf'/>
+        <resource id='dndintro.fla'/>
+        <resource id='dndintro.swf'/>
+        <resource id='dndintro.html'/>
+        <resource id='press.eps'/>
+        <resource id='interface.ai'/>
+        <resource id='WEB ICONS.ai'/>
+        <resource id='interface.swf'/>
+        <resource id='interface.html'/>
+        <resource id='white press.ai'/>
+        <resource id='index.htm'/>
+        <resource id='dnd.css'/>
+      </collection>
+      <collection id='snapnwrap'>
+        <collection id='other'>
+          <resource id='snap-mockup-demo2.ai'/>
+          <resource id='snap-mockup2.ai'/>
+          <resource id='snap-mockup-demo.ai'/>
+          <resource id='snap-mockup.ai'/>
+          <resource id='snapnwrap.ai'/>
+          <resource id='snapnwrap1.ai'/>
+          <resource id='snap.mov'/>
+          <resource id='frontsnap.avi'/>
+          <resource id='frontroll.avi'/>
+          <resource id='sideroll.avi'/>
+          <resource id='sidesnap.avi'/>
+          <resource id='Video 1.scn'/>
+          <resource id='Video 1.avi'/>
+          <resource id='fingerprnt.ai'/>
+          <resource id='thumb.ai'/>
+          <resource id='snapnwrap2.ai'/>
+          <resource id='step2.avi'/>
+          <resource id='opening.avi'/>
+          <resource id='sideavi.avi'/>
+          <resource id='snapnwrap2.avi'/>
+          <resource id='step1.avi'/>
+          <resource id='frontavi.avi'/>
+          <resource id='step3.avi'/>
+          <resource id='step4.avi'/>
+          <resource id='step5.avi'/>
+          <resource id='opening1.gif'/>
+          <resource id='opening.gif'/>
+          <resource id='snapnwrap2.scn'/>
+          <resource id='snw.txt'/>
+          <resource id='bigdemo.gif'/>
+          <resource id='demo.ai'/>
+          <resource id='New.ai'/>
+          <resource id='logo.ai'/>
+          <resource id='header.ai'/>
+        </collection>
+        <collection id='final'>
+          <collection id='_notes'>
+            <resource id='dwSiteColumnsMe.xml'/>
+          </collection>
+          <resource id='diagbag.gif'/>
+          <resource id='order.html'/>
+          <resource id='onbag.gif'/>
+          <resource id='logo2.gif'/>
+          <resource id='topsnap.gif'/>
+          <resource id='index.html'/>
+          <resource id='demo.html'/>
+          <resource id='sidesnw.gif'/>
+          <resource id='onroll.gif'/>
+          <resource id='step3.mov'/>
+          <resource id='step4.mov'/>
+          <resource id='step5.mov'/>
+          <resource id='opening.gif'/>
+          <resource id='leftsnap.gif'/>
+          <resource id='new.gif'/>
+          <resource id='opening1.gif'/>
+          <resource id='frontsnw.gif'/>
+          <resource id='step1.mov'/>
+          <resource id='onbend.gif'/>
+          <resource id='step2.mov'/>
+          <resource id='step1.rm'/>
+          <resource id='step2.rm'/>
+          <resource id='step3.rm'/>
+          <resource id='step4.rm'/>
+          <resource id='step5.rm'/>
+          <resource id='frontbag.gif'/>
+          <resource id='longsnap.gif'/>
+          <resource id='rollsnap.gif'/>
+          <resource id='mail.html'/>
+          <resource id='header.gif'/>
+          <resource id='snaptitle.gif'/>
+        </collection>
+        <collection id='demo'>
+          <resource id='sideroll.mov'/>
+          <resource id='frontroll-slo.mov'/>
+          <resource id='frontsnap.mov'/>
+          <resource id='frontsnap-slo.mov'/>
+          <resource id='frontroll.mov'/>
+          <resource id='sideroll-slo.mov'/>
+          <resource id='sidesnap.mov'/>
+          <resource id='sidesnap-slo.mov'/>
+          <resource id='frontroll.rm'/>
+          <resource id='frontroll-slo.rm'/>
+          <resource id='frontsnap.rm'/>
+          <resource id='frontsnap-slo.rm'/>
+          <resource id='sideroll.rm'/>
+          <resource id='sideroll-slo.rm'/>
+          <resource id='sidesnap.rm'/>
+          <resource id='sidesnap-slo.rm'/>
+          <resource id='bagochip.gif'/>
+          <resource id='bigsnap.gif'/>
+          <resource id='demo.gif'/>
+          <resource id='fngrprnt.gif'/>
+          <resource id='leftsnap.gif'/>
+          <resource id='miniroll.gif'/>
+          <resource id='quicktime.gif'/>
+          <resource id='real.gif'/>
+          <resource id='snaptop.gif'/>
+          <resource id='thumbprint.gif'/>
+          <resource id='topsnap.gif'/>
+          <resource id='about.html'/>
+          <resource id='contact.html'/>
+          <resource id='demo.html'/>
+          <resource id='details.html'/>
+          <resource id='allan.jpg'/>
+          <resource id='index.html'/>
+        </collection>
+      </collection>
+      <collection id='joannerobison'>
+        <collection id='images'>
+          <resource id='name.swf'/>
+          <resource id='me.jpg'/>
+          <resource id='triangle-b.gif'/>
+          <resource id='inkflower.gif'/>
+          <resource id='p11.jpg'/>
+          <resource id='triangle2.gif'/>
+          <resource id='triangle4.gif'/>
+          <resource id='triangle1.gif'/>
+          <resource id='triangle3.gif'/>
+          <resource id='p11.gif'/>
+          <resource id='p37.jpg'/>
+          <resource id='p37.gif'/>
+          <resource id='p10.jpg'/>
+          <resource id='p10.gif'/>
+          <resource id='p1.jpg'/>
+          <resource id='p1.gif'/>
+          <resource id='p36.jpg'/>
+          <resource id='p36.gif'/>
+          <resource id='p3.jpg'/>
+          <resource id='p3.gif'/>
+          <resource id='triangle.gif'/>
+          <resource id='p2.jpg'/>
+          <resource id='montage.jpg'/>
+          <resource id='p15.jpg'/>
+          <resource id='p15.gif'/>
+          <resource id='p14.jpg'/>
+          <resource id='p14.gif'/>
+          <resource id='p12.jpg'/>
+          <resource id='p12.gif'/>
+          <resource id='p8.jpg'/>
+          <resource id='p8.gif'/>
+          <resource id='p7.jpg'/>
+          <resource id='p7.gif'/>
+          <resource id='p6.jpg'/>
+          <resource id='p6.gif'/>
+          <resource id='p58.jpg'/>
+          <resource id='p57.jpg'/>
+          <resource id='p57.gif'/>
+          <resource id='p56.jpg'/>
+          <resource id='p56.gif'/>
+          <resource id='p58.gif'/>
+          <resource id='p2.gif'/>
+          <resource id='p54.jpg'/>
+          <resource id='p54.gif'/>
+          <resource id='p53.jpg'/>
+          <resource id='p53.gif'/>
+          <resource id='p52.jpg'/>
+          <resource id='p52.gif'/>
+          <resource id='p51.jpg'/>
+          <resource id='p51.gif'/>
+          <resource id='p5.jpg'/>
+          <resource id='p5.gif'/>
+          <resource id='p49.jpg'/>
+          <resource id='p49.gif'/>
+          <resource id='p48.jpg'/>
+          <resource id='p48.gif'/>
+          <resource id='p47.jpg'/>
+          <resource id='p47.gif'/>
+          <resource id='p46.jpg'/>
+          <resource id='p46.gif'/>
+          <resource id='p45.jpg'/>
+          <resource id='p45.gif'/>
+          <resource id='p44.jpg'/>
+          <resource id='p44.gif'/>
+          <resource id='p43.jpg'/>
+          <resource id='p43.gif'/>
+          <resource id='p42.jpg'/>
+          <resource id='p42.gif'/>
+          <resource id='p41.jpg'/>
+          <resource id='p41.gif'/>
+          <resource id='p40.jpg'/>
+          <resource id='p40.gif'/>
+          <resource id='p4.jpg'/>
+          <resource id='p4.gif'/>
+          <resource id='p39.gif'/>
+          <resource id='p9.gif'/>
+          <resource id='p16.jpg'/>
+          <resource id='p9.jpg'/>
+          <resource id='p39.jpg'/>
+          <resource id='p16.gif'/>
+          <resource id='p25.jpg'/>
+          <resource id='p25.gif'/>
+          <resource id='p35.gif'/>
+          <resource id='p22.jpg'/>
+          <resource id='p22.gif'/>
+          <resource id='p34.jpg'/>
+          <resource id='p35.jpg'/>
+          <resource id='p34.gif'/>
+          <resource id='p21.jpg'/>
+          <resource id='p21.gif'/>
+          <resource id='p33.jpg'/>
+          <resource id='p33.gif'/>
+          <resource id='p20.gif'/>
+          <resource id='p32.jpg'/>
+          <resource id='p32.gif'/>
+          <resource id='p19.jpg'/>
+          <resource id='p20.jpg'/>
+          <resource id='p19.gif'/>
+          <resource id='p31.jpg'/>
+          <resource id='p31.gif'/>
+          <resource id='p18.jpg'/>
+          <resource id='p18.gif'/>
+          <resource id='p30.jpg'/>
+          <resource id='p30.gif'/>
+          <resource id='p17.jpg'/>
+          <resource id='p17.gif'/>
+          <resource id='p27.jpg'/>
+          <resource id='p27.gif'/>
+          <resource id='p38.jpg'/>
+          <resource id='p38.gif'/>
+        </collection>
+        <collection id='bin'>
+          <resource id='joanne.css'/>
+          <resource id='joanne.js'/>
+          <resource id='popup.css'/>
+        </collection>
+        <resource id='index.html'/>
+        <resource id='about.html'/>
+        <resource id='gallery1.html'/>
+        <resource id='gallery4.html'/>
+        <resource id='gallery2.html'/>
+        <resource id='gallery3.html'/>
+        <resource id='gallery5.html'/>
+        <resource id='gallery6.html'/>
+        <resource id='gallery7.html'/>
+        <resource id='gallery8.html'/>
+      </collection>
+      <resource id='htdocs.forlynn.tar.bz2'/>
+    </collection>
+    <collection id='project'>
+      <collection id='templates'>
+        <resource id='project.xls'/>
+        <resource id='projman.xls'/>
+        <resource id='timecard.xls'/>
+        <resource id='time-hours.xls'/>
+        <resource id='projman.sdc'/>
+      </collection>
+      <resource id='timecard-1_28_02.xls'/>
+      <resource id='dnd.txt'/>
+      <resource id='timecard-2_4_02.xls'/>
+      <resource id='timecard-2_11_02.xls'/>
+      <resource id='timecard-2_18_02.xls'/>
+      <resource id='timecard-3_4_02.xls'/>
+      <resource id='timecard-3_11_02.xls'/>
+      <resource id='timecard-4_1_02.xls'/>
+      <resource id='timecard-1_7_02.xls'/>
+      <resource id='timecard-1_14_02.xls'/>
+      <resource id='timecard-1_21_02.xls'/>
+    </collection>
+    <collection id='rhysdesign'>
+      <collection id='beta-1'>
+        <collection id='services'>
+          <collection id='images'>
+            <collection id='_notes'/>
+            <resource id='servhead.gif'/>
+          </collection>
+          <collection id='promo'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='_notes'/>
+          <collection id='anim'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='bin'>
+            <collection id='_notes'/>
+            <resource id='list.js'/>
+          </collection>
+          <collection id='logo'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='media'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='print'>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <collection id='_notes'/>
+            <resource id='allinone.html'/>
+            <resource id='bc.html'/>
+            <resource id='brochure.html'/>
+            <resource id='env.html'/>
+            <resource id='index.html'/>
+            <resource id='lh.html'/>
+          </collection>
+          <collection id='web'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='identity'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='list.js'/>
+            </collection>
+            <resource id='deluxe.html'/>
+            <resource id='index.html'/>
+            <resource id='starter.html'/>
+          </collection>
+          <resource id='index.html'/>
+        </collection>
+        <collection id='portfolio'>
+          <collection id='_notes'/>
+          <collection id='images'>
+            <resource id='porthead.gif'/>
+          </collection>
+          <collection id='animation'>
+            <collection id='_notes'/>
+            <collection id='images'>
+              <collection id='_notes'/>
+              <resource id='anima.swf'/>
+              <resource id='bios.swf'/>
+              <resource id='g_dweb.swf'/>
+            </collection>
+            <collection id='allanrees'>
+              <collection id='_notes'/>
+              <resource id='bios.html'/>
+              <resource id='ganim.html'/>
+              <resource id='index.html'/>
+            </collection>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='promo'>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='lh.js'/>
+            </collection>
+            <collection id='images'>
+              <resource id='buy400.jpg'/>
+              <resource id='learn400.gif'/>
+              <resource id='happy400.gif'/>
+              <resource id='catalogpg.jpg'/>
+              <resource id='insane400.jpg'/>
+              <resource id='productpg.jpg'/>
+              <resource id='drb400.jpg'/>
+              <resource id='drf400.jpg'/>
+              <resource id='wibb400.jpg'/>
+              <resource id='wibf400.jpg'/>
+              <resource id='armtxt.gif'/>
+              <resource id='gdesignr.gif'/>
+              <resource id='killertext.gif'/>
+              <resource id='money.gif'/>
+              <resource id='gdpack400.gif'/>
+              <resource id='bird.jpg'/>
+              <resource id='camplght.jpg'/>
+            </collection>
+            <collection id='_notes'/>
+            <resource id='magnified.html'/>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='logo'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='lh.js'/>
+            </collection>
+            <collection id='images'>
+              <resource id='alnmatn400.gif'/>
+              <resource id='am400.gif'/>
+              <resource id='amuse400.gif'/>
+              <resource id='arm400.gif'/>
+              <resource id='armtext400.gif'/>
+              <resource id='bp400.gif'/>
+              <resource id='derby400.gif'/>
+              <resource id='electric400.gif'/>
+              <resource id='fsync400.gif'/>
+              <resource id='gd400.gif'/>
+              <resource id='hbi400.gif'/>
+              <resource id='inter400.gif'/>
+              <resource id='killer400.gif'/>
+              <resource id='kstdo400.gif'/>
+              <resource id='mellena400.gif'/>
+              <resource id='millrock400.gif'/>
+              <resource id='plaza400.gif'/>
+              <resource id='Qstar400.gif'/>
+              <resource id='rhys400.gif'/>
+              <resource id='roundy400.gif'/>
+              <resource id='star400.gif'/>
+              <resource id='thinker400.gif'/>
+              <resource id='tiltman400.gif'/>
+              <resource id='tycoon400.gif'/>
+              <resource id='utah400.gif'/>
+              <resource id='wjordan400.gif'/>
+            </collection>
+            <resource id='magnified.html'/>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='lh'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='lh.js'/>
+            </collection>
+            <collection id='images'>
+              <resource id='gdlh400.gif'/>
+              <resource id='killer400.gif'/>
+              <resource id='kstudio400.gif'/>
+              <resource id='rhys400.gif'/>
+              <resource id='roundy400.gif'/>
+              <resource id='sophst400.gif'/>
+              <resource id='stargaze400.gif'/>
+              <resource id='winbase400.gif'/>
+            </collection>
+            <resource id='magnified.html'/>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='illu'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='lh.js'/>
+            </collection>
+            <collection id='images'>
+              <resource id='chess.gif'/>
+              <resource id='angel400.jpg'/>
+              <resource id='coffee400.jpg'/>
+              <resource id='crybaby400.jpg'/>
+              <resource id='eyehand400.jpg'/>
+              <resource id='gilpaint400.jpg'/>
+              <resource id='guitar400.jpg'/>
+              <resource id='porph400.jpg'/>
+              <resource id='queen400.jpg'/>
+              <resource id='redbeard400.jpg'/>
+              <resource id='shagin400.jpg'/>
+              <resource id='toastr400.jpg'/>
+              <resource id='tomb400.jpg'/>
+              <resource id='xfile400.jpg'/>
+              <resource id='al400.jpg'/>
+              <resource id='anti400.jpg'/>
+              <resource id='ben400.jpg'/>
+              <resource id='cover.jpg'/>
+              <resource id='killer400.jpg'/>
+              <resource id='vizion400.jpg'/>
+            </collection>
+            <resource id='magnified.html'/>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='env'>
+            <collection id='_notes'/>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='lh.js'/>
+            </collection>
+            <collection id='images'>
+              <resource id='gdenv400.gif'/>
+              <resource id='kkenv400.gif'/>
+              <resource id='kstdoenv400.gif'/>
+              <resource id='wibenv400.gif'/>
+            </collection>
+            <resource id='magnified.html'/>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='bc'>
+            <collection id='bin'>
+              <collection id='_notes'/>
+              <resource id='lh.js'/>
+            </collection>
+            <collection id='images'>
+              <resource id='allan400.gif'/>
+              <resource id='ben400.gif'/>
+              <resource id='gdbc400.gif'/>
+              <resource id='inter400.gif'/>
+              <resource id='killer400.gif'/>
+              <resource id='kstudio400.gif'/>
+              <resource id='lynn400.gif'/>
+              <resource id='roundy400.gif'/>
+              <resource id='sophst400.gif'/>
+              <resource id='stargaze400.gif'/>
+              <resource id='vip400.gif'/>
+              <resource id='winbase400.gif'/>
+            </collection>
+            <collection id='_notes'/>
+            <resource id='magnified.html'/>
+            <resource id='index.html'/>
+          </collection>
+          <collection id='bin'>
+            <collection id='_notes'/>
+            <resource id='list.js'/>
+            <resource id='show.js'/>
+          </collection>
+          <resource id='index.html'/>
+        </collection>
+        <collection id='images'>
+          <collection id='_notes'/>
+          <resource id='eye.swf'/>
+          <resource id='favicon.ico'/>
+          <resource id='home1a.gif'/>
+          <resource id='home1b.gif'/>
+          <resource id='home1c.gif'/>
+          <resource id='home1d.gif'/>
+          <resource id='home2a.gif'/>
+          <resource id='home2b.gif'/>
+          <resource id='home2c.gif'/>
+          <resource id='home2d.gif'/>
+          <resource id='mainhead.gif'/>
+          <resource id='contact1a.gif'/>
+          <resource id='contact1b.gif'/>
+          <resource id='contact1c.gif'/>
+          <resource id='contact1d.gif'/>
+          <resource id='contact2.gif'/>
+          <resource id='contact2a.gif'/>
+          <resource id='contact2b.gif'/>
+          <resource id='contact2c.gif'/>
+          <resource id='contact2d.gif'/>
+          <resource id='services1a.gif'/>
+          <resource id='services1b.gif'/>
+          <resource id='services1c.gif'/>
+          <resource id='services1d.gif'/>
+          <resource id='services2.gif'/>
+          <resource id='services2a.gif'/>
+          <resource id='services2b.gif'/>
+          <resource id='services2c.gif'/>
+          <resource id='services2d.gif'/>
+          <resource id='portfolio1a.gif'/>
+          <resource id='portfolio1b.gif'/>
+          <resource id='portfolio1c.gif'/>
+          <resource id='portfolio1d.gif'/>
+          <resource id='portfolio2.gif'/>
+          <resource id='portfolio2a.gif'/>
+          <resource id='portfolio2b.gif'/>
+          <resource id='portfolio2c.gif'/>
+          <resource id='portfolio2d.gif'/>
+        </collection>
+        <collection id='home'>
+          <collection id='_notes'/>
+          <collection id='images'>
+            <resource id='medihead.gif'/>
+            <resource id='idenhead.gif'/>
+            <resource id='graphead.gif'/>
+            <resource id='homehead.gif'/>
+          </collection>
+          <collection id='bin'>
+            <collection id='_notes'/>
+            <resource id='list.js'/>
+          </collection>
+          <resource id='graphics.html'/>
+          <resource id='identity.html'/>
+          <resource id='index.html'/>
+          <resource id='media.html'/>
+        </collection>
+        <collection id='contact'>
+          <collection id='_notes'/>
+          <collection id='bin'>
+            <collection id='_notes'/>
+            <resource id='list.js'/>
+          </collection>
+          <collection id='images'>
+            <resource id='conthead.gif'/>
+          </collection>
+          <resource id='index.html'/>
+          <resource id='mailform.html'/>
+          <resource id='thanks.html'/>
+        </collection>
+        <collection id='bin'>